diff options
| author | 段冬梅 <[email protected]> | 2018-12-12 14:23:50 +0800 |
|---|---|---|
| committer | 段冬梅 <[email protected]> | 2018-12-12 14:23:50 +0800 |
| commit | b8a160b6964040004c189a946cd10cf0fc53da74 (patch) | |
| tree | f58792de2963c6a4ed78a07cafcb210acb8345cd /src | |
| parent | 24d2bcbf538fb05f67e59a843be8da8813759ecf (diff) | |
摘要增加查询配置信息方法
最新登录界面提交
流量统计带宽详情增加地域区分图表显示
增加时间范围查询,协议类型码表无对应数据则取app码表
ip地址池名称校验更改
日志增加查配置功能,common.js
$("a[name=viewLogInfo]>i").on("click",function(){暂不开放此功能
home.jsp增加dns欺骗ip无策略-默认组-ip初始化连接
Diffstat (limited to 'src')
191 files changed, 22828 insertions, 13957 deletions
diff --git a/src/main/java/com/nis/util/Constants.java b/src/main/java/com/nis/util/Constants.java index 27d325e..8139d72 100644 --- a/src/main/java/com/nis/util/Constants.java +++ b/src/main/java/com/nis/util/Constants.java @@ -698,6 +698,7 @@ public final class Constants { public static final String TRAFFIC_IPACTIVE_ONEHOUR=Configurations.getStringProperty("trafficIpActiveOneHour","trafficIpActiveOneHour"); public static final String NTC_RADIUS_REPORT=Configurations.getStringProperty("ntcRadiusReport","ntcRadiusReport"); public static final String TRAFFIC_BANDWIDTH_TRANS=Configurations.getStringProperty("trafficBandwidthTrans","trafficBandwidthTrans"); + public static final String TRAFFIC_BANDWIDTH_TRANS_TWO=Configurations.getStringProperty("trafficBandwidthTransTwo","trafficBandwidthTransTwo"); public static final String TRAFFIC_PROTOCOL_LIST=Configurations.getStringProperty("trafficProtocolList","trafficProtocolList"); public static final String TRAFFIC_APP_LIST=Configurations.getStringProperty("trafficAppList","trafficAppList"); public static final String NTC_ACTION_ENTRANCE_REPORT=Configurations.getStringProperty("ntcActionEntranceReport","ntcActionEntranceReport"); @@ -761,4 +762,8 @@ public final class Constants { //日志查询接口URL public static final String IR_SNAT_LOG = Configurations.getStringProperty("irSnatLog",""); public static final String IR_DNAT_LOG = Configurations.getStringProperty("irDnatLog",""); + + //日志查询接口URL + public static final String DNS_SPOOFING_IP_DESC = Configurations.getStringProperty("dns_spoofing_ip_desc",""); + public static final String DNS_SPOOFING_IP_IP = Configurations.getStringProperty("dns_spoofing_ip_ip",""); } diff --git a/src/main/java/com/nis/web/controller/BaseController.java b/src/main/java/com/nis/web/controller/BaseController.java index c956e95..acd3d81 100644 --- a/src/main/java/com/nis/web/controller/BaseController.java +++ b/src/main/java/com/nis/web/controller/BaseController.java @@ -837,7 +837,7 @@ public class BaseController { if (StringUtils.isNotBlank(entry.getIsLogTotalSearch())) { Calendar time = Calendar.getInstance(); String searchEndTime = DateUtils.formatDateTime(time.getTime()); - time.add(Calendar.MINUTE, -5); + time.add(Calendar.MINUTE, -(Constants.LOG_TIME_RANGE/1000/60)); String searchStartTime = DateUtils.formatDateTime(time.getTime()); params.put("searchFoundStartTime", searchStartTime); diff --git a/src/main/java/com/nis/web/controller/LoginController.java b/src/main/java/com/nis/web/controller/LoginController.java index 265fba8..636f4a8 100644 --- a/src/main/java/com/nis/web/controller/LoginController.java +++ b/src/main/java/com/nis/web/controller/LoginController.java @@ -1,6 +1,10 @@ package com.nis.web.controller; import java.io.UnsupportedEncodingException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -16,11 +20,18 @@ import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.PathVariable; 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 com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.reflect.TypeToken; import com.nis.util.Configurations; import com.nis.util.Constants; import com.nis.util.CookieUtil; +import com.nis.util.StringUtil; import com.nis.util.StringUtils; +import com.nis.util.httpclient.HttpClientUtil; import com.nis.web.security.IdGen; import com.nis.web.security.SystemAuthorizingRealm.Principal; import com.nis.web.security.UserUtils; @@ -32,8 +43,36 @@ public class LoginController extends BaseController { @Autowired private SystemService systemService; + @RequestMapping("${adminPath}/newIndex") + public String newIndex(){ + return "/newIndex"; + } + /** + * 根据ip46,协议tcp,udp查询带宽 间隔5分钟数据 + */ + @RequestMapping(value="${adminPath}/newIndex/ntcEntranceReport") + @ResponseBody + public List ntcEntranceReport(){ + Map<String, Object> fromJsonList = new HashMap<String, Object>(); + List list = new ArrayList(); + /*String url = "http://192.168.10.204:7777/galaxy-service/service/log/v1/ntcEntranceReport?searchBusinessType=2&searchReportStartTime=2018-07-18%2000:00:00&searchReportEndTime=2018-07-19%2000:00:00"; + try { + String string = HttpClientUtil.get(url); + Gson gson = new GsonBuilder().create(); + fromJsonList = gson.fromJson(string, new TypeToken<Map>(){}.getType()); + logger.info("首页,间隔5分钟数据"+fromJsonList); + Map map = (Map) fromJsonList.get("data"); + list = (List) map.get("list"); + + } catch (Exception e) { + e.printStackTrace(); + logger.error("带宽详情数据获取错误"+e); + }*/ + return list; + } + /** * 默认进入系统动作,即跳转登录操作 * @return */ diff --git a/src/main/java/com/nis/web/controller/configuration/maintenance/DnsIpCfgController.java b/src/main/java/com/nis/web/controller/configuration/maintenance/DnsIpCfgController.java index 39ada2d..3e9942b 100644 --- a/src/main/java/com/nis/web/controller/configuration/maintenance/DnsIpCfgController.java +++ b/src/main/java/com/nis/web/controller/configuration/maintenance/DnsIpCfgController.java @@ -17,6 +17,7 @@ import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.mvc.support.RedirectAttributes; import com.nis.domain.Page; @@ -29,6 +30,8 @@ import com.nis.domain.configuration.IpPortCfg; import com.nis.domain.configuration.DnsIpCfg; import com.nis.domain.configuration.RequestInfo; import com.nis.exceptions.MaatConvertException; +import com.nis.util.AsnCacheUtils; +import com.nis.util.CacheUtils; import com.nis.util.Constants; import com.nis.util.StringUtil; import com.nis.web.controller.BaseController; @@ -69,6 +72,34 @@ public class DnsIpCfgController extends BaseController { return "/cfg/dnsIpCfgForm"; } + /** + * 初始化一条dns fakeip配置 + * @return + */ + @ResponseBody + @RequestMapping(value = {"initSpoofingIp"}) + public String initSpoofingIp(){ + Properties msg=getMsgProp(); + try { + DnsIpCfg entity=new DnsIpCfg(); + entity.setIsAudit(1); + entity.setIsValid(1); + entity.setDnsStrategyId(0); + List<DnsIpCfg> list=dnsIpCfgService.findDnsIpCfg(entity); + if(StringUtil.isEmpty(list)) { + dnsIpCfgService.saveAndAudit(); + } + } catch (Exception e) { + logger.error("初始化Spoofing ip失败",e); + e.printStackTrace(); + if(e instanceof MaatConvertException) { + return msg.getProperty("request_service_failed"); + }else { + return msg.getProperty("save_failed"); + } + } + return "success"; + } @RequestMapping(value = {"/saveOrUpdate"}) @RequiresPermissions(value={"dns:fake:ip:config"}) public String saveOrUpdate(Model model,HttpServletRequest request diff --git a/src/main/java/com/nis/web/controller/configuration/maintenance/IpAddrPoolController.java b/src/main/java/com/nis/web/controller/configuration/maintenance/IpAddrPoolController.java index c58c6d5..8cf253d 100644 --- a/src/main/java/com/nis/web/controller/configuration/maintenance/IpAddrPoolController.java +++ b/src/main/java/com/nis/web/controller/configuration/maintenance/IpAddrPoolController.java @@ -1,5 +1,7 @@ package com.nis.web.controller.configuration.maintenance;
+import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@@ -25,6 +27,7 @@ import com.nis.exceptions.MaatConvertException; import com.nis.util.ConfigServiceUtil;
import com.nis.util.Constants;
import com.nis.util.StringUtil;
+import com.nis.util.StringUtils;
import com.nis.web.controller.BaseController;
import com.nis.web.service.configuration.IpAddrPoolCfgService;
@@ -166,7 +169,7 @@ public class IpAddrPoolController extends BaseController{ }
/**
- * 校验所有地址池配置IP不可重复
+ * 校验所有地址池配置IP+MASK组合不可重复
* @param cfg
* @param request
* @param response
@@ -174,10 +177,28 @@ public class IpAddrPoolController extends BaseController{ */
@ResponseBody
@RequestMapping(value = {"/checkAddrPoolIp"})
- public boolean checkAddrPoolIp(String ips, HttpServletRequest request, HttpServletResponse response){
- for (String ip : ips.split(",")) {
- Long cfgId = ipAddrPoolCfgService.checkAddrPoolIp(ip);
- if(cfgId != null){
+ public boolean checkAddrPoolIp(String ip, String oldIp, HttpServletRequest request, HttpServletResponse response){
+ List<String> oldIplist = new ArrayList<>();
+ if(StringUtils.isNotBlank(oldIp)){
+ oldIplist.add(oldIp);
+ if(oldIp.contains("/32")){
+ oldIplist.add(oldIp.substring(0, oldIp.indexOf("/")));
+ }else if(!oldIp.contains("/")){
+ oldIplist.add(oldIp+"/32");
+ }
+ }
+
+ List<String> searchlist = new ArrayList<>();
+ searchlist.add(ip);
+ if(ip.contains("/32")){
+ searchlist.add(ip.substring(0, ip.indexOf("/")));
+ }else if(!ip.contains("/")){
+ searchlist.add(ip+"/32");
+ }
+
+ for (String searchIp : searchlist) {
+ IpReuseIpCfg cfg = ipAddrPoolCfgService.checkAddrPoolIp(searchIp);
+ if((cfg != null) && (!oldIplist.contains(cfg.getSrcIpAddress()))){
return false;
}
}
diff --git a/src/main/java/com/nis/web/controller/configuration/manipulation/IpMultiplexController.java b/src/main/java/com/nis/web/controller/configuration/manipulation/IpMultiplexController.java index d566f62..6f8e36c 100644 --- a/src/main/java/com/nis/web/controller/configuration/manipulation/IpMultiplexController.java +++ b/src/main/java/com/nis/web/controller/configuration/manipulation/IpMultiplexController.java @@ -234,6 +234,45 @@ public class IpMultiplexController extends CommonController { return "redirect:" + adminPath +"/manipulation/ipmulitiplex/snatPolicyList?functionId="+functionId; } + + @RequestMapping(value = {"/ajaxSnatInfo"}) + public String ajaxSnatInfo(Model model,Long cfgId,Integer index,Integer compileId) { + IpReusePolicyCfg cfg = ipMultiplexService.getSnatCfg(cfgId, compileId); + List<String[]> tabList = new ArrayList(); + String cfgType = null; + if(!cfg.getCfgType().equals(cfgType)){ + tabList.add(new String[]{"1",cfg.getCfgType()}); + cfgType = cfg.getCfgType(); + } + + List<UserManage> users = userManageService.findUsers(); + List<IpAddrPoolCfg> addrPools = ipAddrPoolCfgService.getEffectiveAddrPool(); + model.addAttribute("users", users); + model.addAttribute("addrPools", addrPools); + model.addAttribute("_cfg", cfg); + model.addAttribute("index", index); + model.addAttribute("tabList", tabList); + return "/cfg/manipulation/ipmulitiplex/snatSubList"; + } + + + + @RequestMapping(value = {"/ajaxDnatInfo"}) + public String ajaxDnatInfo(Model model,Long cfgId,Integer index,Integer compileId) { + IpReuseDnatPolicyCfg cfg = ipMultiplexService.getDnatCfg(cfgId, compileId); + List<String[]> tabList = new ArrayList(); + String cfgType = null; + if(!cfg.getCfgType().equals(cfgType)){ + tabList.add(new String[]{"1",cfg.getCfgType()}); + cfgType = cfg.getCfgType(); + } + model.addAttribute("_cfg", cfg); + model.addAttribute("index", index); + model.addAttribute("tabList", tabList); + return "/cfg/manipulation/ipmulitiplex/dnatSubList"; + } + + /** * 异步获取地址池信息 * @param request diff --git a/src/main/java/com/nis/web/controller/configuration/ntc/FileTransferCfgController.java b/src/main/java/com/nis/web/controller/configuration/ntc/FileTransferCfgController.java index 2a69634..c62bd2f 100644 --- a/src/main/java/com/nis/web/controller/configuration/ntc/FileTransferCfgController.java +++ b/src/main/java/com/nis/web/controller/configuration/ntc/FileTransferCfgController.java @@ -371,6 +371,24 @@ public class FileTransferCfgController extends BaseController{ return "/cfg/fileTransfer/fileDigestSubList"; } + @RequestMapping(value = {"ajaxFileDigestLogSubIdList"}) + public String ajaxFileDigestLogSubIdList(Model model,Long cfgId,Integer index,Integer compileId) { + FileDigestCfg cfg = fileTransferCfgService.getFileDigestSubIdCfg(cfgId,compileId); + List<String[]> tabList = new ArrayList(); + String cfgType = null; + if(!cfg.getCfgType().equals(cfgType)){ + tabList.add(new String[]{"1",cfg.getCfgType()}); + cfgType = cfg.getCfgType(); + } + model.addAttribute("_cfg", cfg); + model.addAttribute("index", index); + model.addAttribute("tabList", tabList); + return "/cfg/fileTransfer/fileDigestLogSubList"; + } + + + + @RequestMapping(value = {"p2pList"}) public String p2pList(Model model,@ModelAttribute("cfg")CfgIndexInfo cfg,HttpServletRequest request,HttpServletResponse response) { Page<CfgIndexInfo> searchPage=new Page<CfgIndexInfo>(request,response,"a"); diff --git a/src/main/java/com/nis/web/controller/dashboard/DashboardController.java b/src/main/java/com/nis/web/controller/dashboard/DashboardController.java index 4b8803c..51b24a5 100644 --- a/src/main/java/com/nis/web/controller/dashboard/DashboardController.java +++ b/src/main/java/com/nis/web/controller/dashboard/DashboardController.java @@ -233,6 +233,7 @@ public class DashboardController extends BaseController{ list = (List<Map>) fromJsonList.get("data"); //标签集合 List<CodeResult> codeList = CodeDicUtils.getCodeList("protocolCode"); + List<CodeResult> appCodeList = CodeDicUtils.getCodeList("appCode"); //将数字替换为标签文字 if(list!=null&&!list.isEmpty()){ for (Map map : list) { @@ -244,6 +245,14 @@ public class DashboardController extends BaseController{ break; } } + // 协议没匹配的匹配app码表 + for (CodeResult code : appCodeList) { + Double value3 = Double.valueOf(code.getCode()); + if(value1.equals(value3)){ + map.put("protoType", code.getItem()); + break; + } + } resultList.add(map); } logger.debug("协议统计"+fromJsonList); diff --git a/src/main/java/com/nis/web/controller/dashboard/TrafficStatisticsInfoController.java b/src/main/java/com/nis/web/controller/dashboard/TrafficStatisticsInfoController.java index 754ff3c..e90eb68 100644 --- a/src/main/java/com/nis/web/controller/dashboard/TrafficStatisticsInfoController.java +++ b/src/main/java/com/nis/web/controller/dashboard/TrafficStatisticsInfoController.java @@ -1,6 +1,7 @@ package com.nis.web.controller.dashboard; import java.lang.reflect.Type; +import java.net.URISyntaxException; import java.net.URLEncoder; import java.text.DecimalFormat; import java.text.SimpleDateFormat; @@ -16,6 +17,7 @@ import java.util.Set; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.apache.http.client.utils.URIBuilder; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; @@ -34,11 +36,13 @@ import com.google.gson.LongSerializationPolicy; import com.google.gson.reflect.TypeToken; import com.nis.domain.PageLog; import com.nis.domain.dashboard.TrafficIpActiveStatistic; +import com.nis.util.CodeDicUtils; import com.nis.util.Constants; import com.nis.util.DateUtil; import com.nis.util.StringUtil; import com.nis.util.httpclient.HttpClientUtil; import com.nis.web.controller.BaseController; +import com.nis.web.dao.dashboard.codedic.CodeResult; @Controller @RequestMapping("${adminPath}/dashboard/traffic") @@ -111,7 +115,7 @@ public class TrafficStatisticsInfoController extends BaseController { public String bandwidthList(Model model){ Calendar cal = Calendar. getInstance (); cal.setTime(new Date()); - String now = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" ).format(cal.getTime());//获取到完整的时间 + String now = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" ).format(cal.getTime());//获取到完整的时间 cal.set(Calendar.HOUR_OF_DAY, cal.get(Calendar.HOUR_OF_DAY) - 1); String oneHoursAgo = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" ).format(cal.getTime()); model.addAttribute("beginDate", oneHoursAgo); @@ -149,12 +153,25 @@ public class TrafficStatisticsInfoController extends BaseController { } return resultList; } + public String urlAddDate(String url,String beginDate,String endDate) throws URISyntaxException{ + if(StringUtil.isBlank(beginDate)||StringUtil.isBlank(endDate)){ + Calendar cal = Calendar. getInstance (); + cal.setTime(new Date()); + endDate = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" ).format(cal.getTime());//获取到完整的时间 + cal.set(Calendar.HOUR_OF_DAY, cal.get(Calendar.HOUR_OF_DAY) - 1); + beginDate = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" ).format(cal.getTime()); + } + URIBuilder uriBuilder = new URIBuilder(url); + uriBuilder.addParameter("beginDate",beginDate); + uriBuilder.addParameter("endDate",endDate); + return uriBuilder.toString(); + } /** * 根据ip46,协议tcp,udp查询带宽 间隔5分钟数据 */ @RequestMapping(value="bandwidthTrans") @ResponseBody - public Map ipActiveMinuteList(@RequestParam("addrType")String addrType,@RequestParam("transType")Integer transType){ + public Map bandwidthTrans(String beginDate,String endDate,@RequestParam("addrType")String addrType,@RequestParam("transType")Integer transType){ Map<String, Object> fromJsonList = new HashMap<String, Object>(); Map map = new HashMap(); String url = Constants.DASHBOARD_URL+Constants.TRAFFIC_BANDWIDTH_TRANS; @@ -165,6 +182,41 @@ public class TrafficStatisticsInfoController extends BaseController { url=url+"?transType="+transType; } try { + url=urlAddDate(url,beginDate,endDate); + + String string = HttpClientUtil.get(url); + Gson gson = new GsonBuilder().create(); + fromJsonList = gson.fromJson(string, new TypeToken<Map>(){}.getType()); + logger.debug("带宽1小时,间隔5分钟数据"+fromJsonList); + List list = (ArrayList) fromJsonList.get("data"); + if(!StringUtil.isEmpty(list)){ + map=(Map) list.get(0); + } + return map; + } catch (Exception e) { + e.printStackTrace(); + logger.error("带宽详情数据获取错误"+e); + } + return map; + } + /** + * 根据ip46,协议tcp,udp查询带宽 间隔5分钟数据 + */ + @RequestMapping(value="bandwidthTransTwo") + @ResponseBody + public Map bandwidthTransTwo(String beginDate,String endDate,@RequestParam("addrType")String addrType,@RequestParam("transType")Integer transType){ + Map<String, Object> fromJsonList = new HashMap<String, Object>(); + Map map = new HashMap(); + String url = Constants.DASHBOARD_URL+Constants.TRAFFIC_BANDWIDTH_TRANS_TWO; + if(!StringUtil.isBlank(addrType)){ + url=url+"?addrType="+addrType; + } + if(transType!=null){ + url=url+"?transType="+transType; + } + try { + url=urlAddDate(url,beginDate,endDate); + String string = HttpClientUtil.get(url); Gson gson = new GsonBuilder().create(); fromJsonList = gson.fromJson(string, new TypeToken<Map>(){}.getType()); @@ -184,7 +236,14 @@ public class TrafficStatisticsInfoController extends BaseController { * 协议类型详细列表 */ @RequestMapping(value="protocolTypeList") - public String protocolTypeList(){ + public String protocolTypeList(Model model){ + Calendar cal = Calendar. getInstance (); + cal.setTime(new Date()); + String now = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" ).format(cal.getTime());//获取到完整的时间 + cal.set(Calendar.HOUR_OF_DAY, cal.get(Calendar.HOUR_OF_DAY) - 1); + String oneHoursAgo = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" ).format(cal.getTime()); + model.addAttribute("searchFoundStartTime", oneHoursAgo); + model.addAttribute("searchFoundEndTime", now); return "/dashboard/trafficProtocolTypeList"; } /** @@ -212,9 +271,11 @@ public class TrafficStatisticsInfoController extends BaseController { Double totalGByte=0d; DecimalFormat lf = new DecimalFormat("0"); DecimalFormat df = new DecimalFormat("0.00000000"); + List<CodeResult> appCodeList = CodeDicUtils.getCodeList("appCode"); if(!StringUtil.isEmpty(list)){ for (Object object : list) { Map m=(Map) object; + Double value1 = Double.parseDouble(m.get("protocolType").toString()); totalGByte+=Double.parseDouble(m.get("GByte").toString()); // String linkNum = df.format(m.get("linkNum")); m.put("GByte", df.format(m.get("GByte"))); @@ -222,6 +283,14 @@ public class TrafficStatisticsInfoController extends BaseController { m.put("linkNum", lf.format(m.get("linkNum"))); totalLink+=Long.parseLong( m.get("linkNum").toString()); totalPackets+=Long.parseLong(m.get("packets").toString()); + // 协议没匹配的匹配app码表 + for (CodeResult code : appCodeList) { + Double value3 = Double.valueOf(code.getCode()); + if(value1.equals(value3)){ + m.put("protocolType", code.getItem()); + break; + } + } } for (Object object : list) { Map m=(Map) object; diff --git a/src/main/java/com/nis/web/dao/configuration/DnsIpCfgDao.java b/src/main/java/com/nis/web/dao/configuration/DnsIpCfgDao.java index 1067c95..2f8fead 100644 --- a/src/main/java/com/nis/web/dao/configuration/DnsIpCfgDao.java +++ b/src/main/java/com/nis/web/dao/configuration/DnsIpCfgDao.java @@ -12,4 +12,5 @@ import com.nis.web.dao.MyBatisDao; public interface DnsIpCfgDao extends CrudDao<DnsIpCfg> { List<DnsIpCfg> findPage(DnsIpCfg dnsIpCfg); DnsIpCfg getDnsIpCfg(Long cfgId); + List<DnsIpCfg> findDnsIpCfg(DnsIpCfg entity); } diff --git a/src/main/java/com/nis/web/dao/configuration/DnsIpCfgDao.xml b/src/main/java/com/nis/web/dao/configuration/DnsIpCfgDao.xml index 79f4609..0fc449c 100644 --- a/src/main/java/com/nis/web/dao/configuration/DnsIpCfgDao.xml +++ b/src/main/java/com/nis/web/dao/configuration/DnsIpCfgDao.xml @@ -186,6 +186,22 @@ from dns_ip_cfg r where r.cfg_id=#{cfgId} </select> + <select id="findDnsIpCfg" resultMap="dnsIpCfgMap"> + select + <include refid="columns"></include> + from dns_ip_cfg r + <where> + <if test="isAudit != null"> + AND r.is_audit=#{isAudit,jdbcType=INTEGER} + </if> + <if test="isValid != null"> + AND r.is_valid=#{isValid,jdbcType=INTEGER} + </if> + <if test="dnsStrategyId != null"> + AND r.dns_strategy_id=#{dnsStrategyId,jdbcType=INTEGER} + </if> + </where> + </select> <insert id="insert" parameterType="com.nis.domain.configuration.DnsIpCfg" > insert into dns_ip_cfg ( diff --git a/src/main/java/com/nis/web/dao/configuration/IpAddrPoolCfgDao.java b/src/main/java/com/nis/web/dao/configuration/IpAddrPoolCfgDao.java index 39cda87..a31492f 100644 --- a/src/main/java/com/nis/web/dao/configuration/IpAddrPoolCfgDao.java +++ b/src/main/java/com/nis/web/dao/configuration/IpAddrPoolCfgDao.java @@ -35,7 +35,7 @@ public interface IpAddrPoolCfgDao extends CrudDao<IpAddrPoolCfgDao>{ Long getAddrPoolIdByName(String addrPoolName);
- Long checkAddrPoolIp(@Param("srcIpAddress")String ip);
+ IpReuseIpCfg checkAddrPoolIp(@Param("srcIpAddress")String ip);
diff --git a/src/main/java/com/nis/web/dao/configuration/IpAddrPoolCfgDao.xml b/src/main/java/com/nis/web/dao/configuration/IpAddrPoolCfgDao.xml index 2b59b14..1134253 100644 --- a/src/main/java/com/nis/web/dao/configuration/IpAddrPoolCfgDao.xml +++ b/src/main/java/com/nis/web/dao/configuration/IpAddrPoolCfgDao.xml @@ -475,15 +475,18 @@ FROM
ip_reuse_addr_pool r
WHERE
- r.addr_pool_name = #{addrPoolName} AND r.is_valid != -1
+ r.addr_pool_name = #{addrPoolName} AND r.is_valid != -1 AND r.is_audit != 3
</select>
- <select id="checkAddrPoolIp" resultType="java.lang.Long">
+ <select id="checkAddrPoolIp" resultType="com.nis.domain.basics.IpReuseIpCfg">
SELECT
- r.cfg_id
+ r.cfg_id,r.src_ip_address
FROM
ip_reuse_ip_cfg r
WHERE
- r.src_ip_address = #{srcIpAddress} AND r.is_valid != -1 AND r.is_audit != 3
+ r.src_ip_address = #{srcIpAddress} AND
+ r.is_valid != -1 AND
+ r.is_audit != 3 AND
+ r.user_region1 IS NOT NULL
</select>
</mapper>
\ No newline at end of file diff --git a/src/main/java/com/nis/web/dao/configuration/IpMultiplexDao.java b/src/main/java/com/nis/web/dao/configuration/IpMultiplexDao.java index 02f7d55..4e7d6d9 100644 --- a/src/main/java/com/nis/web/dao/configuration/IpMultiplexDao.java +++ b/src/main/java/com/nis/web/dao/configuration/IpMultiplexDao.java @@ -40,5 +40,8 @@ public interface IpMultiplexDao extends CrudDao<IpMultiplexDao>{ List<BaseIpCfg> findPageDnat(IpReuseDnatPolicyCfg entity); List<IpReuseDnatPolicyCfg> findDnatList(@Param("cfgId")Long cfgId, @Param("isValid")Integer isValid); - + + IpReusePolicyCfg getSnatCfg(@Param("cfgId")Long cfgId,@Param("compileId")Integer compileId); + + IpReuseDnatPolicyCfg getDnatCfg(@Param("cfgId")Long cfgId,@Param("compileId")Integer compileId); } diff --git a/src/main/java/com/nis/web/dao/configuration/IpMultiplexDao.xml b/src/main/java/com/nis/web/dao/configuration/IpMultiplexDao.xml index 34ea2d5..c72340a 100644 --- a/src/main/java/com/nis/web/dao/configuration/IpMultiplexDao.xml +++ b/src/main/java/com/nis/web/dao/configuration/IpMultiplexDao.xml @@ -711,4 +711,32 @@ </where> ORDER BY a.cfg_id </select> + + <select id="getSnatCfg" resultMap="policyMap"> + select + <include refid="policyColumns"></include> + from ip_reuse_policy_cfg r + <where> + <if test="cfgId !=null"> + r.CFG_ID = #{cfgId,jdbcType=BIGINT} + </if> + <if test="compileId != null"> + AND r.COMPILE_ID=#{compileId,jdbcType=INTEGER} + </if> + </where> + </select> + + <select id="getDnatCfg" resultMap="dnatPolicyMap"> + select + <include refid="dnatPolicyColumns"></include> + from ip_reuse_dnat_policy a + <where> + <if test="cfgId !=null"> + a.CFG_ID = #{cfgId,jdbcType=BIGINT} + </if> + <if test="compileId != null"> + AND a.COMPILE_ID=#{compileId,jdbcType=INTEGER} + </if> + </where> + </select> </mapper>
\ No newline at end of file diff --git a/src/main/java/com/nis/web/service/configuration/DnsIpCfgService.java b/src/main/java/com/nis/web/service/configuration/DnsIpCfgService.java index 9768432..0efa7f5 100644 --- a/src/main/java/com/nis/web/service/configuration/DnsIpCfgService.java +++ b/src/main/java/com/nis/web/service/configuration/DnsIpCfgService.java @@ -21,6 +21,7 @@ import com.nis.domain.configuration.DnsIpCfg; import com.nis.domain.maat.ToMaatResult; import com.nis.exceptions.MaatConvertException; import com.nis.util.ConfigServiceUtil; +import com.nis.util.Constants; import com.nis.web.dao.configuration.DnsIpCfgDao; import com.nis.web.security.UserUtils; import com.nis.web.service.BaseService; @@ -47,6 +48,9 @@ public class DnsIpCfgService extends BaseService{ return page; } + public List<DnsIpCfg> findDnsIpCfg(DnsIpCfg entity) { + return dnsIpCfgDao.findDnsIpCfg(entity); + } public DnsIpCfg getDnsIpCfg(Long cfgId) { return dnsIpCfgDao.getDnsIpCfg(cfgId); } @@ -115,6 +119,75 @@ public class DnsIpCfgService extends BaseService{ dnsIpCfgDao.update(entity); } } + @Transactional(readOnly=false,rollbackFor=RuntimeException.class) + public void saveAndAudit(){ + DnsIpCfg dnsIp=new DnsIpCfg(); + dnsIp.setIpType(4); + dnsIp.setDirection(0); + dnsIp.setProtocolId(0); + dnsIp.setProtocol(0); + dnsIp.setIsValid(1); + dnsIp.setIsAudit(1); + dnsIp.setRequestId(0); + dnsIp.setClassify("0"); + dnsIp.setAttribute("0"); + dnsIp.setLable("0"); + dnsIp.setFunctionId(401); + dnsIp.setCfgRegionCode(1); + dnsIp.setCfgType("dns_fake_ip"); + dnsIp.setIpPattern(3); + dnsIp.setSrcIpAddress("0.0.0.0"); + dnsIp.setDestPort("0"); + dnsIp.setSrcPort("0"); + dnsIp.setPortPattern(1); + dnsIp.setDnsStrategyId(0); + dnsIp.setAction(16); + dnsIp.setServiceId(64); + dnsIp.setIsAreaEffective(0); + dnsIp.setAreaEffectiveIds(""); + dnsIp.setCreateTime(new Date()); + dnsIp.setCreatorId(UserUtils.getUser().getId()); + dnsIp.setAuditorId(UserUtils.getUser().getId()); + dnsIp.setAuditTime(new Date()); + dnsIp.setCfgDesc(Constants.DNS_SPOOFING_IP_DESC); + dnsIp.setDestIpAddress(Constants.DNS_SPOOFING_IP_IP); + //调用服务接口获取compileId + List<Integer> compileIds = new ArrayList<Integer>(); + try { + compileIds = ConfigServiceUtil.getId(1,1); + } catch (Exception e) { + e.printStackTrace(); + logger.info("获取编译ID出错"); + throw new MaatConvertException("<spring:message code=\"request_service_failed\"/>:"+e.getMessage()); + } + if(compileIds != null && compileIds.size() >0 && compileIds.get(0) != 0){ + dnsIp.setCompileId(compileIds.get(0)); + + }else{ + throw new MaatConvertException("<spring:message code=\"request_service_failed\"/>"); + } + + dnsIpCfgDao.insert(dnsIp); + + String json=""; + List<InlineIp> resStrategyList=new ArrayList<InlineIp>(); + InlineIp resStrategy=convertCallBackIp(dnsIp,dnsIp.getDnsStrategyId()); + resStrategyList.add(resStrategy); + //调用服务接口下发配置数据 + json=gsonToJson(resStrategyList); + logger.info("DNS欺骗ip配置下发配置参数:"+json); + //调用服务接口下发配置 + try { + ToMaatResult result = ConfigServiceUtil.postCallbackCfg(json); + if(result!=null){ + logger.info("DNS欺骗ip配置下发响应信息:"+result.getMsg()); + } + } catch (Exception e) { + logger.error("DNS欺骗ip配置下发失败",e); + throw e; + } + + } /** * * @param isAudit diff --git a/src/main/java/com/nis/web/service/configuration/IpAddrPoolCfgService.java b/src/main/java/com/nis/web/service/configuration/IpAddrPoolCfgService.java index 8ede5c5..eadb57e 100644 --- a/src/main/java/com/nis/web/service/configuration/IpAddrPoolCfgService.java +++ b/src/main/java/com/nis/web/service/configuration/IpAddrPoolCfgService.java @@ -288,7 +288,7 @@ public class IpAddrPoolCfgService extends BaseService{ return ipAddrPoolCfgDao.findAddrPoolCfg();
}
- public Long checkAddrPoolIp(String ip) {
+ public IpReuseIpCfg checkAddrPoolIp(String ip) {
return ipAddrPoolCfgDao.checkAddrPoolIp(ip);
}
diff --git a/src/main/java/com/nis/web/service/configuration/IpMultiplexService.java b/src/main/java/com/nis/web/service/configuration/IpMultiplexService.java index c6cc5e5..fb42313 100644 --- a/src/main/java/com/nis/web/service/configuration/IpMultiplexService.java +++ b/src/main/java/com/nis/web/service/configuration/IpMultiplexService.java @@ -16,6 +16,7 @@ import org.springframework.transaction.annotation.Transactional; import com.beust.jcommander.internal.Lists; import com.nis.domain.Page; import com.nis.domain.configuration.BaseIpCfg; +import com.nis.domain.configuration.DdosIpCfg; import com.nis.domain.configuration.IpReuseDnatPolicyCfg; import com.nis.domain.configuration.IpReusePolicyCfg; import com.nis.domain.maat.ToMaatResult; @@ -308,4 +309,11 @@ public class IpMultiplexService extends BaseService{ } } + public IpReusePolicyCfg getSnatCfg(Long cfgId,Integer compileId) { + return ipMultiplexDao.getSnatCfg(cfgId,compileId); + } + + public IpReuseDnatPolicyCfg getDnatCfg(Long cfgId,Integer compileId) { + return ipMultiplexDao.getDnatCfg(cfgId,compileId); + } } diff --git a/src/main/resources/nis.properties b/src/main/resources/nis.properties index 6f381e0..bbe3c28 100644 --- a/src/main/resources/nis.properties +++ b/src/main/resources/nis.properties @@ -577,6 +577,6 @@ trafficBandwidthTrans=trafficBandwidthTrans trafficProtocolList=trafficProtocolList trafficAppList=trafficAppList ntcActionEntranceReport=ntcActionEntranceReport -redis.host=192.168.10.192:6379 -redis.expire=1800 -redis.timeout=10000 +dns_spoofing_ip_desc=Default Spoofing IP +dns_spoofing_ip_ip=1.1.1.1 +trafficBandwidthTransTwo=trafficBandwidthTransTwo
\ No newline at end of file diff --git a/src/main/resources/sql/truncate_tables.sql b/src/main/resources/sql/truncate_tables.sql index b8dcb48..5f54710 100644 --- a/src/main/resources/sql/truncate_tables.sql +++ b/src/main/resources/sql/truncate_tables.sql @@ -63,4 +63,6 @@ UPDATE specific_service_cfg SET group_id=0; DELETE FROM ip_reuse_addr_pool; DELETE FROM ip_reuse_ip_cfg; DELETE FROM ip_reuse_policy_cfg; -DELETE FROM user_manage;
\ No newline at end of file +DELETE FROM user_manage; +#clear vpn +DELETE FROM service_dict_info where item_type='5';
\ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/cfg/av/voip/voipSubList.jsp b/src/main/webapp/WEB-INF/views/cfg/av/voip/voipSubList.jsp index d627da7..ad2ba89 100644 --- a/src/main/webapp/WEB-INF/views/cfg/av/voip/voipSubList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/av/voip/voipSubList.jsp @@ -109,7 +109,6 @@ </div> </div> </div> - </div> </c:if> </c:forEach> </c:if> diff --git a/src/main/webapp/WEB-INF/views/cfg/fileTransfer/fileDigestLogSubList.jsp b/src/main/webapp/WEB-INF/views/cfg/fileTransfer/fileDigestLogSubList.jsp new file mode 100644 index 0000000..5f39147 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/cfg/fileTransfer/fileDigestLogSubList.jsp @@ -0,0 +1,75 @@ +<%@ page contentType="text/html;charset=UTF-8"%>
+<%@ include file="/WEB-INF/include/taglib.jsp"%>
+<html>
+<head>
+<script>
+ $(document).ready(function() {
+ //$("div[name='tabTitle"+index+"']").get(0).click();
+ })
+</script>
+<style type="text/css">
+</style>
+</head>
+<c:forEach items="${tabList}" var="region" varStatus="regionStatus">
+ <div id="${region[1]}Title${index}" onclick="switchSubCfgTabInfo('${region[1]}',${index})"
+ class="col-md-1 tabInfo" name="tabTitle${index }">
+ <spring:message code='${region[1]}' />
+ <i id="${region[1]}${index}" class="fa" name="tabFlag${index}"></i>
+ </div>
+</c:forEach>
+</div>
+<c:forEach items="${tabList}" var="region">
+ <c:if test="${region[0] eq 1 }">
+ <c:set value="${_cfg}" var="cfg"></c:set>
+ <c:if test="${region[1] eq cfg.cfgType }">
+ <div id="${region[1]}Info${index}" class="content" name="subCfg${index}">
+ <div class="row" style="margin-top: 5px;">
+ <div class="col-md-8">
+ <div class="form-group">
+ <label><spring:message code='digest' />:</label>
+ <a href="javascript:;" title="${cfg.digest}"
+ class="tooltips" data-flag="false" data-html="true" data-placement="top">
+ ${fns:abbr(cfg.digest,40)}
+ </a>
+ </div>
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-md-8">
+ <div class="form-group">
+ <label><spring:message code='file_url' />:</label>
+ <a href="${cfg.fileUrl }" target="_blank" title="${cfg.fileUrl }"
+ class="tooltips" data-flag="false" data-html="true" data-placement="top">
+ ${fn:substring(cfg.fileUrl,0,40) }
+ </a>
+ </div>
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-md-4">
+ <div class="form-group">
+ <label><spring:message code='harm_level'/>:</label>
+ <label>
+ <c:if test="${cfg.cfdsLevel > 1 && cfg.cfdsLevel <= 10}">
+ ${(cfg.cfdsLevel*10)}
+ </c:if>
+ <c:if test="${cfg.cfdsLevel eq 1 || cfg.cfdsLevel > 10}">
+ ${cfg.cfdsLevel }
+ </c:if>
+ </label>
+ </div>
+ </div>
+ <div class="col-md-4">
+ <div class="form-group">
+ <label><spring:message code='raw_len'/>:</label>
+ <label>
+ ${cfg.rawLen }(B)
+ </label>
+ </div>
+ </div>
+ </div>
+ </div>
+ </c:if>
+ </c:if>
+</c:forEach>
+</html>
\ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/cfg/ipaddr/ipSubList.jsp b/src/main/webapp/WEB-INF/views/cfg/ipaddr/ipSubList.jsp index 289eed7..5a11bea 100644 --- a/src/main/webapp/WEB-INF/views/cfg/ipaddr/ipSubList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/ipaddr/ipSubList.jsp @@ -4,7 +4,7 @@ <head> <script> $(document).ready(function() { - //$("div[name='tabTitle"+index+"']").get(0).click(); + //$("div[name='tabTitle0']").get(0).click(); }) </script> <style type="text/css"> diff --git a/src/main/webapp/WEB-INF/views/cfg/maintenance/ipMultiplexPool/snatform2.jsp b/src/main/webapp/WEB-INF/views/cfg/maintenance/ipMultiplexPool/snatform2.jsp index 32966a4..055463f 100644 --- a/src/main/webapp/WEB-INF/views/cfg/maintenance/ipMultiplexPool/snatform2.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/maintenance/ipMultiplexPool/snatform2.jsp @@ -246,7 +246,7 @@ var resetIndex = function(){ <div class="form-group">
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="ip"/></label>
<div class="col-md-6">
- <input class="form-control required ipCheck ipMaskSole" type="text" name="ipCfgs[0].srcIpAddress" ctx="${ctx }" cfgId="${_cfg.cfgId}">
+ <input class="form-control required ipCheck ipMaskSole" type="text" name="ipCfgs[0].srcIpAddress" ctx="${ctx }">
</div>
<div for="ipCfgs[0].srcIpAddress"></div>
</div>
@@ -393,7 +393,7 @@ var resetIndex = function(){ <div class="form-group">
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="ip"/></label>
<div class="col-md-6">
- <input class="form-control required ipCheck ipMaskSole" type="text" name="ipCfgs[0].srcIpAddress" value="${ipCfg.srcIpAddress }" ctx="${ctx }" cfgId="${_cfg.cfgId}">
+ <input class="form-control required ipCheck ipMaskSole" type="text" name="ipCfgs[0].srcIpAddress" value="${ipCfg.srcIpAddress }" ctx="${ctx }" oldIp="${ipCfg.srcIpAddress }">
</div>
<div for="ipCfgs[0].srcIpAddress"></div>
</div>
diff --git a/src/main/webapp/WEB-INF/views/cfg/manipulation/ipmulitiplex/dnatSubList.jsp b/src/main/webapp/WEB-INF/views/cfg/manipulation/ipmulitiplex/dnatSubList.jsp new file mode 100644 index 0000000..3a9b96e --- /dev/null +++ b/src/main/webapp/WEB-INF/views/cfg/manipulation/ipmulitiplex/dnatSubList.jsp @@ -0,0 +1,79 @@ +<%@ page contentType="text/html;charset=UTF-8"%>
+<%@ include file="/WEB-INF/include/taglib.jsp"%>
+<html>
+<head>
+<script>
+ $(document).ready(function() {
+ //$("div[name='tabTitle"+index+"']").get(0).click();
+ })
+</script>
+<style type="text/css">
+</style>
+</head>
+
+<c:forEach items="${tabList}" var="region" varStatus="regionStatus">
+ <div id="${region[1]}Title${index}" onclick="switchSubCfgTabInfo('${region[1]}',${index})"
+ class="col-md-1 tabInfo" name="tabTitle${index }">
+ <spring:message code='${region[1]}' />
+ <i id="${region[1]}${index}" class="fa" name="tabFlag${index}"></i>
+ </div>
+</c:forEach>
+
+</div>
+<c:forEach items="${tabList}" var="region">
+ <c:if test="${region[0] eq 1 }">
+ <c:set value="${_cfg}" var="cfg"></c:set>
+ <c:if test="${region[1] eq cfg.cfgType }">
+ <div id="${region[1]}Info${index}" class="content" name="subCfg${index}">
+ <div class="row" style="margin-top: 5px;">
+ <div class="col-md-4">
+ <div class="form-group">
+ <label><spring:message code='original_dest_ip'/>:</label>
+ <label>
+ ${cfg.srcIpAddress }
+ </label>
+ </div>
+ </div>
+ <div class="col-md-4">
+ <div class="form-group">
+ <label><spring:message code='original_dest_port'/>:</label>
+ <label>
+ ${cfg.srcPort }
+ </label>
+ </div>
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-md-4">
+ <div class="form-group">
+ <label><spring:message code='translated_dest_ip'/>:</label>
+ <label>
+ ${cfg.destIpAddress }
+ </label>
+ </div>
+ </div>
+ <div class="col-md-4">
+ <div class="form-group">
+ <label><spring:message code='translated_dest_port'/>:</label> <label> ${cfg.destPort }</label>
+ </div>
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-md-4">
+ <div class="form-group">
+ <label><spring:message code='protocol'/>:</label>
+ <label>
+ <c:forEach items="${fns:getDictList('PROTOCOL')}" var="protocolC">
+ <c:if test="${cfg.protocol==protocolC.itemCode}">
+ <spring:message code="${protocolC.itemValue }"/>
+ </c:if>
+ </c:forEach>
+ </label>
+ </div>
+ </div>
+ </div>
+ </div>
+ </c:if>
+ </c:if>
+</c:forEach>
+</html>
\ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/cfg/manipulation/ipmulitiplex/snatSubList.jsp b/src/main/webapp/WEB-INF/views/cfg/manipulation/ipmulitiplex/snatSubList.jsp new file mode 100644 index 0000000..f444d04 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/cfg/manipulation/ipmulitiplex/snatSubList.jsp @@ -0,0 +1,81 @@ +<%@ page contentType="text/html;charset=UTF-8"%>
+<%@ include file="/WEB-INF/include/taglib.jsp"%>
+<html>
+<head>
+<script>
+ $(document).ready(function() {
+ //$("div[name='tabTitle"+index+"']").get(0).click();
+ })
+</script>
+<style type="text/css">
+</style>
+</head>
+
+<c:forEach items="${tabList}" var="region" varStatus="regionStatus">
+ <div id="${region[1]}Title${index}" onclick="switchSubCfgTabInfo('${region[1]}',${index})"
+ class="col-md-1 tabInfo" name="tabTitle${index }">
+ <spring:message code='${region[1]}' />
+ <i id="${region[1]}${index}" class="fa" name="tabFlag${index}"></i>
+ </div>
+</c:forEach>
+
+</div>
+<c:forEach items="${tabList}" var="region">
+ <c:if test="${region[0] eq 1 }">
+ <c:set value="${_cfg}" var="cfg"></c:set>
+ <c:if test="${region[1] eq cfg.cfgType }">
+ <div id="${region[1]}Info${index}" class="content" name="subCfg${index}">
+ <div class="row" style="margin-top: 5px;">
+ <div class="col-md-4">
+ <div class="form-group">
+ <label><spring:message code='address_pool'/>:</label>
+ <label>
+ <c:forEach items="${addrPools }" var="addrPool">
+ <c:if test="${cfg.addrPoolId eq addrPool.cfgId }">
+ <spring:message code="${addrPool.addrPoolName }"/>
+ </c:if>
+ </c:forEach>
+ </label>
+ </div>
+ </div>
+ <div class="col-md-4">
+ <div class="form-group">
+ <label><spring:message code='user_type'/>:</label>
+ <label>
+ <c:if test="${cfg.userType eq 'VPN' }">
+ <spring:message code="policy_vpn_user"/>
+ </c:if>
+ <c:if test="${cfg.userType eq 'SIPv4' }">
+ <spring:message code="policy_sipv4_user"/>
+ </c:if>
+ <c:if test="${cfg.userType eq 'SIPv6' }">
+ <spring:message code="policy_sipv6_user"/>
+ </c:if>
+ </label>
+ </div>
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-md-4">
+ <div class="form-group">
+ <label><spring:message code='user'/>:</label>
+ <label>
+ <c:forEach items="${users }" var="user">
+ <c:if test="${cfg.userName eq user.userName }">
+ <spring:message code="${user.userName }"/>
+ </c:if>
+ </c:forEach>
+ </label>
+ </div>
+ </div>
+ <div class="col-md-4">
+ <div class="form-group">
+ <label><spring:message code='ip'/>:</label> <label> ${cfg.srcIpAddress }</label>
+ </div>
+ </div>
+ </div>
+ </div>
+ </c:if>
+ </c:if>
+</c:forEach>
+</html>
\ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/cfg/proxy/control/httpRedirectSubList.jsp b/src/main/webapp/WEB-INF/views/cfg/proxy/control/httpRedirectSubList.jsp index c56d01e..905308e 100644 --- a/src/main/webapp/WEB-INF/views/cfg/proxy/control/httpRedirectSubList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/proxy/control/httpRedirectSubList.jsp @@ -61,7 +61,6 @@ </div> </c:if> </div> -</div> <c:forEach items="${_cfg.ipPortList}" var="cfg"> <div id="ipInfo${index}" class="content" name="subCfg${index}"> diff --git a/src/main/webapp/WEB-INF/views/dashboard/trafficBandwidthList.jsp b/src/main/webapp/WEB-INF/views/dashboard/trafficBandwidthList.jsp index f479167..d1619d5 100644 --- a/src/main/webapp/WEB-INF/views/dashboard/trafficBandwidthList.jsp +++ b/src/main/webapp/WEB-INF/views/dashboard/trafficBandwidthList.jsp @@ -1,208 +1,331 @@ -<%@ page contentType="text/html;charset=UTF-8"%> -<%@ include file="/WEB-INF/include/taglib.jsp"%> -<html> -<head> -<title> - <spring:message code="bandwith"></spring:message> -</title> -</head> -<link rel="stylesheet" href="${pageContext.request.contextPath}/static/pages/css/bandwidth.css"> - - -<body> - -<div class="page-content"> - <div class="theme-panel hidden-xs hidden-sm"> - <button type="button" class="btn btn-default" onClick="javascript:window.location='${ctx}/dashboard/traffic/bandwidthList'"><i class="fa fa-refresh"></i></button> - <button type="button" class="btn btn-default" onClick="javascript:window.location='${ctx}/dashboard/logChart'"><i class="fa fa-history"></i></button> - </div> - <h3 class="page-title"> - <spring:message code="traffic"></spring:message> - </h3> - <h5 class="page-header"></h5> - - <div class="row"> - -<!-- <div class="col-md-3" style="padding-right: 1px; "> - <div class="panel panel-default"> - <div class="panel-body" style="height: 500px;"> - <h5 class="ng-binding">Bandwidth Data</h5> - <div id="deviceRank" class="drank hm-scroll"> - <table> - <tbody> - ngRepeat: item in rankItems - <tr class="dtr active" onClick="rankItemChanged(id, name)" style=""> - <td class="dtd1"><span class="ng-binding" style="">Total</span></td> - <td class="dtd2"><span class="tz" style="width: 100%; max-width: 100px;"></span></td> - <td class="dtd3"><span class="dy ng-binding1">234567891</span></td> - </tr> - end ngRepeat: item in rankItems - <tr class="dtr" onClick="rankItemChanged(id, name)" style=""> - <td class="dtd1"><span class="ng-binding">c2s</span></td> - <td class="dtd2"><span class="tz tz-from" style="width: 86.55%; max-width: 100px;"></span></td> - <td class="dtd3"><span class="dy ng-binding2">123456789</span></td> - </tr> - end ngRepeat: item in rankItems - <tr class="dtr" onClick="rankItemChanged(id, name)" style=""> - <td class="dtd1"><span class="ng-binding">s2c</span></td> - <td class="dtd2"><span class="tz tz-to" style="width: 5.59%; max-width: 100px;"></span></td> - <td class="dtd3"><span class="dy ng-binding3">1234</span></td> - </tr> - </tbody></table> - </div> - </div> - </div> - </div> --> - - <div class="col-md-12"> - <select id="unitType" class="selectpicker select2 input-small"> - <option value="Gbps">Gbps</option> - <option value="pps">pps</option> - <option value="linkNumber"><spring:message code="link_num"/>/S</option> - </select> - <br> - <div id="trend" style="height: 480px; position: relative;" > - <div style="position: relative;"> - <div id="chart" style="width:97%;height:480px;"></div> - </div> - </div> - </div> -</div> -<link rel="stylesheet" href="${pageContext.request.contextPath}/static/pages/css/bandwidth.css" type="text/css" /> -<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/highcharts.js"></script> -<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/exporting.js"></script> -<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/series-label.js"></script> -<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/offline-exporting.js"></script> -<script type="text/javascript"> -$(document).ready(function(){ - var unitType=$("#unitType").val(); - changeBandwidth(unitType); - $("#unitType").on("change",function(){ - changeBandwidth($("#unitType").val()); - }); - - setInterval(function(){ - changeBandwidth($("#unitType").val()); - },500000);// 五分钟调用一次 -}); -function ajaxBandwidth(){ - -} -//点击列表显示统计图 -function clickTrShowChart(response){ - $("tbody .dtr").on("click",function(){ - $("tbody tr").removeClass("active"); - $(this).addClass("active"); - showBandwidthChart();// - }) -} -// 默认显示四条线 ip46,tcp,udp -function rankItemChanged(addrType,transType){ - loading(); - var result=null; - $.ajax({ - url:"${ctx}/dashboard/traffic/bandwidthTrans", - type:"get", - data:{"addrType":addrType,"transType":transType}, - dataType:"json", - async:false, - timeout:10000, - success:function (data){ - if(data!=null){ - result=(data) - } - closeTip(); - }, - error: function(data, textStatus, errorThrown){ - closeTip(); - }, - complete:function(XMLHttpRequest,status){//超时设置 - closeTip(); - } - }); - return result; -} -// 根据单位切换数据 -function changeBandwidth(unitType){ - var ipv4=rankItemChanged(4,null); - var ipv6=rankItemChanged(6,null); - var transTcp=rankItemChanged(null,6); - var transUdp=rankItemChanged(null,17); - var xdata=ipv4.statTime; - if(unitType=="Gbps"){ - ipv4data=ipv4.gbps; - ipv6data=ipv6.gbps; - tcpdata=transTcp.gbps; - udpdata=transUdp.gbps; - } - if(unitType=="pps"){ - ipv4data=ipv4.pps; - ipv6data=ipv6.pps; - tcpdata=transTcp.pps; - udpdata=transUdp.pps; - - } - if(unitType=="linkNumber"){ - ipv4data=ipv4.linkNum; - ipv6data=ipv6.linkNum; - tcpdata=transTcp.linkNum; - udpdata=transUdp.linkNum; - } - var series=new Array(); - series.push({ - name: "IPv4", - data: ipv4data - },{ - name: "IPv6", - data: ipv6data - },{ - name: "TCP", - data: tcpdata - },{ - name: "UDP", - data: udpdata - }); - showBandwidthChart(unitType,xdata,series); -} -/* 网络带宽时间维度趋势图 */ -function showBandwidthChart(unitType,xdata,ydata){ - var chart = Highcharts.chart('chart', { - title: { - text: null - }, - navigation: { - buttonOptions: { - y: -15, - x: 5 - } - }, - exporting: { - filename:'Bandwidth', - scale:1, - sourceWidth: 1280, - sourceHeight: 550, - }, - yAxis: { - title: { - text: unitType - } - }, - legend: { - enabled:true - }, - xAxis:{ - type:'datetime', - categories: xdata, - }, - credits:{//是否有highcharts水印 - enabled:false - }, - series: ydata, - - }); - -} - -</script> -</body> +<%@ page contentType="text/html;charset=UTF-8"%>
+<%@ include file="/WEB-INF/include/taglib.jsp"%>
+<html>
+<head>
+<title>
+ <spring:message code="bandwith"></spring:message>
+</title>
+</head>
+<link rel="stylesheet" href="${pageContext.request.contextPath}/static/pages/css/bandwidth.css">
+
+
+<body>
+
+<div class="page-content">
+ <div class="theme-panel hidden-xs hidden-sm">
+ <button type="button" class="btn btn-default" onClick="javascript:window.location='${ctx}/dashboard/traffic/bandwidthList'"><i class="fa fa-refresh"></i></button>
+ <button type="button" class="btn btn-default" onClick="javascript:window.location='${ctx}/dashboard/logChart'"><i class="fa fa-history"></i></button>
+ </div>
+ <h3 class="page-title">
+ <spring:message code="traffic"></spring:message>
+ </h3>
+ <h5 class="page-header"></h5>
+ <div class="row" >
+ <form:form id="searchForm" action="${ctx}/dashboard/traffic/protocolTypeList" method="get" class="form-search">
+ <!-- 搜索内容与操作按钮栏 -->
+ <div class="col-md-12">
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
+ </div>
+ <input id="beginDate" name="beginDate" type="text" readonly="readonly" class="form-control Wdate input-medium"
+ value="" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="end_date"/></span>
+ </div>
+ <input id="endDate" name="endDate" type="text" readonly="readonly" class="form-control Wdate input-medium"
+ value="" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+
+ <div class="pull-left">
+ <button type="button" class="btn blue" onClick="return searchList()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
+ <button type="button" class="btn btn-default" id="resetBtn" > <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
+ </div>
+ </div>
+ <!-- 搜索内容与操作按钮栏 -->
+ </form:form>
+ </div>
+ <br>
+ <div class="row">
+ <div class="col-md-12">
+ <select id="unitType" class="selectpicker select2 input-small">
+ <option value="Gbps">Gbps</option>
+ <option value="pps">pps</option>
+ <option value="linkNumber"><spring:message code="link_num"/>/S</option>
+ </select>
+ <br>
+ <div id="trend" style="height: 500px; position: relative;" >
+ <div style="position: relative;">
+ <div id="chart1" style="width:97%;height:500px;"></div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-md-12">
+ <div id="trend" style="height: 500px; position: relative;" >
+ <div style="position: relative;">
+ <div id="chart2" style="width:97%;height:500px;"></div>
+ </div>
+ </div>
+ </div>
+ </div>
+<link rel="stylesheet" href="${pageContext.request.contextPath}/static/pages/css/bandwidth.css" type="text/css" />
+<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/highcharts.js"></script>
+<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/exporting.js"></script>
+<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/series-label.js"></script>
+<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/offline-exporting.js"></script>
+<script type="text/javascript">
+$(document).ready(function(){
+ var unitType=$("#unitType").val();
+ var start=$("#beginDate").val();
+ var end=$("#endDate").val();
+ changeBandwidth(unitType,start,end);
+ changeBandwidth2(unitType,start,end);
+ $("#unitType").on("change",function(){
+ changeBandwidth($("#unitType").val(),$("#beginDate").val(),$("#endDate").val());
+ changeBandwidth2($("#unitType").val(),$("#beginDate").val(),$("#endDate").val());
+ });
+
+ setInterval(function(){
+ changeBandwidth($("#unitType").val(),$("#beginDate").val(),$("#endDate").val());
+ changeBandwidth2($("#unitType").val(),$("#beginDate").val(),$("#endDate").val());
+ },500000);// 五分钟调用一次
+
+
+ //筛选功能初始化
+ $("#resetBtn").on("click",function(){
+ $("select.selectpicker").each(function(){
+ $(this).selectpicker('val',$(this).find('option:first').val());
+ $(this).find("option").attr("selected",false);
+ $(this).find("option:first").attr("selected",true);
+ });
+ $(".Wdate").attr("value",'');
+ $("#searchForm")[0].reset();
+ });
+});
+
+function searchList(){
+ var start=$("#beginDate").val();
+ var end=$("#endDate").val();
+ changeBandwidth($("#unitType").val(),start,end);
+ changeBandwidth2($("#unitType").val(),start,end);
+}
+
+// 默认显示四条线 ip46,tcp,udp
+function rankItemChanged(addrType,transType,beginDate,endDate){
+ loading();
+ var result=null;
+ $.ajax({
+ url:"${ctx}/dashboard/traffic/bandwidthTrans",
+ type:"get",
+ data:{"addrType":addrType,"transType":transType,"beginDate":beginDate,"endDate":endDate},
+ dataType:"json",
+ async:false,
+ timeout:40000,
+ success:function (data){
+ if(data!=null){
+ result=(data)
+ }
+ closeTip();
+ },
+ error: function(data, textStatus, errorThrown){
+ closeTip();
+ },
+ complete:function(XMLHttpRequest,status){//超时设置
+ closeTip();
+ }
+ });
+ return result;
+}
+// 默认显示四条线 ip46,tcp,udp
+function rankItemChanged2(addrType,transType,beginDate,endDate){
+ loading();
+ var result2=null;
+ $.ajax({
+ url:"${ctx}/dashboard/traffic/bandwidthTransTwo",
+ type:"get",
+ data:{"addrType":addrType,"transType":transType,"beginDate":beginDate,"endDate":endDate},
+ dataType:"json",
+ async:false,
+ timeout:40000,
+ success:function (data){
+ if(data!=null){
+ result2=(data)
+ }
+ closeTip();
+ },
+ error: function(data, textStatus, errorThrown){
+ closeTip();
+ },
+ complete:function(XMLHttpRequest,status){//超时设置
+ closeTip();
+ }
+ });
+ return result2;
+}
+// 根据单位切换数据
+function changeBandwidth(unitType,beginDate,endDate){
+ var ipv4=rankItemChanged(4,null,beginDate,endDate);
+ var ipv6=rankItemChanged(6,null,beginDate,endDate);
+ var transTcp=rankItemChanged(null,6,beginDate,endDate);
+ var transUdp=rankItemChanged(null,17,beginDate,endDate);
+ var xdata=ipv4.statTime;
+ if(unitType=="Gbps"){
+ ipv4data=ipv4.gbps;
+ ipv6data=ipv6.gbps;
+ tcpdata=transTcp.gbps;
+ udpdata=transUdp.gbps;
+ }
+ if(unitType=="pps"){
+ ipv4data=ipv4.pps;
+ ipv6data=ipv6.pps;
+ tcpdata=transTcp.pps;
+ udpdata=transUdp.pps;
+
+ }
+ if(unitType=="linkNumber"){
+ ipv4data=ipv4.linkNum;
+ ipv6data=ipv6.linkNum;
+ tcpdata=transTcp.linkNum;
+ udpdata=transUdp.linkNum;
+ }
+ var series=new Array();
+ series.push({
+ name: "IPv4",
+ data: ipv4data
+ },{
+ name: "IPv6",
+ data: ipv6data
+ },{
+ name: "TCP",
+ data: tcpdata
+ },{
+ name: "UDP",
+ data: udpdata
+ });
+ showBandwidthChart("chart1",unitType,xdata,series,"Astana");
+}
+// 根据单位切换数据
+function changeBandwidth2(unitType,beginDate,endDate){
+ var ipv4=rankItemChanged2(4,null,beginDate,endDate);
+ var ipv6=rankItemChanged2(6,null,beginDate,endDate);
+ var transTcp=rankItemChanged2(null,6,beginDate,endDate);
+ var transUdp=rankItemChanged2(null,17,beginDate,endDate);
+ var xdata=ipv4.statTime;
+ if(unitType=="Gbps"){
+ ipv4data=ipv4.gbps;
+ ipv6data=ipv6.gbps;
+ tcpdata=transTcp.gbps;
+ udpdata=transUdp.gbps;
+ }
+ if(unitType=="pps"){
+ ipv4data=ipv4.pps;
+ ipv6data=ipv6.pps;
+ tcpdata=transTcp.pps;
+ udpdata=transUdp.pps;
+
+ }
+ if(unitType=="linkNumber"){
+ ipv4data=ipv4.linkNum;
+ ipv6data=ipv6.linkNum;
+ tcpdata=transTcp.linkNum;
+ udpdata=transUdp.linkNum;
+ }
+ var series=new Array();
+ series.push({
+ name: "IPv4",
+ data: ipv4data
+ },{
+ name: "IPv6",
+ data: ipv6data
+ },{
+ name: "TCP",
+ data: tcpdata
+ },{
+ name: "UDP",
+ data: udpdata
+ });
+ showBandwidthChart("chart2",unitType,xdata,series,"Alamty");
+}
+/* 网络带宽时间维度趋势图 */
+function showBandwidthChart(id,unitType,xdata,ydata,title){
+
+ var chart = Highcharts.chart(id, {
+ chart:{
+ type: 'area',
+ zoomType: 'x'
+ },
+ title: {
+ text: title
+ },
+ navigation: {
+ buttonOptions: {
+ y: -15,
+ x: 5
+ }
+ },
+ exporting: {
+ filename:'Bandwidth',
+ scale:1,
+ sourceWidth: 1280,
+ sourceHeight: 550,
+ },
+ yAxis: {
+ title: {
+ text: unitType
+ },
+ tickmarkPlacement: 'on',
+ min:0
+ },
+ legend: {
+ enabled:true
+ },
+ xAxis:{
+ type: 'datetime',
+ tickmarkPlacement: 'on',
+ dateTimeLabelFormats: {
+ millisecond: '%H:%M:%S.%L',
+ second: '%H:%M:%S',
+ minute: '%H:%M',
+ hour: '%H:%M',
+ day: '%m-%d',
+ week: '%m-%d',
+ month: '%Y-%m',
+ year: '%Y'
+ },
+ labels: {
+ rotation: -45, //倾斜的角度
+ },
+ categories: xdata,
+ },
+
+ credits:{//是否有highcharts水印
+ enabled:false
+ },
+ plotOptions: {
+ area: {
+ stacking: 'normal',
+ lineColor: '#666666',
+ lineWidth: 1,
+ marker: {
+ lineWidth: 1,
+ lineColor: '#666666'
+ }
+ }
+ },
+ series: ydata,
+
+ });
+
+}
+
+</script>
+</body>
</html>
\ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/dashboard/trafficIpActiveList.jsp b/src/main/webapp/WEB-INF/views/dashboard/trafficIpActiveList.jsp index 3821756..904dee4 100644 --- a/src/main/webapp/WEB-INF/views/dashboard/trafficIpActiveList.jsp +++ b/src/main/webapp/WEB-INF/views/dashboard/trafficIpActiveList.jsp @@ -1,173 +1,187 @@ -<%@ page contentType="text/html;charset=UTF-8"%> -<%@ include file="/WEB-INF/include/taglib.jsp"%> -<html> -<head> -<title> - <spring:message code="traffic_ip_active"></spring:message> -</title> -</head> - -<body> - -<div class="page-content"> - <div class="theme-panel hidden-xs hidden-sm"> - <button type="button" class="btn btn-default" onClick="javascript:window.location='${ctx}/dashboard/ipActiveList'"><i class="fa fa-refresh"></i></button> - <button type="button" class="btn btn-default" onClick="javascript:window.location='${ctx}/dashboard/logChart'"><i class="fa fa-history"></i></button> - </div> - <h3 class="page-title"> - <spring:message code="traffic_ipactive_hour_trend"></spring:message> - </h3> - - <div id="chart" style="width:95%;height:350px;"></div> - - <div class="col-md-12"> - <div class="portlet"> - <div class="portlet-body"> - <div class="row" > - <form:form id="searchForm" modelAttribute="entry" action="${ctx}/traffic/ipActiveList" method="post" class="form-search"> - <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/> - <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/> - </form:form> - </div> - <sys:message content="${message}"/> - <h3 class="page-title"> - <spring:message code="traffic_ipactive_hour_max"></spring:message> - </h3> - <div class="pull-right"> - <button type="button" onClick="javascript:window.location='${ctx}/dashboard/export'" class="btn btn-default"><i class="fa fa-download"> <spring:message code="export"/></i></button> - </div> - <br> - <br> - <div class="" align="center"> - <table id="contentTable"class="table table-striped table-bordered table-condensed text-nowrap"> - <thead> - <tr> - <th><spring:message code="ip_addr"/></th> - <th><spring:message code="area_id"/></th> - <th><spring:message code="link_num"/></th> - <th><spring:message code="c2s_pkt_num"/></th> - <th><spring:message code="s2c_pkt_num"/></th> - <th><spring:message code="c2s_byte_num"/></th> - <th><spring:message code="s2c_byte_num"/></th> - <th><spring:message code="stat_time"/></th> - </tr> - </thead> - <tbody> - <c:forEach var="entry" items="${ipActiveList }" varStatus="status"> - <tr> - <td>${entry.ipAddr }</td> - <td> - <c:forEach items="${fns:getDictList('AREA_NAME')}" var="dic"> - <c:choose> - <c:when test="${dic.itemCode eq entry.areaId}"> - <spring:message code="${dic.itemValue}"/> - </c:when> - </c:choose> - </c:forEach> - </td> - <td>${entry.linkNum }</td> - <td>${entry.c2sPktNum }</td> - <td>${entry.s2cPktNum }</td> - <td>${entry.c2sByteLen }</td> - <td>${entry.s2cByteLen }</td> - <td>${entry.statTime }</td> -<%-- <td><fmt:formatDate value="${entry.statTime }" pattern="yyyy-MM-dd HH:mm:ss"/></td> --%> - </tr> - </c:forEach> - </tbody> - </table> - <div class="page">${page}</div> - </div> - </div> - </div> - </div> -</div> -<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/highcharts.js"></script> -<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/exporting.js"></script> -<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/series-label.js"></script> -<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/offline-exporting.js"></script> -<%-- <script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/themes/grid.js"></script> --%> -<script type="text/javascript"> -$(document).ready(function(){ - ipActiveMinuteList() - -}); - -function showIpActiveChart(rs){ - var data=new Array(); - var xData=new Array(); - xData=rs[0].statTime; - var series=new Array(); - $(rs).each(function(i, d) { - series.push({ - name: d.ipAddr, - data: d.linkNum - }); - }) - var chart = Highcharts.chart('chart', { - exporting: { - filename:'IP-Active', - scale:1, - sourceWidth: 1280, - sourceHeight: 500, - }, - title: { - text: null - }, - xAxis: { - type:'category', - categories: xData, - title: { - text: 'time', - align:'high', - }, -// labels:{ -// formatter:function(){ -// if(this.value.length>15){ -// return '<span>'+this.value.substring(10,20)+"..."+'</span>' -// }else{ -// return this.value -// } -// }, -// } - - }, - yAxis: { - title: { - text: 'bytes' - } - }, - credits:{//是否有highcharts水印 - enabled:false - }, - legend: { - layout: 'vertical', - align: 'right', - verticalAlign: 'middle' - }, - series: series, - }); -} - //活跃IP一小时间隔五分钟统计 - function ipActiveMinuteList(){ - loading(); - $.ajax({ - url: '${ctx}/dashboard/ipActiveMinuteList', - type : "get" , - dataType:"json", - cache:false,async:true, - success:function (rs) { - showIpActiveChart(rs); - closeTip(); - }, - error: function(data, textStatus, errorThrown){ - closeTip(); -// warning_prompt("获取实时列表数据失败!",1500); - }, - - }); - - } -</script> -</body> +<%@ page contentType="text/html;charset=UTF-8"%>
+<%@ include file="/WEB-INF/include/taglib.jsp"%>
+<html>
+<head>
+<title>
+ <spring:message code="traffic_ip_active"></spring:message>
+</title>
+</head>
+
+<body>
+
+<div class="page-content">
+ <div class="theme-panel hidden-xs hidden-sm">
+ <button type="button" class="btn btn-default" onClick="javascript:window.location='${ctx}/dashboard/ipActiveList'"><i class="fa fa-refresh"></i></button>
+ <button type="button" class="btn btn-default" onClick="javascript:window.location='${ctx}/dashboard/logChart'"><i class="fa fa-history"></i></button>
+ </div>
+ <h3 class="page-title">
+ <spring:message code="traffic_ipactive_hour_trend"></spring:message>
+ </h3>
+
+ <div id="chart" style="width:95%;height:350px;"></div>
+
+ <div class="col-md-12">
+ <div class="portlet">
+ <div class="portlet-body">
+ <div class="row" >
+ <form:form id="searchForm" modelAttribute="entry" action="${ctx}/traffic/ipActiveList" method="post" class="form-search">
+ <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
+ <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+ </form:form>
+ </div>
+ <sys:message content="${message}"/>
+ <h3 class="page-title">
+ <spring:message code="traffic_ipactive_hour_max"></spring:message>
+ </h3>
+ <div class="pull-right">
+ <button type="button" onClick="javascript:window.location='${ctx}/dashboard/export'" class="btn btn-default"><i class="fa fa-download"> <spring:message code="export"/></i></button>
+ </div>
+ <br>
+ <br>
+ <div class="" align="center">
+ <table id="contentTable"class="table table-striped table-bordered table-condensed text-nowrap">
+ <thead>
+ <tr>
+ <th><spring:message code="ip_addr"/></th>
+ <th><spring:message code="area_id"/></th>
+ <th><spring:message code="link_num"/></th>
+ <th><spring:message code="c2s_pkt_num"/></th>
+ <th><spring:message code="s2c_pkt_num"/></th>
+ <th><spring:message code="c2s_byte_num"/></th>
+ <th><spring:message code="s2c_byte_num"/></th>
+ <th><spring:message code="stat_time"/></th>
+ </tr>
+ </thead>
+ <tbody>
+ <c:forEach var="entry" items="${ipActiveList }" varStatus="status">
+ <tr>
+ <td>${entry.ipAddr }</td>
+ <td>
+ <c:forEach items="${fns:getDictList('AREA_NAME')}" var="dic">
+ <c:choose>
+ <c:when test="${dic.itemCode eq entry.areaId}">
+ <spring:message code="${dic.itemValue}"/>
+ </c:when>
+ </c:choose>
+ </c:forEach>
+ </td>
+ <td>${entry.linkNum }</td>
+ <td>${entry.c2sPktNum }</td>
+ <td>${entry.s2cPktNum }</td>
+ <td>${entry.c2sByteLen }</td>
+ <td>${entry.s2cByteLen }</td>
+ <td>${entry.statTime }</td>
+<%-- <td><fmt:formatDate value="${entry.statTime }" pattern="yyyy-MM-dd HH:mm:ss"/></td> --%>
+ </tr>
+ </c:forEach>
+ </tbody>
+ </table>
+ <div class="page">${page}</div>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
+<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/highcharts.js"></script>
+<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/exporting.js"></script>
+<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/series-label.js"></script>
+<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/offline-exporting.js"></script>
+<%-- <script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/themes/grid.js"></script> --%>
+<script type="text/javascript">
+$(document).ready(function(){
+ ipActiveMinuteList()
+
+});
+
+function showIpActiveChart(rs){
+ var data=new Array();
+ var xData=new Array();
+ xData=rs[0].statTime;
+ var series=new Array();
+ $(rs).each(function(i, d) {
+ series.push({
+ name: d.ipAddr,
+ data: d.linkNum
+ });
+ })
+ var chart = Highcharts.chart('chart', {
+ chart:{
+ type: 'area',
+ },
+ exporting: {
+ filename:'IP-Active',
+ scale:1,
+ sourceWidth: 1280,
+ sourceHeight: 500,
+ },
+ title: {
+ text: null
+ },
+ xAxis: {
+ type:'category',
+ categories: xData,
+ title: {
+ text: 'time',
+ align:'high',
+ },
+ plotOptions: {
+ area: {
+ stacking: 'normal',
+ lineColor: '#666666',
+ lineWidth: 1,
+ marker: {
+ lineWidth: 1,
+ lineColor: '#666666'
+ }
+ }
+ },
+// labels:{
+// formatter:function(){
+// if(this.value.length>15){
+// return '<span>'+this.value.substring(10,20)+"..."+'</span>'
+// }else{
+// return this.value
+// }
+// },
+// }
+
+ },
+ yAxis: {
+ title: {
+ text: 'bytes'
+ }
+ },
+ credits:{//是否有highcharts水印
+ enabled:false
+ },
+ legend: {
+ layout: 'vertical',
+ align: 'right',
+ verticalAlign: 'middle'
+ },
+ series: series,
+ });
+}
+ //活跃IP一小时间隔五分钟统计
+ function ipActiveMinuteList(){
+ loading();
+ $.ajax({
+ url: '${ctx}/dashboard/ipActiveMinuteList',
+ type : "get" ,
+ dataType:"json",
+ cache:false,async:true,
+ success:function (rs) {
+ showIpActiveChart(rs);
+ closeTip();
+ },
+ error: function(data, textStatus, errorThrown){
+ closeTip();
+// warning_prompt("获取实时列表数据失败!",1500);
+ },
+
+ });
+
+ }
+</script>
+</body>
</html>
\ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/dashboard/trafficProtocolTypeList.jsp b/src/main/webapp/WEB-INF/views/dashboard/trafficProtocolTypeList.jsp index 35f33be..406ade8 100644 --- a/src/main/webapp/WEB-INF/views/dashboard/trafficProtocolTypeList.jsp +++ b/src/main/webapp/WEB-INF/views/dashboard/trafficProtocolTypeList.jsp @@ -40,7 +40,7 @@ <span class="selectpicker form-control" ><spring:message code="end_date"/></span>
</div>
<input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control Wdate input-medium"
- value="${searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ value="${searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
</div>
</div>
diff --git a/src/main/webapp/WEB-INF/views/home.jsp b/src/main/webapp/WEB-INF/views/home.jsp index 999eca8..6e44d0a 100644 --- a/src/main/webapp/WEB-INF/views/home.jsp +++ b/src/main/webapp/WEB-INF/views/home.jsp @@ -213,6 +213,21 @@ function refreshCache(cacheName){ } }) } +function initSpoofingIp(){ + $.ajax({ + type:'post', + url:'${ctx}/cfg/dnsIp/initSpoofingIp', + dataType:'text', + async:false, + success:function(data,textStatus){ + if(data=="success"){ + alert("success"); + }else{ + alert(data); + } + } + }) +} </script> <style type="text/css"> .bodyhi{ @@ -332,6 +347,9 @@ background:#3d3d3d; <li> <a href="javascript:refreshCache('asnNoCache')">refresh ASN no</a> </li> + <li> + <a href="javascript:initSpoofingIp()">Init Spoofing Ip</a> + </li> </ul> </li> </c:if> diff --git a/src/main/webapp/WEB-INF/views/log/manipulation/dkBehaviorList.jsp b/src/main/webapp/WEB-INF/views/log/manipulation/dkBehaviorList.jsp index d9afa66..081cf4c 100644 --- a/src/main/webapp/WEB-INF/views/log/manipulation/dkBehaviorList.jsp +++ b/src/main/webapp/WEB-INF/views/log/manipulation/dkBehaviorList.jsp @@ -1,421 +1,421 @@ -<%@ page contentType="text/html;charset=UTF-8"%> -<%@ include file="/WEB-INF/include/taglib.jsp"%> -<html> -<head> - -<script type="text/javascript"> -$(document).ready(function(){ - - //reset - $("#resetBtn").on("click",function(){ - $("select.selectpicker").each(function(){ - $(this).selectpicker('val',$(this).find('option:first').val()); - $(this).find("option").attr("selected",false); - $(this).find("option:first").attr("selected",true); - }); - $(".Wdate").attr("value",''); - $(':input','#searchForm') - .not(':button,:submit,:reset,:hidden') - .attr("value",''); - $("#searchForm")[0].reset(); - }); - //筛选功能 - filterActionInit(); - - //异步获取策略ip相关信息 - $("span[id^=open]").click(function(){ - var openId=$(this).attr("id"); - var closeId=$(this).attr("id").replace("open","close"); - var index=$(this).attr("id").replace("open",""); - $("#"+openId).hide(); - $("#"+closeId).show(); - var compileId=$(this).attr("compileId"); -// var cfgId=$(this).attr("cfgId"); - if($("#"+openId).parent().parent().next("tr").hasClass("child")){ - $("#"+openId).parent().parent().next("tr").show(); - }else{ - $.ajax({ - type:'post', - async:false, - url:'${ctx}/app/ajaxAppPolicyIpList', - data:{"compileId":compileId,"index":index}, - dataType:"html", - success:function(data){ - var subTab="<tr class='child'>"+ - "<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>"; - var html=""; - html+="<div class='row'>"; - html = html+data; - subTab=subTab+html; - subTab+="</td>"; - subTab+="</tr>"; - $("#"+openId).parent().parent().after(subTab); - $("div[name='tabTitle"+index+"']").eq(0).click(); - } - }); - } - - }); - - $("span[id^=close]").on("click",function(){ - var closeId=$(this).attr("id"); - var openId=$(this).attr("id").replace("close","open"); - $("#"+closeId).hide(); - $("#"+openId).show(); - $("#"+closeId).parent().parent().next("tr").hide(); - }); -}); - -</script> -</head> -<body> - -<div class="page-content"> - <div class="theme-panel hidden-xs hidden-sm"> - </div> - <h3 class="page-title"> - <c:if test="${log.functionId == 407}"> - <spring:message code="basic_protocol"/> - </c:if> - <c:if test="${log.functionId == 408}"> - <spring:message code="encrypted_tunnel_behavior"/> - </c:if> - <c:if test="${log.functionId == 63}"> - <spring:message code="social_app_control"/> - </c:if> - </h3> - - <h5 class="page-header"></h5> - <div class="col-md-12"> - <div class="portlet"> - <div class="portlet-body"> - <div class="row" > - <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/manipulation/dkbehaviorLogs" method="post" class="form-search"> - <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/> - <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/> - <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/> - <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/> - <!-- 筛选按钮展开状态--> - <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/> - - <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/> - - <!-- 搜索内容与操作按钮栏 --> - <div class="col-md-12"> - <div class="pull-left"> - <form:select path="service" class="selectpicker select2 input-small"> - <%-- <form:option value=""><spring:message code="action"/></form:option> --%> - <c:forEach items="${serviceList}" var="service" - varStatus="satus"> - <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict"> - <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }"> - <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option> - </c:if> - </c:forEach> - </c:forEach> - </form:select> - </div> - - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="begin_date"/></span> - </div> - <input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" class="form-control input-medium Wdate " - value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="end_date"/></span> - </div> - <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate " - value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - - <div class="pull-left"> - <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button> - <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button> - <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button> - </div> - - <div class="pull-right"> - <a class="btn btn-icon-only btn-default setfields tooltips" - data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;"> - <i class="icon-wrench"></i> - </a> - </div> - </div> - - <!-- 筛选搜索内容栏默认隐藏--> - <div class="col-md-12 filter-action-select-panle hide" > - <div class="row"> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="transport_layer_protocol"/>:</label> - <c:set var="select"><spring:message code='select'/></c:set> - <form:select path="transProto" class="selectpicker form-control" > - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict"> - <form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option> - </c:forEach> - </form:select> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="direction"/>:</label> - <form:select path="direction" class="selectpicker select2 form-control"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="dict"> - <form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option> - </c:forEach> - </form:select> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="entrance"/>:</label> - <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" > - <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option> - </c:forEach> - </form:select> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clj_ip"/>:</label> - <input name="capIp" type="text" class="form-control" value="${log.capIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clientip"/>:</label> - <input id="sIp" name="sIp" class="form-control" type="text" value="${log.sIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="serverip"/>:</label> - <input id="dIp" name="dIp" class="form-control" type="text" value="${log.dIp}"/> - </div> - </div> - </div> - <div class="row"> - <div class="col-md-2"> - <label><spring:message code="cfg_id"></spring:message>:</label> - <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/> - </div> - </div> - </div> - <!-- /筛选搜索内容栏 结束--> - </form:form> - </div> - <sys:message content="${message}"/> - <div class="table-responsive"> - <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb"> - <thead> - <tr> - <th><spring:message code="log"/></th> - <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th> - <th class="sort-column service" isVisible="false"><spring:message code="action"/></th> - <th class="sort-column found_time"><spring:message code="found_time"/></th> - <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th> - - <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th> - - <th class="sort-column label_proto_id"><spring:message code='basic_protocol'/></th> - <th class="sort-column label_proto_source" isVisible="false"><spring:message code='label_proto_source'/></th> - <th class="sort-column label_behav_id"><spring:message code='behaviour_type'/></th> - <th class="sort-column label_behav_source" isVisible="false"><spring:message code='label_behav_source'/></th> - <th class="sort-column label_app_id"><spring:message code='social_app'/></th> - <th class="sort-column label_app_source" isVisible="false"><spring:message code='label_app_source'/></th> - <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th> - <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th> - <th class="sort-column addr_type"><spring:message code='addr_type'/></th> - <th class="sort-column d_ip"><spring:message code="server_ip"/></th> - <th class="sort-column s_ip"><spring:message code="client_ip"/></th> - <th class="sort-column d_port"><spring:message code="server_port"/></th> - <th class="sort-column s_port"><spring:message code="client_port"/></th> - - <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th> - <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th> - <th class="sort-column encap_type"><spring:message code="encap_type"/></th> - <th class="sort-column direction"><spring:message code="direction"/></th> - <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th> - <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th> - <th class="sort-column stream_dir"><spring:message code="stream_type"/></th> - - <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th> - <th class="sort-column server_locate"><spring:message code='server_locate'/></th> - <th class="sort-column client_locate"><spring:message code='client_locate'/></th> - <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th> - <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th> - <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th> - <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th> - <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th> - <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if> - </tr> - </thead> - <tbody> - <c:forEach var="log" items="${page.list }" varStatus="status"> - <tr> - <td> -<%-- <span id="open${status.index}" class="log-open-cfg" compileId="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span> - --%> <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a> - </td> - <td>${log.cfgId }</td> - <td> - <c:set var="actions">${log.action }</c:set> - <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict"> - <c:if test="${dict.itemCode eq log.action}"> - <c:set var="actions">${dict.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${actions}"/> - </td> - <td>${log.foundTime }</td> - <td>${log.recvTime }</td> - - <td> - <c:set var="entrances">${log.entranceId }</c:set> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> - <c:if test="${dic.itemCode eq log.entranceId}"> - <c:set var="entrances">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${entrances}"/> - </td> - - <td> - <c:set var="labelProtoIds">${log.labelProtoId }</c:set> - <c:forEach items="${protocolList}" var="dict"> - <c:if test="${dict.code eq log.labelProtoId}"> - <c:set var="labelProtoIds">${dict.item}</c:set> - </c:if> - </c:forEach> - <spring:message code="${labelProtoIds}"/> - </td> - <td> - ${log.labelProtoSource} - </td> - <td> - <c:set var="labelBehavIds">${log.labelBehavId }</c:set> - <c:forEach items="${behaviorList}" var="dict"> - <c:if test="${dict.code eq log.labelBehavId}"> - <c:set var="labelBehavIds">${dict.item}</c:set> - </c:if> - </c:forEach> - <spring:message code="${labelBehavIds}"/> - </td> - <td> - ${log.labelBehavSource} - </td> - <td> - <c:set var="labelAppIds">${log.labelAppId }</c:set> - <c:forEach items="${appList}" var="dict"> - <c:if test="${dict.code eq log.labelAppId}"> - <c:set var="labelAppIds">${dict.item}</c:set> - </c:if> - </c:forEach> - <spring:message code="${labelAppIds}"/> - </td> - <td> - ${log.labelAppSource} - </td> - <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td> - <td> - <c:set var="transProtos">${log.transProto }</c:set> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic"> - <c:if test="${dic.itemCode eq log.transProto}"> - <c:set var="transProtos">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${transProtos}"/> - </td> - <td> - <c:set var="addrTypes">${log.addrType }</c:set> - <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic"> - <c:if test="${log.addrType==dic.itemCode}"> - <c:set var="addrTypes">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${addrTypes}"/> - </td> - <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td> - <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td> - <td>${log.dPort }</td> - <td>${log.sPort }</td> - <td> - <c:set var="deviceIds">${log.deviceId }</c:set> - <c:forEach items="${fns:getDictList('DEVICE')}" var="device"> - <c:if test="${device.itemCode eq log.deviceId}"> - <c:set var="deviceIds">${device.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${deviceIds}"/> - </td> - <td> - <c:set var="linkIds">${log.linkId }</c:set> - <c:forEach items="${fns:getDictList('LINK')}" var="link"> - <c:if test="${link.itemCode eq log.linkId}"> - <c:set var="linkIds">${link.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${linkIds}"/> - </td> - <td> - <c:set var="encapTypes">${log.encapType }</c:set> - <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType"> - <c:if test="${encapType.itemCode eq log.encapType}"> - <c:set var="encapTypes">${encapType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${encapTypes}"/> - </td> - <td> - <c:set var="directions">${log.direction }</c:set> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction"> - <c:if test="${direction.itemCode eq log.direction}"> - <c:set var="directions">${direction.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${directions}"/> - </td> - <td>${log.innerSmac }</td> - <td>${log.innerDmac }</td> - <td> - <c:set var="streamDirs">${log.streamDir }</c:set> - <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType"> - <c:if test="${streamType.itemCode eq log.streamDir}"> - <c:set var="streamDirs">${streamType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${streamDirs}"/> - </td> - <td>${log.addrList }</td> - <td>${log.serverLocate}</td> - <td>${log.clientLocate}</td> - <td>${log.sAsn}</td> - <td>${log.dAsn}</td> - <td>${log.sSubscribeId}</td> - <td>${log.dSubscribeId}</td> - <td>${log.userRegion}</td> - <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if> - </tr> - </c:forEach> - </tbody> - </table> - <div class="page">${page}</div> - </div> - </div> - </div> - </div> - </div> -</body> -</html> +<%@ page contentType="text/html;charset=UTF-8"%>
+<%@ include file="/WEB-INF/include/taglib.jsp"%>
+<html>
+<head>
+
+<script type="text/javascript">
+$(document).ready(function(){
+
+ //reset
+ $("#resetBtn").on("click",function(){
+ $("select.selectpicker").each(function(){
+ $(this).selectpicker('val',$(this).find('option:first').val());
+ $(this).find("option").attr("selected",false);
+ $(this).find("option:first").attr("selected",true);
+ });
+ $(".Wdate").attr("value",'');
+ $(':input','#searchForm')
+ .not(':button,:submit,:reset,:hidden')
+ .attr("value",'');
+ $("#searchForm")[0].reset();
+ });
+ //筛选功能
+ filterActionInit();
+
+ //异步获取策略ip相关信息
+ $("span[id^=open]").click(function(){
+ var openId=$(this).attr("id");
+ var closeId=$(this).attr("id").replace("open","close");
+ var index=$(this).attr("id").replace("open","");
+ $("#"+openId).hide();
+ $("#"+closeId).show();
+ var compileId=$(this).attr("compileId");
+// var cfgId=$(this).attr("cfgId");
+ if($("#"+openId).parent().parent().next("tr").hasClass("child")){
+ $("#"+openId).parent().parent().next("tr").show();
+ }else{
+ $.ajax({
+ type:'post',
+ async:false,
+ url:'${ctx}/app/ajaxAppPolicyIpList',
+ data:{"compileId":compileId,"index":index},
+ dataType:"html",
+ success:function(data){
+ var subTab="<tr class='child'>"+
+ "<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>";
+ var html="";
+ html+="<div class='row'>";
+ html = html+data;
+ subTab=subTab+html;
+ subTab+="</td>";
+ subTab+="</tr>";
+ $("#"+openId).parent().parent().after(subTab);
+ $("div[name='tabTitle"+index+"']").eq(0).click();
+ }
+ });
+ }
+
+ });
+
+ $("span[id^=close]").on("click",function(){
+ var closeId=$(this).attr("id");
+ var openId=$(this).attr("id").replace("close","open");
+ $("#"+closeId).hide();
+ $("#"+openId).show();
+ $("#"+closeId).parent().parent().next("tr").hide();
+ });
+});
+
+</script>
+</head>
+<body>
+
+<div class="page-content">
+ <div class="theme-panel hidden-xs hidden-sm">
+ </div>
+ <h3 class="page-title">
+ <c:if test="${log.functionId == 407}">
+ <spring:message code="basic_protocol"/>
+ </c:if>
+ <c:if test="${log.functionId == 408}">
+ <spring:message code="encrypted_tunnel_behavior"/>
+ </c:if>
+ <c:if test="${log.functionId == 63}">
+ <spring:message code="social_app_control"/>
+ </c:if>
+ </h3>
+
+ <h5 class="page-header"></h5>
+ <div class="col-md-12">
+ <div class="portlet">
+ <div class="portlet-body">
+ <div class="row" >
+ <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/manipulation/dkbehaviorLogs" method="post" class="form-search">
+ <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
+ <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+ <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/>
+ <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/>
+ <!-- 筛选按钮展开状态-->
+ <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/>
+
+ <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/>
+
+ <!-- 搜索内容与操作按钮栏 -->
+ <div class="col-md-12">
+ <div class="pull-left">
+ <form:select path="service" class="selectpicker select2 input-small">
+ <%-- <form:option value=""><spring:message code="action"/></form:option> --%>
+ <c:forEach items="${serviceList}" var="service"
+ varStatus="satus">
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
+ <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }">
+ <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:if>
+ </c:forEach>
+ </c:forEach>
+ </form:select>
+ </div>
+
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
+ </div>
+ <input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
+ value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="end_date"/></span>
+ </div>
+ <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
+ value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+
+ <div class="pull-left">
+ <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
+ <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
+ <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button>
+ </div>
+
+ <div class="pull-right">
+ <a class="btn btn-icon-only btn-default setfields tooltips"
+ data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
+ <i class="icon-wrench"></i>
+ </a>
+ </div>
+ </div>
+
+ <!-- 筛选搜索内容栏默认隐藏-->
+ <div class="col-md-12 filter-action-select-panle hide" >
+ <div class="row">
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="transport_layer_protocol"/>:</label>
+ <c:set var="select"><spring:message code='select'/></c:set>
+ <form:select path="transProto" class="selectpicker form-control" >
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict">
+ <form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="direction"/>:</label>
+ <form:select path="direction" class="selectpicker select2 form-control">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="dict">
+ <form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="entrance"/>:</label>
+ <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" >
+ <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clj_ip"/>:</label>
+ <input name="capIp" type="text" class="form-control" value="${log.capIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clientip"/>:</label>
+ <input id="sIp" name="sIp" class="form-control" type="text" value="${log.sIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="serverip"/>:</label>
+ <input id="dIp" name="dIp" class="form-control" type="text" value="${log.dIp}"/>
+ </div>
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-md-2">
+ <label><spring:message code="cfg_id"></spring:message>:</label>
+ <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/>
+ </div>
+ </div>
+ </div>
+ <!-- /筛选搜索内容栏 结束-->
+ </form:form>
+ </div>
+ <sys:message content="${message}"/>
+ <div class="table-responsive">
+ <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb">
+ <thead>
+ <tr>
+ <th><spring:message code="log"/></th>
+ <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
+ <th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
+ <th class="sort-column found_time"><spring:message code="found_time"/></th>
+ <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
+
+ <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th>
+
+ <th class="sort-column label_proto_id"><spring:message code='basic_protocol'/></th>
+ <th class="sort-column label_proto_source" isVisible="false"><spring:message code='label_proto_source'/></th>
+ <th class="sort-column label_behav_id"><spring:message code='behaviour_type'/></th>
+ <th class="sort-column label_behav_source" isVisible="false"><spring:message code='label_behav_source'/></th>
+ <th class="sort-column label_app_id"><spring:message code='social_app'/></th>
+ <th class="sort-column label_app_source" isVisible="false"><spring:message code='label_app_source'/></th>
+ <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th>
+ <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th>
+ <th class="sort-column addr_type"><spring:message code='addr_type'/></th>
+ <th class="sort-column d_ip"><spring:message code="server_ip"/></th>
+ <th class="sort-column s_ip"><spring:message code="client_ip"/></th>
+ <th class="sort-column d_port"><spring:message code="server_port"/></th>
+ <th class="sort-column s_port"><spring:message code="client_port"/></th>
+
+ <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th>
+ <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th>
+ <th class="sort-column encap_type"><spring:message code="encap_type"/></th>
+ <th class="sort-column direction"><spring:message code="direction"/></th>
+ <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th>
+ <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th>
+ <th class="sort-column stream_dir"><spring:message code="stream_type"/></th>
+
+ <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
+ <th class="sort-column server_locate"><spring:message code='server_locate'/></th>
+ <th class="sort-column client_locate"><spring:message code='client_locate'/></th>
+ <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
+ <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
+ <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
+ <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
+ <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
+ <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
+ </tr>
+ </thead>
+ <tbody>
+ <c:forEach var="log" items="${page.list }" varStatus="status">
+ <tr>
+ <td>
+<%-- <span id="open${status.index}" class="log-open-cfg" compileId="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span>
+ --%> <a href="javascript:void(0)" name="viewLogInfo" url="${ctx}/app/ajaxAppPolicyIpList" compileId="${log.cfgId }" ><i class="icon-book-open"></i></a>
+ </td>
+ <td>${log.cfgId }</td>
+ <td>
+ <c:set var="actions">${log.action }</c:set>
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict">
+ <c:if test="${dict.itemCode eq log.action}">
+ <c:set var="actions">${dict.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${actions}"/>
+ </td>
+ <td>${log.foundTime }</td>
+ <td>${log.recvTime }</td>
+
+ <td>
+ <c:set var="entrances">${log.entranceId }</c:set>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
+ <c:if test="${dic.itemCode eq log.entranceId}">
+ <c:set var="entrances">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${entrances}"/>
+ </td>
+
+ <td>
+ <c:set var="labelProtoIds">${log.labelProtoId }</c:set>
+ <c:forEach items="${protocolList}" var="dict">
+ <c:if test="${dict.code eq log.labelProtoId}">
+ <c:set var="labelProtoIds">${dict.item}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${labelProtoIds}"/>
+ </td>
+ <td>
+ ${log.labelProtoSource}
+ </td>
+ <td>
+ <c:set var="labelBehavIds">${log.labelBehavId }</c:set>
+ <c:forEach items="${behaviorList}" var="dict">
+ <c:if test="${dict.code eq log.labelBehavId}">
+ <c:set var="labelBehavIds">${dict.item}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${labelBehavIds}"/>
+ </td>
+ <td>
+ ${log.labelBehavSource}
+ </td>
+ <td>
+ <c:set var="labelAppIds">${log.labelAppId }</c:set>
+ <c:forEach items="${appList}" var="dict">
+ <c:if test="${dict.code eq log.labelAppId}">
+ <c:set var="labelAppIds">${dict.item}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${labelAppIds}"/>
+ </td>
+ <td>
+ ${log.labelAppSource}
+ </td>
+ <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td>
+ <td>
+ <c:set var="transProtos">${log.transProto }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic">
+ <c:if test="${dic.itemCode eq log.transProto}">
+ <c:set var="transProtos">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${transProtos}"/>
+ </td>
+ <td>
+ <c:set var="addrTypes">${log.addrType }</c:set>
+ <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic">
+ <c:if test="${log.addrType==dic.itemCode}">
+ <c:set var="addrTypes">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${addrTypes}"/>
+ </td>
+ <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td>
+ <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td>
+ <td>${log.dPort }</td>
+ <td>${log.sPort }</td>
+ <td>
+ <c:set var="deviceIds">${log.deviceId }</c:set>
+ <c:forEach items="${fns:getDictList('DEVICE')}" var="device">
+ <c:if test="${device.itemCode eq log.deviceId}">
+ <c:set var="deviceIds">${device.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${deviceIds}"/>
+ </td>
+ <td>
+ <c:set var="linkIds">${log.linkId }</c:set>
+ <c:forEach items="${fns:getDictList('LINK')}" var="link">
+ <c:if test="${link.itemCode eq log.linkId}">
+ <c:set var="linkIds">${link.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${linkIds}"/>
+ </td>
+ <td>
+ <c:set var="encapTypes">${log.encapType }</c:set>
+ <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType">
+ <c:if test="${encapType.itemCode eq log.encapType}">
+ <c:set var="encapTypes">${encapType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${encapTypes}"/>
+ </td>
+ <td>
+ <c:set var="directions">${log.direction }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction">
+ <c:if test="${direction.itemCode eq log.direction}">
+ <c:set var="directions">${direction.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${directions}"/>
+ </td>
+ <td>${log.innerSmac }</td>
+ <td>${log.innerDmac }</td>
+ <td>
+ <c:set var="streamDirs">${log.streamDir }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType">
+ <c:if test="${streamType.itemCode eq log.streamDir}">
+ <c:set var="streamDirs">${streamType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${streamDirs}"/>
+ </td>
+ <td>${log.addrList }</td>
+ <td>${log.serverLocate}</td>
+ <td>${log.clientLocate}</td>
+ <td>${log.sAsn}</td>
+ <td>${log.dAsn}</td>
+ <td>${log.sSubscribeId}</td>
+ <td>${log.dSubscribeId}</td>
+ <td>${log.userRegion}</td>
+ <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if>
+ </tr>
+ </c:forEach>
+ </tbody>
+ </table>
+ <div class="page">${page}</div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+</body>
+</html>
diff --git a/src/main/webapp/WEB-INF/views/log/ntc/appList.jsp b/src/main/webapp/WEB-INF/views/log/ntc/appList.jsp index eb1c6f6..f68257f 100644 --- a/src/main/webapp/WEB-INF/views/log/ntc/appList.jsp +++ b/src/main/webapp/WEB-INF/views/log/ntc/appList.jsp @@ -1,370 +1,370 @@ -<%@ page contentType="text/html;charset=UTF-8"%> -<%@ include file="/WEB-INF/include/taglib.jsp"%> -<html> -<head> - -<script type="text/javascript"> -$(document).ready(function(){ - //筛选功能 - filterActionInit(); - //reset - $("#resetBtn").on("click",function(){ - $("select.selectpicker").each(function(){ - $(this).selectpicker('val',$(this).find('option:first').val()); - $(this).find("option").attr("selected",false); - $(this).find("option:first").attr("selected",true); - }); - $(".Wdate").attr("value",''); - $(':input','#searchForm') - .not(':button,:submit,:reset,:hidden') - .attr("value",''); - $("#searchForm")[0].reset(); - }); - -}); - -</script> -</head> -<body> - -<div class="page-content"> - <div class="theme-panel hidden-xs hidden-sm"> - </div> - <h3 class="page-title"> - <spring:message code="social_app_control"/> - </h3> - - <h5 class="page-header"></h5> - <div class="col-md-12"> - <div class="portlet"> - <div class="portlet-body"> - <div class="row" > - <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/ntcAppLogs" method="post" class="form-search"> - <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/> - <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/> - <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/> - <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/> - <!-- 筛选按钮展开状态--> - <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/> - - <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/> - - <!-- 搜索内容与操作按钮栏 --> - <div class="col-md-12"> - <div class="pull-left"> - <form:select path="service" class="selectpicker select2 input-small"> - <form:option value=""><spring:message code="action"/></form:option> - <c:forEach items="${serviceList}" var="service" - varStatus="satus"> - <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict"> - <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }"> - <form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option> - </c:if> - </c:forEach> - </c:forEach> - </form:select> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="begin_date"/></span> - </div> - <input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" class="form-control input-medium Wdate " - value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="end_date"/></span> - </div> - <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate " - value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - - <div class="pull-left"> - <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button> - <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button> - <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button> - </div> - - <div class="pull-right"> - <a class="btn btn-icon-only btn-default setfields tooltips" - data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;"> - <i class="icon-wrench"></i> - </a> - </div> - </div> - - <!-- 筛选搜索内容栏默认隐藏--> - <div class="col-md-12 filter-action-select-panle hide" > - <div class="row"> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="transport_layer_protocol"/>:</label> - <c:set var="select"><spring:message code='select'/></c:set> - <form:select path="transProto" class="selectpicker form-control" > - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict"> - <form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option> - </c:forEach> - </form:select> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="direction"/>:</label> - <form:select path="direction" class="selectpicker select2 form-control"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="dict"> - <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option> - </c:forEach> - </form:select> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="entrance"/>:</label> - <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" > - <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option> - </c:forEach> - </form:select> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clj_ip"/>:</label> - <input id=capIp name="capIp" class="form-control" type="text" value="${log.capIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clientip"/>:</label> - <input id="sIp" name="sIp" class="form-control" type="text" value="${log.sIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="serverip"/>:</label> - <input id="dIp" name="dIp" class="form-control" type="text" value="${log.dIp}"/> - </div> - </div> - </div> - <div class="row"> - <div class="col-md-2"> - <label><spring:message code="cfg_id"></spring:message>:</label> - <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/> - </div> - </div> - </div> - <!-- /筛选搜索内容栏 结束--> - </form:form> - </div> - <sys:message content="${message}"/> - <div class="table-responsive"> - <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb"> - <thead> - <tr> - <th><spring:message code="log"/></th> - <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th> - <th class="sort-column service" isVisible="false"><spring:message code="action"/></th> - <th class="sort-column found_time"><spring:message code="found_time"/></th> - <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th> - - <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th> - - <th class="sort-column label_proto_id"><spring:message code='basic_protocol'/></th> - <th class="sort-column label_proto_source"><spring:message code='label_proto_source'/></th> - <th class="sort-column label_behav_id"><spring:message code='behaviour_type'/></th> - <th class="sort-column label_behav_source"><spring:message code='label_behav_source'/></th> - <th class="sort-column label_app_id"><spring:message code='social_app'/></th> - <th class="sort-column label_app_source"><spring:message code='label_app_source'/></th> - <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th> - - <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th> - <th class="sort-column addr_type"><spring:message code='addr_type'/></th> - <th class="sort-column d_ip"><spring:message code="server_ip"/></th> - <th class="sort-column s_ip"><spring:message code="client_ip"/></th> - <th class="sort-column d_port"><spring:message code="server_port"/></th> - <th class="sort-column s_port"><spring:message code="client_port"/></th> - - <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th> - <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th> - <th class="sort-column encap_type"><spring:message code="encap_type"/></th> - <th class="sort-column direction"><spring:message code="direction"/></th> - <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th> - <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th> - <th class="sort-column stream_dir"><spring:message code="stream_type"/></th> - - <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th> - <th class="sort-column server_locate"><spring:message code='server_locate'/></th> - <th class="sort-column client_locate"><spring:message code='client_locate'/></th> - <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th> - <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th> - <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th> - <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th> - <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th> - <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if> - </tr> - </thead> - <tbody> - <c:forEach var="log" items="${page.list }" varStatus="status"> - <tr> - <td> - <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a> - </td> - <td>${log.cfgId }</td> - <td> - <c:set var="actions">${log.action }</c:set> - <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict"> - <c:if test="${dict.itemCode eq log.action}"> - <c:set var="actions">${dict.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${actions}"/> - </td> - <td>${log.foundTime }</td> - <td>${log.recvTime }</td> - - <td> - <c:set var="entrances">${log.entranceId }</c:set> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> - <c:if test="${dic.itemCode eq log.entranceId}"> - <c:set var="entrances">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${entrances}"/> - </td> - <td> - <c:set var="labelProtoIds">${log.labelProtoId }</c:set> - <c:forEach items="${protocolList}" var="dict"> - <c:if test="${dict.code eq log.labelProtoId}"> - <c:set var="labelProtoIds">${dict.item}</c:set> - </c:if> - </c:forEach> - <spring:message code="${labelProtoIds}"/> - </td> - <td> - ${log.labelProtoSource} - </td> - <td> - <c:set var="labelBehavIds">${log.labelBehavId }</c:set> - <c:forEach items="${behaviorList}" var="dict"> - <c:if test="${dict.code eq log.labelBehavId}"> - <c:set var="labelBehavIds">${dict.item}</c:set> - </c:if> - </c:forEach> - <spring:message code="${labelBehavIds}"/> - </td> - <td> - ${log.labelBehavSource} - </td> - <td> - <c:set var="labelAppIds">${log.labelAppId }</c:set> - <c:forEach items="${appList}" var="dict"> - <c:if test="${dict.code eq log.labelAppId}"> - <c:set var="labelAppIds">${dict.item}</c:set> - </c:if> - </c:forEach> - <spring:message code="${labelAppIds}"/> - </td> - <td> - ${log.labelAppSource} - </td> - <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td> - <td> - <c:set var="transProtos">${log.transProto }</c:set> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic"> - <c:if test="${dic.itemCode eq log.transProto}"> - <c:set var="transProtos">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${transProtos}"/> - </td> - <td> - <c:set var="addrTypes">${log.addrType }</c:set> - <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic"> - <c:if test="${log.addrType==dic.itemCode}"> - <c:set var="addrTypes">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${addrTypes}"/> - </td> - <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td> - <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td> - <td>${log.dPort }</td> - <td>${log.sPort }</td> - - <td> - <c:set var="deviceIds">${log.deviceId }</c:set> - <c:forEach items="${fns:getDictList('DEVICE')}" var="device"> - <c:if test="${device.itemCode eq log.deviceId}"> - <c:set var="deviceIds">${device.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${deviceIds}"/> - </td> - <td> - <c:set var="linkIds">${log.linkId }</c:set> - <c:forEach items="${fns:getDictList('LINK')}" var="link"> - <c:if test="${link.itemCode eq log.linkId}"> - <c:set var="linkIds">${link.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${linkIds}"/> - </td> - <td> - <c:set var="encapTypes">${log.encapType }</c:set> - <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType"> - <c:if test="${encapType.itemCode eq log.encapType}"> - <c:set var="encapTypes">${encapType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${encapTypes}"/> - </td> - <td> - <c:set var="directions">${log.direction }</c:set> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction"> - <c:if test="${direction.itemCode eq log.direction}"> - <c:set var="directions">${direction.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${directions}"/> - </td> - <td>${log.innerSmac }</td> - <td>${log.innerDmac }</td> - <td> - <c:set var="streamDirs">${log.streamDir }</c:set> - <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType"> - <c:if test="${streamType.itemCode eq log.streamDir}"> - <c:set var="streamDirs">${streamType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${streamDirs}"/> - </td> - - <td>${log.addrList }</td> - <td>${log.serverLocate}</td> - <td>${log.clientLocate}</td> - <td>${log.sAsn}</td> - <td>${log.dAsn}</td> - <td>${log.sSubscribeId}</td> - <td>${log.dSubscribeId}</td> - <td>${log.userRegion}</td> - <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if> - </tr> - </c:forEach> - </tbody> - </table> - <div class="page">${page}</div> - </div> - </div> - </div> - </div> - </div> -</body> -</html> +<%@ page contentType="text/html;charset=UTF-8"%>
+<%@ include file="/WEB-INF/include/taglib.jsp"%>
+<html>
+<head>
+
+<script type="text/javascript">
+$(document).ready(function(){
+ //筛选功能
+ filterActionInit();
+ //reset
+ $("#resetBtn").on("click",function(){
+ $("select.selectpicker").each(function(){
+ $(this).selectpicker('val',$(this).find('option:first').val());
+ $(this).find("option").attr("selected",false);
+ $(this).find("option:first").attr("selected",true);
+ });
+ $(".Wdate").attr("value",'');
+ $(':input','#searchForm')
+ .not(':button,:submit,:reset,:hidden')
+ .attr("value",'');
+ $("#searchForm")[0].reset();
+ });
+
+});
+
+</script>
+</head>
+<body>
+
+<div class="page-content">
+ <div class="theme-panel hidden-xs hidden-sm">
+ </div>
+ <h3 class="page-title">
+ <spring:message code="social_app_control"/>
+ </h3>
+
+ <h5 class="page-header"></h5>
+ <div class="col-md-12">
+ <div class="portlet">
+ <div class="portlet-body">
+ <div class="row" >
+ <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/ntcAppLogs" method="post" class="form-search">
+ <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
+ <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+ <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/>
+ <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/>
+ <!-- 筛选按钮展开状态-->
+ <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/>
+
+ <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/>
+
+ <!-- 搜索内容与操作按钮栏 -->
+ <div class="col-md-12">
+ <div class="pull-left">
+ <form:select path="service" class="selectpicker select2 input-small">
+ <form:option value=""><spring:message code="action"/></form:option>
+ <c:forEach items="${serviceList}" var="service"
+ varStatus="satus">
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
+ <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }">
+ <form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:if>
+ </c:forEach>
+ </c:forEach>
+ </form:select>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
+ </div>
+ <input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
+ value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="end_date"/></span>
+ </div>
+ <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
+ value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+
+ <div class="pull-left">
+ <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
+ <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
+ <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button>
+ </div>
+
+ <div class="pull-right">
+ <a class="btn btn-icon-only btn-default setfields tooltips"
+ data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
+ <i class="icon-wrench"></i>
+ </a>
+ </div>
+ </div>
+
+ <!-- 筛选搜索内容栏默认隐藏-->
+ <div class="col-md-12 filter-action-select-panle hide" >
+ <div class="row">
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="transport_layer_protocol"/>:</label>
+ <c:set var="select"><spring:message code='select'/></c:set>
+ <form:select path="transProto" class="selectpicker form-control" >
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict">
+ <form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="direction"/>:</label>
+ <form:select path="direction" class="selectpicker select2 form-control">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="dict">
+ <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="entrance"/>:</label>
+ <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" >
+ <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clj_ip"/>:</label>
+ <input id=capIp name="capIp" class="form-control" type="text" value="${log.capIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clientip"/>:</label>
+ <input id="sIp" name="sIp" class="form-control" type="text" value="${log.sIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="serverip"/>:</label>
+ <input id="dIp" name="dIp" class="form-control" type="text" value="${log.dIp}"/>
+ </div>
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-md-2">
+ <label><spring:message code="cfg_id"></spring:message>:</label>
+ <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/>
+ </div>
+ </div>
+ </div>
+ <!-- /筛选搜索内容栏 结束-->
+ </form:form>
+ </div>
+ <sys:message content="${message}"/>
+ <div class="table-responsive">
+ <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb">
+ <thead>
+ <tr>
+ <th><spring:message code="log"/></th>
+ <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
+ <th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
+ <th class="sort-column found_time"><spring:message code="found_time"/></th>
+ <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
+
+ <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th>
+
+ <th class="sort-column label_proto_id"><spring:message code='basic_protocol'/></th>
+ <th class="sort-column label_proto_source"><spring:message code='label_proto_source'/></th>
+ <th class="sort-column label_behav_id"><spring:message code='behaviour_type'/></th>
+ <th class="sort-column label_behav_source"><spring:message code='label_behav_source'/></th>
+ <th class="sort-column label_app_id"><spring:message code='social_app'/></th>
+ <th class="sort-column label_app_source"><spring:message code='label_app_source'/></th>
+ <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th>
+
+ <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th>
+ <th class="sort-column addr_type"><spring:message code='addr_type'/></th>
+ <th class="sort-column d_ip"><spring:message code="server_ip"/></th>
+ <th class="sort-column s_ip"><spring:message code="client_ip"/></th>
+ <th class="sort-column d_port"><spring:message code="server_port"/></th>
+ <th class="sort-column s_port"><spring:message code="client_port"/></th>
+
+ <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th>
+ <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th>
+ <th class="sort-column encap_type"><spring:message code="encap_type"/></th>
+ <th class="sort-column direction"><spring:message code="direction"/></th>
+ <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th>
+ <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th>
+ <th class="sort-column stream_dir"><spring:message code="stream_type"/></th>
+
+ <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
+ <th class="sort-column server_locate"><spring:message code='server_locate'/></th>
+ <th class="sort-column client_locate"><spring:message code='client_locate'/></th>
+ <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
+ <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
+ <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
+ <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
+ <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
+ <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
+ </tr>
+ </thead>
+ <tbody>
+ <c:forEach var="log" items="${page.list }" varStatus="status">
+ <tr>
+ <td>
+ <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a>
+ </td>
+ <td>${log.cfgId }</td>
+ <td>
+ <c:set var="actions">${log.action }</c:set>
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict">
+ <c:if test="${dict.itemCode eq log.action}">
+ <c:set var="actions">${dict.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${actions}"/>
+ </td>
+ <td>${log.foundTime }</td>
+ <td>${log.recvTime }</td>
+
+ <td>
+ <c:set var="entrances">${log.entranceId }</c:set>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
+ <c:if test="${dic.itemCode eq log.entranceId}">
+ <c:set var="entrances">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${entrances}"/>
+ </td>
+ <td>
+ <c:set var="labelProtoIds">${log.labelProtoId }</c:set>
+ <c:forEach items="${protocolList}" var="dict">
+ <c:if test="${dict.code eq log.labelProtoId}">
+ <c:set var="labelProtoIds">${dict.item}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${labelProtoIds}"/>
+ </td>
+ <td>
+ ${log.labelProtoSource}
+ </td>
+ <td>
+ <c:set var="labelBehavIds">${log.labelBehavId }</c:set>
+ <c:forEach items="${behaviorList}" var="dict">
+ <c:if test="${dict.code eq log.labelBehavId}">
+ <c:set var="labelBehavIds">${dict.item}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${labelBehavIds}"/>
+ </td>
+ <td>
+ ${log.labelBehavSource}
+ </td>
+ <td>
+ <c:set var="labelAppIds">${log.labelAppId }</c:set>
+ <c:forEach items="${appList}" var="dict">
+ <c:if test="${dict.code eq log.labelAppId}">
+ <c:set var="labelAppIds">${dict.item}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${labelAppIds}"/>
+ </td>
+ <td>
+ ${log.labelAppSource}
+ </td>
+ <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td>
+ <td>
+ <c:set var="transProtos">${log.transProto }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic">
+ <c:if test="${dic.itemCode eq log.transProto}">
+ <c:set var="transProtos">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${transProtos}"/>
+ </td>
+ <td>
+ <c:set var="addrTypes">${log.addrType }</c:set>
+ <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic">
+ <c:if test="${log.addrType==dic.itemCode}">
+ <c:set var="addrTypes">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${addrTypes}"/>
+ </td>
+ <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td>
+ <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td>
+ <td>${log.dPort }</td>
+ <td>${log.sPort }</td>
+
+ <td>
+ <c:set var="deviceIds">${log.deviceId }</c:set>
+ <c:forEach items="${fns:getDictList('DEVICE')}" var="device">
+ <c:if test="${device.itemCode eq log.deviceId}">
+ <c:set var="deviceIds">${device.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${deviceIds}"/>
+ </td>
+ <td>
+ <c:set var="linkIds">${log.linkId }</c:set>
+ <c:forEach items="${fns:getDictList('LINK')}" var="link">
+ <c:if test="${link.itemCode eq log.linkId}">
+ <c:set var="linkIds">${link.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${linkIds}"/>
+ </td>
+ <td>
+ <c:set var="encapTypes">${log.encapType }</c:set>
+ <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType">
+ <c:if test="${encapType.itemCode eq log.encapType}">
+ <c:set var="encapTypes">${encapType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${encapTypes}"/>
+ </td>
+ <td>
+ <c:set var="directions">${log.direction }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction">
+ <c:if test="${direction.itemCode eq log.direction}">
+ <c:set var="directions">${direction.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${directions}"/>
+ </td>
+ <td>${log.innerSmac }</td>
+ <td>${log.innerDmac }</td>
+ <td>
+ <c:set var="streamDirs">${log.streamDir }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType">
+ <c:if test="${streamType.itemCode eq log.streamDir}">
+ <c:set var="streamDirs">${streamType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${streamDirs}"/>
+ </td>
+
+ <td>${log.addrList }</td>
+ <td>${log.serverLocate}</td>
+ <td>${log.clientLocate}</td>
+ <td>${log.sAsn}</td>
+ <td>${log.dAsn}</td>
+ <td>${log.sSubscribeId}</td>
+ <td>${log.dSubscribeId}</td>
+ <td>${log.userRegion}</td>
+ <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if>
+ </tr>
+ </c:forEach>
+ </tbody>
+ </table>
+ <div class="page">${page}</div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+</body>
+</html>
diff --git a/src/main/webapp/WEB-INF/views/log/ntc/bgpList.jsp b/src/main/webapp/WEB-INF/views/log/ntc/bgpList.jsp index da27fc8..aabbf31 100644 --- a/src/main/webapp/WEB-INF/views/log/ntc/bgpList.jsp +++ b/src/main/webapp/WEB-INF/views/log/ntc/bgpList.jsp @@ -1,380 +1,380 @@ -<%@ page contentType="text/html;charset=UTF-8"%> -<%@ include file="/WEB-INF/include/taglib.jsp"%> -<html> -<head> -<title> - BGP<spring:message code="log"></spring:message> -</title> -<script> - $(document).ready(function() { - //reset - $("#resetBtn").on("click",function(){ - $("select.selectpicker").each(function(){ - $(this).selectpicker('val',$(this).find('option:first').val()); - $(this).find("option").attr("selected",false); - $(this).find("option:first").attr("selected",true); - }); - $(".Wdate").attr("value",''); - $(':input','#searchForm') - .not(':button,:submit,:reset,:hidden') - .attr("value",''); - $("#searchForm")[0].reset(); - }); - //筛选功能 - filterActionInit(); - - //异步获取voip相关信息 - $("span[id^=open]").click(function(){ - var openId=$(this).attr("id"); - var closeId=$(this).attr("id").replace("open","close"); - var index=$(this).attr("id").replace("open",""); - $("#"+openId).hide(); - $("#"+closeId).show(); - var compileId=$(this).attr("compileId"); -// var cfgId=$(this).attr("cfgId"); - if($("#"+openId).parent().parent().next("tr").hasClass("child")){ - $("#"+openId).parent().parent().next("tr").show(); - }else{ - $.ajax({ - type:'post', - async:false, - url:'${ctx}/ntc/other/ajaxBgpSubList', - data:{"compileId":compileId,"index":index}, - dataType:"html", - success:function(data){ - var subTab="<tr class='child'>"+ - "<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>"; - var html=""; - html+="<div class='row'>"; - html = html+data; - subTab=subTab+html; - subTab+="</td>"; - subTab+="</tr>"; - $("#"+openId).parent().parent().after(subTab); - $("div[name='tabTitle"+index+"']").get(0).click(); - } - }); - } - - }); - - $("span[id^=close]").on("click",function(){ - var closeId=$(this).attr("id"); - var openId=$(this).attr("id").replace("close","open"); - $("#"+closeId).hide(); - $("#"+openId).show(); - $("#"+closeId).parent().parent().next("tr").hide(); - }); - }); -</script> -</head> -<body> - -<div class="page-content"> - <div class="theme-panel hidden-xs hidden-sm"> - </div> - <h3 class="page-title"> - <spring:message code="bgp_control"/> - </h3> - <h5 class="page-header"></h5> - <div class="col-md-12"> - <div class="portlet"> - <div class="portlet-body"> - <div class="row" > - <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/other/bgpLogs" method="post" class="form-search"> - <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/> - <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/> - <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/> - <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/> - <!-- 筛选按钮展开状态--> - <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/><sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/> - <!-- 搜索内容与操作按钮栏 --> - <div class="col-md-12"> - <div class="pull-left"> - <form:select path="service" class="selectpicker select2 input-small"> - <form:option value=""><spring:message code="action"/></form:option> - <c:forEach items="${serviceList}" var="service" - varStatus="satus"> - <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict"> - <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }"> - <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option> - </c:if> - </c:forEach> - </c:forEach> - </form:select> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="begin_date"/></span> - </div> - <input name="searchFoundStartTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium" - value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="end_date"/></span> - </div> - <input name="searchFoundEndTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium" - value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - <div class="pull-left"> - <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button> - <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button> - <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"/><i class="fa fa-angle-double-down"></i></button> - </div> - <div class="pull-right"> - <a class="btn btn-icon-only btn-default setfields tooltips" - data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;"> - <i class="icon-wrench"></i> - </a> - </div> - </div> - <!-- 搜索内容与操作按钮栏 --> - - <!-- 筛选搜索内容栏默认隐藏--> - <div class="col-md-12 filter-action-select-panle hide" > - <div class="row"> - <div class="col-md-2"> - <div class="form-group"> - <label class="control-label"><spring:message code='transport_layer_protocol'/>:</label> - <form:select path="transProto" class="selectpicker form-control"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="protocol" > - <form:option value="${protocol.itemCode}"><spring:message code="${protocol.itemValue}"></spring:message></form:option> - </c:forEach> - </form:select> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label class="control-label"><spring:message code="direction"/>:</label> - <form:select path="direction" class="selectpicker form-control"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction" > - <form:option value="${direction.itemCode}"><spring:message code="${direction.itemValue}"></spring:message></form:option> - </c:forEach> - </form:select> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="entrance"/>:</label> - <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" > - <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option> - </c:forEach> - </form:select> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clj_ip"></spring:message>:</label> - <input name="capIp" type="text" class="form-control" value="${log.capIp }"/> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clientip"></spring:message>:</label> - <input name="sIp" type="text" class="form-control" value="${log.sIp }"/> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="serverip"></spring:message>:</label> - <input name="dIp" type="text" class="form-control" value="${log.dIp }"/> - </div> - </div> - </div> - <div class="row"> - <div class="col-md-2"> - <label><spring:message code="cfg_id"></spring:message>:</label> - <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/> - </div> - </div> - </div> - <!-- /筛选搜索内容栏 结束--> - </form:form> - </div> - <sys:message content="${message}"/> - <div class="table-responsive"> - <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb"> - <thead> - <tr> - <th><spring:message code="log"/></th> - <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th> - <th class="sort-column service" isVisible="false"><spring:message code="action"/></th> - <th class="sort-column found_time"><spring:message code="found_time"/></th> - <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th> - - <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th> - <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th> - <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th> - <th class="sort-column addr_type"><spring:message code='addr_type'/></th> - <th class="sort-column d_ip"><spring:message code="server_ip"/></th> - <th class="sort-column s_ip"><spring:message code="client_ip"/></th> - <th class="sort-column d_port"><spring:message code="server_port"/></th> - <th class="sort-column s_port"><spring:message code="client_port"/></th> - - <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th> - <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th> - <th class="sort-column encap_type"><spring:message code="encap_type"/></th> - <th class="sort-column direction"><spring:message code="direction"/></th> - <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th> - <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th> - <th class="sort-column stream_dir"><spring:message code="stream_type"/></th> - - <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th> - <th class="sort-column server_locate"><spring:message code='server_locate'/></th> - <th class="sort-column client_locate"><spring:message code='client_locate'/></th> - <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th> - <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th> - <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th> - <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th> - <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th> - <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if> - <th class="sort-column type"><spring:message code='message_type'/></th> - <th class="sort-column as_num"><spring:message code='as'/></th> - <th class="sort-column route"><spring:message code='route'/></th> - </tr> - </thead> - <tbody> - <c:forEach var="log" items="${page.list }" varStatus="status"> - <tr> - <td> -<%-- <span id="open${status.index}" class="log-open-cfg" compileId="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span> - --%> <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a> - </td> - <td>${log.cfgId }</td> - <td> - <c:set var="actions">${log.action }</c:set> - <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict"> - <c:if test="${dict.itemCode eq log.action}"> - <c:set var="actions">${dict.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${actions}"/> - </td> - <td>${log.foundTime }</td> - <td>${log.recvTime }</td> - - <td> - <c:set var="entrances">${log.entranceId }</c:set> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> - <c:if test="${dic.itemCode eq log.entranceId}"> - <c:set var="entrances">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${entrances}"/> - </td> - <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td> - <td> - <c:set var="transProtos">${log.transProto }</c:set> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic"> - <c:if test="${dic.itemCode eq log.transProto}"> - <c:set var="transProtos">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${transProtos}"/> - </td> - <td> - <c:set var="addrTypes">${log.addrType }</c:set> - <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic"> - <c:if test="${log.addrType==dic.itemCode}"> - <c:set var="addrTypes">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${addrTypes}"/> - </td> - <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td> - <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td> - <td>${log.dPort }</td> - <td>${log.sPort }</td> - <td> - <c:set var="deviceIds">${log.deviceId }</c:set> - <c:forEach items="${fns:getDictList('DEVICE')}" var="device"> - <c:if test="${device.itemCode eq log.deviceId}"> - <c:set var="deviceIds">${device.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${deviceIds}"/> - </td> - <td> - <c:set var="linkIds">${log.linkId }</c:set> - <c:forEach items="${fns:getDictList('LINK')}" var="link"> - <c:if test="${link.itemCode eq log.linkId}"> - <c:set var="linkIds">${link.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${linkIds}"/> - </td> - <td> - <c:set var="encapTypes">${log.encapType }</c:set> - <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType"> - <c:if test="${encapType.itemCode eq log.encapType}"> - <c:set var="encapTypes">${encapType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${encapTypes}"/> - </td> - <td> - <c:set var="directions">${log.direction }</c:set> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction"> - <c:if test="${direction.itemCode eq log.direction}"> - <c:set var="directions">${direction.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${directions}"/> - </td> - <td>${log.innerSmac }</td> - <td>${log.innerDmac }</td> - <td> - <c:set var="streamDirs">${log.streamDir }</c:set> - <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType"> - <c:if test="${streamType.itemCode eq log.streamDir}"> - <c:set var="streamDirs">${streamType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${streamDirs}"/> - </td> - <td>${log.addrList }</td> - <td>${log.serverLocate}</td> - <td>${log.clientLocate}</td> - <td>${log.sAsn}</td> - <td>${log.dAsn}</td> - <td>${log.sSubscribeId}</td> - <td>${log.dSubscribeId}</td> - <td>${log.userRegion}</td> - <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if> - <td> - <c:set var="types">${log.type }</c:set> - <c:forEach items="${fns:getDictList('BGP_MESSAGE_TYPE')}" var="type"> - <c:if test="${type.itemCode eq log.type}"> - <c:set var="types">${type.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${types}"/> - </td> - <td>${log.asNum}</td> - <td>${log.route}</td> - </tr> - </c:forEach> - </tbody> - </table> - <div class="page">${page}</div> - </div> - </div> - </div> - </div> -</div> -</body> +<%@ page contentType="text/html;charset=UTF-8"%>
+<%@ include file="/WEB-INF/include/taglib.jsp"%>
+<html>
+<head>
+<title>
+ BGP<spring:message code="log"></spring:message>
+</title>
+<script>
+ $(document).ready(function() {
+ //reset
+ $("#resetBtn").on("click",function(){
+ $("select.selectpicker").each(function(){
+ $(this).selectpicker('val',$(this).find('option:first').val());
+ $(this).find("option").attr("selected",false);
+ $(this).find("option:first").attr("selected",true);
+ });
+ $(".Wdate").attr("value",'');
+ $(':input','#searchForm')
+ .not(':button,:submit,:reset,:hidden')
+ .attr("value",'');
+ $("#searchForm")[0].reset();
+ });
+ //筛选功能
+ filterActionInit();
+
+ //异步获取voip相关信息
+ $("span[id^=open]").click(function(){
+ var openId=$(this).attr("id");
+ var closeId=$(this).attr("id").replace("open","close");
+ var index=$(this).attr("id").replace("open","");
+ $("#"+openId).hide();
+ $("#"+closeId).show();
+ var compileId=$(this).attr("compileId");
+// var cfgId=$(this).attr("cfgId");
+ if($("#"+openId).parent().parent().next("tr").hasClass("child")){
+ $("#"+openId).parent().parent().next("tr").show();
+ }else{
+ $.ajax({
+ type:'post',
+ async:false,
+ url:'${ctx}/ntc/other/ajaxBgpSubList',
+ data:{"compileId":compileId,"index":index},
+ dataType:"html",
+ success:function(data){
+ var subTab="<tr class='child'>"+
+ "<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>";
+ var html="";
+ html+="<div class='row'>";
+ html = html+data;
+ subTab=subTab+html;
+ subTab+="</td>";
+ subTab+="</tr>";
+ $("#"+openId).parent().parent().after(subTab);
+ $("div[name='tabTitle"+index+"']").get(0).click();
+ }
+ });
+ }
+
+ });
+
+ $("span[id^=close]").on("click",function(){
+ var closeId=$(this).attr("id");
+ var openId=$(this).attr("id").replace("close","open");
+ $("#"+closeId).hide();
+ $("#"+openId).show();
+ $("#"+closeId).parent().parent().next("tr").hide();
+ });
+ });
+</script>
+</head>
+<body>
+
+<div class="page-content">
+ <div class="theme-panel hidden-xs hidden-sm">
+ </div>
+ <h3 class="page-title">
+ <spring:message code="bgp_control"/>
+ </h3>
+ <h5 class="page-header"></h5>
+ <div class="col-md-12">
+ <div class="portlet">
+ <div class="portlet-body">
+ <div class="row" >
+ <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/other/bgpLogs" method="post" class="form-search">
+ <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
+ <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+ <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/>
+ <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/>
+ <!-- 筛选按钮展开状态-->
+ <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/><sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/>
+ <!-- 搜索内容与操作按钮栏 -->
+ <div class="col-md-12">
+ <div class="pull-left">
+ <form:select path="service" class="selectpicker select2 input-small">
+ <form:option value=""><spring:message code="action"/></form:option>
+ <c:forEach items="${serviceList}" var="service"
+ varStatus="satus">
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
+ <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }">
+ <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:if>
+ </c:forEach>
+ </c:forEach>
+ </form:select>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
+ </div>
+ <input name="searchFoundStartTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
+ value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="end_date"/></span>
+ </div>
+ <input name="searchFoundEndTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
+ value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+ <div class="pull-left">
+ <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
+ <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
+ <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"/><i class="fa fa-angle-double-down"></i></button>
+ </div>
+ <div class="pull-right">
+ <a class="btn btn-icon-only btn-default setfields tooltips"
+ data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
+ <i class="icon-wrench"></i>
+ </a>
+ </div>
+ </div>
+ <!-- 搜索内容与操作按钮栏 -->
+
+ <!-- 筛选搜索内容栏默认隐藏-->
+ <div class="col-md-12 filter-action-select-panle hide" >
+ <div class="row">
+ <div class="col-md-2">
+ <div class="form-group">
+ <label class="control-label"><spring:message code='transport_layer_protocol'/>:</label>
+ <form:select path="transProto" class="selectpicker form-control">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="protocol" >
+ <form:option value="${protocol.itemCode}"><spring:message code="${protocol.itemValue}"></spring:message></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label class="control-label"><spring:message code="direction"/>:</label>
+ <form:select path="direction" class="selectpicker form-control">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction" >
+ <form:option value="${direction.itemCode}"><spring:message code="${direction.itemValue}"></spring:message></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="entrance"/>:</label>
+ <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" >
+ <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clj_ip"></spring:message>:</label>
+ <input name="capIp" type="text" class="form-control" value="${log.capIp }"/>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clientip"></spring:message>:</label>
+ <input name="sIp" type="text" class="form-control" value="${log.sIp }"/>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="serverip"></spring:message>:</label>
+ <input name="dIp" type="text" class="form-control" value="${log.dIp }"/>
+ </div>
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-md-2">
+ <label><spring:message code="cfg_id"></spring:message>:</label>
+ <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/>
+ </div>
+ </div>
+ </div>
+ <!-- /筛选搜索内容栏 结束-->
+ </form:form>
+ </div>
+ <sys:message content="${message}"/>
+ <div class="table-responsive">
+ <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb">
+ <thead>
+ <tr>
+ <th><spring:message code="log"/></th>
+ <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
+ <th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
+ <th class="sort-column found_time"><spring:message code="found_time"/></th>
+ <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
+
+ <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th>
+ <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th>
+ <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th>
+ <th class="sort-column addr_type"><spring:message code='addr_type'/></th>
+ <th class="sort-column d_ip"><spring:message code="server_ip"/></th>
+ <th class="sort-column s_ip"><spring:message code="client_ip"/></th>
+ <th class="sort-column d_port"><spring:message code="server_port"/></th>
+ <th class="sort-column s_port"><spring:message code="client_port"/></th>
+
+ <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th>
+ <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th>
+ <th class="sort-column encap_type"><spring:message code="encap_type"/></th>
+ <th class="sort-column direction"><spring:message code="direction"/></th>
+ <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th>
+ <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th>
+ <th class="sort-column stream_dir"><spring:message code="stream_type"/></th>
+
+ <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
+ <th class="sort-column server_locate"><spring:message code='server_locate'/></th>
+ <th class="sort-column client_locate"><spring:message code='client_locate'/></th>
+ <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
+ <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
+ <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
+ <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
+ <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
+ <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
+ <th class="sort-column type"><spring:message code='message_type'/></th>
+ <th class="sort-column as_num"><spring:message code='as'/></th>
+ <th class="sort-column route"><spring:message code='route'/></th>
+ </tr>
+ </thead>
+ <tbody>
+ <c:forEach var="log" items="${page.list }" varStatus="status">
+ <tr>
+ <td>
+<%-- <span id="open${status.index}" class="log-open-cfg" compileId="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span>
+ --%> <a href="javascript:void(0)" name="viewLogInfo" url="${ctx}/ntc/other/ajaxBgpSubList" compileId="${log.cfgId }" ><i class="icon-book-open"></i></a>
+ </td>
+ <td>${log.cfgId }</td>
+ <td>
+ <c:set var="actions">${log.action }</c:set>
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict">
+ <c:if test="${dict.itemCode eq log.action}">
+ <c:set var="actions">${dict.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${actions}"/>
+ </td>
+ <td>${log.foundTime }</td>
+ <td>${log.recvTime }</td>
+
+ <td>
+ <c:set var="entrances">${log.entranceId }</c:set>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
+ <c:if test="${dic.itemCode eq log.entranceId}">
+ <c:set var="entrances">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${entrances}"/>
+ </td>
+ <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td>
+ <td>
+ <c:set var="transProtos">${log.transProto }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic">
+ <c:if test="${dic.itemCode eq log.transProto}">
+ <c:set var="transProtos">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${transProtos}"/>
+ </td>
+ <td>
+ <c:set var="addrTypes">${log.addrType }</c:set>
+ <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic">
+ <c:if test="${log.addrType==dic.itemCode}">
+ <c:set var="addrTypes">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${addrTypes}"/>
+ </td>
+ <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td>
+ <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td>
+ <td>${log.dPort }</td>
+ <td>${log.sPort }</td>
+ <td>
+ <c:set var="deviceIds">${log.deviceId }</c:set>
+ <c:forEach items="${fns:getDictList('DEVICE')}" var="device">
+ <c:if test="${device.itemCode eq log.deviceId}">
+ <c:set var="deviceIds">${device.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${deviceIds}"/>
+ </td>
+ <td>
+ <c:set var="linkIds">${log.linkId }</c:set>
+ <c:forEach items="${fns:getDictList('LINK')}" var="link">
+ <c:if test="${link.itemCode eq log.linkId}">
+ <c:set var="linkIds">${link.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${linkIds}"/>
+ </td>
+ <td>
+ <c:set var="encapTypes">${log.encapType }</c:set>
+ <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType">
+ <c:if test="${encapType.itemCode eq log.encapType}">
+ <c:set var="encapTypes">${encapType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${encapTypes}"/>
+ </td>
+ <td>
+ <c:set var="directions">${log.direction }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction">
+ <c:if test="${direction.itemCode eq log.direction}">
+ <c:set var="directions">${direction.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${directions}"/>
+ </td>
+ <td>${log.innerSmac }</td>
+ <td>${log.innerDmac }</td>
+ <td>
+ <c:set var="streamDirs">${log.streamDir }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType">
+ <c:if test="${streamType.itemCode eq log.streamDir}">
+ <c:set var="streamDirs">${streamType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${streamDirs}"/>
+ </td>
+ <td>${log.addrList }</td>
+ <td>${log.serverLocate}</td>
+ <td>${log.clientLocate}</td>
+ <td>${log.sAsn}</td>
+ <td>${log.dAsn}</td>
+ <td>${log.sSubscribeId}</td>
+ <td>${log.dSubscribeId}</td>
+ <td>${log.userRegion}</td>
+ <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if>
+ <td>
+ <c:set var="types">${log.type }</c:set>
+ <c:forEach items="${fns:getDictList('BGP_MESSAGE_TYPE')}" var="type">
+ <c:if test="${type.itemCode eq log.type}">
+ <c:set var="types">${type.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${types}"/>
+ </td>
+ <td>${log.asNum}</td>
+ <td>${log.route}</td>
+ </tr>
+ </c:forEach>
+ </tbody>
+ </table>
+ <div class="page">${page}</div>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
+</body>
</html>
\ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/log/ntc/collectVoipList.jsp b/src/main/webapp/WEB-INF/views/log/ntc/collectVoipList.jsp index f705f35..d8f684e 100644 --- a/src/main/webapp/WEB-INF/views/log/ntc/collectVoipList.jsp +++ b/src/main/webapp/WEB-INF/views/log/ntc/collectVoipList.jsp @@ -1,221 +1,221 @@ -<%@ page contentType="text/html;charset=UTF-8"%> -<%@ include file="/WEB-INF/include/taglib.jsp"%> -<html> -<head> - -<script type="text/javascript"> -$(document).ready(function(){ - //筛选功能 - filterActionInit(); - //reset - $("#resetBtn").on("click",function(){ - $("select.selectpicker").each(function(){ - $(this).selectpicker('val',$(this).find('option:first').val()); - $(this).find("option").attr("selected",false); - $(this).find("option:first").attr("selected",true); - }); - $(".Wdate").attr("value",''); - $(':input','#searchForm') - .not(':button,:submit,:reset,:hidden') - .attr("value",''); - $("#searchForm")[0].reset(); - }); - -}); - -</script> -</head> -<body> - -<div class="page-content"> - <div class="theme-panel hidden-xs hidden-sm"> - </div> - <h3 class="page-title"> - <spring:message code="collect_voip"/> - </h3> - - <h5 class="page-header"></h5> - <div class="col-md-12"> - <div class="portlet"> - <div class="portlet-body"> - <div class="row" > - <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/ntcCollectVoipLogs" method="post" class="form-search"> - <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/> - <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/> - <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/> - <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/> - <!-- 筛选按钮展开状态--> - <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/> - - <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/> - - <!-- 搜索内容与操作按钮栏 --> - <div class="col-md-12"> - - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="begin_date"/></span> - </div> - <input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" class="form-control input-medium Wdate " - value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="end_date"/></span> - </div> - <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate " - value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - - <div class="pull-left"> - <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button> - <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button> - <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button> - </div> - - <div class="pull-right"> - <a class="btn btn-icon-only btn-default setfields tooltips" - data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;"> - <i class="icon-wrench"></i> - </a> - </div> - </div> - - <!-- 筛选搜索内容栏默认隐藏--> - <div class="col-md-12 filter-action-select-panle hide" > - <div class="row"> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="voip_protocol"/>:</label> - <c:set var="select"><spring:message code='select'/></c:set> - <form:select path="voipProtocol" class="selectpicker form-control" > - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('VOIP_PROTOCOL')}" var="dict"> - <form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option> - </c:forEach> - </form:select> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clj_ip"/>:</label> - <input id=capIp name="capIp" class="form-control ipv4v6" type="text" value="${log.capIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="rtp_d_ip"/>:</label> - <input id="rtpDIp" name="rtpDIp" class="form-control ipv4v6" type="text" value="${log.rtpDIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="rtp_s_ip"/>:</label> - <input id="rtpSIp" name="rtpSIp" class="form-control ipv4v6" type="text" value="${log.rtpSIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="sip_d_ip"/>:</label> - <input id="sipDIp" name="sipDIp" class="form-control ipv4v6" type="text" value="${log.sipDIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="sip_s_ip"/>:</label> - <input id="sipSIp" name="sipSIp" class="form-control ipv4v6" type="text" value="${log.sipSIp}"/> - </div> - </div> - </div> - </div> - <!-- /筛选搜索内容栏 结束--> - </form:form> - </div> - <sys:message content="${message}"/> - <div class="table-responsive"> - <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb"> - <thead> - <tr> - <th><spring:message code="log"/></th> - <th class="sort-column pid"><spring:message code="pid"/></th> - <th class="sort-column found_time"><spring:message code="found_time"/></th> - <th class="sort-column recv_time"><spring:message code="recv_time"/></th> - <th class="sort-column cap_ip"><spring:message code="clj_ip"/></th> - <th class="sort-column voip_protocol"><spring:message code='voip_protocol'/></th> - <th class="sort-column rtp_d_ip"><spring:message code="rtp_d_ip"/></th> - <th class="sort-column rtp_s_ip"><spring:message code="rtp_s_ip"/></th> - <th class="sort-column rtp_d_port"><spring:message code="rtp_d_port"/></th> - <th class="sort-column rtp_s_port"><spring:message code="rtp_s_port"/></th> - <th class="sort-column from_to_store_ip"><spring:message code="from_to_store_ip"/></th> - <th class="sort-column from_to_store_url"><spring:message code="from_to_store_url"/></th> - <th class="sort-column to_from_store_ip"><spring:message code="to_from_store_ip"/></th> - <th class="sort-column to_from_store_url"><spring:message code="to_from_store_url"/></th> - - <th class="sort-column duation"><spring:message code='duation'/></th> - <th class="sort-column sip_d_ip"><spring:message code='sip_d_ip'/></th> - <th class="sort-column sip_s_ip"><spring:message code='sip_s_ip'/></th> - <th class="sort-column sip_d_port"><spring:message code='sip_d_port'/></th> - <th class="sort-column sip_s_port"><spring:message code='sip_s_port'/></th> - <th class="sort-column call_id"><spring:message code='call_id'/></th> - <th class="sort-column request_uri"><spring:message code='request_uri'/></th> - <th class="sort-column calling_account"><spring:message code='calling_account'/></th> - <th class="sort-column called_account"><spring:message code='called_account'/></th> - - <th class="sort-column contacts">Contacts</th> - <th class="sort-column via">Via</th> - <th class="sort-column route">Route</th> - <th class="sort-column record_route">Record Route</th> - <th class="sort-column user_agent">User Agent</th> - <th class="sort-column server">Server</th> - </tr> - </thead> - <tbody> - <c:forEach var="log" items="${page.list }" varStatus="status"> - <tr> - <td> - <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a> - </td> - <td>${log.pid }</td> - <td><fmt:formatDate value="${log.foundTime }" pattern="yyyy-MM-dd HH:mm:ss" /></td> - <td><fmt:formatDate value="${log.recvTime }" pattern="yyyy-MM-dd HH:mm:ss" /></td> - <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td> - <td>${log.voipProtocol }</td> - <td>${log.rtpDIp }</td> - <td>${log.rtpSIp }</td> - <td>${log.rtpDPort }</td> - <td>${log.rtpSPort }</td> - <td>${log.fromToStoreIp }</td> - <td>${log.fromToStoreUrl }</td> - <td>${log.toFromStoreIp }</td> - <td>${log.toFromStoreUrl }</td> - <td>${log.duation }</td> - <td>${log.sipDIp }</td> - <td>${log.sipSIp }</td> - <td>${log.sipDPort }</td> - <td>${log.sipSPort }</td> - <td>${log.callId }</td> - <td>${log.requestUri }</td> - <td>${log.callingAccount }</td> - <td>${log.calledAccount }</td> - <td>${log.contacts }</td> - <td>${log.via }</td> - <td>${log.route }</td> - <td>${log.recordRoute }</td> - <td>${log.userAgent }</td> - <td>${log.server }</td> - </tr> - </c:forEach> - </tbody> - </table> - <div class="page">${page}</div> - </div> - </div> - </div> - </div> - </div> -</body> -</html> +<%@ page contentType="text/html;charset=UTF-8"%>
+<%@ include file="/WEB-INF/include/taglib.jsp"%>
+<html>
+<head>
+
+<script type="text/javascript">
+$(document).ready(function(){
+ //筛选功能
+ filterActionInit();
+ //reset
+ $("#resetBtn").on("click",function(){
+ $("select.selectpicker").each(function(){
+ $(this).selectpicker('val',$(this).find('option:first').val());
+ $(this).find("option").attr("selected",false);
+ $(this).find("option:first").attr("selected",true);
+ });
+ $(".Wdate").attr("value",'');
+ $(':input','#searchForm')
+ .not(':button,:submit,:reset,:hidden')
+ .attr("value",'');
+ $("#searchForm")[0].reset();
+ });
+
+});
+
+</script>
+</head>
+<body>
+
+<div class="page-content">
+ <div class="theme-panel hidden-xs hidden-sm">
+ </div>
+ <h3 class="page-title">
+ <spring:message code="collect_voip"/>
+ </h3>
+
+ <h5 class="page-header"></h5>
+ <div class="col-md-12">
+ <div class="portlet">
+ <div class="portlet-body">
+ <div class="row" >
+ <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/ntcCollectVoipLogs" method="post" class="form-search">
+ <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
+ <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+ <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/>
+ <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/>
+ <!-- 筛选按钮展开状态-->
+ <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/>
+
+ <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/>
+
+ <!-- 搜索内容与操作按钮栏 -->
+ <div class="col-md-12">
+
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
+ </div>
+ <input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
+ value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="end_date"/></span>
+ </div>
+ <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
+ value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+
+ <div class="pull-left">
+ <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
+ <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
+ <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button>
+ </div>
+
+ <div class="pull-right">
+ <a class="btn btn-icon-only btn-default setfields tooltips"
+ data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
+ <i class="icon-wrench"></i>
+ </a>
+ </div>
+ </div>
+
+ <!-- 筛选搜索内容栏默认隐藏-->
+ <div class="col-md-12 filter-action-select-panle hide" >
+ <div class="row">
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="voip_protocol"/>:</label>
+ <c:set var="select"><spring:message code='select'/></c:set>
+ <form:select path="voipProtocol" class="selectpicker form-control" >
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('VOIP_PROTOCOL')}" var="dict">
+ <form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clj_ip"/>:</label>
+ <input id=capIp name="capIp" class="form-control ipv4v6" type="text" value="${log.capIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="rtp_d_ip"/>:</label>
+ <input id="rtpDIp" name="rtpDIp" class="form-control ipv4v6" type="text" value="${log.rtpDIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="rtp_s_ip"/>:</label>
+ <input id="rtpSIp" name="rtpSIp" class="form-control ipv4v6" type="text" value="${log.rtpSIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="sip_d_ip"/>:</label>
+ <input id="sipDIp" name="sipDIp" class="form-control ipv4v6" type="text" value="${log.sipDIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="sip_s_ip"/>:</label>
+ <input id="sipSIp" name="sipSIp" class="form-control ipv4v6" type="text" value="${log.sipSIp}"/>
+ </div>
+ </div>
+ </div>
+ </div>
+ <!-- /筛选搜索内容栏 结束-->
+ </form:form>
+ </div>
+ <sys:message content="${message}"/>
+ <div class="table-responsive">
+ <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb">
+ <thead>
+ <tr>
+ <th><spring:message code="log"/></th>
+ <th class="sort-column pid"><spring:message code="pid"/></th>
+ <th class="sort-column found_time"><spring:message code="found_time"/></th>
+ <th class="sort-column recv_time"><spring:message code="recv_time"/></th>
+ <th class="sort-column cap_ip"><spring:message code="clj_ip"/></th>
+ <th class="sort-column voip_protocol"><spring:message code='voip_protocol'/></th>
+ <th class="sort-column rtp_d_ip"><spring:message code="rtp_d_ip"/></th>
+ <th class="sort-column rtp_s_ip"><spring:message code="rtp_s_ip"/></th>
+ <th class="sort-column rtp_d_port"><spring:message code="rtp_d_port"/></th>
+ <th class="sort-column rtp_s_port"><spring:message code="rtp_s_port"/></th>
+ <th class="sort-column from_to_store_ip"><spring:message code="from_to_store_ip"/></th>
+ <th class="sort-column from_to_store_url"><spring:message code="from_to_store_url"/></th>
+ <th class="sort-column to_from_store_ip"><spring:message code="to_from_store_ip"/></th>
+ <th class="sort-column to_from_store_url"><spring:message code="to_from_store_url"/></th>
+
+ <th class="sort-column duation"><spring:message code='duation'/></th>
+ <th class="sort-column sip_d_ip"><spring:message code='sip_d_ip'/></th>
+ <th class="sort-column sip_s_ip"><spring:message code='sip_s_ip'/></th>
+ <th class="sort-column sip_d_port"><spring:message code='sip_d_port'/></th>
+ <th class="sort-column sip_s_port"><spring:message code='sip_s_port'/></th>
+ <th class="sort-column call_id"><spring:message code='call_id'/></th>
+ <th class="sort-column request_uri"><spring:message code='request_uri'/></th>
+ <th class="sort-column calling_account"><spring:message code='calling_account'/></th>
+ <th class="sort-column called_account"><spring:message code='called_account'/></th>
+
+ <th class="sort-column contacts">Contacts</th>
+ <th class="sort-column via">Via</th>
+ <th class="sort-column route">Route</th>
+ <th class="sort-column record_route">Record Route</th>
+ <th class="sort-column user_agent">User Agent</th>
+ <th class="sort-column server">Server</th>
+ </tr>
+ </thead>
+ <tbody>
+ <c:forEach var="log" items="${page.list }" varStatus="status">
+ <tr>
+ <td>
+ <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a>
+ </td>
+ <td>${log.pid }</td>
+ <td><fmt:formatDate value="${log.foundTime }" pattern="yyyy-MM-dd HH:mm:ss" /></td>
+ <td><fmt:formatDate value="${log.recvTime }" pattern="yyyy-MM-dd HH:mm:ss" /></td>
+ <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td>
+ <td>${log.voipProtocol }</td>
+ <td>${log.rtpDIp }</td>
+ <td>${log.rtpSIp }</td>
+ <td>${log.rtpDPort }</td>
+ <td>${log.rtpSPort }</td>
+ <td>${log.fromToStoreIp }</td>
+ <td>${log.fromToStoreUrl }</td>
+ <td>${log.toFromStoreIp }</td>
+ <td>${log.toFromStoreUrl }</td>
+ <td>${log.duation }</td>
+ <td>${log.sipDIp }</td>
+ <td>${log.sipSIp }</td>
+ <td>${log.sipDPort }</td>
+ <td>${log.sipSPort }</td>
+ <td>${log.callId }</td>
+ <td>${log.requestUri }</td>
+ <td>${log.callingAccount }</td>
+ <td>${log.calledAccount }</td>
+ <td>${log.contacts }</td>
+ <td>${log.via }</td>
+ <td>${log.route }</td>
+ <td>${log.recordRoute }</td>
+ <td>${log.userAgent }</td>
+ <td>${log.server }</td>
+ </tr>
+ </c:forEach>
+ </tbody>
+ </table>
+ <div class="page">${page}</div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+</body>
+</html>
diff --git a/src/main/webapp/WEB-INF/views/log/ntc/ddosList.jsp b/src/main/webapp/WEB-INF/views/log/ntc/ddosList.jsp index 6cc5f6b..eeda675 100644 --- a/src/main/webapp/WEB-INF/views/log/ntc/ddosList.jsp +++ b/src/main/webapp/WEB-INF/views/log/ntc/ddosList.jsp @@ -1,392 +1,392 @@ -<%@ page contentType="text/html;charset=UTF-8"%> -<%@ include file="/WEB-INF/include/taglib.jsp"%> -<html> -<head> - -<script type="text/javascript"> -$(document).ready(function(){ - //筛选功能 - filterActionInit(); - //reset - $("#resetBtn").on("click",function(){ - $("select.selectpicker").each(function(){ - $(this).selectpicker('val',$(this).find('option:first').val()); - $(this).find("option").attr("selected",false); - $(this).find("option:first").attr("selected",true); - }); - $(".Wdate").attr("value",''); - $(':input','#searchForm') - .not(':button,:submit,:reset,:hidden') - .attr("value",''); - $("#searchForm")[0].reset(); - }); - //异步获取voip相关信息 - $("span[id^=open]").click(function(){ - var openId=$(this).attr("id"); - var closeId=$(this).attr("id").replace("open","close"); - var index=$(this).attr("id").replace("open",""); - $("#"+openId).hide(); - $("#"+closeId).show(); - var compileId=$(this).attr("compileId"); -// var cfgId=$(this).attr("cfgId"); - if($("#"+openId).parent().parent().next("tr").hasClass("child")){ - $("#"+openId).parent().parent().next("tr").show(); - }else{ - $.ajax({ - type:'post', - async:false, - url:'${ctx}/manipulation/ddos/ajaxDdosInfo', - data:{"compileId":compileId,"index":index}, - dataType:"html", - success:function(data){ - var subTab="<tr class='child'>"+ - "<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>"; - var html=""; - html+="<div class='row'>"; - html = html+data; - subTab=subTab+html; - subTab+="</td>"; - subTab+="</tr>"; - $("#"+openId).parent().parent().after(subTab); - $("div[name='tabTitle"+index+"']").get(0).click(); - } - }); - } - - }); - - $("span[id^=close]").on("click",function(){ - var closeId=$(this).attr("id"); - var openId=$(this).attr("id").replace("close","open"); - $("#"+closeId).hide(); - $("#"+openId).show(); - $("#"+closeId).parent().parent().next("tr").hide(); - }); -}); - -</script> -</head> -<body> - -<div class="page-content"> - <div class="theme-panel hidden-xs hidden-sm"> - </div> - <h3 class="page-title"> - <spring:message code="target_ip_protect"/> -<%-- <c:if test="${log.isBlock eq 0 }"><spring:message code="usual_ddos"/></c:if> --%> - </h3> - - <h5 class="page-header"></h5> - <div class="col-md-12"> - <div class="portlet"> - <div class="portlet-body"> - <div class="row" > - <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/ntcDdosLogs" method="post" class="form-search"> - <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/> - <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/> - <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/> - <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/> - <input id="isBlock" name="isBlock" type="hidden" value="${log.isBlock}"/> - <!-- 筛选按钮展开状态--> - <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/> - - <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/> - - <!-- 搜索内容与操作按钮栏 --> - <div class="col-md-12"> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="begin_date"/></span> - </div> - <input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" class="form-control input-medium Wdate " - value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="end_date"/></span> - </div> - <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate " - value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - - <div class="pull-left"> - <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button> - <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button> - <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button> - </div> - - <div class="pull-right"> - <a class="btn btn-icon-only btn-default setfields tooltips" - data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;"> - <i class="icon-wrench"></i> - </a> - </div> - </div> - - <!-- 筛选搜索内容栏默认隐藏--> - <div class="col-md-12 filter-action-select-panle hide" > - <div class="row"> - <div class="col-md-2 hidden"> - <div class="form-group"> - <label><spring:message code="protocol_type"/>:</label> - <c:set var="select"><spring:message code='select'/></c:set> - <form:select path="transProto" class="selectpicker form-control" > - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict"> - <form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option> - </c:forEach> - </form:select> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="direction"/>:</label> - <form:select path="direction" class="selectpicker select2 form-control"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="dict"> - <form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option> - </c:forEach> - </form:select> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="entrance"/>:</label> - <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" > - <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option> - </c:forEach> - </form:select> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clj_ip"/>:</label> - <input name="capIp" type="text" class="form-control" value="${log.capIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clientip"/>:</label> - <input id="sIp" name="sIp" class="form-control" type="text" value="${log.sIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="serverip"/>:</label> - <input id="dIp" name="dIp" class="form-control" type="text" value="${log.dIp}"/> - </div> - </div> - - <div class="col-md-2"> - <label><spring:message code="cfg_id"></spring:message>:</label> - <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/> - </div> - </div> - - - - </div> - <!-- /筛选搜索内容栏 结束--> - </form:form> - </div> - <sys:message content="${message}" type="${messageTypes }"/> - <div class="table-responsive"> - <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb"> - <thead> - <tr> - <th><spring:message code="log"/></th> - <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th> - <th class="sort-column service" isVisible="false"><spring:message code="action"/></th> - <th class="sort-column found_time"><spring:message code="found_time"/></th> - <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th> - - <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th> - <th class="sort-column attack_type"><spring:message code='attack_type'/></th> - <th class="sort-column attack_start_time"><spring:message code='attack_start_time'/></th> - <th class="sort-column last_attack_time"><spring:message code='last_attack_time'/></th> - <th class="sort-column attack_max_pps"><spring:message code='attack_max_pps'/></th> - <th class="sort-column attack_max_bps"><spring:message code='attack_max_bps'/></th> - <th class="sort-column attack_total_pkt"><spring:message code='attack_total_pkt'/></th> - <th class="sort-column attack_total_byte"><spring:message code='attack_total_byte'/></th> - <th class="sort-column is_blcok"><spring:message code='is_blcok'/></th> - <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th> - - <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th> - <th class="sort-column addr_type"><spring:message code='addr_type'/></th> - <th class="sort-column d_ip"><spring:message code="server_ip"/></th> - <th class="sort-column s_ip"><spring:message code="client_ip"/></th> - <th class="sort-column d_port"><spring:message code="server_port"/></th> - <th class="sort-column s_port"><spring:message code="client_port"/></th> - - <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th> - <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th> - <th class="sort-column encap_type"><spring:message code="encap_type"/></th> - <th class="sort-column direction"><spring:message code="direction"/></th> - <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th> - <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th> - <th class="sort-column stream_dir"><spring:message code="stream_type"/></th> - - <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th> - <th class="sort-column server_locate"><spring:message code='server_locate'/></th> - <th class="sort-column client_locate"><spring:message code='client_locate'/></th> - <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th> - <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th> - <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th> - <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th> - <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th> - <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if> - </tr> - </thead> - <tbody> - <c:forEach var="log" items="${page.list }" varStatus="status"> - <tr> - <td> -<%-- <span id="open${status.index}" class="log-open-cfg" compileId="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span> - --%> <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a> - </td> - <td>${log.cfgId }</td> - <td> - <c:set var="actions">${log.action }</c:set> - <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict"> - <c:if test="${dict.itemCode eq log.action}"> - <c:set var="actions">${dict.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${actions}"/> - </td> - <td>${log.foundTime }</td> - <td>${log.recvTime }</td> - - <td> - <c:set var="entrances">${log.entranceId }</c:set> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> - <c:if test="${dic.itemCode eq log.entranceId}"> - <c:set var="entrances">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${entrances}"/> - </td> - - <td> - <c:set var="attackTypes">${log.attackType }</c:set> - <c:forEach items="${fns:getDictList('ATTACK_TYPE')}" var="dict"> - <c:if test="${dict.itemCode eq log.attackType}"> - <c:set var="attackTypes">${dict.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${attackTypes}"/> - </td> - <td><fmt:formatDate value="${log.attackStartTime}" pattern="yyyy-MM-dd HH:mm:ss" /></td> - <td><fmt:formatDate value="${log.lastAttackTime}" pattern="yyyy-MM-dd HH:mm:ss" /></td> - <td>${log.attackMaxPps}</td> - <td>${log.attackMaxBps}</td> - <td>${log.attackTotalPkt}</td> - <td>${log.attackTotalByte}</td> - <td> - <c:set var="isBlocks">${log.isBlock }</c:set> - <c:forEach items="${fns:getDictList('SYS_YES_NO')}" var="dic"> - <c:if test="${dic.itemCode eq log.isBlock}"> - <c:set var="isBlocks">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${isBlocks}"/> - </td> - <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td> - <td> - <c:set var="transProtos">${log.transProto }</c:set> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic"> - <c:if test="${dic.itemCode eq log.transProto}"> - <c:set var="transProtos">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${transProtos}"/> - </td> - <td> - <c:set var="addrTypes">${log.addrType }</c:set> - <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic"> - <c:if test="${log.addrType==dic.itemCode}"> - <c:set var="addrTypes">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${addrTypes}"/> - </td> - <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td> - <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td> - <td>${log.dPort }</td> - <td>${log.sPort }</td> - <td> - <c:set var="deviceIds">${log.deviceId }</c:set> - <c:forEach items="${fns:getDictList('DEVICE')}" var="device"> - <c:if test="${device.itemCode eq log.deviceId}"> - <c:set var="deviceIds">${device.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${deviceIds}"/> - </td> - <td> - <c:set var="linkIds">${log.linkId }</c:set> - <c:forEach items="${fns:getDictList('LINK')}" var="link"> - <c:if test="${link.itemCode eq log.linkId}"> - <c:set var="linkIds">${link.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${linkIds}"/> - </td> - <td> - <c:set var="encapTypes">${log.encapType }</c:set> - <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType"> - <c:if test="${encapType.itemCode eq log.encapType}"> - <c:set var="encapTypes">${encapType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${encapTypes}"/> - </td> - <td> - <c:set var="directions">${log.direction }</c:set> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction"> - <c:if test="${direction.itemCode eq log.direction}"> - <c:set var="directions">${direction.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${directions}"/> - </td> - <td>${log.innerSmac }</td> - <td>${log.innerDmac }</td> - <td> - <c:set var="streamDirs">${log.streamDir }</c:set> - <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType"> - <c:if test="${streamType.itemCode eq log.streamDir}"> - <c:set var="streamDirs">${streamType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${streamDirs}"/> - </td> - - <td>${log.addrList }</td> - <td>${log.serverLocate}</td> - <td>${log.clientLocate}</td> - <td>${log.sAsn}</td> - <td>${log.dAsn}</td> - <td>${log.sSubscribeId}</td> - <td>${log.dSubscribeId}</td> - <td>${log.userRegion}</td> - <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if> - </tr> - </c:forEach> - </tbody> - </table> - <div class="page">${page}</div> - </div> - </div> - </div> - </div> - </div> -</body> -</html> +<%@ page contentType="text/html;charset=UTF-8"%>
+<%@ include file="/WEB-INF/include/taglib.jsp"%>
+<html>
+<head>
+
+<script type="text/javascript">
+$(document).ready(function(){
+ //筛选功能
+ filterActionInit();
+ //reset
+ $("#resetBtn").on("click",function(){
+ $("select.selectpicker").each(function(){
+ $(this).selectpicker('val',$(this).find('option:first').val());
+ $(this).find("option").attr("selected",false);
+ $(this).find("option:first").attr("selected",true);
+ });
+ $(".Wdate").attr("value",'');
+ $(':input','#searchForm')
+ .not(':button,:submit,:reset,:hidden')
+ .attr("value",'');
+ $("#searchForm")[0].reset();
+ });
+ //异步获取voip相关信息
+ $("span[id^=open]").click(function(){
+ var openId=$(this).attr("id");
+ var closeId=$(this).attr("id").replace("open","close");
+ var index=$(this).attr("id").replace("open","");
+ $("#"+openId).hide();
+ $("#"+closeId).show();
+ var compileId=$(this).attr("compileId");
+// var cfgId=$(this).attr("cfgId");
+ if($("#"+openId).parent().parent().next("tr").hasClass("child")){
+ $("#"+openId).parent().parent().next("tr").show();
+ }else{
+ $.ajax({
+ type:'post',
+ async:false,
+ url:'${ctx}/manipulation/ddos/ajaxDdosInfo',
+ data:{"compileId":compileId,"index":index},
+ dataType:"html",
+ success:function(data){
+ var subTab="<tr class='child'>"+
+ "<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>";
+ var html="";
+ html+="<div class='row'>";
+ html = html+data;
+ subTab=subTab+html;
+ subTab+="</td>";
+ subTab+="</tr>";
+ $("#"+openId).parent().parent().after(subTab);
+ $("div[name='tabTitle"+index+"']").get(0).click();
+ }
+ });
+ }
+
+ });
+
+ $("span[id^=close]").on("click",function(){
+ var closeId=$(this).attr("id");
+ var openId=$(this).attr("id").replace("close","open");
+ $("#"+closeId).hide();
+ $("#"+openId).show();
+ $("#"+closeId).parent().parent().next("tr").hide();
+ });
+});
+
+</script>
+</head>
+<body>
+
+<div class="page-content">
+ <div class="theme-panel hidden-xs hidden-sm">
+ </div>
+ <h3 class="page-title">
+ <spring:message code="target_ip_protect"/>
+<%-- <c:if test="${log.isBlock eq 0 }"><spring:message code="usual_ddos"/></c:if> --%>
+ </h3>
+
+ <h5 class="page-header"></h5>
+ <div class="col-md-12">
+ <div class="portlet">
+ <div class="portlet-body">
+ <div class="row" >
+ <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/ntcDdosLogs" method="post" class="form-search">
+ <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
+ <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+ <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/>
+ <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/>
+ <input id="isBlock" name="isBlock" type="hidden" value="${log.isBlock}"/>
+ <!-- 筛选按钮展开状态-->
+ <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/>
+
+ <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/>
+
+ <!-- 搜索内容与操作按钮栏 -->
+ <div class="col-md-12">
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
+ </div>
+ <input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
+ value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="end_date"/></span>
+ </div>
+ <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
+ value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+
+ <div class="pull-left">
+ <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
+ <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
+ <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button>
+ </div>
+
+ <div class="pull-right">
+ <a class="btn btn-icon-only btn-default setfields tooltips"
+ data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
+ <i class="icon-wrench"></i>
+ </a>
+ </div>
+ </div>
+
+ <!-- 筛选搜索内容栏默认隐藏-->
+ <div class="col-md-12 filter-action-select-panle hide" >
+ <div class="row">
+ <div class="col-md-2 hidden">
+ <div class="form-group">
+ <label><spring:message code="protocol_type"/>:</label>
+ <c:set var="select"><spring:message code='select'/></c:set>
+ <form:select path="transProto" class="selectpicker form-control" >
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict">
+ <form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="direction"/>:</label>
+ <form:select path="direction" class="selectpicker select2 form-control">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="dict">
+ <form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="entrance"/>:</label>
+ <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" >
+ <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clj_ip"/>:</label>
+ <input name="capIp" type="text" class="form-control" value="${log.capIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clientip"/>:</label>
+ <input id="sIp" name="sIp" class="form-control" type="text" value="${log.sIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="serverip"/>:</label>
+ <input id="dIp" name="dIp" class="form-control" type="text" value="${log.dIp}"/>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <label><spring:message code="cfg_id"></spring:message>:</label>
+ <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/>
+ </div>
+ </div>
+
+
+
+ </div>
+ <!-- /筛选搜索内容栏 结束-->
+ </form:form>
+ </div>
+ <sys:message content="${message}" type="${messageTypes }"/>
+ <div class="table-responsive">
+ <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb">
+ <thead>
+ <tr>
+ <th><spring:message code="log"/></th>
+ <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
+ <th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
+ <th class="sort-column found_time"><spring:message code="found_time"/></th>
+ <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
+
+ <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th>
+ <th class="sort-column attack_type"><spring:message code='attack_type'/></th>
+ <th class="sort-column attack_start_time"><spring:message code='attack_start_time'/></th>
+ <th class="sort-column last_attack_time"><spring:message code='last_attack_time'/></th>
+ <th class="sort-column attack_max_pps"><spring:message code='attack_max_pps'/></th>
+ <th class="sort-column attack_max_bps"><spring:message code='attack_max_bps'/></th>
+ <th class="sort-column attack_total_pkt"><spring:message code='attack_total_pkt'/></th>
+ <th class="sort-column attack_total_byte"><spring:message code='attack_total_byte'/></th>
+ <th class="sort-column is_blcok"><spring:message code='is_blcok'/></th>
+ <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th>
+
+ <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th>
+ <th class="sort-column addr_type"><spring:message code='addr_type'/></th>
+ <th class="sort-column d_ip"><spring:message code="server_ip"/></th>
+ <th class="sort-column s_ip"><spring:message code="client_ip"/></th>
+ <th class="sort-column d_port"><spring:message code="server_port"/></th>
+ <th class="sort-column s_port"><spring:message code="client_port"/></th>
+
+ <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th>
+ <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th>
+ <th class="sort-column encap_type"><spring:message code="encap_type"/></th>
+ <th class="sort-column direction"><spring:message code="direction"/></th>
+ <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th>
+ <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th>
+ <th class="sort-column stream_dir"><spring:message code="stream_type"/></th>
+
+ <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
+ <th class="sort-column server_locate"><spring:message code='server_locate'/></th>
+ <th class="sort-column client_locate"><spring:message code='client_locate'/></th>
+ <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
+ <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
+ <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
+ <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
+ <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
+ <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
+ </tr>
+ </thead>
+ <tbody>
+ <c:forEach var="log" items="${page.list }" varStatus="status">
+ <tr>
+ <td>
+<%-- <span id="open${status.index}" class="log-open-cfg" compileId="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span>
+ --%> <a href="javascript:void(0)" name="viewLogInfo" url="${ctx}/manipulation/ddos/ajaxDdosInfo" compileId="${log.cfgId }" ><i class="icon-book-open"></i></a>
+ </td>
+ <td>${log.cfgId }</td>
+ <td>
+ <c:set var="actions">${log.action }</c:set>
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict">
+ <c:if test="${dict.itemCode eq log.action}">
+ <c:set var="actions">${dict.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${actions}"/>
+ </td>
+ <td>${log.foundTime }</td>
+ <td>${log.recvTime }</td>
+
+ <td>
+ <c:set var="entrances">${log.entranceId }</c:set>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
+ <c:if test="${dic.itemCode eq log.entranceId}">
+ <c:set var="entrances">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${entrances}"/>
+ </td>
+
+ <td>
+ <c:set var="attackTypes">${log.attackType }</c:set>
+ <c:forEach items="${fns:getDictList('ATTACK_TYPE')}" var="dict">
+ <c:if test="${dict.itemCode eq log.attackType}">
+ <c:set var="attackTypes">${dict.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${attackTypes}"/>
+ </td>
+ <td><fmt:formatDate value="${log.attackStartTime}" pattern="yyyy-MM-dd HH:mm:ss" /></td>
+ <td><fmt:formatDate value="${log.lastAttackTime}" pattern="yyyy-MM-dd HH:mm:ss" /></td>
+ <td>${log.attackMaxPps}</td>
+ <td>${log.attackMaxBps}</td>
+ <td>${log.attackTotalPkt}</td>
+ <td>${log.attackTotalByte}</td>
+ <td>
+ <c:set var="isBlocks">${log.isBlock }</c:set>
+ <c:forEach items="${fns:getDictList('SYS_YES_NO')}" var="dic">
+ <c:if test="${dic.itemCode eq log.isBlock}">
+ <c:set var="isBlocks">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${isBlocks}"/>
+ </td>
+ <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td>
+ <td>
+ <c:set var="transProtos">${log.transProto }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic">
+ <c:if test="${dic.itemCode eq log.transProto}">
+ <c:set var="transProtos">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${transProtos}"/>
+ </td>
+ <td>
+ <c:set var="addrTypes">${log.addrType }</c:set>
+ <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic">
+ <c:if test="${log.addrType==dic.itemCode}">
+ <c:set var="addrTypes">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${addrTypes}"/>
+ </td>
+ <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td>
+ <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td>
+ <td>${log.dPort }</td>
+ <td>${log.sPort }</td>
+ <td>
+ <c:set var="deviceIds">${log.deviceId }</c:set>
+ <c:forEach items="${fns:getDictList('DEVICE')}" var="device">
+ <c:if test="${device.itemCode eq log.deviceId}">
+ <c:set var="deviceIds">${device.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${deviceIds}"/>
+ </td>
+ <td>
+ <c:set var="linkIds">${log.linkId }</c:set>
+ <c:forEach items="${fns:getDictList('LINK')}" var="link">
+ <c:if test="${link.itemCode eq log.linkId}">
+ <c:set var="linkIds">${link.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${linkIds}"/>
+ </td>
+ <td>
+ <c:set var="encapTypes">${log.encapType }</c:set>
+ <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType">
+ <c:if test="${encapType.itemCode eq log.encapType}">
+ <c:set var="encapTypes">${encapType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${encapTypes}"/>
+ </td>
+ <td>
+ <c:set var="directions">${log.direction }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction">
+ <c:if test="${direction.itemCode eq log.direction}">
+ <c:set var="directions">${direction.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${directions}"/>
+ </td>
+ <td>${log.innerSmac }</td>
+ <td>${log.innerDmac }</td>
+ <td>
+ <c:set var="streamDirs">${log.streamDir }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType">
+ <c:if test="${streamType.itemCode eq log.streamDir}">
+ <c:set var="streamDirs">${streamType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${streamDirs}"/>
+ </td>
+
+ <td>${log.addrList }</td>
+ <td>${log.serverLocate}</td>
+ <td>${log.clientLocate}</td>
+ <td>${log.sAsn}</td>
+ <td>${log.dAsn}</td>
+ <td>${log.sSubscribeId}</td>
+ <td>${log.dSubscribeId}</td>
+ <td>${log.userRegion}</td>
+ <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if>
+ </tr>
+ </c:forEach>
+ </tbody>
+ </table>
+ <div class="page">${page}</div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+</body>
+</html>
diff --git a/src/main/webapp/WEB-INF/views/log/ntc/dnsList.jsp b/src/main/webapp/WEB-INF/views/log/ntc/dnsList.jsp index e03dd99..e40dd08 100644 --- a/src/main/webapp/WEB-INF/views/log/ntc/dnsList.jsp +++ b/src/main/webapp/WEB-INF/views/log/ntc/dnsList.jsp @@ -1,443 +1,443 @@ -<%@ page contentType="text/html;charset=UTF-8"%> -<%@ include file="/WEB-INF/include/taglib.jsp"%> -<html> -<head> -<title> - DNS<spring:message code="log"/> -</title> -<script> - $(document).ready(function() { - //reset - $("#resetBtn").on("click",function(){ - $("select.selectpicker").each(function(){ - $(this).selectpicker('val',$(this).find('option:first').val()); - $(this).find("option").attr("selected",false); - $(this).find("option:first").attr("selected",true); - }); - $(".Wdate").attr("value",''); - $(':input','#searchForm') - .not(':button,:submit,:reset,:hidden') - .attr("value",''); - $("#searchForm")[0].reset(); - }); - //筛选功能 - filterActionInit(); - //异步获取voip相关信息 - $("span[id^=open]").click(function(){ - var openId=$(this).attr("id"); - var closeId=$(this).attr("id").replace("open","close"); - var index=$(this).attr("id").replace("open",""); - $("#"+openId).hide(); - $("#"+closeId).show(); - var compileId=$(this).attr("compileId"); -// var cfgId=$(this).attr("cfgId"); - if($("#"+openId).parent().parent().next("tr").hasClass("child")){ - $("#"+openId).parent().parent().next("tr").show(); - }else{ - $.ajax({ - type:'post', - async:false, - url:'${ctx}/ntc/website/ajaxDnsSubList', - data:{"compileId":compileId,"index":index}, - dataType:"html", - success:function(data){ - var subTab="<tr class='child'>"+ - "<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>"; - var html=""; - html+="<div class='row'>"; - html = html+data; - subTab=subTab+html; - subTab+="</td>"; - subTab+="</tr>"; - $("#"+openId).parent().parent().after(subTab); - $("div[name='tabTitle"+index+"']").get(0).click(); - } - }); - } - - }); - - $("span[id^=close]").on("click",function(){ - var closeId=$(this).attr("id"); - var openId=$(this).attr("id").replace("close","open"); - $("#"+closeId).hide(); - $("#"+openId).show(); - $("#"+closeId).parent().parent().next("tr").hide(); - }); - }); -</script> - - -</head> -<body> - -<div class="page-content"> - <div class="theme-panel hidden-xs hidden-sm"> - </div> - <h3 class="page-title"> - <spring:message code="DNS"/> - </h3> - <h5 class="page-header"></h5> - <div class="col-md-12"> - <div class="portlet"> - <div class="portlet-body"> - <div class="row" > - <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/dns/list" method="post" class="form-search"> - <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/> - <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/> - <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/> - <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/> - <!-- 筛选按钮展开状态--> - <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/><sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/> - <!-- 搜索内容与操作按钮栏 --> - <div class="col-md-12"> - <div class="pull-left"> - <form:select path="service" class="selectpicker select2 input-small"> - <form:option value=""><spring:message code="action"/></form:option> - <c:forEach items="${serviceList}" var="service" - varStatus="satus"> - <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict"> - <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }"> - <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option> - </c:if> - </c:forEach> - </c:forEach> - </form:select> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="begin_date"/></span> - </div> - <input name="searchFoundStartTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium" - value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="end_date"/></span> - </div> - <input name="searchFoundEndTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium" - value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - <div class="pull-left"> - <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button> - <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button> - <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"/><i class="fa fa-angle-double-down"></i></button> - </div> - <div class="pull-right"> - <a class="btn btn-icon-only btn-default setfields tooltips" - data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;"> - <i class="icon-wrench"></i> - </a> - </div> - </div> - <!-- 搜索内容与操作按钮栏 --> - - <!-- 筛选搜索内容栏默认隐藏--> - <div class="col-md-12 filter-action-select-panle hide" > - <div class="row"> - <div class="col-md-2"> - <div class="form-group"> - <label class="control-label"><spring:message code='transport_layer_protocol'/>:</label> - <form:select path="transProto" class="selectpicker form-control"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="protocol" > - <form:option value="${protocol.itemCode}"><spring:message code="${protocol.itemValue}"></spring:message></form:option> - </c:forEach> - </form:select> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label class="control-label"><spring:message code="direction"/>:</label> - <form:select path="direction" class="selectpicker form-control"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction" > - <form:option value="${direction.itemCode}"><spring:message code="${direction.itemValue}"></spring:message></form:option> - </c:forEach> - </form:select> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="entrance"/>:</label> - <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" > - <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option> - </c:forEach> - </form:select> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clj_ip"/>:</label> - <input name="capIp" type="text" class="form-control" value="${log.capIp }"/> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clientip"/>:</label> - <input name="sIp" type="text" class="form-control" value="${log.sIp }"/> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="serverip"/>:</label> - <input name="dIp" type="text" class="form-control" value="${log.dIp }"/> - </div> - </div> - </div> - <div class="row"> - <div class="col-md-4"> - <div class="form-group"> - <label><spring:message code="qname"/>:</label> - <input name="qname" type="text" class="form-control" value="${log.qname }"/> - </div> - </div> - <div class="col-md-2"> - <label><spring:message code="cfg_id"></spring:message>:</label> - <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/> - </div> - </div> - </div> - <!-- /筛选搜索内容栏 结束--> - </form:form> - </div> - <sys:message content="${message}"/> - <div class="table-responsive"> - - <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb"> - <thead> - <tr> - <th><spring:message code="log"/></th> - <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th> - <th class="sort-column service" isVisible="false"><spring:message code="action"/></th> - <th class="sort-column found_time"><spring:message code="found_time"/></th> - <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th> - <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th> - - <th class="sort-column qr"><spring:message code="qr"/></th> - <th class="sort-column rd"><spring:message code="rd"/></th> - <th class="sort-column ra"><spring:message code="ra"/></th> - <th class="sort-column rr"><spring:message code="rr"/></th> - <th class="sort-column qtype"><spring:message code="qtype"/></th> - <th class="sort-column qclass"><spring:message code="qclass"/></th> - <th class="sort-column opcode"><spring:message code="opcode"/></th> - <th class="sort-column qname"><spring:message code="qname"/></th> - <th class="sort-column cname"><spring:message code="cname"/></th> - <th class="sort-column dns_sub"><spring:message code="dns_sub"/></th> - <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th> - - <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th> - <th class="sort-column addr_type"><spring:message code='addr_type'/></th> - <th class="sort-column d_ip"><spring:message code="server_ip"/></th> - <th class="sort-column s_ip"><spring:message code="client_ip"/></th> - <th class="sort-column d_port"><spring:message code="server_port"/></th> - <th class="sort-column s_port"><spring:message code="client_port"/></th> - - <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th> - <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th> - <th class="sort-column encap_type"><spring:message code="encap_type"/></th> - <th class="sort-column direction"><spring:message code="direction"/></th> - <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th> - <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th> - <th class="sort-column stream_dir"><spring:message code="stream_type"/></th> - - <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th> - <th class="sort-column server_locate"><spring:message code='server_locate'/></th> - <th class="sort-column client_locate"><spring:message code='client_locate'/></th> - <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th> - <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th> - <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th> - <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th> - <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th> - <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if> - </tr> - </thead> - <tbody> - <c:forEach var="log" items="${page.list }" varStatus="status"> - <tr> - <td> -<%-- <span id="open${status.index}" class="log-open-cfg" compileId="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span> - --%> <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a> - </td> - <td>${log.cfgId }</td> - <td> - <c:set var="actions">${log.action }</c:set> - <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict"> - <c:if test="${dict.itemCode eq log.action}"> - <c:set var="actions">${dict.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${actions}"/> - </td> - <td>${log.foundTime }</td> - <td>${log.recvTime }</td> - - <td> - <c:set var="entrances">${log.entranceId }</c:set> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> - <c:if test="${dic.itemCode eq log.entranceId}"> - <c:set var="entrances">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${entrances}"/> - </td> - - <td> - <c:set var="qrs">${log.qr }</c:set> - <c:forEach items="${fns:getDictList('DNS_QR')}" var="qr"> - <c:if test="${qr.itemCode eq log.qr}"> - <c:set var="qrs">${qr.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${qrs}"/> - </td> - <td> - <c:if test="${log.rd eq 0}"><spring:message code="no"/></c:if> - <c:if test="${log.rd eq 1}"><spring:message code="yes"/></c:if> - </td> - <td> - <c:if test="${log.ra eq 0}"><spring:message code="no"/></c:if> - <c:if test="${log.ra eq 1}"><spring:message code="yes"/></c:if> - </td> - <td>${log.rr }</td> - <td> - <c:set var="qTypes">${log.qType }</c:set> - <c:forEach items="${fns:getDictList('DNS_QTYPE')}" var="qtype"> - <c:if test="${qtype.itemCode eq log.qType}"> - <c:set var="qTypes">${qtype.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${qTypes}"/> - </td> - <td> - <c:set var="qclasss">${log.qclass }</c:set> - <c:forEach items="${fns:getDictList('DNS_QCLASS')}" var="qclass"> - <c:if test="${qclass.itemCode eq log.qclass}"> - <c:set var="qclasss">${qclass.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${qclasss}"/> - </td> - <td> - <c:set var="opcodes">${log.opcode }</c:set> - <c:forEach items="${fns:getDictList('DNS_OPCODE')}" var="opcode"> - <c:if test="${opcode.itemCode eq log.opcode}"> - <c:set var="opcodes">${opcode.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${opcodes}"/> - </td> - <td title="${log.qname }">${fns:abbr(log.qname, 30)}</td> - <td>${log.cname }</td> - <td> - <c:set var="dnsSubs">${log.dnsSub }</c:set> - <c:forEach items="${fns:getDictList('DNS_SUB')}" var="dnsSub"> - <c:if test="${dnsSub.itemCode eq log.dnsSub}"> - <c:set var="dnsSubs">${dnsSub.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${dnsSubs}"/> - </td> - <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td> - <td> - <c:set var="transProtos">${log.transProto }</c:set> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic"> - <c:if test="${dic.itemCode eq log.transProto}"> - <c:set var="transProtos">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${transProtos}"/> - </td> - <td> - <c:set var="addrTypes">${log.addrType }</c:set> - <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic"> - <c:if test="${log.addrType==dic.itemCode}"> - <c:set var="addrTypes">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${addrTypes}"/> - </td> - <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td> - <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td> - <td>${log.dPort }</td> - <td>${log.sPort }</td> - <td> - <c:set var="deviceIds">${log.deviceId }</c:set> - <c:forEach items="${fns:getDictList('DEVICE')}" var="device"> - <c:if test="${device.itemCode eq log.deviceId}"> - <c:set var="deviceIds">${device.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${deviceIds}"/> - </td> - <td> - <c:set var="linkIds">${log.linkId }</c:set> - <c:forEach items="${fns:getDictList('LINK')}" var="link"> - <c:if test="${link.itemCode eq log.linkId}"> - <c:set var="linkIds">${link.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${linkIds}"/> - </td> - <td> - <c:set var="encapTypes">${log.encapType }</c:set> - <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType"> - <c:if test="${encapType.itemCode eq log.encapType}"> - <c:set var="encapTypes">${encapType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${encapTypes}"/> - </td> - <td> - <c:set var="directions">${log.direction }</c:set> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction"> - <c:if test="${direction.itemCode eq log.direction}"> - <c:set var="directions">${direction.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${directions}"/> - </td> - <td>${log.innerSmac }</td> - <td>${log.innerDmac }</td> - <td> - <c:set var="streamDirs">${log.streamDir }</c:set> - <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType"> - <c:if test="${streamType.itemCode eq log.streamDir}"> - <c:set var="streamDirs">${streamType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${streamDirs}"/> - </td> - - <td>${log.addrList }</td> - <td>${log.serverLocate}</td> - <td>${log.clientLocate}</td> - <td>${log.sAsn}</td> - <td>${log.dAsn}</td> - <td>${log.sSubscribeId}</td> - <td>${log.dSubscribeId}</td> - <td>${log.userRegion}</td> - <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if> - </tr> - </c:forEach> - </tbody> - </table> - <div class="page">${page}</div> - </div> - </div> - </div> - </div> -</div> -</body> +<%@ page contentType="text/html;charset=UTF-8"%>
+<%@ include file="/WEB-INF/include/taglib.jsp"%>
+<html>
+<head>
+<title>
+ DNS<spring:message code="log"/>
+</title>
+<script>
+ $(document).ready(function() {
+ //reset
+ $("#resetBtn").on("click",function(){
+ $("select.selectpicker").each(function(){
+ $(this).selectpicker('val',$(this).find('option:first').val());
+ $(this).find("option").attr("selected",false);
+ $(this).find("option:first").attr("selected",true);
+ });
+ $(".Wdate").attr("value",'');
+ $(':input','#searchForm')
+ .not(':button,:submit,:reset,:hidden')
+ .attr("value",'');
+ $("#searchForm")[0].reset();
+ });
+ //筛选功能
+ filterActionInit();
+ //异步获取voip相关信息
+ $("span[id^=open]").click(function(){
+ var openId=$(this).attr("id");
+ var closeId=$(this).attr("id").replace("open","close");
+ var index=$(this).attr("id").replace("open","");
+ $("#"+openId).hide();
+ $("#"+closeId).show();
+ var compileId=$(this).attr("compileId");
+// var cfgId=$(this).attr("cfgId");
+ if($("#"+openId).parent().parent().next("tr").hasClass("child")){
+ $("#"+openId).parent().parent().next("tr").show();
+ }else{
+ $.ajax({
+ type:'post',
+ async:false,
+ url:'${ctx}/ntc/website/ajaxDnsSubList',
+ data:{"compileId":compileId,"index":index},
+ dataType:"html",
+ success:function(data){
+ var subTab="<tr class='child'>"+
+ "<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>";
+ var html="";
+ html+="<div class='row'>";
+ html = html+data;
+ subTab=subTab+html;
+ subTab+="</td>";
+ subTab+="</tr>";
+ $("#"+openId).parent().parent().after(subTab);
+ $("div[name='tabTitle"+index+"']").get(0).click();
+ }
+ });
+ }
+
+ });
+
+ $("span[id^=close]").on("click",function(){
+ var closeId=$(this).attr("id");
+ var openId=$(this).attr("id").replace("close","open");
+ $("#"+closeId).hide();
+ $("#"+openId).show();
+ $("#"+closeId).parent().parent().next("tr").hide();
+ });
+ });
+</script>
+
+
+</head>
+<body>
+
+<div class="page-content">
+ <div class="theme-panel hidden-xs hidden-sm">
+ </div>
+ <h3 class="page-title">
+ <spring:message code="DNS"/>
+ </h3>
+ <h5 class="page-header"></h5>
+ <div class="col-md-12">
+ <div class="portlet">
+ <div class="portlet-body">
+ <div class="row" >
+ <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/dns/list" method="post" class="form-search">
+ <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
+ <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+ <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/>
+ <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/>
+ <!-- 筛选按钮展开状态-->
+ <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/><sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/>
+ <!-- 搜索内容与操作按钮栏 -->
+ <div class="col-md-12">
+ <div class="pull-left">
+ <form:select path="service" class="selectpicker select2 input-small">
+ <form:option value=""><spring:message code="action"/></form:option>
+ <c:forEach items="${serviceList}" var="service"
+ varStatus="satus">
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
+ <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }">
+ <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:if>
+ </c:forEach>
+ </c:forEach>
+ </form:select>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
+ </div>
+ <input name="searchFoundStartTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
+ value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="end_date"/></span>
+ </div>
+ <input name="searchFoundEndTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
+ value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+ <div class="pull-left">
+ <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
+ <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
+ <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"/><i class="fa fa-angle-double-down"></i></button>
+ </div>
+ <div class="pull-right">
+ <a class="btn btn-icon-only btn-default setfields tooltips"
+ data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
+ <i class="icon-wrench"></i>
+ </a>
+ </div>
+ </div>
+ <!-- 搜索内容与操作按钮栏 -->
+
+ <!-- 筛选搜索内容栏默认隐藏-->
+ <div class="col-md-12 filter-action-select-panle hide" >
+ <div class="row">
+ <div class="col-md-2">
+ <div class="form-group">
+ <label class="control-label"><spring:message code='transport_layer_protocol'/>:</label>
+ <form:select path="transProto" class="selectpicker form-control">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="protocol" >
+ <form:option value="${protocol.itemCode}"><spring:message code="${protocol.itemValue}"></spring:message></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label class="control-label"><spring:message code="direction"/>:</label>
+ <form:select path="direction" class="selectpicker form-control">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction" >
+ <form:option value="${direction.itemCode}"><spring:message code="${direction.itemValue}"></spring:message></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="entrance"/>:</label>
+ <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" >
+ <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clj_ip"/>:</label>
+ <input name="capIp" type="text" class="form-control" value="${log.capIp }"/>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clientip"/>:</label>
+ <input name="sIp" type="text" class="form-control" value="${log.sIp }"/>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="serverip"/>:</label>
+ <input name="dIp" type="text" class="form-control" value="${log.dIp }"/>
+ </div>
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-md-4">
+ <div class="form-group">
+ <label><spring:message code="qname"/>:</label>
+ <input name="qname" type="text" class="form-control" value="${log.qname }"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <label><spring:message code="cfg_id"></spring:message>:</label>
+ <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/>
+ </div>
+ </div>
+ </div>
+ <!-- /筛选搜索内容栏 结束-->
+ </form:form>
+ </div>
+ <sys:message content="${message}"/>
+ <div class="table-responsive">
+
+ <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb">
+ <thead>
+ <tr>
+ <th><spring:message code="log"/></th>
+ <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
+ <th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
+ <th class="sort-column found_time"><spring:message code="found_time"/></th>
+ <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
+ <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th>
+
+ <th class="sort-column qr"><spring:message code="qr"/></th>
+ <th class="sort-column rd"><spring:message code="rd"/></th>
+ <th class="sort-column ra"><spring:message code="ra"/></th>
+ <th class="sort-column rr"><spring:message code="rr"/></th>
+ <th class="sort-column qtype"><spring:message code="qtype"/></th>
+ <th class="sort-column qclass"><spring:message code="qclass"/></th>
+ <th class="sort-column opcode"><spring:message code="opcode"/></th>
+ <th class="sort-column qname"><spring:message code="qname"/></th>
+ <th class="sort-column cname"><spring:message code="cname"/></th>
+ <th class="sort-column dns_sub"><spring:message code="dns_sub"/></th>
+ <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th>
+
+ <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th>
+ <th class="sort-column addr_type"><spring:message code='addr_type'/></th>
+ <th class="sort-column d_ip"><spring:message code="server_ip"/></th>
+ <th class="sort-column s_ip"><spring:message code="client_ip"/></th>
+ <th class="sort-column d_port"><spring:message code="server_port"/></th>
+ <th class="sort-column s_port"><spring:message code="client_port"/></th>
+
+ <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th>
+ <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th>
+ <th class="sort-column encap_type"><spring:message code="encap_type"/></th>
+ <th class="sort-column direction"><spring:message code="direction"/></th>
+ <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th>
+ <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th>
+ <th class="sort-column stream_dir"><spring:message code="stream_type"/></th>
+
+ <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
+ <th class="sort-column server_locate"><spring:message code='server_locate'/></th>
+ <th class="sort-column client_locate"><spring:message code='client_locate'/></th>
+ <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
+ <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
+ <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
+ <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
+ <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
+ <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
+ </tr>
+ </thead>
+ <tbody>
+ <c:forEach var="log" items="${page.list }" varStatus="status">
+ <tr>
+ <td>
+<%-- <span id="open${status.index}" class="log-open-cfg" compileId="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span>
+ --%> <a href="javascript:void(0)" name="viewLogInfo" url="${ctx}/ntc/website/ajaxDnsSubList" compileId="${log.cfgId }" ><i class="icon-book-open"></i></a>
+ </td>
+ <td>${log.cfgId }</td>
+ <td>
+ <c:set var="actions">${log.action }</c:set>
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict">
+ <c:if test="${dict.itemCode eq log.action}">
+ <c:set var="actions">${dict.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${actions}"/>
+ </td>
+ <td>${log.foundTime }</td>
+ <td>${log.recvTime }</td>
+
+ <td>
+ <c:set var="entrances">${log.entranceId }</c:set>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
+ <c:if test="${dic.itemCode eq log.entranceId}">
+ <c:set var="entrances">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${entrances}"/>
+ </td>
+
+ <td>
+ <c:set var="qrs">${log.qr }</c:set>
+ <c:forEach items="${fns:getDictList('DNS_QR')}" var="qr">
+ <c:if test="${qr.itemCode eq log.qr}">
+ <c:set var="qrs">${qr.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${qrs}"/>
+ </td>
+ <td>
+ <c:if test="${log.rd eq 0}"><spring:message code="no"/></c:if>
+ <c:if test="${log.rd eq 1}"><spring:message code="yes"/></c:if>
+ </td>
+ <td>
+ <c:if test="${log.ra eq 0}"><spring:message code="no"/></c:if>
+ <c:if test="${log.ra eq 1}"><spring:message code="yes"/></c:if>
+ </td>
+ <td>${log.rr }</td>
+ <td>
+ <c:set var="qTypes">${log.qType }</c:set>
+ <c:forEach items="${fns:getDictList('DNS_QTYPE')}" var="qtype">
+ <c:if test="${qtype.itemCode eq log.qType}">
+ <c:set var="qTypes">${qtype.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${qTypes}"/>
+ </td>
+ <td>
+ <c:set var="qclasss">${log.qclass }</c:set>
+ <c:forEach items="${fns:getDictList('DNS_QCLASS')}" var="qclass">
+ <c:if test="${qclass.itemCode eq log.qclass}">
+ <c:set var="qclasss">${qclass.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${qclasss}"/>
+ </td>
+ <td>
+ <c:set var="opcodes">${log.opcode }</c:set>
+ <c:forEach items="${fns:getDictList('DNS_OPCODE')}" var="opcode">
+ <c:if test="${opcode.itemCode eq log.opcode}">
+ <c:set var="opcodes">${opcode.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${opcodes}"/>
+ </td>
+ <td title="${log.qname }">${fns:abbr(log.qname, 30)}</td>
+ <td>${log.cname }</td>
+ <td>
+ <c:set var="dnsSubs">${log.dnsSub }</c:set>
+ <c:forEach items="${fns:getDictList('DNS_SUB')}" var="dnsSub">
+ <c:if test="${dnsSub.itemCode eq log.dnsSub}">
+ <c:set var="dnsSubs">${dnsSub.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${dnsSubs}"/>
+ </td>
+ <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td>
+ <td>
+ <c:set var="transProtos">${log.transProto }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic">
+ <c:if test="${dic.itemCode eq log.transProto}">
+ <c:set var="transProtos">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${transProtos}"/>
+ </td>
+ <td>
+ <c:set var="addrTypes">${log.addrType }</c:set>
+ <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic">
+ <c:if test="${log.addrType==dic.itemCode}">
+ <c:set var="addrTypes">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${addrTypes}"/>
+ </td>
+ <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td>
+ <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td>
+ <td>${log.dPort }</td>
+ <td>${log.sPort }</td>
+ <td>
+ <c:set var="deviceIds">${log.deviceId }</c:set>
+ <c:forEach items="${fns:getDictList('DEVICE')}" var="device">
+ <c:if test="${device.itemCode eq log.deviceId}">
+ <c:set var="deviceIds">${device.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${deviceIds}"/>
+ </td>
+ <td>
+ <c:set var="linkIds">${log.linkId }</c:set>
+ <c:forEach items="${fns:getDictList('LINK')}" var="link">
+ <c:if test="${link.itemCode eq log.linkId}">
+ <c:set var="linkIds">${link.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${linkIds}"/>
+ </td>
+ <td>
+ <c:set var="encapTypes">${log.encapType }</c:set>
+ <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType">
+ <c:if test="${encapType.itemCode eq log.encapType}">
+ <c:set var="encapTypes">${encapType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${encapTypes}"/>
+ </td>
+ <td>
+ <c:set var="directions">${log.direction }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction">
+ <c:if test="${direction.itemCode eq log.direction}">
+ <c:set var="directions">${direction.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${directions}"/>
+ </td>
+ <td>${log.innerSmac }</td>
+ <td>${log.innerDmac }</td>
+ <td>
+ <c:set var="streamDirs">${log.streamDir }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType">
+ <c:if test="${streamType.itemCode eq log.streamDir}">
+ <c:set var="streamDirs">${streamType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${streamDirs}"/>
+ </td>
+
+ <td>${log.addrList }</td>
+ <td>${log.serverLocate}</td>
+ <td>${log.clientLocate}</td>
+ <td>${log.sAsn}</td>
+ <td>${log.dAsn}</td>
+ <td>${log.sSubscribeId}</td>
+ <td>${log.dSubscribeId}</td>
+ <td>${log.userRegion}</td>
+ <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if>
+ </tr>
+ </c:forEach>
+ </tbody>
+ </table>
+ <div class="page">${page}</div>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
+</body>
</html>
\ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/log/ntc/ftpList.jsp b/src/main/webapp/WEB-INF/views/log/ntc/ftpList.jsp index 397fbd0..908f42d 100644 --- a/src/main/webapp/WEB-INF/views/log/ntc/ftpList.jsp +++ b/src/main/webapp/WEB-INF/views/log/ntc/ftpList.jsp @@ -1,394 +1,394 @@ -<%@ page contentType="text/html;charset=UTF-8"%> -<%@ include file="/WEB-INF/include/taglib.jsp"%> -<html> -<head> - -<script type="text/javascript"> -$(document).ready(function(){ - //筛选功能 - filterActionInit(); - //reset - $("#resetBtn").on("click",function(){ - $("select.selectpicker").each(function(){ - $(this).selectpicker('val',$(this).find('option:first').val()); - $(this).find("option").attr("selected",false); - $(this).find("option:first").attr("selected",true); - }); - $(".Wdate").attr("value",''); - $(':input','#searchForm') - .not(':button,:submit,:reset,:hidden') - .attr("value",''); - $("#searchForm")[0].reset(); - }); - //异步获取voip相关信息 - $("span[id^=open]").click(function(){ - var openId=$(this).attr("id"); - var closeId=$(this).attr("id").replace("open","close"); - var index=$(this).attr("id").replace("open",""); - $("#"+openId).hide(); - $("#"+closeId).show(); - var compileId=$(this).attr("compileId"); -// var cfgId=$(this).attr("cfgId"); - if($("#"+openId).parent().parent().next("tr").hasClass("child")){ - $("#"+openId).parent().parent().next("tr").show(); - }else{ - $.ajax({ - type:'post', - async:false, - url:'${ctx}/ntc/fileTransfer/ajaxFtpSubList', - data:{"compileId":compileId,"index":index}, - dataType:"html", - success:function(data){ - var subTab="<tr class='child'>"+ - "<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>"; - var html=""; - html+="<div class='row'>"; - html = html+data; - subTab=subTab+html; - subTab+="</td>"; - subTab+="</tr>"; - $("#"+openId).parent().parent().after(subTab); - $("div[name='tabTitle"+index+"']").get(0).click(); - } - }); - } - - }); - - $("span[id^=close]").on("click",function(){ - var closeId=$(this).attr("id"); - var openId=$(this).attr("id").replace("close","open"); - $("#"+closeId).hide(); - $("#"+openId).show(); - $("#"+closeId).parent().parent().next("tr").hide(); - }); -}); - -</script> -</head> -<body> - -<div class="page-content"> - <div class="theme-panel hidden-xs hidden-sm"> - </div> - <h3 class="page-title"> - <spring:message code="ftp_control"/> - </h3> - - <h5 class="page-header"></h5> - <div class="col-md-12"> - <div class="portlet"> - <div class="portlet-body"> - <div class="row" > - <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/NtcFtpLogs" method="post" class="form-search"> - <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/> - <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/> - <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/> - <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/> - <!-- 筛选按钮展开状态--> - <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/> - - <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/> - - <!-- 搜索内容与操作按钮栏 --> - <div class="col-md-12"> - <div class="pull-left"> - <form:select path="service" class="selectpicker select2 input-small"> - <form:option value=""><spring:message code="action"/></form:option> - <c:forEach items="${serviceList}" var="service" - varStatus="satus"> - <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict"> - <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }"> - <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option> - </c:if> - </c:forEach> - </c:forEach> - </form:select> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="begin_date"/></span> - </div> - <input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" class="form-control input-medium Wdate " - value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="end_date"/></span> - </div> - <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate " - value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - - <div class="pull-left"> - <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button> - <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button> - <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button> - </div> - - <div class="pull-right"> - <a class="btn btn-icon-only btn-default setfields tooltips" - data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;"> - <i class="icon-wrench"></i> - </a> - </div> - </div> - - <!-- 筛选搜索内容栏默认隐藏--> - <div class="col-md-12 filter-action-select-panle hide" > - <div class="row"> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="transport_layer_protocol"/>:</label> - <c:set var="select"><spring:message code='select'/></c:set> - <form:select path="transProto" class="selectpicker form-control" > - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict"> - <form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option> - </c:forEach> - </form:select> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="direction"/>:</label> - <form:select path="direction" class="selectpicker select2 form-control"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="dict"> - <form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option> - </c:forEach> - </form:select> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="entrance"/>:</label> - <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" > - <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option> - </c:forEach> - </form:select> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clj_ip"/>:</label> - <input name="capIp" type="text" class="form-control" value="${log.capIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clientip"/>:</label> - <input id="sIp" name="sIp" class="form-control" type="text" value="${log.sIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="serverip"/>:</label> - <input id="dIp" name="dIp" class="form-control" type="text" value="${log.dIp}"/> - </div> - </div> - </div> - <div class="row"> - <div class="col-md-2"> - <label><spring:message code="cfg_id"></spring:message>:</label> - <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/> - </div> - </div> - </div> - <!-- /筛选搜索内容栏 结束--> - </form:form> - </div> - <sys:message content="${message}"/> - <div class="table-responsive"> - - <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb"> - <thead> - <tr> - <th><spring:message code="log"/></th> - <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th> - <th class="sort-column service" isVisible="false"><spring:message code="action"/></th> - <th class="sort-column found_time"><spring:message code="found_time"/></th> - <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th> - <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th> - - <th class="sort-column ftp_url"><spring:message code='ftp_url'/></th> - <th class="sort-column ftp_content"><spring:message code='ftp_content'/></th> - <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th> - - <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th> - <th class="sort-column addr_type"><spring:message code='addr_type'/></th> - <th class="sort-column d_ip"><spring:message code="server_ip"/></th> - <th class="sort-column s_ip"><spring:message code="client_ip"/></th> - <th class="sort-column d_port"><spring:message code="server_port"/></th> - <th class="sort-column s_port"><spring:message code="client_port"/></th> - - <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th> - <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th> - <th class="sort-column encap_type"><spring:message code="encap_type"/></th> - <th class="sort-column direction"><spring:message code="direction"/></th> - <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th> - <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th> - <th class="sort-column stream_dir"><spring:message code="stream_type"/></th> - - <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th> - <th class="sort-column server_locate"><spring:message code='server_locate'/></th> - <th class="sort-column client_locate"><spring:message code='client_locate'/></th> - <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th> - <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th> - <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th> - <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th> - <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th> - <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if> - </tr> - </thead> - <tbody> - <c:forEach var="log" items="${page.list }" varStatus="status"> - <tr> - <td> -<%-- <span id="open${status.index}" class="log-open-cfg" compileId="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span> - --%> <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a> - </td> - <td>${log.cfgId }</td> - <td> - <c:set var="actions">${log.action }</c:set> - <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict"> - <c:if test="${dict.itemCode eq log.action}"> - <c:set var="actions">${dict.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${actions}"/> - </td> - <td>${log.foundTime }</td> - <td>${log.recvTime }</td> - - <td> - <c:set var="entrances">${log.entranceId }</c:set> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> - <c:if test="${dic.itemCode eq log.entranceId}"> - <c:set var="entrances">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${entrances}"/> - </td> - - <td> - <a href="${log.ftpUrl}" data-original-title="${log.ftpUrl}" target="_blank" - class="tooltips" data-flag="false" data-html="true" data-placement="top"> - ${fn:substring(log.ftpUrl,0,42) } - </a> - <%-- <c:if test="${fn:startsWith(log.ftpUrl, 'ftp')}"> - <a href="${log.ftpUrl}" data-original-title="${log.ftpUrl}" target="_blank" - class="tooltips" data-flag="false" data-html="true" data-placement="top"> - ${fn:substring(log.ftpUrl,0,20) } - </a> - </c:if> - <c:if test="${!fn:startsWith(log.ftpUrl, 'ftp') and !empty log.ftpUrl}"> - <a href="ftp://${log.ftpUrl}" data-original-title="ftp://${log.ftpUrl}" target="_blank" - class="tooltips" data-flag="false" data-html="true" data-placement="top"> - ftp://${fn:substring(log.ftpUrl,0,20) } - </a> - </c:if> --%> - </td> - - <td> - ${log.ftpContent} - </td> - <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td> - <td> - <c:set var="transProtos">${log.transProto }</c:set> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic"> - <c:if test="${dic.itemCode eq log.transProto}"> - <c:set var="transProtos">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${transProtos}"/> - </td> - <td> - <c:set var="addrTypes">${log.addrType }</c:set> - <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic"> - <c:if test="${log.addrType==dic.itemCode}"> - <c:set var="addrTypes">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${addrTypes}"/> - </td> - <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td> - <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td> - <td>${log.dPort }</td> - <td>${log.sPort }</td> - <td> - <c:set var="deviceIds">${log.deviceId }</c:set> - <c:forEach items="${fns:getDictList('DEVICE')}" var="device"> - <c:if test="${device.itemCode eq log.deviceId}"> - <c:set var="deviceIds">${device.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${deviceIds}"/> - </td> - <td> - <c:set var="linkIds">${log.linkId }</c:set> - <c:forEach items="${fns:getDictList('LINK')}" var="link"> - <c:if test="${link.itemCode eq log.linkId}"> - <c:set var="linkIds">${link.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${linkIds}"/> - </td> - <td> - <c:set var="encapTypes">${log.encapType }</c:set> - <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType"> - <c:if test="${encapType.itemCode eq log.encapType}"> - <c:set var="encapTypes">${encapType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${encapTypes}"/> - </td> - <td> - <c:set var="directions">${log.direction }</c:set> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction"> - <c:if test="${direction.itemCode eq log.direction}"> - <c:set var="directions">${direction.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${directions}"/> - </td> - <td>${log.innerSmac }</td> - <td>${log.innerDmac }</td> - <td> - <c:set var="streamDirs">${log.streamDir }</c:set> - <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType"> - <c:if test="${streamType.itemCode eq log.streamDir}"> - <c:set var="streamDirs">${streamType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${streamDirs}"/> - </td> - - <td>${log.addrList }</td> - <td>${log.serverLocate}</td> - <td>${log.clientLocate}</td> - <td>${log.sAsn}</td> - <td>${log.dAsn}</td> - <td>${log.sSubscribeId}</td> - <td>${log.dSubscribeId}</td> - <td>${log.userRegion}</td> - <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if> - </tr> - </c:forEach> - </tbody> - </table> - <div class="page">${page}</div> - </div> - </div> - </div> - </div> - </div> -</body> -</html> +<%@ page contentType="text/html;charset=UTF-8"%>
+<%@ include file="/WEB-INF/include/taglib.jsp"%>
+<html>
+<head>
+
+<script type="text/javascript">
+$(document).ready(function(){
+ //筛选功能
+ filterActionInit();
+ //reset
+ $("#resetBtn").on("click",function(){
+ $("select.selectpicker").each(function(){
+ $(this).selectpicker('val',$(this).find('option:first').val());
+ $(this).find("option").attr("selected",false);
+ $(this).find("option:first").attr("selected",true);
+ });
+ $(".Wdate").attr("value",'');
+ $(':input','#searchForm')
+ .not(':button,:submit,:reset,:hidden')
+ .attr("value",'');
+ $("#searchForm")[0].reset();
+ });
+ //异步获取voip相关信息
+ $("span[id^=open]").click(function(){
+ var openId=$(this).attr("id");
+ var closeId=$(this).attr("id").replace("open","close");
+ var index=$(this).attr("id").replace("open","");
+ $("#"+openId).hide();
+ $("#"+closeId).show();
+ var compileId=$(this).attr("compileId");
+// var cfgId=$(this).attr("cfgId");
+ if($("#"+openId).parent().parent().next("tr").hasClass("child")){
+ $("#"+openId).parent().parent().next("tr").show();
+ }else{
+ $.ajax({
+ type:'post',
+ async:false,
+ url:'${ctx}/ntc/fileTransfer/ajaxFtpSubList',
+ data:{"compileId":compileId,"index":index},
+ dataType:"html",
+ success:function(data){
+ var subTab="<tr class='child'>"+
+ "<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>";
+ var html="";
+ html+="<div class='row'>";
+ html = html+data;
+ subTab=subTab+html;
+ subTab+="</td>";
+ subTab+="</tr>";
+ $("#"+openId).parent().parent().after(subTab);
+ $("div[name='tabTitle"+index+"']").get(0).click();
+ }
+ });
+ }
+
+ });
+
+ $("span[id^=close]").on("click",function(){
+ var closeId=$(this).attr("id");
+ var openId=$(this).attr("id").replace("close","open");
+ $("#"+closeId).hide();
+ $("#"+openId).show();
+ $("#"+closeId).parent().parent().next("tr").hide();
+ });
+});
+
+</script>
+</head>
+<body>
+
+<div class="page-content">
+ <div class="theme-panel hidden-xs hidden-sm">
+ </div>
+ <h3 class="page-title">
+ <spring:message code="ftp_control"/>
+ </h3>
+
+ <h5 class="page-header"></h5>
+ <div class="col-md-12">
+ <div class="portlet">
+ <div class="portlet-body">
+ <div class="row" >
+ <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/NtcFtpLogs" method="post" class="form-search">
+ <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
+ <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+ <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/>
+ <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/>
+ <!-- 筛选按钮展开状态-->
+ <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/>
+
+ <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/>
+
+ <!-- 搜索内容与操作按钮栏 -->
+ <div class="col-md-12">
+ <div class="pull-left">
+ <form:select path="service" class="selectpicker select2 input-small">
+ <form:option value=""><spring:message code="action"/></form:option>
+ <c:forEach items="${serviceList}" var="service"
+ varStatus="satus">
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
+ <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }">
+ <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:if>
+ </c:forEach>
+ </c:forEach>
+ </form:select>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
+ </div>
+ <input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
+ value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="end_date"/></span>
+ </div>
+ <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
+ value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+
+ <div class="pull-left">
+ <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
+ <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
+ <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button>
+ </div>
+
+ <div class="pull-right">
+ <a class="btn btn-icon-only btn-default setfields tooltips"
+ data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
+ <i class="icon-wrench"></i>
+ </a>
+ </div>
+ </div>
+
+ <!-- 筛选搜索内容栏默认隐藏-->
+ <div class="col-md-12 filter-action-select-panle hide" >
+ <div class="row">
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="transport_layer_protocol"/>:</label>
+ <c:set var="select"><spring:message code='select'/></c:set>
+ <form:select path="transProto" class="selectpicker form-control" >
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict">
+ <form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="direction"/>:</label>
+ <form:select path="direction" class="selectpicker select2 form-control">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="dict">
+ <form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="entrance"/>:</label>
+ <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" >
+ <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clj_ip"/>:</label>
+ <input name="capIp" type="text" class="form-control" value="${log.capIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clientip"/>:</label>
+ <input id="sIp" name="sIp" class="form-control" type="text" value="${log.sIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="serverip"/>:</label>
+ <input id="dIp" name="dIp" class="form-control" type="text" value="${log.dIp}"/>
+ </div>
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-md-2">
+ <label><spring:message code="cfg_id"></spring:message>:</label>
+ <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/>
+ </div>
+ </div>
+ </div>
+ <!-- /筛选搜索内容栏 结束-->
+ </form:form>
+ </div>
+ <sys:message content="${message}"/>
+ <div class="table-responsive">
+
+ <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb">
+ <thead>
+ <tr>
+ <th><spring:message code="log"/></th>
+ <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
+ <th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
+ <th class="sort-column found_time"><spring:message code="found_time"/></th>
+ <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
+ <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th>
+
+ <th class="sort-column ftp_url"><spring:message code='ftp_url'/></th>
+ <th class="sort-column ftp_content"><spring:message code='ftp_content'/></th>
+ <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th>
+
+ <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th>
+ <th class="sort-column addr_type"><spring:message code='addr_type'/></th>
+ <th class="sort-column d_ip"><spring:message code="server_ip"/></th>
+ <th class="sort-column s_ip"><spring:message code="client_ip"/></th>
+ <th class="sort-column d_port"><spring:message code="server_port"/></th>
+ <th class="sort-column s_port"><spring:message code="client_port"/></th>
+
+ <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th>
+ <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th>
+ <th class="sort-column encap_type"><spring:message code="encap_type"/></th>
+ <th class="sort-column direction"><spring:message code="direction"/></th>
+ <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th>
+ <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th>
+ <th class="sort-column stream_dir"><spring:message code="stream_type"/></th>
+
+ <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
+ <th class="sort-column server_locate"><spring:message code='server_locate'/></th>
+ <th class="sort-column client_locate"><spring:message code='client_locate'/></th>
+ <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
+ <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
+ <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
+ <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
+ <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
+ <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
+ </tr>
+ </thead>
+ <tbody>
+ <c:forEach var="log" items="${page.list }" varStatus="status">
+ <tr>
+ <td>
+<%-- <span id="open${status.index}" class="log-open-cfg" compileId="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span>
+ --%> <a href="javascript:void(0)" name="viewLogInfo" url="${ctx}/ntc/fileTransfer/ajaxFtpSubList" compileId="${log.cfgId }" ><i class="icon-book-open"></i></a>
+ </td>
+ <td>${log.cfgId }</td>
+ <td>
+ <c:set var="actions">${log.action }</c:set>
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict">
+ <c:if test="${dict.itemCode eq log.action}">
+ <c:set var="actions">${dict.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${actions}"/>
+ </td>
+ <td>${log.foundTime }</td>
+ <td>${log.recvTime }</td>
+
+ <td>
+ <c:set var="entrances">${log.entranceId }</c:set>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
+ <c:if test="${dic.itemCode eq log.entranceId}">
+ <c:set var="entrances">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${entrances}"/>
+ </td>
+
+ <td>
+ <a href="${log.ftpUrl}" data-original-title="${log.ftpUrl}" target="_blank"
+ class="tooltips" data-flag="false" data-html="true" data-placement="top">
+ ${fn:substring(log.ftpUrl,0,42) }
+ </a>
+ <%-- <c:if test="${fn:startsWith(log.ftpUrl, 'ftp')}">
+ <a href="${log.ftpUrl}" data-original-title="${log.ftpUrl}" target="_blank"
+ class="tooltips" data-flag="false" data-html="true" data-placement="top">
+ ${fn:substring(log.ftpUrl,0,20) }
+ </a>
+ </c:if>
+ <c:if test="${!fn:startsWith(log.ftpUrl, 'ftp') and !empty log.ftpUrl}">
+ <a href="ftp://${log.ftpUrl}" data-original-title="ftp://${log.ftpUrl}" target="_blank"
+ class="tooltips" data-flag="false" data-html="true" data-placement="top">
+ ftp://${fn:substring(log.ftpUrl,0,20) }
+ </a>
+ </c:if> --%>
+ </td>
+
+ <td>
+ ${log.ftpContent}
+ </td>
+ <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td>
+ <td>
+ <c:set var="transProtos">${log.transProto }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic">
+ <c:if test="${dic.itemCode eq log.transProto}">
+ <c:set var="transProtos">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${transProtos}"/>
+ </td>
+ <td>
+ <c:set var="addrTypes">${log.addrType }</c:set>
+ <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic">
+ <c:if test="${log.addrType==dic.itemCode}">
+ <c:set var="addrTypes">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${addrTypes}"/>
+ </td>
+ <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td>
+ <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td>
+ <td>${log.dPort }</td>
+ <td>${log.sPort }</td>
+ <td>
+ <c:set var="deviceIds">${log.deviceId }</c:set>
+ <c:forEach items="${fns:getDictList('DEVICE')}" var="device">
+ <c:if test="${device.itemCode eq log.deviceId}">
+ <c:set var="deviceIds">${device.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${deviceIds}"/>
+ </td>
+ <td>
+ <c:set var="linkIds">${log.linkId }</c:set>
+ <c:forEach items="${fns:getDictList('LINK')}" var="link">
+ <c:if test="${link.itemCode eq log.linkId}">
+ <c:set var="linkIds">${link.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${linkIds}"/>
+ </td>
+ <td>
+ <c:set var="encapTypes">${log.encapType }</c:set>
+ <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType">
+ <c:if test="${encapType.itemCode eq log.encapType}">
+ <c:set var="encapTypes">${encapType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${encapTypes}"/>
+ </td>
+ <td>
+ <c:set var="directions">${log.direction }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction">
+ <c:if test="${direction.itemCode eq log.direction}">
+ <c:set var="directions">${direction.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${directions}"/>
+ </td>
+ <td>${log.innerSmac }</td>
+ <td>${log.innerDmac }</td>
+ <td>
+ <c:set var="streamDirs">${log.streamDir }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType">
+ <c:if test="${streamType.itemCode eq log.streamDir}">
+ <c:set var="streamDirs">${streamType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${streamDirs}"/>
+ </td>
+
+ <td>${log.addrList }</td>
+ <td>${log.serverLocate}</td>
+ <td>${log.clientLocate}</td>
+ <td>${log.sAsn}</td>
+ <td>${log.dAsn}</td>
+ <td>${log.sSubscribeId}</td>
+ <td>${log.dSubscribeId}</td>
+ <td>${log.userRegion}</td>
+ <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if>
+ </tr>
+ </c:forEach>
+ </tbody>
+ </table>
+ <div class="page">${page}</div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+</body>
+</html>
diff --git a/src/main/webapp/WEB-INF/views/log/ntc/httpKeyList.jsp b/src/main/webapp/WEB-INF/views/log/ntc/httpKeyList.jsp index ed6a15c..2b37d96 100644 --- a/src/main/webapp/WEB-INF/views/log/ntc/httpKeyList.jsp +++ b/src/main/webapp/WEB-INF/views/log/ntc/httpKeyList.jsp @@ -1,420 +1,420 @@ -<%@ page contentType="text/html;charset=UTF-8"%> -<%@ include file="/WEB-INF/include/taglib.jsp"%> -<html> -<head> -<title> - HTTP<spring:message code="log"></spring:message> -</title> -<script> - $(document).ready(function() { - /* $('#contentTable thead tr th input.i-checks').on('ifChecked', function(event){ //ifCreated 事件应该在插件初始化之前绑定 - $('#contentTable tbody tr td input.i-checks').iCheck('check'); - }); - - $('#contentTable thead tr th input.i-checks').on('ifUnchecked', function(event){ //ifCreated 事件应该在插件初始化之前绑定 - $('#contentTable tbody tr td input.i-checks').iCheck('uncheck'); - }); */ - //reset - $("#resetBtn").on("click",function(){ - $("select.selectpicker").each(function(){ - $(this).selectpicker('val',$(this).find('option:first').val()); - $(this).find("option").attr("selected",false); - $(this).find("option:first").attr("selected",true); - }); - $(".Wdate").attr("value",''); - $(':input','#searchForm') - .not(':button,:submit,:reset,:hidden') - .attr("value",''); - $("#searchForm")[0].reset(); - }); - $("#logToUrl").on("click",function(){ - var checkboxes=$("#contentTable tbody tr td input.i-checks:checkbox"); - if($(checkboxes).filter(":checked").length>0){ - $("#http_url_modal").modal({ - backdrop:"static", - keyboard:false, - show:true - }); - }else{ - top.$.jBox.tip("<spring:message code='one_more'/>", "<spring:message code='info'/>"); - return; - } - - }); - //筛选功能 - filterActionInit(); - - //异步获取voip相关信息 - $("span[id^=open]").click(function(){ - var openId=$(this).attr("id"); - var closeId=$(this).attr("id").replace("open","close"); - var index=$(this).attr("id").replace("open",""); - $("#"+openId).hide(); - $("#"+closeId).show(); - var compileId=$(this).attr("compileId2"); -// var cfgId=$(this).attr("cfgId"); - if($("#"+openId).parent().parent().next("tr").hasClass("child")){ - $("#"+openId).parent().parent().next("tr").show(); - }else{ - $.ajax({ - type:'post', - async:false, - url:'${ctx}/ntc/website/ajaxHttpSubList', - data:{"compileId":compileId,"index":index}, - dataType:"html", - success:function(data){ - var subTab="<tr class='child'>"+ - "<td style='border-right: 1px solid #FFFFFF;'>"+ - "<input type='checkbox' hidden='hidden'/>"+ - "</td>"+ - "<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>"; - var html=""; - html+="<div class='row'>"; - html = html+data; - subTab=subTab+html; - subTab+="</td>"; - subTab+="</tr>"; - $("#"+openId).parent().parent().after(subTab); - $("div[name='tabTitle"+index+"']").get(0).click(); - } - }); - } - - }); - - $("span[id^=close]").on("click",function(){ - var closeId=$(this).attr("id"); - var openId=$(this).attr("id").replace("close","open"); - $("#"+closeId).hide(); - $("#"+openId).show(); - $("#"+closeId).parent().parent().next("tr").hide(); - }); - }); -</script> -</head> -<body> - -<div class="page-content"> - <div class="theme-panel hidden-xs hidden-sm"> - </div> - <h3 class="page-title"> - <spring:message code="http_keyword"/> - </h3> - <h5 class="page-header"></h5> - <div class="col-md-12"> - <div class="portlet"> - <div class="portlet-body"> - <div class="row" > - <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/httpkey/list" method="post" class="form-search"> - <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/> - <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/> - <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/> - <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/> - <!-- 筛选按钮展开状态--> - <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/><sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/> - <!-- 搜索内容与操作按钮栏 --> - <div class="col-md-12"> - <div class="pull-left"> - <form:select path="service" class="selectpicker select2 input-small"> - <form:option value=""><spring:message code="action"/></form:option> - <c:forEach items="${serviceList}" var="service" - varStatus="satus"> - <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict"> - <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }"> - <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option> - </c:if> - </c:forEach> - </c:forEach> - </form:select> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="begin_date"/></span> - </div> - <input name="searchFoundStartTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium" - value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="end_date"/></span> - </div> - <input name="searchFoundEndTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium" - value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - <div class="pull-left"> - <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button> - <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button> - <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"/><i class="fa fa-angle-double-down"></i></button> - </div> - <div class="pull-right"> - <shiro:hasPermission name="whitelist:domain:config"> - <button type="button" class="btn btn-default fa fa-exchange" id="logToUrl"> <spring:message code="log_to_url"/></button> - </shiro:hasPermission> - <a class="btn btn-icon-only btn-default setfields tooltips" - data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;"> - <i class="icon-wrench"></i> - </a> - </div> - </div> - <!-- 搜索内容与操作按钮栏 --> - - <!-- 筛选搜索内容栏默认隐藏--> - <div class="col-md-12 filter-action-select-panle hide" > - <div class="row"> - <div class="col-md-2"> - <div class="form-group"> - <label class="control-label"><spring:message code='transport_layer_protocol'/>:</label> - <form:select path="transProto" class="selectpicker form-control"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="protocol" > - <form:option value="${protocol.itemCode}"><spring:message code="${protocol.itemValue}"></spring:message></form:option> - </c:forEach> - </form:select> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label class="control-label"><spring:message code="direction"/>:</label> - <form:select path="direction" class="selectpicker form-control"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction" > - <form:option value="${direction.itemCode}"><spring:message code="${direction.itemValue}"></spring:message></form:option> - </c:forEach> - </form:select> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="entrance"/>:</label> - <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance"> - <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option> - </c:forEach> - </form:select> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clj_ip"></spring:message>:</label> - <input name="capIp" type="text" class="form-control" value="${log.capIp }"/> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clientip"></spring:message>:</label> - <input name="sIp" type="text" class="form-control" value="${log.sIp }"/> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="serverip"></spring:message>:</label> - <input name="dIp" type="text" class="form-control" value="${log.dIp }"/> - </div> - </div> - </div> - - <div class="row"> - <div class="col-md-4"> - <div class="form-group"> - <label>URL:</label> - <input name="url" type="text" class="form-control" value="${log.url }"/> - </div> - </div> - <div class="col-md-2"> - <label><spring:message code="cfg_id"></spring:message>:</label> - <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/> - </div> - </div> - </div> - <!-- /筛选搜索内容栏 结束--> - </form:form> - </div> - <sys:message content="${message}"/> - <div class="table-responsive"> - - <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb"> - <thead> - <tr> - <th><input type="checkbox" class="i-checks" id="checkAll"> <spring:message code="log"/></th> - <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th> - <th class="sort-column service" isVisible="false"><spring:message code="action"/></th> - <th class="sort-column found_time"><spring:message code="found_time"/></th> - <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th> - - <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th> - - <th class="sort-column url"> URL </th> - <th class="sort-column website"><spring:message code="website"/></th> - <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th> - - <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th> - <th class="sort-column addr_type"><spring:message code='addr_type'/></th> - <th class="sort-column d_ip"><spring:message code="server_ip"/></th> - <th class="sort-column s_ip"><spring:message code="client_ip"/></th> - <th class="sort-column d_port"><spring:message code="server_port"/></th> - <th class="sort-column s_port"><spring:message code="client_port"/></th> - - <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th> - <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th> - <th class="sort-column encap_type"><spring:message code="encap_type"/></th> - <th class="sort-column direction"><spring:message code="direction"/></th> - <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th> - <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th> - <th class="sort-column stream_dir"><spring:message code="stream_type"/></th> - - <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th> - <th class="sort-column server_locate"><spring:message code='server_locate'/></th> - <th class="sort-column client_locate"><spring:message code='client_locate'/></th> - <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th> - <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th> - <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th> - <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th> - <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th> - <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if> - </tr> - </thead> - <tbody> - <c:forEach var="log" items="${page.list }" varStatus="status"> - <tr> - <td> - <input type="checkbox" class="i-checks child-checks" compileId="${log.cfgId }" url="${log.url}" value="${log.cfgId }"> -<%-- <span id="open${status.index}" class="log-open-cfg" compileId2="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span> - --%> <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a> - </td> - <td>${log.cfgId }</td> - <td> - <c:set var="actions">${log.action }</c:set> - <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict"> - <c:if test="${dict.itemCode eq log.action}"> - <c:set var="actions">${dict.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${actions}"/> - </td> - <td>${log.foundTime }</td> - <td>${log.recvTime }</td> - - <td> - <c:set var="entrances">${log.entranceId }</c:set> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> - <c:if test="${dic.itemCode eq log.entranceId}"> - <c:set var="entrances">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${entrances}"/> - </td> - - <td> - ${log.url} - <%-- <c:if test="${fn:startsWith(log.url, 'http')}"> - ${log.url} - </c:if> - <c:if test="${!fn:startsWith(log.url, 'http') and !empty log.url}"> - http://${log.url} - </c:if> --%> - </td> - <td>${log.website }</td> - <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td> - <td> - <c:set var="transProtos">${log.transProto }</c:set> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic"> - <c:if test="${dic.itemCode eq log.transProto}"> - <c:set var="transProtos">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${transProtos}"/> - </td> - <td> - <c:set var="addrTypes">${log.addrType }</c:set> - <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic"> - <c:if test="${log.addrType==dic.itemCode}"> - <c:set var="addrTypes">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${addrTypes}"/> - </td> - <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td> - <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td> - <td>${log.dPort }</td> - <td>${log.sPort }</td> - <td> - <c:set var="deviceIds">${log.deviceId }</c:set> - <c:forEach items="${fns:getDictList('DEVICE')}" var="device"> - <c:if test="${device.itemCode eq log.deviceId}"> - <c:set var="deviceIds">${device.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${deviceIds}"/> - </td> - <td> - <c:set var="linkIds">${log.linkId }</c:set> - <c:forEach items="${fns:getDictList('LINK')}" var="link"> - <c:if test="${link.itemCode eq log.linkId}"> - <c:set var="linkIds">${link.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${linkIds}"/> - </td> - <td> - <c:set var="encapTypes">${log.encapType }</c:set> - <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType"> - <c:if test="${encapType.itemCode eq log.encapType}"> - <c:set var="encapTypes">${encapType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${encapTypes}"/> - </td> - <td> - <c:set var="directions">${log.direction }</c:set> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction"> - <c:if test="${direction.itemCode eq log.direction}"> - <c:set var="directions">${direction.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${directions}"/> - </td> - <td>${log.innerSmac }</td> - <td>${log.innerDmac }</td> - <td> - <c:set var="streamDirs">${log.streamDir }</c:set> - <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType"> - <c:if test="${streamType.itemCode eq log.streamDir}"> - <c:set var="streamDirs">${streamType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${streamDirs}"/> - </td> - - <td>${log.addrList }</td> - <td>${log.serverLocate}</td> - <td>${log.clientLocate}</td> - <td>${log.sAsn}</td> - <td>${log.dAsn}</td> - <td>${log.sSubscribeId}</td> - <td>${log.dSubscribeId}</td> - <td>${log.userRegion}</td> - <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if> - </tr> - </c:forEach> - </tbody> - </table> - <div class="page">${page}</div> - </div> - </div> - </div> - </div> -</div> -<!-- 转log to URL,start --> -<%@include file="/WEB-INF/include/form/multiHttpUrlModal.jsp" %> -</body> +<%@ page contentType="text/html;charset=UTF-8"%>
+<%@ include file="/WEB-INF/include/taglib.jsp"%>
+<html>
+<head>
+<title>
+ HTTP<spring:message code="log"></spring:message>
+</title>
+<script>
+ $(document).ready(function() {
+ /* $('#contentTable thead tr th input.i-checks').on('ifChecked', function(event){ //ifCreated 事件应该在插件初始化之前绑定
+ $('#contentTable tbody tr td input.i-checks').iCheck('check');
+ });
+
+ $('#contentTable thead tr th input.i-checks').on('ifUnchecked', function(event){ //ifCreated 事件应该在插件初始化之前绑定
+ $('#contentTable tbody tr td input.i-checks').iCheck('uncheck');
+ }); */
+ //reset
+ $("#resetBtn").on("click",function(){
+ $("select.selectpicker").each(function(){
+ $(this).selectpicker('val',$(this).find('option:first').val());
+ $(this).find("option").attr("selected",false);
+ $(this).find("option:first").attr("selected",true);
+ });
+ $(".Wdate").attr("value",'');
+ $(':input','#searchForm')
+ .not(':button,:submit,:reset,:hidden')
+ .attr("value",'');
+ $("#searchForm")[0].reset();
+ });
+ $("#logToUrl").on("click",function(){
+ var checkboxes=$("#contentTable tbody tr td input.i-checks:checkbox");
+ if($(checkboxes).filter(":checked").length>0){
+ $("#http_url_modal").modal({
+ backdrop:"static",
+ keyboard:false,
+ show:true
+ });
+ }else{
+ top.$.jBox.tip("<spring:message code='one_more'/>", "<spring:message code='info'/>");
+ return;
+ }
+
+ });
+ //筛选功能
+ filterActionInit();
+
+ //异步获取voip相关信息
+ $("span[id^=open]").click(function(){
+ var openId=$(this).attr("id");
+ var closeId=$(this).attr("id").replace("open","close");
+ var index=$(this).attr("id").replace("open","");
+ $("#"+openId).hide();
+ $("#"+closeId).show();
+ var compileId=$(this).attr("compileId2");
+// var cfgId=$(this).attr("cfgId");
+ if($("#"+openId).parent().parent().next("tr").hasClass("child")){
+ $("#"+openId).parent().parent().next("tr").show();
+ }else{
+ $.ajax({
+ type:'post',
+ async:false,
+ url:'${ctx}/ntc/website/ajaxHttpSubList',
+ data:{"compileId":compileId,"index":index},
+ dataType:"html",
+ success:function(data){
+ var subTab="<tr class='child'>"+
+ "<td style='border-right: 1px solid #FFFFFF;'>"+
+ "<input type='checkbox' hidden='hidden'/>"+
+ "</td>"+
+ "<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>";
+ var html="";
+ html+="<div class='row'>";
+ html = html+data;
+ subTab=subTab+html;
+ subTab+="</td>";
+ subTab+="</tr>";
+ $("#"+openId).parent().parent().after(subTab);
+ $("div[name='tabTitle"+index+"']").get(0).click();
+ }
+ });
+ }
+
+ });
+
+ $("span[id^=close]").on("click",function(){
+ var closeId=$(this).attr("id");
+ var openId=$(this).attr("id").replace("close","open");
+ $("#"+closeId).hide();
+ $("#"+openId).show();
+ $("#"+closeId).parent().parent().next("tr").hide();
+ });
+ });
+</script>
+</head>
+<body>
+
+<div class="page-content">
+ <div class="theme-panel hidden-xs hidden-sm">
+ </div>
+ <h3 class="page-title">
+ <spring:message code="http_keyword"/>
+ </h3>
+ <h5 class="page-header"></h5>
+ <div class="col-md-12">
+ <div class="portlet">
+ <div class="portlet-body">
+ <div class="row" >
+ <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/httpkey/list" method="post" class="form-search">
+ <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
+ <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+ <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/>
+ <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/>
+ <!-- 筛选按钮展开状态-->
+ <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/><sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/>
+ <!-- 搜索内容与操作按钮栏 -->
+ <div class="col-md-12">
+ <div class="pull-left">
+ <form:select path="service" class="selectpicker select2 input-small">
+ <form:option value=""><spring:message code="action"/></form:option>
+ <c:forEach items="${serviceList}" var="service"
+ varStatus="satus">
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
+ <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }">
+ <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:if>
+ </c:forEach>
+ </c:forEach>
+ </form:select>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
+ </div>
+ <input name="searchFoundStartTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
+ value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="end_date"/></span>
+ </div>
+ <input name="searchFoundEndTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
+ value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+ <div class="pull-left">
+ <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
+ <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
+ <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"/><i class="fa fa-angle-double-down"></i></button>
+ </div>
+ <div class="pull-right">
+ <shiro:hasPermission name="whitelist:domain:config">
+ <button type="button" class="btn btn-default fa fa-exchange" id="logToUrl"> <spring:message code="log_to_url"/></button>
+ </shiro:hasPermission>
+ <a class="btn btn-icon-only btn-default setfields tooltips"
+ data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
+ <i class="icon-wrench"></i>
+ </a>
+ </div>
+ </div>
+ <!-- 搜索内容与操作按钮栏 -->
+
+ <!-- 筛选搜索内容栏默认隐藏-->
+ <div class="col-md-12 filter-action-select-panle hide" >
+ <div class="row">
+ <div class="col-md-2">
+ <div class="form-group">
+ <label class="control-label"><spring:message code='transport_layer_protocol'/>:</label>
+ <form:select path="transProto" class="selectpicker form-control">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="protocol" >
+ <form:option value="${protocol.itemCode}"><spring:message code="${protocol.itemValue}"></spring:message></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label class="control-label"><spring:message code="direction"/>:</label>
+ <form:select path="direction" class="selectpicker form-control">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction" >
+ <form:option value="${direction.itemCode}"><spring:message code="${direction.itemValue}"></spring:message></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="entrance"/>:</label>
+ <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance">
+ <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clj_ip"></spring:message>:</label>
+ <input name="capIp" type="text" class="form-control" value="${log.capIp }"/>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clientip"></spring:message>:</label>
+ <input name="sIp" type="text" class="form-control" value="${log.sIp }"/>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="serverip"></spring:message>:</label>
+ <input name="dIp" type="text" class="form-control" value="${log.dIp }"/>
+ </div>
+ </div>
+ </div>
+
+ <div class="row">
+ <div class="col-md-4">
+ <div class="form-group">
+ <label>URL:</label>
+ <input name="url" type="text" class="form-control" value="${log.url }"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <label><spring:message code="cfg_id"></spring:message>:</label>
+ <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/>
+ </div>
+ </div>
+ </div>
+ <!-- /筛选搜索内容栏 结束-->
+ </form:form>
+ </div>
+ <sys:message content="${message}"/>
+ <div class="table-responsive">
+
+ <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb">
+ <thead>
+ <tr>
+ <th><input type="checkbox" class="i-checks" id="checkAll"> <spring:message code="log"/></th>
+ <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
+ <th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
+ <th class="sort-column found_time"><spring:message code="found_time"/></th>
+ <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
+
+ <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th>
+
+ <th class="sort-column url"> URL </th>
+ <th class="sort-column website"><spring:message code="website"/></th>
+ <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th>
+
+ <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th>
+ <th class="sort-column addr_type"><spring:message code='addr_type'/></th>
+ <th class="sort-column d_ip"><spring:message code="server_ip"/></th>
+ <th class="sort-column s_ip"><spring:message code="client_ip"/></th>
+ <th class="sort-column d_port"><spring:message code="server_port"/></th>
+ <th class="sort-column s_port"><spring:message code="client_port"/></th>
+
+ <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th>
+ <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th>
+ <th class="sort-column encap_type"><spring:message code="encap_type"/></th>
+ <th class="sort-column direction"><spring:message code="direction"/></th>
+ <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th>
+ <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th>
+ <th class="sort-column stream_dir"><spring:message code="stream_type"/></th>
+
+ <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
+ <th class="sort-column server_locate"><spring:message code='server_locate'/></th>
+ <th class="sort-column client_locate"><spring:message code='client_locate'/></th>
+ <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
+ <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
+ <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
+ <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
+ <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
+ <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
+ </tr>
+ </thead>
+ <tbody>
+ <c:forEach var="log" items="${page.list }" varStatus="status">
+ <tr>
+ <td>
+ <input type="checkbox" class="i-checks child-checks" compileId="${log.cfgId }" url="${log.url}" value="${log.cfgId }">
+<%-- <span id="open${status.index}" class="log-open-cfg" compileId2="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span>
+ --%> <a href="javascript:void(0)" name="viewLogInfo" url="${ctx}/ntc/website/ajaxHttpSubList" compileId="${log.cfgId }" ><i class="icon-book-open"></i></a>
+ </td>
+ <td>${log.cfgId }</td>
+ <td>
+ <c:set var="actions">${log.action }</c:set>
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict">
+ <c:if test="${dict.itemCode eq log.action}">
+ <c:set var="actions">${dict.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${actions}"/>
+ </td>
+ <td>${log.foundTime }</td>
+ <td>${log.recvTime }</td>
+
+ <td>
+ <c:set var="entrances">${log.entranceId }</c:set>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
+ <c:if test="${dic.itemCode eq log.entranceId}">
+ <c:set var="entrances">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${entrances}"/>
+ </td>
+
+ <td>
+ ${log.url}
+ <%-- <c:if test="${fn:startsWith(log.url, 'http')}">
+ ${log.url}
+ </c:if>
+ <c:if test="${!fn:startsWith(log.url, 'http') and !empty log.url}">
+ http://${log.url}
+ </c:if> --%>
+ </td>
+ <td>${log.website }</td>
+ <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td>
+ <td>
+ <c:set var="transProtos">${log.transProto }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic">
+ <c:if test="${dic.itemCode eq log.transProto}">
+ <c:set var="transProtos">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${transProtos}"/>
+ </td>
+ <td>
+ <c:set var="addrTypes">${log.addrType }</c:set>
+ <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic">
+ <c:if test="${log.addrType==dic.itemCode}">
+ <c:set var="addrTypes">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${addrTypes}"/>
+ </td>
+ <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td>
+ <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td>
+ <td>${log.dPort }</td>
+ <td>${log.sPort }</td>
+ <td>
+ <c:set var="deviceIds">${log.deviceId }</c:set>
+ <c:forEach items="${fns:getDictList('DEVICE')}" var="device">
+ <c:if test="${device.itemCode eq log.deviceId}">
+ <c:set var="deviceIds">${device.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${deviceIds}"/>
+ </td>
+ <td>
+ <c:set var="linkIds">${log.linkId }</c:set>
+ <c:forEach items="${fns:getDictList('LINK')}" var="link">
+ <c:if test="${link.itemCode eq log.linkId}">
+ <c:set var="linkIds">${link.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${linkIds}"/>
+ </td>
+ <td>
+ <c:set var="encapTypes">${log.encapType }</c:set>
+ <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType">
+ <c:if test="${encapType.itemCode eq log.encapType}">
+ <c:set var="encapTypes">${encapType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${encapTypes}"/>
+ </td>
+ <td>
+ <c:set var="directions">${log.direction }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction">
+ <c:if test="${direction.itemCode eq log.direction}">
+ <c:set var="directions">${direction.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${directions}"/>
+ </td>
+ <td>${log.innerSmac }</td>
+ <td>${log.innerDmac }</td>
+ <td>
+ <c:set var="streamDirs">${log.streamDir }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType">
+ <c:if test="${streamType.itemCode eq log.streamDir}">
+ <c:set var="streamDirs">${streamType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${streamDirs}"/>
+ </td>
+
+ <td>${log.addrList }</td>
+ <td>${log.serverLocate}</td>
+ <td>${log.clientLocate}</td>
+ <td>${log.sAsn}</td>
+ <td>${log.dAsn}</td>
+ <td>${log.sSubscribeId}</td>
+ <td>${log.dSubscribeId}</td>
+ <td>${log.userRegion}</td>
+ <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if>
+ </tr>
+ </c:forEach>
+ </tbody>
+ </table>
+ <div class="page">${page}</div>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
+<!-- 转log to URL,start -->
+<%@include file="/WEB-INF/include/form/multiHttpUrlModal.jsp" %>
+</body>
</html>
\ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/log/ntc/httpList.jsp b/src/main/webapp/WEB-INF/views/log/ntc/httpList.jsp index 9a7c837..86a655b 100644 --- a/src/main/webapp/WEB-INF/views/log/ntc/httpList.jsp +++ b/src/main/webapp/WEB-INF/views/log/ntc/httpList.jsp @@ -271,7 +271,7 @@ <tr>
<td>
<%-- <span id="open${status.index}" class="log-open-cfg" compileId="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span>
- --%> <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a>
+ --%> <a href="javascript:void(0)" name="viewLogInfo" url="${ctx}/ntc/website/ajaxHttpSubList" compileId="${log.cfgId }" ><i class="icon-book-open"></i></a>
</td>
<td>${log.cfgId }</td>
<td>
diff --git a/src/main/webapp/WEB-INF/views/log/ntc/ipList.jsp b/src/main/webapp/WEB-INF/views/log/ntc/ipList.jsp index 0d523a1..7aea0ca 100644 --- a/src/main/webapp/WEB-INF/views/log/ntc/ipList.jsp +++ b/src/main/webapp/WEB-INF/views/log/ntc/ipList.jsp @@ -1,365 +1,366 @@ -<%@ page contentType="text/html;charset=UTF-8"%> -<%@ include file="/WEB-INF/include/taglib.jsp"%> -<html> -<head> -<title> - IP<spring:message code="log"></spring:message> -</title> -<script> - $(document).ready(function() { - //reset - $("#resetBtn").on("click",function(){ - $("select.selectpicker").each(function(){ - $(this).selectpicker('val',$(this).find('option:first').val()); - $(this).find("option").attr("selected",false); - $(this).find("option:first").attr("selected",true); - }); - $(".Wdate").attr("value",''); - $(':input','#searchForm') - .not(':button,:submit,:reset,:hidden') - .attr("value",''); - $("#searchForm")[0].reset(); - }); - //筛选功能 - filterActionInit(); - - //异步获取voip相关信息 - $("span[id^=open]").click(function(){ - var openId=$(this).attr("id"); - var closeId=$(this).attr("id").replace("open","close"); - var index=$(this).attr("id").replace("open",""); - $("#"+openId).hide(); - $("#"+closeId).show(); - var compileId=$(this).attr("compileId"); -// var cfgId=$(this).attr("cfgId"); - if($("#"+openId).parent().parent().next("tr").hasClass("child")){ - $("#"+openId).parent().parent().next("tr").show(); - }else{ - $.ajax({ - type:'post', - async:false, - url:'${ctx}/ntc/iplist/ajaxSubList', - data:{"compileId":compileId,"index":index}, - dataType:"html", - success:function(data){ - var subTab="<tr class='child'>"+ - "<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>"; - var html=""; - html+="<div class='row'>"; - html = html+data; - subTab=subTab+html; - subTab+="</td>"; - subTab+="</tr>"; - $("#"+openId).parent().parent().after(subTab); - $("div[name='tabTitle"+index+"']").get(0).click(); - } - }); - } - - }); - - $("span[id^=close]").on("click",function(){ - var closeId=$(this).attr("id"); - var openId=$(this).attr("id").replace("close","open"); - $("#"+closeId).hide(); - $("#"+openId).show(); - $("#"+closeId).parent().parent().next("tr").hide(); - }); - }); -</script> -</head> -<body> - -<div class="page-content"> - <div class="theme-panel hidden-xs hidden-sm"> - </div> - <h3 class="page-title"> - <spring:message code="ip_control"/>${logSearchUrl} - </h3> - <h5 class="page-header"></h5> - <div class="col-md-12"> - <div class="portlet"> - <div class="portlet-body"> - <div class="row" > - <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/ip/list" method="post" class="form-search"> - <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/> - <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/> - <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/> - <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/> - <!-- 筛选按钮展开状态--> - <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/> - <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();" /> - <!-- 搜索内容与操作按钮栏 --> - <div class="col-md-12"> - <div class="pull-left"> - <form:select path="service" class="selectpicker select2 input-small"> - <form:option value=""><spring:message code="action"/></form:option> - <c:forEach items="${serviceList}" var="service" - varStatus="satus"> - <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict"> - <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) && (service.serviceId ne 37)&& (service.serviceId ne 149) }"> - <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option> - </c:if> - </c:forEach> - </c:forEach> - </form:select> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="begin_date"/></span> - </div> - <input name="searchFoundStartTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium" - value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="end_date"/></span> - </div> - <input name="searchFoundEndTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium" - value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - <div class="pull-left"> - <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button> - <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button> - <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"/><i class="fa fa-angle-double-down"></i></button> - </div> - <div class="pull-right"> - <a class="btn btn-icon-only btn-default setfields tooltips" - data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;"> - <i class="icon-wrench"></i> - </a> - </div> - </div> - <!-- 搜索内容与操作按钮栏 --> - - <!-- 筛选搜索内容栏默认隐藏--> - <div class="col-md-12 filter-action-select-panle hide" > - <div class="row"> - <div class="col-md-2"> - <div class="form-group"> - <label class="control-label"><spring:message code='transport_layer_protocol'/>:</label> - <form:select path="transProto" class="selectpicker form-control"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="protocol" > - <form:option value="${protocol.itemCode}"><spring:message code="${protocol.itemValue}"></spring:message></form:option> - </c:forEach> - </form:select> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label class="control-label"><spring:message code="direction"/>:</label> - <form:select path="direction" class="selectpicker form-control"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction" > - <form:option value="${direction.itemCode}"><spring:message code="${direction.itemValue}"></spring:message></form:option> - </c:forEach> - </form:select> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="entrance"/>:</label> - <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" > - <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option> - </c:forEach> - </form:select> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clj_ip"></spring:message>:</label> - <input name="capIp" type="text" class="form-control" value="${log.capIp }"/> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clientip"></spring:message>:</label> - <input name="sIp" type="text" class="form-control" value="${log.sIp }"/> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="serverip"></spring:message>:</label> - <input name="dIp" type="text" class="form-control" value="${log.dIp }"/> - </div> - </div> - </div> - <div class="row"> - <div class="col-md-2"> - <label><spring:message code="cfg_id"></spring:message>:</label> - <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/> - </div> - </div> - </div> - <!-- /筛选搜索内容栏 结束--> - </form:form> - </div> - <sys:message content="${message}"/> - <div class="table-responsive"> - - <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb"> - <thead> - <tr> - <th><spring:message code="log"/></th> - <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th> - <th class="sort-column service" isVisible="false"><spring:message code="action"/></th> - <th class="sort-column found_time"><spring:message code="found_time"/></th> - <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th> - <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th> - <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th> - <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th> - <th class="sort-column addr_type"><spring:message code='addr_type'/></th> - <th class="sort-column d_ip"><spring:message code="server_ip"/></th> - <th class="sort-column s_ip"><spring:message code="client_ip"/></th> - <th class="sort-column d_port"><spring:message code="server_port"/></th> - <th class="sort-column s_port"><spring:message code="client_port"/></th> - <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th> - <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th> - <th class="sort-column encap_type"><spring:message code="encap_type"/></th> - <th class="sort-column direction"><spring:message code="direction"/></th> - <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th> - <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th> - <th class="sort-column stream_dir"><spring:message code="stream_type"/></th> - - <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th> - <th class="sort-column server_locate"><spring:message code='server_locate'/></th> - <th class="sort-column client_locate"><spring:message code='client_locate'/></th> - <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th> - <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th> - <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th> - <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th> - <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th> - <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if> - </tr> - </thead> - <tbody> - <c:forEach var="log" items="${page.list }" varStatus="status"> - <tr> - <td> - <%-- <span id="open${status.index}" class="log-open-cfg" compileId="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span> --%> - <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a> - </td> - <td>${log.cfgId }</td> - <td> - <c:set var="actions">${log.action }</c:set> - <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict"> - <c:if test="${dict.itemCode eq log.action}"> - <c:set var="actions">${dict.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${actions}"/> - </td> - <td>${log.foundTime }</td> - <td>${log.recvTime }</td> - <td> - <c:set var="entrances">${log.entranceId }</c:set> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> - <c:if test="${dic.itemCode eq log.entranceId}"> - <c:set var="entrances">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${entrances}"/> - </td> - <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td> - <td> - <c:set var="transProtos">${log.transProto }</c:set> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic"> - <c:if test="${dic.itemCode eq log.transProto}"> - <c:set var="transProtos">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${transProtos}"/> - </td> - <td> - <c:set var="addrTypes">${log.addrType }</c:set> - <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic"> - <c:if test="${log.addrType==dic.itemCode}"> - <c:set var="addrTypes">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${addrTypes}"/> - </td> - <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td> - <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td> - <td>${log.dPort }</td> - <td>${log.sPort }</td> - <td> - <c:set var="deviceIds">${log.deviceId }</c:set> - <c:forEach items="${fns:getDictList('DEVICE')}" var="device"> - <c:if test="${device.itemCode eq log.deviceId}"> - <c:set var="deviceIds">${device.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${deviceIds}"/> - </td> - <td> - <c:set var="linkIds">${log.linkId }</c:set> - <c:forEach items="${fns:getDictList('LINK')}" var="link"> - <c:if test="${link.itemCode eq log.linkId}"> - <c:set var="linkIds">${link.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${linkIds}"/> - </td> - <td> - <c:set var="encapTypes">${log.encapType }</c:set> - <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType"> - <c:if test="${encapType.itemCode eq log.encapType}"> - <c:set var="encapTypes">${encapType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${encapTypes}"/> - </td> - <td> - <c:set var="directions">${log.direction }</c:set> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction"> - <c:if test="${direction.itemCode eq log.direction}"> - <c:set var="directions">${direction.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${directions}"/> - </td> - <td>${log.innerSmac }</td> - <td>${log.innerDmac }</td> - <td> - <c:set var="streamDirs">${log.streamDir }</c:set> - <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType"> - <c:if test="${streamType.itemCode eq log.streamDir}"> - <c:set var="streamDirs">${streamType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${streamDirs}"/> - </td> - <td>${log.addrList }</td> - <td>${log.serverLocate}</td> - <td>${log.clientLocate}</td> - <td>${log.sAsn}</td> - <td>${log.dAsn}</td> - <td>${log.sSubscribeId}</td> - <td>${log.dSubscribeId}</td> - <td>${log.userRegion}</td> - <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if> - </tr> - </c:forEach> - </tbody> - </table> - <div class="page">${page}</div> - </div> - </div> - </div> - </div> -</div> -</body> +<%@ page contentType="text/html;charset=UTF-8"%>
+<%@ include file="/WEB-INF/include/taglib.jsp"%>
+<html>
+<head>
+<title>
+ IP<spring:message code="log"></spring:message>
+</title>
+<script>
+ $(document).ready(function() {
+ //reset
+ $("#resetBtn").on("click",function(){
+ $("select.selectpicker").each(function(){
+ $(this).selectpicker('val',$(this).find('option:first').val());
+ $(this).find("option").attr("selected",false);
+ $(this).find("option:first").attr("selected",true);
+ });
+ $(".Wdate").attr("value",'');
+ $(':input','#searchForm')
+ .not(':button,:submit,:reset,:hidden')
+ .attr("value",'');
+ $("#searchForm")[0].reset();
+ });
+ //筛选功能
+ filterActionInit();
+
+ //异步获取voip相关信息
+ $("span[id^=open]").click(function(){
+ var openId=$(this).attr("id");
+ var closeId=$(this).attr("id").replace("open","close");
+ var index=$(this).attr("id").replace("open","");
+ $("#"+openId).hide();
+ $("#"+closeId).show();
+ var compileId=$(this).attr("compileId");
+ compileId="839066";
+// var cfgId=$(this).attr("cfgId");
+ if($("#"+openId).parent().parent().next("tr").hasClass("child")){
+ $("#"+openId).parent().parent().next("tr").show();
+ }else{
+ $.ajax({
+ type:'post',
+ async:false,
+ url:'${ctx}/ntc/iplist/ajaxSubList',
+ data:{"compileId":compileId,"index":index},
+ dataType:"html",
+ success:function(data){
+ var subTab="<tr class='child'>"+
+ "<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>";
+ var html="";
+ html+="<div class='row'>";
+ html = html+data;
+ subTab=subTab+html;
+ subTab+="</td>";
+ subTab+="</tr>";
+ $("#"+openId).parent().parent().after(subTab);
+ $("div[name='tabTitle"+index+"']").get(0).click();
+ }
+ });
+ }
+
+ });
+
+ $("span[id^=close]").on("click",function(){
+ var closeId=$(this).attr("id");
+ var openId=$(this).attr("id").replace("close","open");
+ $("#"+closeId).hide();
+ $("#"+openId).show();
+ $("#"+closeId).parent().parent().next("tr").hide();
+ });
+ });
+</script>
+</head>
+<body>
+
+<div class="page-content">
+ <div class="theme-panel hidden-xs hidden-sm">
+ </div>
+ <h3 class="page-title">
+ <spring:message code="ip_control"/>${logSearchUrl}
+ </h3>
+ <h5 class="page-header"></h5>
+ <div class="col-md-12">
+ <div class="portlet">
+ <div class="portlet-body">
+ <div class="row" >
+ <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/ip/list" method="post" class="form-search">
+ <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
+ <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+ <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/>
+ <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/>
+ <!-- 筛选按钮展开状态-->
+ <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/>
+ <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();" />
+ <!-- 搜索内容与操作按钮栏 -->
+ <div class="col-md-12">
+ <div class="pull-left">
+ <form:select path="service" class="selectpicker select2 input-small">
+ <form:option value=""><spring:message code="action"/></form:option>
+ <c:forEach items="${serviceList}" var="service"
+ varStatus="satus">
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
+ <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) && (service.serviceId ne 37)&& (service.serviceId ne 149) }">
+ <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:if>
+ </c:forEach>
+ </c:forEach>
+ </form:select>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
+ </div>
+ <input name="searchFoundStartTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
+ value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="end_date"/></span>
+ </div>
+ <input name="searchFoundEndTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
+ value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+ <div class="pull-left">
+ <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
+ <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
+ <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"/><i class="fa fa-angle-double-down"></i></button>
+ </div>
+ <div class="pull-right">
+ <a class="btn btn-icon-only btn-default setfields tooltips"
+ data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
+ <i class="icon-wrench"></i>
+ </a>
+ </div>
+ </div>
+ <!-- 搜索内容与操作按钮栏 -->
+
+ <!-- 筛选搜索内容栏默认隐藏-->
+ <div class="col-md-12 filter-action-select-panle hide" >
+ <div class="row">
+ <div class="col-md-2">
+ <div class="form-group">
+ <label class="control-label"><spring:message code='transport_layer_protocol'/>:</label>
+ <form:select path="transProto" class="selectpicker form-control">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="protocol" >
+ <form:option value="${protocol.itemCode}"><spring:message code="${protocol.itemValue}"></spring:message></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label class="control-label"><spring:message code="direction"/>:</label>
+ <form:select path="direction" class="selectpicker form-control">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction" >
+ <form:option value="${direction.itemCode}"><spring:message code="${direction.itemValue}"></spring:message></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="entrance"/>:</label>
+ <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" >
+ <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clj_ip"></spring:message>:</label>
+ <input name="capIp" type="text" class="form-control" value="${log.capIp }"/>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clientip"></spring:message>:</label>
+ <input name="sIp" type="text" class="form-control" value="${log.sIp }"/>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="serverip"></spring:message>:</label>
+ <input name="dIp" type="text" class="form-control" value="${log.dIp }"/>
+ </div>
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-md-2">
+ <label><spring:message code="cfg_id"></spring:message>:</label>
+ <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/>
+ </div>
+ </div>
+ </div>
+ <!-- /筛选搜索内容栏 结束-->
+ </form:form>
+ </div>
+ <sys:message content="${message}"/>
+ <div class="table-responsive">
+
+ <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb">
+ <thead>
+ <tr>
+ <th><spring:message code="log"/></th>
+ <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
+ <th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
+ <th class="sort-column found_time"><spring:message code="found_time"/></th>
+ <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
+ <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th>
+ <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th>
+ <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th>
+ <th class="sort-column addr_type"><spring:message code='addr_type'/></th>
+ <th class="sort-column d_ip"><spring:message code="server_ip"/></th>
+ <th class="sort-column s_ip"><spring:message code="client_ip"/></th>
+ <th class="sort-column d_port"><spring:message code="server_port"/></th>
+ <th class="sort-column s_port"><spring:message code="client_port"/></th>
+ <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th>
+ <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th>
+ <th class="sort-column encap_type"><spring:message code="encap_type"/></th>
+ <th class="sort-column direction"><spring:message code="direction"/></th>
+ <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th>
+ <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th>
+ <th class="sort-column stream_dir"><spring:message code="stream_type"/></th>
+
+ <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
+ <th class="sort-column server_locate"><spring:message code='server_locate'/></th>
+ <th class="sort-column client_locate"><spring:message code='client_locate'/></th>
+ <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
+ <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
+ <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
+ <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
+ <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
+ <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
+ </tr>
+ </thead>
+ <tbody>
+ <c:forEach var="log" items="${page.list }" varStatus="status">
+ <tr>
+ <td>
+ <%-- <span id="open${status.index}" class="log-open-cfg" compileId="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span> --%>
+ <a href="javascript:void(0)" name="viewLogInfo" url="${ctx}/ntc/iplist/ajaxSubList" compileId="${log.cfgId }" ><i class="icon-book-open"></i></a>
+ </td>
+ <td>${log.cfgId }</td>
+ <td>
+ <c:set var="actions">${log.action }</c:set>
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict">
+ <c:if test="${dict.itemCode eq log.action}">
+ <c:set var="actions">${dict.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${actions}"/>
+ </td>
+ <td>${log.foundTime }</td>
+ <td>${log.recvTime }</td>
+ <td>
+ <c:set var="entrances">${log.entranceId }</c:set>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
+ <c:if test="${dic.itemCode eq log.entranceId}">
+ <c:set var="entrances">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${entrances}"/>
+ </td>
+ <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td>
+ <td>
+ <c:set var="transProtos">${log.transProto }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic">
+ <c:if test="${dic.itemCode eq log.transProto}">
+ <c:set var="transProtos">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${transProtos}"/>
+ </td>
+ <td>
+ <c:set var="addrTypes">${log.addrType }</c:set>
+ <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic">
+ <c:if test="${log.addrType==dic.itemCode}">
+ <c:set var="addrTypes">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${addrTypes}"/>
+ </td>
+ <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td>
+ <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td>
+ <td>${log.dPort }</td>
+ <td>${log.sPort }</td>
+ <td>
+ <c:set var="deviceIds">${log.deviceId }</c:set>
+ <c:forEach items="${fns:getDictList('DEVICE')}" var="device">
+ <c:if test="${device.itemCode eq log.deviceId}">
+ <c:set var="deviceIds">${device.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${deviceIds}"/>
+ </td>
+ <td>
+ <c:set var="linkIds">${log.linkId }</c:set>
+ <c:forEach items="${fns:getDictList('LINK')}" var="link">
+ <c:if test="${link.itemCode eq log.linkId}">
+ <c:set var="linkIds">${link.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${linkIds}"/>
+ </td>
+ <td>
+ <c:set var="encapTypes">${log.encapType }</c:set>
+ <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType">
+ <c:if test="${encapType.itemCode eq log.encapType}">
+ <c:set var="encapTypes">${encapType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${encapTypes}"/>
+ </td>
+ <td>
+ <c:set var="directions">${log.direction }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction">
+ <c:if test="${direction.itemCode eq log.direction}">
+ <c:set var="directions">${direction.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${directions}"/>
+ </td>
+ <td>${log.innerSmac }</td>
+ <td>${log.innerDmac }</td>
+ <td>
+ <c:set var="streamDirs">${log.streamDir }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType">
+ <c:if test="${streamType.itemCode eq log.streamDir}">
+ <c:set var="streamDirs">${streamType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${streamDirs}"/>
+ </td>
+ <td>${log.addrList }</td>
+ <td>${log.serverLocate}</td>
+ <td>${log.clientLocate}</td>
+ <td>${log.sAsn}</td>
+ <td>${log.dAsn}</td>
+ <td>${log.sSubscribeId}</td>
+ <td>${log.dSubscribeId}</td>
+ <td>${log.userRegion}</td>
+ <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if>
+ </tr>
+ </c:forEach>
+ </tbody>
+ </table>
+ <div class="page">${page}</div>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
+</body>
</html>
\ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/log/ntc/ipsecList.jsp b/src/main/webapp/WEB-INF/views/log/ntc/ipsecList.jsp index adbc084..105cdd6 100644 --- a/src/main/webapp/WEB-INF/views/log/ntc/ipsecList.jsp +++ b/src/main/webapp/WEB-INF/views/log/ntc/ipsecList.jsp @@ -1,328 +1,328 @@ -<%@ page contentType="text/html;charset=UTF-8"%> -<%@ include file="/WEB-INF/include/taglib.jsp"%> -<html> -<head> - -<script type="text/javascript"> -$(document).ready(function(){ - //筛选功能 - filterActionInit(); - //reset - $("#resetBtn").on("click",function(){ - $("select.selectpicker").each(function(){ - $(this).selectpicker('val',$(this).find('option:first').val()); - $(this).find("option").attr("selected",false); - $(this).find("option:first").attr("selected",true); - }); - $(".Wdate").attr("value",''); - $(':input','#searchForm') - .not(':button,:submit,:reset,:hidden') - .attr("value",''); - $("#searchForm")[0].reset(); - }); -}); - -</script> -</head> -<body> - -<div class="page-content"> - <div class="theme-panel hidden-xs hidden-sm"> - </div> - <h3 class="page-title"> - <spring:message code="IPSEC"/> - </h3> - - <h5 class="page-header"></h5> - <div class="col-md-12"> - <div class="portlet"> - <div class="portlet-body"> - <div class="row" > - <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/ntcIpsecLogs" method="post" class="form-search"> - <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/> - <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/> - <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/> - <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/> - <!-- 筛选按钮展开状态--> - <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/> - - <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/> - - <!-- 搜索内容与操作按钮栏 --> - <div class="col-md-12"> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="begin_date"/></span> - </div> - <input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" class="form-control input-medium Wdate " - value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="end_date"/></span> - </div> - <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate " - value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - - <div class="pull-left"> - <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button> - <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button> - <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button> - </div> - - <div class="pull-right"> - <a class="btn btn-icon-only btn-default setfields tooltips" - data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;"> - <i class="icon-wrench"></i> - </a> - </div> - </div> - - <!-- 筛选搜索内容栏默认隐藏--> - <div class="col-md-12 filter-action-select-panle hide" > - <div class="row"> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="transport_layer_protocol"/>:</label> - <c:set var="select"><spring:message code='select'/></c:set> - <form:select path="transProto" class="selectpicker form-control" > - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict"> - <form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option> - </c:forEach> - </form:select> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="direction"/>:</label> - <form:select path="direction" class="selectpicker select2 form-control"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="dict"> - <form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option> - </c:forEach> - </form:select> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="entrance"/>:</label> - <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" > - <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option> - </c:forEach> - </form:select> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clj_ip"/>:</label> - <input id=capIp name="capIp" class="form-control" type="text" value="${log.capIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clientip"/>:</label> - <input id="sIp" name="sIp" class="form-control" type="text" value="${log.sIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="serverip"/>:</label> - <input id="dIp" name="dIp" class="form-control" type="text" value="${log.dIp}"/> - </div> - </div> - </div> - <div class="row"> - <div class="col-md-2"> - <label><spring:message code="cfg_id"></spring:message>:</label> - <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/> - </div> - </div> - </div> - <!-- /筛选搜索内容栏 结束--> - </form:form> - </div> - <sys:message content="${message}"/> - <div class="table-responsive"> - - <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb"> - <thead> - <tr> - <th><spring:message code="log"/></th> - <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th> - <th class="sort-column service" isVisible="false"><spring:message code="action"/></th> - <th class="sort-column found_time"><spring:message code="found_time"/></th> - <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th> - - <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th> - - <th class="sort-column ex_protocol"><spring:message code='ex_protocol'/></th> - <th class="sort-column isakmp_mode"><spring:message code='isakmp_mode'/></th> - <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th> - - <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th> - <th class="sort-column addr_type"><spring:message code='addr_type'/></th> - <th class="sort-column d_ip"><spring:message code="server_ip"/></th> - <th class="sort-column s_ip"><spring:message code="client_ip"/></th> - <th class="sort-column d_port"><spring:message code="server_port"/></th> - <th class="sort-column s_port"><spring:message code="client_port"/></th> - - <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th> - <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th> - <th class="sort-column encap_type"><spring:message code="encap_type"/></th> - <th class="sort-column direction"><spring:message code="direction"/></th> - <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th> - <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th> - <th class="sort-column stream_dir"><spring:message code="stream_type"/></th> - - <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th> - <th class="sort-column server_locate"><spring:message code='server_locate'/></th> - <th class="sort-column client_locate"><spring:message code='client_locate'/></th> - <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th> - <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th> - <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th> - <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th> - <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th> - <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if> - </tr> - </thead> - <tbody> - <c:forEach var="log" items="${page.list }" varStatus="status"> - <tr> - <td> - <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a> - </td> - <td>${log.cfgId }</td> - <td> - <c:set var="actions">${log.action }</c:set> - <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict"> - <c:if test="${dict.itemCode eq log.action}"> - <c:set var="actions">${dict.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${actions}"/> - </td> - <td>${log.foundTime }</td> - <td>${log.recvTime }</td> - - <td> - <c:set var="entrances">${log.entranceId }</c:set> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> - <c:if test="${dic.itemCode eq log.entranceId}"> - <c:set var="entrances">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${entrances}"/> - </td> - - <td> - <c:if test="${log.exProtocol==1}">ISAKMP(V1)</c:if> - <c:if test="${log.exProtocol==2}">IKEv2</c:if> - <c:if test="${log.exProtocol==3}">Others</c:if> - </td> - <td> - <c:if test="${log.isakmpMode==1}">Aggre</c:if> - <c:if test="${log.isakmpMode==2}">Main</c:if> - <c:if test="${log.isakmpMode==3}">nat_aggre</c:if> - <c:if test="${log.isakmpMode==4}">nat_main</c:if> - </td> - <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td> - <td> - <c:set var="transProtos">${log.transProto }</c:set> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic"> - <c:if test="${dic.itemCode eq log.transProto}"> - <c:set var="transProtos">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${transProtos}"/> - </td> - <td> - <c:set var="addrTypes">${log.addrType }</c:set> - <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic"> - <c:if test="${log.addrType==dic.itemCode}"> - <c:set var="addrTypes">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${addrTypes}"/> - </td> - <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td> - <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td> - <td>${log.dPort }</td> - <td>${log.sPort }</td> - <td> - <c:set var="deviceIds">${log.deviceId }</c:set> - <c:forEach items="${fns:getDictList('DEVICE')}" var="device"> - <c:if test="${device.itemCode eq log.deviceId}"> - <c:set var="deviceIds">${device.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${deviceIds}"/> - </td> - <td> - <c:set var="linkIds">${log.linkId }</c:set> - <c:forEach items="${fns:getDictList('LINK')}" var="link"> - <c:if test="${link.itemCode eq log.linkId}"> - <c:set var="linkIds">${link.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${linkIds}"/> - </td> - <td> - <c:set var="encapTypes">${log.encapType }</c:set> - <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType"> - <c:if test="${encapType.itemCode eq log.encapType}"> - <c:set var="encapTypes">${encapType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${encapTypes}"/> - </td> - <td> - <c:set var="directions">${log.direction }</c:set> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction"> - <c:if test="${direction.itemCode eq log.direction}"> - <c:set var="directions">${direction.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${directions}"/> - </td> - <td>${log.innerSmac }</td> - <td>${log.innerDmac }</td> - <td> - <c:set var="streamDirs">${log.streamDir }</c:set> - <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType"> - <c:if test="${streamType.itemCode eq log.streamDir}"> - <c:set var="streamDirs">${streamType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${streamDirs}"/> - </td> - - <td>${log.addrList }</td> - <td>${log.serverLocate}</td> - <td>${log.clientLocate}</td> - <td>${log.sAsn}</td> - <td>${log.dAsn}</td> - <td>${log.sSubscribeId}</td> - <td>${log.dSubscribeId}</td> - <td>${log.userRegion}</td> - <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if> - </tr> - </c:forEach> - </tbody> - </table> - <div class="page">${page}</div> - </div> - </div> - </div> - </div> - </div> -</body> -</html> +<%@ page contentType="text/html;charset=UTF-8"%>
+<%@ include file="/WEB-INF/include/taglib.jsp"%>
+<html>
+<head>
+
+<script type="text/javascript">
+$(document).ready(function(){
+ //筛选功能
+ filterActionInit();
+ //reset
+ $("#resetBtn").on("click",function(){
+ $("select.selectpicker").each(function(){
+ $(this).selectpicker('val',$(this).find('option:first').val());
+ $(this).find("option").attr("selected",false);
+ $(this).find("option:first").attr("selected",true);
+ });
+ $(".Wdate").attr("value",'');
+ $(':input','#searchForm')
+ .not(':button,:submit,:reset,:hidden')
+ .attr("value",'');
+ $("#searchForm")[0].reset();
+ });
+});
+
+</script>
+</head>
+<body>
+
+<div class="page-content">
+ <div class="theme-panel hidden-xs hidden-sm">
+ </div>
+ <h3 class="page-title">
+ <spring:message code="IPSEC"/>
+ </h3>
+
+ <h5 class="page-header"></h5>
+ <div class="col-md-12">
+ <div class="portlet">
+ <div class="portlet-body">
+ <div class="row" >
+ <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/ntcIpsecLogs" method="post" class="form-search">
+ <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
+ <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+ <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/>
+ <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/>
+ <!-- 筛选按钮展开状态-->
+ <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/>
+
+ <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/>
+
+ <!-- 搜索内容与操作按钮栏 -->
+ <div class="col-md-12">
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
+ </div>
+ <input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
+ value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="end_date"/></span>
+ </div>
+ <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
+ value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+
+ <div class="pull-left">
+ <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
+ <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
+ <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button>
+ </div>
+
+ <div class="pull-right">
+ <a class="btn btn-icon-only btn-default setfields tooltips"
+ data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
+ <i class="icon-wrench"></i>
+ </a>
+ </div>
+ </div>
+
+ <!-- 筛选搜索内容栏默认隐藏-->
+ <div class="col-md-12 filter-action-select-panle hide" >
+ <div class="row">
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="transport_layer_protocol"/>:</label>
+ <c:set var="select"><spring:message code='select'/></c:set>
+ <form:select path="transProto" class="selectpicker form-control" >
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict">
+ <form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="direction"/>:</label>
+ <form:select path="direction" class="selectpicker select2 form-control">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="dict">
+ <form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="entrance"/>:</label>
+ <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" >
+ <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clj_ip"/>:</label>
+ <input id=capIp name="capIp" class="form-control" type="text" value="${log.capIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clientip"/>:</label>
+ <input id="sIp" name="sIp" class="form-control" type="text" value="${log.sIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="serverip"/>:</label>
+ <input id="dIp" name="dIp" class="form-control" type="text" value="${log.dIp}"/>
+ </div>
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-md-2">
+ <label><spring:message code="cfg_id"></spring:message>:</label>
+ <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/>
+ </div>
+ </div>
+ </div>
+ <!-- /筛选搜索内容栏 结束-->
+ </form:form>
+ </div>
+ <sys:message content="${message}"/>
+ <div class="table-responsive">
+
+ <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb">
+ <thead>
+ <tr>
+ <th><spring:message code="log"/></th>
+ <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
+ <th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
+ <th class="sort-column found_time"><spring:message code="found_time"/></th>
+ <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
+
+ <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th>
+
+ <th class="sort-column ex_protocol"><spring:message code='ex_protocol'/></th>
+ <th class="sort-column isakmp_mode"><spring:message code='isakmp_mode'/></th>
+ <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th>
+
+ <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th>
+ <th class="sort-column addr_type"><spring:message code='addr_type'/></th>
+ <th class="sort-column d_ip"><spring:message code="server_ip"/></th>
+ <th class="sort-column s_ip"><spring:message code="client_ip"/></th>
+ <th class="sort-column d_port"><spring:message code="server_port"/></th>
+ <th class="sort-column s_port"><spring:message code="client_port"/></th>
+
+ <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th>
+ <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th>
+ <th class="sort-column encap_type"><spring:message code="encap_type"/></th>
+ <th class="sort-column direction"><spring:message code="direction"/></th>
+ <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th>
+ <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th>
+ <th class="sort-column stream_dir"><spring:message code="stream_type"/></th>
+
+ <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
+ <th class="sort-column server_locate"><spring:message code='server_locate'/></th>
+ <th class="sort-column client_locate"><spring:message code='client_locate'/></th>
+ <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
+ <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
+ <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
+ <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
+ <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
+ <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
+ </tr>
+ </thead>
+ <tbody>
+ <c:forEach var="log" items="${page.list }" varStatus="status">
+ <tr>
+ <td>
+ <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a>
+ </td>
+ <td>${log.cfgId }</td>
+ <td>
+ <c:set var="actions">${log.action }</c:set>
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict">
+ <c:if test="${dict.itemCode eq log.action}">
+ <c:set var="actions">${dict.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${actions}"/>
+ </td>
+ <td>${log.foundTime }</td>
+ <td>${log.recvTime }</td>
+
+ <td>
+ <c:set var="entrances">${log.entranceId }</c:set>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
+ <c:if test="${dic.itemCode eq log.entranceId}">
+ <c:set var="entrances">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${entrances}"/>
+ </td>
+
+ <td>
+ <c:if test="${log.exProtocol==1}">ISAKMP(V1)</c:if>
+ <c:if test="${log.exProtocol==2}">IKEv2</c:if>
+ <c:if test="${log.exProtocol==3}">Others</c:if>
+ </td>
+ <td>
+ <c:if test="${log.isakmpMode==1}">Aggre</c:if>
+ <c:if test="${log.isakmpMode==2}">Main</c:if>
+ <c:if test="${log.isakmpMode==3}">nat_aggre</c:if>
+ <c:if test="${log.isakmpMode==4}">nat_main</c:if>
+ </td>
+ <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td>
+ <td>
+ <c:set var="transProtos">${log.transProto }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic">
+ <c:if test="${dic.itemCode eq log.transProto}">
+ <c:set var="transProtos">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${transProtos}"/>
+ </td>
+ <td>
+ <c:set var="addrTypes">${log.addrType }</c:set>
+ <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic">
+ <c:if test="${log.addrType==dic.itemCode}">
+ <c:set var="addrTypes">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${addrTypes}"/>
+ </td>
+ <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td>
+ <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td>
+ <td>${log.dPort }</td>
+ <td>${log.sPort }</td>
+ <td>
+ <c:set var="deviceIds">${log.deviceId }</c:set>
+ <c:forEach items="${fns:getDictList('DEVICE')}" var="device">
+ <c:if test="${device.itemCode eq log.deviceId}">
+ <c:set var="deviceIds">${device.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${deviceIds}"/>
+ </td>
+ <td>
+ <c:set var="linkIds">${log.linkId }</c:set>
+ <c:forEach items="${fns:getDictList('LINK')}" var="link">
+ <c:if test="${link.itemCode eq log.linkId}">
+ <c:set var="linkIds">${link.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${linkIds}"/>
+ </td>
+ <td>
+ <c:set var="encapTypes">${log.encapType }</c:set>
+ <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType">
+ <c:if test="${encapType.itemCode eq log.encapType}">
+ <c:set var="encapTypes">${encapType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${encapTypes}"/>
+ </td>
+ <td>
+ <c:set var="directions">${log.direction }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction">
+ <c:if test="${direction.itemCode eq log.direction}">
+ <c:set var="directions">${direction.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${directions}"/>
+ </td>
+ <td>${log.innerSmac }</td>
+ <td>${log.innerDmac }</td>
+ <td>
+ <c:set var="streamDirs">${log.streamDir }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType">
+ <c:if test="${streamType.itemCode eq log.streamDir}">
+ <c:set var="streamDirs">${streamType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${streamDirs}"/>
+ </td>
+
+ <td>${log.addrList }</td>
+ <td>${log.serverLocate}</td>
+ <td>${log.clientLocate}</td>
+ <td>${log.sAsn}</td>
+ <td>${log.dAsn}</td>
+ <td>${log.sSubscribeId}</td>
+ <td>${log.dSubscribeId}</td>
+ <td>${log.userRegion}</td>
+ <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if>
+ </tr>
+ </c:forEach>
+ </tbody>
+ </table>
+ <div class="page">${page}</div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+</body>
+</html>
diff --git a/src/main/webapp/WEB-INF/views/log/ntc/irDnatLogList.jsp b/src/main/webapp/WEB-INF/views/log/ntc/irDnatLogList.jsp index c47fa37..fb1f231 100644 --- a/src/main/webapp/WEB-INF/views/log/ntc/irDnatLogList.jsp +++ b/src/main/webapp/WEB-INF/views/log/ntc/irDnatLogList.jsp @@ -1,385 +1,351 @@ -<%@ page contentType="text/html;charset=UTF-8"%> -<%@ include file="/WEB-INF/include/taglib.jsp"%> -<html> -<head> -<title> - IP<spring:message code="log"></spring:message> -</title> -<script> - $(document).ready(function() { - //reset - $("#resetBtn").on("click",function(){ - $("select.selectpicker").each(function(){ - $(this).selectpicker('val',$(this).find('option:first').val()); - $(this).find("option").attr("selected",false); - $(this).find("option:first").attr("selected",true); - }); - $(".Wdate").attr("value",''); - $(':input','#searchForm') - .not(':button,:submit,:reset,:hidden') - .attr("value",''); - $("#searchForm")[0].reset(); - }); - //筛选功能 - filterActionInit(); - - //异步获取voip相关信息 - $("span[id^=open]").click(function(){ - var openId=$(this).attr("id"); - var closeId=$(this).attr("id").replace("open","close"); - var index=$(this).attr("id").replace("open",""); - $("#"+openId).hide(); - $("#"+closeId).show(); - var compileId=$(this).attr("compileId"); -// var cfgId=$(this).attr("cfgId"); - if($("#"+openId).parent().parent().next("tr").hasClass("child")){ - $("#"+openId).parent().parent().next("tr").show(); - }else{ - $.ajax({ - type:'post', - async:false, - url:'${ctx}/ntc/iplist/ajaxSubList', - data:{"compileId":compileId,"index":index}, - dataType:"html", - success:function(data){ - var subTab="<tr class='child'>"+ - "<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>"; - var html=""; - html+="<div class='row'>"; - html = html+data; - subTab=subTab+html; - subTab+="</td>"; - subTab+="</tr>"; - $("#"+openId).parent().parent().after(subTab); - $("div[name='tabTitle"+index+"']").get(0).click(); - } - }); - } - - }); - - $("span[id^=close]").on("click",function(){ - var closeId=$(this).attr("id"); - var openId=$(this).attr("id").replace("close","open"); - $("#"+closeId).hide(); - $("#"+openId).show(); - $("#"+closeId).parent().parent().next("tr").hide(); - }); - }); -</script> -</head> -<body> - -<div class="page-content"> - <div class="theme-panel hidden-xs hidden-sm"> - </div> - <h3 class="page-title"> - <spring:message code="dnat_multiplex"/> - </h3> - <h5 class="page-header"></h5> - <div class="col-md-12"> - <div class="portlet"> - <div class="portlet-body"> - <div class="row" > - <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/irDnatLogs/list" method="post" class="form-search"> - <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/> - <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/> - <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/> - <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/> - <!-- 筛选按钮展开状态--> - <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/> - <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();" /> - <!-- 搜索内容与操作按钮栏 --> - <div class="col-md-12"> - <div class="pull-left"> - <form:select path="service" class="selectpicker select2 input-small"> - <form:option value=""><spring:message code="action"/></form:option> - <c:forEach items="${serviceList}" var="service" - varStatus="satus"> - <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict"> - <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) && (service.serviceId ne 37)&& (service.serviceId ne 149) }"> - <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option> - </c:if> - </c:forEach> - </c:forEach> - </form:select> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="begin_date"/></span> - </div> - <input name="searchFoundStartTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium" - value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="end_date"/></span> - </div> - <input name="searchFoundEndTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium" - value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - <div class="pull-left"> - <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button> - <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button> - <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"/><i class="fa fa-angle-double-down"></i></button> - </div> - <div class="pull-right"> - <a class="btn btn-icon-only btn-default setfields tooltips" - data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;"> - <i class="icon-wrench"></i> - </a> - </div> - </div> - <!-- 搜索内容与操作按钮栏 --> - - <!-- 筛选搜索内容栏默认隐藏--> - <div class="col-md-12 filter-action-select-panle hide" > - <div class="row"> - <div class="col-md-2"> - <div class="form-group"> - <label class="control-label"><spring:message code='transport_layer_protocol'/>:</label> - <form:select path="transProto" class="selectpicker form-control"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="protocol" > - <form:option value="${protocol.itemCode}"><spring:message code="${protocol.itemValue}"></spring:message></form:option> - </c:forEach> - </form:select> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label class="control-label"><spring:message code="direction"/>:</label> - <form:select path="direction" class="selectpicker form-control"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction" > - <form:option value="${direction.itemCode}"><spring:message code="${direction.itemValue}"></spring:message></form:option> - </c:forEach> - </form:select> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="entrance"/>:</label> - <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" > - <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option> - </c:forEach> - </form:select> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clj_ip"></spring:message>:</label> - <input name="capIp" type="text" class="form-control" value="${log.capIp }"/> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clientip"></spring:message>:</label> - <input name="sIp" type="text" class="form-control" value="${log.sIp }"/> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="serverip"></spring:message>:</label> - <input name="dIp" type="text" class="form-control" value="${log.dIp }"/> - </div> - </div> - </div> - <div class="row"> - <div class="col-md-2"> - <label><spring:message code="cfg_id"></spring:message>:</label> - <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/> - </div> - </div> - </div> - <!-- /筛选搜索内容栏 结束--> - </form:form> - </div> - <sys:message content="${message}"/> - <div class="table-responsive"> - - <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb"> - <thead> - <tr> - <th><spring:message code="log"/></th> - <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th> - <th class="sort-column service" isVisible="false"><spring:message code="action"/></th> - <th class="sort-column found_time"><spring:message code="found_time"/></th> - <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th> - <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th> - - <th class="sort-column user_id"><spring:message code="user"/></th> - <th class="sort-column nat_ip"><spring:message code="nat_ip"/></th> - <th class="sort-column creat_time"><spring:message code="creat_time"/></th> - <th class="sort-column close_time"><spring:message code='close_time'/></th> - <th class="sort-column c2s_pkt_num"><spring:message code="c2s_pkt_num"/></th> - <th class="sort-column s2c_pkt_num"><spring:message code="s2c_pkt_num"/></th> - <th class="sort-column c2s_byte_num"><spring:message code="c2s_byte_num"/></th> - <th class="sort-column s2c_byte_num"><spring:message code="s2c_byte_num"/></th> - - - <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th> - <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th> - <th class="sort-column addr_type"><spring:message code='addr_type'/></th> - <th class="sort-column d_ip"><spring:message code="server_ip"/></th> - <th class="sort-column s_ip"><spring:message code="client_ip"/></th> - <th class="sort-column d_port"><spring:message code="server_port"/></th> - <th class="sort-column s_port"><spring:message code="client_port"/></th> - <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th> - <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th> - <th class="sort-column encap_type"><spring:message code="encap_type"/></th> - <th class="sort-column direction"><spring:message code="direction"/></th> - <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th> - <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th> - <th class="sort-column stream_dir"><spring:message code="stream_type"/></th> - - <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th> - <th class="sort-column server_locate"><spring:message code='server_locate'/></th> - <th class="sort-column client_locate"><spring:message code='client_locate'/></th> - <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th> - <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th> - <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th> - <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th> - <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th> - <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if> - </tr> - </thead> - <tbody> - <c:forEach var="log" items="${page.list }" varStatus="status"> - <tr> - <td> - <%-- <span id="open${status.index}" class="log-open-cfg" compileId="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span> --%> - <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a> - </td> - <td>${log.cfgId }</td> - <td> - <c:set var="actions">${log.action }</c:set> - <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict"> - <c:if test="${dict.itemCode eq log.action}"> - <c:set var="actions">${dict.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${actions}"/> - </td> - <td>${log.foundTime }</td> - <td>${log.recvTime }</td> - <td> - <c:set var="entrances">${log.entranceId }</c:set> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> - <c:if test="${dic.itemCode eq log.entranceId}"> - <c:set var="entrances">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${entrances}"/> - </td> - - <td>${log.natIp }</td> - <td>${log.creatTime }</td> - <td>${log.closeTime }</td> - <td>${log.c2sPktNum }</td> - <td>${log.s2cPktNum }</td> - <td>${log.c2sByteNum }</td> - <td>${log.s2cByteNum }</td> - - <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td> - <td> - <c:set var="transProtos">${log.transProto }</c:set> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic"> - <c:if test="${dic.itemCode eq log.transProto}"> - <c:set var="transProtos">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${transProtos}"/> - </td> - <td> - <c:set var="addrTypes">${log.addrType }</c:set> - <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic"> - <c:if test="${log.addrType==dic.itemCode}"> - <c:set var="addrTypes">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${addrTypes}"/> - </td> - <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td> - <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td> - <td>${log.dPort }</td> - <td>${log.sPort }</td> - <td> - <c:set var="deviceIds">${log.deviceId }</c:set> - <c:forEach items="${fns:getDictList('DEVICE')}" var="device"> - <c:if test="${device.itemCode eq log.deviceId}"> - <c:set var="deviceIds">${device.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${deviceIds}"/> - </td> - <td> - <c:set var="linkIds">${log.linkId }</c:set> - <c:forEach items="${fns:getDictList('LINK')}" var="link"> - <c:if test="${link.itemCode eq log.linkId}"> - <c:set var="linkIds">${link.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${linkIds}"/> - </td> - <td> - <c:set var="encapTypes">${log.encapType }</c:set> - <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType"> - <c:if test="${encapType.itemCode eq log.encapType}"> - <c:set var="encapTypes">${encapType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${encapTypes}"/> - </td> - <td> - <c:set var="directions">${log.direction }</c:set> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction"> - <c:if test="${direction.itemCode eq log.direction}"> - <c:set var="directions">${direction.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${directions}"/> - </td> - <td>${log.innerSmac }</td> - <td>${log.innerDmac }</td> - <td> - <c:set var="streamDirs">${log.streamDir }</c:set> - <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType"> - <c:if test="${streamType.itemCode eq log.streamDir}"> - <c:set var="streamDirs">${streamType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${streamDirs}"/> - </td> - <td>${log.addrList }</td> - <td>${log.serverLocate}</td> - <td>${log.clientLocate}</td> - <td>${log.sAsn}</td> - <td>${log.dAsn}</td> - <td>${log.sSubscribeId}</td> - <td>${log.dSubscribeId}</td> - <td>${log.userRegion}</td> - <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if> - </tr> - </c:forEach> - </tbody> - </table> - <div class="page">${page}</div> - </div> - </div> - </div> - </div> -</div> -</body> +<%@ page contentType="text/html;charset=UTF-8"%>
+<%@ include file="/WEB-INF/include/taglib.jsp"%>
+<html>
+<head>
+<title>
+ IP<spring:message code="log"></spring:message>
+</title>
+<script>
+ $(document).ready(function() {
+ //reset
+ $("#resetBtn").on("click",function(){
+ $("select.selectpicker").each(function(){
+ $(this).selectpicker('val',$(this).find('option:first').val());
+ $(this).find("option").attr("selected",false);
+ $(this).find("option:first").attr("selected",true);
+ });
+ $(".Wdate").attr("value",'');
+ $(':input','#searchForm')
+ .not(':button,:submit,:reset,:hidden')
+ .attr("value",'');
+ $("#searchForm")[0].reset();
+ });
+ //筛选功能
+ filterActionInit();
+
+
+ $("span[id^=close]").on("click",function(){
+ var closeId=$(this).attr("id");
+ var openId=$(this).attr("id").replace("close","open");
+ $("#"+closeId).hide();
+ $("#"+openId).show();
+ $("#"+closeId).parent().parent().next("tr").hide();
+ });
+ });
+</script>
+</head>
+<body>
+
+<div class="page-content">
+ <div class="theme-panel hidden-xs hidden-sm">
+ </div>
+ <h3 class="page-title">
+ <spring:message code="dnat_multiplex"/>
+ </h3>
+ <h5 class="page-header"></h5>
+ <div class="col-md-12">
+ <div class="portlet">
+ <div class="portlet-body">
+ <div class="row" >
+ <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/irDnatLogs/list" method="post" class="form-search">
+ <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
+ <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+ <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/>
+ <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/>
+ <!-- 筛选按钮展开状态-->
+ <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/>
+ <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();" />
+ <!-- 搜索内容与操作按钮栏 -->
+ <div class="col-md-12">
+ <div class="pull-left">
+ <form:select path="service" class="selectpicker select2 input-small">
+ <form:option value=""><spring:message code="action"/></form:option>
+ <c:forEach items="${serviceList}" var="service"
+ varStatus="satus">
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
+ <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) && (service.serviceId ne 37)&& (service.serviceId ne 149) }">
+ <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:if>
+ </c:forEach>
+ </c:forEach>
+ </form:select>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
+ </div>
+ <input name="searchFoundStartTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
+ value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="end_date"/></span>
+ </div>
+ <input name="searchFoundEndTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
+ value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+ <div class="pull-left">
+ <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
+ <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
+ <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"/><i class="fa fa-angle-double-down"></i></button>
+ </div>
+ <div class="pull-right">
+ <a class="btn btn-icon-only btn-default setfields tooltips"
+ data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
+ <i class="icon-wrench"></i>
+ </a>
+ </div>
+ </div>
+ <!-- 搜索内容与操作按钮栏 -->
+
+ <!-- 筛选搜索内容栏默认隐藏-->
+ <div class="col-md-12 filter-action-select-panle hide" >
+ <div class="row">
+ <div class="col-md-2">
+ <div class="form-group">
+ <label class="control-label"><spring:message code='transport_layer_protocol'/>:</label>
+ <form:select path="transProto" class="selectpicker form-control">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="protocol" >
+ <form:option value="${protocol.itemCode}"><spring:message code="${protocol.itemValue}"></spring:message></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label class="control-label"><spring:message code="direction"/>:</label>
+ <form:select path="direction" class="selectpicker form-control">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction" >
+ <form:option value="${direction.itemCode}"><spring:message code="${direction.itemValue}"></spring:message></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="entrance"/>:</label>
+ <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" >
+ <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clj_ip"></spring:message>:</label>
+ <input name="capIp" type="text" class="form-control" value="${log.capIp }"/>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clientip"></spring:message>:</label>
+ <input name="sIp" type="text" class="form-control" value="${log.sIp }"/>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="serverip"></spring:message>:</label>
+ <input name="dIp" type="text" class="form-control" value="${log.dIp }"/>
+ </div>
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-md-2">
+ <label><spring:message code="cfg_id"></spring:message>:</label>
+ <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/>
+ </div>
+ </div>
+ </div>
+ <!-- /筛选搜索内容栏 结束-->
+ </form:form>
+ </div>
+ <sys:message content="${message}"/>
+ <div class="table-responsive">
+
+ <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb">
+ <thead>
+ <tr>
+ <th><spring:message code="log"/></th>
+ <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
+ <th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
+ <th class="sort-column found_time"><spring:message code="found_time"/></th>
+ <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
+ <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th>
+
+ <th class="sort-column user_id"><spring:message code="user"/></th>
+ <th class="sort-column nat_ip"><spring:message code="nat_ip"/></th>
+ <th class="sort-column creat_time"><spring:message code="creat_time"/></th>
+ <th class="sort-column close_time"><spring:message code='close_time'/></th>
+ <th class="sort-column c2s_pkt_num"><spring:message code="c2s_pkt_num"/></th>
+ <th class="sort-column s2c_pkt_num"><spring:message code="s2c_pkt_num"/></th>
+ <th class="sort-column c2s_byte_num"><spring:message code="c2s_byte_num"/></th>
+ <th class="sort-column s2c_byte_num"><spring:message code="s2c_byte_num"/></th>
+
+
+ <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th>
+ <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th>
+ <th class="sort-column addr_type"><spring:message code='addr_type'/></th>
+ <th class="sort-column d_ip"><spring:message code="server_ip"/></th>
+ <th class="sort-column s_ip"><spring:message code="client_ip"/></th>
+ <th class="sort-column d_port"><spring:message code="server_port"/></th>
+ <th class="sort-column s_port"><spring:message code="client_port"/></th>
+ <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th>
+ <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th>
+ <th class="sort-column encap_type"><spring:message code="encap_type"/></th>
+ <th class="sort-column direction"><spring:message code="direction"/></th>
+ <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th>
+ <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th>
+ <th class="sort-column stream_dir"><spring:message code="stream_type"/></th>
+
+ <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
+ <th class="sort-column server_locate"><spring:message code='server_locate'/></th>
+ <th class="sort-column client_locate"><spring:message code='client_locate'/></th>
+ <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
+ <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
+ <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
+ <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
+ <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
+ <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
+ </tr>
+ </thead>
+ <tbody>
+ <c:forEach var="log" items="${page.list }" varStatus="status">
+ <tr>
+ <td>
+ <%-- <span id="open${status.index}" class="log-open-cfg" compileId="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span> --%>
+ <a href="javascript:void(0)" name="viewLogInfo" url="${ctx}/manipulation/ipmulitiplex/ajaxDnatInfo" compileId="${log.cfgId }" ><i class="icon-book-open"></i></a>
+ </td>
+ <td>${log.cfgId }</td>
+ <td>
+ <c:set var="actions">${log.action }</c:set>
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict">
+ <c:if test="${dict.itemCode eq log.action}">
+ <c:set var="actions">${dict.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${actions}"/>
+ </td>
+ <td>${log.foundTime }</td>
+ <td>${log.recvTime }</td>
+ <td>
+ <c:set var="entrances">${log.entranceId }</c:set>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
+ <c:if test="${dic.itemCode eq log.entranceId}">
+ <c:set var="entrances">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${entrances}"/>
+ </td>
+
+ <td>${log.natIp }</td>
+ <td>${log.creatTime }</td>
+ <td>${log.closeTime }</td>
+ <td>${log.c2sPktNum }</td>
+ <td>${log.s2cPktNum }</td>
+ <td>${log.c2sByteNum }</td>
+ <td>${log.s2cByteNum }</td>
+
+ <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td>
+ <td>
+ <c:set var="transProtos">${log.transProto }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic">
+ <c:if test="${dic.itemCode eq log.transProto}">
+ <c:set var="transProtos">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${transProtos}"/>
+ </td>
+ <td>
+ <c:set var="addrTypes">${log.addrType }</c:set>
+ <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic">
+ <c:if test="${log.addrType==dic.itemCode}">
+ <c:set var="addrTypes">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${addrTypes}"/>
+ </td>
+ <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td>
+ <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td>
+ <td>${log.dPort }</td>
+ <td>${log.sPort }</td>
+ <td>
+ <c:set var="deviceIds">${log.deviceId }</c:set>
+ <c:forEach items="${fns:getDictList('DEVICE')}" var="device">
+ <c:if test="${device.itemCode eq log.deviceId}">
+ <c:set var="deviceIds">${device.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${deviceIds}"/>
+ </td>
+ <td>
+ <c:set var="linkIds">${log.linkId }</c:set>
+ <c:forEach items="${fns:getDictList('LINK')}" var="link">
+ <c:if test="${link.itemCode eq log.linkId}">
+ <c:set var="linkIds">${link.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${linkIds}"/>
+ </td>
+ <td>
+ <c:set var="encapTypes">${log.encapType }</c:set>
+ <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType">
+ <c:if test="${encapType.itemCode eq log.encapType}">
+ <c:set var="encapTypes">${encapType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${encapTypes}"/>
+ </td>
+ <td>
+ <c:set var="directions">${log.direction }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction">
+ <c:if test="${direction.itemCode eq log.direction}">
+ <c:set var="directions">${direction.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${directions}"/>
+ </td>
+ <td>${log.innerSmac }</td>
+ <td>${log.innerDmac }</td>
+ <td>
+ <c:set var="streamDirs">${log.streamDir }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType">
+ <c:if test="${streamType.itemCode eq log.streamDir}">
+ <c:set var="streamDirs">${streamType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${streamDirs}"/>
+ </td>
+ <td>${log.addrList }</td>
+ <td>${log.serverLocate}</td>
+ <td>${log.clientLocate}</td>
+ <td>${log.sAsn}</td>
+ <td>${log.dAsn}</td>
+ <td>${log.sSubscribeId}</td>
+ <td>${log.dSubscribeId}</td>
+ <td>${log.userRegion}</td>
+ <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if>
+ </tr>
+ </c:forEach>
+ </tbody>
+ </table>
+ <div class="page">${page}</div>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
+</body>
</html>
\ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/log/ntc/irSnatLogList.jsp b/src/main/webapp/WEB-INF/views/log/ntc/irSnatLogList.jsp index 04fd891..f7cd91e 100644 --- a/src/main/webapp/WEB-INF/views/log/ntc/irSnatLogList.jsp +++ b/src/main/webapp/WEB-INF/views/log/ntc/irSnatLogList.jsp @@ -1,386 +1,352 @@ -<%@ page contentType="text/html;charset=UTF-8"%> -<%@ include file="/WEB-INF/include/taglib.jsp"%> -<html> -<head> -<title> - IP<spring:message code="log"></spring:message> -</title> -<script> - $(document).ready(function() { - //reset - $("#resetBtn").on("click",function(){ - $("select.selectpicker").each(function(){ - $(this).selectpicker('val',$(this).find('option:first').val()); - $(this).find("option").attr("selected",false); - $(this).find("option:first").attr("selected",true); - }); - $(".Wdate").attr("value",''); - $(':input','#searchForm') - .not(':button,:submit,:reset,:hidden') - .attr("value",''); - $("#searchForm")[0].reset(); - }); - //筛选功能 - filterActionInit(); - - //异步获取voip相关信息 - $("span[id^=open]").click(function(){ - var openId=$(this).attr("id"); - var closeId=$(this).attr("id").replace("open","close"); - var index=$(this).attr("id").replace("open",""); - $("#"+openId).hide(); - $("#"+closeId).show(); - var compileId=$(this).attr("compileId"); -// var cfgId=$(this).attr("cfgId"); - if($("#"+openId).parent().parent().next("tr").hasClass("child")){ - $("#"+openId).parent().parent().next("tr").show(); - }else{ - $.ajax({ - type:'post', - async:false, - url:'${ctx}/ntc/iplist/ajaxSubList', - data:{"compileId":compileId,"index":index}, - dataType:"html", - success:function(data){ - var subTab="<tr class='child'>"+ - "<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>"; - var html=""; - html+="<div class='row'>"; - html = html+data; - subTab=subTab+html; - subTab+="</td>"; - subTab+="</tr>"; - $("#"+openId).parent().parent().after(subTab); - $("div[name='tabTitle"+index+"']").get(0).click(); - } - }); - } - - }); - - $("span[id^=close]").on("click",function(){ - var closeId=$(this).attr("id"); - var openId=$(this).attr("id").replace("close","open"); - $("#"+closeId).hide(); - $("#"+openId).show(); - $("#"+closeId).parent().parent().next("tr").hide(); - }); - }); -</script> -</head> -<body> - -<div class="page-content"> - <div class="theme-panel hidden-xs hidden-sm"> - </div> - <h3 class="page-title"> - <spring:message code="snat_multiplex"/> - </h3> - <h5 class="page-header"></h5> - <div class="col-md-12"> - <div class="portlet"> - <div class="portlet-body"> - <div class="row" > - <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/irSnatLogs/list" method="post" class="form-search"> - <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/> - <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/> - <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/> - <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/> - <!-- 筛选按钮展开状态--> - <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/> - <sys:tableSort id="orderBy" name="orderBy. - " value="${page.orderBy}" callback="page();" /> - <!-- 搜索内容与操作按钮栏 --> - <div class="col-md-12"> - <div class="pull-left"> - <form:select path="service" class="selectpicker select2 input-small"> - <form:option value=""><spring:message code="action"/></form:option> - <c:forEach items="${serviceList}" var="service" - varStatus="satus"> - <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict"> - <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) && (service.serviceId ne 37)&& (service.serviceId ne 149) }"> - <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option> - </c:if> - </c:forEach> - </c:forEach> - </form:select> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="begin_date"/></span> - </div> - <input name="searchFoundStartTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium" - value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="end_date"/></span> - </div> - <input name="searchFoundEndTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium" - value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - <div class="pull-left"> - <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button> - <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button> - <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"/><i class="fa fa-angle-double-down"></i></button> - </div> - <div class="pull-right"> - <a class="btn btn-icon-only btn-default setfields tooltips" - data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;"> - <i class="icon-wrench"></i> - </a> - </div> - </div> - <!-- 搜索内容与操作按钮栏 --> - - <!-- 筛选搜索内容栏默认隐藏--> - <div class="col-md-12 filter-action-select-panle hide" > - <div class="row"> - <div class="col-md-2"> - <div class="form-group"> - <label class="control-label"><spring:message code='transport_layer_protocol'/>:</label> - <form:select path="transProto" class="selectpicker form-control"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="protocol" > - <form:option value="${protocol.itemCode}"><spring:message code="${protocol.itemValue}"></spring:message></form:option> - </c:forEach> - </form:select> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label class="control-label"><spring:message code="direction"/>:</label> - <form:select path="direction" class="selectpicker form-control"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction" > - <form:option value="${direction.itemCode}"><spring:message code="${direction.itemValue}"></spring:message></form:option> - </c:forEach> - </form:select> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="entrance"/>:</label> - <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" > - <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option> - </c:forEach> - </form:select> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clj_ip"></spring:message>:</label> - <input name="capIp" type="text" class="form-control" value="${log.capIp }"/> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clientip"></spring:message>:</label> - <input name="sIp" type="text" class="form-control" value="${log.sIp }"/> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="serverip"></spring:message>:</label> - <input name="dIp" type="text" class="form-control" value="${log.dIp }"/> - </div> - </div> - </div> - <div class="row"> - <div class="col-md-2"> - <label><spring:message code="cfg_id"></spring:message>:</label> - <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/> - </div> - </div> - </div> - <!-- /筛选搜索内容栏 结束--> - </form:form> - </div> - <sys:message content="${message}"/> - <div class="table-responsive"> - - <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb"> - <thead> - <tr> - <th><spring:message code="log"/></th> - <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th> - <th class="sort-column service" isVisible="false"><spring:message code="action"/></th> - <th class="sort-column found_time"><spring:message code="found_time"/></th> - <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th> - <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th> - - <th class="sort-column nat_ip"><spring:message code="nat_ip"/></th> - <th class="sort-column creat_time"><spring:message code="creat_time"/></th> - <th class="sort-column close_time"><spring:message code='close_time'/></th> - <th class="sort-column c2s_pkt_num"><spring:message code="c2s_pkt_num"/></th> - <th class="sort-column s2c_pkt_num"><spring:message code="s2c_pkt_num"/></th> - <th class="sort-column c2s_byte_num"><spring:message code="c2s_byte_num"/></th> - <th class="sort-column s2c_byte_num"><spring:message code="s2c_byte_num"/></th> - - - <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th> - <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th> - <th class="sort-column addr_type"><spring:message code='addr_type'/></th> - <th class="sort-column d_ip"><spring:message code="server_ip"/></th> - <th class="sort-column s_ip"><spring:message code="client_ip"/></th> - <th class="sort-column d_port"><spring:message code="server_port"/></th> - <th class="sort-column s_port"><spring:message code="client_port"/></th> - <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th> - <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th> - <th class="sort-column encap_type"><spring:message code="encap_type"/></th> - <th class="sort-column direction"><spring:message code="direction"/></th> - <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th> - <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th> - <th class="sort-column stream_dir"><spring:message code="stream_type"/></th> - - <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th> - <th class="sort-column server_locate"><spring:message code='server_locate'/></th> - <th class="sort-column client_locate"><spring:message code='client_locate'/></th> - <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th> - <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th> - <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th> - <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th> - <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th> - <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if> - </tr> - </thead> - <tbody> - <c:forEach var="log" items="${page.list }" varStatus="status"> - <tr> - <td> - <%-- <span id="open${status.index}" class="log-open-cfg" compileId="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span> --%> - <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a> - </td> - <td>${log.cfgId }</td> - <td> - <c:set var="actions">${log.action }</c:set> - <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict"> - <c:if test="${dict.itemCode eq log.action}"> - <c:set var="actions">${dict.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${actions}"/> - </td> - <td>${log.foundTime }</td> - <td>${log.recvTime }</td> - <td> - <c:set var="entrances">${log.entranceId }</c:set> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> - <c:if test="${dic.itemCode eq log.entranceId}"> - <c:set var="entrances">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${entrances}"/> - </td> - - <td>${log.natIp }</td> - <td>${log.creatTime }</td> - <td>${log.closeTime }</td> - <td>${log.c2sPktNum }</td> - <td>${log.s2cPktNum }</td> - <td>${log.c2sByteNum }</td> - <td>${log.s2cByteNum }</td> - - <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td> - <td> - <c:set var="transProtos">${log.transProto }</c:set> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic"> - <c:if test="${dic.itemCode eq log.transProto}"> - <c:set var="transProtos">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${transProtos}"/> - </td> - <td> - <c:set var="addrTypes">${log.addrType }</c:set> - <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic"> - <c:if test="${log.addrType==dic.itemCode}"> - <c:set var="addrTypes">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${addrTypes}"/> - </td> - <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td> - <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td> - <td>${log.dPort }</td> - <td>${log.sPort }</td> - <td> - <c:set var="deviceIds">${log.deviceId }</c:set> - <c:forEach items="${fns:getDictList('DEVICE')}" var="device"> - <c:if test="${device.itemCode eq log.deviceId}"> - <c:set var="deviceIds">${device.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${deviceIds}"/> - </td> - <td> - <c:set var="linkIds">${log.linkId }</c:set> - <c:forEach items="${fns:getDictList('LINK')}" var="link"> - <c:if test="${link.itemCode eq log.linkId}"> - <c:set var="linkIds">${link.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${linkIds}"/> - </td> - <td> - <c:set var="encapTypes">${log.encapType }</c:set> - <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType"> - <c:if test="${encapType.itemCode eq log.encapType}"> - <c:set var="encapTypes">${encapType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${encapTypes}"/> - </td> - <td> - <c:set var="directions">${log.direction }</c:set> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction"> - <c:if test="${direction.itemCode eq log.direction}"> - <c:set var="directions">${direction.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${directions}"/> - </td> - - <td>${log.innerSmac }</td> - <td>${log.innerDmac }</td> - <td> - <c:set var="streamDirs">${log.streamDir }</c:set> - <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType"> - <c:if test="${streamType.itemCode eq log.streamDir}"> - <c:set var="streamDirs">${streamType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${streamDirs}"/> - </td> - <td>${log.addrList }</td> - <td>${log.serverLocate}</td> - <td>${log.clientLocate}</td> - <td>${log.sAsn}</td> - <td>${log.dAsn}</td> - <td>${log.sSubscribeId}</td> - <td>${log.dSubscribeId}</td> - <td>${log.userRegion}</td> - <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if> - </tr> - </c:forEach> - </tbody> - </table> - <div class="page">${page}</div> - </div> - </div> - </div> - </div> -</div> -</body> +<%@ page contentType="text/html;charset=UTF-8"%>
+<%@ include file="/WEB-INF/include/taglib.jsp"%>
+<html>
+<head>
+<title>
+ IP<spring:message code="log"></spring:message>
+</title>
+<script>
+ $(document).ready(function() {
+ //reset
+ $("#resetBtn").on("click",function(){
+ $("select.selectpicker").each(function(){
+ $(this).selectpicker('val',$(this).find('option:first').val());
+ $(this).find("option").attr("selected",false);
+ $(this).find("option:first").attr("selected",true);
+ });
+ $(".Wdate").attr("value",'');
+ $(':input','#searchForm')
+ .not(':button,:submit,:reset,:hidden')
+ .attr("value",'');
+ $("#searchForm")[0].reset();
+ });
+ //筛选功能
+ filterActionInit();
+
+
+ $("span[id^=close]").on("click",function(){
+ var closeId=$(this).attr("id");
+ var openId=$(this).attr("id").replace("close","open");
+ $("#"+closeId).hide();
+ $("#"+openId).show();
+ $("#"+closeId).parent().parent().next("tr").hide();
+ });
+ });
+</script>
+</head>
+<body>
+
+<div class="page-content">
+ <div class="theme-panel hidden-xs hidden-sm">
+ </div>
+ <h3 class="page-title">
+ <spring:message code="snat_multiplex"/>
+ </h3>
+ <h5 class="page-header"></h5>
+ <div class="col-md-12">
+ <div class="portlet">
+ <div class="portlet-body">
+ <div class="row" >
+ <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/irSnatLogs/list" method="post" class="form-search">
+ <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
+ <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+ <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/>
+ <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/>
+ <!-- 筛选按钮展开状态-->
+ <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/>
+ <sys:tableSort id="orderBy" name="orderBy.
+ " value="${page.orderBy}" callback="page();" />
+ <!-- 搜索内容与操作按钮栏 -->
+ <div class="col-md-12">
+ <div class="pull-left">
+ <form:select path="service" class="selectpicker select2 input-small">
+ <form:option value=""><spring:message code="action"/></form:option>
+ <c:forEach items="${serviceList}" var="service"
+ varStatus="satus">
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
+ <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) && (service.serviceId ne 37)&& (service.serviceId ne 149) }">
+ <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:if>
+ </c:forEach>
+ </c:forEach>
+ </form:select>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
+ </div>
+ <input name="searchFoundStartTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
+ value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="end_date"/></span>
+ </div>
+ <input name="searchFoundEndTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
+ value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+ <div class="pull-left">
+ <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
+ <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
+ <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"/><i class="fa fa-angle-double-down"></i></button>
+ </div>
+ <div class="pull-right">
+ <a class="btn btn-icon-only btn-default setfields tooltips"
+ data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
+ <i class="icon-wrench"></i>
+ </a>
+ </div>
+ </div>
+ <!-- 搜索内容与操作按钮栏 -->
+
+ <!-- 筛选搜索内容栏默认隐藏-->
+ <div class="col-md-12 filter-action-select-panle hide" >
+ <div class="row">
+ <div class="col-md-2">
+ <div class="form-group">
+ <label class="control-label"><spring:message code='transport_layer_protocol'/>:</label>
+ <form:select path="transProto" class="selectpicker form-control">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="protocol" >
+ <form:option value="${protocol.itemCode}"><spring:message code="${protocol.itemValue}"></spring:message></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label class="control-label"><spring:message code="direction"/>:</label>
+ <form:select path="direction" class="selectpicker form-control">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction" >
+ <form:option value="${direction.itemCode}"><spring:message code="${direction.itemValue}"></spring:message></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="entrance"/>:</label>
+ <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" >
+ <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clj_ip"></spring:message>:</label>
+ <input name="capIp" type="text" class="form-control" value="${log.capIp }"/>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clientip"></spring:message>:</label>
+ <input name="sIp" type="text" class="form-control" value="${log.sIp }"/>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="serverip"></spring:message>:</label>
+ <input name="dIp" type="text" class="form-control" value="${log.dIp }"/>
+ </div>
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-md-2">
+ <label><spring:message code="cfg_id"></spring:message>:</label>
+ <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/>
+ </div>
+ </div>
+ </div>
+ <!-- /筛选搜索内容栏 结束-->
+ </form:form>
+ </div>
+ <sys:message content="${message}"/>
+ <div class="table-responsive">
+
+ <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb">
+ <thead>
+ <tr>
+ <th><spring:message code="log"/></th>
+ <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
+ <th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
+ <th class="sort-column found_time"><spring:message code="found_time"/></th>
+ <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
+ <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th>
+
+ <th class="sort-column nat_ip"><spring:message code="nat_ip"/></th>
+ <th class="sort-column creat_time"><spring:message code="creat_time"/></th>
+ <th class="sort-column close_time"><spring:message code='close_time'/></th>
+ <th class="sort-column c2s_pkt_num"><spring:message code="c2s_pkt_num"/></th>
+ <th class="sort-column s2c_pkt_num"><spring:message code="s2c_pkt_num"/></th>
+ <th class="sort-column c2s_byte_num"><spring:message code="c2s_byte_num"/></th>
+ <th class="sort-column s2c_byte_num"><spring:message code="s2c_byte_num"/></th>
+
+
+ <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th>
+ <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th>
+ <th class="sort-column addr_type"><spring:message code='addr_type'/></th>
+ <th class="sort-column d_ip"><spring:message code="server_ip"/></th>
+ <th class="sort-column s_ip"><spring:message code="client_ip"/></th>
+ <th class="sort-column d_port"><spring:message code="server_port"/></th>
+ <th class="sort-column s_port"><spring:message code="client_port"/></th>
+ <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th>
+ <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th>
+ <th class="sort-column encap_type"><spring:message code="encap_type"/></th>
+ <th class="sort-column direction"><spring:message code="direction"/></th>
+ <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th>
+ <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th>
+ <th class="sort-column stream_dir"><spring:message code="stream_type"/></th>
+
+ <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
+ <th class="sort-column server_locate"><spring:message code='server_locate'/></th>
+ <th class="sort-column client_locate"><spring:message code='client_locate'/></th>
+ <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
+ <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
+ <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
+ <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
+ <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
+ <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
+ </tr>
+ </thead>
+ <tbody>
+ <c:forEach var="log" items="${page.list }" varStatus="status">
+ <tr>
+ <td>
+ <%-- <span id="open${status.index}" class="log-open-cfg" compileId="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span> --%>
+ <a href="javascript:void(0)" name="viewLogInfo" url="${ctx}/manipulation/ipmulitiplex/ajaxSnatInfo" compileId="${log.cfgId }" ><i class="icon-book-open"></i></a>
+ </td>
+ <td>${log.cfgId }</td>
+ <td>
+ <c:set var="actions">${log.action }</c:set>
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict">
+ <c:if test="${dict.itemCode eq log.action}">
+ <c:set var="actions">${dict.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${actions}"/>
+ </td>
+ <td>${log.foundTime }</td>
+ <td>${log.recvTime }</td>
+ <td>
+ <c:set var="entrances">${log.entranceId }</c:set>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
+ <c:if test="${dic.itemCode eq log.entranceId}">
+ <c:set var="entrances">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${entrances}"/>
+ </td>
+
+ <td>${log.natIp }</td>
+ <td>${log.creatTime }</td>
+ <td>${log.closeTime }</td>
+ <td>${log.c2sPktNum }</td>
+ <td>${log.s2cPktNum }</td>
+ <td>${log.c2sByteNum }</td>
+ <td>${log.s2cByteNum }</td>
+
+ <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td>
+ <td>
+ <c:set var="transProtos">${log.transProto }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic">
+ <c:if test="${dic.itemCode eq log.transProto}">
+ <c:set var="transProtos">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${transProtos}"/>
+ </td>
+ <td>
+ <c:set var="addrTypes">${log.addrType }</c:set>
+ <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic">
+ <c:if test="${log.addrType==dic.itemCode}">
+ <c:set var="addrTypes">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${addrTypes}"/>
+ </td>
+ <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td>
+ <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td>
+ <td>${log.dPort }</td>
+ <td>${log.sPort }</td>
+ <td>
+ <c:set var="deviceIds">${log.deviceId }</c:set>
+ <c:forEach items="${fns:getDictList('DEVICE')}" var="device">
+ <c:if test="${device.itemCode eq log.deviceId}">
+ <c:set var="deviceIds">${device.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${deviceIds}"/>
+ </td>
+ <td>
+ <c:set var="linkIds">${log.linkId }</c:set>
+ <c:forEach items="${fns:getDictList('LINK')}" var="link">
+ <c:if test="${link.itemCode eq log.linkId}">
+ <c:set var="linkIds">${link.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${linkIds}"/>
+ </td>
+ <td>
+ <c:set var="encapTypes">${log.encapType }</c:set>
+ <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType">
+ <c:if test="${encapType.itemCode eq log.encapType}">
+ <c:set var="encapTypes">${encapType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${encapTypes}"/>
+ </td>
+ <td>
+ <c:set var="directions">${log.direction }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction">
+ <c:if test="${direction.itemCode eq log.direction}">
+ <c:set var="directions">${direction.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${directions}"/>
+ </td>
+
+ <td>${log.innerSmac }</td>
+ <td>${log.innerDmac }</td>
+ <td>
+ <c:set var="streamDirs">${log.streamDir }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType">
+ <c:if test="${streamType.itemCode eq log.streamDir}">
+ <c:set var="streamDirs">${streamType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${streamDirs}"/>
+ </td>
+ <td>${log.addrList }</td>
+ <td>${log.serverLocate}</td>
+ <td>${log.clientLocate}</td>
+ <td>${log.sAsn}</td>
+ <td>${log.dAsn}</td>
+ <td>${log.sSubscribeId}</td>
+ <td>${log.dSubscribeId}</td>
+ <td>${log.userRegion}</td>
+ <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if>
+ </tr>
+ </c:forEach>
+ </tbody>
+ </table>
+ <div class="page">${page}</div>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
+</body>
</html>
\ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/log/ntc/l2tpLogList.jsp b/src/main/webapp/WEB-INF/views/log/ntc/l2tpLogList.jsp index 20bd36b..7a5adff 100644 --- a/src/main/webapp/WEB-INF/views/log/ntc/l2tpLogList.jsp +++ b/src/main/webapp/WEB-INF/views/log/ntc/l2tpLogList.jsp @@ -1,339 +1,339 @@ -<%@ page contentType="text/html;charset=UTF-8"%> -<%@ include file="/WEB-INF/include/taglib.jsp"%> -<html> -<head> - -<script type="text/javascript"> - $(document).ready(function() { - // 筛选 - filterActionInit(); - // 重置 - $("#resetBtn").on("click",function(){ - $("select.selectpicker").each(function(){ - $(this).selectpicker('val',$(this).find('option:first').val()); - $(this).find("option").attr("selected",false); - $(this).find("option:first").attr("selected",true); - }); - $(".Wdate").attr("value",''); - $(':input','#searchForm') - .not(':button,:submit,:reset,:hidden') - .attr("value",''); - $("#searchForm")[0].reset(); - }); - }); -</script> - -</head> - -<body> - - <div class="page-content"> - <div class="theme-panel hidden-xs hidden-sm"> - </div> - <h3 class="page-title"> - <spring:message code="L2TP" /> - </h3> - <h5 class="page-header"></h5> - <div class="col-md-12"> - <div class="portlet"> - - <div class="portlet-body"> - - <div class="row"> - <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/l2tpLogs/list" method="post" class="form-search"> - <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/> - <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/> - <!-- 筛选按钮展开状态--> - <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction}"/> - <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/> - <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/> - <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();" /> - <!-- 搜索内容与操作按钮栏 --> - <div class="col-md-12"> - <div class="pull-left"> - <form:select path="service" class="selectpicker select2 input-small"> - <form:option value=""><spring:message code="action"/></form:option> - <c:forEach items="${serviceList}" var="service" - varStatus="satus"> - <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict"> - <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }"> - <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option> - </c:if> - </c:forEach> - </c:forEach> - </form:select> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control"><spring:message code="begin_date"/></span> - </div> - <input id="startTime" name="searchFoundStartTime" type="text" readonly="readonly" maxlength="20" class="form-control input-medium Wdate" data-options="buttons:buttons" - value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control"><spring:message code="end_date"/></span> - </div> - <input id="endTime" name="searchFoundEndTime" type="text" readonly="readonly" maxlength="20" class="form-control input-medium Wdate" data-options="buttons:buttons" - value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - <div class="pull-left"> - <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button> - <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button> - <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button> - </div> - - <div class="pull-right"> - <a class="btn btn-icon-only btn-default setfields tooltips" - data-container="body" data-placement="top" - data-original-title=<spring:message code="custom_columns"/> - href="javascript:;"> <i class="icon-wrench"></i> - </a> - </div> - </div> - <!-- /搜索内容与操作按钮栏--> - - <!-- 筛选搜索内容栏默认隐藏--> - <div class="col-md-12 filter-action-select-panle hide" > - <div class="row"> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="transport_layer_protocol"/>:</label> - <form:select path="transProto" class="selectpicker form-control select2"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict"> - <form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option> - </c:forEach> - </form:select> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="direction"/>:</label> - <form:select path="direction" class="selectpicker form-control select2"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="dict"> - <form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option> - </c:forEach> - </form:select> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="entrance"/>:</label> - <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" > - <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option> - </c:forEach> - </form:select> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clj_ip"/>:</label> - <input name="capIp" type="text" class="form-control" value="${log.capIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clientip"/>:</label> - <input name="sIp" type="text" class="form-control" value="${log.sIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="serverip"/>:</label> - <input name="dIp" type="text" class="form-control" value="${log.dIp}"/> - </div> - </div> - <div class="row"> - <div class="col-md-2"> - <label><spring:message code="cfg_id"></spring:message>:</label> - <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/> - </div> - </div> - </div> - </div> - </form:form> - - </div> - <sys:message content="${message}"/> - <div class="table-responsive"> - - <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb"> - <thead> - <tr> - <th><spring:message code="log"/></th> - <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th> - <th class="sort-column service" isVisible="false"><spring:message code="action"/></th> - <th class="sort-column found_time"><spring:message code="found_time"/></th> - <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th> - - <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th> - - <th class="sort-column tunnel_type"><spring:message code="tunnel_type" /></th> - <th class="sort-column encrypt_mode"><spring:message code="encrypt_mode" /></th> - <th class="sort-column chap_name"><spring:message code="user_name"/></th> - <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th> - <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th> - <th class="sort-column addr_type"><spring:message code='addr_type'/></th> - <th class="sort-column d_ip"><spring:message code="server_ip"/></th> - <th class="sort-column s_ip"><spring:message code="client_ip"/></th> - <th class="sort-column d_port"><spring:message code="server_port"/></th> - <th class="sort-column s_port"><spring:message code="client_port"/></th> - <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th> - <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th> - <th class="sort-column encap_type"><spring:message code="encap_type"/></th> - <th class="sort-column direction"><spring:message code="direction"/></th> - <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th> - <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th> - <th class="sort-column stream_dir"><spring:message code="stream_type"/></th> - - <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th> - <th class="sort-column server_locate"><spring:message code='server_locate'/></th> - <th class="sort-column client_locate"><spring:message code='client_locate'/></th> - <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th> - <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th> - <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th> - <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th> - <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th> - <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if> - </tr> - </thead> - <tbody> - <c:forEach var="log" items="${page.list }" varStatus="status"> - <tr> - <td> - <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a> - </td> - <td>${log.cfgId }</td> - <td> - <c:set var="actions">${log.action }</c:set> - <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict"> - <c:if test="${dict.itemCode eq log.action}"> - <c:set var="actions">${dict.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${actions}"/> - </td> - <td>${log.foundTime }</td> - <td>${log.recvTime }</td> - - <td> - <c:set var="entrances">${log.entranceId }</c:set> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> - <c:if test="${dic.itemCode eq log.entranceId}"> - <c:set var="entrances">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${entrances}"/> - </td> - - <td> - <c:if test="${log.tunnelType eq 1}"><spring:message code="contrl_message"/></c:if> - <c:if test="${log.tunnelType eq 2}"><spring:message code="data_message"/></c:if> - </td> - <td><!-- 0-其它1-IPSEC 2-无 --> - <c:if test="${log.encryptMode eq 0}">其它</c:if> - <c:if test="${log.encryptMode eq 1}">IPSEC</c:if> - <c:if test="${log.encryptMode eq 2}">无</c:if> - </td> - <td> - ${log.chapName} - </td> - <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td> - <td> - <c:set var="transProtos">${log.transProto }</c:set> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic"> - <c:if test="${dic.itemCode eq log.transProto}"> - <c:set var="transProtos">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${transProtos}"/> - </td> - <td> - <c:set var="addrTypes">${log.addrType }</c:set> - <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic"> - <c:if test="${log.addrType==dic.itemCode}"> - <c:set var="addrTypes">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${addrTypes}"/> - </td> - - <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td> - <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td> - <td>${log.dPort }</td> - <td>${log.sPort }</td> - <td> - <c:set var="deviceIds">${log.deviceId }</c:set> - <c:forEach items="${fns:getDictList('DEVICE')}" var="device"> - <c:if test="${device.itemCode eq log.deviceId}"> - <c:set var="deviceIds">${device.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${deviceIds}"/> - </td> - <td> - <c:set var="linkIds">${log.linkId }</c:set> - <c:forEach items="${fns:getDictList('LINK')}" var="link"> - <c:if test="${link.itemCode eq log.linkId}"> - <c:set var="linkIds">${link.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${linkIds}"/> - </td> - <td> - <c:set var="encapTypes">${log.encapType }</c:set> - <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType"> - <c:if test="${encapType.itemCode eq log.encapType}"> - <c:set var="encapTypes">${encapType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${encapTypes}"/> - </td> - <td> - <c:set var="directions">${log.direction }</c:set> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction"> - <c:if test="${direction.itemCode eq log.direction}"> - <c:set var="directions">${direction.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${directions}"/> - </td> - <td>${log.innerSmac }</td> - <td>${log.innerDmac }</td> - <td> - <c:set var="streamDirs">${log.streamDir }</c:set> - <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType"> - <c:if test="${streamType.itemCode eq log.streamDir}"> - <c:set var="streamDirs">${streamType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${streamDirs}"/> - </td> - <td>${log.addrList }</td> - <td>${log.serverLocate}</td> - <td>${log.clientLocate}</td> - <td>${log.sAsn}</td> - <td>${log.dAsn}</td> - <td>${log.sSubscribeId}</td> - <td>${log.dSubscribeId}</td> - <td>${log.userRegion}</td> - <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if> - </tr> - </c:forEach> - </tbody> - </table><div class="page">${page}</div> - </div> - </div> - </div> - </div> - </div> -</body> -</html> +<%@ page contentType="text/html;charset=UTF-8"%>
+<%@ include file="/WEB-INF/include/taglib.jsp"%>
+<html>
+<head>
+
+<script type="text/javascript">
+ $(document).ready(function() {
+ // 筛选
+ filterActionInit();
+ // 重置
+ $("#resetBtn").on("click",function(){
+ $("select.selectpicker").each(function(){
+ $(this).selectpicker('val',$(this).find('option:first').val());
+ $(this).find("option").attr("selected",false);
+ $(this).find("option:first").attr("selected",true);
+ });
+ $(".Wdate").attr("value",'');
+ $(':input','#searchForm')
+ .not(':button,:submit,:reset,:hidden')
+ .attr("value",'');
+ $("#searchForm")[0].reset();
+ });
+ });
+</script>
+
+</head>
+
+<body>
+
+ <div class="page-content">
+ <div class="theme-panel hidden-xs hidden-sm">
+ </div>
+ <h3 class="page-title">
+ <spring:message code="L2TP" />
+ </h3>
+ <h5 class="page-header"></h5>
+ <div class="col-md-12">
+ <div class="portlet">
+
+ <div class="portlet-body">
+
+ <div class="row">
+ <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/l2tpLogs/list" method="post" class="form-search">
+ <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
+ <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+ <!-- 筛选按钮展开状态-->
+ <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction}"/>
+ <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/>
+ <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/>
+ <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();" />
+ <!-- 搜索内容与操作按钮栏 -->
+ <div class="col-md-12">
+ <div class="pull-left">
+ <form:select path="service" class="selectpicker select2 input-small">
+ <form:option value=""><spring:message code="action"/></form:option>
+ <c:forEach items="${serviceList}" var="service"
+ varStatus="satus">
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
+ <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }">
+ <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:if>
+ </c:forEach>
+ </c:forEach>
+ </form:select>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control"><spring:message code="begin_date"/></span>
+ </div>
+ <input id="startTime" name="searchFoundStartTime" type="text" readonly="readonly" maxlength="20" class="form-control input-medium Wdate" data-options="buttons:buttons"
+ value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control"><spring:message code="end_date"/></span>
+ </div>
+ <input id="endTime" name="searchFoundEndTime" type="text" readonly="readonly" maxlength="20" class="form-control input-medium Wdate" data-options="buttons:buttons"
+ value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+ <div class="pull-left">
+ <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
+ <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
+ <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button>
+ </div>
+
+ <div class="pull-right">
+ <a class="btn btn-icon-only btn-default setfields tooltips"
+ data-container="body" data-placement="top"
+ data-original-title=<spring:message code="custom_columns"/>
+ href="javascript:;"> <i class="icon-wrench"></i>
+ </a>
+ </div>
+ </div>
+ <!-- /搜索内容与操作按钮栏-->
+
+ <!-- 筛选搜索内容栏默认隐藏-->
+ <div class="col-md-12 filter-action-select-panle hide" >
+ <div class="row">
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="transport_layer_protocol"/>:</label>
+ <form:select path="transProto" class="selectpicker form-control select2">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict">
+ <form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="direction"/>:</label>
+ <form:select path="direction" class="selectpicker form-control select2">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="dict">
+ <form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="entrance"/>:</label>
+ <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" >
+ <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clj_ip"/>:</label>
+ <input name="capIp" type="text" class="form-control" value="${log.capIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clientip"/>:</label>
+ <input name="sIp" type="text" class="form-control" value="${log.sIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="serverip"/>:</label>
+ <input name="dIp" type="text" class="form-control" value="${log.dIp}"/>
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-md-2">
+ <label><spring:message code="cfg_id"></spring:message>:</label>
+ <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/>
+ </div>
+ </div>
+ </div>
+ </div>
+ </form:form>
+
+ </div>
+ <sys:message content="${message}"/>
+ <div class="table-responsive">
+
+ <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb">
+ <thead>
+ <tr>
+ <th><spring:message code="log"/></th>
+ <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
+ <th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
+ <th class="sort-column found_time"><spring:message code="found_time"/></th>
+ <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
+
+ <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th>
+
+ <th class="sort-column tunnel_type"><spring:message code="tunnel_type" /></th>
+ <th class="sort-column encrypt_mode"><spring:message code="encrypt_mode" /></th>
+ <th class="sort-column chap_name"><spring:message code="user_name"/></th>
+ <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th>
+ <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th>
+ <th class="sort-column addr_type"><spring:message code='addr_type'/></th>
+ <th class="sort-column d_ip"><spring:message code="server_ip"/></th>
+ <th class="sort-column s_ip"><spring:message code="client_ip"/></th>
+ <th class="sort-column d_port"><spring:message code="server_port"/></th>
+ <th class="sort-column s_port"><spring:message code="client_port"/></th>
+ <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th>
+ <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th>
+ <th class="sort-column encap_type"><spring:message code="encap_type"/></th>
+ <th class="sort-column direction"><spring:message code="direction"/></th>
+ <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th>
+ <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th>
+ <th class="sort-column stream_dir"><spring:message code="stream_type"/></th>
+
+ <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
+ <th class="sort-column server_locate"><spring:message code='server_locate'/></th>
+ <th class="sort-column client_locate"><spring:message code='client_locate'/></th>
+ <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
+ <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
+ <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
+ <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
+ <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
+ <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
+ </tr>
+ </thead>
+ <tbody>
+ <c:forEach var="log" items="${page.list }" varStatus="status">
+ <tr>
+ <td>
+ <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a>
+ </td>
+ <td>${log.cfgId }</td>
+ <td>
+ <c:set var="actions">${log.action }</c:set>
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict">
+ <c:if test="${dict.itemCode eq log.action}">
+ <c:set var="actions">${dict.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${actions}"/>
+ </td>
+ <td>${log.foundTime }</td>
+ <td>${log.recvTime }</td>
+
+ <td>
+ <c:set var="entrances">${log.entranceId }</c:set>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
+ <c:if test="${dic.itemCode eq log.entranceId}">
+ <c:set var="entrances">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${entrances}"/>
+ </td>
+
+ <td>
+ <c:if test="${log.tunnelType eq 1}"><spring:message code="contrl_message"/></c:if>
+ <c:if test="${log.tunnelType eq 2}"><spring:message code="data_message"/></c:if>
+ </td>
+ <td><!-- 0-其它1-IPSEC 2-无 -->
+ <c:if test="${log.encryptMode eq 0}">其它</c:if>
+ <c:if test="${log.encryptMode eq 1}">IPSEC</c:if>
+ <c:if test="${log.encryptMode eq 2}">无</c:if>
+ </td>
+ <td>
+ ${log.chapName}
+ </td>
+ <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td>
+ <td>
+ <c:set var="transProtos">${log.transProto }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic">
+ <c:if test="${dic.itemCode eq log.transProto}">
+ <c:set var="transProtos">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${transProtos}"/>
+ </td>
+ <td>
+ <c:set var="addrTypes">${log.addrType }</c:set>
+ <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic">
+ <c:if test="${log.addrType==dic.itemCode}">
+ <c:set var="addrTypes">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${addrTypes}"/>
+ </td>
+
+ <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td>
+ <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td>
+ <td>${log.dPort }</td>
+ <td>${log.sPort }</td>
+ <td>
+ <c:set var="deviceIds">${log.deviceId }</c:set>
+ <c:forEach items="${fns:getDictList('DEVICE')}" var="device">
+ <c:if test="${device.itemCode eq log.deviceId}">
+ <c:set var="deviceIds">${device.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${deviceIds}"/>
+ </td>
+ <td>
+ <c:set var="linkIds">${log.linkId }</c:set>
+ <c:forEach items="${fns:getDictList('LINK')}" var="link">
+ <c:if test="${link.itemCode eq log.linkId}">
+ <c:set var="linkIds">${link.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${linkIds}"/>
+ </td>
+ <td>
+ <c:set var="encapTypes">${log.encapType }</c:set>
+ <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType">
+ <c:if test="${encapType.itemCode eq log.encapType}">
+ <c:set var="encapTypes">${encapType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${encapTypes}"/>
+ </td>
+ <td>
+ <c:set var="directions">${log.direction }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction">
+ <c:if test="${direction.itemCode eq log.direction}">
+ <c:set var="directions">${direction.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${directions}"/>
+ </td>
+ <td>${log.innerSmac }</td>
+ <td>${log.innerDmac }</td>
+ <td>
+ <c:set var="streamDirs">${log.streamDir }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType">
+ <c:if test="${streamType.itemCode eq log.streamDir}">
+ <c:set var="streamDirs">${streamType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${streamDirs}"/>
+ </td>
+ <td>${log.addrList }</td>
+ <td>${log.serverLocate}</td>
+ <td>${log.clientLocate}</td>
+ <td>${log.sAsn}</td>
+ <td>${log.dAsn}</td>
+ <td>${log.sSubscribeId}</td>
+ <td>${log.dSubscribeId}</td>
+ <td>${log.userRegion}</td>
+ <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if>
+ </tr>
+ </c:forEach>
+ </tbody>
+ </table><div class="page">${page}</div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+</body>
+</html>
diff --git a/src/main/webapp/WEB-INF/views/log/ntc/mailList.jsp b/src/main/webapp/WEB-INF/views/log/ntc/mailList.jsp index 5a15411..0e9f16a 100644 --- a/src/main/webapp/WEB-INF/views/log/ntc/mailList.jsp +++ b/src/main/webapp/WEB-INF/views/log/ntc/mailList.jsp @@ -1,419 +1,419 @@ -<%@ page contentType="text/html;charset=UTF-8"%> -<%@ include file="/WEB-INF/include/taglib.jsp"%> -<html> -<head> -<title> - MAIL<spring:message code="log"></spring:message> -</title> -<script> - $(document).ready(function() { - //reset - $("#resetBtn").on("click",function(){ - $("select.selectpicker").each(function(){ - $(this).selectpicker('val',$(this).find('option:first').val()); - $(this).find("option").attr("selected",false); - $(this).find("option:first").attr("selected",true); - }); - $(".Wdate").attr("value",''); - $(':input','#searchForm') - .not(':button,:submit,:reset,:hidden') - .attr("value",''); - $("#searchForm")[0].reset(); - }); - //筛选功能 - filterActionInit(); - - //异步获取voip相关信息 - $("span[id^=open]").click(function(){ - var openId=$(this).attr("id"); - var closeId=$(this).attr("id").replace("open","close"); - var index=$(this).attr("id").replace("open",""); - $("#"+openId).hide(); - $("#"+closeId).show(); - var compileId=$(this).attr("compileId"); -// var cfgId=$(this).attr("cfgId"); - if($("#"+openId).parent().parent().next("tr").hasClass("child")){ - $("#"+openId).parent().parent().next("tr").show(); - }else{ - $.ajax({ - type:'post', - async:false, - url:'${ctx}/ntc/mail/ajaxMailSubList', - data:{"compileId":compileId,"index":index}, - dataType:"html", - success:function(data){ - var subTab="<tr class='child'>"+ - "<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>"; - var html=""; - html+="<div class='row'>"; - html = html+data; - subTab=subTab+html; - subTab+="</td>"; - subTab+="</tr>"; - $("#"+openId).parent().parent().after(subTab); - $("div[name='tabTitle"+index+"']").get(0).click(); - } - }); - } - - }); - - $("span[id^=close]").on("click",function(){ - var closeId=$(this).attr("id"); - var openId=$(this).attr("id").replace("close","open"); - $("#"+closeId).hide(); - $("#"+openId).show(); - $("#"+closeId).parent().parent().next("tr").hide(); - }); - }); -</script> -</head> -<body> - -<div class="page-content"> - <div class="theme-panel hidden-xs hidden-sm"> - </div> - <h3 class="page-title"> - <spring:message code="mail_control"/> - </h3> - <h5 class="page-header"></h5> - <div class="col-md-12"> - <div class="portlet"> - <div class="portlet-body"> - <div class="row" > - <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/mail/list" method="post" class="form-search"> - <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/> - <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/> - <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/> - <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/> - <!-- 筛选按钮展开状态--> - <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/><sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/> - <!-- 搜索内容与操作按钮栏 --> - <div class="col-md-12"> - <div class="pull-left"> - <form:select path="service" class="selectpicker select2 input-small"> - <form:option value=""><spring:message code="action"/></form:option> - <c:forEach items="${serviceList}" var="service" - varStatus="satus"> - <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict"> - <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }"> - <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option> - </c:if> - </c:forEach> - </c:forEach> - </form:select> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="begin_date"/></span> - </div> - <input name="searchFoundStartTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium" - value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="end_date"/></span> - </div> - <input name="searchFoundEndTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium" - value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - <div class="pull-left"> - <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button> - <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button> - <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"/><i class="fa fa-angle-double-down"></i></button> - </div> - <div class="pull-right"> - <a class="btn btn-icon-only btn-default setfields tooltips" - data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;"> - <i class="icon-wrench"></i> - </a> - </div> - </div> - <!-- 搜索内容与操作按钮栏 --> - - <!-- 筛选搜索内容栏默认隐藏--> - <div class="col-md-12 filter-action-select-panle hide" > - <div class="row"> - <div class="col-md-2"> - <div class="form-group"> - <label class="control-label"><spring:message code='transport_layer_protocol'/>:</label> - <form:select path="transProto" class="selectpicker form-control"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="protocol" > - <form:option value="${protocol.itemCode}"><spring:message code="${protocol.itemValue}"></spring:message></form:option> - </c:forEach> - </form:select> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label class="control-label"><spring:message code="direction"/>:</label> - <form:select path="direction" class="selectpicker form-control"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction" > - <form:option value="${direction.itemCode}"><spring:message code="${direction.itemValue}"></spring:message></form:option> - </c:forEach> - </form:select> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="entrance"/>:</label> - <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" > - <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option> - </c:forEach> - </form:select> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clj_ip"></spring:message>:</label> - <input name="capIp" type="text" class="form-control" value="${log.capIp }"/> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clientip"></spring:message>:</label> - <input name="sIp" type="text" class="form-control" value="${log.sIp }"/> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="serverip"></spring:message>:</label> - <input name="dIp" type="text" class="form-control" value="${log.dIp }"/> - </div> - </div> - </div> - <div class="row"> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="mail_from"></spring:message>:</label> - <input name="mailFrom" type="text" class="form-control" value="${log.mailFrom }"/> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="mail_to"></spring:message>:</label> - <input name="mailTo" type="text" class="form-control" value="${log.mailTo }"/> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="subject"></spring:message>:</label> - <input name="subject" type="text" class="form-control" value="${log.subject }"/> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="cfg_id"></spring:message>:</label> - <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/> - </div> - </div> - </div> - </div> - <!-- /筛选搜索内容栏 结束--> - </form:form> - </div> - <sys:message content="${message}"/> - <div class="table-responsive"> - <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb"> - <thead> - <tr> - <th><spring:message code="log"/></th> - <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th> - <th class="sort-column service" isVisible="false"><spring:message code="action"/></th> - <th class="sort-column found_time"><spring:message code="found_time"/></th> - <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th> - - <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th> - - <th class="sort-column mail_proto"><spring:message code="mail_proto"/></th> - <th class="sort-column mail_from"><spring:message code="mail_from"/></th> - <th class="sort-column mail_to"><spring:message code="mail_to"/></th> - <th class="sort-column subject"><spring:message code="subject"/></th> - <th class="sort-column eml_file"><spring:message code="eml_file"/></th> - <th class="sort-column eml_key" isVisible="false"><spring:message code="eml_key"/></th> - <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th> - <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th> - <th class="sort-column addr_type"><spring:message code='addr_type'/></th> - <th class="sort-column d_ip"><spring:message code="server_ip"/></th> - <th class="sort-column s_ip"><spring:message code="client_ip"/></th> - <th class="sort-column d_port"><spring:message code="server_port"/></th> - <th class="sort-column s_port"><spring:message code="client_port"/></th> - <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th> - <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th> - <th class="sort-column encap_type"><spring:message code="encap_type"/></th> - <th class="sort-column direction"><spring:message code="direction"/></th> - <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th> - <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th> - <th class="sort-column stream_dir"><spring:message code="stream_type"/></th> - - <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th> - <th class="sort-column server_locate"><spring:message code='server_locate'/></th> - <th class="sort-column client_locate"><spring:message code='client_locate'/></th> - <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th> - <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th> - <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th> - <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th> - <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th> - <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if> - </tr> - </thead> - <tbody> - <c:forEach var="log" items="${page.list }" varStatus="status"> - <tr> - <td> -<%-- <span id="open${status.index}" class="log-open-cfg" compileId="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span> --%> - <a href="javascript:void(0)" name="viewLogInfo" url="${ctx}/ntc/mail/ajaxMailSubList" compileId="${log.cfgId }" ><i class="icon-book-open"></i></a> - </td> - <td>${log.cfgId }</td> - <td> - <c:set var="actions">${log.action }</c:set> - <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict"> - <c:if test="${dict.itemCode eq log.action}"> - <c:set var="actions">${dict.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${actions}"/> - </td> - <td>${log.foundTime }</td> - <td>${log.recvTime }</td> - - <td> - <c:set var="entrances">${log.entranceId }</c:set> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> - <c:if test="${dic.itemCode eq log.entranceId}"> - <c:set var="entrances">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${entrances}"/> - </td> - - <td>${log.mailProto }</td> - <td> - ${log.mailFrom} - </td> - <td> - ${log.mailTo} - </td> - <td>${log.subject }</td> - <td> - <c:if test="${fn:startsWith(log.emlFile, 'http')}"> - <a href="${log.emlFile}" data-original-title="${log.emlFile}" target="_blank" - class="tooltips" data-flag="false" data-html="true" data-placement="top"> - ${fn:substring(log.emlFile,0,20) } - </a> - </c:if> - <c:if test="${!fn:startsWith(log.emlFile, 'http') and !empty log.emlFile}"> - <a href="http://${log.emlFile}" data-original-title="http://${log.emlFile}" target="_blank" - class="tooltips" data-flag="false" data-html="true" data-placement="top"> - http://${fn:substring(log.emlFile,0,20) } - </a> - </c:if> - </td> - <td title="${log.emlKey }">${fns:abbr(log.emlKey, 42)}</td> - <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td> - <td> - <c:set var="transProtos">${log.transProto }</c:set> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic"> - <c:if test="${dic.itemCode eq log.transProto}"> - <c:set var="transProtos">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${transProtos}"/> - </td> - <td> - <c:set var="addrTypes">${log.addrType }</c:set> - <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic"> - <c:if test="${log.addrType==dic.itemCode}"> - <c:set var="addrTypes">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${addrTypes}"/> - </td> - <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td> - <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td> - <td>${log.dPort }</td> - <td>${log.sPort }</td> - <td> - <c:set var="deviceIds">${log.deviceId }</c:set> - <c:forEach items="${fns:getDictList('DEVICE')}" var="device"> - <c:if test="${device.itemCode eq log.deviceId}"> - <c:set var="deviceIds">${device.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${deviceIds}"/> - </td> - <td> - <c:set var="linkIds">${log.linkId }</c:set> - <c:forEach items="${fns:getDictList('LINK')}" var="link"> - <c:if test="${link.itemCode eq log.linkId}"> - <c:set var="linkIds">${link.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${linkIds}"/> - </td> - <td> - <c:set var="encapTypes">${log.encapType }</c:set> - <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType"> - <c:if test="${encapType.itemCode eq log.encapType}"> - <c:set var="encapTypes">${encapType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${encapTypes}"/> - </td> - <td> - <c:set var="directions">${log.direction }</c:set> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction"> - <c:if test="${direction.itemCode eq log.direction}"> - <c:set var="directions">${direction.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${directions}"/> - </td> - <td>${log.innerSmac }</td> - <td>${log.innerDmac }</td> - <td> - <c:set var="streamDirs">${log.streamDir }</c:set> - <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType"> - <c:if test="${streamType.itemCode eq log.streamDir}"> - <c:set var="streamDirs">${streamType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${streamDirs}"/> - </td> - <td>${log.addrList }</td> - <td>${log.serverLocate}</td> - <td>${log.clientLocate}</td> - <td>${log.sAsn}</td> - <td>${log.dAsn}</td> - <td>${log.sSubscribeId}</td> - <td>${log.dSubscribeId}</td> - <td>${log.userRegion}</td> - <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if> - </tr> - </c:forEach> - </tbody> - </table> - <div class="page">${page}</div> - </div> - </div> - </div> - </div> -</div> -</body> +<%@ page contentType="text/html;charset=UTF-8"%>
+<%@ include file="/WEB-INF/include/taglib.jsp"%>
+<html>
+<head>
+<title>
+ MAIL<spring:message code="log"></spring:message>
+</title>
+<script>
+ $(document).ready(function() {
+ //reset
+ $("#resetBtn").on("click",function(){
+ $("select.selectpicker").each(function(){
+ $(this).selectpicker('val',$(this).find('option:first').val());
+ $(this).find("option").attr("selected",false);
+ $(this).find("option:first").attr("selected",true);
+ });
+ $(".Wdate").attr("value",'');
+ $(':input','#searchForm')
+ .not(':button,:submit,:reset,:hidden')
+ .attr("value",'');
+ $("#searchForm")[0].reset();
+ });
+ //筛选功能
+ filterActionInit();
+
+ //异步获取voip相关信息
+ $("span[id^=open]").click(function(){
+ var openId=$(this).attr("id");
+ var closeId=$(this).attr("id").replace("open","close");
+ var index=$(this).attr("id").replace("open","");
+ $("#"+openId).hide();
+ $("#"+closeId).show();
+ var compileId=$(this).attr("compileId");
+// var cfgId=$(this).attr("cfgId");
+ if($("#"+openId).parent().parent().next("tr").hasClass("child")){
+ $("#"+openId).parent().parent().next("tr").show();
+ }else{
+ $.ajax({
+ type:'post',
+ async:false,
+ url:'${ctx}/ntc/mail/ajaxMailSubList',
+ data:{"compileId":compileId,"index":index},
+ dataType:"html",
+ success:function(data){
+ var subTab="<tr class='child'>"+
+ "<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>";
+ var html="";
+ html+="<div class='row'>";
+ html = html+data;
+ subTab=subTab+html;
+ subTab+="</td>";
+ subTab+="</tr>";
+ $("#"+openId).parent().parent().after(subTab);
+ $("div[name='tabTitle"+index+"']").get(0).click();
+ }
+ });
+ }
+
+ });
+
+ $("span[id^=close]").on("click",function(){
+ var closeId=$(this).attr("id");
+ var openId=$(this).attr("id").replace("close","open");
+ $("#"+closeId).hide();
+ $("#"+openId).show();
+ $("#"+closeId).parent().parent().next("tr").hide();
+ });
+ });
+</script>
+</head>
+<body>
+
+<div class="page-content">
+ <div class="theme-panel hidden-xs hidden-sm">
+ </div>
+ <h3 class="page-title">
+ <spring:message code="mail_control"/>
+ </h3>
+ <h5 class="page-header"></h5>
+ <div class="col-md-12">
+ <div class="portlet">
+ <div class="portlet-body">
+ <div class="row" >
+ <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/mail/list" method="post" class="form-search">
+ <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
+ <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+ <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/>
+ <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/>
+ <!-- 筛选按钮展开状态-->
+ <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/><sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/>
+ <!-- 搜索内容与操作按钮栏 -->
+ <div class="col-md-12">
+ <div class="pull-left">
+ <form:select path="service" class="selectpicker select2 input-small">
+ <form:option value=""><spring:message code="action"/></form:option>
+ <c:forEach items="${serviceList}" var="service"
+ varStatus="satus">
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
+ <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }">
+ <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:if>
+ </c:forEach>
+ </c:forEach>
+ </form:select>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
+ </div>
+ <input name="searchFoundStartTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
+ value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="end_date"/></span>
+ </div>
+ <input name="searchFoundEndTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
+ value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+ <div class="pull-left">
+ <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
+ <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
+ <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"/><i class="fa fa-angle-double-down"></i></button>
+ </div>
+ <div class="pull-right">
+ <a class="btn btn-icon-only btn-default setfields tooltips"
+ data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
+ <i class="icon-wrench"></i>
+ </a>
+ </div>
+ </div>
+ <!-- 搜索内容与操作按钮栏 -->
+
+ <!-- 筛选搜索内容栏默认隐藏-->
+ <div class="col-md-12 filter-action-select-panle hide" >
+ <div class="row">
+ <div class="col-md-2">
+ <div class="form-group">
+ <label class="control-label"><spring:message code='transport_layer_protocol'/>:</label>
+ <form:select path="transProto" class="selectpicker form-control">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="protocol" >
+ <form:option value="${protocol.itemCode}"><spring:message code="${protocol.itemValue}"></spring:message></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label class="control-label"><spring:message code="direction"/>:</label>
+ <form:select path="direction" class="selectpicker form-control">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction" >
+ <form:option value="${direction.itemCode}"><spring:message code="${direction.itemValue}"></spring:message></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="entrance"/>:</label>
+ <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" >
+ <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clj_ip"></spring:message>:</label>
+ <input name="capIp" type="text" class="form-control" value="${log.capIp }"/>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clientip"></spring:message>:</label>
+ <input name="sIp" type="text" class="form-control" value="${log.sIp }"/>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="serverip"></spring:message>:</label>
+ <input name="dIp" type="text" class="form-control" value="${log.dIp }"/>
+ </div>
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="mail_from"></spring:message>:</label>
+ <input name="mailFrom" type="text" class="form-control" value="${log.mailFrom }"/>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="mail_to"></spring:message>:</label>
+ <input name="mailTo" type="text" class="form-control" value="${log.mailTo }"/>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="subject"></spring:message>:</label>
+ <input name="subject" type="text" class="form-control" value="${log.subject }"/>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="cfg_id"></spring:message>:</label>
+ <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/>
+ </div>
+ </div>
+ </div>
+ </div>
+ <!-- /筛选搜索内容栏 结束-->
+ </form:form>
+ </div>
+ <sys:message content="${message}"/>
+ <div class="table-responsive">
+ <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb">
+ <thead>
+ <tr>
+ <th><spring:message code="log"/></th>
+ <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
+ <th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
+ <th class="sort-column found_time"><spring:message code="found_time"/></th>
+ <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
+
+ <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th>
+
+ <th class="sort-column mail_proto"><spring:message code="mail_proto"/></th>
+ <th class="sort-column mail_from"><spring:message code="mail_from"/></th>
+ <th class="sort-column mail_to"><spring:message code="mail_to"/></th>
+ <th class="sort-column subject"><spring:message code="subject"/></th>
+ <th class="sort-column eml_file"><spring:message code="eml_file"/></th>
+ <th class="sort-column eml_key" isVisible="false"><spring:message code="eml_key"/></th>
+ <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th>
+ <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th>
+ <th class="sort-column addr_type"><spring:message code='addr_type'/></th>
+ <th class="sort-column d_ip"><spring:message code="server_ip"/></th>
+ <th class="sort-column s_ip"><spring:message code="client_ip"/></th>
+ <th class="sort-column d_port"><spring:message code="server_port"/></th>
+ <th class="sort-column s_port"><spring:message code="client_port"/></th>
+ <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th>
+ <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th>
+ <th class="sort-column encap_type"><spring:message code="encap_type"/></th>
+ <th class="sort-column direction"><spring:message code="direction"/></th>
+ <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th>
+ <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th>
+ <th class="sort-column stream_dir"><spring:message code="stream_type"/></th>
+
+ <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
+ <th class="sort-column server_locate"><spring:message code='server_locate'/></th>
+ <th class="sort-column client_locate"><spring:message code='client_locate'/></th>
+ <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
+ <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
+ <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
+ <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
+ <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
+ <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
+ </tr>
+ </thead>
+ <tbody>
+ <c:forEach var="log" items="${page.list }" varStatus="status">
+ <tr>
+ <td>
+<%-- <span id="open${status.index}" class="log-open-cfg" compileId="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span> --%>
+ <a href="javascript:void(0)" name="viewLogInfo" url="${ctx}/ntc/mail/ajaxMailSubList" compileId="${log.cfgId }" ><i class="icon-book-open"></i></a>
+ </td>
+ <td>${log.cfgId }</td>
+ <td>
+ <c:set var="actions">${log.action }</c:set>
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict">
+ <c:if test="${dict.itemCode eq log.action}">
+ <c:set var="actions">${dict.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${actions}"/>
+ </td>
+ <td>${log.foundTime }</td>
+ <td>${log.recvTime }</td>
+
+ <td>
+ <c:set var="entrances">${log.entranceId }</c:set>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
+ <c:if test="${dic.itemCode eq log.entranceId}">
+ <c:set var="entrances">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${entrances}"/>
+ </td>
+
+ <td>${log.mailProto }</td>
+ <td>
+ ${log.mailFrom}
+ </td>
+ <td>
+ ${log.mailTo}
+ </td>
+ <td>${log.subject }</td>
+ <td>
+ <c:if test="${fn:startsWith(log.emlFile, 'http')}">
+ <a href="${log.emlFile}" data-original-title="${log.emlFile}" target="_blank"
+ class="tooltips" data-flag="false" data-html="true" data-placement="top">
+ ${fn:substring(log.emlFile,0,20) }
+ </a>
+ </c:if>
+ <c:if test="${!fn:startsWith(log.emlFile, 'http') and !empty log.emlFile}">
+ <a href="http://${log.emlFile}" data-original-title="http://${log.emlFile}" target="_blank"
+ class="tooltips" data-flag="false" data-html="true" data-placement="top">
+ http://${fn:substring(log.emlFile,0,20) }
+ </a>
+ </c:if>
+ </td>
+ <td title="${log.emlKey }">${fns:abbr(log.emlKey, 42)}</td>
+ <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td>
+ <td>
+ <c:set var="transProtos">${log.transProto }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic">
+ <c:if test="${dic.itemCode eq log.transProto}">
+ <c:set var="transProtos">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${transProtos}"/>
+ </td>
+ <td>
+ <c:set var="addrTypes">${log.addrType }</c:set>
+ <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic">
+ <c:if test="${log.addrType==dic.itemCode}">
+ <c:set var="addrTypes">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${addrTypes}"/>
+ </td>
+ <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td>
+ <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td>
+ <td>${log.dPort }</td>
+ <td>${log.sPort }</td>
+ <td>
+ <c:set var="deviceIds">${log.deviceId }</c:set>
+ <c:forEach items="${fns:getDictList('DEVICE')}" var="device">
+ <c:if test="${device.itemCode eq log.deviceId}">
+ <c:set var="deviceIds">${device.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${deviceIds}"/>
+ </td>
+ <td>
+ <c:set var="linkIds">${log.linkId }</c:set>
+ <c:forEach items="${fns:getDictList('LINK')}" var="link">
+ <c:if test="${link.itemCode eq log.linkId}">
+ <c:set var="linkIds">${link.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${linkIds}"/>
+ </td>
+ <td>
+ <c:set var="encapTypes">${log.encapType }</c:set>
+ <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType">
+ <c:if test="${encapType.itemCode eq log.encapType}">
+ <c:set var="encapTypes">${encapType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${encapTypes}"/>
+ </td>
+ <td>
+ <c:set var="directions">${log.direction }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction">
+ <c:if test="${direction.itemCode eq log.direction}">
+ <c:set var="directions">${direction.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${directions}"/>
+ </td>
+ <td>${log.innerSmac }</td>
+ <td>${log.innerDmac }</td>
+ <td>
+ <c:set var="streamDirs">${log.streamDir }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType">
+ <c:if test="${streamType.itemCode eq log.streamDir}">
+ <c:set var="streamDirs">${streamType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${streamDirs}"/>
+ </td>
+ <td>${log.addrList }</td>
+ <td>${log.serverLocate}</td>
+ <td>${log.clientLocate}</td>
+ <td>${log.sAsn}</td>
+ <td>${log.dAsn}</td>
+ <td>${log.sSubscribeId}</td>
+ <td>${log.dSubscribeId}</td>
+ <td>${log.userRegion}</td>
+ <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if>
+ </tr>
+ </c:forEach>
+ </tbody>
+ </table>
+ <div class="page">${page}</div>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
+</body>
</html>
\ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/log/ntc/mmAvIpList.jsp b/src/main/webapp/WEB-INF/views/log/ntc/mmAvIpList.jsp index 1842f64..1287a4f 100644 --- a/src/main/webapp/WEB-INF/views/log/ntc/mmAvIpList.jsp +++ b/src/main/webapp/WEB-INF/views/log/ntc/mmAvIpList.jsp @@ -1,378 +1,378 @@ -<%@ page contentType="text/html;charset=UTF-8"%> -<%@ include file="/WEB-INF/include/taglib.jsp"%> -<html> -<head> - -<script type="text/javascript"> -$(document).ready(function(){ - //筛选功能 - filterActionInit(); - //reset - $("#resetBtn").on("click",function(){ - $("select.selectpicker").each(function(){ - $(this).selectpicker('val',$(this).find('option:first').val()); - $(this).find("option").attr("selected",false); - $(this).find("option:first").attr("selected",true); - }); - $(".Wdate").attr("value",''); - $(':input','#searchForm') - .not(':button,:submit,:reset,:hidden') - .attr("value",''); - $("#searchForm")[0].reset(); - }); - -}); - -</script> -</head> -<body> - -<div class="page-content"> - <div class="theme-panel hidden-xs hidden-sm"> - </div> - <h3 class="page-title"> - <spring:message code="av_content_ip_control"/> - </h3> - <h5 class="page-header"></h5> - <div class="col-md-12"> - <div class="portlet"> - <div class="portlet-body"> - <div class="row" > - <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/mmAvIpLogs" method="post" class="form-search"> - <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/> - <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/> - <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/> - <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/> - <!-- 筛选按钮展开状态--> - <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/> - - <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/> - - <!-- 搜索内容与操作按钮栏 --> - <div class="col-md-12"> - <div class="pull-left"> - <form:select path="service" class="selectpicker select2 input-small"> - <form:option value=""><spring:message code="action"/></form:option> - <c:forEach items="${serviceList}" var="service" - varStatus="satus"> - <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict"> - <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }"> - <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option> - </c:if> - </c:forEach> - </c:forEach> - </form:select> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="begin_date"/></span> - </div> - <input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" class="form-control input-medium Wdate " - value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="end_date"/></span> - </div> - <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate " - value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - - <div class="pull-left"> - <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button> - <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button> - <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button> - </div> - - <div class="pull-right"> - <a class="btn btn-icon-only btn-default setfields tooltips" - data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;"> - <i class="icon-wrench"></i> - </a> - </div> - </div> - - <!-- 筛选搜索内容栏默认隐藏--> - <div class="col-md-12 filter-action-select-panle hide" > - <div class="row"> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="transport_layer_protocol"/>:</label> - <c:set var="select"><spring:message code='select'/></c:set> - <form:select path="transProto" class="selectpicker form-control" > - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict"> - <form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option> - </c:forEach> - </form:select> - </div> - </div> - - <%-- <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="direction"/>:</label> - <form:select path="direction" class="selectpicker select2 form-control"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="dict"> - <form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option> - </c:forEach> - </form:select> - </div> - </div> --%> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="entrance"/>:</label> - <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" > - <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option> - </c:forEach> - </form:select> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clj_ip"/>:</label> - <input name="capIp" type="text" class="form-control" value="${log.capIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clientip"/>:</label> - <input id="sIp" name="sIp" class="form-control" type="text" value="${log.sIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="serverip"/>:</label> - <input id="dIp" name="dIp" class="form-control" type="text" value="${log.dIp}"/> - </div> - </div> - <div class="col-md-2"> - <label><spring:message code="cfg_id"></spring:message>:</label> - <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/> - </div> - </div> - - </div> - <!-- /筛选搜索内容栏 结束--> - </form:form> - </div> - <sys:message content="${message}"/> - <div class="table-responsive"> - - <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb"> - <thead> - <tr> - <th><spring:message code="log"/></th> - <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th> - <th class="sort-column service" isVisible="false"><spring:message code="action"/></th> - <th class="sort-column found_time"><spring:message code="found_time"/></th> - <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th> - - <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th> - - <th class="sort-column pid" isVisible="false"><spring:message code='pid'/></th> - <th class="sort-column url"><spring:message code='access_url'/></th> - <th class="sort-column log_uri"><spring:message code='log_uri'/></th> - <th class="sort-column referer"><spring:message code='referer'/></th> - <th class="sort-column level" isVisible="false"><spring:message code='harm_level'/></th> - <th class="sort-column fd_type" isVisible="false"><spring:message code='fd_type'/></th> - <th class="sort-column protocol" ><spring:message code='av_protocol'/></th> - <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th> - - <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th> - <th class="sort-column addr_type"><spring:message code='addr_type'/></th> - <th class="sort-column d_ip"><spring:message code="server_ip"/></th> - <th class="sort-column s_ip"><spring:message code="client_ip"/></th> - <th class="sort-column d_port"><spring:message code="server_port"/></th> - <th class="sort-column s_port"><spring:message code="client_port"/></th> - - <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th> - <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th> - <th class="sort-column encap_type"><spring:message code="encap_type"/></th> -<%-- <th class="sort-column direction"><spring:message code="direction"/></th> --%> - <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th> - <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th> - <th class="sort-column stream_dir"><spring:message code="stream_type"/></th> - - <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th> - <th class="sort-column server_locate"><spring:message code='server_locate'/></th> - <th class="sort-column client_locate"><spring:message code='client_locate'/></th> - <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th> - <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th> - <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th> - <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th> - <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th> - <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if> - </tr> - </thead> - <tbody> - <c:forEach var="log" items="${page.list }" varStatus="status"> - <tr> - <td> - <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a> - </td> - <td>${log.cfgId }</td> - <td> - <c:set var="actions">${log.action }</c:set> - <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict"> - <c:if test="${dict.itemCode eq log.action}"> - <c:set var="actions">${dict.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${actions}"/> - </td> - <td>${log.foundTime }</td> - <td>${log.recvTime }</td> - - <td> - <c:set var="entrances">${log.entranceId }</c:set> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> - <c:if test="${dic.itemCode eq log.entranceId}"> - <c:set var="entrances">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${entrances}"/> - </td> - - <td>${log.pid}</td> - <td> - <c:if test="${fn:startsWith(log.url, 'http://')}"> - ${fn:substring(log.url,7,-1)} - </c:if> - <c:if test="${!fn:startsWith(log.url, 'http://') and !empty log.url}"> - ${log.url} - </c:if> - </td> - <td> - <c:if test="${fn:startsWith(log.logUri, 'http')}"> - <a href="${log.logUri}" data-original-title="${log.logUri}" target="_blank" - class="tooltips" data-flag="false" data-html="true" data-placement="top"> - ${fn:substring(log.logUri,0,20) } - </a> - </c:if> - - <c:if test="${!fn:startsWith(log.logUri, 'http') and !empty log.logUri}"> - <a href="http://${log.logUri}" data-original-title="http://${log.logUri}" target="_blank" - class="tooltips" data-flag="false" data-html="true" data-placement="top"> - http://${fn:substring(log.logUri,0,20) } - </a> - </c:if> - </td> - <td> - ${log.referer} - </td> - <td>${log.level}</td> - <!--0:动态黑名单FD;1:静态配置FD;2:首次分析命中 --> - <td> - <c:if test="${log.fdType eq 0 }"><spring:message code="black_block_list"/></c:if> - <c:if test="${log.fdType eq 1 }"><spring:message code="static_cfg_block"/></c:if> - <c:if test="${log.fdType eq 2 }"><spring:message code="first_hit"/></c:if> - </td> - <td> - <c:set var="avProtocol" value="${log.protocol}"></c:set> - <c:forEach items="${fns:getDictList('AV_PROTOCOL')}" var="dic"> - <c:if test="${log.protocol==dic.itemCode}"> - <c:set var="avProtocol" value="${dic.itemValue }"></c:set> - </c:if> - </c:forEach> - ${avProtocol } - </td> - <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td> - <td> - <c:set var="transProtos">${log.transProto }</c:set> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic"> - <c:if test="${dic.itemCode eq log.transProto}"> - <c:set var="transProtos">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${transProtos}"/> - </td> - <td> - <c:set var="addrTypes">${log.addrType }</c:set> - <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic"> - <c:if test="${log.addrType==dic.itemCode}"> - <c:set var="addrTypes">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${addrTypes}"/> - </td> - <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td> - <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td> - <td>${log.dPort }</td> - <td>${log.sPort }</td> - - <td> - <c:set var="deviceIds">${log.deviceId }</c:set> - <c:forEach items="${fns:getDictList('DEVICE')}" var="device"> - <c:if test="${device.itemCode eq log.deviceId}"> - <c:set var="deviceIds">${device.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${deviceIds}"/> - </td> - <td> - <c:set var="linkIds">${log.linkId }</c:set> - <c:forEach items="${fns:getDictList('LINK')}" var="link"> - <c:if test="${link.itemCode eq log.linkId}"> - <c:set var="linkIds">${link.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${linkIds}"/> - </td> - <td> - <c:set var="encapTypes">${log.encapType }</c:set> - <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType"> - <c:if test="${encapType.itemCode eq log.encapType}"> - <c:set var="encapTypes">${encapType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${encapTypes}"/> - </td> - <%-- <td> - <c:set var="directions">${log.direction }</c:set> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction"> - <c:if test="${direction.itemCode eq log.direction}"> - <c:set var="directions">${direction.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${directions}"/> - </td> --%> - <td>${log.innerSmac }</td> - <td>${log.innerDmac }</td> - <td> - <c:set var="streamDirs">${log.streamDir }</c:set> - <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType"> - <c:if test="${streamType.itemCode eq log.streamDir}"> - <c:set var="streamDirs">${streamType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${streamDirs}"/> - </td> - - <td>${log.addrList }</td> - <td>${log.serverLocate}</td> - <td>${log.clientLocate}</td> - <td>${log.sAsn}</td> - <td>${log.dAsn}</td> - <td>${log.sSubscribeId}</td> - <td>${log.dSubscribeId}</td> - <td>${log.userRegion}</td> - <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if> - </tr> - </c:forEach> - </tbody> - </table> - <div class="page">${page}</div> - </div> - </div> - </div> - </div> - </div> -</body> -</html> +<%@ page contentType="text/html;charset=UTF-8"%>
+<%@ include file="/WEB-INF/include/taglib.jsp"%>
+<html>
+<head>
+
+<script type="text/javascript">
+$(document).ready(function(){
+ //筛选功能
+ filterActionInit();
+ //reset
+ $("#resetBtn").on("click",function(){
+ $("select.selectpicker").each(function(){
+ $(this).selectpicker('val',$(this).find('option:first').val());
+ $(this).find("option").attr("selected",false);
+ $(this).find("option:first").attr("selected",true);
+ });
+ $(".Wdate").attr("value",'');
+ $(':input','#searchForm')
+ .not(':button,:submit,:reset,:hidden')
+ .attr("value",'');
+ $("#searchForm")[0].reset();
+ });
+
+});
+
+</script>
+</head>
+<body>
+
+<div class="page-content">
+ <div class="theme-panel hidden-xs hidden-sm">
+ </div>
+ <h3 class="page-title">
+ <spring:message code="av_content_ip_control"/>
+ </h3>
+ <h5 class="page-header"></h5>
+ <div class="col-md-12">
+ <div class="portlet">
+ <div class="portlet-body">
+ <div class="row" >
+ <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/mmAvIpLogs" method="post" class="form-search">
+ <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
+ <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+ <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/>
+ <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/>
+ <!-- 筛选按钮展开状态-->
+ <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/>
+
+ <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/>
+
+ <!-- 搜索内容与操作按钮栏 -->
+ <div class="col-md-12">
+ <div class="pull-left">
+ <form:select path="service" class="selectpicker select2 input-small">
+ <form:option value=""><spring:message code="action"/></form:option>
+ <c:forEach items="${serviceList}" var="service"
+ varStatus="satus">
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
+ <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }">
+ <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:if>
+ </c:forEach>
+ </c:forEach>
+ </form:select>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
+ </div>
+ <input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
+ value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="end_date"/></span>
+ </div>
+ <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
+ value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+
+ <div class="pull-left">
+ <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
+ <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
+ <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button>
+ </div>
+
+ <div class="pull-right">
+ <a class="btn btn-icon-only btn-default setfields tooltips"
+ data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
+ <i class="icon-wrench"></i>
+ </a>
+ </div>
+ </div>
+
+ <!-- 筛选搜索内容栏默认隐藏-->
+ <div class="col-md-12 filter-action-select-panle hide" >
+ <div class="row">
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="transport_layer_protocol"/>:</label>
+ <c:set var="select"><spring:message code='select'/></c:set>
+ <form:select path="transProto" class="selectpicker form-control" >
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict">
+ <form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+
+ <%-- <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="direction"/>:</label>
+ <form:select path="direction" class="selectpicker select2 form-control">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="dict">
+ <form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div> --%>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="entrance"/>:</label>
+ <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" >
+ <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clj_ip"/>:</label>
+ <input name="capIp" type="text" class="form-control" value="${log.capIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clientip"/>:</label>
+ <input id="sIp" name="sIp" class="form-control" type="text" value="${log.sIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="serverip"/>:</label>
+ <input id="dIp" name="dIp" class="form-control" type="text" value="${log.dIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <label><spring:message code="cfg_id"></spring:message>:</label>
+ <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/>
+ </div>
+ </div>
+
+ </div>
+ <!-- /筛选搜索内容栏 结束-->
+ </form:form>
+ </div>
+ <sys:message content="${message}"/>
+ <div class="table-responsive">
+
+ <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb">
+ <thead>
+ <tr>
+ <th><spring:message code="log"/></th>
+ <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
+ <th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
+ <th class="sort-column found_time"><spring:message code="found_time"/></th>
+ <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
+
+ <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th>
+
+ <th class="sort-column pid" isVisible="false"><spring:message code='pid'/></th>
+ <th class="sort-column url"><spring:message code='access_url'/></th>
+ <th class="sort-column log_uri"><spring:message code='log_uri'/></th>
+ <th class="sort-column referer"><spring:message code='referer'/></th>
+ <th class="sort-column level" isVisible="false"><spring:message code='harm_level'/></th>
+ <th class="sort-column fd_type" isVisible="false"><spring:message code='fd_type'/></th>
+ <th class="sort-column protocol" ><spring:message code='av_protocol'/></th>
+ <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th>
+
+ <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th>
+ <th class="sort-column addr_type"><spring:message code='addr_type'/></th>
+ <th class="sort-column d_ip"><spring:message code="server_ip"/></th>
+ <th class="sort-column s_ip"><spring:message code="client_ip"/></th>
+ <th class="sort-column d_port"><spring:message code="server_port"/></th>
+ <th class="sort-column s_port"><spring:message code="client_port"/></th>
+
+ <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th>
+ <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th>
+ <th class="sort-column encap_type"><spring:message code="encap_type"/></th>
+<%-- <th class="sort-column direction"><spring:message code="direction"/></th> --%>
+ <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th>
+ <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th>
+ <th class="sort-column stream_dir"><spring:message code="stream_type"/></th>
+
+ <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
+ <th class="sort-column server_locate"><spring:message code='server_locate'/></th>
+ <th class="sort-column client_locate"><spring:message code='client_locate'/></th>
+ <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
+ <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
+ <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
+ <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
+ <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
+ <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
+ </tr>
+ </thead>
+ <tbody>
+ <c:forEach var="log" items="${page.list }" varStatus="status">
+ <tr>
+ <td>
+ <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a>
+ </td>
+ <td>${log.cfgId }</td>
+ <td>
+ <c:set var="actions">${log.action }</c:set>
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict">
+ <c:if test="${dict.itemCode eq log.action}">
+ <c:set var="actions">${dict.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${actions}"/>
+ </td>
+ <td>${log.foundTime }</td>
+ <td>${log.recvTime }</td>
+
+ <td>
+ <c:set var="entrances">${log.entranceId }</c:set>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
+ <c:if test="${dic.itemCode eq log.entranceId}">
+ <c:set var="entrances">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${entrances}"/>
+ </td>
+
+ <td>${log.pid}</td>
+ <td>
+ <c:if test="${fn:startsWith(log.url, 'http://')}">
+ ${fn:substring(log.url,7,-1)}
+ </c:if>
+ <c:if test="${!fn:startsWith(log.url, 'http://') and !empty log.url}">
+ ${log.url}
+ </c:if>
+ </td>
+ <td>
+ <c:if test="${fn:startsWith(log.logUri, 'http')}">
+ <a href="${log.logUri}" data-original-title="${log.logUri}" target="_blank"
+ class="tooltips" data-flag="false" data-html="true" data-placement="top">
+ ${fn:substring(log.logUri,0,20) }
+ </a>
+ </c:if>
+
+ <c:if test="${!fn:startsWith(log.logUri, 'http') and !empty log.logUri}">
+ <a href="http://${log.logUri}" data-original-title="http://${log.logUri}" target="_blank"
+ class="tooltips" data-flag="false" data-html="true" data-placement="top">
+ http://${fn:substring(log.logUri,0,20) }
+ </a>
+ </c:if>
+ </td>
+ <td>
+ ${log.referer}
+ </td>
+ <td>${log.level}</td>
+ <!--0:动态黑名单FD;1:静态配置FD;2:首次分析命中 -->
+ <td>
+ <c:if test="${log.fdType eq 0 }"><spring:message code="black_block_list"/></c:if>
+ <c:if test="${log.fdType eq 1 }"><spring:message code="static_cfg_block"/></c:if>
+ <c:if test="${log.fdType eq 2 }"><spring:message code="first_hit"/></c:if>
+ </td>
+ <td>
+ <c:set var="avProtocol" value="${log.protocol}"></c:set>
+ <c:forEach items="${fns:getDictList('AV_PROTOCOL')}" var="dic">
+ <c:if test="${log.protocol==dic.itemCode}">
+ <c:set var="avProtocol" value="${dic.itemValue }"></c:set>
+ </c:if>
+ </c:forEach>
+ ${avProtocol }
+ </td>
+ <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td>
+ <td>
+ <c:set var="transProtos">${log.transProto }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic">
+ <c:if test="${dic.itemCode eq log.transProto}">
+ <c:set var="transProtos">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${transProtos}"/>
+ </td>
+ <td>
+ <c:set var="addrTypes">${log.addrType }</c:set>
+ <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic">
+ <c:if test="${log.addrType==dic.itemCode}">
+ <c:set var="addrTypes">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${addrTypes}"/>
+ </td>
+ <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td>
+ <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td>
+ <td>${log.dPort }</td>
+ <td>${log.sPort }</td>
+
+ <td>
+ <c:set var="deviceIds">${log.deviceId }</c:set>
+ <c:forEach items="${fns:getDictList('DEVICE')}" var="device">
+ <c:if test="${device.itemCode eq log.deviceId}">
+ <c:set var="deviceIds">${device.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${deviceIds}"/>
+ </td>
+ <td>
+ <c:set var="linkIds">${log.linkId }</c:set>
+ <c:forEach items="${fns:getDictList('LINK')}" var="link">
+ <c:if test="${link.itemCode eq log.linkId}">
+ <c:set var="linkIds">${link.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${linkIds}"/>
+ </td>
+ <td>
+ <c:set var="encapTypes">${log.encapType }</c:set>
+ <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType">
+ <c:if test="${encapType.itemCode eq log.encapType}">
+ <c:set var="encapTypes">${encapType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${encapTypes}"/>
+ </td>
+ <%-- <td>
+ <c:set var="directions">${log.direction }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction">
+ <c:if test="${direction.itemCode eq log.direction}">
+ <c:set var="directions">${direction.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${directions}"/>
+ </td> --%>
+ <td>${log.innerSmac }</td>
+ <td>${log.innerDmac }</td>
+ <td>
+ <c:set var="streamDirs">${log.streamDir }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType">
+ <c:if test="${streamType.itemCode eq log.streamDir}">
+ <c:set var="streamDirs">${streamType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${streamDirs}"/>
+ </td>
+
+ <td>${log.addrList }</td>
+ <td>${log.serverLocate}</td>
+ <td>${log.clientLocate}</td>
+ <td>${log.sAsn}</td>
+ <td>${log.dAsn}</td>
+ <td>${log.sSubscribeId}</td>
+ <td>${log.dSubscribeId}</td>
+ <td>${log.userRegion}</td>
+ <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if>
+ </tr>
+ </c:forEach>
+ </tbody>
+ </table>
+ <div class="page">${page}</div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+</body>
+</html>
diff --git a/src/main/webapp/WEB-INF/views/log/ntc/mmAvUrlList.jsp b/src/main/webapp/WEB-INF/views/log/ntc/mmAvUrlList.jsp index fed075f..410552e 100644 --- a/src/main/webapp/WEB-INF/views/log/ntc/mmAvUrlList.jsp +++ b/src/main/webapp/WEB-INF/views/log/ntc/mmAvUrlList.jsp @@ -1,373 +1,373 @@ -<%@ page contentType="text/html;charset=UTF-8"%> -<%@ include file="/WEB-INF/include/taglib.jsp"%> -<html> -<head> - -<script type="text/javascript"> -$(document).ready(function(){ - //筛选功能 - filterActionInit(); - //reset - $("#resetBtn").on("click",function(){ - $("select.selectpicker").each(function(){ - $(this).selectpicker('val',$(this).find('option:first').val()); - $(this).find("option").attr("selected",false); - $(this).find("option:first").attr("selected",true); - }); - $(".Wdate").attr("value",''); - $(':input','#searchForm') - .not(':button,:submit,:reset,:hidden') - .attr("value",''); - $("#searchForm")[0].reset(); - }); - -}); - -</script> -</head> -<body> - -<div class="page-content"> - <div class="theme-panel hidden-xs hidden-sm"> - </div> - <h3 class="page-title"> - <spring:message code="av_content_url_control"/> - </h3> - - <h5 class="page-header"></h5> - <div class="col-md-12"> - <div class="portlet"> - <div class="portlet-body"> - <div class="row" > - <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/mmAvUrlLogs" method="post" class="form-search"> - <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/> - <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/> - <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/> - <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/> - <!-- 筛选按钮展开状态--> - <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/> - - <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/> - - <!-- 搜索内容与操作按钮栏 --> - <div class="col-md-12"> - <div class="pull-left"> - <form:select path="service" class="selectpicker select2 input-small"> - <form:option value=""><spring:message code="action"/></form:option> - <c:forEach items="${serviceList}" var="service" - varStatus="satus"> - <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict"> - <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }"> - <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option> - </c:if> - </c:forEach> - </c:forEach> - </form:select> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="begin_date"/></span> - </div> - <input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" class="form-control input-medium Wdate " - value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="end_date"/></span> - </div> - <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate " - value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - - <div class="pull-left"> - <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button> - <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button> - <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button> - </div> - - <div class="pull-right"> - <a class="btn btn-icon-only btn-default setfields tooltips" - data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;"> - <i class="icon-wrench"></i> - </a> - </div> - </div> - - <!-- 筛选搜索内容栏默认隐藏--> - <div class="col-md-12 filter-action-select-panle hide" > - <div class="row"> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="transport_layer_protocol"/>:</label> - <c:set var="select"><spring:message code='select'/></c:set> - <form:select path="transProto" class="selectpicker form-control" > - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict"> - <form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option> - </c:forEach> - </form:select> - </div> - </div> - - <%-- <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="direction"/>:</label> - <form:select path="direction" class="selectpicker select2 form-control"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="dict"> - <form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option> - </c:forEach> - </form:select> - </div> - </div> --%> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="entrance"/>:</label> - <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" > - <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option> - </c:forEach> - </form:select> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clj_ip"/>:</label> - <input name="capIp" type="text" class="form-control" value="${log.capIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clientip"/>:</label> - <input id="sIp" name="sIp" class="form-control" type="text" value="${log.sIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="serverip"/>:</label> - <input id="dIp" name="dIp" class="form-control" type="text" value="${log.dIp}"/> - </div> - </div> - <div class="col-md-2"> - <label><spring:message code="cfg_id"></spring:message>:</label> - <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/> - </div> - </div> - </div> - <!-- /筛选搜索内容栏 结束--> - </form:form> - </div> - <sys:message content="${message}"/> - <div class="table-responsive"> - <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb"> - <thead> - <tr> - <th><spring:message code="log"/></th> - <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th> - <th class="sort-column service" isVisible="false"><spring:message code="action"/></th> - <th class="sort-column found_time"><spring:message code="found_time"/></th> - <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th> - - <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th> - - <th class="sort-column pid" isVisible="false"><spring:message code='pid'/></th> - <th class="sort-column url"><spring:message code='access_url'/></th> - <th class="sort-column log_uri"><spring:message code='log_uri'/></th> - <th class="sort-column referer"><spring:message code='referer'/></th> - <th class="sort-column level" isVisible="false"><spring:message code='harm_level'/></th> - <th class="sort-column fd_type" isVisible="false"><spring:message code='fd_type'/></th> - <th class="sort-column protocol" ><spring:message code='av_protocol'/></th> - <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th> - <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th> - <th class="sort-column addr_type"><spring:message code='addr_type'/></th> - <th class="sort-column d_ip"><spring:message code="server_ip"/></th> - <th class="sort-column s_ip"><spring:message code="client_ip"/></th> - <th class="sort-column d_port"><spring:message code="server_port"/></th> - <th class="sort-column s_port"><spring:message code="client_port"/></th> - <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th> - <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th> - <th class="sort-column encap_type"><spring:message code="encap_type"/></th> -<%-- <th class="sort-column direction"><spring:message code="direction"/></th> --%> - <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th> - <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th> - <th class="sort-column stream_dir"><spring:message code="stream_type"/></th> - - <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th> - <th class="sort-column server_locate"><spring:message code='server_locate'/></th> - <th class="sort-column client_locate"><spring:message code='client_locate'/></th> - <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th> - <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th> - <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th> - <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th> - <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th> - <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if> - </tr> - </thead> - <tbody> - <c:forEach var="log" items="${page.list }" varStatus="status"> - <tr> - <td> - <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a> - </td> - <td>${log.cfgId }</td> - <td> - <c:set var="actions">${log.action }</c:set> - <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict"> - <c:if test="${dict.itemCode eq log.action}"> - <c:set var="actions">${dict.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${actions}"/> - </td> - <td>${log.foundTime }</td> - <td>${log.recvTime }</td> - <td> - <c:set var="entrances">${log.entranceId }</c:set> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> - <c:if test="${dic.itemCode eq log.entranceId}"> - <c:set var="entrances">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${entrances}"/> - </td> - - <td>${log.pid}</td> - <td> - <c:if test="${fn:startsWith(log.url, 'http://')}"> - ${fn:substring(log.url,7,-1)} - </c:if> - <c:if test="${!fn:startsWith(log.url, 'http://') and !empty log.url}"> - ${log.url} - </c:if> - </td> - <td> - <c:if test="${fn:startsWith(log.logUri, 'http')}"> - <a href="${log.logUri}" data-original-title="${log.logUri}" target="_blank" - class="tooltips" data-flag="false" data-html="true" data-placement="top"> - ${fn:substring(log.logUri,0,20) } - </a> - </c:if> - - <c:if test="${!fn:startsWith(log.logUri, 'http') and !empty log.logUri}"> - <a href="http://${log.logUri}" data-original-title="http://${log.logUri}" target="_blank" - class="tooltips" data-flag="false" data-html="true" data-placement="top"> - http://${fn:substring(log.logUri,0,20) } - </a> - </c:if> - </td> - <td> - ${log.referer} - </td> - <td>${log.level}</td> - <!--0:动态黑名单FD;1:静态配置FD;2:首次分析命中 --> - <td> - <c:if test="${log.fdType eq 0 }"><spring:message code="black_block_list"/></c:if> - <c:if test="${log.fdType eq 1 }"><spring:message code="static_cfg_block"/></c:if> - <c:if test="${log.fdType eq 2 }"><spring:message code="first_hit"/></c:if> - </td> - <td> - <c:set var="avProtocol" value="${log.protocol}"></c:set> - <c:forEach items="${fns:getDictList('AV_PROTOCOL')}" var="dic"> - <c:if test="${log.protocol==dic.itemCode}"> - <c:set var="avProtocol" value="${dic.itemValue }"></c:set> - </c:if> - </c:forEach> - ${avProtocol } - </td> - <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td> - <td> - <c:set var="transProtos">${log.transProto }</c:set> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic"> - <c:if test="${dic.itemCode eq log.transProto}"> - <c:set var="transProtos">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${transProtos}"/> - </td> - <td> - <c:set var="addrTypes">${log.addrType }</c:set> - <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic"> - <c:if test="${log.addrType==dic.itemCode}"> - <c:set var="addrTypes">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${addrTypes}"/> - </td> - <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td> - <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td> - <td>${log.dPort }</td> - <td>${log.sPort }</td> - <td> - <c:set var="deviceIds">${log.deviceId }</c:set> - <c:forEach items="${fns:getDictList('DEVICE')}" var="device"> - <c:if test="${device.itemCode eq log.deviceId}"> - <c:set var="deviceIds">${device.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${deviceIds}"/> - </td> - <td> - <c:set var="linkIds">${log.linkId }</c:set> - <c:forEach items="${fns:getDictList('LINK')}" var="link"> - <c:if test="${link.itemCode eq log.linkId}"> - <c:set var="linkIds">${link.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${linkIds}"/> - </td> - <td> - <c:set var="encapTypes">${log.encapType }</c:set> - <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType"> - <c:if test="${encapType.itemCode eq log.encapType}"> - <c:set var="encapTypes">${encapType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${encapTypes}"/> - </td> - <%-- <td> - <c:set var="directions">${log.direction }</c:set> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction"> - <c:if test="${direction.itemCode eq log.direction}"> - <c:set var="directions">${direction.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${directions}"/> - </td> --%> - <td>${log.innerSmac }</td> - <td>${log.innerDmac }</td> - <td> - <c:set var="streamDirs">${log.streamDir }</c:set> - <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType"> - <c:if test="${streamType.itemCode eq log.streamDir}"> - <c:set var="streamDirs">${streamType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${streamDirs}"/> - </td> - - <td>${log.addrList }</td> - <td>${log.serverLocate}</td> - <td>${log.clientLocate}</td> - <td>${log.sAsn}</td> - <td>${log.dAsn}</td> - <td>${log.sSubscribeId}</td> - <td>${log.dSubscribeId}</td> - <td>${log.userRegion}</td> - <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if> - </tr> - </c:forEach> - </tbody> - </table> - <div class="page">${page}</div> - </div> - </div> - </div> - </div> - </div> -</body> -</html> +<%@ page contentType="text/html;charset=UTF-8"%>
+<%@ include file="/WEB-INF/include/taglib.jsp"%>
+<html>
+<head>
+
+<script type="text/javascript">
+$(document).ready(function(){
+ //筛选功能
+ filterActionInit();
+ //reset
+ $("#resetBtn").on("click",function(){
+ $("select.selectpicker").each(function(){
+ $(this).selectpicker('val',$(this).find('option:first').val());
+ $(this).find("option").attr("selected",false);
+ $(this).find("option:first").attr("selected",true);
+ });
+ $(".Wdate").attr("value",'');
+ $(':input','#searchForm')
+ .not(':button,:submit,:reset,:hidden')
+ .attr("value",'');
+ $("#searchForm")[0].reset();
+ });
+
+});
+
+</script>
+</head>
+<body>
+
+<div class="page-content">
+ <div class="theme-panel hidden-xs hidden-sm">
+ </div>
+ <h3 class="page-title">
+ <spring:message code="av_content_url_control"/>
+ </h3>
+
+ <h5 class="page-header"></h5>
+ <div class="col-md-12">
+ <div class="portlet">
+ <div class="portlet-body">
+ <div class="row" >
+ <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/mmAvUrlLogs" method="post" class="form-search">
+ <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
+ <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+ <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/>
+ <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/>
+ <!-- 筛选按钮展开状态-->
+ <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/>
+
+ <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/>
+
+ <!-- 搜索内容与操作按钮栏 -->
+ <div class="col-md-12">
+ <div class="pull-left">
+ <form:select path="service" class="selectpicker select2 input-small">
+ <form:option value=""><spring:message code="action"/></form:option>
+ <c:forEach items="${serviceList}" var="service"
+ varStatus="satus">
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
+ <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }">
+ <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:if>
+ </c:forEach>
+ </c:forEach>
+ </form:select>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
+ </div>
+ <input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
+ value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="end_date"/></span>
+ </div>
+ <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
+ value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+
+ <div class="pull-left">
+ <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
+ <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
+ <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button>
+ </div>
+
+ <div class="pull-right">
+ <a class="btn btn-icon-only btn-default setfields tooltips"
+ data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
+ <i class="icon-wrench"></i>
+ </a>
+ </div>
+ </div>
+
+ <!-- 筛选搜索内容栏默认隐藏-->
+ <div class="col-md-12 filter-action-select-panle hide" >
+ <div class="row">
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="transport_layer_protocol"/>:</label>
+ <c:set var="select"><spring:message code='select'/></c:set>
+ <form:select path="transProto" class="selectpicker form-control" >
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict">
+ <form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+
+ <%-- <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="direction"/>:</label>
+ <form:select path="direction" class="selectpicker select2 form-control">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="dict">
+ <form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div> --%>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="entrance"/>:</label>
+ <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" >
+ <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clj_ip"/>:</label>
+ <input name="capIp" type="text" class="form-control" value="${log.capIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clientip"/>:</label>
+ <input id="sIp" name="sIp" class="form-control" type="text" value="${log.sIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="serverip"/>:</label>
+ <input id="dIp" name="dIp" class="form-control" type="text" value="${log.dIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <label><spring:message code="cfg_id"></spring:message>:</label>
+ <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/>
+ </div>
+ </div>
+ </div>
+ <!-- /筛选搜索内容栏 结束-->
+ </form:form>
+ </div>
+ <sys:message content="${message}"/>
+ <div class="table-responsive">
+ <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb">
+ <thead>
+ <tr>
+ <th><spring:message code="log"/></th>
+ <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
+ <th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
+ <th class="sort-column found_time"><spring:message code="found_time"/></th>
+ <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
+
+ <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th>
+
+ <th class="sort-column pid" isVisible="false"><spring:message code='pid'/></th>
+ <th class="sort-column url"><spring:message code='access_url'/></th>
+ <th class="sort-column log_uri"><spring:message code='log_uri'/></th>
+ <th class="sort-column referer"><spring:message code='referer'/></th>
+ <th class="sort-column level" isVisible="false"><spring:message code='harm_level'/></th>
+ <th class="sort-column fd_type" isVisible="false"><spring:message code='fd_type'/></th>
+ <th class="sort-column protocol" ><spring:message code='av_protocol'/></th>
+ <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th>
+ <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th>
+ <th class="sort-column addr_type"><spring:message code='addr_type'/></th>
+ <th class="sort-column d_ip"><spring:message code="server_ip"/></th>
+ <th class="sort-column s_ip"><spring:message code="client_ip"/></th>
+ <th class="sort-column d_port"><spring:message code="server_port"/></th>
+ <th class="sort-column s_port"><spring:message code="client_port"/></th>
+ <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th>
+ <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th>
+ <th class="sort-column encap_type"><spring:message code="encap_type"/></th>
+<%-- <th class="sort-column direction"><spring:message code="direction"/></th> --%>
+ <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th>
+ <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th>
+ <th class="sort-column stream_dir"><spring:message code="stream_type"/></th>
+
+ <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
+ <th class="sort-column server_locate"><spring:message code='server_locate'/></th>
+ <th class="sort-column client_locate"><spring:message code='client_locate'/></th>
+ <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
+ <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
+ <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
+ <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
+ <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
+ <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
+ </tr>
+ </thead>
+ <tbody>
+ <c:forEach var="log" items="${page.list }" varStatus="status">
+ <tr>
+ <td>
+ <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a>
+ </td>
+ <td>${log.cfgId }</td>
+ <td>
+ <c:set var="actions">${log.action }</c:set>
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict">
+ <c:if test="${dict.itemCode eq log.action}">
+ <c:set var="actions">${dict.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${actions}"/>
+ </td>
+ <td>${log.foundTime }</td>
+ <td>${log.recvTime }</td>
+ <td>
+ <c:set var="entrances">${log.entranceId }</c:set>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
+ <c:if test="${dic.itemCode eq log.entranceId}">
+ <c:set var="entrances">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${entrances}"/>
+ </td>
+
+ <td>${log.pid}</td>
+ <td>
+ <c:if test="${fn:startsWith(log.url, 'http://')}">
+ ${fn:substring(log.url,7,-1)}
+ </c:if>
+ <c:if test="${!fn:startsWith(log.url, 'http://') and !empty log.url}">
+ ${log.url}
+ </c:if>
+ </td>
+ <td>
+ <c:if test="${fn:startsWith(log.logUri, 'http')}">
+ <a href="${log.logUri}" data-original-title="${log.logUri}" target="_blank"
+ class="tooltips" data-flag="false" data-html="true" data-placement="top">
+ ${fn:substring(log.logUri,0,20) }
+ </a>
+ </c:if>
+
+ <c:if test="${!fn:startsWith(log.logUri, 'http') and !empty log.logUri}">
+ <a href="http://${log.logUri}" data-original-title="http://${log.logUri}" target="_blank"
+ class="tooltips" data-flag="false" data-html="true" data-placement="top">
+ http://${fn:substring(log.logUri,0,20) }
+ </a>
+ </c:if>
+ </td>
+ <td>
+ ${log.referer}
+ </td>
+ <td>${log.level}</td>
+ <!--0:动态黑名单FD;1:静态配置FD;2:首次分析命中 -->
+ <td>
+ <c:if test="${log.fdType eq 0 }"><spring:message code="black_block_list"/></c:if>
+ <c:if test="${log.fdType eq 1 }"><spring:message code="static_cfg_block"/></c:if>
+ <c:if test="${log.fdType eq 2 }"><spring:message code="first_hit"/></c:if>
+ </td>
+ <td>
+ <c:set var="avProtocol" value="${log.protocol}"></c:set>
+ <c:forEach items="${fns:getDictList('AV_PROTOCOL')}" var="dic">
+ <c:if test="${log.protocol==dic.itemCode}">
+ <c:set var="avProtocol" value="${dic.itemValue }"></c:set>
+ </c:if>
+ </c:forEach>
+ ${avProtocol }
+ </td>
+ <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td>
+ <td>
+ <c:set var="transProtos">${log.transProto }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic">
+ <c:if test="${dic.itemCode eq log.transProto}">
+ <c:set var="transProtos">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${transProtos}"/>
+ </td>
+ <td>
+ <c:set var="addrTypes">${log.addrType }</c:set>
+ <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic">
+ <c:if test="${log.addrType==dic.itemCode}">
+ <c:set var="addrTypes">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${addrTypes}"/>
+ </td>
+ <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td>
+ <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td>
+ <td>${log.dPort }</td>
+ <td>${log.sPort }</td>
+ <td>
+ <c:set var="deviceIds">${log.deviceId }</c:set>
+ <c:forEach items="${fns:getDictList('DEVICE')}" var="device">
+ <c:if test="${device.itemCode eq log.deviceId}">
+ <c:set var="deviceIds">${device.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${deviceIds}"/>
+ </td>
+ <td>
+ <c:set var="linkIds">${log.linkId }</c:set>
+ <c:forEach items="${fns:getDictList('LINK')}" var="link">
+ <c:if test="${link.itemCode eq log.linkId}">
+ <c:set var="linkIds">${link.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${linkIds}"/>
+ </td>
+ <td>
+ <c:set var="encapTypes">${log.encapType }</c:set>
+ <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType">
+ <c:if test="${encapType.itemCode eq log.encapType}">
+ <c:set var="encapTypes">${encapType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${encapTypes}"/>
+ </td>
+ <%-- <td>
+ <c:set var="directions">${log.direction }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction">
+ <c:if test="${direction.itemCode eq log.direction}">
+ <c:set var="directions">${direction.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${directions}"/>
+ </td> --%>
+ <td>${log.innerSmac }</td>
+ <td>${log.innerDmac }</td>
+ <td>
+ <c:set var="streamDirs">${log.streamDir }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType">
+ <c:if test="${streamType.itemCode eq log.streamDir}">
+ <c:set var="streamDirs">${streamType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${streamDirs}"/>
+ </td>
+
+ <td>${log.addrList }</td>
+ <td>${log.serverLocate}</td>
+ <td>${log.clientLocate}</td>
+ <td>${log.sAsn}</td>
+ <td>${log.dAsn}</td>
+ <td>${log.sSubscribeId}</td>
+ <td>${log.dSubscribeId}</td>
+ <td>${log.userRegion}</td>
+ <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if>
+ </tr>
+ </c:forEach>
+ </tbody>
+ </table>
+ <div class="page">${page}</div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+</body>
+</html>
diff --git a/src/main/webapp/WEB-INF/views/log/ntc/mmFileDigestList.jsp b/src/main/webapp/WEB-INF/views/log/ntc/mmFileDigestList.jsp index c1d0312..10ba938 100644 --- a/src/main/webapp/WEB-INF/views/log/ntc/mmFileDigestList.jsp +++ b/src/main/webapp/WEB-INF/views/log/ntc/mmFileDigestList.jsp @@ -1,416 +1,416 @@ -<%@ page contentType="text/html;charset=UTF-8"%> -<%@ include file="/WEB-INF/include/taglib.jsp"%> -<html> -<head> - -<script type="text/javascript"> -$(document).ready(function(){ - //筛选功能 - filterActionInit(); - //reset - $("#resetBtn").on("click",function(){ - $("select.selectpicker").each(function(){ - $(this).selectpicker('val',$(this).find('option:first').val()); - $(this).find("option").attr("selected",false); - $(this).find("option:first").attr("selected",true); - }); - $(".Wdate").attr("value",''); - $(':input','#searchForm') - .not(':button,:submit,:reset,:hidden') - .attr("value",''); - $("#searchForm")[0].reset(); - }); - //异步获取voip相关信息 - $("span[id^=open]").click(function(){ - var openId=$(this).attr("id"); - var closeId=$(this).attr("id").replace("open","close"); - var index=$(this).attr("id").replace("open",""); - $("#"+openId).hide(); - $("#"+closeId).show(); - var compileId=$(this).attr("compileId"); -// var cfgId=$(this).attr("cfgId"); - if($("#"+openId).parent().parent().next("tr").hasClass("child")){ - $("#"+openId).parent().parent().next("tr").show(); - }else{ - $.ajax({ - type:'post', - async:false, - url:'${ctx}/ntc/fileTransfer/ajaxFileDigestSubIdList', - data:{"compileId":compileId,"index":index}, - dataType:"html", - success:function(data){ - var subTab="<tr class='child'>"+ - "<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>"; - var html=""; - html+="<div class='row'>"; - html = html+data; - subTab=subTab+html; - subTab+="</td>"; - subTab+="</tr>"; - $("#"+openId).parent().parent().after(subTab); - $("div[name='tabTitle"+index+"']").get(0).click(); - } - }); - } - - }); - - $("span[id^=close]").on("click",function(){ - var closeId=$(this).attr("id"); - var openId=$(this).attr("id").replace("close","open"); - $("#"+closeId).hide(); - $("#"+openId).show(); - $("#"+closeId).parent().parent().next("tr").hide(); - }); -}); - -</script> -</head> -<body> - -<div class="page-content"> - <div class="theme-panel hidden-xs hidden-sm"> - </div> - <h3 class="page-title"> - <spring:message code="file_digest_control"/> - </h3> - <h5 class="page-header"></h5> - <div class="col-md-12"> - <div class="portlet"> - <div class="portlet-body"> - <div class="row" > - <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/mmFileDigestLogs" method="post" class="form-search"> - <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/> - <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/> - <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/> - <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/> - <!-- 筛选按钮展开状态--> - <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/> - - <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/> - - <!-- 搜索内容与操作按钮栏 --> - <div class="col-md-12"> - <div class="pull-left"> - <form:select path="service" class="selectpicker select2 input-small"> - <form:option value=""><spring:message code="action"/></form:option> - <c:forEach items="${serviceList}" var="service" - varStatus="satus"> - <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict"> - <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }"> - <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option> - </c:if> - </c:forEach> - </c:forEach> - </form:select> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="begin_date"/></span> - </div> - <input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" class="form-control input-medium Wdate " - value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="end_date"/></span> - </div> - <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate " - value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - - <div class="pull-left"> - <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button> - <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button> - <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button> - </div> - - <div class="pull-right"> - <a class="btn btn-icon-only btn-default setfields tooltips" - data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;"> - <i class="icon-wrench"></i> - </a> - </div> - </div> - - <!-- 筛选搜索内容栏默认隐藏--> - <div class="col-md-12 filter-action-select-panle hide" > - <div class="row"> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="transport_layer_protocol"/>:</label> - <c:set var="select"><spring:message code='select'/></c:set> - <form:select path="transProto" class="selectpicker form-control" > - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict"> - <form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option> - </c:forEach> - </form:select> - </div> - </div> - - <%-- <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="direction"/>:</label> - <form:select path="direction" class="selectpicker select2 form-control"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="dict"> - <form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option> - </c:forEach> - </form:select> - </div> - </div> --%> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="entrance"/>:</label> - <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" > - <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option> - </c:forEach> - </form:select> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clj_ip"/>:</label> - <input name="capIp" type="text" class="form-control" value="${log.capIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clientip"/>:</label> - <input id="sIp" name="sIp" class="form-control" type="text" value="${log.sIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="serverip"/>:</label> - <input id="dIp" name="dIp" class="form-control" type="text" value="${log.dIp}"/> - </div> - </div> - <div class="col-md-2"> - <label><spring:message code="cfg_id"></spring:message>:</label> - <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/> - </div> - </div> - - </div> - <!-- /筛选搜索内容栏 结束--> - </form:form> - </div> - <sys:message content="${message}"/> - <div class="table-responsive"> - - <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb"> - <thead> - <tr> - <th><spring:message code="log"/></th> - <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th> - <th class="sort-column service" isVisible="false"><spring:message code="action"/></th> - <th class="sort-column found_time"><spring:message code="found_time"/></th> - <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th> - - <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th> - - <th class="sort-column pid" isVisible="false"><spring:message code='pid'/></th> - <th class="sort-column url"><spring:message code='access_url'/></th> - <th class="sort-column log_uri"><spring:message code='log_uri'/></th> - <th class="sort-column referer"><spring:message code='referer'/></th> - <th class="sort-column level" isVisible="false"><spring:message code='harm_level'/></th> - <th class="sort-column fd_type" isVisible="false"><spring:message code='fd_type'/></th> - <th class="sort-column protocol" ><spring:message code='av_protocol'/></th> - <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th> - <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th> - <th class="sort-column addr_type"><spring:message code='addr_type'/></th> - <th class="sort-column d_ip"><spring:message code="server_ip"/></th> - <th class="sort-column s_ip"><spring:message code="client_ip"/></th> - <th class="sort-column d_port"><spring:message code="server_port"/></th> - <th class="sort-column s_port"><spring:message code="client_port"/></th> - <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th> - <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th> - <th class="sort-column encap_type"><spring:message code="encap_type"/></th> -<%-- <th class="sort-column direction"><spring:message code="direction"/></th> --%> - <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th> - <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th> - <th class="sort-column stream_dir"><spring:message code="stream_type"/></th> - - <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th> - <th class="sort-column server_locate"><spring:message code='server_locate'/></th> - <th class="sort-column client_locate"><spring:message code='client_locate'/></th> - <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th> - <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th> - <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th> - <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th> - <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th> - <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if> - </tr> - </thead> - <tbody> - <c:forEach var="log" items="${page.list }" varStatus="status"> - <tr> - <td> -<%-- <span id="open${status.index}" class="log-open-cfg" compileId="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span> - --%> <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a> - </td> - <td>${log.cfgId }</td> - <td> - <c:set var="actions">${log.action }</c:set> - <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict"> - <c:if test="${dict.itemCode eq log.action}"> - <c:set var="actions">${dict.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${actions}"/> - </td> - <td>${log.foundTime }</td> - <td>${log.recvTime }</td> - - <td> - <c:set var="entrances">${log.entranceId }</c:set> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> - <c:if test="${dic.itemCode eq log.entranceId}"> - <c:set var="entrances">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${entrances}"/> - </td> - - <td>${log.pid}</td> - <td> - <c:if test="${fn:startsWith(log.url, 'http://')}"> - ${fn:substring(log.url,7,-1)} - </c:if> - <c:if test="${!fn:startsWith(log.url, 'http://') and !empty log.url}"> - ${log.url} - </c:if> - </td> - <td> - <c:if test="${fn:startsWith(log.logUri, 'http')}"> - <a href="${log.logUri}" data-original-title="${log.logUri}" target="_blank" - class="tooltips" data-flag="false" data-html="true" data-placement="top"> - ${fn:substring(log.logUri,0,20) } - </a> - </c:if> - - <c:if test="${!fn:startsWith(log.logUri, 'http') and !empty log.logUri}"> - <a href="http://${log.logUri}" data-original-title="http://${log.logUri}" target="_blank" - class="tooltips" data-flag="false" data-html="true" data-placement="top"> - http://${fn:substring(log.logUri,0,20) } - </a> - </c:if> - </td> - <td> - ${log.referer} - </td> - <td>${log.level}</td> - <!--0:动态黑名单FD;1:静态配置FD;2:首次分析命中 --> - <td> - <c:if test="${log.fdType eq 0 }"><spring:message code="black_block_list"/></c:if> - <c:if test="${log.fdType eq 1 }"><spring:message code="static_cfg_block"/></c:if> - <c:if test="${log.fdType eq 2 }"><spring:message code="first_hit"/></c:if> - </td> - <td><c:set var="avProtocol" value="${log.protocol}"></c:set> - <c:forEach items="${fns:getDictList('AV_PROTOCOL')}" var="dic"> - <c:if test="${log.protocol==dic.itemCode}"> - <c:set var="avProtocol" value="${dic.itemValue }"></c:set> - </c:if> - </c:forEach> - ${avProtocol } - </td> - <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td> - <td> - <c:set var="transProtos">${log.transProto }</c:set> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic"> - <c:if test="${dic.itemCode eq log.transProto}"> - <c:set var="transProtos">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${transProtos}"/> - </td> - <td> - <c:set var="addrTypes">${log.addrType }</c:set> - <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic"> - <c:if test="${log.addrType==dic.itemCode}"> - <c:set var="addrTypes">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${addrTypes}"/> - </td> - <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td> - <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td> - <td>${log.dPort }</td> - <td>${log.sPort }</td> - <td> - <c:set var="deviceIds">${log.deviceId }</c:set> - <c:forEach items="${fns:getDictList('DEVICE')}" var="device"> - <c:if test="${device.itemCode eq log.deviceId}"> - <c:set var="deviceIds">${device.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${deviceIds}"/> - </td> - <td> - <c:set var="linkIds">${log.linkId }</c:set> - <c:forEach items="${fns:getDictList('LINK')}" var="link"> - <c:if test="${link.itemCode eq log.linkId}"> - <c:set var="linkIds">${link.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${linkIds}"/> - </td> - <td> - <c:set var="encapTypes">${log.encapType }</c:set> - <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType"> - <c:if test="${encapType.itemCode eq log.encapType}"> - <c:set var="encapTypes">${encapType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${encapTypes}"/> - </td> - <%-- <td> - <c:set var="directions">${log.direction }</c:set> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction"> - <c:if test="${direction.itemCode eq log.direction}"> - <c:set var="directions">${direction.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${directions}"/> - </td> --%> - <td>${log.innerSmac }</td> - <td>${log.innerDmac }</td> - <td> - <c:set var="streamDirs">${log.streamDir }</c:set> - <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType"> - <c:if test="${streamType.itemCode eq log.streamDir}"> - <c:set var="streamDirs">${streamType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${streamDirs}"/> - </td> - - <td>${log.addrList }</td> - <td>${log.serverLocate}</td> - <td>${log.clientLocate}</td> - <td>${log.sAsn}</td> - <td>${log.dAsn}</td> - <td>${log.sSubscribeId}</td> - <td>${log.dSubscribeId}</td> - <td>${log.userRegion}</td> - <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if> - </tr> - </c:forEach> - </tbody> - </table> - <div class="page">${page}</div> - </div> - </div> - </div> - </div> - </div> -</body> -</html> +<%@ page contentType="text/html;charset=UTF-8"%>
+<%@ include file="/WEB-INF/include/taglib.jsp"%>
+<html>
+<head>
+
+<script type="text/javascript">
+$(document).ready(function(){
+ //筛选功能
+ filterActionInit();
+ //reset
+ $("#resetBtn").on("click",function(){
+ $("select.selectpicker").each(function(){
+ $(this).selectpicker('val',$(this).find('option:first').val());
+ $(this).find("option").attr("selected",false);
+ $(this).find("option:first").attr("selected",true);
+ });
+ $(".Wdate").attr("value",'');
+ $(':input','#searchForm')
+ .not(':button,:submit,:reset,:hidden')
+ .attr("value",'');
+ $("#searchForm")[0].reset();
+ });
+ //异步获取voip相关信息
+ $("span[id^=open]").click(function(){
+ var openId=$(this).attr("id");
+ var closeId=$(this).attr("id").replace("open","close");
+ var index=$(this).attr("id").replace("open","");
+ $("#"+openId).hide();
+ $("#"+closeId).show();
+ var compileId=$(this).attr("compileId");
+// var cfgId=$(this).attr("cfgId");
+ if($("#"+openId).parent().parent().next("tr").hasClass("child")){
+ $("#"+openId).parent().parent().next("tr").show();
+ }else{
+ $.ajax({
+ type:'post',
+ async:false,
+ url:'${ctx}/ntc/fileTransfer/ajaxFileDigestLogSubIdList',
+ data:{"compileId":compileId,"index":index},
+ dataType:"html",
+ success:function(data){
+ var subTab="<tr class='child'>"+
+ "<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>";
+ var html="";
+ html+="<div class='row'>";
+ html = html+data;
+ subTab=subTab+html;
+ subTab+="</td>";
+ subTab+="</tr>";
+ $("#"+openId).parent().parent().after(subTab);
+ $("div[name='tabTitle"+index+"']").get(0).click();
+ }
+ });
+ }
+
+ });
+
+ $("span[id^=close]").on("click",function(){
+ var closeId=$(this).attr("id");
+ var openId=$(this).attr("id").replace("close","open");
+ $("#"+closeId).hide();
+ $("#"+openId).show();
+ $("#"+closeId).parent().parent().next("tr").hide();
+ });
+});
+
+</script>
+</head>
+<body>
+
+<div class="page-content">
+ <div class="theme-panel hidden-xs hidden-sm">
+ </div>
+ <h3 class="page-title">
+ <spring:message code="file_digest_control"/>
+ </h3>
+ <h5 class="page-header"></h5>
+ <div class="col-md-12">
+ <div class="portlet">
+ <div class="portlet-body">
+ <div class="row" >
+ <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/mmFileDigestLogs" method="post" class="form-search">
+ <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
+ <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+ <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/>
+ <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/>
+ <!-- 筛选按钮展开状态-->
+ <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/>
+
+ <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/>
+
+ <!-- 搜索内容与操作按钮栏 -->
+ <div class="col-md-12">
+ <div class="pull-left">
+ <form:select path="service" class="selectpicker select2 input-small">
+ <form:option value=""><spring:message code="action"/></form:option>
+ <c:forEach items="${serviceList}" var="service"
+ varStatus="satus">
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
+ <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }">
+ <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:if>
+ </c:forEach>
+ </c:forEach>
+ </form:select>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
+ </div>
+ <input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
+ value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="end_date"/></span>
+ </div>
+ <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
+ value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+
+ <div class="pull-left">
+ <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
+ <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
+ <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button>
+ </div>
+
+ <div class="pull-right">
+ <a class="btn btn-icon-only btn-default setfields tooltips"
+ data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
+ <i class="icon-wrench"></i>
+ </a>
+ </div>
+ </div>
+
+ <!-- 筛选搜索内容栏默认隐藏-->
+ <div class="col-md-12 filter-action-select-panle hide" >
+ <div class="row">
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="transport_layer_protocol"/>:</label>
+ <c:set var="select"><spring:message code='select'/></c:set>
+ <form:select path="transProto" class="selectpicker form-control" >
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict">
+ <form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+
+ <%-- <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="direction"/>:</label>
+ <form:select path="direction" class="selectpicker select2 form-control">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="dict">
+ <form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div> --%>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="entrance"/>:</label>
+ <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" >
+ <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clj_ip"/>:</label>
+ <input name="capIp" type="text" class="form-control" value="${log.capIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clientip"/>:</label>
+ <input id="sIp" name="sIp" class="form-control" type="text" value="${log.sIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="serverip"/>:</label>
+ <input id="dIp" name="dIp" class="form-control" type="text" value="${log.dIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <label><spring:message code="cfg_id"></spring:message>:</label>
+ <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/>
+ </div>
+ </div>
+
+ </div>
+ <!-- /筛选搜索内容栏 结束-->
+ </form:form>
+ </div>
+ <sys:message content="${message}"/>
+ <div class="table-responsive">
+
+ <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb">
+ <thead>
+ <tr>
+ <th><spring:message code="log"/></th>
+ <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
+ <th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
+ <th class="sort-column found_time"><spring:message code="found_time"/></th>
+ <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
+
+ <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th>
+
+ <th class="sort-column pid" isVisible="false"><spring:message code='pid'/></th>
+ <th class="sort-column url"><spring:message code='access_url'/></th>
+ <th class="sort-column log_uri"><spring:message code='log_uri'/></th>
+ <th class="sort-column referer"><spring:message code='referer'/></th>
+ <th class="sort-column level" isVisible="false"><spring:message code='harm_level'/></th>
+ <th class="sort-column fd_type" isVisible="false"><spring:message code='fd_type'/></th>
+ <th class="sort-column protocol" ><spring:message code='av_protocol'/></th>
+ <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th>
+ <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th>
+ <th class="sort-column addr_type"><spring:message code='addr_type'/></th>
+ <th class="sort-column d_ip"><spring:message code="server_ip"/></th>
+ <th class="sort-column s_ip"><spring:message code="client_ip"/></th>
+ <th class="sort-column d_port"><spring:message code="server_port"/></th>
+ <th class="sort-column s_port"><spring:message code="client_port"/></th>
+ <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th>
+ <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th>
+ <th class="sort-column encap_type"><spring:message code="encap_type"/></th>
+<%-- <th class="sort-column direction"><spring:message code="direction"/></th> --%>
+ <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th>
+ <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th>
+ <th class="sort-column stream_dir"><spring:message code="stream_type"/></th>
+
+ <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
+ <th class="sort-column server_locate"><spring:message code='server_locate'/></th>
+ <th class="sort-column client_locate"><spring:message code='client_locate'/></th>
+ <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
+ <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
+ <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
+ <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
+ <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
+ <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
+ </tr>
+ </thead>
+ <tbody>
+ <c:forEach var="log" items="${page.list }" varStatus="status">
+ <tr>
+ <td>
+<%-- <span id="open${status.index}" class="log-open-cfg" compileId="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span>
+ --%> <a href="javascript:void(0)" name="viewLogInfo" url="${ctx}/ntc/fileTransfer/ajaxFileDigestLogSubIdList" compileId="${log.cfgId }" ><i class="icon-book-open"></i></a>
+ </td>
+ <td>${log.cfgId }</td>
+ <td>
+ <c:set var="actions">${log.action }</c:set>
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict">
+ <c:if test="${dict.itemCode eq log.action}">
+ <c:set var="actions">${dict.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${actions}"/>
+ </td>
+ <td>${log.foundTime }</td>
+ <td>${log.recvTime }</td>
+
+ <td>
+ <c:set var="entrances">${log.entranceId }</c:set>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
+ <c:if test="${dic.itemCode eq log.entranceId}">
+ <c:set var="entrances">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${entrances}"/>
+ </td>
+
+ <td>${log.pid}</td>
+ <td>
+ <c:if test="${fn:startsWith(log.url, 'http://')}">
+ ${fn:substring(log.url,7,-1)}
+ </c:if>
+ <c:if test="${!fn:startsWith(log.url, 'http://') and !empty log.url}">
+ ${log.url}
+ </c:if>
+ </td>
+ <td>
+ <c:if test="${fn:startsWith(log.logUri, 'http')}">
+ <a href="${log.logUri}" data-original-title="${log.logUri}" target="_blank"
+ class="tooltips" data-flag="false" data-html="true" data-placement="top">
+ ${fn:substring(log.logUri,0,20) }
+ </a>
+ </c:if>
+
+ <c:if test="${!fn:startsWith(log.logUri, 'http') and !empty log.logUri}">
+ <a href="http://${log.logUri}" data-original-title="http://${log.logUri}" target="_blank"
+ class="tooltips" data-flag="false" data-html="true" data-placement="top">
+ http://${fn:substring(log.logUri,0,20) }
+ </a>
+ </c:if>
+ </td>
+ <td>
+ ${log.referer}
+ </td>
+ <td>${log.level}</td>
+ <!--0:动态黑名单FD;1:静态配置FD;2:首次分析命中 -->
+ <td>
+ <c:if test="${log.fdType eq 0 }"><spring:message code="black_block_list"/></c:if>
+ <c:if test="${log.fdType eq 1 }"><spring:message code="static_cfg_block"/></c:if>
+ <c:if test="${log.fdType eq 2 }"><spring:message code="first_hit"/></c:if>
+ </td>
+ <td><c:set var="avProtocol" value="${log.protocol}"></c:set>
+ <c:forEach items="${fns:getDictList('AV_PROTOCOL')}" var="dic">
+ <c:if test="${log.protocol==dic.itemCode}">
+ <c:set var="avProtocol" value="${dic.itemValue }"></c:set>
+ </c:if>
+ </c:forEach>
+ ${avProtocol }
+ </td>
+ <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td>
+ <td>
+ <c:set var="transProtos">${log.transProto }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic">
+ <c:if test="${dic.itemCode eq log.transProto}">
+ <c:set var="transProtos">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${transProtos}"/>
+ </td>
+ <td>
+ <c:set var="addrTypes">${log.addrType }</c:set>
+ <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic">
+ <c:if test="${log.addrType==dic.itemCode}">
+ <c:set var="addrTypes">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${addrTypes}"/>
+ </td>
+ <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td>
+ <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td>
+ <td>${log.dPort }</td>
+ <td>${log.sPort }</td>
+ <td>
+ <c:set var="deviceIds">${log.deviceId }</c:set>
+ <c:forEach items="${fns:getDictList('DEVICE')}" var="device">
+ <c:if test="${device.itemCode eq log.deviceId}">
+ <c:set var="deviceIds">${device.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${deviceIds}"/>
+ </td>
+ <td>
+ <c:set var="linkIds">${log.linkId }</c:set>
+ <c:forEach items="${fns:getDictList('LINK')}" var="link">
+ <c:if test="${link.itemCode eq log.linkId}">
+ <c:set var="linkIds">${link.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${linkIds}"/>
+ </td>
+ <td>
+ <c:set var="encapTypes">${log.encapType }</c:set>
+ <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType">
+ <c:if test="${encapType.itemCode eq log.encapType}">
+ <c:set var="encapTypes">${encapType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${encapTypes}"/>
+ </td>
+ <%-- <td>
+ <c:set var="directions">${log.direction }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction">
+ <c:if test="${direction.itemCode eq log.direction}">
+ <c:set var="directions">${direction.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${directions}"/>
+ </td> --%>
+ <td>${log.innerSmac }</td>
+ <td>${log.innerDmac }</td>
+ <td>
+ <c:set var="streamDirs">${log.streamDir }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType">
+ <c:if test="${streamType.itemCode eq log.streamDir}">
+ <c:set var="streamDirs">${streamType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${streamDirs}"/>
+ </td>
+
+ <td>${log.addrList }</td>
+ <td>${log.serverLocate}</td>
+ <td>${log.clientLocate}</td>
+ <td>${log.sAsn}</td>
+ <td>${log.dAsn}</td>
+ <td>${log.sSubscribeId}</td>
+ <td>${log.dSubscribeId}</td>
+ <td>${log.userRegion}</td>
+ <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if>
+ </tr>
+ </c:forEach>
+ </tbody>
+ </table>
+ <div class="page">${page}</div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+</body>
+</html>
diff --git a/src/main/webapp/WEB-INF/views/log/ntc/mmPicIpList.jsp b/src/main/webapp/WEB-INF/views/log/ntc/mmPicIpList.jsp index 1aa2603..dbc9987 100644 --- a/src/main/webapp/WEB-INF/views/log/ntc/mmPicIpList.jsp +++ b/src/main/webapp/WEB-INF/views/log/ntc/mmPicIpList.jsp @@ -1,375 +1,375 @@ -<%@ page contentType="text/html;charset=UTF-8"%> -<%@ include file="/WEB-INF/include/taglib.jsp"%> -<html> -<head> - -<script type="text/javascript"> -$(document).ready(function(){ - //筛选功能 - filterActionInit(); - //reset - $("#resetBtn").on("click",function(){ - $("select.selectpicker").each(function(){ - $(this).selectpicker('val',$(this).find('option:first').val()); - $(this).find("option").attr("selected",false); - $(this).find("option:first").attr("selected",true); - }); - $(".Wdate").attr("value",''); - $(':input','#searchForm') - .not(':button,:submit,:reset,:hidden') - .attr("value",''); - $("#searchForm")[0].reset(); - }); - -}); - -</script> -</head> -<body> - -<div class="page-content"> - <div class="theme-panel hidden-xs hidden-sm"> - </div> - <h3 class="page-title"> - <spring:message code="av_picture_ip_control"/> - </h3> - - <h5 class="page-header"></h5> - <div class="col-md-12"> - <div class="portlet"> - <div class="portlet-body"> - <div class="row" > - <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/mmPicIpLogs" method="post" class="form-search"> - <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/> - <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/> - <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/> - <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/> - <!-- 筛选按钮展开状态--> - <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/> - - <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/> - - <!-- 搜索内容与操作按钮栏 --> - <div class="col-md-12"> - <div class="pull-left"> - <form:select path="service" class="selectpicker select2 input-small"> - <form:option value=""><spring:message code="action"/></form:option> - <c:forEach items="${serviceList}" var="service" - varStatus="satus"> - <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict"> - <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }"> - <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option> - </c:if> - </c:forEach> - </c:forEach> - </form:select> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="begin_date"/></span> - </div> - <input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" class="form-control input-medium Wdate " - value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="end_date"/></span> - </div> - <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate " - value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - - <div class="pull-left"> - <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button> - <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button> - <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button> - </div> - - <div class="pull-right"> - <a class="btn btn-icon-only btn-default setfields tooltips" - data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;"> - <i class="icon-wrench"></i> - </a> - </div> - </div> - - <!-- 筛选搜索内容栏默认隐藏--> - <div class="col-md-12 filter-action-select-panle hide" > - <div class="row"> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="transport_layer_protocol"/>:</label> - <c:set var="select"><spring:message code='select'/></c:set> - <form:select path="transProto" class="selectpicker form-control" > - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict"> - <form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option> - </c:forEach> - </form:select> - </div> - </div> - - <%-- <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="direction"/>:</label> - <form:select path="direction" class="selectpicker select2 form-control"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="dict"> - <form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option> - </c:forEach> - </form:select> - </div> - </div> --%> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="entrance"/>:</label> - <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" > - <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option> - </c:forEach> - </form:select> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clj_ip"/>:</label> - <input name="capIp" type="text" class="form-control" value="${log.capIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clientip"/>:</label> - <input id="sIp" name="sIp" class="form-control" type="text" value="${log.sIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="serverip"/>:</label> - <input id="dIp" name="dIp" class="form-control" type="text" value="${log.dIp}"/> - </div> - </div> - <div class="col-md-2"> - <label><spring:message code="cfg_id"></spring:message>:</label> - <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/> - </div> - </div> - </div> - <!-- /筛选搜索内容栏 结束--> - </form:form> - </div> - <sys:message content="${message}"/> - <div class="table-responsive"> - <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb"> - <thead> - <tr> - <th><spring:message code="log"/></th> - <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th> - <th class="sort-column service" isVisible="false"><spring:message code="action"/></th> - <th class="sort-column found_time"><spring:message code="found_time"/></th> - <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th> - - <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th> - <th class="sort-column pid" isVisible="false"><spring:message code='pid'/></th> - <th class="sort-column url"><spring:message code='access_url'/></th> - <th class="sort-column log_uri"><spring:message code='log_uri'/></th> - <th class="sort-column referer"><spring:message code='referer'/></th> - <th class="sort-column level" isVisible="false"><spring:message code='harm_level'/></th> - <th class="sort-column fd_type" isVisible="false"><spring:message code='fd_type'/></th> - <th class="sort-column protocol" ><spring:message code='av_protocol'/></th> - <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th> - <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th> - <th class="sort-column addr_type"><spring:message code='addr_type'/></th> - <th class="sort-column d_ip"><spring:message code="server_ip"/></th> - <th class="sort-column s_ip"><spring:message code="client_ip"/></th> - <th class="sort-column d_port"><spring:message code="server_port"/></th> - <th class="sort-column s_port"><spring:message code="client_port"/></th> - <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th> - <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th> - <th class="sort-column encap_type"><spring:message code="encap_type"/></th> -<%-- <th class="sort-column direction"><spring:message code="direction"/></th> --%> - <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th> - <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th> - <th class="sort-column stream_dir"><spring:message code="stream_type"/></th> - - <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th> - <th class="sort-column server_locate"><spring:message code='server_locate'/></th> - <th class="sort-column client_locate"><spring:message code='client_locate'/></th> - <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th> - <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th> - <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th> - <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th> - <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th> - <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if> - </tr> - </thead> - <tbody> - <c:forEach var="log" items="${page.list }" varStatus="status"> - <tr> - <td> - <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a> - </td> - <td>${log.cfgId }</td> - <td> - <c:set var="actions">${log.action }</c:set> - <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict"> - <c:if test="${dict.itemCode eq log.action}"> - <c:set var="actions">${dict.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${actions}"/> - </td> - - <td>${log.foundTime }</td> - <td>${log.recvTime }</td> - - <td> - <c:set var="entrances">${log.entranceId }</c:set> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> - <c:if test="${dic.itemCode eq log.entranceId}"> - <c:set var="entrances">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${entrances}"/> - </td> - - <td>${log.pid}</td> - <td> - <c:if test="${fn:startsWith(log.url, 'http://')}"> - ${fn:substring(log.url,7,-1)} - </c:if> - <c:if test="${!fn:startsWith(log.url, 'http://') and !empty log.url}"> - ${log.url} - </c:if> - </td> - <td> - <c:if test="${fn:startsWith(log.logUri, 'http')}"> - <a href="${log.logUri}" data-original-title="${log.logUri}" target="_blank" - class="tooltips" data-flag="false" data-html="true" data-placement="top"> - ${fn:substring(log.logUri,0,20) } - </a> - </c:if> - - <c:if test="${!fn:startsWith(log.logUri, 'http') and !empty log.logUri}"> - <a href="http://${log.logUri}" data-original-title="http://${log.logUri}" target="_blank" - class="tooltips" data-flag="false" data-html="true" data-placement="top"> - http://${fn:substring(log.logUri,0,20) } - </a> - </c:if> - </td> - <td> - ${log.referer} - </td> - <td>${log.level}</td> - <!--0:动态黑名单FD;1:静态配置FD;2:首次分析命中 --> - <td> - <c:if test="${log.fdType eq 0 }"><spring:message code="black_block_list"/></c:if> - <c:if test="${log.fdType eq 1 }"><spring:message code="static_cfg_block"/></c:if> - <c:if test="${log.fdType eq 2 }"><spring:message code="first_hit"/></c:if> - </td> - <td> - <c:set var="avProtocol" value="${log.protocol}"></c:set> - <c:forEach items="${fns:getDictList('AV_PROTOCOL')}" var="dic"> - <c:if test="${log.protocol==dic.itemCode}"> - <c:set var="avProtocol" value="${dic.itemValue }"></c:set> - </c:if> - </c:forEach> - ${avProtocol } - </td> - <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td> - <td> - <c:set var="transProtos">${log.transProto }</c:set> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic"> - <c:if test="${dic.itemCode eq log.transProto}"> - <c:set var="transProtos">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${transProtos}"/> - </td> - <td> - <c:set var="addrTypes">${log.addrType }</c:set> - <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic"> - <c:if test="${log.addrType==dic.itemCode}"> - <c:set var="addrTypes">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${addrTypes}"/> - </td> - <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td> - <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td> - <td>${log.dPort }</td> - <td>${log.sPort }</td> - <td> - <c:set var="deviceIds">${log.deviceId }</c:set> - <c:forEach items="${fns:getDictList('DEVICE')}" var="device"> - <c:if test="${device.itemCode eq log.deviceId}"> - <c:set var="deviceIds">${device.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${deviceIds}"/> - </td> - <td> - <c:set var="linkIds">${log.linkId }</c:set> - <c:forEach items="${fns:getDictList('LINK')}" var="link"> - <c:if test="${link.itemCode eq log.linkId}"> - <c:set var="linkIds">${link.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${linkIds}"/> - </td> - <td> - <c:set var="encapTypes">${log.encapType }</c:set> - <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType"> - <c:if test="${encapType.itemCode eq log.encapType}"> - <c:set var="encapTypes">${encapType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${encapTypes}"/> - </td> - <%-- <td> - <c:set var="directions">${log.direction }</c:set> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction"> - <c:if test="${direction.itemCode eq log.direction}"> - <c:set var="directions">${direction.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${directions}"/> - </td> --%> - - <td>${log.innerSmac }</td> - <td>${log.innerDmac }</td> - <td> - <c:set var="streamDirs">${log.streamDir }</c:set> - <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType"> - <c:if test="${streamType.itemCode eq log.streamDir}"> - <c:set var="streamDirs">${streamType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${streamDirs}"/> - </td> - - <td>${log.addrList }</td> - <td>${log.serverLocate}</td> - <td>${log.clientLocate}</td> - <td>${log.sAsn}</td> - <td>${log.dAsn}</td> - <td>${log.sSubscribeId}</td> - <td>${log.dSubscribeId}</td> - <td>${log.userRegion}</td> - <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if> - </tr> - </c:forEach> - </tbody> - </table> - <div class="page">${page}</div> - </div> - </div> - </div> - </div> - </div> -</body> -</html> +<%@ page contentType="text/html;charset=UTF-8"%>
+<%@ include file="/WEB-INF/include/taglib.jsp"%>
+<html>
+<head>
+
+<script type="text/javascript">
+$(document).ready(function(){
+ //筛选功能
+ filterActionInit();
+ //reset
+ $("#resetBtn").on("click",function(){
+ $("select.selectpicker").each(function(){
+ $(this).selectpicker('val',$(this).find('option:first').val());
+ $(this).find("option").attr("selected",false);
+ $(this).find("option:first").attr("selected",true);
+ });
+ $(".Wdate").attr("value",'');
+ $(':input','#searchForm')
+ .not(':button,:submit,:reset,:hidden')
+ .attr("value",'');
+ $("#searchForm")[0].reset();
+ });
+
+});
+
+</script>
+</head>
+<body>
+
+<div class="page-content">
+ <div class="theme-panel hidden-xs hidden-sm">
+ </div>
+ <h3 class="page-title">
+ <spring:message code="av_picture_ip_control"/>
+ </h3>
+
+ <h5 class="page-header"></h5>
+ <div class="col-md-12">
+ <div class="portlet">
+ <div class="portlet-body">
+ <div class="row" >
+ <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/mmPicIpLogs" method="post" class="form-search">
+ <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
+ <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+ <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/>
+ <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/>
+ <!-- 筛选按钮展开状态-->
+ <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/>
+
+ <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/>
+
+ <!-- 搜索内容与操作按钮栏 -->
+ <div class="col-md-12">
+ <div class="pull-left">
+ <form:select path="service" class="selectpicker select2 input-small">
+ <form:option value=""><spring:message code="action"/></form:option>
+ <c:forEach items="${serviceList}" var="service"
+ varStatus="satus">
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
+ <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }">
+ <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:if>
+ </c:forEach>
+ </c:forEach>
+ </form:select>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
+ </div>
+ <input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
+ value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="end_date"/></span>
+ </div>
+ <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
+ value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+
+ <div class="pull-left">
+ <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
+ <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
+ <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button>
+ </div>
+
+ <div class="pull-right">
+ <a class="btn btn-icon-only btn-default setfields tooltips"
+ data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
+ <i class="icon-wrench"></i>
+ </a>
+ </div>
+ </div>
+
+ <!-- 筛选搜索内容栏默认隐藏-->
+ <div class="col-md-12 filter-action-select-panle hide" >
+ <div class="row">
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="transport_layer_protocol"/>:</label>
+ <c:set var="select"><spring:message code='select'/></c:set>
+ <form:select path="transProto" class="selectpicker form-control" >
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict">
+ <form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+
+ <%-- <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="direction"/>:</label>
+ <form:select path="direction" class="selectpicker select2 form-control">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="dict">
+ <form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div> --%>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="entrance"/>:</label>
+ <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" >
+ <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clj_ip"/>:</label>
+ <input name="capIp" type="text" class="form-control" value="${log.capIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clientip"/>:</label>
+ <input id="sIp" name="sIp" class="form-control" type="text" value="${log.sIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="serverip"/>:</label>
+ <input id="dIp" name="dIp" class="form-control" type="text" value="${log.dIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <label><spring:message code="cfg_id"></spring:message>:</label>
+ <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/>
+ </div>
+ </div>
+ </div>
+ <!-- /筛选搜索内容栏 结束-->
+ </form:form>
+ </div>
+ <sys:message content="${message}"/>
+ <div class="table-responsive">
+ <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb">
+ <thead>
+ <tr>
+ <th><spring:message code="log"/></th>
+ <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
+ <th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
+ <th class="sort-column found_time"><spring:message code="found_time"/></th>
+ <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
+
+ <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th>
+ <th class="sort-column pid" isVisible="false"><spring:message code='pid'/></th>
+ <th class="sort-column url"><spring:message code='access_url'/></th>
+ <th class="sort-column log_uri"><spring:message code='log_uri'/></th>
+ <th class="sort-column referer"><spring:message code='referer'/></th>
+ <th class="sort-column level" isVisible="false"><spring:message code='harm_level'/></th>
+ <th class="sort-column fd_type" isVisible="false"><spring:message code='fd_type'/></th>
+ <th class="sort-column protocol" ><spring:message code='av_protocol'/></th>
+ <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th>
+ <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th>
+ <th class="sort-column addr_type"><spring:message code='addr_type'/></th>
+ <th class="sort-column d_ip"><spring:message code="server_ip"/></th>
+ <th class="sort-column s_ip"><spring:message code="client_ip"/></th>
+ <th class="sort-column d_port"><spring:message code="server_port"/></th>
+ <th class="sort-column s_port"><spring:message code="client_port"/></th>
+ <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th>
+ <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th>
+ <th class="sort-column encap_type"><spring:message code="encap_type"/></th>
+<%-- <th class="sort-column direction"><spring:message code="direction"/></th> --%>
+ <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th>
+ <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th>
+ <th class="sort-column stream_dir"><spring:message code="stream_type"/></th>
+
+ <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
+ <th class="sort-column server_locate"><spring:message code='server_locate'/></th>
+ <th class="sort-column client_locate"><spring:message code='client_locate'/></th>
+ <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
+ <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
+ <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
+ <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
+ <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
+ <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
+ </tr>
+ </thead>
+ <tbody>
+ <c:forEach var="log" items="${page.list }" varStatus="status">
+ <tr>
+ <td>
+ <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a>
+ </td>
+ <td>${log.cfgId }</td>
+ <td>
+ <c:set var="actions">${log.action }</c:set>
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict">
+ <c:if test="${dict.itemCode eq log.action}">
+ <c:set var="actions">${dict.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${actions}"/>
+ </td>
+
+ <td>${log.foundTime }</td>
+ <td>${log.recvTime }</td>
+
+ <td>
+ <c:set var="entrances">${log.entranceId }</c:set>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
+ <c:if test="${dic.itemCode eq log.entranceId}">
+ <c:set var="entrances">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${entrances}"/>
+ </td>
+
+ <td>${log.pid}</td>
+ <td>
+ <c:if test="${fn:startsWith(log.url, 'http://')}">
+ ${fn:substring(log.url,7,-1)}
+ </c:if>
+ <c:if test="${!fn:startsWith(log.url, 'http://') and !empty log.url}">
+ ${log.url}
+ </c:if>
+ </td>
+ <td>
+ <c:if test="${fn:startsWith(log.logUri, 'http')}">
+ <a href="${log.logUri}" data-original-title="${log.logUri}" target="_blank"
+ class="tooltips" data-flag="false" data-html="true" data-placement="top">
+ ${fn:substring(log.logUri,0,20) }
+ </a>
+ </c:if>
+
+ <c:if test="${!fn:startsWith(log.logUri, 'http') and !empty log.logUri}">
+ <a href="http://${log.logUri}" data-original-title="http://${log.logUri}" target="_blank"
+ class="tooltips" data-flag="false" data-html="true" data-placement="top">
+ http://${fn:substring(log.logUri,0,20) }
+ </a>
+ </c:if>
+ </td>
+ <td>
+ ${log.referer}
+ </td>
+ <td>${log.level}</td>
+ <!--0:动态黑名单FD;1:静态配置FD;2:首次分析命中 -->
+ <td>
+ <c:if test="${log.fdType eq 0 }"><spring:message code="black_block_list"/></c:if>
+ <c:if test="${log.fdType eq 1 }"><spring:message code="static_cfg_block"/></c:if>
+ <c:if test="${log.fdType eq 2 }"><spring:message code="first_hit"/></c:if>
+ </td>
+ <td>
+ <c:set var="avProtocol" value="${log.protocol}"></c:set>
+ <c:forEach items="${fns:getDictList('AV_PROTOCOL')}" var="dic">
+ <c:if test="${log.protocol==dic.itemCode}">
+ <c:set var="avProtocol" value="${dic.itemValue }"></c:set>
+ </c:if>
+ </c:forEach>
+ ${avProtocol }
+ </td>
+ <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td>
+ <td>
+ <c:set var="transProtos">${log.transProto }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic">
+ <c:if test="${dic.itemCode eq log.transProto}">
+ <c:set var="transProtos">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${transProtos}"/>
+ </td>
+ <td>
+ <c:set var="addrTypes">${log.addrType }</c:set>
+ <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic">
+ <c:if test="${log.addrType==dic.itemCode}">
+ <c:set var="addrTypes">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${addrTypes}"/>
+ </td>
+ <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td>
+ <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td>
+ <td>${log.dPort }</td>
+ <td>${log.sPort }</td>
+ <td>
+ <c:set var="deviceIds">${log.deviceId }</c:set>
+ <c:forEach items="${fns:getDictList('DEVICE')}" var="device">
+ <c:if test="${device.itemCode eq log.deviceId}">
+ <c:set var="deviceIds">${device.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${deviceIds}"/>
+ </td>
+ <td>
+ <c:set var="linkIds">${log.linkId }</c:set>
+ <c:forEach items="${fns:getDictList('LINK')}" var="link">
+ <c:if test="${link.itemCode eq log.linkId}">
+ <c:set var="linkIds">${link.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${linkIds}"/>
+ </td>
+ <td>
+ <c:set var="encapTypes">${log.encapType }</c:set>
+ <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType">
+ <c:if test="${encapType.itemCode eq log.encapType}">
+ <c:set var="encapTypes">${encapType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${encapTypes}"/>
+ </td>
+ <%-- <td>
+ <c:set var="directions">${log.direction }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction">
+ <c:if test="${direction.itemCode eq log.direction}">
+ <c:set var="directions">${direction.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${directions}"/>
+ </td> --%>
+
+ <td>${log.innerSmac }</td>
+ <td>${log.innerDmac }</td>
+ <td>
+ <c:set var="streamDirs">${log.streamDir }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType">
+ <c:if test="${streamType.itemCode eq log.streamDir}">
+ <c:set var="streamDirs">${streamType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${streamDirs}"/>
+ </td>
+
+ <td>${log.addrList }</td>
+ <td>${log.serverLocate}</td>
+ <td>${log.clientLocate}</td>
+ <td>${log.sAsn}</td>
+ <td>${log.dAsn}</td>
+ <td>${log.sSubscribeId}</td>
+ <td>${log.dSubscribeId}</td>
+ <td>${log.userRegion}</td>
+ <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if>
+ </tr>
+ </c:forEach>
+ </tbody>
+ </table>
+ <div class="page">${page}</div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+</body>
+</html>
diff --git a/src/main/webapp/WEB-INF/views/log/ntc/mmPicUrlList.jsp b/src/main/webapp/WEB-INF/views/log/ntc/mmPicUrlList.jsp index a0f552a..5f3aa3c 100644 --- a/src/main/webapp/WEB-INF/views/log/ntc/mmPicUrlList.jsp +++ b/src/main/webapp/WEB-INF/views/log/ntc/mmPicUrlList.jsp @@ -1,372 +1,372 @@ -<%@ page contentType="text/html;charset=UTF-8"%> -<%@ include file="/WEB-INF/include/taglib.jsp"%> -<html> -<head> - -<script type="text/javascript"> -$(document).ready(function(){ - //筛选功能 - filterActionInit(); - //reset - $("#resetBtn").on("click",function(){ - $("select.selectpicker").each(function(){ - $(this).selectpicker('val',$(this).find('option:first').val()); - $(this).find("option").attr("selected",false); - $(this).find("option:first").attr("selected",true); - }); - $(".Wdate").attr("value",''); - $(':input','#searchForm') - .not(':button,:submit,:reset,:hidden') - .attr("value",''); - $("#searchForm")[0].reset(); - }); - -}); - -</script> -</head> -<body> - -<div class="page-content"> - <div class="theme-panel hidden-xs hidden-sm"> - </div> - <h3 class="page-title"> - <spring:message code="av_picture_url_control"/> - </h3> - - <h5 class="page-header"></h5> - <div class="col-md-12"> - <div class="portlet"> - <div class="portlet-body"> - <div class="row" > - <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/mmPicUrlLogs" method="post" class="form-search"> - <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/> - <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/> - <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/> - <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/> - <!-- 筛选按钮展开状态--> - <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/> - - <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/> - - <!-- 搜索内容与操作按钮栏 --> - <div class="col-md-12"> - <div class="pull-left"> - <form:select path="service" class="selectpicker select2 input-small"> - <form:option value=""><spring:message code="action"/></form:option> - <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="action"> - <c:if test="${(action.itemValue eq 'action_reject') or (action.itemValue eq 'action_monit') }"> - <form:option value="${service.serviceId}"><spring:message code="${action.itemValue }"/></form:option> - </c:if> - </c:forEach> - </form:select> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="begin_date"/></span> - </div> - <input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" class="form-control input-medium Wdate " - value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="end_date"/></span> - </div> - <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate " - value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - - <div class="pull-left"> - <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button> - <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button> - <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button> - </div> - - <div class="pull-right"> - <a class="btn btn-icon-only btn-default setfields tooltips" - data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;"> - <i class="icon-wrench"></i> - </a> - </div> - </div> - - <!-- 筛选搜索内容栏默认隐藏--> - <div class="col-md-12 filter-action-select-panle hide" > - <div class="row"> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="transport_layer_protocol"/>:</label> - <c:set var="select"><spring:message code='select'/></c:set> - <form:select path="transProto" class="selectpicker form-control" > - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict"> - <form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option> - </c:forEach> - </form:select> - </div> - </div> - - <%-- <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="direction"/>:</label> - <form:select path="direction" class="selectpicker select2 form-control"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="dict"> - <form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option> - </c:forEach> - </form:select> - </div> - </div> --%> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="entrance"/>:</label> - <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" > - <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option> - </c:forEach> - </form:select> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clj_ip"/>:</label> - <input name="capIp" type="text" class="form-control" value="${log.capIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clientip"/>:</label> - <input id="sIp" name="sIp" class="form-control" type="text" value="${log.sIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="serverip"/>:</label> - <input id="dIp" name="dIp" class="form-control" type="text" value="${log.dIp}"/> - </div> - </div> - <div class="col-md-2"> - <label><spring:message code="cfg_id"></spring:message>:</label> - <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/> - </div> - </div> - </div> - <!-- /筛选搜索内容栏 结束--> - </form:form> - </div> - <sys:message content="${message}"/> - <div class="table-responsive"> - <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb"> - <thead> - <tr> - <th><spring:message code="log"/></th> - <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th> - <th class="sort-column service" isVisible="false"><spring:message code="action"/></th> - <th class="sort-column found_time"><spring:message code="found_time"/></th> - <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th> - - <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th> - - <th class="sort-column pid" isVisible="false"><spring:message code='pid'/></th> - <th class="sort-column url"><spring:message code='access_url'/></th> - <th class="sort-column log_uri"><spring:message code='log_uri'/></th> - <th class="sort-column referer"><spring:message code='referer'/></th> - <th class="sort-column level" isVisible="false"><spring:message code='harm_level'/></th> - <th class="sort-column fd_type" isVisible="false"><spring:message code='fd_type'/></th> - <th class="sort-column protocol" ><spring:message code='av_protocol'/></th> - <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th> - <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th> - <th class="sort-column addr_type"><spring:message code='addr_type'/></th> - <th class="sort-column d_ip"><spring:message code="server_ip"/></th> - <th class="sort-column s_ip"><spring:message code="client_ip"/></th> - <th class="sort-column d_port"><spring:message code="server_port"/></th> - <th class="sort-column s_port"><spring:message code="client_port"/></th> - - <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th> - <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th> - <th class="sort-column encap_type"><spring:message code="encap_type"/></th> -<%-- <th class="sort-column direction"><spring:message code="direction"/></th> --%> - <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th> - <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th> - <th class="sort-column stream_dir"><spring:message code="stream_type"/></th> - - <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th> - <th class="sort-column server_locate"><spring:message code='server_locate'/></th> - <th class="sort-column client_locate"><spring:message code='client_locate'/></th> - <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th> - <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th> - <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th> - <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th> - <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th> - <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if> - </tr> - </thead> - <tbody> - <c:forEach var="log" items="${page.list }" varStatus="status"> - <tr> - <td> - <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a> - </td> - <td>${log.cfgId }</td> - <td> - <c:set var="actions">${log.action }</c:set> - <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict"> - <c:if test="${dict.itemCode eq log.action}"> - <c:set var="actions">${dict.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${actions}"/> - </td> - <td>${log.foundTime }</td> - <td>${log.recvTime }</td> - - <td> - <c:set var="entrances">${log.entranceId }</c:set> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> - <c:if test="${dic.itemCode eq log.entranceId}"> - <c:set var="entrances">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${entrances}"/> - </td> - - <td>${log.pid}</td> - <td> - <c:if test="${fn:startsWith(log.url, 'http://')}"> - ${fn:substring(log.url,7,-1)} - </c:if> - <c:if test="${!fn:startsWith(log.url, 'http://') and !empty log.url}"> - ${log.url} - </c:if> - </td> - <td> - <c:if test="${fn:startsWith(log.logUri, 'http')}"> - <a href="${log.logUri}" data-original-title="${log.logUri}" target="_blank" - class="tooltips" data-flag="false" data-html="true" data-placement="top"> - ${fn:substring(log.logUri,0,20) } - </a> - </c:if> - - <c:if test="${!fn:startsWith(log.logUri, 'http') and !empty log.logUri}"> - <a href="http://${log.logUri}" data-original-title="http://${log.logUri}" target="_blank" - class="tooltips" data-flag="false" data-html="true" data-placement="top"> - http://${fn:substring(log.logUri,0,20) } - </a> - </c:if> - </td> - <td> - ${log.referer} - </td> - <td>${log.level}</td> - <!--0:动态黑名单FD;1:静态配置FD;2:首次分析命中 --> - <td> - <c:if test="${log.fdType eq 0 }"><spring:message code="black_block_list"/></c:if> - <c:if test="${log.fdType eq 1 }"><spring:message code="static_cfg_block"/></c:if> - <c:if test="${log.fdType eq 2 }"><spring:message code="first_hit"/></c:if> - </td> - <td> - <c:set var="avProtocol" value="${log.protocol}"></c:set> - <c:forEach items="${fns:getDictList('AV_PROTOCOL')}" var="dic"> - <c:if test="${log.protocol==dic.itemCode}"> - <c:set var="avProtocol" value="${dic.itemValue }"></c:set> - </c:if> - </c:forEach> - ${avProtocol } - </td> - <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td> - <td> - <c:set var="transProtos">${log.transProto }</c:set> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic"> - <c:if test="${dic.itemCode eq log.transProto}"> - <c:set var="transProtos">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${transProtos}"/> - </td> - <td> - <c:set var="addrTypes">${log.addrType }</c:set> - <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic"> - <c:if test="${log.addrType==dic.itemCode}"> - <c:set var="addrTypes">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${addrTypes}"/> - </td> - <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td> - <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td> - <td>${log.dPort }</td> - <td>${log.sPort }</td> - <td> - <c:set var="deviceIds">${log.deviceId }</c:set> - <c:forEach items="${fns:getDictList('DEVICE')}" var="device"> - <c:if test="${device.itemCode eq log.deviceId}"> - <c:set var="deviceIds">${device.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${deviceIds}"/> - </td> - <td> - <c:set var="linkIds">${log.linkId }</c:set> - <c:forEach items="${fns:getDictList('LINK')}" var="link"> - <c:if test="${link.itemCode eq log.linkId}"> - <c:set var="linkIds">${link.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${linkIds}"/> - </td> - <td> - <c:set var="encapTypes">${log.encapType }</c:set> - <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType"> - <c:if test="${encapType.itemCode eq log.encapType}"> - <c:set var="encapTypes">${encapType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${encapTypes}"/> - </td> - <%-- <td> - <c:set var="directions">${log.direction }</c:set> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction"> - <c:if test="${direction.itemCode eq log.direction}"> - <c:set var="directions">${direction.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${directions}"/> - </td> --%> - <td>${log.innerSmac }</td> - <td>${log.innerDmac }</td> - <td> - <c:set var="streamDirs">${log.streamDir }</c:set> - <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType"> - <c:if test="${streamType.itemCode eq log.streamDir}"> - <c:set var="streamDirs">${streamType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${streamDirs}"/> - </td> - - <td>${log.addrList }</td> - <td>${log.serverLocate}</td> - <td>${log.clientLocate}</td> - <td>${log.sAsn}</td> - <td>${log.dAsn}</td> - <td>${log.sSubscribeId}</td> - <td>${log.dSubscribeId}</td> - <td>${log.userRegion}</td> - <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if> - </tr> - </c:forEach> - </tbody> - </table> - <div class="page">${page}</div> - </div> - </div> - </div> - </div> - </div> -</body> -</html> +<%@ page contentType="text/html;charset=UTF-8"%>
+<%@ include file="/WEB-INF/include/taglib.jsp"%>
+<html>
+<head>
+
+<script type="text/javascript">
+$(document).ready(function(){
+ //筛选功能
+ filterActionInit();
+ //reset
+ $("#resetBtn").on("click",function(){
+ $("select.selectpicker").each(function(){
+ $(this).selectpicker('val',$(this).find('option:first').val());
+ $(this).find("option").attr("selected",false);
+ $(this).find("option:first").attr("selected",true);
+ });
+ $(".Wdate").attr("value",'');
+ $(':input','#searchForm')
+ .not(':button,:submit,:reset,:hidden')
+ .attr("value",'');
+ $("#searchForm")[0].reset();
+ });
+
+});
+
+</script>
+</head>
+<body>
+
+<div class="page-content">
+ <div class="theme-panel hidden-xs hidden-sm">
+ </div>
+ <h3 class="page-title">
+ <spring:message code="av_picture_url_control"/>
+ </h3>
+
+ <h5 class="page-header"></h5>
+ <div class="col-md-12">
+ <div class="portlet">
+ <div class="portlet-body">
+ <div class="row" >
+ <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/mmPicUrlLogs" method="post" class="form-search">
+ <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
+ <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+ <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/>
+ <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/>
+ <!-- 筛选按钮展开状态-->
+ <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/>
+
+ <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/>
+
+ <!-- 搜索内容与操作按钮栏 -->
+ <div class="col-md-12">
+ <div class="pull-left">
+ <form:select path="service" class="selectpicker select2 input-small">
+ <form:option value=""><spring:message code="action"/></form:option>
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="action">
+ <c:if test="${(action.itemValue eq 'action_reject') or (action.itemValue eq 'action_monit') }">
+ <form:option value="${service.serviceId}"><spring:message code="${action.itemValue }"/></form:option>
+ </c:if>
+ </c:forEach>
+ </form:select>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
+ </div>
+ <input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
+ value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="end_date"/></span>
+ </div>
+ <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
+ value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+
+ <div class="pull-left">
+ <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
+ <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
+ <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button>
+ </div>
+
+ <div class="pull-right">
+ <a class="btn btn-icon-only btn-default setfields tooltips"
+ data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
+ <i class="icon-wrench"></i>
+ </a>
+ </div>
+ </div>
+
+ <!-- 筛选搜索内容栏默认隐藏-->
+ <div class="col-md-12 filter-action-select-panle hide" >
+ <div class="row">
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="transport_layer_protocol"/>:</label>
+ <c:set var="select"><spring:message code='select'/></c:set>
+ <form:select path="transProto" class="selectpicker form-control" >
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict">
+ <form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+
+ <%-- <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="direction"/>:</label>
+ <form:select path="direction" class="selectpicker select2 form-control">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="dict">
+ <form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div> --%>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="entrance"/>:</label>
+ <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" >
+ <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clj_ip"/>:</label>
+ <input name="capIp" type="text" class="form-control" value="${log.capIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clientip"/>:</label>
+ <input id="sIp" name="sIp" class="form-control" type="text" value="${log.sIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="serverip"/>:</label>
+ <input id="dIp" name="dIp" class="form-control" type="text" value="${log.dIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <label><spring:message code="cfg_id"></spring:message>:</label>
+ <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/>
+ </div>
+ </div>
+ </div>
+ <!-- /筛选搜索内容栏 结束-->
+ </form:form>
+ </div>
+ <sys:message content="${message}"/>
+ <div class="table-responsive">
+ <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb">
+ <thead>
+ <tr>
+ <th><spring:message code="log"/></th>
+ <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
+ <th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
+ <th class="sort-column found_time"><spring:message code="found_time"/></th>
+ <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
+
+ <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th>
+
+ <th class="sort-column pid" isVisible="false"><spring:message code='pid'/></th>
+ <th class="sort-column url"><spring:message code='access_url'/></th>
+ <th class="sort-column log_uri"><spring:message code='log_uri'/></th>
+ <th class="sort-column referer"><spring:message code='referer'/></th>
+ <th class="sort-column level" isVisible="false"><spring:message code='harm_level'/></th>
+ <th class="sort-column fd_type" isVisible="false"><spring:message code='fd_type'/></th>
+ <th class="sort-column protocol" ><spring:message code='av_protocol'/></th>
+ <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th>
+ <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th>
+ <th class="sort-column addr_type"><spring:message code='addr_type'/></th>
+ <th class="sort-column d_ip"><spring:message code="server_ip"/></th>
+ <th class="sort-column s_ip"><spring:message code="client_ip"/></th>
+ <th class="sort-column d_port"><spring:message code="server_port"/></th>
+ <th class="sort-column s_port"><spring:message code="client_port"/></th>
+
+ <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th>
+ <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th>
+ <th class="sort-column encap_type"><spring:message code="encap_type"/></th>
+<%-- <th class="sort-column direction"><spring:message code="direction"/></th> --%>
+ <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th>
+ <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th>
+ <th class="sort-column stream_dir"><spring:message code="stream_type"/></th>
+
+ <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
+ <th class="sort-column server_locate"><spring:message code='server_locate'/></th>
+ <th class="sort-column client_locate"><spring:message code='client_locate'/></th>
+ <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
+ <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
+ <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
+ <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
+ <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
+ <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
+ </tr>
+ </thead>
+ <tbody>
+ <c:forEach var="log" items="${page.list }" varStatus="status">
+ <tr>
+ <td>
+ <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a>
+ </td>
+ <td>${log.cfgId }</td>
+ <td>
+ <c:set var="actions">${log.action }</c:set>
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict">
+ <c:if test="${dict.itemCode eq log.action}">
+ <c:set var="actions">${dict.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${actions}"/>
+ </td>
+ <td>${log.foundTime }</td>
+ <td>${log.recvTime }</td>
+
+ <td>
+ <c:set var="entrances">${log.entranceId }</c:set>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
+ <c:if test="${dic.itemCode eq log.entranceId}">
+ <c:set var="entrances">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${entrances}"/>
+ </td>
+
+ <td>${log.pid}</td>
+ <td>
+ <c:if test="${fn:startsWith(log.url, 'http://')}">
+ ${fn:substring(log.url,7,-1)}
+ </c:if>
+ <c:if test="${!fn:startsWith(log.url, 'http://') and !empty log.url}">
+ ${log.url}
+ </c:if>
+ </td>
+ <td>
+ <c:if test="${fn:startsWith(log.logUri, 'http')}">
+ <a href="${log.logUri}" data-original-title="${log.logUri}" target="_blank"
+ class="tooltips" data-flag="false" data-html="true" data-placement="top">
+ ${fn:substring(log.logUri,0,20) }
+ </a>
+ </c:if>
+
+ <c:if test="${!fn:startsWith(log.logUri, 'http') and !empty log.logUri}">
+ <a href="http://${log.logUri}" data-original-title="http://${log.logUri}" target="_blank"
+ class="tooltips" data-flag="false" data-html="true" data-placement="top">
+ http://${fn:substring(log.logUri,0,20) }
+ </a>
+ </c:if>
+ </td>
+ <td>
+ ${log.referer}
+ </td>
+ <td>${log.level}</td>
+ <!--0:动态黑名单FD;1:静态配置FD;2:首次分析命中 -->
+ <td>
+ <c:if test="${log.fdType eq 0 }"><spring:message code="black_block_list"/></c:if>
+ <c:if test="${log.fdType eq 1 }"><spring:message code="static_cfg_block"/></c:if>
+ <c:if test="${log.fdType eq 2 }"><spring:message code="first_hit"/></c:if>
+ </td>
+ <td>
+ <c:set var="avProtocol" value="${log.protocol}"></c:set>
+ <c:forEach items="${fns:getDictList('AV_PROTOCOL')}" var="dic">
+ <c:if test="${log.protocol==dic.itemCode}">
+ <c:set var="avProtocol" value="${dic.itemValue }"></c:set>
+ </c:if>
+ </c:forEach>
+ ${avProtocol }
+ </td>
+ <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td>
+ <td>
+ <c:set var="transProtos">${log.transProto }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic">
+ <c:if test="${dic.itemCode eq log.transProto}">
+ <c:set var="transProtos">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${transProtos}"/>
+ </td>
+ <td>
+ <c:set var="addrTypes">${log.addrType }</c:set>
+ <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic">
+ <c:if test="${log.addrType==dic.itemCode}">
+ <c:set var="addrTypes">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${addrTypes}"/>
+ </td>
+ <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td>
+ <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td>
+ <td>${log.dPort }</td>
+ <td>${log.sPort }</td>
+ <td>
+ <c:set var="deviceIds">${log.deviceId }</c:set>
+ <c:forEach items="${fns:getDictList('DEVICE')}" var="device">
+ <c:if test="${device.itemCode eq log.deviceId}">
+ <c:set var="deviceIds">${device.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${deviceIds}"/>
+ </td>
+ <td>
+ <c:set var="linkIds">${log.linkId }</c:set>
+ <c:forEach items="${fns:getDictList('LINK')}" var="link">
+ <c:if test="${link.itemCode eq log.linkId}">
+ <c:set var="linkIds">${link.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${linkIds}"/>
+ </td>
+ <td>
+ <c:set var="encapTypes">${log.encapType }</c:set>
+ <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType">
+ <c:if test="${encapType.itemCode eq log.encapType}">
+ <c:set var="encapTypes">${encapType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${encapTypes}"/>
+ </td>
+ <%-- <td>
+ <c:set var="directions">${log.direction }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction">
+ <c:if test="${direction.itemCode eq log.direction}">
+ <c:set var="directions">${direction.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${directions}"/>
+ </td> --%>
+ <td>${log.innerSmac }</td>
+ <td>${log.innerDmac }</td>
+ <td>
+ <c:set var="streamDirs">${log.streamDir }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType">
+ <c:if test="${streamType.itemCode eq log.streamDir}">
+ <c:set var="streamDirs">${streamType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${streamDirs}"/>
+ </td>
+
+ <td>${log.addrList }</td>
+ <td>${log.serverLocate}</td>
+ <td>${log.clientLocate}</td>
+ <td>${log.sAsn}</td>
+ <td>${log.dAsn}</td>
+ <td>${log.sSubscribeId}</td>
+ <td>${log.dSubscribeId}</td>
+ <td>${log.userRegion}</td>
+ <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if>
+ </tr>
+ </c:forEach>
+ </tbody>
+ </table>
+ <div class="page">${page}</div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+</body>
+</html>
diff --git a/src/main/webapp/WEB-INF/views/log/ntc/mmPornAudioSampleList.jsp b/src/main/webapp/WEB-INF/views/log/ntc/mmPornAudioSampleList.jsp index 1078404..1e8e820 100644 --- a/src/main/webapp/WEB-INF/views/log/ntc/mmPornAudioSampleList.jsp +++ b/src/main/webapp/WEB-INF/views/log/ntc/mmPornAudioSampleList.jsp @@ -1,370 +1,370 @@ -<%@ page contentType="text/html;charset=UTF-8"%> -<%@ include file="/WEB-INF/include/taglib.jsp"%> -<html> -<head> - -<script type="text/javascript"> -$(document).ready(function(){ - //筛选功能 - filterActionInit(); - //reset - $("#resetBtn").on("click",function(){ - $("select.selectpicker").each(function(){ - $(this).selectpicker('val',$(this).find('option:first').val()); - $(this).find("option").attr("selected",false); - $(this).find("option:first").attr("selected",true); - }); - $(".Wdate").attr("value",''); - $(':input','#searchForm') - .not(':button,:submit,:reset,:hidden') - .attr("value",''); - $("#searchForm")[0].reset(); - }); - -}); - -</script> -</head> -<body> - -<div class="page-content"> - <div class="theme-panel hidden-xs hidden-sm"> - </div> - <h3 class="page-title"> - <spring:message code="av_sample_audio_porn_control"/> - </h3> - - <h5 class="page-header"></h5> - <div class="col-md-12"> - <div class="portlet"> - <div class="portlet-body"> - <div class="row" > - <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/mmSampleAudioLevelLogs" method="post" class="form-search"> - <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/> - <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/> - <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/> - <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/> - <!-- 筛选按钮展开状态--> - <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/> - - <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/> - - <!-- 搜索内容与操作按钮栏 --> - <div class="col-md-12"> - <div class="pull-left"> - <form:select path="service" class="selectpicker select2 input-small"> - <form:option value=""><spring:message code="action"/></form:option> - <c:forEach items="${serviceList}" var="service" - varStatus="satus"> - <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict"> - <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }"> - <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option> - </c:if> - </c:forEach> - </c:forEach> - </form:select> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="begin_date"/></span> - </div> - <input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" class="form-control input-medium Wdate " - value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="end_date"/></span> - </div> - <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate " - value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - - <div class="pull-left"> - <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button> - <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button> - <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button> - </div> - - <div class="pull-right"> - <a class="btn btn-icon-only btn-default setfields tooltips" - data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;"> - <i class="icon-wrench"></i> - </a> - </div> - </div> - - <!-- 筛选搜索内容栏默认隐藏--> - <div class="col-md-12 filter-action-select-panle hide" > - <div class="row"> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="transport_layer_protocol"/>:</label> - <c:set var="select"><spring:message code='select'/></c:set> - <form:select path="transProto" class="selectpicker form-control" > - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict"> - <form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option> - </c:forEach> - </form:select> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="direction"/>:</label> - <form:select path="direction" class="selectpicker select2 form-control"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="dict"> - <form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option> - </c:forEach> - </form:select> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="entrance"/>:</label> - <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" > - <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option> - </c:forEach> - </form:select> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clj_ip"/>:</label> - <input id="capIp" name="capIp" class="form-control" type="text" value="${log.capIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clientip"/>:</label> - <input id="sIp" name="sIp" class="form-control" type="text" value="${log.sIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="serverip"/>:</label> - <input id="dIp" name="dIp" class="form-control" type="text" value="${log.dIp}"/> - </div> - </div> - <div class="col-md-2"> - <label><spring:message code="cfg_id"></spring:message>:</label> - <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/> - </div> - </div> - </div> - <!-- /筛选搜索内容栏 结束--> - </form:form> - </div> - <sys:message content="${message}"/> - <div class="table-responsive"> - <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb"> - <thead> - <tr> - <th><spring:message code="log"/></th> - <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th> - <th class="sort-column service" isVisible="false"><spring:message code="action"/></th> - <th class="sort-column found_time"><spring:message code="found_time"/></th> - <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th> - - <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th> - - <th class="sort-column pid" isVisible="false"><spring:message code='pid'/></th> - <th class="sort-column url"><spring:message code='access_url'/></th> - <th class="sort-column log_uri"><spring:message code='log_uri'/></th> - <th class="sort-column referer"><spring:message code='referer'/></th> - <th class="sort-column level" isVisible="false"><spring:message code='harm_level'/></th> - <th class="sort-column fd_type" isVisible="false"><spring:message code='fd_type'/></th> - <th class="sort-column protocol" ><spring:message code='av_protocol'/></th> - <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th> - <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th> - <th class="sort-column addr_type"><spring:message code='addr_type'/></th> - <th class="sort-column d_ip"><spring:message code="server_ip"/></th> - <th class="sort-column s_ip"><spring:message code="client_ip"/></th> - <th class="sort-column d_port"><spring:message code="server_port"/></th> - <th class="sort-column s_port"><spring:message code="client_port"/></th> - <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th> - <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th> - <th class="sort-column encap_type"><spring:message code="encap_type"/></th> - <th class="sort-column direction"><spring:message code="direction"/></th> - <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th> - <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th> - <th class="sort-column stream_dir"><spring:message code="stream_type"/></th> - - <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th> - <th class="sort-column server_locate"><spring:message code='server_locate'/></th> - <th class="sort-column client_locate"><spring:message code='client_locate'/></th> - <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th> - <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th> - <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th> - <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th> - <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th> - <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if> - </tr> - </thead> - <tbody> - <c:forEach var="log" items="${page.list }" varStatus="status"> - <tr> - <td> - <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a> - </td> - <td>${log.cfgId }</td> - <td> - <c:set var="actions">${log.action }</c:set> - <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict"> - <c:if test="${dict.itemCode eq log.action}"> - <c:set var="actions">${dict.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${actions}"/> - </td> - <td>${log.foundTime }</td> - <td>${log.recvTime }</td> - - <td> - <c:set var="entrances">${log.entranceId }</c:set> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> - <c:if test="${dic.itemCode eq log.entranceId}"> - <c:set var="entrances">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${entrances}"/> - </td> - - <td>${log.pid}</td> - <td> - <c:if test="${fn:startsWith(log.url, 'http://')}"> - ${fn:substring(log.url,7,-1)} - </c:if> - <c:if test="${!fn:startsWith(log.url, 'http://') and !empty log.url}"> - ${log.url} - </c:if> - </td> - <td> - <c:if test="${fn:startsWith(log.logUri, 'http')}"> - <a href="${log.logUri}" data-original-title="${log.logUri}" target="_blank" - class="tooltips" data-flag="false" data-html="true" data-placement="top"> - ${fn:substring(log.logUri,0,20) } - </a> - </c:if> - - <c:if test="${!fn:startsWith(log.logUri, 'http') and !empty log.logUri}"> - <a href="http://${log.logUri}" data-original-title="http://${log.logUri}" target="_blank" - class="tooltips" data-flag="false" data-html="true" data-placement="top"> - http://${fn:substring(log.logUri,0,20) } - </a> - </c:if> - </td> - <td> - ${log.referer} - </td> - <td>${log.level}</td> - <!--0:动态黑名单FD;1:静态配置FD;2:首次分析命中 --> - <td> - <c:if test="${log.fdType eq 0 }"><spring:message code="black_block_list"/></c:if> - <c:if test="${log.fdType eq 1 }"><spring:message code="static_cfg_block"/></c:if> - <c:if test="${log.fdType eq 2 }"><spring:message code="first_hit"/></c:if> - </td> - <td> - <c:set var="avProtocol" value="${log.protocol}"></c:set> - <c:forEach items="${fns:getDictList('AV_PROTOCOL')}" var="dic"> - <c:if test="${log.protocol==dic.itemCode}"> - <c:set var="avProtocol" value="${dic.itemValue }"></c:set> - </c:if> - </c:forEach> - ${avProtocol } - </td> - <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td> - <td> - <c:set var="transProtos">${log.transProto }</c:set> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic"> - <c:if test="${dic.itemCode eq log.transProto}"> - <c:set var="transProtos">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${transProtos}"/> - </td> - <td> - <c:set var="addrTypes">${log.addrType }</c:set> - <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic"> - <c:if test="${log.addrType==dic.itemCode}"> - <c:set var="addrTypes">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${addrTypes}"/> - </td> - <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td> - <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td> - <td>${log.dPort }</td> - <td>${log.sPort }</td> - <td> - <c:set var="deviceIds">${log.deviceId }</c:set> - <c:forEach items="${fns:getDictList('DEVICE')}" var="device"> - <c:if test="${device.itemCode eq log.deviceId}"> - <c:set var="deviceIds">${device.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${deviceIds}"/> - </td> - <td> - <c:set var="linkIds">${log.linkId }</c:set> - <c:forEach items="${fns:getDictList('LINK')}" var="link"> - <c:if test="${link.itemCode eq log.linkId}"> - <c:set var="linkIds">${link.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${linkIds}"/> - </td> - <td> - <c:set var="encapTypes">${log.encapType }</c:set> - <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType"> - <c:if test="${encapType.itemCode eq log.encapType}"> - <c:set var="encapTypes">${encapType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${encapTypes}"/> - </td> - <td> - <c:set var="directions">${log.direction }</c:set> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction"> - <c:if test="${direction.itemCode eq log.direction}"> - <c:set var="directions">${direction.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${directions}"/> - </td> - <td>${log.innerSmac }</td> - <td>${log.innerDmac }</td> - <td> - <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType"> - <c:if test="${streamType.itemCode eq log.streamDir}">${streamType.itemValue}</c:if> - </c:forEach> - </td> - - <td>${log.addrList }</td> - <td>${log.serverLocate}</td> - <td>${log.clientLocate}</td> - <td>${log.sAsn}</td> - <td>${log.dAsn}</td> - <td>${log.sSubscribeId}</td> - <td>${log.dSubscribeId}</td> - <td>${log.userRegion}</td> - <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if> - </tr> - </c:forEach> - </tbody> - </table> - <div class="page">${page}</div> - </div> - </div> - </div> - </div> - </div> -</body> -</html> +<%@ page contentType="text/html;charset=UTF-8"%>
+<%@ include file="/WEB-INF/include/taglib.jsp"%>
+<html>
+<head>
+
+<script type="text/javascript">
+$(document).ready(function(){
+ //筛选功能
+ filterActionInit();
+ //reset
+ $("#resetBtn").on("click",function(){
+ $("select.selectpicker").each(function(){
+ $(this).selectpicker('val',$(this).find('option:first').val());
+ $(this).find("option").attr("selected",false);
+ $(this).find("option:first").attr("selected",true);
+ });
+ $(".Wdate").attr("value",'');
+ $(':input','#searchForm')
+ .not(':button,:submit,:reset,:hidden')
+ .attr("value",'');
+ $("#searchForm")[0].reset();
+ });
+
+});
+
+</script>
+</head>
+<body>
+
+<div class="page-content">
+ <div class="theme-panel hidden-xs hidden-sm">
+ </div>
+ <h3 class="page-title">
+ <spring:message code="av_sample_audio_porn_control"/>
+ </h3>
+
+ <h5 class="page-header"></h5>
+ <div class="col-md-12">
+ <div class="portlet">
+ <div class="portlet-body">
+ <div class="row" >
+ <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/mmSampleAudioLevelLogs" method="post" class="form-search">
+ <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
+ <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+ <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/>
+ <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/>
+ <!-- 筛选按钮展开状态-->
+ <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/>
+
+ <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/>
+
+ <!-- 搜索内容与操作按钮栏 -->
+ <div class="col-md-12">
+ <div class="pull-left">
+ <form:select path="service" class="selectpicker select2 input-small">
+ <form:option value=""><spring:message code="action"/></form:option>
+ <c:forEach items="${serviceList}" var="service"
+ varStatus="satus">
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
+ <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }">
+ <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:if>
+ </c:forEach>
+ </c:forEach>
+ </form:select>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
+ </div>
+ <input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
+ value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="end_date"/></span>
+ </div>
+ <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
+ value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+
+ <div class="pull-left">
+ <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
+ <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
+ <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button>
+ </div>
+
+ <div class="pull-right">
+ <a class="btn btn-icon-only btn-default setfields tooltips"
+ data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
+ <i class="icon-wrench"></i>
+ </a>
+ </div>
+ </div>
+
+ <!-- 筛选搜索内容栏默认隐藏-->
+ <div class="col-md-12 filter-action-select-panle hide" >
+ <div class="row">
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="transport_layer_protocol"/>:</label>
+ <c:set var="select"><spring:message code='select'/></c:set>
+ <form:select path="transProto" class="selectpicker form-control" >
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict">
+ <form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="direction"/>:</label>
+ <form:select path="direction" class="selectpicker select2 form-control">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="dict">
+ <form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="entrance"/>:</label>
+ <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" >
+ <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clj_ip"/>:</label>
+ <input id="capIp" name="capIp" class="form-control" type="text" value="${log.capIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clientip"/>:</label>
+ <input id="sIp" name="sIp" class="form-control" type="text" value="${log.sIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="serverip"/>:</label>
+ <input id="dIp" name="dIp" class="form-control" type="text" value="${log.dIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <label><spring:message code="cfg_id"></spring:message>:</label>
+ <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/>
+ </div>
+ </div>
+ </div>
+ <!-- /筛选搜索内容栏 结束-->
+ </form:form>
+ </div>
+ <sys:message content="${message}"/>
+ <div class="table-responsive">
+ <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb">
+ <thead>
+ <tr>
+ <th><spring:message code="log"/></th>
+ <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
+ <th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
+ <th class="sort-column found_time"><spring:message code="found_time"/></th>
+ <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
+
+ <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th>
+
+ <th class="sort-column pid" isVisible="false"><spring:message code='pid'/></th>
+ <th class="sort-column url"><spring:message code='access_url'/></th>
+ <th class="sort-column log_uri"><spring:message code='log_uri'/></th>
+ <th class="sort-column referer"><spring:message code='referer'/></th>
+ <th class="sort-column level" isVisible="false"><spring:message code='harm_level'/></th>
+ <th class="sort-column fd_type" isVisible="false"><spring:message code='fd_type'/></th>
+ <th class="sort-column protocol" ><spring:message code='av_protocol'/></th>
+ <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th>
+ <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th>
+ <th class="sort-column addr_type"><spring:message code='addr_type'/></th>
+ <th class="sort-column d_ip"><spring:message code="server_ip"/></th>
+ <th class="sort-column s_ip"><spring:message code="client_ip"/></th>
+ <th class="sort-column d_port"><spring:message code="server_port"/></th>
+ <th class="sort-column s_port"><spring:message code="client_port"/></th>
+ <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th>
+ <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th>
+ <th class="sort-column encap_type"><spring:message code="encap_type"/></th>
+ <th class="sort-column direction"><spring:message code="direction"/></th>
+ <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th>
+ <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th>
+ <th class="sort-column stream_dir"><spring:message code="stream_type"/></th>
+
+ <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
+ <th class="sort-column server_locate"><spring:message code='server_locate'/></th>
+ <th class="sort-column client_locate"><spring:message code='client_locate'/></th>
+ <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
+ <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
+ <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
+ <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
+ <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
+ <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
+ </tr>
+ </thead>
+ <tbody>
+ <c:forEach var="log" items="${page.list }" varStatus="status">
+ <tr>
+ <td>
+ <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a>
+ </td>
+ <td>${log.cfgId }</td>
+ <td>
+ <c:set var="actions">${log.action }</c:set>
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict">
+ <c:if test="${dict.itemCode eq log.action}">
+ <c:set var="actions">${dict.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${actions}"/>
+ </td>
+ <td>${log.foundTime }</td>
+ <td>${log.recvTime }</td>
+
+ <td>
+ <c:set var="entrances">${log.entranceId }</c:set>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
+ <c:if test="${dic.itemCode eq log.entranceId}">
+ <c:set var="entrances">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${entrances}"/>
+ </td>
+
+ <td>${log.pid}</td>
+ <td>
+ <c:if test="${fn:startsWith(log.url, 'http://')}">
+ ${fn:substring(log.url,7,-1)}
+ </c:if>
+ <c:if test="${!fn:startsWith(log.url, 'http://') and !empty log.url}">
+ ${log.url}
+ </c:if>
+ </td>
+ <td>
+ <c:if test="${fn:startsWith(log.logUri, 'http')}">
+ <a href="${log.logUri}" data-original-title="${log.logUri}" target="_blank"
+ class="tooltips" data-flag="false" data-html="true" data-placement="top">
+ ${fn:substring(log.logUri,0,20) }
+ </a>
+ </c:if>
+
+ <c:if test="${!fn:startsWith(log.logUri, 'http') and !empty log.logUri}">
+ <a href="http://${log.logUri}" data-original-title="http://${log.logUri}" target="_blank"
+ class="tooltips" data-flag="false" data-html="true" data-placement="top">
+ http://${fn:substring(log.logUri,0,20) }
+ </a>
+ </c:if>
+ </td>
+ <td>
+ ${log.referer}
+ </td>
+ <td>${log.level}</td>
+ <!--0:动态黑名单FD;1:静态配置FD;2:首次分析命中 -->
+ <td>
+ <c:if test="${log.fdType eq 0 }"><spring:message code="black_block_list"/></c:if>
+ <c:if test="${log.fdType eq 1 }"><spring:message code="static_cfg_block"/></c:if>
+ <c:if test="${log.fdType eq 2 }"><spring:message code="first_hit"/></c:if>
+ </td>
+ <td>
+ <c:set var="avProtocol" value="${log.protocol}"></c:set>
+ <c:forEach items="${fns:getDictList('AV_PROTOCOL')}" var="dic">
+ <c:if test="${log.protocol==dic.itemCode}">
+ <c:set var="avProtocol" value="${dic.itemValue }"></c:set>
+ </c:if>
+ </c:forEach>
+ ${avProtocol }
+ </td>
+ <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td>
+ <td>
+ <c:set var="transProtos">${log.transProto }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic">
+ <c:if test="${dic.itemCode eq log.transProto}">
+ <c:set var="transProtos">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${transProtos}"/>
+ </td>
+ <td>
+ <c:set var="addrTypes">${log.addrType }</c:set>
+ <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic">
+ <c:if test="${log.addrType==dic.itemCode}">
+ <c:set var="addrTypes">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${addrTypes}"/>
+ </td>
+ <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td>
+ <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td>
+ <td>${log.dPort }</td>
+ <td>${log.sPort }</td>
+ <td>
+ <c:set var="deviceIds">${log.deviceId }</c:set>
+ <c:forEach items="${fns:getDictList('DEVICE')}" var="device">
+ <c:if test="${device.itemCode eq log.deviceId}">
+ <c:set var="deviceIds">${device.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${deviceIds}"/>
+ </td>
+ <td>
+ <c:set var="linkIds">${log.linkId }</c:set>
+ <c:forEach items="${fns:getDictList('LINK')}" var="link">
+ <c:if test="${link.itemCode eq log.linkId}">
+ <c:set var="linkIds">${link.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${linkIds}"/>
+ </td>
+ <td>
+ <c:set var="encapTypes">${log.encapType }</c:set>
+ <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType">
+ <c:if test="${encapType.itemCode eq log.encapType}">
+ <c:set var="encapTypes">${encapType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${encapTypes}"/>
+ </td>
+ <td>
+ <c:set var="directions">${log.direction }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction">
+ <c:if test="${direction.itemCode eq log.direction}">
+ <c:set var="directions">${direction.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${directions}"/>
+ </td>
+ <td>${log.innerSmac }</td>
+ <td>${log.innerDmac }</td>
+ <td>
+ <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType">
+ <c:if test="${streamType.itemCode eq log.streamDir}">${streamType.itemValue}</c:if>
+ </c:forEach>
+ </td>
+
+ <td>${log.addrList }</td>
+ <td>${log.serverLocate}</td>
+ <td>${log.clientLocate}</td>
+ <td>${log.sAsn}</td>
+ <td>${log.dAsn}</td>
+ <td>${log.sSubscribeId}</td>
+ <td>${log.dSubscribeId}</td>
+ <td>${log.userRegion}</td>
+ <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if>
+ </tr>
+ </c:forEach>
+ </tbody>
+ </table>
+ <div class="page">${page}</div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+</body>
+</html>
diff --git a/src/main/webapp/WEB-INF/views/log/ntc/mmPornVideoSampleList.jsp b/src/main/webapp/WEB-INF/views/log/ntc/mmPornVideoSampleList.jsp index cb93718..1f5cef1 100644 --- a/src/main/webapp/WEB-INF/views/log/ntc/mmPornVideoSampleList.jsp +++ b/src/main/webapp/WEB-INF/views/log/ntc/mmPornVideoSampleList.jsp @@ -1,415 +1,415 @@ -<%@ page contentType="text/html;charset=UTF-8"%> -<%@ include file="/WEB-INF/include/taglib.jsp"%> -<html> -<head> - -<script type="text/javascript"> -$(document).ready(function(){ - //筛选功能 - filterActionInit(); - //reset - $("#resetBtn").on("click",function(){ - $("select.selectpicker").each(function(){ - $(this).selectpicker('val',$(this).find('option:first').val()); - $(this).find("option").attr("selected",false); - $(this).find("option:first").attr("selected",true); - }); - $(".Wdate").attr("value",''); - $(':input','#searchForm') - .not(':button,:submit,:reset,:hidden') - .attr("value",''); - $("#searchForm")[0].reset(); - }); - //异步获取voip相关信息 - $("span[id^=open]").click(function(){ - var openId=$(this).attr("id"); - var closeId=$(this).attr("id").replace("open","close"); - var index=$(this).attr("id").replace("open",""); - $("#"+openId).hide(); - $("#"+closeId).show(); - var compileId=$(this).attr("compileId"); -// var cfgId=$(this).attr("cfgId"); - if($("#"+openId).parent().parent().next("tr").hasClass("child")){ - $("#"+openId).parent().parent().next("tr").show(); - }else{ - $.ajax({ - type:'post', - async:false, - url:'${ctx}/ntc/av/ajaxSignSampleList', - data:{"compileId":compileId,"index":index}, - dataType:"html", - success:function(data){ - var subTab="<tr class='child'>"+ - "<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>"; - var html=""; - html+="<div class='row'>"; - html = html+data; - subTab=subTab+html; - subTab+="</td>"; - subTab+="</tr>"; - $("#"+openId).parent().parent().after(subTab); - $("div[name='tabTitle"+index+"']").get(0).click(); - } - }); - } - - }); - - $("span[id^=close]").on("click",function(){ - var closeId=$(this).attr("id"); - var openId=$(this).attr("id").replace("close","open"); - $("#"+closeId).hide(); - $("#"+openId).show(); - $("#"+closeId).parent().parent().next("tr").hide(); - }); -}); - -</script> -</head> -<body> - -<div class="page-content"> - <div class="theme-panel hidden-xs hidden-sm"> - </div> - <h3 class="page-title"> - <spring:message code="av_sample_video_porn_control"/> - </h3> - - <h5 class="page-header"></h5> - <div class="col-md-12"> - <div class="portlet"> - <div class="portlet-body"> - <div class="row" > - <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/mmSampleVideoLevelLogs" method="post" class="form-search"> - <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/> - <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/> - <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/> - <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/> - <!-- 筛选按钮展开状态--> - <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/> - - <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/> - - <!-- 搜索内容与操作按钮栏 --> - <div class="col-md-12"> - <div class="pull-left"> - <form:select path="service" class="selectpicker select2 input-small"> - <form:option value=""><spring:message code="action"/></form:option> - <c:forEach items="${serviceList}" var="service" - varStatus="satus"> - <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict"> - <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }"> - <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option> - </c:if> - </c:forEach> - </c:forEach> - </form:select> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="begin_date"/></span> - </div> - <input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" class="form-control input-medium Wdate " - value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="end_date"/></span> - </div> - <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate " - value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - - <div class="pull-left"> - <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button> - <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button> - <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button> - </div> - - <div class="pull-right"> - <a class="btn btn-icon-only btn-default setfields tooltips" - data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;"> - <i class="icon-wrench"></i> - </a> - </div> - </div> - - <!-- 筛选搜索内容栏默认隐藏--> - <div class="col-md-12 filter-action-select-panle hide" > - <div class="row"> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="transport_layer_protocol"/>:</label> - <c:set var="select"><spring:message code='select'/></c:set> - <form:select path="transProto" class="selectpicker form-control" > - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict"> - <form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option> - </c:forEach> - </form:select> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="direction"/>:</label> - <form:select path="direction" class="selectpicker select2 form-control"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="dict"> - <form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option> - </c:forEach> - </form:select> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="entrance"/>:</label> - <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" > - <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option> - </c:forEach> - </form:select> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clj_ip"/>:</label> - <input id="capIp" name="capIp" class="form-control" type="text" value="${log.capIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clientip"/>:</label> - <input id="sIp" name="sIp" class="form-control" type="text" value="${log.sIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="serverip"/>:</label> - <input id="dIp" name="dIp" class="form-control" type="text" value="${log.dIp}"/> - </div> - </div> - <div class="col-md-2"> - <label><spring:message code="cfg_id"></spring:message>:</label> - <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/> - </div> - </div> - </div> - <!-- /筛选搜索内容栏 结束--> - </form:form> - </div> - <sys:message content="${message}"/> - <div class="table-responsive"> - <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb"> - <thead> - <tr> - <th><spring:message code="log"/></th> - <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th> - <th class="sort-column service" isVisible="false"><spring:message code="action"/></th> - <th class="sort-column found_time"><spring:message code="found_time"/></th> - <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th> - - <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th> - - <th class="sort-column pid" isVisible="false"><spring:message code='pid'/></th> - <th class="sort-column url"><spring:message code='access_url'/></th> - <th class="sort-column log_uri"><spring:message code='log_uri'/></th> - <th class="sort-column referer"><spring:message code='referer'/></th> - <th class="sort-column level" isVisible="false"><spring:message code='harm_level'/></th> - <th class="sort-column fd_type" isVisible="false"><spring:message code='fd_type'/></th> - <th class="sort-column protocol" ><spring:message code='av_protocol'/></th> - <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th> - <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th> - <th class="sort-column addr_type"><spring:message code='addr_type'/></th> - <th class="sort-column d_ip"><spring:message code="server_ip"/></th> - <th class="sort-column s_ip"><spring:message code="client_ip"/></th> - <th class="sort-column d_port"><spring:message code="server_port"/></th> - <th class="sort-column s_port"><spring:message code="client_port"/></th> - <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th> - <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th> - <th class="sort-column encap_type"><spring:message code="encap_type"/></th> - <th class="sort-column direction"><spring:message code="direction"/></th> - <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th> - <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th> - <th class="sort-column stream_dir"><spring:message code="stream_type"/></th> - - <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th> - <th class="sort-column server_locate"><spring:message code='server_locate'/></th> - <th class="sort-column client_locate"><spring:message code='client_locate'/></th> - <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th> - <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th> - <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th> - <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th> - <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th> - <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if> - </tr> - </thead> - <tbody> - <c:forEach var="log" items="${page.list }" varStatus="status"> - <tr> - <td> -<%-- <span id="open${status.index}" class="log-open-cfg" compileId="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span> --%> - <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a> - </td> - <td>${log.cfgId }</td> - <td> - <c:set var="actions">${log.action }</c:set> - <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict"> - <c:if test="${dict.itemCode eq log.action}"> - <c:set var="actions">${dict.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${actions}"/> - </td> - <td>${log.foundTime }</td> - <td>${log.recvTime }</td> - - <td> - <c:set var="entrances">${log.entranceId }</c:set> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> - <c:if test="${dic.itemCode eq log.entranceId}"> - <c:set var="entrances">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${entrances}"/> - </td> - - <td>${log.pid}</td> - <td> - <c:if test="${fn:startsWith(log.url, 'http://')}"> - ${fn:substring(log.url,7,-1)} - </c:if> - <c:if test="${!fn:startsWith(log.url, 'http://') and !empty log.url}"> - ${log.url} - </c:if> - </td> - <td> - <c:if test="${fn:startsWith(log.logUri, 'http')}"> - <a href="${log.logUri}" data-original-title="${log.logUri}" target="_blank" - class="tooltips" data-flag="false" data-html="true" data-placement="top"> - ${fn:substring(log.logUri,0,20) } - </a> - </c:if> - - <c:if test="${!fn:startsWith(log.logUri, 'http') and !empty log.logUri}"> - <a href="http://${log.logUri}" data-original-title="http://${log.logUri}" target="_blank" - class="tooltips" data-flag="false" data-html="true" data-placement="top"> - http://${fn:substring(log.logUri,0,20) } - </a> - </c:if> - </td> - <td> - ${log.referer} - </td> - <td>${log.level}</td> - <!--0:动态黑名单FD;1:静态配置FD;2:首次分析命中 --> - <td> - <c:if test="${log.fdType eq 0 }"><spring:message code="black_block_list"/></c:if> - <c:if test="${log.fdType eq 1 }"><spring:message code="static_cfg_block"/></c:if> - <c:if test="${log.fdType eq 2 }"><spring:message code="first_hit"/></c:if> - </td> - <td><c:set var="avProtocol" value="${log.protocol}"></c:set> - <c:forEach items="${fns:getDictList('AV_PROTOCOL')}" var="dic"> - <c:if test="${log.protocol==dic.itemCode}"> - <c:set var="avProtocol" value="${dic.itemValue }"></c:set> - </c:if> - </c:forEach> - ${avProtocol } - </td> - <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td> - <td> - <c:set var="transProtos">${log.transProto }</c:set> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic"> - <c:if test="${dic.itemCode eq log.transProto}"> - <c:set var="transProtos">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${transProtos}"/> - </td> - <td> - <c:set var="addrTypes">${log.addrType }</c:set> - <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic"> - <c:if test="${log.addrType==dic.itemCode}"> - <c:set var="addrTypes">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${addrTypes}"/> - </td> - - <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td> - <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td> - <td>${log.dPort }</td> - <td>${log.sPort }</td> - <td> - <c:set var="deviceIds">${log.deviceId }</c:set> - <c:forEach items="${fns:getDictList('DEVICE')}" var="device"> - <c:if test="${device.itemCode eq log.deviceId}"> - <c:set var="deviceIds">${device.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${deviceIds}"/> - </td> - <td> - <c:set var="linkIds">${log.linkId }</c:set> - <c:forEach items="${fns:getDictList('LINK')}" var="link"> - <c:if test="${link.itemCode eq log.linkId}"> - <c:set var="linkIds">${link.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${linkIds}"/> - </td> - <td> - <c:set var="encapTypes">${log.encapType }</c:set> - <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType"> - <c:if test="${encapType.itemCode eq log.encapType}"> - <c:set var="encapTypes">${encapType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${encapTypes}"/> - </td> - <td> - <c:set var="directions">${log.direction }</c:set> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction"> - <c:if test="${direction.itemCode eq log.direction}"> - <c:set var="directions">${direction.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${directions}"/> - </td> - <td>${log.innerSmac }</td> - <td>${log.innerDmac }</td> - <td> - <c:set var="streamDirs">${log.streamDir }</c:set> - <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType"> - <c:if test="${streamType.itemCode eq log.streamDir}"> - <c:set var="streamDirs">${streamType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${streamDirs}"/> - </td> - <td>${log.addrList }</td> - <td>${log.serverLocate}</td> - <td>${log.clientLocate}</td> - <td>${log.sAsn}</td> - <td>${log.dAsn}</td> - <td>${log.sSubscribeId}</td> - <td>${log.dSubscribeId}</td> - <td>${log.userRegion}</td> - <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if> - </tr> - </c:forEach> - </tbody> - </table> - <div class="page">${page}</div> - </div> - </div> - </div> - </div> - </div> -</body> -</html> +<%@ page contentType="text/html;charset=UTF-8"%>
+<%@ include file="/WEB-INF/include/taglib.jsp"%>
+<html>
+<head>
+
+<script type="text/javascript">
+$(document).ready(function(){
+ //筛选功能
+ filterActionInit();
+ //reset
+ $("#resetBtn").on("click",function(){
+ $("select.selectpicker").each(function(){
+ $(this).selectpicker('val',$(this).find('option:first').val());
+ $(this).find("option").attr("selected",false);
+ $(this).find("option:first").attr("selected",true);
+ });
+ $(".Wdate").attr("value",'');
+ $(':input','#searchForm')
+ .not(':button,:submit,:reset,:hidden')
+ .attr("value",'');
+ $("#searchForm")[0].reset();
+ });
+ //异步获取voip相关信息
+ $("span[id^=open]").click(function(){
+ var openId=$(this).attr("id");
+ var closeId=$(this).attr("id").replace("open","close");
+ var index=$(this).attr("id").replace("open","");
+ $("#"+openId).hide();
+ $("#"+closeId).show();
+ var compileId=$(this).attr("compileId");
+// var cfgId=$(this).attr("cfgId");
+ if($("#"+openId).parent().parent().next("tr").hasClass("child")){
+ $("#"+openId).parent().parent().next("tr").show();
+ }else{
+ $.ajax({
+ type:'post',
+ async:false,
+ url:'${ctx}/ntc/av/ajaxSignSampleList',
+ data:{"compileId":compileId,"index":index},
+ dataType:"html",
+ success:function(data){
+ var subTab="<tr class='child'>"+
+ "<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>";
+ var html="";
+ html+="<div class='row'>";
+ html = html+data;
+ subTab=subTab+html;
+ subTab+="</td>";
+ subTab+="</tr>";
+ $("#"+openId).parent().parent().after(subTab);
+ $("div[name='tabTitle"+index+"']").get(0).click();
+ }
+ });
+ }
+
+ });
+
+ $("span[id^=close]").on("click",function(){
+ var closeId=$(this).attr("id");
+ var openId=$(this).attr("id").replace("close","open");
+ $("#"+closeId).hide();
+ $("#"+openId).show();
+ $("#"+closeId).parent().parent().next("tr").hide();
+ });
+});
+
+</script>
+</head>
+<body>
+
+<div class="page-content">
+ <div class="theme-panel hidden-xs hidden-sm">
+ </div>
+ <h3 class="page-title">
+ <spring:message code="av_sample_video_porn_control"/>
+ </h3>
+
+ <h5 class="page-header"></h5>
+ <div class="col-md-12">
+ <div class="portlet">
+ <div class="portlet-body">
+ <div class="row" >
+ <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/mmSampleVideoLevelLogs" method="post" class="form-search">
+ <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
+ <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+ <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/>
+ <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/>
+ <!-- 筛选按钮展开状态-->
+ <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/>
+
+ <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/>
+
+ <!-- 搜索内容与操作按钮栏 -->
+ <div class="col-md-12">
+ <div class="pull-left">
+ <form:select path="service" class="selectpicker select2 input-small">
+ <form:option value=""><spring:message code="action"/></form:option>
+ <c:forEach items="${serviceList}" var="service"
+ varStatus="satus">
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
+ <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }">
+ <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:if>
+ </c:forEach>
+ </c:forEach>
+ </form:select>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
+ </div>
+ <input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
+ value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="end_date"/></span>
+ </div>
+ <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
+ value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+
+ <div class="pull-left">
+ <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
+ <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
+ <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button>
+ </div>
+
+ <div class="pull-right">
+ <a class="btn btn-icon-only btn-default setfields tooltips"
+ data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
+ <i class="icon-wrench"></i>
+ </a>
+ </div>
+ </div>
+
+ <!-- 筛选搜索内容栏默认隐藏-->
+ <div class="col-md-12 filter-action-select-panle hide" >
+ <div class="row">
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="transport_layer_protocol"/>:</label>
+ <c:set var="select"><spring:message code='select'/></c:set>
+ <form:select path="transProto" class="selectpicker form-control" >
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict">
+ <form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="direction"/>:</label>
+ <form:select path="direction" class="selectpicker select2 form-control">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="dict">
+ <form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="entrance"/>:</label>
+ <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" >
+ <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clj_ip"/>:</label>
+ <input id="capIp" name="capIp" class="form-control" type="text" value="${log.capIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clientip"/>:</label>
+ <input id="sIp" name="sIp" class="form-control" type="text" value="${log.sIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="serverip"/>:</label>
+ <input id="dIp" name="dIp" class="form-control" type="text" value="${log.dIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <label><spring:message code="cfg_id"></spring:message>:</label>
+ <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/>
+ </div>
+ </div>
+ </div>
+ <!-- /筛选搜索内容栏 结束-->
+ </form:form>
+ </div>
+ <sys:message content="${message}"/>
+ <div class="table-responsive">
+ <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb">
+ <thead>
+ <tr>
+ <th><spring:message code="log"/></th>
+ <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
+ <th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
+ <th class="sort-column found_time"><spring:message code="found_time"/></th>
+ <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
+
+ <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th>
+
+ <th class="sort-column pid" isVisible="false"><spring:message code='pid'/></th>
+ <th class="sort-column url"><spring:message code='access_url'/></th>
+ <th class="sort-column log_uri"><spring:message code='log_uri'/></th>
+ <th class="sort-column referer"><spring:message code='referer'/></th>
+ <th class="sort-column level" isVisible="false"><spring:message code='harm_level'/></th>
+ <th class="sort-column fd_type" isVisible="false"><spring:message code='fd_type'/></th>
+ <th class="sort-column protocol" ><spring:message code='av_protocol'/></th>
+ <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th>
+ <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th>
+ <th class="sort-column addr_type"><spring:message code='addr_type'/></th>
+ <th class="sort-column d_ip"><spring:message code="server_ip"/></th>
+ <th class="sort-column s_ip"><spring:message code="client_ip"/></th>
+ <th class="sort-column d_port"><spring:message code="server_port"/></th>
+ <th class="sort-column s_port"><spring:message code="client_port"/></th>
+ <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th>
+ <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th>
+ <th class="sort-column encap_type"><spring:message code="encap_type"/></th>
+ <th class="sort-column direction"><spring:message code="direction"/></th>
+ <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th>
+ <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th>
+ <th class="sort-column stream_dir"><spring:message code="stream_type"/></th>
+
+ <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
+ <th class="sort-column server_locate"><spring:message code='server_locate'/></th>
+ <th class="sort-column client_locate"><spring:message code='client_locate'/></th>
+ <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
+ <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
+ <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
+ <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
+ <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
+ <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
+ </tr>
+ </thead>
+ <tbody>
+ <c:forEach var="log" items="${page.list }" varStatus="status">
+ <tr>
+ <td>
+<%-- <span id="open${status.index}" class="log-open-cfg" compileId="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span> --%>
+ <a href="javascript:void(0)" name="viewLogInfo" url="${ctx}/ntc/av/ajaxSignSampleList" compileId="${log.cfgId }" ><i class="icon-book-open"></i></a>
+ </td>
+ <td>${log.cfgId }</td>
+ <td>
+ <c:set var="actions">${log.action }</c:set>
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict">
+ <c:if test="${dict.itemCode eq log.action}">
+ <c:set var="actions">${dict.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${actions}"/>
+ </td>
+ <td>${log.foundTime }</td>
+ <td>${log.recvTime }</td>
+
+ <td>
+ <c:set var="entrances">${log.entranceId }</c:set>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
+ <c:if test="${dic.itemCode eq log.entranceId}">
+ <c:set var="entrances">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${entrances}"/>
+ </td>
+
+ <td>${log.pid}</td>
+ <td>
+ <c:if test="${fn:startsWith(log.url, 'http://')}">
+ ${fn:substring(log.url,7,-1)}
+ </c:if>
+ <c:if test="${!fn:startsWith(log.url, 'http://') and !empty log.url}">
+ ${log.url}
+ </c:if>
+ </td>
+ <td>
+ <c:if test="${fn:startsWith(log.logUri, 'http')}">
+ <a href="${log.logUri}" data-original-title="${log.logUri}" target="_blank"
+ class="tooltips" data-flag="false" data-html="true" data-placement="top">
+ ${fn:substring(log.logUri,0,20) }
+ </a>
+ </c:if>
+
+ <c:if test="${!fn:startsWith(log.logUri, 'http') and !empty log.logUri}">
+ <a href="http://${log.logUri}" data-original-title="http://${log.logUri}" target="_blank"
+ class="tooltips" data-flag="false" data-html="true" data-placement="top">
+ http://${fn:substring(log.logUri,0,20) }
+ </a>
+ </c:if>
+ </td>
+ <td>
+ ${log.referer}
+ </td>
+ <td>${log.level}</td>
+ <!--0:动态黑名单FD;1:静态配置FD;2:首次分析命中 -->
+ <td>
+ <c:if test="${log.fdType eq 0 }"><spring:message code="black_block_list"/></c:if>
+ <c:if test="${log.fdType eq 1 }"><spring:message code="static_cfg_block"/></c:if>
+ <c:if test="${log.fdType eq 2 }"><spring:message code="first_hit"/></c:if>
+ </td>
+ <td><c:set var="avProtocol" value="${log.protocol}"></c:set>
+ <c:forEach items="${fns:getDictList('AV_PROTOCOL')}" var="dic">
+ <c:if test="${log.protocol==dic.itemCode}">
+ <c:set var="avProtocol" value="${dic.itemValue }"></c:set>
+ </c:if>
+ </c:forEach>
+ ${avProtocol }
+ </td>
+ <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td>
+ <td>
+ <c:set var="transProtos">${log.transProto }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic">
+ <c:if test="${dic.itemCode eq log.transProto}">
+ <c:set var="transProtos">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${transProtos}"/>
+ </td>
+ <td>
+ <c:set var="addrTypes">${log.addrType }</c:set>
+ <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic">
+ <c:if test="${log.addrType==dic.itemCode}">
+ <c:set var="addrTypes">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${addrTypes}"/>
+ </td>
+
+ <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td>
+ <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td>
+ <td>${log.dPort }</td>
+ <td>${log.sPort }</td>
+ <td>
+ <c:set var="deviceIds">${log.deviceId }</c:set>
+ <c:forEach items="${fns:getDictList('DEVICE')}" var="device">
+ <c:if test="${device.itemCode eq log.deviceId}">
+ <c:set var="deviceIds">${device.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${deviceIds}"/>
+ </td>
+ <td>
+ <c:set var="linkIds">${log.linkId }</c:set>
+ <c:forEach items="${fns:getDictList('LINK')}" var="link">
+ <c:if test="${link.itemCode eq log.linkId}">
+ <c:set var="linkIds">${link.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${linkIds}"/>
+ </td>
+ <td>
+ <c:set var="encapTypes">${log.encapType }</c:set>
+ <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType">
+ <c:if test="${encapType.itemCode eq log.encapType}">
+ <c:set var="encapTypes">${encapType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${encapTypes}"/>
+ </td>
+ <td>
+ <c:set var="directions">${log.direction }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction">
+ <c:if test="${direction.itemCode eq log.direction}">
+ <c:set var="directions">${direction.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${directions}"/>
+ </td>
+ <td>${log.innerSmac }</td>
+ <td>${log.innerDmac }</td>
+ <td>
+ <c:set var="streamDirs">${log.streamDir }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType">
+ <c:if test="${streamType.itemCode eq log.streamDir}">
+ <c:set var="streamDirs">${streamType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${streamDirs}"/>
+ </td>
+ <td>${log.addrList }</td>
+ <td>${log.serverLocate}</td>
+ <td>${log.clientLocate}</td>
+ <td>${log.sAsn}</td>
+ <td>${log.dAsn}</td>
+ <td>${log.sSubscribeId}</td>
+ <td>${log.dSubscribeId}</td>
+ <td>${log.userRegion}</td>
+ <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if>
+ </tr>
+ </c:forEach>
+ </tbody>
+ </table>
+ <div class="page">${page}</div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+</body>
+</html>
diff --git a/src/main/webapp/WEB-INF/views/log/ntc/mmSampleAudioList.jsp b/src/main/webapp/WEB-INF/views/log/ntc/mmSampleAudioList.jsp index 69bb4a3..69bb5a7 100644 --- a/src/main/webapp/WEB-INF/views/log/ntc/mmSampleAudioList.jsp +++ b/src/main/webapp/WEB-INF/views/log/ntc/mmSampleAudioList.jsp @@ -1,470 +1,470 @@ -<%@ page contentType="text/html;charset=UTF-8"%> -<%@ include file="/WEB-INF/include/taglib.jsp"%> -<html> -<head> - -<script type="text/javascript"> - $(document).ready( - function() { - //筛选功能 - filterActionInit(); - //reset - $("#resetBtn").on( - "click", - function() { - $("select.selectpicker").each( - function() { - $(this).selectpicker( - 'val', - $(this).find('option:first') - .val()); - $(this).find("option").attr("selected", - false); - $(this).find("option:first").attr( - "selected", true); - }); - $(".Wdate").attr("value", ''); - $(':input', '#searchForm').not( - ':button,:submit,:reset,:hidden').attr( - "value", ''); - $("#searchForm")[0].reset(); - }); - - //异步获取voip相关信息 - $("span[id^=open]").click(function(){ - var openId=$(this).attr("id"); - var closeId=$(this).attr("id").replace("open","close"); - var index=$(this).attr("id").replace("open",""); - $("#"+openId).hide(); - $("#"+closeId).show(); - var compileId=$(this).attr("compileId"); -// var cfgId=$(this).attr("cfgId"); - if($("#"+openId).parent().parent().next("tr").hasClass("child")){ - $("#"+openId).parent().parent().next("tr").show(); - }else{ - $.ajax({ - type:'post', - async:false, - url:'${ctx}/ntc/av/ajaxfileSampleList', - data:{"compileId":compileId,"index":index}, - dataType:"html", - success:function(data){ - var subTab="<tr class='child'>"+ - "<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>"; - var html=""; - html+="<div class='row'>"; - html = html+data; - subTab=subTab+html; - subTab+="</td>"; - subTab+="</tr>"; - $("#"+openId).parent().parent().after(subTab); - $("div[name='tabTitle"+index+"']").get(0).click(); - } - }); - } - - }); - - $("span[id^=close]").on("click",function(){ - var closeId=$(this).attr("id"); - var openId=$(this).attr("id").replace("close","open"); - $("#"+closeId).hide(); - $("#"+openId).show(); - $("#"+closeId).parent().parent().next("tr").hide(); - }); - - }); -</script> -</head> -<body> - - <div class="page-content"> - <div class="theme-panel hidden-xs hidden-sm"> - </div> - <h3 class="page-title"> - <spring:message code="av_sample_audio_control" /> - </h3> - - <h5 class="page-header"></h5> - <div class="col-md-12"> - <div class="portlet"> - <div class="portlet-body"> - <div class="row"> - <form:form id="searchForm" modelAttribute="log" - action="${ctx}/log/ntc/mmSampleAudioLogs" method="post" - class="form-search"> - <input id="pageNo" name="pageNo" type="hidden" - value="${page.pageNo}" /> - <input id="pageSize" name="pageSize" type="hidden" - value="${page.pageSize}" /> - <input id="functionId" name="functionId" type="hidden" - value="${log.functionId}" /> - <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/> - <!-- 筛选按钮展开状态--> - <input id="isFilterAction" name="isFilterAction" type="hidden" - value="${log.isFilterAction }" /> - - <sys:tableSort id="orderBy" name="orderBy" - value="${page.orderBy}" callback="page();" /> - - <!-- 搜索内容与操作按钮栏 --> - <div class="col-md-12"> - <div class="pull-left"> - <form:select path="service" class="selectpicker select2 input-small"> - <form:option value=""><spring:message code="action"/></form:option> - <c:forEach items="${serviceList}" var="service" - varStatus="satus"> - <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict"> - <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }"> - <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option> - </c:if> - </c:forEach> - </c:forEach> - </form:select> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control"><spring:message - code="begin_date" /></span> - </div> - <input id="searchFoundStartTime" name="searchFoundStartTime" - type="text" readonly="readonly" - class="form-control input-medium Wdate " - value="${log.searchFoundStartTime}" - onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});" /> - </div> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control"><spring:message - code="end_date" /></span> - </div> - <input id="searchFoundEndTime" name="searchFoundEndTime" - type="text" readonly="readonly" - class="form-control input-medium Wdate " - value="${log.searchFoundEndTime}" - onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});" /> - </div> - </div> - - <div class="pull-left"> - <button type="button" class="btn blue" onClick="return page()"> - <i class="fa fa-search"></i> - <spring:message code="search" /> - </button> - <button type="button" class="btn btn-default" id="resetBtn"> - <i class="fa fa-refresh"></i> - <spring:message code="reset" /> - </button> - <button type="button" class="btn btn-default" id="filter-btn"> - <spring:message code="filter"></spring:message> - <i class="fa fa-angle-double-down"></i> - </button> - </div> - - <div class="pull-right"> - <a class="btn btn-icon-only btn-default setfields tooltips" - data-container="body" data-placement="top" - data-original-title=<spring:message code="custom_columns"/> - href="javascript:;"> <i class="icon-wrench"></i> - </a> - </div> - </div> - - <!-- 筛选搜索内容栏默认隐藏--> - <div class="col-md-12 filter-action-select-panle hide"> - <div class="row"> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="transport_layer_protocol" />:</label> - <c:set var="select"> - <spring:message code='select' /> - </c:set> - <form:select path="transProto" - class="selectpicker select2 form-control" > - <form:option value=""> - <spring:message code="select" /> - </form:option> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" - var="dict"> - <form:option value="${dict.itemCode}"> - <spring:message code="${dict.itemValue}" /> - </form:option> - </c:forEach> - </form:select> - </div> - </div> - - <%-- <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="direction" />:</label> - <form:select path="direction" - class="selectpicker select2 form-control"> - <form:option value=""> - <spring:message code="select" /> - </form:option> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" - var="dict"> - <form:option value="${dict.itemCode}"> - <spring:message code="${dict.itemValue}" /> - </form:option> - </c:forEach> - </form:select> - </div> - </div> --%> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="entrance" />:</label> - <form:select path="entranceId" - class="selectpicker form-control" data-live-search="true" - data-live-search-placeholder="search"> - <form:option value=""> - <spring:message code="select" /> - </form:option> - <c:forEach items="${fns:getDictList('ENTRANCE')}" - var="entrance"> - <form:option value="${entrance.itemCode}"> - <spring:message code="${entrance.itemValue}"></spring:message> - </form:option> - </c:forEach> - </form:select> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clj_ip" />:</label> <input - name="capIp" type="text" class="form-control" - value="${log.capIp}" /> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clientip" />:</label> <input - id="sIp" name="sIp" class="form-control" type="text" - value="${log.sIp}" /> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="serverip" />:</label> <input - id="dIp" name="dIp" class="form-control" type="text" - value="${log.dIp}" /> - </div> - </div> - <div class="col-md-2"> - <label><spring:message code="cfg_id"></spring:message>:</label> - <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/> - </div> - </div> - </div> - <!-- /筛选搜索内容栏 结束--> - </form:form> - </div> - <sys:message content="${message}" /> - <div class="table-responsive"> - <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb"> - <thead> - <tr> - <th><spring:message code="log"/></th> - <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th> - <th class="sort-column service" isVisible="false"><spring:message code="action"/></th> - <th class="sort-column found_time"><spring:message code="found_time"/></th> - <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th> - - <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th> - - <th class="sort-column pid" isVisible="false"><spring:message code='pid'/></th> - <th class="sort-column url"><spring:message code='access_url'/></th> - <th class="sort-column log_uri"><spring:message code='log_uri'/></th> - <th class="sort-column referer"><spring:message code='referer'/></th> - <th class="sort-column level" isVisible="false"><spring:message code='harm_level'/></th> - <th class="sort-column fd_type" isVisible="false"><spring:message code='fd_type'/></th> - <th class="sort-column protocol" ><spring:message code='av_protocol'/></th> - - <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th> - <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th> - <th class="sort-column addr_type"><spring:message code='addr_type'/></th> - <th class="sort-column d_ip"><spring:message code="server_ip"/></th> - <th class="sort-column s_ip"><spring:message code="client_ip"/></th> - <th class="sort-column d_port"><spring:message code="server_port"/></th> - <th class="sort-column s_port"><spring:message code="client_port"/></th> - <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th> - <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th> - <th class="sort-column encap_type"><spring:message code="encap_type"/></th> -<%-- <th class="sort-column direction"><spring:message code="direction"/></th> --%> - <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th> - <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th> - <th class="sort-column stream_dir"><spring:message code="stream_type"/></th> - - <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th> - <th class="sort-column server_locate"><spring:message code='server_locate'/></th> - <th class="sort-column client_locate"><spring:message code='client_locate'/></th> - <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th> - <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th> - <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th> - <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th> - <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th> - <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if> - </tr> - </thead> - <tbody> - <c:forEach var="log" items="${page.list }" varStatus="status"> - <tr> - <td> -<%-- <span id="open${status.index}" class="log-open-cfg" compileId="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span> - --%> <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a> - </td> - <td>${log.cfgId }</td> - <td> - <c:set var="actions">${log.action }</c:set> - <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict"> - <c:if test="${dict.itemCode eq log.action}"> - <c:set var="actions">${dict.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${actions}"/> - </td> - <td>${log.foundTime }</td> - <td>${log.recvTime }</td> - - <td> - <c:set var="entrances">${log.entranceId }</c:set> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> - <c:if test="${dic.itemCode eq log.entranceId}"> - <c:set var="entrances">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${entrances}"/> - </td> - - <td>${log.pid}</td> - <td> - <c:if test="${fn:startsWith(log.url, 'http://')}"> - ${fn:substring(log.url,7,-1)} - </c:if> - <c:if test="${!fn:startsWith(log.url, 'http://') and !empty log.url}"> - ${log.url} - </c:if> - </td> - <td> - <c:if test="${fn:startsWith(log.logUri, 'http')}"> - <a href="${log.logUri}" data-original-title="${log.logUri}" target="_blank" - class="tooltips" data-flag="false" data-html="true" data-placement="top"> - ${fn:substring(log.logUri,0,20) } - </a> - </c:if> - - <c:if test="${!fn:startsWith(log.logUri, 'http') and !empty log.logUri}"> - <a href="http://${log.logUri}" data-original-title="http://${log.logUri}" target="_blank" - class="tooltips" data-flag="false" data-html="true" data-placement="top"> - http://${fn:substring(log.logUri,0,20) } - </a> - </c:if> - </td> - <td> - ${log.referer} - </td> - <td>${log.level}</td> - <!--0:动态黑名单FD;1:静态配置FD;2:首次分析命中 --> - <td> - <c:if test="${log.fdType eq 0 }"><spring:message code="black_block_list"/></c:if> - <c:if test="${log.fdType eq 1 }"><spring:message code="static_cfg_block"/></c:if> - <c:if test="${log.fdType eq 2 }"><spring:message code="first_hit"/></c:if> - </td> - <td><c:set var="avProtocol" value="${log.protocol}"></c:set> - <c:forEach items="${fns:getDictList('AV_PROTOCOL')}" var="dic"> - <c:if test="${log.protocol==dic.itemCode}"> - <c:set var="avProtocol" value="${dic.itemValue }"></c:set> - </c:if> - </c:forEach> - ${avProtocol }</td> - <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td> - <td> - <c:set var="transProtos">${log.transProto }</c:set> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic"> - <c:if test="${dic.itemCode eq log.transProto}"> - <c:set var="transProtos">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${transProtos}"/> - </td> - <td> - <c:set var="addrTypes">${log.addrType }</c:set> - <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic"> - <c:if test="${log.addrType==dic.itemCode}"> - <c:set var="addrTypes">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${addrTypes}"/> - </td> - <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td> - <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td> - <td>${log.dPort }</td> - <td>${log.sPort }</td> - <td> - <c:set var="deviceIds">${log.deviceId }</c:set> - <c:forEach items="${fns:getDictList('DEVICE')}" var="device"> - <c:if test="${device.itemCode eq log.deviceId}"> - <c:set var="deviceIds">${device.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${deviceIds}"/> - </td> - <td> - <c:set var="linkIds">${log.linkId }</c:set> - <c:forEach items="${fns:getDictList('LINK')}" var="link"> - <c:if test="${link.itemCode eq log.linkId}"> - <c:set var="linkIds">${link.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${linkIds}"/> - </td> - <td> - <c:set var="encapTypes">${log.encapType }</c:set> - <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType"> - <c:if test="${encapType.itemCode eq log.encapType}"> - <c:set var="encapTypes">${encapType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${encapTypes}"/> - </td> - <%-- <td> - <c:set var="directions">${log.direction }</c:set> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction"> - <c:if test="${direction.itemCode eq log.direction}"> - <c:set var="directions">${direction.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${directions}"/> - </td> --%> - <td>${log.innerSmac }</td> - <td>${log.innerDmac }</td> - <td> - <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType"> - <c:if test="${streamType.itemCode eq log.streamDir}">${streamType.itemValue}</c:if> - </c:forEach> - </td> - - <td>${log.addrList }</td> - <td>${log.serverLocate}</td> - <td>${log.clientLocate}</td> - <td>${log.sAsn}</td> - <td>${log.dAsn}</td> - <td>${log.sSubscribeId}</td> - <td>${log.dSubscribeId}</td> - <td>${log.userRegion}</td> - <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if> - </tr> - </c:forEach> - </tbody> - </table> - <div class="page">${page}</div> - </div> - </div> - </div> - </div> - </div> -</body> -</html> +<%@ page contentType="text/html;charset=UTF-8"%>
+<%@ include file="/WEB-INF/include/taglib.jsp"%>
+<html>
+<head>
+
+<script type="text/javascript">
+ $(document).ready(
+ function() {
+ //筛选功能
+ filterActionInit();
+ //reset
+ $("#resetBtn").on(
+ "click",
+ function() {
+ $("select.selectpicker").each(
+ function() {
+ $(this).selectpicker(
+ 'val',
+ $(this).find('option:first')
+ .val());
+ $(this).find("option").attr("selected",
+ false);
+ $(this).find("option:first").attr(
+ "selected", true);
+ });
+ $(".Wdate").attr("value", '');
+ $(':input', '#searchForm').not(
+ ':button,:submit,:reset,:hidden').attr(
+ "value", '');
+ $("#searchForm")[0].reset();
+ });
+
+ //异步获取voip相关信息
+ $("span[id^=open]").click(function(){
+ var openId=$(this).attr("id");
+ var closeId=$(this).attr("id").replace("open","close");
+ var index=$(this).attr("id").replace("open","");
+ $("#"+openId).hide();
+ $("#"+closeId).show();
+ var compileId=$(this).attr("compileId");
+// var cfgId=$(this).attr("cfgId");
+ if($("#"+openId).parent().parent().next("tr").hasClass("child")){
+ $("#"+openId).parent().parent().next("tr").show();
+ }else{
+ $.ajax({
+ type:'post',
+ async:false,
+ url:'${ctx}/ntc/av/ajaxfileSampleList',
+ data:{"compileId":compileId,"index":index},
+ dataType:"html",
+ success:function(data){
+ var subTab="<tr class='child'>"+
+ "<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>";
+ var html="";
+ html+="<div class='row'>";
+ html = html+data;
+ subTab=subTab+html;
+ subTab+="</td>";
+ subTab+="</tr>";
+ $("#"+openId).parent().parent().after(subTab);
+ $("div[name='tabTitle"+index+"']").get(0).click();
+ }
+ });
+ }
+
+ });
+
+ $("span[id^=close]").on("click",function(){
+ var closeId=$(this).attr("id");
+ var openId=$(this).attr("id").replace("close","open");
+ $("#"+closeId).hide();
+ $("#"+openId).show();
+ $("#"+closeId).parent().parent().next("tr").hide();
+ });
+
+ });
+</script>
+</head>
+<body>
+
+ <div class="page-content">
+ <div class="theme-panel hidden-xs hidden-sm">
+ </div>
+ <h3 class="page-title">
+ <spring:message code="av_sample_audio_control" />
+ </h3>
+
+ <h5 class="page-header"></h5>
+ <div class="col-md-12">
+ <div class="portlet">
+ <div class="portlet-body">
+ <div class="row">
+ <form:form id="searchForm" modelAttribute="log"
+ action="${ctx}/log/ntc/mmSampleAudioLogs" method="post"
+ class="form-search">
+ <input id="pageNo" name="pageNo" type="hidden"
+ value="${page.pageNo}" />
+ <input id="pageSize" name="pageSize" type="hidden"
+ value="${page.pageSize}" />
+ <input id="functionId" name="functionId" type="hidden"
+ value="${log.functionId}" />
+ <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/>
+ <!-- 筛选按钮展开状态-->
+ <input id="isFilterAction" name="isFilterAction" type="hidden"
+ value="${log.isFilterAction }" />
+
+ <sys:tableSort id="orderBy" name="orderBy"
+ value="${page.orderBy}" callback="page();" />
+
+ <!-- 搜索内容与操作按钮栏 -->
+ <div class="col-md-12">
+ <div class="pull-left">
+ <form:select path="service" class="selectpicker select2 input-small">
+ <form:option value=""><spring:message code="action"/></form:option>
+ <c:forEach items="${serviceList}" var="service"
+ varStatus="satus">
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
+ <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }">
+ <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:if>
+ </c:forEach>
+ </c:forEach>
+ </form:select>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control"><spring:message
+ code="begin_date" /></span>
+ </div>
+ <input id="searchFoundStartTime" name="searchFoundStartTime"
+ type="text" readonly="readonly"
+ class="form-control input-medium Wdate "
+ value="${log.searchFoundStartTime}"
+ onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});" />
+ </div>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control"><spring:message
+ code="end_date" /></span>
+ </div>
+ <input id="searchFoundEndTime" name="searchFoundEndTime"
+ type="text" readonly="readonly"
+ class="form-control input-medium Wdate "
+ value="${log.searchFoundEndTime}"
+ onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});" />
+ </div>
+ </div>
+
+ <div class="pull-left">
+ <button type="button" class="btn blue" onClick="return page()">
+ <i class="fa fa-search"></i>
+ <spring:message code="search" />
+ </button>
+ <button type="button" class="btn btn-default" id="resetBtn">
+ <i class="fa fa-refresh"></i>
+ <spring:message code="reset" />
+ </button>
+ <button type="button" class="btn btn-default" id="filter-btn">
+ <spring:message code="filter"></spring:message>
+ <i class="fa fa-angle-double-down"></i>
+ </button>
+ </div>
+
+ <div class="pull-right">
+ <a class="btn btn-icon-only btn-default setfields tooltips"
+ data-container="body" data-placement="top"
+ data-original-title=<spring:message code="custom_columns"/>
+ href="javascript:;"> <i class="icon-wrench"></i>
+ </a>
+ </div>
+ </div>
+
+ <!-- 筛选搜索内容栏默认隐藏-->
+ <div class="col-md-12 filter-action-select-panle hide">
+ <div class="row">
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="transport_layer_protocol" />:</label>
+ <c:set var="select">
+ <spring:message code='select' />
+ </c:set>
+ <form:select path="transProto"
+ class="selectpicker select2 form-control" >
+ <form:option value="">
+ <spring:message code="select" />
+ </form:option>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}"
+ var="dict">
+ <form:option value="${dict.itemCode}">
+ <spring:message code="${dict.itemValue}" />
+ </form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+
+ <%-- <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="direction" />:</label>
+ <form:select path="direction"
+ class="selectpicker select2 form-control">
+ <form:option value="">
+ <spring:message code="select" />
+ </form:option>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}"
+ var="dict">
+ <form:option value="${dict.itemCode}">
+ <spring:message code="${dict.itemValue}" />
+ </form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div> --%>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="entrance" />:</label>
+ <form:select path="entranceId"
+ class="selectpicker form-control" data-live-search="true"
+ data-live-search-placeholder="search">
+ <form:option value="">
+ <spring:message code="select" />
+ </form:option>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}"
+ var="entrance">
+ <form:option value="${entrance.itemCode}">
+ <spring:message code="${entrance.itemValue}"></spring:message>
+ </form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clj_ip" />:</label> <input
+ name="capIp" type="text" class="form-control"
+ value="${log.capIp}" />
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clientip" />:</label> <input
+ id="sIp" name="sIp" class="form-control" type="text"
+ value="${log.sIp}" />
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="serverip" />:</label> <input
+ id="dIp" name="dIp" class="form-control" type="text"
+ value="${log.dIp}" />
+ </div>
+ </div>
+ <div class="col-md-2">
+ <label><spring:message code="cfg_id"></spring:message>:</label>
+ <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/>
+ </div>
+ </div>
+ </div>
+ <!-- /筛选搜索内容栏 结束-->
+ </form:form>
+ </div>
+ <sys:message content="${message}" />
+ <div class="table-responsive">
+ <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb">
+ <thead>
+ <tr>
+ <th><spring:message code="log"/></th>
+ <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
+ <th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
+ <th class="sort-column found_time"><spring:message code="found_time"/></th>
+ <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
+
+ <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th>
+
+ <th class="sort-column pid" isVisible="false"><spring:message code='pid'/></th>
+ <th class="sort-column url"><spring:message code='access_url'/></th>
+ <th class="sort-column log_uri"><spring:message code='log_uri'/></th>
+ <th class="sort-column referer"><spring:message code='referer'/></th>
+ <th class="sort-column level" isVisible="false"><spring:message code='harm_level'/></th>
+ <th class="sort-column fd_type" isVisible="false"><spring:message code='fd_type'/></th>
+ <th class="sort-column protocol" ><spring:message code='av_protocol'/></th>
+
+ <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th>
+ <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th>
+ <th class="sort-column addr_type"><spring:message code='addr_type'/></th>
+ <th class="sort-column d_ip"><spring:message code="server_ip"/></th>
+ <th class="sort-column s_ip"><spring:message code="client_ip"/></th>
+ <th class="sort-column d_port"><spring:message code="server_port"/></th>
+ <th class="sort-column s_port"><spring:message code="client_port"/></th>
+ <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th>
+ <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th>
+ <th class="sort-column encap_type"><spring:message code="encap_type"/></th>
+<%-- <th class="sort-column direction"><spring:message code="direction"/></th> --%>
+ <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th>
+ <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th>
+ <th class="sort-column stream_dir"><spring:message code="stream_type"/></th>
+
+ <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
+ <th class="sort-column server_locate"><spring:message code='server_locate'/></th>
+ <th class="sort-column client_locate"><spring:message code='client_locate'/></th>
+ <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
+ <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
+ <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
+ <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
+ <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
+ <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
+ </tr>
+ </thead>
+ <tbody>
+ <c:forEach var="log" items="${page.list }" varStatus="status">
+ <tr>
+ <td>
+<%-- <span id="open${status.index}" class="log-open-cfg" compileId="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span>
+ --%> <a href="javascript:void(0)" name="viewLogInfo" url="${ctx}/ntc/av/ajaxfileSampleList" compileId="${log.cfgId }" ><i class="icon-book-open"></i></a>
+ </td>
+ <td>${log.cfgId }</td>
+ <td>
+ <c:set var="actions">${log.action }</c:set>
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict">
+ <c:if test="${dict.itemCode eq log.action}">
+ <c:set var="actions">${dict.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${actions}"/>
+ </td>
+ <td>${log.foundTime }</td>
+ <td>${log.recvTime }</td>
+
+ <td>
+ <c:set var="entrances">${log.entranceId }</c:set>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
+ <c:if test="${dic.itemCode eq log.entranceId}">
+ <c:set var="entrances">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${entrances}"/>
+ </td>
+
+ <td>${log.pid}</td>
+ <td>
+ <c:if test="${fn:startsWith(log.url, 'http://')}">
+ ${fn:substring(log.url,7,-1)}
+ </c:if>
+ <c:if test="${!fn:startsWith(log.url, 'http://') and !empty log.url}">
+ ${log.url}
+ </c:if>
+ </td>
+ <td>
+ <c:if test="${fn:startsWith(log.logUri, 'http')}">
+ <a href="${log.logUri}" data-original-title="${log.logUri}" target="_blank"
+ class="tooltips" data-flag="false" data-html="true" data-placement="top">
+ ${fn:substring(log.logUri,0,20) }
+ </a>
+ </c:if>
+
+ <c:if test="${!fn:startsWith(log.logUri, 'http') and !empty log.logUri}">
+ <a href="http://${log.logUri}" data-original-title="http://${log.logUri}" target="_blank"
+ class="tooltips" data-flag="false" data-html="true" data-placement="top">
+ http://${fn:substring(log.logUri,0,20) }
+ </a>
+ </c:if>
+ </td>
+ <td>
+ ${log.referer}
+ </td>
+ <td>${log.level}</td>
+ <!--0:动态黑名单FD;1:静态配置FD;2:首次分析命中 -->
+ <td>
+ <c:if test="${log.fdType eq 0 }"><spring:message code="black_block_list"/></c:if>
+ <c:if test="${log.fdType eq 1 }"><spring:message code="static_cfg_block"/></c:if>
+ <c:if test="${log.fdType eq 2 }"><spring:message code="first_hit"/></c:if>
+ </td>
+ <td><c:set var="avProtocol" value="${log.protocol}"></c:set>
+ <c:forEach items="${fns:getDictList('AV_PROTOCOL')}" var="dic">
+ <c:if test="${log.protocol==dic.itemCode}">
+ <c:set var="avProtocol" value="${dic.itemValue }"></c:set>
+ </c:if>
+ </c:forEach>
+ ${avProtocol }</td>
+ <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td>
+ <td>
+ <c:set var="transProtos">${log.transProto }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic">
+ <c:if test="${dic.itemCode eq log.transProto}">
+ <c:set var="transProtos">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${transProtos}"/>
+ </td>
+ <td>
+ <c:set var="addrTypes">${log.addrType }</c:set>
+ <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic">
+ <c:if test="${log.addrType==dic.itemCode}">
+ <c:set var="addrTypes">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${addrTypes}"/>
+ </td>
+ <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td>
+ <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td>
+ <td>${log.dPort }</td>
+ <td>${log.sPort }</td>
+ <td>
+ <c:set var="deviceIds">${log.deviceId }</c:set>
+ <c:forEach items="${fns:getDictList('DEVICE')}" var="device">
+ <c:if test="${device.itemCode eq log.deviceId}">
+ <c:set var="deviceIds">${device.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${deviceIds}"/>
+ </td>
+ <td>
+ <c:set var="linkIds">${log.linkId }</c:set>
+ <c:forEach items="${fns:getDictList('LINK')}" var="link">
+ <c:if test="${link.itemCode eq log.linkId}">
+ <c:set var="linkIds">${link.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${linkIds}"/>
+ </td>
+ <td>
+ <c:set var="encapTypes">${log.encapType }</c:set>
+ <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType">
+ <c:if test="${encapType.itemCode eq log.encapType}">
+ <c:set var="encapTypes">${encapType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${encapTypes}"/>
+ </td>
+ <%-- <td>
+ <c:set var="directions">${log.direction }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction">
+ <c:if test="${direction.itemCode eq log.direction}">
+ <c:set var="directions">${direction.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${directions}"/>
+ </td> --%>
+ <td>${log.innerSmac }</td>
+ <td>${log.innerDmac }</td>
+ <td>
+ <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType">
+ <c:if test="${streamType.itemCode eq log.streamDir}">${streamType.itemValue}</c:if>
+ </c:forEach>
+ </td>
+
+ <td>${log.addrList }</td>
+ <td>${log.serverLocate}</td>
+ <td>${log.clientLocate}</td>
+ <td>${log.sAsn}</td>
+ <td>${log.dAsn}</td>
+ <td>${log.sSubscribeId}</td>
+ <td>${log.dSubscribeId}</td>
+ <td>${log.userRegion}</td>
+ <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if>
+ </tr>
+ </c:forEach>
+ </tbody>
+ </table>
+ <div class="page">${page}</div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+</body>
+</html>
diff --git a/src/main/webapp/WEB-INF/views/log/ntc/mmSampleFaceList.jsp b/src/main/webapp/WEB-INF/views/log/ntc/mmSampleFaceList.jsp index 63af2be..bbadb12 100644 --- a/src/main/webapp/WEB-INF/views/log/ntc/mmSampleFaceList.jsp +++ b/src/main/webapp/WEB-INF/views/log/ntc/mmSampleFaceList.jsp @@ -1,415 +1,416 @@ -<%@ page contentType="text/html;charset=UTF-8"%> -<%@ include file="/WEB-INF/include/taglib.jsp"%> -<html> -<head> - -<script type="text/javascript"> -$(document).ready(function(){ - //筛选功能 - filterActionInit(); - //reset - $("#resetBtn").on("click",function(){ - $("select.selectpicker").each(function(){ - $(this).selectpicker('val',$(this).find('option:first').val()); - $(this).find("option").attr("selected",false); - $(this).find("option:first").attr("selected",true); - }); - $(".Wdate").attr("value",''); - $(':input','#searchForm') - .not(':button,:submit,:reset,:hidden') - .attr("value",''); - $("#searchForm")[0].reset(); - }); - //异步获取voip相关信息 - $("span[id^=open]").click(function(){ - var openId=$(this).attr("id"); - var closeId=$(this).attr("id").replace("open","close"); - var index=$(this).attr("id").replace("open",""); - $("#"+openId).hide(); - $("#"+closeId).show(); - var compileId=$(this).attr("compileId"); -// var cfgId=$(this).attr("cfgId"); - if($("#"+openId).parent().parent().next("tr").hasClass("child")){ - $("#"+openId).parent().parent().next("tr").show(); - }else{ - $.ajax({ - type:'post', - async:false, - url:'${ctx}/ntc/av/ajaxfileSampleList', - data:{"compileId":compileId,"index":index}, - dataType:"html", - success:function(data){ - var subTab="<tr class='child'>"+ - "<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>"; - var html=""; - html+="<div class='row'>"; - html = html+data; - subTab=subTab+html; - subTab+="</td>"; - subTab+="</tr>"; - $("#"+openId).parent().parent().after(subTab); - $("div[name='tabTitle"+index+"']").get(0).click(); - } - }); - } - - }); - - $("span[id^=close]").on("click",function(){ - var closeId=$(this).attr("id"); - var openId=$(this).attr("id").replace("close","open"); - $("#"+closeId).hide(); - $("#"+openId).show(); - $("#"+closeId).parent().parent().next("tr").hide(); - }); -}); - -</script> -</head> -<body> - -<div class="page-content"> - <div class="theme-panel hidden-xs hidden-sm"> - </div> - <h3 class="page-title"> - <spring:message code="MM_FACE_RECOGNIZATION"/> - </h3> - - <h5 class="page-header"></h5> - <div class="col-md-12"> - <div class="portlet"> - <div class="portlet-body"> - <div class="row" > - <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/mmSampleFaceLogs" method="post" class="form-search"> - <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/> - <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/> - <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/> - <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/> - <!-- 筛选按钮展开状态--> - <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/> - - <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/> - - <!-- 搜索内容与操作按钮栏 --> - <div class="col-md-12"> - <div class="pull-left"> - <form:select path="service" class="selectpicker select2 input-small"> - <form:option value=""><spring:message code="action"/></form:option> - <c:forEach items="${serviceList}" var="service" - varStatus="satus"> - <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict"> - <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }"> - <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option> - </c:if> - </c:forEach> - </c:forEach> - </form:select> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="begin_date"/></span> - </div> - <input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" class="form-control input-medium Wdate " - value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="end_date"/></span> - </div> - <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate " - value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - - <div class="pull-left"> - <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button> - <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button> - <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button> - </div> - - <div class="pull-right"> - <a class="btn btn-icon-only btn-default setfields tooltips" - data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;"> - <i class="icon-wrench"></i> - </a> - </div> - </div> - - <!-- 筛选搜索内容栏默认隐藏--> - <div class="col-md-12 filter-action-select-panle hide" > - <div class="row"> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="transport_layer_protocol"/>:</label> - <c:set var="select"><spring:message code='select'/></c:set> - <form:select path="transProto" class="selectpicker form-control" > - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict"> - <form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option> - </c:forEach> - </form:select> - </div> - </div> - - <%-- <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="direction"/>:</label> - <form:select path="direction" class="selectpicker select2 form-control"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="dict"> - <form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option> - </c:forEach> - </form:select> - </div> - </div> --%> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="entrance"/>:</label> - <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" > - <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option> - </c:forEach> - </form:select> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clj_ip"/>:</label> - <input name="capIp" type="text" class="form-control" value="${log.capIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clientip"/>:</label> - <input id="sIp" name="sIp" class="form-control" type="text" value="${log.sIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="serverip"/>:</label> - <input id="dIp" name="dIp" class="form-control" type="text" value="${log.dIp}"/> - </div> - </div> - <div class="col-md-2"> - <label><spring:message code="cfg_id"></spring:message>:</label> - <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/> - </div> - </div> - </div> - <!-- /筛选搜索内容栏 结束--> - </form:form> - </div> - <sys:message content="${message}"/> - <div class="table-responsive"> - <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb"> - <thead> - <tr> - <th><spring:message code="log"/></th> - <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th> - <th class="sort-column service" isVisible="false"><spring:message code="action"/></th> - <th class="sort-column found_time"><spring:message code="found_time"/></th> - <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th> - - <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th> - - <th class="sort-column pid" isVisible="false"><spring:message code='pid'/></th> - <th class="sort-column url"><spring:message code='access_url'/></th> - <th class="sort-column log_uri"><spring:message code='log_uri'/></th> - <th class="sort-column referer"><spring:message code='referer'/></th> - <th class="sort-column level" isVisible="false"><spring:message code='harm_level'/></th> - <th class="sort-column fd_type" isVisible="false"><spring:message code='fd_type'/></th> - <th class="sort-column protocol" ><spring:message code='av_protocol'/></th> - <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th> - <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th> - <th class="sort-column addr_type"><spring:message code='addr_type'/></th> - <th class="sort-column d_ip"><spring:message code="server_ip"/></th> - <th class="sort-column s_ip"><spring:message code="client_ip"/></th> - <th class="sort-column d_port"><spring:message code="server_port"/></th> - <th class="sort-column s_port"><spring:message code="client_port"/></th> - <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th> - <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th> - <th class="sort-column encap_type"><spring:message code="encap_type"/></th> -<%-- <th class="sort-column direction"><spring:message code="direction"/></th> --%> - <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th> - <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th> - <th class="sort-column stream_dir"><spring:message code="stream_type"/></th> - - <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th> - <th class="sort-column server_locate"><spring:message code='server_locate'/></th> - <th class="sort-column client_locate"><spring:message code='client_locate'/></th> - <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th> - <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th> - <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th> - <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th> - <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th> - <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if> - </tr> - </thead> - <tbody> - <c:forEach var="log" items="${page.list }" varStatus="status"> - <tr> - <td> -<%-- <span id="open${status.index}" class="log-open-cfg" compileId="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span> - --%> <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a> - </td> - <td>${log.cfgId }</td> - <td> - <c:set var="actions">${log.action }</c:set> - <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict"> - <c:if test="${dict.itemCode eq log.action}"> - <c:set var="actions">${dict.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${actions}"/> - </td> - <td>${log.foundTime }</td> - <td>${log.recvTime }</td> - - <td> - <c:set var="entrances">${log.entranceId }</c:set> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> - <c:if test="${dic.itemCode eq log.entranceId}"> - <c:set var="entrances">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${entrances}"/> - </td> - - <td>${log.pid}</td> - <td> - <c:if test="${fn:startsWith(log.url, 'http://')}"> - ${fn:substring(log.url,7,-1)} - </c:if> - <c:if test="${!fn:startsWith(log.url, 'http://') and !empty log.url}"> - ${log.url} - </c:if> - </td> - <td> - <c:if test="${fn:startsWith(log.logUri, 'http')}"> - <a href="${log.logUri}" data-original-title="${log.logUri}" target="_blank" - class="tooltips" data-flag="false" data-html="true" data-placement="top"> - ${fn:substring(log.logUri,0,20) } - </a> - </c:if> - - <c:if test="${!fn:startsWith(log.logUri, 'http') and !empty log.logUri}"> - <a href="http://${log.logUri}" data-original-title="http://${log.logUri}" target="_blank" - class="tooltips" data-flag="false" data-html="true" data-placement="top"> - http://${fn:substring(log.logUri,0,20) } - </a> - </c:if> - </td> - <td> - ${log.referer} - </td> - <td>${log.level}</td> - <!--0:动态黑名单FD;1:静态配置FD;2:首次分析命中 --> - <td> - <c:if test="${log.fdType eq 0 }"><spring:message code="black_block_list"/></c:if> - <c:if test="${log.fdType eq 1 }"><spring:message code="static_cfg_block"/></c:if> - <c:if test="${log.fdType eq 2 }"><spring:message code="first_hit"/></c:if> - </td> - <td><c:set var="avProtocol" value="${log.protocol}"></c:set> - <c:forEach items="${fns:getDictList('AV_PROTOCOL')}" var="dic"> - <c:if test="${log.protocol==dic.itemCode}"> - <c:set var="avProtocol" value="${dic.itemValue }"></c:set> - </c:if> - </c:forEach> - ${avProtocol }</td> - <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td> - <td> - <c:set var="transProtos">${log.transProto }</c:set> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic"> - <c:if test="${dic.itemCode eq log.transProto}"> - <c:set var="transProtos">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${transProtos}"/> - </td> - <td> - <c:set var="addrTypes">${log.addrType }</c:set> - <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic"> - <c:if test="${log.addrType==dic.itemCode}"> - <c:set var="addrTypes">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${addrTypes}"/> - </td> - - <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td> - <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td> - <td>${log.dPort }</td> - <td>${log.sPort }</td> - <td> - <c:set var="deviceIds">${log.deviceId }</c:set> - <c:forEach items="${fns:getDictList('DEVICE')}" var="device"> - <c:if test="${device.itemCode eq log.deviceId}"> - <c:set var="deviceIds">${device.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${deviceIds}"/> - </td> - <td> - <c:set var="linkIds">${log.linkId }</c:set> - <c:forEach items="${fns:getDictList('LINK')}" var="link"> - <c:if test="${link.itemCode eq log.linkId}"> - <c:set var="linkIds">${link.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${linkIds}"/> - </td> - <td> - <c:set var="encapTypes">${log.encapType }</c:set> - <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType"> - <c:if test="${encapType.itemCode eq log.encapType}"> - <c:set var="encapTypes">${encapType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${encapTypes}"/> - </td> - <%-- <td> - <c:set var="directions">${log.direction }</c:set> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction"> - <c:if test="${direction.itemCode eq log.direction}"> - <c:set var="directions">${direction.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${directions}"/> - </td> --%> - <td>${log.innerSmac }</td> - <td>${log.innerDmac }</td> - <td> - <c:set var="streamDirs">${log.streamDir }</c:set> - <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType"> - <c:if test="${streamType.itemCode eq log.streamDir}"> - <c:set var="streamDirs">${streamType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${streamDirs}"/> - </td> - - <td>${log.addrList }</td> - <td>${log.serverLocate}</td> - <td>${log.clientLocate}</td> - <td>${log.sAsn}</td> - <td>${log.dAsn}</td> - <td>${log.sSubscribeId}</td> - <td>${log.dSubscribeId}</td> - <td>${log.userRegion}</td> - <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if> - </tr> - </c:forEach> - </tbody> - </table> - <div class="page">${page}</div> - </div> - </div> - </div> - </div> - </div> -</body> -</html> +<%@ page contentType="text/html;charset=UTF-8"%>
+<%@ include file="/WEB-INF/include/taglib.jsp"%>
+<html>
+<head>
+
+<script type="text/javascript">
+$(document).ready(function(){
+ //筛选功能
+ filterActionInit();
+ //reset
+ $("#resetBtn").on("click",function(){
+ $("select.selectpicker").each(function(){
+ $(this).selectpicker('val',$(this).find('option:first').val());
+ $(this).find("option").attr("selected",false);
+ $(this).find("option:first").attr("selected",true);
+ });
+ $(".Wdate").attr("value",'');
+ $(':input','#searchForm')
+ .not(':button,:submit,:reset,:hidden')
+ .attr("value",'');
+ $("#searchForm")[0].reset();
+ });
+ //异步获取voip相关信息
+ $("span[id^=open]").click(function(){
+ var openId=$(this).attr("id");
+ var closeId=$(this).attr("id").replace("open","close");
+ var index=$(this).attr("id").replace("open","");
+ $("#"+openId).hide();
+ $("#"+closeId).show();
+ var compileId=$(this).attr("compileId");
+// var cfgId=$(this).attr("cfgId");
+ if($("#"+openId).parent().parent().next("tr").hasClass("child")){
+ $("#"+openId).parent().parent().next("tr").show();
+ }else{
+ $.ajax({
+ type:'post',
+ async:false,
+ url:'${ctx}/ntc/av/ajaxfileSampleList',
+ data:{"compileId":compileId,"index":index},
+ dataType:"html",
+ success:function(data){
+ var subTab="<tr class='child'>"+
+ "<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>";
+ var html="";
+ html+="<div class='row'>";
+ html = html+data;
+ subTab=subTab+html;
+ subTab+="</td>";
+ subTab+="</tr>";
+ $("#"+openId).parent().parent().after(subTab);
+ $("div[name='tabTitle"+index+"']").get(0).click();
+ }
+ });
+ }
+
+ });
+
+ $("span[id^=close]").on("click",function(){
+ var closeId=$(this).attr("id");
+ var openId=$(this).attr("id").replace("close","open");
+ $("#"+closeId).hide();
+ $("#"+openId).show();
+ $("#"+closeId).parent().parent().next("tr").hide();
+ });
+});
+
+</script>
+</head>
+<body>
+
+<div class="page-content">
+ <div class="theme-panel hidden-xs hidden-sm">
+ </div>
+ <h3 class="page-title">
+ <spring:message code="MM_FACE_RECOGNIZATION"/>
+ </h3>
+
+ <h5 class="page-header"></h5>
+ <div class="col-md-12">
+ <div class="portlet">
+ <div class="portlet-body">
+ <div class="row" >
+ <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/mmSampleFaceLogs" method="post" class="form-search">
+ <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
+ <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+ <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/>
+ <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/>
+ <!-- 筛选按钮展开状态-->
+ <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/>
+
+ <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/>
+
+ <!-- 搜索内容与操作按钮栏 -->
+ <div class="col-md-12">
+ <div class="pull-left">
+ <form:select path="service" class="selectpicker select2 input-small">
+ <form:option value=""><spring:message code="action"/></form:option>
+ <c:forEach items="${serviceList}" var="service"
+ varStatus="satus">
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
+ <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }">
+ <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:if>
+ </c:forEach>
+ </c:forEach>
+ </form:select>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
+ </div>
+ <input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
+ value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="end_date"/></span>
+ </div>
+ <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
+ value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+
+ <div class="pull-left">
+ <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
+ <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
+ <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button>
+ </div>
+
+ <div class="pull-right">
+ <a class="btn btn-icon-only btn-default setfields tooltips"
+ data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
+ <i class="icon-wrench"></i>
+ </a>
+ </div>
+ </div>
+
+ <!-- 筛选搜索内容栏默认隐藏-->
+ <div class="col-md-12 filter-action-select-panle hide" >
+ <div class="row">
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="transport_layer_protocol"/>:</label>
+ <c:set var="select"><spring:message code='select'/></c:set>
+ <form:select path="transProto" class="selectpicker form-control" >
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict">
+ <form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+
+ <%-- <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="direction"/>:</label>
+ <form:select path="direction" class="selectpicker select2 form-control">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="dict">
+ <form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div> --%>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="entrance"/>:</label>
+ <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" >
+ <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clj_ip"/>:</label>
+ <input name="capIp" type="text" class="form-control" value="${log.capIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clientip"/>:</label>
+ <input id="sIp" name="sIp" class="form-control" type="text" value="${log.sIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="serverip"/>:</label>
+ <input id="dIp" name="dIp" class="form-control" type="text" value="${log.dIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <label><spring:message code="cfg_id"></spring:message>:</label>
+ <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/>
+ </div>
+ </div>
+ </div>
+ <!-- /筛选搜索内容栏 结束-->
+ </form:form>
+ </div>
+ <sys:message content="${message}"/>
+ <div class="table-responsive">
+ <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb">
+ <thead>
+ <tr>
+ <th><spring:message code="log"/></th>
+ <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
+ <th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
+ <th class="sort-column found_time"><spring:message code="found_time"/></th>
+ <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
+
+ <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th>
+
+ <th class="sort-column pid" isVisible="false"><spring:message code='pid'/></th>
+ <th class="sort-column url"><spring:message code='access_url'/></th>
+ <th class="sort-column log_uri"><spring:message code='log_uri'/></th>
+ <th class="sort-column referer"><spring:message code='referer'/></th>
+ <th class="sort-column level" isVisible="false"><spring:message code='harm_level'/></th>
+ <th class="sort-column fd_type" isVisible="false"><spring:message code='fd_type'/></th>
+ <th class="sort-column protocol" ><spring:message code='av_protocol'/></th>
+ <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th>
+ <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th>
+ <th class="sort-column addr_type"><spring:message code='addr_type'/></th>
+ <th class="sort-column d_ip"><spring:message code="server_ip"/></th>
+ <th class="sort-column s_ip"><spring:message code="client_ip"/></th>
+ <th class="sort-column d_port"><spring:message code="server_port"/></th>
+ <th class="sort-column s_port"><spring:message code="client_port"/></th>
+ <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th>
+ <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th>
+ <th class="sort-column encap_type"><spring:message code="encap_type"/></th>
+<%-- <th class="sort-column direction"><spring:message code="direction"/></th> --%>
+ <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th>
+ <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th>
+ <th class="sort-column stream_dir"><spring:message code="stream_type"/></th>
+
+ <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
+ <th class="sort-column server_locate"><spring:message code='server_locate'/></th>
+ <th class="sort-column client_locate"><spring:message code='client_locate'/></th>
+ <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
+ <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
+ <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
+ <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
+ <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
+ <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
+ </tr>
+ </thead>
+ <tbody>
+ <c:forEach var="log" items="${page.list }" varStatus="status">
+ <tr>
+ <td>
+<%-- <span id="open${status.index}" class="log-open-cfg" compileId="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span>
+ --%> <a href="javascript:void(0)" name="viewLogInfo" url="${ctx}/ntc/av/ajaxfileSampleList" compileId="${log.cfgId }" ><i class="icon-book-open"></i></a>
+ </td>
+ <td>${log.cfgId }</td>
+ <td>
+ <c:set var="actions">${log.action }</c:set>
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict">
+ <c:if test="${dict.itemCode eq log.action}">
+ <c:set var="actions">${dict.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${actions}"/>
+ </td>
+ <td>${log.foundTime }</td>
+ <td>${log.recvTime }</td>
+
+ <td>
+ <c:set var="entrances">${log.entranceId }</c:set>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
+ <c:if test="${dic.itemCode eq log.entranceId}">
+ <c:set var="entrances">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${entrances}"/>
+ </td>
+
+ <td>${log.pid}</td>
+ <td>
+ <c:if test="${fn:startsWith(log.url, 'http://')}">
+ ${fn:substring(log.url,7,-1)}
+ </c:if>
+ <c:if test="${!fn:startsWith(log.url, 'http://') and !empty log.url}">
+ ${log.url}
+ </c:if>
+ </td>
+ <td>
+ <c:if test="${fn:startsWith(log.logUri, 'http')}">
+ <a href="${log.logUri}" data-original-title="${log.logUri}" target="_blank"
+ class="tooltips" data-flag="false" data-html="true" data-placement="top">
+ ${fn:substring(log.logUri,0,20) }
+ </a>
+ </c:if>
+
+ <c:if test="${!fn:startsWith(log.logUri, 'http') and !empty log.logUri}">
+ <a href="http://${log.logUri}" data-original-title="http://${log.logUri}" target="_blank"
+ class="tooltips" data-flag="false" data-html="true" data-placement="top">
+ http://${fn:substring(log.logUri,0,20) }
+ </a>
+ </c:if>
+ </td>
+ <td>
+ ${log.referer}
+ </td>
+ <td>${log.level}</td>
+ <!--0:动态黑名单FD;1:静态配置FD;2:首次分析命中 -->
+ <td>
+ <c:if test="${log.fdType eq 0 }"><spring:message code="black_block_list"/></c:if>
+ <c:if test="${log.fdType eq 1 }"><spring:message code="static_cfg_block"/></c:if>
+ <c:if test="${log.fdType eq 2 }"><spring:message code="first_hit"/></c:if>
+ </td>
+ <td><c:set var="avProtocol" value="${log.protocol}"></c:set>
+ <c:forEach items="${fns:getDictList('AV_PROTOCOL')}" var="dic">
+ <c:if test="${log.protocol==dic.itemCode}">
+ <c:set var="avProtocol" value="${dic.itemValue }"></c:set>
+ </c:if>
+ </c:forEach>
+ ${avProtocol }
+ </td>
+ <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td>
+ <td>
+ <c:set var="transProtos">${log.transProto }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic">
+ <c:if test="${dic.itemCode eq log.transProto}">
+ <c:set var="transProtos">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${transProtos}"/>
+ </td>
+ <td>
+ <c:set var="addrTypes">${log.addrType }</c:set>
+ <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic">
+ <c:if test="${log.addrType==dic.itemCode}">
+ <c:set var="addrTypes">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${addrTypes}"/>
+ </td>
+
+ <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td>
+ <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td>
+ <td>${log.dPort }</td>
+ <td>${log.sPort }</td>
+ <td>
+ <c:set var="deviceIds">${log.deviceId }</c:set>
+ <c:forEach items="${fns:getDictList('DEVICE')}" var="device">
+ <c:if test="${device.itemCode eq log.deviceId}">
+ <c:set var="deviceIds">${device.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${deviceIds}"/>
+ </td>
+ <td>
+ <c:set var="linkIds">${log.linkId }</c:set>
+ <c:forEach items="${fns:getDictList('LINK')}" var="link">
+ <c:if test="${link.itemCode eq log.linkId}">
+ <c:set var="linkIds">${link.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${linkIds}"/>
+ </td>
+ <td>
+ <c:set var="encapTypes">${log.encapType }</c:set>
+ <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType">
+ <c:if test="${encapType.itemCode eq log.encapType}">
+ <c:set var="encapTypes">${encapType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${encapTypes}"/>
+ </td>
+ <%-- <td>
+ <c:set var="directions">${log.direction }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction">
+ <c:if test="${direction.itemCode eq log.direction}">
+ <c:set var="directions">${direction.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${directions}"/>
+ </td> --%>
+ <td>${log.innerSmac }</td>
+ <td>${log.innerDmac }</td>
+ <td>
+ <c:set var="streamDirs">${log.streamDir }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType">
+ <c:if test="${streamType.itemCode eq log.streamDir}">
+ <c:set var="streamDirs">${streamType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${streamDirs}"/>
+ </td>
+
+ <td>${log.addrList }</td>
+ <td>${log.serverLocate}</td>
+ <td>${log.clientLocate}</td>
+ <td>${log.sAsn}</td>
+ <td>${log.dAsn}</td>
+ <td>${log.sSubscribeId}</td>
+ <td>${log.dSubscribeId}</td>
+ <td>${log.userRegion}</td>
+ <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if>
+ </tr>
+ </c:forEach>
+ </tbody>
+ </table>
+ <div class="page">${page}</div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+</body>
+</html>
diff --git a/src/main/webapp/WEB-INF/views/log/ntc/mmSampleLogoList.jsp b/src/main/webapp/WEB-INF/views/log/ntc/mmSampleLogoList.jsp index 133aaab..fb6b465 100644 --- a/src/main/webapp/WEB-INF/views/log/ntc/mmSampleLogoList.jsp +++ b/src/main/webapp/WEB-INF/views/log/ntc/mmSampleLogoList.jsp @@ -1,413 +1,413 @@ -<%@ page contentType="text/html;charset=UTF-8"%> -<%@ include file="/WEB-INF/include/taglib.jsp"%> -<html> -<head> - -<script type="text/javascript"> -$(document).ready(function(){ - //筛选功能 - filterActionInit(); - //reset - $("#resetBtn").on("click",function(){ - $("select.selectpicker").each(function(){ - $(this).selectpicker('val',$(this).find('option:first').val()); - $(this).find("option").attr("selected",false); - $(this).find("option:first").attr("selected",true); - }); - $(".Wdate").attr("value",''); - $(':input','#searchForm') - .not(':button,:submit,:reset,:hidden') - .attr("value",''); - $("#searchForm")[0].reset(); - }); - //异步获取voip相关信息 - $("span[id^=open]").click(function(){ - var openId=$(this).attr("id"); - var closeId=$(this).attr("id").replace("open","close"); - var index=$(this).attr("id").replace("open",""); - $("#"+openId).hide(); - $("#"+closeId).show(); - var compileId=$(this).attr("compileId"); -// var cfgId=$(this).attr("cfgId"); - if($("#"+openId).parent().parent().next("tr").hasClass("child")){ - $("#"+openId).parent().parent().next("tr").show(); - }else{ - $.ajax({ - type:'post', - async:false, - url:'${ctx}/ntc/av/ajaxfileSampleList', - data:{"compileId":compileId,"index":index}, - dataType:"html", - success:function(data){ - var subTab="<tr class='child'>"+ - "<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>"; - var html=""; - html+="<div class='row'>"; - html = html+data; - subTab=subTab+html; - subTab+="</td>"; - subTab+="</tr>"; - $("#"+openId).parent().parent().after(subTab); - $("div[name='tabTitle"+index+"']").get(0).click(); - } - }); - } - - }); - - $("span[id^=close]").on("click",function(){ - var closeId=$(this).attr("id"); - var openId=$(this).attr("id").replace("close","open"); - $("#"+closeId).hide(); - $("#"+openId).show(); - $("#"+closeId).parent().parent().next("tr").hide(); - }); -}); - -</script> -</head> -<body> - -<div class="page-content"> - <div class="theme-panel hidden-xs hidden-sm"> - </div> - <h3 class="page-title"> - <spring:message code="MM_LOGO_DETECTION"/> - </h3> - - <h5 class="page-header"></h5> - <div class="col-md-12"> - <div class="portlet"> - <div class="portlet-body"> - <div class="row" > - <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/mmSampleLogoLogs" method="post" class="form-search"> - <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/> - <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/> - <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/> - <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/> - <!-- 筛选按钮展开状态--> - <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/> - - <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/> - - <!-- 搜索内容与操作按钮栏 --> - <div class="col-md-12"> - <div class="pull-left"> - <form:select path="service" class="selectpicker select2 input-small"> - <form:option value=""><spring:message code="action"/></form:option> - <c:forEach items="${serviceList}" var="service" - varStatus="satus"> - <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict"> - <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }"> - <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option> - </c:if> - </c:forEach> - </c:forEach> - </form:select> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="begin_date"/></span> - </div> - <input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" class="form-control input-medium Wdate " - value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="end_date"/></span> - </div> - <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate " - value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - - <div class="pull-left"> - <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button> - <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button> - <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button> - </div> - - <div class="pull-right"> - <a class="btn btn-icon-only btn-default setfields tooltips" - data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;"> - <i class="icon-wrench"></i> - </a> - </div> - </div> - - <!-- 筛选搜索内容栏默认隐藏--> - <div class="col-md-12 filter-action-select-panle hide" > - <div class="row"> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="transport_layer_protocol"/>:</label> - <c:set var="select"><spring:message code='select'/></c:set> - <form:select path="transProto" class="selectpicker form-control" > - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict"> - <form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option> - </c:forEach> - </form:select> - </div> - </div> - - <%-- <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="direction"/>:</label> - <form:select path="direction" class="selectpicker select2 form-control"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="dict"> - <form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option> - </c:forEach> - </form:select> - </div> - </div> --%> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="entrance"/>:</label> - <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" > - <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option> - </c:forEach> - </form:select> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clj_ip"/>:</label> - <input name="capIp" type="text" class="form-control" value="${log.capIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clientip"/>:</label> - <input id="sIp" name="sIp" class="form-control" type="text" value="${log.sIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="serverip"/>:</label> - <input id="dIp" name="dIp" class="form-control" type="text" value="${log.dIp}"/> - </div> - </div> - <div class="col-md-2"> - <label><spring:message code="cfg_id"></spring:message>:</label> - <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/> - </div> - </div> - </div> - <!-- /筛选搜索内容栏 结束--> - </form:form> - </div> - <sys:message content="${message}"/> - <div class="table-responsive"> - <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb"> - <thead> - <tr> - <th><spring:message code="log"/></th> - <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th> - <th class="sort-column service" isVisible="false"><spring:message code="action"/></th> - <th class="sort-column found_time"><spring:message code="found_time"/></th> - <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th> - - <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th> - - <th class="sort-column pid" isVisible="false"><spring:message code='pid'/></th> - <th class="sort-column url"><spring:message code='access_url'/></th> - <th class="sort-column log_uri"><spring:message code='log_uri'/></th> - <th class="sort-column referer"><spring:message code='referer'/></th> - <th class="sort-column level" isVisible="false"><spring:message code='harm_level'/></th> - <th class="sort-column fd_type" isVisible="false"><spring:message code='fd_type'/></th> - <th class="sort-column protocol" ><spring:message code='av_protocol'/></th> - <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th> - <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th> - <th class="sort-column addr_type"><spring:message code='addr_type'/></th> - <th class="sort-column d_ip"><spring:message code="server_ip"/></th> - <th class="sort-column s_ip"><spring:message code="client_ip"/></th> - <th class="sort-column d_port"><spring:message code="server_port"/></th> - <th class="sort-column s_port"><spring:message code="client_port"/></th> - <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th> - <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th> - <th class="sort-column encap_type"><spring:message code="encap_type"/></th> -<%-- <th class="sort-column direction"><spring:message code="direction"/></th> --%> - <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th> - <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th> - <th class="sort-column stream_dir"><spring:message code="stream_type"/></th> - - <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th> - <th class="sort-column server_locate"><spring:message code='server_locate'/></th> - <th class="sort-column client_locate"><spring:message code='client_locate'/></th> - <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th> - <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th> - <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th> - <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th> - <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th> - <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if> - </tr> - </thead> - <tbody> - <c:forEach var="log" items="${page.list }" varStatus="status"> - <tr> - <td> -<%-- <span id="open${status.index}" class="log-open-cfg" compileId="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span> - --%> <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a> - </td> - <td>${log.cfgId }</td> - <td> - <c:set var="actions">${log.action }</c:set> - <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict"> - <c:if test="${dict.itemCode eq log.action}"> - <c:set var="actions">${dict.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${actions}"/> - </td> - <td>${log.foundTime }</td> - <td>${log.recvTime }</td> - - <td> - <c:set var="entrances">${log.entranceId }</c:set> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> - <c:if test="${dic.itemCode eq log.entranceId}"> - <c:set var="entrances">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${entrances}"/> - </td> - <td>${log.pid}</td> - <td> - <c:if test="${fn:startsWith(log.url, 'http://')}"> - ${fn:substring(log.url,7,-1)} - </c:if> - <c:if test="${!fn:startsWith(log.url, 'http://') and !empty log.url}"> - ${log.url} - </c:if> - </td> - <td> - <c:if test="${fn:startsWith(log.logUri, 'http')}"> - <a href="${log.logUri}" data-original-title="${log.logUri}" target="_blank" - class="tooltips" data-flag="false" data-html="true" data-placement="top"> - ${fn:substring(log.logUri,0,20) } - </a> - </c:if> - - <c:if test="${!fn:startsWith(log.logUri, 'http') and !empty log.logUri}"> - <a href="http://${log.logUri}" data-original-title="http://${log.logUri}" target="_blank" - class="tooltips" data-flag="false" data-html="true" data-placement="top"> - http://${fn:substring(log.logUri,0,20) } - </a> - </c:if> - </td> - <td> - ${log.referer} - </td> - <td>${log.level}</td> - <!--0:动态黑名单FD;1:静态配置FD;2:首次分析命中 --> - <td> - <c:if test="${log.fdType eq 0 }"><spring:message code="black_block_list"/></c:if> - <c:if test="${log.fdType eq 1 }"><spring:message code="static_cfg_block"/></c:if> - <c:if test="${log.fdType eq 2 }"><spring:message code="first_hit"/></c:if> - </td> - <td><c:set var="avProtocol" value="${log.protocol}"></c:set> - <c:forEach items="${fns:getDictList('AV_PROTOCOL')}" var="dic"> - <c:if test="${log.protocol==dic.itemCode}"> - <c:set var="avProtocol" value="${dic.itemValue }"></c:set> - </c:if> - </c:forEach> - ${avProtocol }</td> - <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td> - <td> - <c:set var="transProtos">${log.transProto }</c:set> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic"> - <c:if test="${dic.itemCode eq log.transProto}"> - <c:set var="transProtos">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${transProtos}"/> - </td> - <td> - <c:set var="addrTypes">${log.addrType }</c:set> - <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic"> - <c:if test="${log.addrType==dic.itemCode}"> - <c:set var="addrTypes">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${addrTypes}"/> - </td> - <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td> - <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td> - <td>${log.dPort }</td> - <td>${log.sPort }</td> - <td> - <c:set var="deviceIds">${log.deviceId }</c:set> - <c:forEach items="${fns:getDictList('DEVICE')}" var="device"> - <c:if test="${device.itemCode eq log.deviceId}"> - <c:set var="deviceIds">${device.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${deviceIds}"/> - </td> - <td> - <c:set var="linkIds">${log.linkId }</c:set> - <c:forEach items="${fns:getDictList('LINK')}" var="link"> - <c:if test="${link.itemCode eq log.linkId}"> - <c:set var="linkIds">${link.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${linkIds}"/> - </td> - <td> - <c:set var="encapTypes">${log.encapType }</c:set> - <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType"> - <c:if test="${encapType.itemCode eq log.encapType}"> - <c:set var="encapTypes">${encapType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${encapTypes}"/> - </td> - <%-- <td> - <c:set var="directions">${log.direction }</c:set> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction"> - <c:if test="${direction.itemCode eq log.direction}"> - <c:set var="directions">${direction.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${directions}"/> - </td> --%> - <td>${log.innerSmac }</td> - <td>${log.innerDmac }</td> - <td> - <c:set var="streamDirs">${log.streamDir }</c:set> - <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType"> - <c:if test="${streamType.itemCode eq log.streamDir}"> - <c:set var="streamDirs">${streamType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${streamDirs}"/> - </td> - - <td>${log.addrList }</td> - <td>${log.serverLocate}</td> - <td>${log.clientLocate}</td> - <td>${log.sAsn}</td> - <td>${log.dAsn}</td> - <td>${log.sSubscribeId}</td> - <td>${log.dSubscribeId}</td> - <td>${log.userRegion}</td> - <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if> - </tr> - </c:forEach> - </tbody> - </table> - <div class="page">${page}</div> - </div> - </div> - </div> - </div> - </div> -</body> -</html> +<%@ page contentType="text/html;charset=UTF-8"%>
+<%@ include file="/WEB-INF/include/taglib.jsp"%>
+<html>
+<head>
+
+<script type="text/javascript">
+$(document).ready(function(){
+ //筛选功能
+ filterActionInit();
+ //reset
+ $("#resetBtn").on("click",function(){
+ $("select.selectpicker").each(function(){
+ $(this).selectpicker('val',$(this).find('option:first').val());
+ $(this).find("option").attr("selected",false);
+ $(this).find("option:first").attr("selected",true);
+ });
+ $(".Wdate").attr("value",'');
+ $(':input','#searchForm')
+ .not(':button,:submit,:reset,:hidden')
+ .attr("value",'');
+ $("#searchForm")[0].reset();
+ });
+ //异步获取voip相关信息
+ $("span[id^=open]").click(function(){
+ var openId=$(this).attr("id");
+ var closeId=$(this).attr("id").replace("open","close");
+ var index=$(this).attr("id").replace("open","");
+ $("#"+openId).hide();
+ $("#"+closeId).show();
+ var compileId=$(this).attr("compileId");
+// var cfgId=$(this).attr("cfgId");
+ if($("#"+openId).parent().parent().next("tr").hasClass("child")){
+ $("#"+openId).parent().parent().next("tr").show();
+ }else{
+ $.ajax({
+ type:'post',
+ async:false,
+ url:'${ctx}/ntc/av/ajaxfileSampleList',
+ data:{"compileId":compileId,"index":index},
+ dataType:"html",
+ success:function(data){
+ var subTab="<tr class='child'>"+
+ "<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>";
+ var html="";
+ html+="<div class='row'>";
+ html = html+data;
+ subTab=subTab+html;
+ subTab+="</td>";
+ subTab+="</tr>";
+ $("#"+openId).parent().parent().after(subTab);
+ $("div[name='tabTitle"+index+"']").get(0).click();
+ }
+ });
+ }
+
+ });
+
+ $("span[id^=close]").on("click",function(){
+ var closeId=$(this).attr("id");
+ var openId=$(this).attr("id").replace("close","open");
+ $("#"+closeId).hide();
+ $("#"+openId).show();
+ $("#"+closeId).parent().parent().next("tr").hide();
+ });
+});
+
+</script>
+</head>
+<body>
+
+<div class="page-content">
+ <div class="theme-panel hidden-xs hidden-sm">
+ </div>
+ <h3 class="page-title">
+ <spring:message code="MM_LOGO_DETECTION"/>
+ </h3>
+
+ <h5 class="page-header"></h5>
+ <div class="col-md-12">
+ <div class="portlet">
+ <div class="portlet-body">
+ <div class="row" >
+ <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/mmSampleLogoLogs" method="post" class="form-search">
+ <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
+ <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+ <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/>
+ <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/>
+ <!-- 筛选按钮展开状态-->
+ <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/>
+
+ <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/>
+
+ <!-- 搜索内容与操作按钮栏 -->
+ <div class="col-md-12">
+ <div class="pull-left">
+ <form:select path="service" class="selectpicker select2 input-small">
+ <form:option value=""><spring:message code="action"/></form:option>
+ <c:forEach items="${serviceList}" var="service"
+ varStatus="satus">
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
+ <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }">
+ <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:if>
+ </c:forEach>
+ </c:forEach>
+ </form:select>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
+ </div>
+ <input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
+ value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="end_date"/></span>
+ </div>
+ <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
+ value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+
+ <div class="pull-left">
+ <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
+ <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
+ <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button>
+ </div>
+
+ <div class="pull-right">
+ <a class="btn btn-icon-only btn-default setfields tooltips"
+ data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
+ <i class="icon-wrench"></i>
+ </a>
+ </div>
+ </div>
+
+ <!-- 筛选搜索内容栏默认隐藏-->
+ <div class="col-md-12 filter-action-select-panle hide" >
+ <div class="row">
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="transport_layer_protocol"/>:</label>
+ <c:set var="select"><spring:message code='select'/></c:set>
+ <form:select path="transProto" class="selectpicker form-control" >
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict">
+ <form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+
+ <%-- <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="direction"/>:</label>
+ <form:select path="direction" class="selectpicker select2 form-control">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="dict">
+ <form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div> --%>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="entrance"/>:</label>
+ <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" >
+ <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clj_ip"/>:</label>
+ <input name="capIp" type="text" class="form-control" value="${log.capIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clientip"/>:</label>
+ <input id="sIp" name="sIp" class="form-control" type="text" value="${log.sIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="serverip"/>:</label>
+ <input id="dIp" name="dIp" class="form-control" type="text" value="${log.dIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <label><spring:message code="cfg_id"></spring:message>:</label>
+ <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/>
+ </div>
+ </div>
+ </div>
+ <!-- /筛选搜索内容栏 结束-->
+ </form:form>
+ </div>
+ <sys:message content="${message}"/>
+ <div class="table-responsive">
+ <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb">
+ <thead>
+ <tr>
+ <th><spring:message code="log"/></th>
+ <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
+ <th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
+ <th class="sort-column found_time"><spring:message code="found_time"/></th>
+ <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
+
+ <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th>
+
+ <th class="sort-column pid" isVisible="false"><spring:message code='pid'/></th>
+ <th class="sort-column url"><spring:message code='access_url'/></th>
+ <th class="sort-column log_uri"><spring:message code='log_uri'/></th>
+ <th class="sort-column referer"><spring:message code='referer'/></th>
+ <th class="sort-column level" isVisible="false"><spring:message code='harm_level'/></th>
+ <th class="sort-column fd_type" isVisible="false"><spring:message code='fd_type'/></th>
+ <th class="sort-column protocol" ><spring:message code='av_protocol'/></th>
+ <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th>
+ <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th>
+ <th class="sort-column addr_type"><spring:message code='addr_type'/></th>
+ <th class="sort-column d_ip"><spring:message code="server_ip"/></th>
+ <th class="sort-column s_ip"><spring:message code="client_ip"/></th>
+ <th class="sort-column d_port"><spring:message code="server_port"/></th>
+ <th class="sort-column s_port"><spring:message code="client_port"/></th>
+ <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th>
+ <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th>
+ <th class="sort-column encap_type"><spring:message code="encap_type"/></th>
+<%-- <th class="sort-column direction"><spring:message code="direction"/></th> --%>
+ <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th>
+ <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th>
+ <th class="sort-column stream_dir"><spring:message code="stream_type"/></th>
+
+ <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
+ <th class="sort-column server_locate"><spring:message code='server_locate'/></th>
+ <th class="sort-column client_locate"><spring:message code='client_locate'/></th>
+ <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
+ <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
+ <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
+ <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
+ <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
+ <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
+ </tr>
+ </thead>
+ <tbody>
+ <c:forEach var="log" items="${page.list }" varStatus="status">
+ <tr>
+ <td>
+<%-- <span id="open${status.index}" class="log-open-cfg" compileId="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span>
+ --%> <a href="javascript:void(0)" name="viewLogInfo" url="${ctx}/ntc/av/ajaxfileSampleList" compileId="${log.cfgId }"><i class="icon-book-open"></i></a>
+ </td>
+ <td>${log.cfgId }</td>
+ <td>
+ <c:set var="actions">${log.action }</c:set>
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict">
+ <c:if test="${dict.itemCode eq log.action}">
+ <c:set var="actions">${dict.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${actions}"/>
+ </td>
+ <td>${log.foundTime }</td>
+ <td>${log.recvTime }</td>
+
+ <td>
+ <c:set var="entrances">${log.entranceId }</c:set>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
+ <c:if test="${dic.itemCode eq log.entranceId}">
+ <c:set var="entrances">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${entrances}"/>
+ </td>
+ <td>${log.pid}</td>
+ <td>
+ <c:if test="${fn:startsWith(log.url, 'http://')}">
+ ${fn:substring(log.url,7,-1)}
+ </c:if>
+ <c:if test="${!fn:startsWith(log.url, 'http://') and !empty log.url}">
+ ${log.url}
+ </c:if>
+ </td>
+ <td>
+ <c:if test="${fn:startsWith(log.logUri, 'http')}">
+ <a href="${log.logUri}" data-original-title="${log.logUri}" target="_blank"
+ class="tooltips" data-flag="false" data-html="true" data-placement="top">
+ ${fn:substring(log.logUri,0,20) }
+ </a>
+ </c:if>
+
+ <c:if test="${!fn:startsWith(log.logUri, 'http') and !empty log.logUri}">
+ <a href="http://${log.logUri}" data-original-title="http://${log.logUri}" target="_blank"
+ class="tooltips" data-flag="false" data-html="true" data-placement="top">
+ http://${fn:substring(log.logUri,0,20) }
+ </a>
+ </c:if>
+ </td>
+ <td>
+ ${log.referer}
+ </td>
+ <td>${log.level}</td>
+ <!--0:动态黑名单FD;1:静态配置FD;2:首次分析命中 -->
+ <td>
+ <c:if test="${log.fdType eq 0 }"><spring:message code="black_block_list"/></c:if>
+ <c:if test="${log.fdType eq 1 }"><spring:message code="static_cfg_block"/></c:if>
+ <c:if test="${log.fdType eq 2 }"><spring:message code="first_hit"/></c:if>
+ </td>
+ <td><c:set var="avProtocol" value="${log.protocol}"></c:set>
+ <c:forEach items="${fns:getDictList('AV_PROTOCOL')}" var="dic">
+ <c:if test="${log.protocol==dic.itemCode}">
+ <c:set var="avProtocol" value="${dic.itemValue }"></c:set>
+ </c:if>
+ </c:forEach>
+ ${avProtocol }</td>
+ <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td>
+ <td>
+ <c:set var="transProtos">${log.transProto }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic">
+ <c:if test="${dic.itemCode eq log.transProto}">
+ <c:set var="transProtos">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${transProtos}"/>
+ </td>
+ <td>
+ <c:set var="addrTypes">${log.addrType }</c:set>
+ <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic">
+ <c:if test="${log.addrType==dic.itemCode}">
+ <c:set var="addrTypes">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${addrTypes}"/>
+ </td>
+ <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td>
+ <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td>
+ <td>${log.dPort }</td>
+ <td>${log.sPort }</td>
+ <td>
+ <c:set var="deviceIds">${log.deviceId }</c:set>
+ <c:forEach items="${fns:getDictList('DEVICE')}" var="device">
+ <c:if test="${device.itemCode eq log.deviceId}">
+ <c:set var="deviceIds">${device.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${deviceIds}"/>
+ </td>
+ <td>
+ <c:set var="linkIds">${log.linkId }</c:set>
+ <c:forEach items="${fns:getDictList('LINK')}" var="link">
+ <c:if test="${link.itemCode eq log.linkId}">
+ <c:set var="linkIds">${link.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${linkIds}"/>
+ </td>
+ <td>
+ <c:set var="encapTypes">${log.encapType }</c:set>
+ <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType">
+ <c:if test="${encapType.itemCode eq log.encapType}">
+ <c:set var="encapTypes">${encapType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${encapTypes}"/>
+ </td>
+ <%-- <td>
+ <c:set var="directions">${log.direction }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction">
+ <c:if test="${direction.itemCode eq log.direction}">
+ <c:set var="directions">${direction.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${directions}"/>
+ </td> --%>
+ <td>${log.innerSmac }</td>
+ <td>${log.innerDmac }</td>
+ <td>
+ <c:set var="streamDirs">${log.streamDir }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType">
+ <c:if test="${streamType.itemCode eq log.streamDir}">
+ <c:set var="streamDirs">${streamType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${streamDirs}"/>
+ </td>
+
+ <td>${log.addrList }</td>
+ <td>${log.serverLocate}</td>
+ <td>${log.clientLocate}</td>
+ <td>${log.sAsn}</td>
+ <td>${log.dAsn}</td>
+ <td>${log.sSubscribeId}</td>
+ <td>${log.dSubscribeId}</td>
+ <td>${log.userRegion}</td>
+ <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if>
+ </tr>
+ </c:forEach>
+ </tbody>
+ </table>
+ <div class="page">${page}</div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+</body>
+</html>
diff --git a/src/main/webapp/WEB-INF/views/log/ntc/mmSamplePicList.jsp b/src/main/webapp/WEB-INF/views/log/ntc/mmSamplePicList.jsp index 00bc6fd..5e64dfd 100644 --- a/src/main/webapp/WEB-INF/views/log/ntc/mmSamplePicList.jsp +++ b/src/main/webapp/WEB-INF/views/log/ntc/mmSamplePicList.jsp @@ -1,414 +1,414 @@ -<%@ page contentType="text/html;charset=UTF-8"%> -<%@ include file="/WEB-INF/include/taglib.jsp"%> -<html> -<head> - -<script type="text/javascript"> -$(document).ready(function(){ - //筛选功能 - filterActionInit(); - //reset - $("#resetBtn").on("click",function(){ - $("select.selectpicker").each(function(){ - $(this).selectpicker('val',$(this).find('option:first').val()); - $(this).find("option").attr("selected",false); - $(this).find("option:first").attr("selected",true); - }); - $(".Wdate").attr("value",''); - $(':input','#searchForm') - .not(':button,:submit,:reset,:hidden') - .attr("value",''); - $("#searchForm")[0].reset(); - }); - - //异步获取voip相关信息 - $("span[id^=open]").click(function(){ - var openId=$(this).attr("id"); - var closeId=$(this).attr("id").replace("open","close"); - var index=$(this).attr("id").replace("open",""); - $("#"+openId).hide(); - $("#"+closeId).show(); - var compileId=$(this).attr("compileId"); -// var cfgId=$(this).attr("cfgId"); - if($("#"+openId).parent().parent().next("tr").hasClass("child")){ - $("#"+openId).parent().parent().next("tr").show(); - }else{ - $.ajax({ - type:'post', - async:false, - url:'${ctx}/ntc/av/ajaxfileSampleList', - data:{"compileId":compileId,"index":index}, - dataType:"html", - success:function(data){ - var subTab="<tr class='child'>"+ - "<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>"; - var html=""; - html+="<div class='row'>"; - html = html+data; - subTab=subTab+html; - subTab+="</td>"; - subTab+="</tr>"; - $("#"+openId).parent().parent().after(subTab); - $("div[name='tabTitle"+index+"']").get(0).click(); - } - }); - } - - }); - - $("span[id^=close]").on("click",function(){ - var closeId=$(this).attr("id"); - var openId=$(this).attr("id").replace("close","open"); - $("#"+closeId).hide(); - $("#"+openId).show(); - $("#"+closeId).parent().parent().next("tr").hide(); - }); -}); - -</script> -</head> -<body> - -<div class="page-content"> - <div class="theme-panel hidden-xs hidden-sm"> - </div> - <h3 class="page-title"> - <spring:message code="av_sample_picture_control"/> - </h3> - <h5 class="page-header"></h5> - <div class="col-md-12"> - <div class="portlet"> - <div class="portlet-body"> - <div class="row" > - <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/mmSamplePicLogs" method="post" class="form-search"> - <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/> - <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/> - <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/> - <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/> - <!-- 筛选按钮展开状态--> - <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/> - - <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/> - - <!-- 搜索内容与操作按钮栏 --> - <div class="col-md-12"> - <div class="pull-left"> - <form:select path="service" class="selectpicker select2 input-small"> - <form:option value=""><spring:message code="action"/></form:option> - <c:forEach items="${serviceList}" var="service" - varStatus="satus"> - <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict"> - <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }"> - <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option> - </c:if> - </c:forEach> - </c:forEach> - </form:select> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="begin_date"/></span> - </div> - <input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" class="form-control input-medium Wdate " - value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="end_date"/></span> - </div> - <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate " - value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - - <div class="pull-left"> - <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button> - <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button> - <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button> - </div> - - <div class="pull-right"> - <a class="btn btn-icon-only btn-default setfields tooltips" - data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;"> - <i class="icon-wrench"></i> - </a> - </div> - </div> - - <!-- 筛选搜索内容栏默认隐藏--> - <div class="col-md-12 filter-action-select-panle hide" > - <div class="row"> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="transport_layer_protocol"/>:</label> - <c:set var="select"><spring:message code='select'/></c:set> - <form:select path="transProto" class="selectpicker form-control" > - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict"> - <form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option> - </c:forEach> - </form:select> - </div> - </div> - - <%-- <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="direction"/>:</label> - <form:select path="direction" class="selectpicker select2 form-control"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="dict"> - <form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option> - </c:forEach> - </form:select> - </div> - </div> --%> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="entrance"/>:</label> - <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" > - <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option> - </c:forEach> - </form:select> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clj_ip"/>:</label> - <input name="capIp" type="text" class="form-control" value="${log.capIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clientip"/>:</label> - <input id="sIp" name="sIp" class="form-control" type="text" value="${log.sIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="serverip"/>:</label> - <input id="dIp" name="dIp" class="form-control" type="text" value="${log.dIp}"/> - </div> - </div> - <div class="col-md-2"> - <label><spring:message code="cfg_id"></spring:message>:</label> - <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/> - </div> - </div> - </div> - <!-- /筛选搜索内容栏 结束--> - </form:form> - </div> - <sys:message content="${message}"/> - <div class="table-responsive"> - <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb"> - <thead> - <tr> - <th><spring:message code="log"/></th> - <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th> - <th class="sort-column service" isVisible="false"><spring:message code="action"/></th> - <th class="sort-column found_time"><spring:message code="found_time"/></th> - <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th> - - <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th> - - <th class="sort-column pid" isVisible="false"><spring:message code='pid'/></th> - <th class="sort-column url"><spring:message code='access_url'/></th> - <th class="sort-column log_uri"><spring:message code='log_uri'/></th> - <th class="sort-column referer"><spring:message code='referer'/></th> - <th class="sort-column level" isVisible="false"><spring:message code='harm_level'/></th> - <th class="sort-column fd_type" isVisible="false"><spring:message code='fd_type'/></th> - <th class="sort-column protocol" ><spring:message code='av_protocol'/></th> - <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th> - <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th> - <th class="sort-column addr_type"><spring:message code='addr_type'/></th> - <th class="sort-column d_ip"><spring:message code="server_ip"/></th> - <th class="sort-column s_ip"><spring:message code="client_ip"/></th> - <th class="sort-column d_port"><spring:message code="server_port"/></th> - <th class="sort-column s_port"><spring:message code="client_port"/></th> - <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th> - <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th> - <th class="sort-column encap_type"><spring:message code="encap_type"/></th> -<%-- <th class="sort-column direction"><spring:message code="direction"/></th> --%> - <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th> - <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th> - <th class="sort-column stream_dir"><spring:message code="stream_type"/></th> - - <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th> - <th class="sort-column server_locate"><spring:message code='server_locate'/></th> - <th class="sort-column client_locate"><spring:message code='client_locate'/></th> - <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th> - <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th> - <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th> - <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th> - <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th> - <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if> - </tr> - </thead> - <tbody> - <c:forEach var="log" items="${page.list }" varStatus="status"> - <tr> - <td> -<%-- <span id="open${status.index}" class="log-open-cfg" compileId="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span> - --%> <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a> - </td> - <td>${log.cfgId }</td> - <td> - <c:set var="actions">${log.action }</c:set> - <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict"> - <c:if test="${dict.itemCode eq log.action}"> - <c:set var="actions">${dict.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${actions}"/> - </td> - <td>${log.foundTime }</td> - <td>${log.recvTime }</td> - - <td> - <c:set var="entrances">${log.entranceId }</c:set> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> - <c:if test="${dic.itemCode eq log.entranceId}"> - <c:set var="entrances">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${entrances}"/> - </td> - - <td>${log.pid}</td> - <td> - <c:if test="${fn:startsWith(log.url, 'http://')}"> - ${fn:substring(log.url,7,-1)} - </c:if> - <c:if test="${!fn:startsWith(log.url, 'http://') and !empty log.url}"> - ${log.url} - </c:if> - </td> - <td> - <c:if test="${fn:startsWith(log.logUri, 'http')}"> - <a href="${log.logUri}" data-original-title="${log.logUri}" target="_blank" - class="tooltips" data-flag="false" data-html="true" data-placement="top"> - ${fn:substring(log.logUri,0,20) } - </a> - </c:if> - - <c:if test="${!fn:startsWith(log.logUri, 'http') and !empty log.logUri}"> - <a href="http://${log.logUri}" data-original-title="http://${log.logUri}" target="_blank" - class="tooltips" data-flag="false" data-html="true" data-placement="top"> - http://${fn:substring(log.logUri,0,20) } - </a> - </c:if> - </td> - <td> - ${log.referer} - </td> - <td>${log.level}</td> - <!--0:动态黑名单FD;1:静态配置FD;2:首次分析命中 --> - <td> - <c:if test="${log.fdType eq 0 }"><spring:message code="black_block_list"/></c:if> - <c:if test="${log.fdType eq 1 }"><spring:message code="static_cfg_block"/></c:if> - <c:if test="${log.fdType eq 2 }"><spring:message code="first_hit"/></c:if> - </td> - <td><c:set var="avProtocol" value="${log.protocol}"></c:set> - <c:forEach items="${fns:getDictList('AV_PROTOCOL')}" var="dic"> - <c:if test="${log.protocol==dic.itemCode}"> - <c:set var="avProtocol" value="${dic.itemValue }"></c:set> - </c:if> - </c:forEach> - ${avProtocol }</td> - <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td> - <td> - <c:set var="transProtos">${log.transProto }</c:set> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic"> - <c:if test="${dic.itemCode eq log.transProto}"> - <c:set var="transProtos">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${transProtos}"/> - </td> - <td> - <c:set var="addrTypes">${log.addrType }</c:set> - <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic"> - <c:if test="${log.addrType==dic.itemCode}"> - <c:set var="addrTypes">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${addrTypes}"/> - </td> - <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td> - <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td> - <td>${log.dPort }</td> - <td>${log.sPort }</td> - <td> - <c:set var="deviceIds">${log.deviceId }</c:set> - <c:forEach items="${fns:getDictList('DEVICE')}" var="device"> - <c:if test="${device.itemCode eq log.deviceId}"> - <c:set var="deviceIds">${device.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${deviceIds}"/> - </td> - <td> - <c:set var="linkIds">${log.linkId }</c:set> - <c:forEach items="${fns:getDictList('LINK')}" var="link"> - <c:if test="${link.itemCode eq log.linkId}"> - <c:set var="linkIds">${link.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${linkIds}"/> - </td> - <td> - <c:set var="encapTypes">${log.encapType }</c:set> - <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType"> - <c:if test="${encapType.itemCode eq log.encapType}"> - <c:set var="encapTypes">${encapType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${encapTypes}"/> - </td> - <%-- <td> - <c:set var="directions">${log.direction }</c:set> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction"> - <c:if test="${direction.itemCode eq log.direction}"> - <c:set var="directions">${direction.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${directions}"/> - </td> --%> - <td>${log.innerSmac }</td> - <td>${log.innerDmac }</td> - <td> - <c:set var="streamDirs">${log.streamDir }</c:set> - <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType"> - <c:if test="${streamType.itemCode eq log.streamDir}"> - <c:set var="streamDirs">${streamType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${streamDirs}"/> - </td> - - <td>${log.addrList }</td> - <td>${log.serverLocate}</td> - <td>${log.clientLocate}</td> - <td>${log.sAsn}</td> - <td>${log.dAsn}</td> - <td>${log.sSubscribeId}</td> - <td>${log.dSubscribeId}</td> - <td>${log.userRegion}</td> - <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if> - </tr> - </c:forEach> - </tbody> - </table> - <div class="page">${page}</div> - </div> - </div> - </div> - </div> - </div> -</body> -</html> +<%@ page contentType="text/html;charset=UTF-8"%>
+<%@ include file="/WEB-INF/include/taglib.jsp"%>
+<html>
+<head>
+
+<script type="text/javascript">
+$(document).ready(function(){
+ //筛选功能
+ filterActionInit();
+ //reset
+ $("#resetBtn").on("click",function(){
+ $("select.selectpicker").each(function(){
+ $(this).selectpicker('val',$(this).find('option:first').val());
+ $(this).find("option").attr("selected",false);
+ $(this).find("option:first").attr("selected",true);
+ });
+ $(".Wdate").attr("value",'');
+ $(':input','#searchForm')
+ .not(':button,:submit,:reset,:hidden')
+ .attr("value",'');
+ $("#searchForm")[0].reset();
+ });
+
+ //异步获取voip相关信息
+ $("span[id^=open]").click(function(){
+ var openId=$(this).attr("id");
+ var closeId=$(this).attr("id").replace("open","close");
+ var index=$(this).attr("id").replace("open","");
+ $("#"+openId).hide();
+ $("#"+closeId).show();
+ var compileId=$(this).attr("compileId");
+// var cfgId=$(this).attr("cfgId");
+ if($("#"+openId).parent().parent().next("tr").hasClass("child")){
+ $("#"+openId).parent().parent().next("tr").show();
+ }else{
+ $.ajax({
+ type:'post',
+ async:false,
+ url:'${ctx}/ntc/av/ajaxfileSampleList',
+ data:{"compileId":compileId,"index":index},
+ dataType:"html",
+ success:function(data){
+ var subTab="<tr class='child'>"+
+ "<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>";
+ var html="";
+ html+="<div class='row'>";
+ html = html+data;
+ subTab=subTab+html;
+ subTab+="</td>";
+ subTab+="</tr>";
+ $("#"+openId).parent().parent().after(subTab);
+ $("div[name='tabTitle"+index+"']").get(0).click();
+ }
+ });
+ }
+
+ });
+
+ $("span[id^=close]").on("click",function(){
+ var closeId=$(this).attr("id");
+ var openId=$(this).attr("id").replace("close","open");
+ $("#"+closeId).hide();
+ $("#"+openId).show();
+ $("#"+closeId).parent().parent().next("tr").hide();
+ });
+});
+
+</script>
+</head>
+<body>
+
+<div class="page-content">
+ <div class="theme-panel hidden-xs hidden-sm">
+ </div>
+ <h3 class="page-title">
+ <spring:message code="av_sample_picture_control"/>
+ </h3>
+ <h5 class="page-header"></h5>
+ <div class="col-md-12">
+ <div class="portlet">
+ <div class="portlet-body">
+ <div class="row" >
+ <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/mmSamplePicLogs" method="post" class="form-search">
+ <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
+ <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+ <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/>
+ <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/>
+ <!-- 筛选按钮展开状态-->
+ <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/>
+
+ <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/>
+
+ <!-- 搜索内容与操作按钮栏 -->
+ <div class="col-md-12">
+ <div class="pull-left">
+ <form:select path="service" class="selectpicker select2 input-small">
+ <form:option value=""><spring:message code="action"/></form:option>
+ <c:forEach items="${serviceList}" var="service"
+ varStatus="satus">
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
+ <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }">
+ <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:if>
+ </c:forEach>
+ </c:forEach>
+ </form:select>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
+ </div>
+ <input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
+ value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="end_date"/></span>
+ </div>
+ <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
+ value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+
+ <div class="pull-left">
+ <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
+ <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
+ <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button>
+ </div>
+
+ <div class="pull-right">
+ <a class="btn btn-icon-only btn-default setfields tooltips"
+ data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
+ <i class="icon-wrench"></i>
+ </a>
+ </div>
+ </div>
+
+ <!-- 筛选搜索内容栏默认隐藏-->
+ <div class="col-md-12 filter-action-select-panle hide" >
+ <div class="row">
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="transport_layer_protocol"/>:</label>
+ <c:set var="select"><spring:message code='select'/></c:set>
+ <form:select path="transProto" class="selectpicker form-control" >
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict">
+ <form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+
+ <%-- <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="direction"/>:</label>
+ <form:select path="direction" class="selectpicker select2 form-control">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="dict">
+ <form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div> --%>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="entrance"/>:</label>
+ <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" >
+ <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clj_ip"/>:</label>
+ <input name="capIp" type="text" class="form-control" value="${log.capIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clientip"/>:</label>
+ <input id="sIp" name="sIp" class="form-control" type="text" value="${log.sIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="serverip"/>:</label>
+ <input id="dIp" name="dIp" class="form-control" type="text" value="${log.dIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <label><spring:message code="cfg_id"></spring:message>:</label>
+ <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/>
+ </div>
+ </div>
+ </div>
+ <!-- /筛选搜索内容栏 结束-->
+ </form:form>
+ </div>
+ <sys:message content="${message}"/>
+ <div class="table-responsive">
+ <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb">
+ <thead>
+ <tr>
+ <th><spring:message code="log"/></th>
+ <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
+ <th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
+ <th class="sort-column found_time"><spring:message code="found_time"/></th>
+ <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
+
+ <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th>
+
+ <th class="sort-column pid" isVisible="false"><spring:message code='pid'/></th>
+ <th class="sort-column url"><spring:message code='access_url'/></th>
+ <th class="sort-column log_uri"><spring:message code='log_uri'/></th>
+ <th class="sort-column referer"><spring:message code='referer'/></th>
+ <th class="sort-column level" isVisible="false"><spring:message code='harm_level'/></th>
+ <th class="sort-column fd_type" isVisible="false"><spring:message code='fd_type'/></th>
+ <th class="sort-column protocol" ><spring:message code='av_protocol'/></th>
+ <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th>
+ <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th>
+ <th class="sort-column addr_type"><spring:message code='addr_type'/></th>
+ <th class="sort-column d_ip"><spring:message code="server_ip"/></th>
+ <th class="sort-column s_ip"><spring:message code="client_ip"/></th>
+ <th class="sort-column d_port"><spring:message code="server_port"/></th>
+ <th class="sort-column s_port"><spring:message code="client_port"/></th>
+ <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th>
+ <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th>
+ <th class="sort-column encap_type"><spring:message code="encap_type"/></th>
+<%-- <th class="sort-column direction"><spring:message code="direction"/></th> --%>
+ <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th>
+ <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th>
+ <th class="sort-column stream_dir"><spring:message code="stream_type"/></th>
+
+ <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
+ <th class="sort-column server_locate"><spring:message code='server_locate'/></th>
+ <th class="sort-column client_locate"><spring:message code='client_locate'/></th>
+ <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
+ <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
+ <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
+ <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
+ <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
+ <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
+ </tr>
+ </thead>
+ <tbody>
+ <c:forEach var="log" items="${page.list }" varStatus="status">
+ <tr>
+ <td>
+<%-- <span id="open${status.index}" class="log-open-cfg" compileId="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span>
+ --%> <a href="javascript:void(0)" name="viewLogInfo" url="${ctx}/ntc/av/ajaxfileSampleList" compileId="${log.cfgId }" ><i class="icon-book-open"></i></a>
+ </td>
+ <td>${log.cfgId }</td>
+ <td>
+ <c:set var="actions">${log.action }</c:set>
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict">
+ <c:if test="${dict.itemCode eq log.action}">
+ <c:set var="actions">${dict.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${actions}"/>
+ </td>
+ <td>${log.foundTime }</td>
+ <td>${log.recvTime }</td>
+
+ <td>
+ <c:set var="entrances">${log.entranceId }</c:set>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
+ <c:if test="${dic.itemCode eq log.entranceId}">
+ <c:set var="entrances">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${entrances}"/>
+ </td>
+
+ <td>${log.pid}</td>
+ <td>
+ <c:if test="${fn:startsWith(log.url, 'http://')}">
+ ${fn:substring(log.url,7,-1)}
+ </c:if>
+ <c:if test="${!fn:startsWith(log.url, 'http://') and !empty log.url}">
+ ${log.url}
+ </c:if>
+ </td>
+ <td>
+ <c:if test="${fn:startsWith(log.logUri, 'http')}">
+ <a href="${log.logUri}" data-original-title="${log.logUri}" target="_blank"
+ class="tooltips" data-flag="false" data-html="true" data-placement="top">
+ ${fn:substring(log.logUri,0,20) }
+ </a>
+ </c:if>
+
+ <c:if test="${!fn:startsWith(log.logUri, 'http') and !empty log.logUri}">
+ <a href="http://${log.logUri}" data-original-title="http://${log.logUri}" target="_blank"
+ class="tooltips" data-flag="false" data-html="true" data-placement="top">
+ http://${fn:substring(log.logUri,0,20) }
+ </a>
+ </c:if>
+ </td>
+ <td>
+ ${log.referer}
+ </td>
+ <td>${log.level}</td>
+ <!--0:动态黑名单FD;1:静态配置FD;2:首次分析命中 -->
+ <td>
+ <c:if test="${log.fdType eq 0 }"><spring:message code="black_block_list"/></c:if>
+ <c:if test="${log.fdType eq 1 }"><spring:message code="static_cfg_block"/></c:if>
+ <c:if test="${log.fdType eq 2 }"><spring:message code="first_hit"/></c:if>
+ </td>
+ <td><c:set var="avProtocol" value="${log.protocol}"></c:set>
+ <c:forEach items="${fns:getDictList('AV_PROTOCOL')}" var="dic">
+ <c:if test="${log.protocol==dic.itemCode}">
+ <c:set var="avProtocol" value="${dic.itemValue }"></c:set>
+ </c:if>
+ </c:forEach>
+ ${avProtocol }</td>
+ <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td>
+ <td>
+ <c:set var="transProtos">${log.transProto }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic">
+ <c:if test="${dic.itemCode eq log.transProto}">
+ <c:set var="transProtos">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${transProtos}"/>
+ </td>
+ <td>
+ <c:set var="addrTypes">${log.addrType }</c:set>
+ <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic">
+ <c:if test="${log.addrType==dic.itemCode}">
+ <c:set var="addrTypes">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${addrTypes}"/>
+ </td>
+ <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td>
+ <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td>
+ <td>${log.dPort }</td>
+ <td>${log.sPort }</td>
+ <td>
+ <c:set var="deviceIds">${log.deviceId }</c:set>
+ <c:forEach items="${fns:getDictList('DEVICE')}" var="device">
+ <c:if test="${device.itemCode eq log.deviceId}">
+ <c:set var="deviceIds">${device.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${deviceIds}"/>
+ </td>
+ <td>
+ <c:set var="linkIds">${log.linkId }</c:set>
+ <c:forEach items="${fns:getDictList('LINK')}" var="link">
+ <c:if test="${link.itemCode eq log.linkId}">
+ <c:set var="linkIds">${link.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${linkIds}"/>
+ </td>
+ <td>
+ <c:set var="encapTypes">${log.encapType }</c:set>
+ <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType">
+ <c:if test="${encapType.itemCode eq log.encapType}">
+ <c:set var="encapTypes">${encapType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${encapTypes}"/>
+ </td>
+ <%-- <td>
+ <c:set var="directions">${log.direction }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction">
+ <c:if test="${direction.itemCode eq log.direction}">
+ <c:set var="directions">${direction.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${directions}"/>
+ </td> --%>
+ <td>${log.innerSmac }</td>
+ <td>${log.innerDmac }</td>
+ <td>
+ <c:set var="streamDirs">${log.streamDir }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType">
+ <c:if test="${streamType.itemCode eq log.streamDir}">
+ <c:set var="streamDirs">${streamType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${streamDirs}"/>
+ </td>
+
+ <td>${log.addrList }</td>
+ <td>${log.serverLocate}</td>
+ <td>${log.clientLocate}</td>
+ <td>${log.sAsn}</td>
+ <td>${log.dAsn}</td>
+ <td>${log.sSubscribeId}</td>
+ <td>${log.dSubscribeId}</td>
+ <td>${log.userRegion}</td>
+ <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if>
+ </tr>
+ </c:forEach>
+ </tbody>
+ </table>
+ <div class="page">${page}</div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+</body>
+</html>
diff --git a/src/main/webapp/WEB-INF/views/log/ntc/mmSampleSpeakerList.jsp b/src/main/webapp/WEB-INF/views/log/ntc/mmSampleSpeakerList.jsp index 2e14619..7aa1e92 100644 --- a/src/main/webapp/WEB-INF/views/log/ntc/mmSampleSpeakerList.jsp +++ b/src/main/webapp/WEB-INF/views/log/ntc/mmSampleSpeakerList.jsp @@ -1,415 +1,415 @@ -<%@ page contentType="text/html;charset=UTF-8"%> -<%@ include file="/WEB-INF/include/taglib.jsp"%> -<html> -<head> - -<script type="text/javascript"> -$(document).ready(function(){ - //筛选功能 - filterActionInit(); - //reset - $("#resetBtn").on("click",function(){ - $("select.selectpicker").each(function(){ - $(this).selectpicker('val',$(this).find('option:first').val()); - $(this).find("option").attr("selected",false); - $(this).find("option:first").attr("selected",true); - }); - $(".Wdate").attr("value",''); - $(':input','#searchForm') - .not(':button,:submit,:reset,:hidden') - .attr("value",''); - $("#searchForm")[0].reset(); - }); - //异步获取voip相关信息 - $("span[id^=open]").click(function(){ - var openId=$(this).attr("id"); - var closeId=$(this).attr("id").replace("open","close"); - var index=$(this).attr("id").replace("open",""); - $("#"+openId).hide(); - $("#"+closeId).show(); - var compileId=$(this).attr("compileId"); -// var cfgId=$(this).attr("cfgId"); - if($("#"+openId).parent().parent().next("tr").hasClass("child")){ - $("#"+openId).parent().parent().next("tr").show(); - }else{ - $.ajax({ - type:'post', - async:false, - url:'${ctx}/ntc/av/ajaxfileSampleList', - data:{"compileId":compileId,"index":index}, - dataType:"html", - success:function(data){ - var subTab="<tr class='child'>"+ - "<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>"; - var html=""; - html+="<div class='row'>"; - html = html+data; - subTab=subTab+html; - subTab+="</td>"; - subTab+="</tr>"; - $("#"+openId).parent().parent().after(subTab); - $("div[name='tabTitle"+index+"']").get(0).click(); - } - }); - } - - }); - - $("span[id^=close]").on("click",function(){ - var closeId=$(this).attr("id"); - var openId=$(this).attr("id").replace("close","open"); - $("#"+closeId).hide(); - $("#"+openId).show(); - $("#"+closeId).parent().parent().next("tr").hide(); - }); -}); - -</script> -</head> -<body> - -<div class="page-content"> - <div class="theme-panel hidden-xs hidden-sm"> - </div> - <h3 class="page-title"> - <spring:message code="MM_SPEAKER_RECOGNIZATION"/> - </h3> - - <h5 class="page-header"></h5> - <div class="col-md-12"> - <div class="portlet"> - <div class="portlet-body"> - <div class="row" > - <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/mmSampleSpeakerLogs" method="post" class="form-search"> - <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/> - <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/> - <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/> - <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/> - <!-- 筛选按钮展开状态--> - <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/> - - <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/> - - <!-- 搜索内容与操作按钮栏 --> - <div class="col-md-12"> - <div class="pull-left"> - <form:select path="service" class="selectpicker select2 input-small"> - <form:option value=""><spring:message code="action"/></form:option> - <c:forEach items="${serviceList}" var="service" - varStatus="satus"> - <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict"> - <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }"> - <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option> - </c:if> - </c:forEach> - </c:forEach> - </form:select> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="begin_date"/></span> - </div> - <input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" class="form-control input-medium Wdate " - value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="end_date"/></span> - </div> - <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate " - value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - - <div class="pull-left"> - <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button> - <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button> - <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button> - </div> - - <div class="pull-right"> - <a class="btn btn-icon-only btn-default setfields tooltips" - data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;"> - <i class="icon-wrench"></i> - </a> - </div> - </div> - - <!-- 筛选搜索内容栏默认隐藏--> - <div class="col-md-12 filter-action-select-panle hide" > - <div class="row"> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="transport_layer_protocol"/>:</label> - <c:set var="select"><spring:message code='select'/></c:set> - <form:select path="transProto" class="selectpicker form-control" > - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict"> - <form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option> - </c:forEach> - </form:select> - </div> - </div> - - <%-- <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="direction"/>:</label> - <form:select path="direction" class="selectpicker select2 form-control"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="dict"> - <form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option> - </c:forEach> - </form:select> - </div> - </div> --%> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="entrance"/>:</label> - <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" > - <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option> - </c:forEach> - </form:select> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clj_ip"/>:</label> - <input name="capIp" type="text" class="form-control" value="${log.capIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clientip"/>:</label> - <input id="sIp" name="sIp" class="form-control" type="text" value="${log.sIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="serverip"/>:</label> - <input id="dIp" name="dIp" class="form-control" type="text" value="${log.dIp}"/> - </div> - </div> - <div class="col-md-2"> - <label><spring:message code="cfg_id"></spring:message>:</label> - <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/> - </div> - </div> - </div> - <!-- /筛选搜索内容栏 结束--> - </form:form> - </div> - <sys:message content="${message}"/> - <div class="table-responsive"> - <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb"> - <thead> - <tr> - <th><spring:message code="log"/></th> - <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th> - <th class="sort-column service" isVisible="false"><spring:message code="action"/></th> - <th class="sort-column found_time"><spring:message code="found_time"/></th> - <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th> - - <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th> - - <th class="sort-column pid" isVisible="false"><spring:message code='pid'/></th> - <th class="sort-column url"><spring:message code='access_url'/></th> - <th class="sort-column log_uri"><spring:message code='log_uri'/></th> - <th class="sort-column referer"><spring:message code='referer'/></th> - <th class="sort-column level" isVisible="false"><spring:message code='harm_level'/></th> - <th class="sort-column fd_type" isVisible="false"><spring:message code='fd_type'/></th> - <th class="sort-column protocol" ><spring:message code='av_protocol'/></th> - <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th> - <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th> - <th class="sort-column addr_type"><spring:message code='addr_type'/></th> - <th class="sort-column d_ip"><spring:message code="server_ip"/></th> - <th class="sort-column s_ip"><spring:message code="client_ip"/></th> - <th class="sort-column d_port"><spring:message code="server_port"/></th> - <th class="sort-column s_port"><spring:message code="client_port"/></th> - <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th> - <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th> - <th class="sort-column encap_type"><spring:message code="encap_type"/></th> -<%-- <th class="sort-column direction"><spring:message code="direction"/></th> --%> - <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th> - <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th> - <th class="sort-column stream_dir"><spring:message code="stream_type"/></th> - - <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th> - <th class="sort-column server_locate"><spring:message code='server_locate'/></th> - <th class="sort-column client_locate"><spring:message code='client_locate'/></th> - <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th> - <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th> - <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th> - <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th> - <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th> - <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if> - </tr> - </thead> - <tbody> - <c:forEach var="log" items="${page.list }" varStatus="status"> - <tr> - <td> -<%-- <span id="open${status.index}" class="log-open-cfg" compileId="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span> - --%> <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a> - </td> - <td>${log.cfgId }</td> - <td> - <c:set var="actions">${log.action }</c:set> - <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict"> - <c:if test="${dict.itemCode eq log.action}"> - <c:set var="actions">${dict.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${actions}"/> - </td> - - <td>${log.foundTime }</td> - <td>${log.recvTime }</td> - - <td> - <c:set var="entrances">${log.entranceId }</c:set> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> - <c:if test="${dic.itemCode eq log.entranceId}"> - <c:set var="entrances">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${entrances}"/> - </td> - - <td>${log.pid}</td> - <td> - <c:if test="${fn:startsWith(log.url, 'http://')}"> - ${fn:substring(log.url,7,-1)} - </c:if> - <c:if test="${!fn:startsWith(log.url, 'http://') and !empty log.url}"> - ${log.url} - </c:if> - </td> - <td> - <c:if test="${fn:startsWith(log.logUri, 'http')}"> - <a href="${log.logUri}" data-original-title="${log.logUri}" target="_blank" - class="tooltips" data-flag="false" data-html="true" data-placement="top"> - ${fn:substring(log.logUri,0,20) } - </a> - </c:if> - - <c:if test="${!fn:startsWith(log.logUri, 'http') and !empty log.logUri}"> - <a href="http://${log.logUri}" data-original-title="http://${log.logUri}" target="_blank" - class="tooltips" data-flag="false" data-html="true" data-placement="top"> - http://${fn:substring(log.logUri,0,20) } - </a> - </c:if> - </td> - <td> - ${log.referer} - </td> - <td>${log.level}</td> - <!--0:动态黑名单FD;1:静态配置FD;2:首次分析命中 --> - <td> - <c:if test="${log.fdType eq 0 }"><spring:message code="black_block_list"/></c:if> - <c:if test="${log.fdType eq 1 }"><spring:message code="static_cfg_block"/></c:if> - <c:if test="${log.fdType eq 2 }"><spring:message code="first_hit"/></c:if> - </td> - <td><c:set var="avProtocol" value="${log.protocol}"></c:set> - <c:forEach items="${fns:getDictList('AV_PROTOCOL')}" var="dic"> - <c:if test="${log.protocol==dic.itemCode}"> - <c:set var="avProtocol" value="${dic.itemValue }"></c:set> - </c:if> - </c:forEach> - ${avProtocol }</td> - <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td> - <td> - <c:set var="transProtos">${log.transProto }</c:set> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic"> - <c:if test="${dic.itemCode eq log.transProto}"> - <c:set var="transProtos">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${transProtos}"/> - </td> - <td> - <c:set var="addrTypes">${log.addrType }</c:set> - <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic"> - <c:if test="${log.addrType==dic.itemCode}"> - <c:set var="addrTypes">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${addrTypes}"/> - </td> - <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td> - <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td> - <td>${log.dPort }</td> - <td>${log.sPort }</td> - <td> - <c:set var="deviceIds">${log.deviceId }</c:set> - <c:forEach items="${fns:getDictList('DEVICE')}" var="device"> - <c:if test="${device.itemCode eq log.deviceId}"> - <c:set var="deviceIds">${device.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${deviceIds}"/> - </td> - <td> - <c:set var="linkIds">${log.linkId }</c:set> - <c:forEach items="${fns:getDictList('LINK')}" var="link"> - <c:if test="${link.itemCode eq log.linkId}"> - <c:set var="linkIds">${link.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${linkIds}"/> - </td> - <td> - <c:set var="encapTypes">${log.encapType }</c:set> - <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType"> - <c:if test="${encapType.itemCode eq log.encapType}"> - <c:set var="encapTypes">${encapType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${encapTypes}"/> - </td> - <%-- <td> - <c:set var="directions">${log.direction }</c:set> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction"> - <c:if test="${direction.itemCode eq log.direction}"> - <c:set var="directions">${direction.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${directions}"/> - </td> --%> - <td>${log.innerSmac }</td> - <td>${log.innerDmac }</td> - <td> - <c:set var="streamDirs">${log.streamDir }</c:set> - <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType"> - <c:if test="${streamType.itemCode eq log.streamDir}"> - <c:set var="streamDirs">${streamType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${streamDirs}"/> - </td> - - <td>${log.addrList }</td> - <td>${log.serverLocate}</td> - <td>${log.clientLocate}</td> - <td>${log.sAsn}</td> - <td>${log.dAsn}</td> - <td>${log.sSubscribeId}</td> - <td>${log.dSubscribeId}</td> - <td>${log.userRegion}</td> - <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if> - </tr> - </c:forEach> - </tbody> - </table> - <div class="page">${page}</div> - </div> - </div> - </div> - </div> - </div> -</body> -</html> +<%@ page contentType="text/html;charset=UTF-8"%>
+<%@ include file="/WEB-INF/include/taglib.jsp"%>
+<html>
+<head>
+
+<script type="text/javascript">
+$(document).ready(function(){
+ //筛选功能
+ filterActionInit();
+ //reset
+ $("#resetBtn").on("click",function(){
+ $("select.selectpicker").each(function(){
+ $(this).selectpicker('val',$(this).find('option:first').val());
+ $(this).find("option").attr("selected",false);
+ $(this).find("option:first").attr("selected",true);
+ });
+ $(".Wdate").attr("value",'');
+ $(':input','#searchForm')
+ .not(':button,:submit,:reset,:hidden')
+ .attr("value",'');
+ $("#searchForm")[0].reset();
+ });
+ //异步获取voip相关信息
+ $("span[id^=open]").click(function(){
+ var openId=$(this).attr("id");
+ var closeId=$(this).attr("id").replace("open","close");
+ var index=$(this).attr("id").replace("open","");
+ $("#"+openId).hide();
+ $("#"+closeId).show();
+ var compileId=$(this).attr("compileId");
+// var cfgId=$(this).attr("cfgId");
+ if($("#"+openId).parent().parent().next("tr").hasClass("child")){
+ $("#"+openId).parent().parent().next("tr").show();
+ }else{
+ $.ajax({
+ type:'post',
+ async:false,
+ url:'${ctx}/ntc/av/ajaxfileSampleList',
+ data:{"compileId":compileId,"index":index},
+ dataType:"html",
+ success:function(data){
+ var subTab="<tr class='child'>"+
+ "<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>";
+ var html="";
+ html+="<div class='row'>";
+ html = html+data;
+ subTab=subTab+html;
+ subTab+="</td>";
+ subTab+="</tr>";
+ $("#"+openId).parent().parent().after(subTab);
+ $("div[name='tabTitle"+index+"']").get(0).click();
+ }
+ });
+ }
+
+ });
+
+ $("span[id^=close]").on("click",function(){
+ var closeId=$(this).attr("id");
+ var openId=$(this).attr("id").replace("close","open");
+ $("#"+closeId).hide();
+ $("#"+openId).show();
+ $("#"+closeId).parent().parent().next("tr").hide();
+ });
+});
+
+</script>
+</head>
+<body>
+
+<div class="page-content">
+ <div class="theme-panel hidden-xs hidden-sm">
+ </div>
+ <h3 class="page-title">
+ <spring:message code="MM_SPEAKER_RECOGNIZATION"/>
+ </h3>
+
+ <h5 class="page-header"></h5>
+ <div class="col-md-12">
+ <div class="portlet">
+ <div class="portlet-body">
+ <div class="row" >
+ <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/mmSampleSpeakerLogs" method="post" class="form-search">
+ <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
+ <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+ <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/>
+ <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/>
+ <!-- 筛选按钮展开状态-->
+ <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/>
+
+ <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/>
+
+ <!-- 搜索内容与操作按钮栏 -->
+ <div class="col-md-12">
+ <div class="pull-left">
+ <form:select path="service" class="selectpicker select2 input-small">
+ <form:option value=""><spring:message code="action"/></form:option>
+ <c:forEach items="${serviceList}" var="service"
+ varStatus="satus">
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
+ <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }">
+ <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:if>
+ </c:forEach>
+ </c:forEach>
+ </form:select>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
+ </div>
+ <input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
+ value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="end_date"/></span>
+ </div>
+ <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
+ value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+
+ <div class="pull-left">
+ <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
+ <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
+ <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button>
+ </div>
+
+ <div class="pull-right">
+ <a class="btn btn-icon-only btn-default setfields tooltips"
+ data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
+ <i class="icon-wrench"></i>
+ </a>
+ </div>
+ </div>
+
+ <!-- 筛选搜索内容栏默认隐藏-->
+ <div class="col-md-12 filter-action-select-panle hide" >
+ <div class="row">
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="transport_layer_protocol"/>:</label>
+ <c:set var="select"><spring:message code='select'/></c:set>
+ <form:select path="transProto" class="selectpicker form-control" >
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict">
+ <form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+
+ <%-- <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="direction"/>:</label>
+ <form:select path="direction" class="selectpicker select2 form-control">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="dict">
+ <form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div> --%>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="entrance"/>:</label>
+ <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" >
+ <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clj_ip"/>:</label>
+ <input name="capIp" type="text" class="form-control" value="${log.capIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clientip"/>:</label>
+ <input id="sIp" name="sIp" class="form-control" type="text" value="${log.sIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="serverip"/>:</label>
+ <input id="dIp" name="dIp" class="form-control" type="text" value="${log.dIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <label><spring:message code="cfg_id"></spring:message>:</label>
+ <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/>
+ </div>
+ </div>
+ </div>
+ <!-- /筛选搜索内容栏 结束-->
+ </form:form>
+ </div>
+ <sys:message content="${message}"/>
+ <div class="table-responsive">
+ <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb">
+ <thead>
+ <tr>
+ <th><spring:message code="log"/></th>
+ <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
+ <th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
+ <th class="sort-column found_time"><spring:message code="found_time"/></th>
+ <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
+
+ <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th>
+
+ <th class="sort-column pid" isVisible="false"><spring:message code='pid'/></th>
+ <th class="sort-column url"><spring:message code='access_url'/></th>
+ <th class="sort-column log_uri"><spring:message code='log_uri'/></th>
+ <th class="sort-column referer"><spring:message code='referer'/></th>
+ <th class="sort-column level" isVisible="false"><spring:message code='harm_level'/></th>
+ <th class="sort-column fd_type" isVisible="false"><spring:message code='fd_type'/></th>
+ <th class="sort-column protocol" ><spring:message code='av_protocol'/></th>
+ <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th>
+ <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th>
+ <th class="sort-column addr_type"><spring:message code='addr_type'/></th>
+ <th class="sort-column d_ip"><spring:message code="server_ip"/></th>
+ <th class="sort-column s_ip"><spring:message code="client_ip"/></th>
+ <th class="sort-column d_port"><spring:message code="server_port"/></th>
+ <th class="sort-column s_port"><spring:message code="client_port"/></th>
+ <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th>
+ <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th>
+ <th class="sort-column encap_type"><spring:message code="encap_type"/></th>
+<%-- <th class="sort-column direction"><spring:message code="direction"/></th> --%>
+ <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th>
+ <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th>
+ <th class="sort-column stream_dir"><spring:message code="stream_type"/></th>
+
+ <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
+ <th class="sort-column server_locate"><spring:message code='server_locate'/></th>
+ <th class="sort-column client_locate"><spring:message code='client_locate'/></th>
+ <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
+ <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
+ <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
+ <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
+ <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
+ <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
+ </tr>
+ </thead>
+ <tbody>
+ <c:forEach var="log" items="${page.list }" varStatus="status">
+ <tr>
+ <td>
+<%-- <span id="open${status.index}" class="log-open-cfg" compileId="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span>
+ --%> <a href="javascript:void(0)" name="viewLogInfo" url="${ctx}/ntc/av/ajaxfileSampleList" compileId="${log.cfgId }" ><i class="icon-book-open"></i></a>
+ </td>
+ <td>${log.cfgId }</td>
+ <td>
+ <c:set var="actions">${log.action }</c:set>
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict">
+ <c:if test="${dict.itemCode eq log.action}">
+ <c:set var="actions">${dict.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${actions}"/>
+ </td>
+
+ <td>${log.foundTime }</td>
+ <td>${log.recvTime }</td>
+
+ <td>
+ <c:set var="entrances">${log.entranceId }</c:set>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
+ <c:if test="${dic.itemCode eq log.entranceId}">
+ <c:set var="entrances">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${entrances}"/>
+ </td>
+
+ <td>${log.pid}</td>
+ <td>
+ <c:if test="${fn:startsWith(log.url, 'http://')}">
+ ${fn:substring(log.url,7,-1)}
+ </c:if>
+ <c:if test="${!fn:startsWith(log.url, 'http://') and !empty log.url}">
+ ${log.url}
+ </c:if>
+ </td>
+ <td>
+ <c:if test="${fn:startsWith(log.logUri, 'http')}">
+ <a href="${log.logUri}" data-original-title="${log.logUri}" target="_blank"
+ class="tooltips" data-flag="false" data-html="true" data-placement="top">
+ ${fn:substring(log.logUri,0,20) }
+ </a>
+ </c:if>
+
+ <c:if test="${!fn:startsWith(log.logUri, 'http') and !empty log.logUri}">
+ <a href="http://${log.logUri}" data-original-title="http://${log.logUri}" target="_blank"
+ class="tooltips" data-flag="false" data-html="true" data-placement="top">
+ http://${fn:substring(log.logUri,0,20) }
+ </a>
+ </c:if>
+ </td>
+ <td>
+ ${log.referer}
+ </td>
+ <td>${log.level}</td>
+ <!--0:动态黑名单FD;1:静态配置FD;2:首次分析命中 -->
+ <td>
+ <c:if test="${log.fdType eq 0 }"><spring:message code="black_block_list"/></c:if>
+ <c:if test="${log.fdType eq 1 }"><spring:message code="static_cfg_block"/></c:if>
+ <c:if test="${log.fdType eq 2 }"><spring:message code="first_hit"/></c:if>
+ </td>
+ <td><c:set var="avProtocol" value="${log.protocol}"></c:set>
+ <c:forEach items="${fns:getDictList('AV_PROTOCOL')}" var="dic">
+ <c:if test="${log.protocol==dic.itemCode}">
+ <c:set var="avProtocol" value="${dic.itemValue }"></c:set>
+ </c:if>
+ </c:forEach>
+ ${avProtocol }</td>
+ <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td>
+ <td>
+ <c:set var="transProtos">${log.transProto }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic">
+ <c:if test="${dic.itemCode eq log.transProto}">
+ <c:set var="transProtos">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${transProtos}"/>
+ </td>
+ <td>
+ <c:set var="addrTypes">${log.addrType }</c:set>
+ <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic">
+ <c:if test="${log.addrType==dic.itemCode}">
+ <c:set var="addrTypes">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${addrTypes}"/>
+ </td>
+ <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td>
+ <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td>
+ <td>${log.dPort }</td>
+ <td>${log.sPort }</td>
+ <td>
+ <c:set var="deviceIds">${log.deviceId }</c:set>
+ <c:forEach items="${fns:getDictList('DEVICE')}" var="device">
+ <c:if test="${device.itemCode eq log.deviceId}">
+ <c:set var="deviceIds">${device.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${deviceIds}"/>
+ </td>
+ <td>
+ <c:set var="linkIds">${log.linkId }</c:set>
+ <c:forEach items="${fns:getDictList('LINK')}" var="link">
+ <c:if test="${link.itemCode eq log.linkId}">
+ <c:set var="linkIds">${link.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${linkIds}"/>
+ </td>
+ <td>
+ <c:set var="encapTypes">${log.encapType }</c:set>
+ <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType">
+ <c:if test="${encapType.itemCode eq log.encapType}">
+ <c:set var="encapTypes">${encapType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${encapTypes}"/>
+ </td>
+ <%-- <td>
+ <c:set var="directions">${log.direction }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction">
+ <c:if test="${direction.itemCode eq log.direction}">
+ <c:set var="directions">${direction.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${directions}"/>
+ </td> --%>
+ <td>${log.innerSmac }</td>
+ <td>${log.innerDmac }</td>
+ <td>
+ <c:set var="streamDirs">${log.streamDir }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType">
+ <c:if test="${streamType.itemCode eq log.streamDir}">
+ <c:set var="streamDirs">${streamType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${streamDirs}"/>
+ </td>
+
+ <td>${log.addrList }</td>
+ <td>${log.serverLocate}</td>
+ <td>${log.clientLocate}</td>
+ <td>${log.sAsn}</td>
+ <td>${log.dAsn}</td>
+ <td>${log.sSubscribeId}</td>
+ <td>${log.dSubscribeId}</td>
+ <td>${log.userRegion}</td>
+ <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if>
+ </tr>
+ </c:forEach>
+ </tbody>
+ </table>
+ <div class="page">${page}</div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+</body>
+</html>
diff --git a/src/main/webapp/WEB-INF/views/log/ntc/mmSampleVideoList.jsp b/src/main/webapp/WEB-INF/views/log/ntc/mmSampleVideoList.jsp index 1696d1f..19529f0 100644 --- a/src/main/webapp/WEB-INF/views/log/ntc/mmSampleVideoList.jsp +++ b/src/main/webapp/WEB-INF/views/log/ntc/mmSampleVideoList.jsp @@ -1,416 +1,416 @@ -<%@ page contentType="text/html;charset=UTF-8"%> -<%@ include file="/WEB-INF/include/taglib.jsp"%> -<html> -<head> - -<script type="text/javascript"> -$(document).ready(function(){ - //筛选功能 - filterActionInit(); - //reset - $("#resetBtn").on("click",function(){ - $("select.selectpicker").each(function(){ - $(this).selectpicker('val',$(this).find('option:first').val()); - $(this).find("option").attr("selected",false); - $(this).find("option:first").attr("selected",true); - }); - $(".Wdate").attr("value",''); - $(':input','#searchForm') - .not(':button,:submit,:reset,:hidden') - .attr("value",''); - $("#searchForm")[0].reset(); - }); - - //异步获取voip相关信息 - $("span[id^=open]").click(function(){ - var openId=$(this).attr("id"); - var closeId=$(this).attr("id").replace("open","close"); - var index=$(this).attr("id").replace("open",""); - $("#"+openId).hide(); - $("#"+closeId).show(); - var compileId=$(this).attr("compileId"); -// var cfgId=$(this).attr("cfgId"); - if($("#"+openId).parent().parent().next("tr").hasClass("child")){ - $("#"+openId).parent().parent().next("tr").show(); - }else{ - $.ajax({ - type:'post', - async:false, - url:'${ctx}/ntc/av/ajaxfileSampleList', - data:{"compileId":compileId,"index":index}, - dataType:"html", - success:function(data){ - var subTab="<tr class='child'>"+ - "<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>"; - var html=""; - html+="<div class='row'>"; - html = html+data; - subTab=subTab+html; - subTab+="</td>"; - subTab+="</tr>"; - $("#"+openId).parent().parent().after(subTab); - $("div[name='tabTitle"+index+"']").get(0).click(); - } - }); - } - - }); - - $("span[id^=close]").on("click",function(){ - var closeId=$(this).attr("id"); - var openId=$(this).attr("id").replace("close","open"); - $("#"+closeId).hide(); - $("#"+openId).show(); - $("#"+closeId).parent().parent().next("tr").hide(); - }); -}); - -</script> -</head> -<body> - -<div class="page-content"> - <div class="theme-panel hidden-xs hidden-sm"> - </div> - <h3 class="page-title"> - <spring:message code="av_sample_video_control"/> - </h3> - - <h5 class="page-header"></h5> - <div class="col-md-12"> - <div class="portlet"> - <div class="portlet-body"> - <div class="row" > - <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/mmSampleVideoLogs" method="post" class="form-search"> - <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/> - <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/> - <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/> - <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/> - <!-- 筛选按钮展开状态--> - <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/> - - <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/> - - <!-- 搜索内容与操作按钮栏 --> - <div class="col-md-12"> - <div class="pull-left"> - <form:select path="service" class="selectpicker select2 input-small"> - <form:option value=""><spring:message code="action"/></form:option> - <c:forEach items="${serviceList}" var="service" - varStatus="satus"> - <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict"> - <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }"> - <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option> - </c:if> - </c:forEach> - </c:forEach> - </form:select> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="begin_date"/></span> - </div> - <input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" class="form-control input-medium Wdate " - value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="end_date"/></span> - </div> - <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate " - value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - - <div class="pull-left"> - <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button> - <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button> - <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button> - </div> - - <div class="pull-right"> - <a class="btn btn-icon-only btn-default setfields tooltips" - data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;"> - <i class="icon-wrench"></i> - </a> - </div> - </div> - - <!-- 筛选搜索内容栏默认隐藏--> - <div class="col-md-12 filter-action-select-panle hide" > - <div class="row"> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="transport_layer_protocol"/>:</label> - <c:set var="select"><spring:message code='select'/></c:set> - <form:select path="transProto" class="selectpicker form-control" > - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict"> - <form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option> - </c:forEach> - </form:select> - </div> - </div> - - <%-- <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="direction"/>:</label> - <form:select path="direction" class="selectpicker select2 form-control"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="dict"> - <form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option> - </c:forEach> - </form:select> - </div> - </div> --%> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="entrance"/>:</label> - <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" > - <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option> - </c:forEach> - </form:select> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clj_ip"/>:</label> - <input name="capIp" type="text" class="form-control" value="${log.capIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clientip"/>:</label> - <input id="sIp" name="sIp" class="form-control" type="text" value="${log.sIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="serverip"/>:</label> - <input id="dIp" name="dIp" class="form-control" type="text" value="${log.dIp}"/> - </div> - </div> - <div class="col-md-2"> - <label><spring:message code="cfg_id"></spring:message>:</label> - <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/> - </div> - </div> - </div> - <!-- /筛选搜索内容栏 结束--> - </form:form> - </div> - <sys:message content="${message}"/> - <div class="table-responsive"> - <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb"> - <thead> - <tr> - <th><spring:message code="log"/></th> - <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th> - <th class="sort-column service" isVisible="false"><spring:message code="action"/></th> - <th class="sort-column found_time"><spring:message code="found_time"/></th> - <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th> - - <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th> - - <th class="sort-column pid" isVisible="false"><spring:message code='pid'/></th> - <th class="sort-column url"><spring:message code='access_url'/></th> - <th class="sort-column log_uri"><spring:message code='log_uri'/></th> - <th class="sort-column referer"><spring:message code='referer'/></th> - <th class="sort-column level" isVisible="false"><spring:message code='harm_level'/></th> - <th class="sort-column fd_type" isVisible="false"><spring:message code='fd_type'/></th> - <th class="sort-column protocol" ><spring:message code='av_protocol'/></th> - <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th> - <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th> - <th class="sort-column addr_type"><spring:message code='addr_type'/></th> - <th class="sort-column d_ip"><spring:message code="server_ip"/></th> - <th class="sort-column s_ip"><spring:message code="client_ip"/></th> - <th class="sort-column d_port"><spring:message code="server_port"/></th> - <th class="sort-column s_port"><spring:message code="client_port"/></th> - <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th> - <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th> - <th class="sort-column encap_type"><spring:message code="encap_type"/></th> -<%-- <th class="sort-column direction"><spring:message code="direction"/></th> --%> - <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th> - <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th> - <th class="sort-column stream_dir"><spring:message code="stream_type"/></th> - - <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th> - <th class="sort-column server_locate"><spring:message code='server_locate'/></th> - <th class="sort-column client_locate"><spring:message code='client_locate'/></th> - <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th> - <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th> - <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th> - <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th> - <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th> - <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if> - </tr> - </thead> - <tbody> - <c:forEach var="log" items="${page.list }" varStatus="status"> - <tr> - <td> -<%-- <span id="open${status.index}" class="log-open-cfg" compileId="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span> - --%> <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a> - </td> - <td>${log.cfgId }</td> - <td> - <c:set var="actions">${log.action }</c:set> - <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict"> - <c:if test="${dict.itemCode eq log.action}"> - <c:set var="actions">${dict.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${actions}"/> - </td> - <td>${log.foundTime }</td> - <td>${log.recvTime }</td> - - <td> - <c:set var="entrances">${log.entranceId }</c:set> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> - <c:if test="${dic.itemCode eq log.entranceId}"> - <c:set var="entrances">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${entrances}"/> - </td> - - <td>${log.pid}</td> - <td> - <c:if test="${fn:startsWith(log.url, 'http://')}"> - ${fn:substring(log.url,7,-1)} - </c:if> - <c:if test="${!fn:startsWith(log.url, 'http://') and !empty log.url}"> - ${log.url} - </c:if> - </td> - <td> - <c:if test="${fn:startsWith(log.logUri, 'http')}"> - <a href="${log.logUri}" data-original-title="${log.logUri}" target="_blank" - class="tooltips" data-flag="false" data-html="true" data-placement="top"> - ${fn:substring(log.logUri,0,20) } - </a> - </c:if> - - <c:if test="${!fn:startsWith(log.logUri, 'http') and !empty log.logUri}"> - <a href="http://${log.logUri}" data-original-title="http://${log.logUri}" target="_blank" - class="tooltips" data-flag="false" data-html="true" data-placement="top"> - http://${fn:substring(log.logUri,0,20) } - </a> - </c:if> - </td> - <td> - ${log.referer} - </td> - <td>${log.level}</td> - <!--0:动态黑名单FD;1:静态配置FD;2:首次分析命中 --> - <td> - <c:if test="${log.fdType eq 0 }"><spring:message code="black_block_list"/></c:if> - <c:if test="${log.fdType eq 1 }"><spring:message code="static_cfg_block"/></c:if> - <c:if test="${log.fdType eq 2 }"><spring:message code="first_hit"/></c:if> - </td> - <td><c:set var="avProtocol" value="${log.protocol}"></c:set> - <c:forEach items="${fns:getDictList('AV_PROTOCOL')}" var="dic"> - <c:if test="${log.protocol==dic.itemCode}"> - <c:set var="avProtocol" value="${dic.itemValue }"></c:set> - </c:if> - </c:forEach> - ${avProtocol }</td> - <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td> - - <td> - <c:set var="transProtos">${log.transProto }</c:set> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic"> - <c:if test="${dic.itemCode eq log.transProto}"> - <c:set var="transProtos">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${transProtos}"/> - </td> - <td> - <c:set var="addrTypes">${log.addrType }</c:set> - <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic"> - <c:if test="${log.addrType==dic.itemCode}"> - <c:set var="addrTypes">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${addrTypes}"/> - </td> - <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td> - <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td> - <td>${log.dPort }</td> - <td>${log.sPort }</td> - <td> - <c:set var="deviceIds">${log.deviceId }</c:set> - <c:forEach items="${fns:getDictList('DEVICE')}" var="device"> - <c:if test="${device.itemCode eq log.deviceId}"> - <c:set var="deviceIds">${device.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${deviceIds}"/> - </td> - <td> - <c:set var="linkIds">${log.linkId }</c:set> - <c:forEach items="${fns:getDictList('LINK')}" var="link"> - <c:if test="${link.itemCode eq log.linkId}"> - <c:set var="linkIds">${link.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${linkIds}"/> - </td> - <td> - <c:set var="encapTypes">${log.encapType }</c:set> - <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType"> - <c:if test="${encapType.itemCode eq log.encapType}"> - <c:set var="encapTypes">${encapType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${encapTypes}"/> - </td> - <%-- <td> - <c:set var="directions">${log.direction }</c:set> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction"> - <c:if test="${direction.itemCode eq log.direction}"> - <c:set var="directions">${direction.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${directions}"/> - </td> --%> - <td>${log.innerSmac }</td> - <td>${log.innerDmac }</td> - <td> - <c:set var="streamDirs">${log.streamDir }</c:set> - <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType"> - <c:if test="${streamType.itemCode eq log.streamDir}"> - <c:set var="streamDirs">${streamType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${streamDirs}"/> - </td> - - <td>${log.addrList }</td> - <td>${log.serverLocate}</td> - <td>${log.clientLocate}</td> - <td>${log.sAsn}</td> - <td>${log.dAsn}</td> - <td>${log.sSubscribeId}</td> - <td>${log.dSubscribeId}</td> - <td>${log.userRegion}</td> - <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if> - </tr> - </c:forEach> - </tbody> - </table> - <div class="page">${page}</div> - </div> - </div> - </div> - </div> - </div> -</body> -</html> +<%@ page contentType="text/html;charset=UTF-8"%>
+<%@ include file="/WEB-INF/include/taglib.jsp"%>
+<html>
+<head>
+
+<script type="text/javascript">
+$(document).ready(function(){
+ //筛选功能
+ filterActionInit();
+ //reset
+ $("#resetBtn").on("click",function(){
+ $("select.selectpicker").each(function(){
+ $(this).selectpicker('val',$(this).find('option:first').val());
+ $(this).find("option").attr("selected",false);
+ $(this).find("option:first").attr("selected",true);
+ });
+ $(".Wdate").attr("value",'');
+ $(':input','#searchForm')
+ .not(':button,:submit,:reset,:hidden')
+ .attr("value",'');
+ $("#searchForm")[0].reset();
+ });
+
+ //异步获取voip相关信息
+ $("span[id^=open]").click(function(){
+ var openId=$(this).attr("id");
+ var closeId=$(this).attr("id").replace("open","close");
+ var index=$(this).attr("id").replace("open","");
+ $("#"+openId).hide();
+ $("#"+closeId).show();
+ var compileId=$(this).attr("compileId");
+// var cfgId=$(this).attr("cfgId");
+ if($("#"+openId).parent().parent().next("tr").hasClass("child")){
+ $("#"+openId).parent().parent().next("tr").show();
+ }else{
+ $.ajax({
+ type:'post',
+ async:false,
+ url:'${ctx}/ntc/av/ajaxfileSampleList',
+ data:{"compileId":compileId,"index":index},
+ dataType:"html",
+ success:function(data){
+ var subTab="<tr class='child'>"+
+ "<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>";
+ var html="";
+ html+="<div class='row'>";
+ html = html+data;
+ subTab=subTab+html;
+ subTab+="</td>";
+ subTab+="</tr>";
+ $("#"+openId).parent().parent().after(subTab);
+ $("div[name='tabTitle"+index+"']").get(0).click();
+ }
+ });
+ }
+
+ });
+
+ $("span[id^=close]").on("click",function(){
+ var closeId=$(this).attr("id");
+ var openId=$(this).attr("id").replace("close","open");
+ $("#"+closeId).hide();
+ $("#"+openId).show();
+ $("#"+closeId).parent().parent().next("tr").hide();
+ });
+});
+
+</script>
+</head>
+<body>
+
+<div class="page-content">
+ <div class="theme-panel hidden-xs hidden-sm">
+ </div>
+ <h3 class="page-title">
+ <spring:message code="av_sample_video_control"/>
+ </h3>
+
+ <h5 class="page-header"></h5>
+ <div class="col-md-12">
+ <div class="portlet">
+ <div class="portlet-body">
+ <div class="row" >
+ <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/mmSampleVideoLogs" method="post" class="form-search">
+ <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
+ <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+ <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/>
+ <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/>
+ <!-- 筛选按钮展开状态-->
+ <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/>
+
+ <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/>
+
+ <!-- 搜索内容与操作按钮栏 -->
+ <div class="col-md-12">
+ <div class="pull-left">
+ <form:select path="service" class="selectpicker select2 input-small">
+ <form:option value=""><spring:message code="action"/></form:option>
+ <c:forEach items="${serviceList}" var="service"
+ varStatus="satus">
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
+ <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }">
+ <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:if>
+ </c:forEach>
+ </c:forEach>
+ </form:select>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
+ </div>
+ <input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
+ value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="end_date"/></span>
+ </div>
+ <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
+ value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+
+ <div class="pull-left">
+ <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
+ <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
+ <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button>
+ </div>
+
+ <div class="pull-right">
+ <a class="btn btn-icon-only btn-default setfields tooltips"
+ data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
+ <i class="icon-wrench"></i>
+ </a>
+ </div>
+ </div>
+
+ <!-- 筛选搜索内容栏默认隐藏-->
+ <div class="col-md-12 filter-action-select-panle hide" >
+ <div class="row">
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="transport_layer_protocol"/>:</label>
+ <c:set var="select"><spring:message code='select'/></c:set>
+ <form:select path="transProto" class="selectpicker form-control" >
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict">
+ <form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+
+ <%-- <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="direction"/>:</label>
+ <form:select path="direction" class="selectpicker select2 form-control">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="dict">
+ <form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div> --%>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="entrance"/>:</label>
+ <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" >
+ <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clj_ip"/>:</label>
+ <input name="capIp" type="text" class="form-control" value="${log.capIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clientip"/>:</label>
+ <input id="sIp" name="sIp" class="form-control" type="text" value="${log.sIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="serverip"/>:</label>
+ <input id="dIp" name="dIp" class="form-control" type="text" value="${log.dIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <label><spring:message code="cfg_id"></spring:message>:</label>
+ <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/>
+ </div>
+ </div>
+ </div>
+ <!-- /筛选搜索内容栏 结束-->
+ </form:form>
+ </div>
+ <sys:message content="${message}"/>
+ <div class="table-responsive">
+ <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb">
+ <thead>
+ <tr>
+ <th><spring:message code="log"/></th>
+ <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
+ <th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
+ <th class="sort-column found_time"><spring:message code="found_time"/></th>
+ <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
+
+ <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th>
+
+ <th class="sort-column pid" isVisible="false"><spring:message code='pid'/></th>
+ <th class="sort-column url"><spring:message code='access_url'/></th>
+ <th class="sort-column log_uri"><spring:message code='log_uri'/></th>
+ <th class="sort-column referer"><spring:message code='referer'/></th>
+ <th class="sort-column level" isVisible="false"><spring:message code='harm_level'/></th>
+ <th class="sort-column fd_type" isVisible="false"><spring:message code='fd_type'/></th>
+ <th class="sort-column protocol" ><spring:message code='av_protocol'/></th>
+ <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th>
+ <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th>
+ <th class="sort-column addr_type"><spring:message code='addr_type'/></th>
+ <th class="sort-column d_ip"><spring:message code="server_ip"/></th>
+ <th class="sort-column s_ip"><spring:message code="client_ip"/></th>
+ <th class="sort-column d_port"><spring:message code="server_port"/></th>
+ <th class="sort-column s_port"><spring:message code="client_port"/></th>
+ <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th>
+ <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th>
+ <th class="sort-column encap_type"><spring:message code="encap_type"/></th>
+<%-- <th class="sort-column direction"><spring:message code="direction"/></th> --%>
+ <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th>
+ <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th>
+ <th class="sort-column stream_dir"><spring:message code="stream_type"/></th>
+
+ <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
+ <th class="sort-column server_locate"><spring:message code='server_locate'/></th>
+ <th class="sort-column client_locate"><spring:message code='client_locate'/></th>
+ <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
+ <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
+ <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
+ <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
+ <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
+ <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
+ </tr>
+ </thead>
+ <tbody>
+ <c:forEach var="log" items="${page.list }" varStatus="status">
+ <tr>
+ <td>
+<%-- <span id="open${status.index}" class="log-open-cfg" compileId="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span>
+ --%> <a href="javascript:void(0)" name="viewLogInfo" url="${ctx}/ntc/av/ajaxfileSampleList" compileId="${log.cfgId }" ><i class="icon-book-open"></i></a>
+ </td>
+ <td>${log.cfgId }</td>
+ <td>
+ <c:set var="actions">${log.action }</c:set>
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict">
+ <c:if test="${dict.itemCode eq log.action}">
+ <c:set var="actions">${dict.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${actions}"/>
+ </td>
+ <td>${log.foundTime }</td>
+ <td>${log.recvTime }</td>
+
+ <td>
+ <c:set var="entrances">${log.entranceId }</c:set>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
+ <c:if test="${dic.itemCode eq log.entranceId}">
+ <c:set var="entrances">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${entrances}"/>
+ </td>
+
+ <td>${log.pid}</td>
+ <td>
+ <c:if test="${fn:startsWith(log.url, 'http://')}">
+ ${fn:substring(log.url,7,-1)}
+ </c:if>
+ <c:if test="${!fn:startsWith(log.url, 'http://') and !empty log.url}">
+ ${log.url}
+ </c:if>
+ </td>
+ <td>
+ <c:if test="${fn:startsWith(log.logUri, 'http')}">
+ <a href="${log.logUri}" data-original-title="${log.logUri}" target="_blank"
+ class="tooltips" data-flag="false" data-html="true" data-placement="top">
+ ${fn:substring(log.logUri,0,20) }
+ </a>
+ </c:if>
+
+ <c:if test="${!fn:startsWith(log.logUri, 'http') and !empty log.logUri}">
+ <a href="http://${log.logUri}" data-original-title="http://${log.logUri}" target="_blank"
+ class="tooltips" data-flag="false" data-html="true" data-placement="top">
+ http://${fn:substring(log.logUri,0,20) }
+ </a>
+ </c:if>
+ </td>
+ <td>
+ ${log.referer}
+ </td>
+ <td>${log.level}</td>
+ <!--0:动态黑名单FD;1:静态配置FD;2:首次分析命中 -->
+ <td>
+ <c:if test="${log.fdType eq 0 }"><spring:message code="black_block_list"/></c:if>
+ <c:if test="${log.fdType eq 1 }"><spring:message code="static_cfg_block"/></c:if>
+ <c:if test="${log.fdType eq 2 }"><spring:message code="first_hit"/></c:if>
+ </td>
+ <td><c:set var="avProtocol" value="${log.protocol}"></c:set>
+ <c:forEach items="${fns:getDictList('AV_PROTOCOL')}" var="dic">
+ <c:if test="${log.protocol==dic.itemCode}">
+ <c:set var="avProtocol" value="${dic.itemValue }"></c:set>
+ </c:if>
+ </c:forEach>
+ ${avProtocol }</td>
+ <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td>
+
+ <td>
+ <c:set var="transProtos">${log.transProto }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic">
+ <c:if test="${dic.itemCode eq log.transProto}">
+ <c:set var="transProtos">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${transProtos}"/>
+ </td>
+ <td>
+ <c:set var="addrTypes">${log.addrType }</c:set>
+ <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic">
+ <c:if test="${log.addrType==dic.itemCode}">
+ <c:set var="addrTypes">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${addrTypes}"/>
+ </td>
+ <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td>
+ <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td>
+ <td>${log.dPort }</td>
+ <td>${log.sPort }</td>
+ <td>
+ <c:set var="deviceIds">${log.deviceId }</c:set>
+ <c:forEach items="${fns:getDictList('DEVICE')}" var="device">
+ <c:if test="${device.itemCode eq log.deviceId}">
+ <c:set var="deviceIds">${device.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${deviceIds}"/>
+ </td>
+ <td>
+ <c:set var="linkIds">${log.linkId }</c:set>
+ <c:forEach items="${fns:getDictList('LINK')}" var="link">
+ <c:if test="${link.itemCode eq log.linkId}">
+ <c:set var="linkIds">${link.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${linkIds}"/>
+ </td>
+ <td>
+ <c:set var="encapTypes">${log.encapType }</c:set>
+ <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType">
+ <c:if test="${encapType.itemCode eq log.encapType}">
+ <c:set var="encapTypes">${encapType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${encapTypes}"/>
+ </td>
+ <%-- <td>
+ <c:set var="directions">${log.direction }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction">
+ <c:if test="${direction.itemCode eq log.direction}">
+ <c:set var="directions">${direction.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${directions}"/>
+ </td> --%>
+ <td>${log.innerSmac }</td>
+ <td>${log.innerDmac }</td>
+ <td>
+ <c:set var="streamDirs">${log.streamDir }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType">
+ <c:if test="${streamType.itemCode eq log.streamDir}">
+ <c:set var="streamDirs">${streamType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${streamDirs}"/>
+ </td>
+
+ <td>${log.addrList }</td>
+ <td>${log.serverLocate}</td>
+ <td>${log.clientLocate}</td>
+ <td>${log.sAsn}</td>
+ <td>${log.dAsn}</td>
+ <td>${log.sSubscribeId}</td>
+ <td>${log.dSubscribeId}</td>
+ <td>${log.userRegion}</td>
+ <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if>
+ </tr>
+ </c:forEach>
+ </tbody>
+ </table>
+ <div class="page">${page}</div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+</body>
+</html>
diff --git a/src/main/webapp/WEB-INF/views/log/ntc/mmSampleVoipList.jsp b/src/main/webapp/WEB-INF/views/log/ntc/mmSampleVoipList.jsp index d2777a7..0fec691 100644 --- a/src/main/webapp/WEB-INF/views/log/ntc/mmSampleVoipList.jsp +++ b/src/main/webapp/WEB-INF/views/log/ntc/mmSampleVoipList.jsp @@ -1,412 +1,412 @@ -<%@ page contentType="text/html;charset=UTF-8"%> -<%@ include file="/WEB-INF/include/taglib.jsp"%> -<html> -<head> - -<script type="text/javascript"> -$(document).ready(function(){ - //筛选功能 - filterActionInit(); - //reset - $("#resetBtn").on("click",function(){ - $("select.selectpicker").each(function(){ - $(this).selectpicker('val',$(this).find('option:first').val()); - $(this).find("option").attr("selected",false); - $(this).find("option:first").attr("selected",true); - }); - $(".Wdate").attr("value",''); - $(':input','#searchForm') - .not(':button,:submit,:reset,:hidden') - .attr("value",''); - $("#searchForm")[0].reset(); - }); - //异步获取voip相关信息 - $("span[id^=open]").click(function(){ - var openId=$(this).attr("id"); - var closeId=$(this).attr("id").replace("open","close"); - var index=$(this).attr("id").replace("open",""); - $("#"+openId).hide(); - $("#"+closeId).show(); - var compileId=$(this).attr("compileId"); -// var cfgId=$(this).attr("cfgId"); - if($("#"+openId).parent().parent().next("tr").hasClass("child")){ - $("#"+openId).parent().parent().next("tr").show(); - }else{ - $.ajax({ - type:'post', - async:false, - url:'${ctx}/ntc/av/ajaxfileSampleList', - data:{"compileId":compileId,"index":index}, - dataType:"html", - success:function(data){ - var subTab="<tr class='child'>"+ - "<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>"; - var html=""; - html+="<div class='row'>"; - html = html+data; - subTab=subTab+html; - subTab+="</td>"; - subTab+="</tr>"; - $("#"+openId).parent().parent().after(subTab); - $("div[name='tabTitle"+index+"']").get(0).click(); - } - }); - } - - }); - - $("span[id^=close]").on("click",function(){ - var closeId=$(this).attr("id"); - var openId=$(this).attr("id").replace("close","open"); - $("#"+closeId).hide(); - $("#"+openId).show(); - $("#"+closeId).parent().parent().next("tr").hide(); - }); -}); - -</script> -</head> -<body> - -<div class="page-content"> - <div class="theme-panel hidden-xs hidden-sm"> - </div> - <h3 class="page-title"> - <spring:message code="av_sample_voip_control"/> - </h3> - - <h5 class="page-header"></h5> - <div class="col-md-12"> - <div class="portlet"> - <div class="portlet-body"> - <div class="row" > - <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/mmSampleVoipLogs" method="post" class="form-search"> - <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/> - <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/> - <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/> - <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/> - <!-- 筛选按钮展开状态--> - <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/> - - <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/> - - <!-- 搜索内容与操作按钮栏 --> - <div class="col-md-12"> - <div class="pull-left"> - <form:select path="service" class="selectpicker select2 input-small"> - <form:option value=""><spring:message code="action"/></form:option> - <c:forEach items="${serviceList}" var="service" - varStatus="satus"> - <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict"> - <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }"> - <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option> - </c:if> - </c:forEach> - </c:forEach> - </form:select> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="begin_date"/></span> - </div> - <input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" class="form-control input-medium Wdate " - value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="end_date"/></span> - </div> - <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate " - value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - - <div class="pull-left"> - <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button> - <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button> - <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button> - </div> - - <div class="pull-right"> - <a class="btn btn-icon-only btn-default setfields tooltips" - data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;"> - <i class="icon-wrench"></i> - </a> - </div> - </div> - - <!-- 筛选搜索内容栏默认隐藏--> - <div class="col-md-12 filter-action-select-panle hide" > - <div class="row"> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="transport_layer_protocol"/>:</label> - <c:set var="select"><spring:message code='select'/></c:set> - <form:select path="transProto" class="selectpicker form-control" > - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict"> - <form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option> - </c:forEach> - </form:select> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="direction"/>:</label> - <form:select path="direction" class="selectpicker select2 form-control"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="dict"> - <form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option> - </c:forEach> - </form:select> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="entrance"/>:</label> - <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" > - <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option> - </c:forEach> - </form:select> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clj_ip"/>:</label> - <input id="capIp" name="capIp" class="form-control" type="text" value="${log.capIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clientip"/>:</label> - <input id="sIp" name="sIp" class="form-control" type="text" value="${log.sIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="serverip"/>:</label> - <input id="dIp" name="dIp" class="form-control" type="text" value="${log.dIp}"/> - </div> - </div> - <div class="col-md-2"> - <label><spring:message code="cfg_id"></spring:message>:</label> - <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/> - </div> - </div> - </div> - <!-- /筛选搜索内容栏 结束--> - </form:form> - </div> - <sys:message content="${message}"/> - <div class="table-responsive"> - <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb"> - <thead> - <tr> - <th><spring:message code="log"/></th> - <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th> - <th class="sort-column service" isVisible="false"><spring:message code="action"/></th> - <th class="sort-column found_time"><spring:message code="found_time"/></th> - <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th> - <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th> - - <th class="sort-column duation"><spring:message code='duation'/></th> - <th class="sort-column voip_protocol"><spring:message code='voip_protocol'/></th> - <th class="sort-column calling_account"><spring:message code='calling_account'/></th> - <th class="sort-column called_account"><spring:message code='called_account'/></th> - <th class="sort-column calling_number" isVisible="false"><spring:message code='calling_number'/></th> - <th class="sort-column called_number" isVisible="false"><spring:message code='called_number'/></th> - <th><spring:message code='from_to_store_ip'/></th> - <th><spring:message code='from_to_store_url'/></th> - <th><spring:message code='to_from_store_ip'/></th> - <th><spring:message code='to_from_store_url'/></th> - <th class="sort-column pid" isVisible="false"><spring:message code='pid'/></th> - <th class="sort-column log_uri"><spring:message code='log_uri'/></th> - <th class="sort-column level" isVisible="false"><spring:message code='harm_level'/></th> - <th class="sort-column fd_type" isVisible="false"><spring:message code='fd_type'/></th> - <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th> - <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th> - <th class="sort-column addr_type"><spring:message code='addr_type'/></th> - <th class="sort-column d_ip"><spring:message code="server_ip"/></th> - <th class="sort-column s_ip"><spring:message code="client_ip"/></th> - <th class="sort-column d_port"><spring:message code="server_port"/></th> - <th class="sort-column s_port"><spring:message code="client_port"/></th> - <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th> - <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th> - <th class="sort-column encap_type"><spring:message code="encap_type"/></th> - <th class="sort-column direction"><spring:message code="direction"/></th> - <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th> - <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th> - <th class="sort-column stream_dir"><spring:message code="stream_type"/></th> - - <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th> - <th class="sort-column server_locate"><spring:message code='server_locate'/></th> - <th class="sort-column client_locate"><spring:message code='client_locate'/></th> - <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th> - <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th> - <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th> - <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th> - <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th> - <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if> - </tr> - </thead> - <tbody> - <c:forEach var="log" items="${page.list }" varStatus="status"> - <tr> - <td> -<%-- <span id="open${status.index}" class="log-open-cfg" compileId="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span> - --%> <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a> - </td> - <td>${log.cfgId }</td> - <td> - <c:set var="actions">${log.action }</c:set> - <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict"> - <c:if test="${dict.itemCode eq log.action}"> - <c:set var="actions">${dict.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${actions}"/> - </td> - - <td>${log.foundTime }</td> - <td>${log.recvTime }</td> - - <td> - <c:set var="entrances">${log.entranceId }</c:set> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> - <c:if test="${dic.itemCode eq log.entranceId}"> - <c:set var="entrances">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${entrances}"/> - </td> - <td>${log.duation}</td> - <td>${log.voipProtocol}</td> - <td>${log.callingAccount }</td> - <td>${log.calledAccount }</td> - <td>${log.callingNumber}</td> - <td>${log.calledNumber}</td> - <td>${log.fromToStoreIp}</td> - <td>${log.fromToStoreUrl}</td> - <td>${log.toFromStoreIp}</td> - <td>${log.toFromStoreUrl}</td> - <td>${log.pid}</td> - <td> - <c:if test="${fn:startsWith(log.logUri, 'http')}"> - <a href="${log.logUri}" data-original-title="${log.logUri}" target="_blank" - class="tooltips" data-flag="false" data-html="true" data-placement="top"> - ${fn:substring(log.logUri,0,20) } - </a> - </c:if> - - <c:if test="${!fn:startsWith(log.logUri, 'http') and !empty log.logUri}"> - <a href="http://${log.logUri}" data-original-title="http://${log.logUri}" target="_blank" - class="tooltips" data-flag="false" data-html="true" data-placement="top"> - http://${fn:substring(log.logUri,0,20) } - </a> - </c:if> - </td> - <td>${log.level}</td> - <!--0:动态黑名单FD;1:静态配置FD;2:首次分析命中 --> - <td> - <c:if test="${log.fdType eq 0 }"><spring:message code="black_block_list"/></c:if> - <c:if test="${log.fdType eq 1 }"><spring:message code="static_cfg_block"/></c:if> - <c:if test="${log.fdType eq 2 }"><spring:message code="first_hit"/></c:if> - </td> - <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td> - <td> - <c:set var="transProtos">${log.transProto }</c:set> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic"> - <c:if test="${dic.itemCode eq log.transProto}"> - <c:set var="transProtos">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${transProtos}"/> - </td> - <td> - <c:set var="addrTypes">${log.addrType }</c:set> - <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic"> - <c:if test="${log.addrType==dic.itemCode}"> - <c:set var="addrTypes">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${addrTypes}"/> - </td> - <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td> - <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td> - <td>${log.dPort }</td> - <td>${log.sPort }</td> - <td> - <c:set var="deviceIds">${log.deviceId }</c:set> - <c:forEach items="${fns:getDictList('DEVICE')}" var="device"> - <c:if test="${device.itemCode eq log.deviceId}"> - <c:set var="deviceIds">${device.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${deviceIds}"/> - </td> - <td> - <c:set var="linkIds">${log.linkId }</c:set> - <c:forEach items="${fns:getDictList('LINK')}" var="link"> - <c:if test="${link.itemCode eq log.linkId}"> - <c:set var="linkIds">${link.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${linkIds}"/> - </td> - <td> - <c:set var="encapTypes">${log.encapType }</c:set> - <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType"> - <c:if test="${encapType.itemCode eq log.encapType}"> - <c:set var="encapTypes">${encapType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${encapTypes}"/> - </td> - <td> - <c:set var="directions">${log.direction }</c:set> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction"> - <c:if test="${direction.itemCode eq log.direction}"> - <c:set var="directions">${direction.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${directions}"/> - </td> - <td>${log.innerSmac }</td> - <td>${log.innerDmac }</td> - <td> - <c:set var="streamDirs">${log.streamDir }</c:set> - <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType"> - <c:if test="${streamType.itemCode eq log.streamDir}"> - <c:set var="streamDirs">${streamType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${streamDirs}"/> - </td> - - <td>${log.addrList }</td> - <td>${log.serverLocate}</td> - <td>${log.clientLocate}</td> - <td>${log.sAsn}</td> - <td>${log.dAsn}</td> - <td>${log.sSubscribeId}</td> - <td>${log.dSubscribeId}</td> - <td>${log.userRegion}</td> - <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if> - </tr> - </c:forEach> - </tbody> - </table> - <div class="page">${page}</div> - </div> - </div> - </div> - </div> - </div> -</body> -</html> +<%@ page contentType="text/html;charset=UTF-8"%>
+<%@ include file="/WEB-INF/include/taglib.jsp"%>
+<html>
+<head>
+
+<script type="text/javascript">
+$(document).ready(function(){
+ //筛选功能
+ filterActionInit();
+ //reset
+ $("#resetBtn").on("click",function(){
+ $("select.selectpicker").each(function(){
+ $(this).selectpicker('val',$(this).find('option:first').val());
+ $(this).find("option").attr("selected",false);
+ $(this).find("option:first").attr("selected",true);
+ });
+ $(".Wdate").attr("value",'');
+ $(':input','#searchForm')
+ .not(':button,:submit,:reset,:hidden')
+ .attr("value",'');
+ $("#searchForm")[0].reset();
+ });
+ //异步获取voip相关信息
+ $("span[id^=open]").click(function(){
+ var openId=$(this).attr("id");
+ var closeId=$(this).attr("id").replace("open","close");
+ var index=$(this).attr("id").replace("open","");
+ $("#"+openId).hide();
+ $("#"+closeId).show();
+ var compileId=$(this).attr("compileId");
+// var cfgId=$(this).attr("cfgId");
+ if($("#"+openId).parent().parent().next("tr").hasClass("child")){
+ $("#"+openId).parent().parent().next("tr").show();
+ }else{
+ $.ajax({
+ type:'post',
+ async:false,
+ url:'${ctx}/ntc/av/ajaxfileSampleList',
+ data:{"compileId":compileId,"index":index},
+ dataType:"html",
+ success:function(data){
+ var subTab="<tr class='child'>"+
+ "<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>";
+ var html="";
+ html+="<div class='row'>";
+ html = html+data;
+ subTab=subTab+html;
+ subTab+="</td>";
+ subTab+="</tr>";
+ $("#"+openId).parent().parent().after(subTab);
+ $("div[name='tabTitle"+index+"']").get(0).click();
+ }
+ });
+ }
+
+ });
+
+ $("span[id^=close]").on("click",function(){
+ var closeId=$(this).attr("id");
+ var openId=$(this).attr("id").replace("close","open");
+ $("#"+closeId).hide();
+ $("#"+openId).show();
+ $("#"+closeId).parent().parent().next("tr").hide();
+ });
+});
+
+</script>
+</head>
+<body>
+
+<div class="page-content">
+ <div class="theme-panel hidden-xs hidden-sm">
+ </div>
+ <h3 class="page-title">
+ <spring:message code="av_sample_voip_control"/>
+ </h3>
+
+ <h5 class="page-header"></h5>
+ <div class="col-md-12">
+ <div class="portlet">
+ <div class="portlet-body">
+ <div class="row" >
+ <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/mmSampleVoipLogs" method="post" class="form-search">
+ <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
+ <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+ <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/>
+ <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/>
+ <!-- 筛选按钮展开状态-->
+ <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/>
+
+ <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/>
+
+ <!-- 搜索内容与操作按钮栏 -->
+ <div class="col-md-12">
+ <div class="pull-left">
+ <form:select path="service" class="selectpicker select2 input-small">
+ <form:option value=""><spring:message code="action"/></form:option>
+ <c:forEach items="${serviceList}" var="service"
+ varStatus="satus">
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
+ <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }">
+ <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:if>
+ </c:forEach>
+ </c:forEach>
+ </form:select>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
+ </div>
+ <input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
+ value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="end_date"/></span>
+ </div>
+ <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
+ value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+
+ <div class="pull-left">
+ <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
+ <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
+ <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button>
+ </div>
+
+ <div class="pull-right">
+ <a class="btn btn-icon-only btn-default setfields tooltips"
+ data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
+ <i class="icon-wrench"></i>
+ </a>
+ </div>
+ </div>
+
+ <!-- 筛选搜索内容栏默认隐藏-->
+ <div class="col-md-12 filter-action-select-panle hide" >
+ <div class="row">
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="transport_layer_protocol"/>:</label>
+ <c:set var="select"><spring:message code='select'/></c:set>
+ <form:select path="transProto" class="selectpicker form-control" >
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict">
+ <form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="direction"/>:</label>
+ <form:select path="direction" class="selectpicker select2 form-control">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="dict">
+ <form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="entrance"/>:</label>
+ <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" >
+ <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clj_ip"/>:</label>
+ <input id="capIp" name="capIp" class="form-control" type="text" value="${log.capIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clientip"/>:</label>
+ <input id="sIp" name="sIp" class="form-control" type="text" value="${log.sIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="serverip"/>:</label>
+ <input id="dIp" name="dIp" class="form-control" type="text" value="${log.dIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <label><spring:message code="cfg_id"></spring:message>:</label>
+ <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/>
+ </div>
+ </div>
+ </div>
+ <!-- /筛选搜索内容栏 结束-->
+ </form:form>
+ </div>
+ <sys:message content="${message}"/>
+ <div class="table-responsive">
+ <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb">
+ <thead>
+ <tr>
+ <th><spring:message code="log"/></th>
+ <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
+ <th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
+ <th class="sort-column found_time"><spring:message code="found_time"/></th>
+ <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
+ <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th>
+
+ <th class="sort-column duation"><spring:message code='duation'/></th>
+ <th class="sort-column voip_protocol"><spring:message code='voip_protocol'/></th>
+ <th class="sort-column calling_account"><spring:message code='calling_account'/></th>
+ <th class="sort-column called_account"><spring:message code='called_account'/></th>
+ <th class="sort-column calling_number" isVisible="false"><spring:message code='calling_number'/></th>
+ <th class="sort-column called_number" isVisible="false"><spring:message code='called_number'/></th>
+ <th><spring:message code='from_to_store_ip'/></th>
+ <th><spring:message code='from_to_store_url'/></th>
+ <th><spring:message code='to_from_store_ip'/></th>
+ <th><spring:message code='to_from_store_url'/></th>
+ <th class="sort-column pid" isVisible="false"><spring:message code='pid'/></th>
+ <th class="sort-column log_uri"><spring:message code='log_uri'/></th>
+ <th class="sort-column level" isVisible="false"><spring:message code='harm_level'/></th>
+ <th class="sort-column fd_type" isVisible="false"><spring:message code='fd_type'/></th>
+ <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th>
+ <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th>
+ <th class="sort-column addr_type"><spring:message code='addr_type'/></th>
+ <th class="sort-column d_ip"><spring:message code="server_ip"/></th>
+ <th class="sort-column s_ip"><spring:message code="client_ip"/></th>
+ <th class="sort-column d_port"><spring:message code="server_port"/></th>
+ <th class="sort-column s_port"><spring:message code="client_port"/></th>
+ <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th>
+ <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th>
+ <th class="sort-column encap_type"><spring:message code="encap_type"/></th>
+ <th class="sort-column direction"><spring:message code="direction"/></th>
+ <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th>
+ <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th>
+ <th class="sort-column stream_dir"><spring:message code="stream_type"/></th>
+
+ <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
+ <th class="sort-column server_locate"><spring:message code='server_locate'/></th>
+ <th class="sort-column client_locate"><spring:message code='client_locate'/></th>
+ <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
+ <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
+ <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
+ <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
+ <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
+ <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
+ </tr>
+ </thead>
+ <tbody>
+ <c:forEach var="log" items="${page.list }" varStatus="status">
+ <tr>
+ <td>
+<%-- <span id="open${status.index}" class="log-open-cfg" compileId="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span>
+ --%> <a href="javascript:void(0)" name="viewLogInfo" url="${ctx}/ntc/av/ajaxfileSampleList" compileId="${log.cfgId }" ><i class="icon-book-open"></i></a>
+ </td>
+ <td>${log.cfgId }</td>
+ <td>
+ <c:set var="actions">${log.action }</c:set>
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict">
+ <c:if test="${dict.itemCode eq log.action}">
+ <c:set var="actions">${dict.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${actions}"/>
+ </td>
+
+ <td>${log.foundTime }</td>
+ <td>${log.recvTime }</td>
+
+ <td>
+ <c:set var="entrances">${log.entranceId }</c:set>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
+ <c:if test="${dic.itemCode eq log.entranceId}">
+ <c:set var="entrances">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${entrances}"/>
+ </td>
+ <td>${log.duation}</td>
+ <td>${log.voipProtocol}</td>
+ <td>${log.callingAccount }</td>
+ <td>${log.calledAccount }</td>
+ <td>${log.callingNumber}</td>
+ <td>${log.calledNumber}</td>
+ <td>${log.fromToStoreIp}</td>
+ <td>${log.fromToStoreUrl}</td>
+ <td>${log.toFromStoreIp}</td>
+ <td>${log.toFromStoreUrl}</td>
+ <td>${log.pid}</td>
+ <td>
+ <c:if test="${fn:startsWith(log.logUri, 'http')}">
+ <a href="${log.logUri}" data-original-title="${log.logUri}" target="_blank"
+ class="tooltips" data-flag="false" data-html="true" data-placement="top">
+ ${fn:substring(log.logUri,0,20) }
+ </a>
+ </c:if>
+
+ <c:if test="${!fn:startsWith(log.logUri, 'http') and !empty log.logUri}">
+ <a href="http://${log.logUri}" data-original-title="http://${log.logUri}" target="_blank"
+ class="tooltips" data-flag="false" data-html="true" data-placement="top">
+ http://${fn:substring(log.logUri,0,20) }
+ </a>
+ </c:if>
+ </td>
+ <td>${log.level}</td>
+ <!--0:动态黑名单FD;1:静态配置FD;2:首次分析命中 -->
+ <td>
+ <c:if test="${log.fdType eq 0 }"><spring:message code="black_block_list"/></c:if>
+ <c:if test="${log.fdType eq 1 }"><spring:message code="static_cfg_block"/></c:if>
+ <c:if test="${log.fdType eq 2 }"><spring:message code="first_hit"/></c:if>
+ </td>
+ <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td>
+ <td>
+ <c:set var="transProtos">${log.transProto }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic">
+ <c:if test="${dic.itemCode eq log.transProto}">
+ <c:set var="transProtos">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${transProtos}"/>
+ </td>
+ <td>
+ <c:set var="addrTypes">${log.addrType }</c:set>
+ <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic">
+ <c:if test="${log.addrType==dic.itemCode}">
+ <c:set var="addrTypes">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${addrTypes}"/>
+ </td>
+ <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td>
+ <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td>
+ <td>${log.dPort }</td>
+ <td>${log.sPort }</td>
+ <td>
+ <c:set var="deviceIds">${log.deviceId }</c:set>
+ <c:forEach items="${fns:getDictList('DEVICE')}" var="device">
+ <c:if test="${device.itemCode eq log.deviceId}">
+ <c:set var="deviceIds">${device.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${deviceIds}"/>
+ </td>
+ <td>
+ <c:set var="linkIds">${log.linkId }</c:set>
+ <c:forEach items="${fns:getDictList('LINK')}" var="link">
+ <c:if test="${link.itemCode eq log.linkId}">
+ <c:set var="linkIds">${link.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${linkIds}"/>
+ </td>
+ <td>
+ <c:set var="encapTypes">${log.encapType }</c:set>
+ <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType">
+ <c:if test="${encapType.itemCode eq log.encapType}">
+ <c:set var="encapTypes">${encapType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${encapTypes}"/>
+ </td>
+ <td>
+ <c:set var="directions">${log.direction }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction">
+ <c:if test="${direction.itemCode eq log.direction}">
+ <c:set var="directions">${direction.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${directions}"/>
+ </td>
+ <td>${log.innerSmac }</td>
+ <td>${log.innerDmac }</td>
+ <td>
+ <c:set var="streamDirs">${log.streamDir }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType">
+ <c:if test="${streamType.itemCode eq log.streamDir}">
+ <c:set var="streamDirs">${streamType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${streamDirs}"/>
+ </td>
+
+ <td>${log.addrList }</td>
+ <td>${log.serverLocate}</td>
+ <td>${log.clientLocate}</td>
+ <td>${log.sAsn}</td>
+ <td>${log.dAsn}</td>
+ <td>${log.sSubscribeId}</td>
+ <td>${log.dSubscribeId}</td>
+ <td>${log.userRegion}</td>
+ <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if>
+ </tr>
+ </c:forEach>
+ </tbody>
+ </table>
+ <div class="page">${page}</div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+</body>
+</html>
diff --git a/src/main/webapp/WEB-INF/views/log/ntc/mmVoipAccountList.jsp b/src/main/webapp/WEB-INF/views/log/ntc/mmVoipAccountList.jsp index 8210989..9c4a4d8 100644 --- a/src/main/webapp/WEB-INF/views/log/ntc/mmVoipAccountList.jsp +++ b/src/main/webapp/WEB-INF/views/log/ntc/mmVoipAccountList.jsp @@ -1,366 +1,366 @@ -<%@ page contentType="text/html;charset=UTF-8"%> -<%@ include file="/WEB-INF/include/taglib.jsp"%> -<html> -<head> - -<script type="text/javascript"> -$(document).ready(function(){ - //筛选功能 - filterActionInit(); - //reset - $("#resetBtn").on("click",function(){ - $("select.selectpicker").each(function(){ - $(this).selectpicker('val',$(this).find('option:first').val()); - $(this).find("option").attr("selected",false); - $(this).find("option:first").attr("selected",true); - }); - $(".Wdate").attr("value",''); - $(':input','#searchForm') - .not(':button,:submit,:reset,:hidden') - .attr("value",''); - $("#searchForm")[0].reset(); - }); - -}); - -</script> -</head> -<body> - -<div class="page-content"> - <div class="theme-panel hidden-xs hidden-sm"> - </div> - <h3 class="page-title"> - <spring:message code="av_voip_account_control"/> - </h3> - - <h5 class="page-header"></h5> - <div class="col-md-12"> - <div class="portlet"> - <div class="portlet-body"> - <div class="row" > - <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/mmAvVoipAccountLogs" method="post" class="form-search"> - <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/> - <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/> - <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/> - <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/> - <!-- 筛选按钮展开状态--> - <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/> - - <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/> - - <!-- 搜索内容与操作按钮栏 --> - <div class="col-md-12"> - <div class="pull-left"> - <form:select path="service" class="selectpicker select2 input-small"> - <form:option value=""><spring:message code="action"/></form:option> - <c:forEach items="${serviceList}" var="service" - varStatus="satus"> - <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict"> - <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }"> - <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option> - </c:if> - </c:forEach> - </c:forEach> - </form:select> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="begin_date"/></span> - </div> - <input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" class="form-control input-medium Wdate " - value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="end_date"/></span> - </div> - <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate " - value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - - <div class="pull-left"> - <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button> - <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button> - <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button> - </div> - - <div class="pull-right"> - <a class="btn btn-icon-only btn-default setfields tooltips" - data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;"> - <i class="icon-wrench"></i> - </a> - </div> - </div> - - <!-- 筛选搜索内容栏默认隐藏--> - <div class="col-md-12 filter-action-select-panle hide" > - <div class="row"> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="transport_layer_protocol"/>:</label> - <c:set var="select"><spring:message code='select'/></c:set> - <form:select path="transProto" class="selectpicker form-control" > - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict"> - <form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option> - </c:forEach> - </form:select> - </div> - </div> - - <%-- <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="direction"/>:</label> - <form:select path="direction" class="selectpicker select2 form-control"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="dict"> - <form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option> - </c:forEach> - </form:select> - </div> - </div> --%> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="entrance"/>:</label> - <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" > - <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option> - </c:forEach> - </form:select> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clj_ip"/>:</label> - <input name="capIp" type="text" class="form-control" value="${log.capIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clientip"/>:</label> - <input id="sIp" name="sIp" class="form-control" type="text" value="${log.sIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="serverip"/>:</label> - <input id="dIp" name="dIp" class="form-control" type="text" value="${log.dIp}"/> - </div> - </div> - <div class="col-md-2"> - <label><spring:message code="cfg_id"></spring:message>:</label> - <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/> - </div> - </div> - </div> - <!-- /筛选搜索内容栏 结束--> - </form:form> - </div> - <sys:message content="${message}"/> - <div class="table-responsive"> - <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb"> - <thead> - <tr> - <th><spring:message code="log"/></th> - <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th> - <th class="sort-column service" isVisible="false"><spring:message code="action"/></th> - <th class="sort-column found_time"><spring:message code="found_time"/></th> - <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th> - - <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th> - - <th class="sort-column duation"><spring:message code='duation'/></th> - <th class="sort-column voip_protocol"><spring:message code='voip_protocol'/></th> - <th class="sort-column calling_account"><spring:message code='calling_account'/></th> - <th class="sort-column called_account"><spring:message code='called_account'/></th> - <th class="sort-column calling_number" isVisible="false"><spring:message code='calling_number'/></th> - <th class="sort-column called_number" isVisible="false"><spring:message code='called_number'/></th> - <th><spring:message code='from_to_store_ip'/></th> - <th><spring:message code='from_to_store_url'/></th> - <th><spring:message code='to_from_store_ip'/></th> - <th><spring:message code='to_from_store_url'/></th> - <th class="sort-column pid" isVisible="false"><spring:message code='pid'/></th> - <th class="sort-column log_uri"><spring:message code='log_uri'/></th> - <th class="sort-column level" isVisible="false"><spring:message code='harm_level'/></th> - <th class="sort-column fd_type" isVisible="false"><spring:message code='fd_type'/></th> - <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th> - <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th> - <th class="sort-column addr_type"><spring:message code='addr_type'/></th> - <th class="sort-column d_ip"><spring:message code="server_ip"/></th> - <th class="sort-column s_ip"><spring:message code="client_ip"/></th> - <th class="sort-column d_port"><spring:message code="server_port"/></th> - <th class="sort-column s_port"><spring:message code="client_port"/></th> - <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th> - <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th> - <th class="sort-column encap_type"><spring:message code="encap_type"/></th> -<%-- <th class="sort-column direction"><spring:message code="direction"/></th> --%> - <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th> - <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th> - <th class="sort-column stream_dir"><spring:message code="stream_type"/></th> - - <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th> - <th class="sort-column server_locate"><spring:message code='server_locate'/></th> - <th class="sort-column client_locate"><spring:message code='client_locate'/></th> - <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th> - <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th> - <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th> - <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th> - <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th> - <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if> - </tr> - </thead> - <tbody> - <c:forEach var="log" items="${page.list }" varStatus="status"> - <tr> - <td> - <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a> - </td> - <td>${log.cfgId }</td> - <td> - <c:set var="actions">${log.action }</c:set> - <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict"> - <c:if test="${dict.itemCode eq log.action}"> - <c:set var="actions">${dict.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${actions}"/> - </td> - <td>${log.foundTime }</td> - <td>${log.recvTime }</td> - - <td> - <c:set var="entrances">${log.entranceId }</c:set> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> - <c:if test="${dic.itemCode eq log.entranceId}"> - <c:set var="entrances">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${entrances}"/> - </td> - <td>${log.duation}</td> - <td>${log.voipProtocol}</td> - <td>${log.callingAccount }</td> - <td>${log.calledAccount }</td> - <td>${log.callingNumber}</td> - <td>${log.calledNumber}</td> - <td>${log.fromToStoreIp}</td> - <td>${log.fromToStoreUrl}</td> - <td>${log.toFromStoreIp}</td> - <td>${log.toFromStoreUrl}</td> - <td>${log.pid}</td> - <td> - <c:if test="${fn:startsWith(log.logUri, 'http')}"> - <a href="${log.logUri}" data-original-title="${log.logUri}" target="_blank" - class="tooltips" data-flag="false" data-html="true" data-placement="top"> - ${fn:substring(log.logUri,0,20) } - </a> - </c:if> - - <c:if test="${!fn:startsWith(log.logUri, 'http') and !empty log.logUri}"> - <a href="http://${log.logUri}" data-original-title="http://${log.logUri}" target="_blank" - class="tooltips" data-flag="false" data-html="true" data-placement="top"> - http://${fn:substring(log.logUri,0,20) } - </a> - </c:if> - </td> - <td>${log.level}</td> - <!--0:动态黑名单FD;1:静态配置FD;2:首次分析命中 --> - <td> - <c:if test="${log.fdType eq 0 }"><spring:message code="black_block_list"/></c:if> - <c:if test="${log.fdType eq 1 }"><spring:message code="static_cfg_block"/></c:if> - <c:if test="${log.fdType eq 2 }"><spring:message code="first_hit"/></c:if> - </td> - <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td> - <td> - <c:set var="transProtos">${log.transProto }</c:set> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic"> - <c:if test="${dic.itemCode eq log.transProto}"> - <c:set var="transProtos">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${transProtos}"/> - </td> - <td> - <c:set var="addrTypes">${log.addrType }</c:set> - <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic"> - <c:if test="${log.addrType==dic.itemCode}"> - <c:set var="addrTypes">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${addrTypes}"/> - </td> - <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td> - <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td> - <td>${log.dPort }</td> - <td>${log.sPort }</td> - <td> - <c:set var="deviceIds">${log.deviceId }</c:set> - <c:forEach items="${fns:getDictList('DEVICE')}" var="device"> - <c:if test="${device.itemCode eq log.deviceId}"> - <c:set var="deviceIds">${device.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${deviceIds}"/> - </td> - <td> - <c:set var="linkIds">${log.linkId }</c:set> - <c:forEach items="${fns:getDictList('LINK')}" var="link"> - <c:if test="${link.itemCode eq log.linkId}"> - <c:set var="linkIds">${link.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${linkIds}"/> - </td> - <td> - <c:set var="encapTypes">${log.encapType }</c:set> - <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType"> - <c:if test="${encapType.itemCode eq log.encapType}"> - <c:set var="encapTypes">${encapType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${encapTypes}"/> - </td> - <%-- <td> - <c:set var="directions">${log.direction }</c:set> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction"> - <c:if test="${direction.itemCode eq log.direction}"> - <c:set var="directions">${direction.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${directions}"/> - </td> --%> - <td>${log.innerSmac }</td> - <td>${log.innerDmac }</td> - <td> - <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType"> - <c:if test="${streamType.itemCode eq log.streamDir}">${streamType.itemValue}</c:if> - </c:forEach> - </td> - - <td>${log.addrList }</td> - <td>${log.serverLocate}</td> - <td>${log.clientLocate}</td> - <td>${log.sAsn}</td> - <td>${log.dAsn}</td> - <td>${log.sSubscribeId}</td> - <td>${log.dSubscribeId}</td> - <td>${log.userRegion}</td> - <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if> - </tr> - </c:forEach> - </tbody> - </table> - <div class="page">${page}</div> - </div> - </div> - </div> - </div> - </div> -</body> -</html> +<%@ page contentType="text/html;charset=UTF-8"%>
+<%@ include file="/WEB-INF/include/taglib.jsp"%>
+<html>
+<head>
+
+<script type="text/javascript">
+$(document).ready(function(){
+ //筛选功能
+ filterActionInit();
+ //reset
+ $("#resetBtn").on("click",function(){
+ $("select.selectpicker").each(function(){
+ $(this).selectpicker('val',$(this).find('option:first').val());
+ $(this).find("option").attr("selected",false);
+ $(this).find("option:first").attr("selected",true);
+ });
+ $(".Wdate").attr("value",'');
+ $(':input','#searchForm')
+ .not(':button,:submit,:reset,:hidden')
+ .attr("value",'');
+ $("#searchForm")[0].reset();
+ });
+
+});
+
+</script>
+</head>
+<body>
+
+<div class="page-content">
+ <div class="theme-panel hidden-xs hidden-sm">
+ </div>
+ <h3 class="page-title">
+ <spring:message code="av_voip_account_control"/>
+ </h3>
+
+ <h5 class="page-header"></h5>
+ <div class="col-md-12">
+ <div class="portlet">
+ <div class="portlet-body">
+ <div class="row" >
+ <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/mmAvVoipAccountLogs" method="post" class="form-search">
+ <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
+ <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+ <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/>
+ <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/>
+ <!-- 筛选按钮展开状态-->
+ <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/>
+
+ <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/>
+
+ <!-- 搜索内容与操作按钮栏 -->
+ <div class="col-md-12">
+ <div class="pull-left">
+ <form:select path="service" class="selectpicker select2 input-small">
+ <form:option value=""><spring:message code="action"/></form:option>
+ <c:forEach items="${serviceList}" var="service"
+ varStatus="satus">
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
+ <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }">
+ <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:if>
+ </c:forEach>
+ </c:forEach>
+ </form:select>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
+ </div>
+ <input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
+ value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="end_date"/></span>
+ </div>
+ <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
+ value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+
+ <div class="pull-left">
+ <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
+ <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
+ <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button>
+ </div>
+
+ <div class="pull-right">
+ <a class="btn btn-icon-only btn-default setfields tooltips"
+ data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
+ <i class="icon-wrench"></i>
+ </a>
+ </div>
+ </div>
+
+ <!-- 筛选搜索内容栏默认隐藏-->
+ <div class="col-md-12 filter-action-select-panle hide" >
+ <div class="row">
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="transport_layer_protocol"/>:</label>
+ <c:set var="select"><spring:message code='select'/></c:set>
+ <form:select path="transProto" class="selectpicker form-control" >
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict">
+ <form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+
+ <%-- <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="direction"/>:</label>
+ <form:select path="direction" class="selectpicker select2 form-control">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="dict">
+ <form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div> --%>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="entrance"/>:</label>
+ <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" >
+ <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clj_ip"/>:</label>
+ <input name="capIp" type="text" class="form-control" value="${log.capIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clientip"/>:</label>
+ <input id="sIp" name="sIp" class="form-control" type="text" value="${log.sIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="serverip"/>:</label>
+ <input id="dIp" name="dIp" class="form-control" type="text" value="${log.dIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <label><spring:message code="cfg_id"></spring:message>:</label>
+ <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/>
+ </div>
+ </div>
+ </div>
+ <!-- /筛选搜索内容栏 结束-->
+ </form:form>
+ </div>
+ <sys:message content="${message}"/>
+ <div class="table-responsive">
+ <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb">
+ <thead>
+ <tr>
+ <th><spring:message code="log"/></th>
+ <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
+ <th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
+ <th class="sort-column found_time"><spring:message code="found_time"/></th>
+ <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
+
+ <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th>
+
+ <th class="sort-column duation"><spring:message code='duation'/></th>
+ <th class="sort-column voip_protocol"><spring:message code='voip_protocol'/></th>
+ <th class="sort-column calling_account"><spring:message code='calling_account'/></th>
+ <th class="sort-column called_account"><spring:message code='called_account'/></th>
+ <th class="sort-column calling_number" isVisible="false"><spring:message code='calling_number'/></th>
+ <th class="sort-column called_number" isVisible="false"><spring:message code='called_number'/></th>
+ <th><spring:message code='from_to_store_ip'/></th>
+ <th><spring:message code='from_to_store_url'/></th>
+ <th><spring:message code='to_from_store_ip'/></th>
+ <th><spring:message code='to_from_store_url'/></th>
+ <th class="sort-column pid" isVisible="false"><spring:message code='pid'/></th>
+ <th class="sort-column log_uri"><spring:message code='log_uri'/></th>
+ <th class="sort-column level" isVisible="false"><spring:message code='harm_level'/></th>
+ <th class="sort-column fd_type" isVisible="false"><spring:message code='fd_type'/></th>
+ <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th>
+ <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th>
+ <th class="sort-column addr_type"><spring:message code='addr_type'/></th>
+ <th class="sort-column d_ip"><spring:message code="server_ip"/></th>
+ <th class="sort-column s_ip"><spring:message code="client_ip"/></th>
+ <th class="sort-column d_port"><spring:message code="server_port"/></th>
+ <th class="sort-column s_port"><spring:message code="client_port"/></th>
+ <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th>
+ <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th>
+ <th class="sort-column encap_type"><spring:message code="encap_type"/></th>
+<%-- <th class="sort-column direction"><spring:message code="direction"/></th> --%>
+ <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th>
+ <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th>
+ <th class="sort-column stream_dir"><spring:message code="stream_type"/></th>
+
+ <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
+ <th class="sort-column server_locate"><spring:message code='server_locate'/></th>
+ <th class="sort-column client_locate"><spring:message code='client_locate'/></th>
+ <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
+ <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
+ <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
+ <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
+ <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
+ <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
+ </tr>
+ </thead>
+ <tbody>
+ <c:forEach var="log" items="${page.list }" varStatus="status">
+ <tr>
+ <td>
+ <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a>
+ </td>
+ <td>${log.cfgId }</td>
+ <td>
+ <c:set var="actions">${log.action }</c:set>
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict">
+ <c:if test="${dict.itemCode eq log.action}">
+ <c:set var="actions">${dict.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${actions}"/>
+ </td>
+ <td>${log.foundTime }</td>
+ <td>${log.recvTime }</td>
+
+ <td>
+ <c:set var="entrances">${log.entranceId }</c:set>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
+ <c:if test="${dic.itemCode eq log.entranceId}">
+ <c:set var="entrances">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${entrances}"/>
+ </td>
+ <td>${log.duation}</td>
+ <td>${log.voipProtocol}</td>
+ <td>${log.callingAccount }</td>
+ <td>${log.calledAccount }</td>
+ <td>${log.callingNumber}</td>
+ <td>${log.calledNumber}</td>
+ <td>${log.fromToStoreIp}</td>
+ <td>${log.fromToStoreUrl}</td>
+ <td>${log.toFromStoreIp}</td>
+ <td>${log.toFromStoreUrl}</td>
+ <td>${log.pid}</td>
+ <td>
+ <c:if test="${fn:startsWith(log.logUri, 'http')}">
+ <a href="${log.logUri}" data-original-title="${log.logUri}" target="_blank"
+ class="tooltips" data-flag="false" data-html="true" data-placement="top">
+ ${fn:substring(log.logUri,0,20) }
+ </a>
+ </c:if>
+
+ <c:if test="${!fn:startsWith(log.logUri, 'http') and !empty log.logUri}">
+ <a href="http://${log.logUri}" data-original-title="http://${log.logUri}" target="_blank"
+ class="tooltips" data-flag="false" data-html="true" data-placement="top">
+ http://${fn:substring(log.logUri,0,20) }
+ </a>
+ </c:if>
+ </td>
+ <td>${log.level}</td>
+ <!--0:动态黑名单FD;1:静态配置FD;2:首次分析命中 -->
+ <td>
+ <c:if test="${log.fdType eq 0 }"><spring:message code="black_block_list"/></c:if>
+ <c:if test="${log.fdType eq 1 }"><spring:message code="static_cfg_block"/></c:if>
+ <c:if test="${log.fdType eq 2 }"><spring:message code="first_hit"/></c:if>
+ </td>
+ <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td>
+ <td>
+ <c:set var="transProtos">${log.transProto }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic">
+ <c:if test="${dic.itemCode eq log.transProto}">
+ <c:set var="transProtos">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${transProtos}"/>
+ </td>
+ <td>
+ <c:set var="addrTypes">${log.addrType }</c:set>
+ <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic">
+ <c:if test="${log.addrType==dic.itemCode}">
+ <c:set var="addrTypes">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${addrTypes}"/>
+ </td>
+ <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td>
+ <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td>
+ <td>${log.dPort }</td>
+ <td>${log.sPort }</td>
+ <td>
+ <c:set var="deviceIds">${log.deviceId }</c:set>
+ <c:forEach items="${fns:getDictList('DEVICE')}" var="device">
+ <c:if test="${device.itemCode eq log.deviceId}">
+ <c:set var="deviceIds">${device.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${deviceIds}"/>
+ </td>
+ <td>
+ <c:set var="linkIds">${log.linkId }</c:set>
+ <c:forEach items="${fns:getDictList('LINK')}" var="link">
+ <c:if test="${link.itemCode eq log.linkId}">
+ <c:set var="linkIds">${link.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${linkIds}"/>
+ </td>
+ <td>
+ <c:set var="encapTypes">${log.encapType }</c:set>
+ <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType">
+ <c:if test="${encapType.itemCode eq log.encapType}">
+ <c:set var="encapTypes">${encapType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${encapTypes}"/>
+ </td>
+ <%-- <td>
+ <c:set var="directions">${log.direction }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction">
+ <c:if test="${direction.itemCode eq log.direction}">
+ <c:set var="directions">${direction.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${directions}"/>
+ </td> --%>
+ <td>${log.innerSmac }</td>
+ <td>${log.innerDmac }</td>
+ <td>
+ <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType">
+ <c:if test="${streamType.itemCode eq log.streamDir}">${streamType.itemValue}</c:if>
+ </c:forEach>
+ </td>
+
+ <td>${log.addrList }</td>
+ <td>${log.serverLocate}</td>
+ <td>${log.clientLocate}</td>
+ <td>${log.sAsn}</td>
+ <td>${log.dAsn}</td>
+ <td>${log.sSubscribeId}</td>
+ <td>${log.dSubscribeId}</td>
+ <td>${log.userRegion}</td>
+ <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if>
+ </tr>
+ </c:forEach>
+ </tbody>
+ </table>
+ <div class="page">${page}</div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+</body>
+</html>
diff --git a/src/main/webapp/WEB-INF/views/log/ntc/mmVoipIpList.jsp b/src/main/webapp/WEB-INF/views/log/ntc/mmVoipIpList.jsp index f85fbaf..07bdc81 100644 --- a/src/main/webapp/WEB-INF/views/log/ntc/mmVoipIpList.jsp +++ b/src/main/webapp/WEB-INF/views/log/ntc/mmVoipIpList.jsp @@ -217,16 +217,16 @@ $(document).ready(function(){ <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th> - <%-- <th class="sort-column duation"><spring:message code='duation'/></th> --%> + <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column duation"><spring:message code='duation'/></th></c:if> <th class="sort-column voip_protocol"><spring:message code='voip_protocol'/></th> <th class="sort-column calling_account"><spring:message code='calling_account'/></th> <th class="sort-column called_account"><spring:message code='called_account'/></th> <th class="sort-column calling_number" isVisible="false"><spring:message code='calling_number'/></th> <th class="sort-column called_number" isVisible="false"><spring:message code='called_number'/></th> - <%-- <th><spring:message code='from_to_store_ip'/></th> + <c:if test="${fns:getUser().isAdmin()}"><th><spring:message code='from_to_store_ip'/></th> <th><spring:message code='from_to_store_url'/></th> <th><spring:message code='to_from_store_ip'/></th> - <th><spring:message code='to_from_store_url'/></th> --%> + <th><spring:message code='to_from_store_url'/></th></c:if> <th class="sort-column pid" isVisible="false"><spring:message code='pid'/></th> <%-- <th class="sort-column log_uri"><spring:message code='log_uri'/></th> --%> <th class="sort-column level" isVisible="false"><spring:message code='harm_level'/></th> @@ -242,7 +242,7 @@ $(document).ready(function(){ <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th> <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th> <th class="sort-column encap_type"><spring:message code="encap_type"/></th> -<%-- <th class="sort-column direction"><spring:message code="direction"/></th> --%> + <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column direction"><spring:message code="direction"/></th></c:if> <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th> <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th> <th class="sort-column stream_dir"><spring:message code="stream_type"/></th> @@ -263,7 +263,7 @@ $(document).ready(function(){ <tr> <td> <%-- <span id="open${status.index}" class="log-open-cfg" compileId="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span> - --%> <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a> + --%> <a href="javascript:void(0)" name="viewLogInfo" url="${ctx}/ntc/av/ajaxVoipIpInfo" compileId="${log.cfgId }" ><i class="icon-book-open"></i></a> </td> <td>${log.cfgId }</td> <td> @@ -287,18 +287,18 @@ $(document).ready(function(){ </c:forEach> <spring:message code="${entrances}"/> </td> - <%-- <td>${log.duation}</td> --%> + <c:if test="${fns:getUser().isAdmin()}"><td>${log.duation}</td></c:if> <td>${log.voipProtocol}</td> <td>${log.callingAccount }</td> <td>${log.calledAccount }</td> <td>${log.callingNumber}</td> <td>${log.calledNumber}</td> - <%-- <td>${log.fromToStoreIp}</td> + <c:if test="${fns:getUser().isAdmin()}"><td>${log.fromToStoreIp}</td> <td>${log.fromToStoreUrl}</td> <td>${log.toFromStoreIp}</td> - <td>${log.toFromStoreUrl}</td> --%> + <td>${log.toFromStoreUrl}</td></c:if> <td>${log.pid}</td> - <%-- <td> + <c:if test="${fns:getUser().isAdmin()}"><td> <c:if test="${fn:startsWith(log.logUri, 'http')}"> <a href="${log.logUri}" data-original-title="${log.logUri}" target="_blank" class="tooltips" data-flag="false" data-html="true" data-placement="top"> @@ -312,7 +312,7 @@ $(document).ready(function(){ http://${fn:substring(log.logUri,0,20) } </a> </c:if> - </td> --%> + </td></c:if> <td>${log.level}</td> <!--0:动态黑名单FD;1:静态配置FD;2:首次分析命中 --> <td> @@ -344,31 +344,51 @@ $(document).ready(function(){ <td>${log.dPort }</td> <td>${log.sPort }</td> <td> + <c:set var="deviceIds">${log.deviceId }</c:set> <c:forEach items="${fns:getDictList('DEVICE')}" var="device"> - <c:if test="${device.itemCode eq log.deviceId}"><spring:message code="${device.itemValue}"/></c:if> + <c:if test="${device.itemCode eq log.deviceId}"> + <c:set var="deviceIds">${device.itemValue}</c:set> + </c:if> </c:forEach> + <spring:message code="${deviceIds}"/> </td> <td> + <c:set var="linkIds">${log.linkId }</c:set> <c:forEach items="${fns:getDictList('LINK')}" var="link"> - <c:if test="${link.itemCode eq log.linkId}"><spring:message code="${link.itemValue}"/></c:if> + <c:if test="${link.itemCode eq log.linkId}"> + <c:set var="linkIds">${link.itemValue}</c:set> + </c:if> </c:forEach> + <spring:message code="${linkIds}"/> </td> <td> + <c:set var="encapTypes">${log.encapType }</c:set> <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType"> - <c:if test="${encapType.itemCode eq log.encapType}"><spring:message code="${encapType.itemValue}"/></c:if> + <c:if test="${encapType.itemCode eq log.encapType}"> + <c:set var="encapTypes">${encapType.itemValue}</c:set> + </c:if> </c:forEach> + <spring:message code="${encapTypes}"/> </td> - <%-- <td> + <c:if test="${fns:getUser().isAdmin()}"><td> + <c:set var="directions">${log.direction }</c:set> <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction"> - <c:if test="${direction.itemCode eq log.direction}"><spring:message code="${direction.itemValue}"/></c:if> + <c:if test="${direction.itemCode eq log.direction}"> + <c:set var="directions">${direction.itemValue}</c:set> + </c:if> </c:forEach> - </td> --%> + <spring:message code="${directions}"/> + </td></c:if> <td>${log.innerSmac }</td> <td>${log.innerDmac }</td> <td> + <c:set var="streamDirs">${log.streamDir }</c:set> <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType"> - <c:if test="${streamType.itemCode eq log.streamDir}">${streamType.itemValue}</c:if> + <c:if test="${streamType.itemCode eq log.streamDir}"> + <c:set var="streamDirs">${streamType.itemValue}</c:set> + </c:if> </c:forEach> + <spring:message code="${streamDirs}"/> </td> <td>${log.addrList }</td> <td>${log.serverLocate}</td> diff --git a/src/main/webapp/WEB-INF/views/log/ntc/ntcStreamMedia.jsp b/src/main/webapp/WEB-INF/views/log/ntc/ntcStreamMedia.jsp index f1ebc9a..b472d8a 100644 --- a/src/main/webapp/WEB-INF/views/log/ntc/ntcStreamMedia.jsp +++ b/src/main/webapp/WEB-INF/views/log/ntc/ntcStreamMedia.jsp @@ -1,376 +1,376 @@ -<%@ page contentType="text/html;charset=UTF-8"%> -<%@ include file="/WEB-INF/include/taglib.jsp"%> -<html> -<head> - -<script type="text/javascript"> -$(document).ready(function(){ - //筛选功能 - filterActionInit(); - //reset - $("#resetBtn").on("click",function(){ - $("select.selectpicker").each(function(){ - $(this).selectpicker('val',$(this).find('option:first').val()); - $(this).find("option").attr("selected",false); - $(this).find("option:first").attr("selected",true); - }); - $(".Wdate").attr("value",''); - $(':input','#searchForm') - .not(':button,:submit,:reset,:hidden') - .attr("value",''); - $("#searchForm")[0].reset(); - }); - //异步获取voip相关信息 - $("span[id^=open]").click(function(){ - var openId=$(this).attr("id"); - var closeId=$(this).attr("id").replace("open","close"); - var index=$(this).attr("id").replace("open",""); - $("#"+openId).hide(); - $("#"+closeId).show(); - var compileId=$(this).attr("compileId"); -// var cfgId=$(this).attr("cfgId"); - if($("#"+openId).parent().parent().next("tr").hasClass("child")){ - $("#"+openId).parent().parent().next("tr").show(); - }else{ - $.ajax({ - type:'post', - async:false, - url:'${ctx}/ntc/av/ajaxAvContUrlList', - data:{"compileId":compileId,"index":index}, - dataType:"html", - success:function(data){ - var subTab="<tr class='child'>"+ - "<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>"; - var html=""; - html+="<div class='row'>"; - html = html+data; - subTab=subTab+html; - subTab+="</td>"; - subTab+="</tr>"; - $("#"+openId).parent().parent().after(subTab); - $("div[name='tabTitle"+index+"']").eq(0).click(); - } - }); - } - - }); - - $("span[id^=close]").on("click",function(){ - var closeId=$(this).attr("id"); - var openId=$(this).attr("id").replace("close","open"); - $("#"+closeId).hide(); - $("#"+openId).show(); - $("#"+closeId).parent().parent().next("tr").hide(); - }); -}); - -</script> -</head> -<body> - -<div class="page-content"> - <div class="theme-panel hidden-xs hidden-sm"> - </div> - <h3 class="page-title"> - <spring:message code="streaming_media"/> - </h3> - - <h5 class="page-header"></h5> - <div class="col-md-12"> - <div class="portlet"> - <div class="portlet-body"> - <div class="row" > - <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/mmAvUrlLogs" method="post" class="form-search"> - <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/> - <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/> - <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/> - <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/> - <!-- 筛选按钮展开状态--> - <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/> - - <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/> - - <!-- 搜索内容与操作按钮栏 --> - <div class="col-md-12"> - <div class="pull-left"> - <form:select path="service" class="selectpicker select2 input-small"> - <form:option value=""><spring:message code="action"/></form:option> - <c:forEach items="${serviceList}" var="service" - varStatus="satus"> - <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict"> - <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }"> - <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option> - </c:if> - </c:forEach> - </c:forEach> - </form:select> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="begin_date"/></span> - </div> - <input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" class="form-control input-medium Wdate " - value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="end_date"/></span> - </div> - <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate " - value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - - <div class="pull-left"> - <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button> - <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button> - <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button> - </div> - - <div class="pull-right"> - <a class="btn btn-icon-only btn-default setfields tooltips" - data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;"> - <i class="icon-wrench"></i> - </a> - </div> - </div> - - <!-- 筛选搜索内容栏默认隐藏--> - <div class="col-md-12 filter-action-select-panle hide" > - <div class="row"> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="transport_layer_protocol"/>:</label> - <c:set var="select"><spring:message code='select'/></c:set> - <form:select path="transProto" class="selectpicker form-control" > - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict"> - <form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option> - </c:forEach> - </form:select> - </div> - </div> - - <%-- <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="direction"/>:</label> - <form:select path="direction" class="selectpicker select2 form-control"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="dict"> - <form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option> - </c:forEach> - </form:select> - </div> - </div> --%> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="entrance"/>:</label> - <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" > - <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option> - </c:forEach> - </form:select> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clj_ip"/>:</label> - <input name="capIp" type="text" class="form-control" value="${log.capIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clientip"/>:</label> - <input id="sIp" name="sIp" class="form-control" type="text" value="${log.sIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="serverip"/>:</label> - <input id="dIp" name="dIp" class="form-control" type="text" value="${log.dIp}"/> - </div> - </div> - <div class="col-md-2"> - <label><spring:message code="cfg_id"></spring:message>:</label> - <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/> - </div> - </div> - </div> - <!-- /筛选搜索内容栏 结束--> - </form:form> - </div> - <sys:message content="${message}"/> - <div class="table-responsive"> - <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb"> - <thead> - <tr> - <th><spring:message code="log"/></th> - <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th> - <th class="sort-column service" isVisible="false"><spring:message code="action"/></th> - <th class="sort-column found_time"><spring:message code="found_time"/></th> - <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th> - - <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th> - <th class="sort-column url"><spring:message code='access_url'/></th> - <th><spring:message code='stream_media_protocol'/></th> - <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th> - <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th> - <th class="sort-column addr_type"><spring:message code='addr_type'/></th> - <th class="sort-column d_ip"><spring:message code="server_ip"/></th> - <th class="sort-column s_ip"><spring:message code="client_ip"/></th> - <th class="sort-column d_port"><spring:message code="server_port"/></th> - <th class="sort-column s_port"><spring:message code="client_port"/></th> - <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th> - <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th> - <th class="sort-column encap_type"><spring:message code="encap_type"/></th> - <th class="sort-column direction"><spring:message code="direction"/></th> - <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th> - <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th> - <th class="sort-column stream_dir"><spring:message code="stream_type"/></th> - - <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th> - <th class="sort-column server_locate"><spring:message code='server_locate'/></th> - <th class="sort-column client_locate"><spring:message code='client_locate'/></th> - <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th> - <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th> - <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th> - <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th> - <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th> - <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if> - </tr> - </thead> - <tbody> - <c:forEach var="log" items="${page.list }" varStatus="status"> - <tr> - <td> -<%-- <span id="open${status.index}" class="log-open-cfg" compileId="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span> - --%> <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a> - </td> - <td>${log.cfgId }</td> - <td> - <c:set var="actions">${log.action }</c:set> - <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict"> - <c:if test="${dict.itemCode eq log.action}"> - <c:set var="actions">${dict.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${actions}"/> - </td> - <td>${log.foundTime }</td> - <td>${log.recvTime }</td> - - <td> - <c:set var="entrances">${log.entranceId }</c:set> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> - <c:if test="${dic.itemCode eq log.entranceId}"> - <c:set var="entrances">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${entrances}"/> - </td> - <td> - <c:if test="${fn:startsWith(log.url, 'http://')}"> - ${fn:substring(log.url,7,-1)} - </c:if> - <c:if test="${!fn:startsWith(log.url, 'http://') and !empty log.url}"> - ${log.url} - </c:if> - </td> - <td>${log.protocol}</td> - - <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td> - <td> - <c:set var="transProtos">${log.transProto }</c:set> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic"> - <c:if test="${dic.itemCode eq log.transProto}"> - <c:set var="transProtos">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${transProtos}"/> - </td> - <td> - <c:set var="addrTypes">${log.addrType }</c:set> - <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic"> - <c:if test="${log.addrType==dic.itemCode}"> - <c:set var="addrTypes">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${addrTypes}"/> - </td> - <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td> - <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td> - <td>${log.dPort }</td> - <td>${log.sPort }</td> - <td> - <c:set var="deviceIds">${log.deviceId }</c:set> - <c:forEach items="${fns:getDictList('DEVICE')}" var="device"> - <c:if test="${device.itemCode eq log.deviceId}"> - <c:set var="deviceIds">${device.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${deviceIds}"/> - </td> - <td> - <c:set var="linkIds">${log.linkId }</c:set> - <c:forEach items="${fns:getDictList('LINK')}" var="link"> - <c:if test="${link.itemCode eq log.linkId}"> - <c:set var="linkIds">${link.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${linkIds}"/> - </td> - <td> - <c:set var="encapTypes">${log.encapType }</c:set> - <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType"> - <c:if test="${encapType.itemCode eq log.encapType}"> - <c:set var="encapTypes">${encapType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${encapTypes}"/> - </td> - <td> - <c:set var="directions">${log.direction }</c:set> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction"> - <c:if test="${direction.itemCode eq log.direction}"> - <c:set var="directions">${direction.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${directions}"/> - </td> - <td>${log.innerSmac }</td> - <td>${log.innerDmac }</td> - <td> - <c:set var="streamDirs">${log.streamDir }</c:set> - <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType"> - <c:if test="${streamType.itemCode eq log.streamDir}"> - <c:set var="streamDirs">${streamType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${streamDirs}"/> - </td> - - <td>${log.addrList }</td> - <td>${log.serverLocate}</td> - <td>${log.clientLocate}</td> - <td>${log.sAsn}</td> - <td>${log.dAsn}</td> - <td>${log.sSubscribeId}</td> - <td>${log.dSubscribeId}</td> - <td>${log.userRegion}</td> - <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if> - </tr> - </c:forEach> - </tbody> - </table> - <div class="page">${page}</div> - </div> - </div> - </div> - </div> - </div> -</body> -</html> +<%@ page contentType="text/html;charset=UTF-8"%>
+<%@ include file="/WEB-INF/include/taglib.jsp"%>
+<html>
+<head>
+
+<script type="text/javascript">
+$(document).ready(function(){
+ //筛选功能
+ filterActionInit();
+ //reset
+ $("#resetBtn").on("click",function(){
+ $("select.selectpicker").each(function(){
+ $(this).selectpicker('val',$(this).find('option:first').val());
+ $(this).find("option").attr("selected",false);
+ $(this).find("option:first").attr("selected",true);
+ });
+ $(".Wdate").attr("value",'');
+ $(':input','#searchForm')
+ .not(':button,:submit,:reset,:hidden')
+ .attr("value",'');
+ $("#searchForm")[0].reset();
+ });
+ //异步获取voip相关信息
+ $("span[id^=open]").click(function(){
+ var openId=$(this).attr("id");
+ var closeId=$(this).attr("id").replace("open","close");
+ var index=$(this).attr("id").replace("open","");
+ $("#"+openId).hide();
+ $("#"+closeId).show();
+ var compileId=$(this).attr("compileId");
+// var cfgId=$(this).attr("cfgId");
+ if($("#"+openId).parent().parent().next("tr").hasClass("child")){
+ $("#"+openId).parent().parent().next("tr").show();
+ }else{
+ $.ajax({
+ type:'post',
+ async:false,
+ url:'${ctx}/ntc/av/ajaxAvContUrlList',
+ data:{"compileId":compileId,"index":index},
+ dataType:"html",
+ success:function(data){
+ var subTab="<tr class='child'>"+
+ "<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>";
+ var html="";
+ html+="<div class='row'>";
+ html = html+data;
+ subTab=subTab+html;
+ subTab+="</td>";
+ subTab+="</tr>";
+ $("#"+openId).parent().parent().after(subTab);
+ $("div[name='tabTitle"+index+"']").eq(0).click();
+ }
+ });
+ }
+
+ });
+
+ $("span[id^=close]").on("click",function(){
+ var closeId=$(this).attr("id");
+ var openId=$(this).attr("id").replace("close","open");
+ $("#"+closeId).hide();
+ $("#"+openId).show();
+ $("#"+closeId).parent().parent().next("tr").hide();
+ });
+});
+
+</script>
+</head>
+<body>
+
+<div class="page-content">
+ <div class="theme-panel hidden-xs hidden-sm">
+ </div>
+ <h3 class="page-title">
+ <spring:message code="streaming_media"/>
+ </h3>
+
+ <h5 class="page-header"></h5>
+ <div class="col-md-12">
+ <div class="portlet">
+ <div class="portlet-body">
+ <div class="row" >
+ <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/mmAvUrlLogs" method="post" class="form-search">
+ <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
+ <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+ <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/>
+ <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/>
+ <!-- 筛选按钮展开状态-->
+ <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/>
+
+ <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/>
+
+ <!-- 搜索内容与操作按钮栏 -->
+ <div class="col-md-12">
+ <div class="pull-left">
+ <form:select path="service" class="selectpicker select2 input-small">
+ <form:option value=""><spring:message code="action"/></form:option>
+ <c:forEach items="${serviceList}" var="service"
+ varStatus="satus">
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
+ <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }">
+ <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:if>
+ </c:forEach>
+ </c:forEach>
+ </form:select>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
+ </div>
+ <input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
+ value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="end_date"/></span>
+ </div>
+ <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
+ value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+
+ <div class="pull-left">
+ <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
+ <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
+ <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button>
+ </div>
+
+ <div class="pull-right">
+ <a class="btn btn-icon-only btn-default setfields tooltips"
+ data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
+ <i class="icon-wrench"></i>
+ </a>
+ </div>
+ </div>
+
+ <!-- 筛选搜索内容栏默认隐藏-->
+ <div class="col-md-12 filter-action-select-panle hide" >
+ <div class="row">
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="transport_layer_protocol"/>:</label>
+ <c:set var="select"><spring:message code='select'/></c:set>
+ <form:select path="transProto" class="selectpicker form-control" >
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict">
+ <form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+
+ <%-- <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="direction"/>:</label>
+ <form:select path="direction" class="selectpicker select2 form-control">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="dict">
+ <form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div> --%>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="entrance"/>:</label>
+ <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" >
+ <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clj_ip"/>:</label>
+ <input name="capIp" type="text" class="form-control" value="${log.capIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clientip"/>:</label>
+ <input id="sIp" name="sIp" class="form-control" type="text" value="${log.sIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="serverip"/>:</label>
+ <input id="dIp" name="dIp" class="form-control" type="text" value="${log.dIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <label><spring:message code="cfg_id"></spring:message>:</label>
+ <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/>
+ </div>
+ </div>
+ </div>
+ <!-- /筛选搜索内容栏 结束-->
+ </form:form>
+ </div>
+ <sys:message content="${message}"/>
+ <div class="table-responsive">
+ <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb">
+ <thead>
+ <tr>
+ <th><spring:message code="log"/></th>
+ <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
+ <th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
+ <th class="sort-column found_time"><spring:message code="found_time"/></th>
+ <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
+
+ <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th>
+ <th class="sort-column url"><spring:message code='access_url'/></th>
+ <th><spring:message code='stream_media_protocol'/></th>
+ <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th>
+ <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th>
+ <th class="sort-column addr_type"><spring:message code='addr_type'/></th>
+ <th class="sort-column d_ip"><spring:message code="server_ip"/></th>
+ <th class="sort-column s_ip"><spring:message code="client_ip"/></th>
+ <th class="sort-column d_port"><spring:message code="server_port"/></th>
+ <th class="sort-column s_port"><spring:message code="client_port"/></th>
+ <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th>
+ <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th>
+ <th class="sort-column encap_type"><spring:message code="encap_type"/></th>
+ <th class="sort-column direction"><spring:message code="direction"/></th>
+ <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th>
+ <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th>
+ <th class="sort-column stream_dir"><spring:message code="stream_type"/></th>
+
+ <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
+ <th class="sort-column server_locate"><spring:message code='server_locate'/></th>
+ <th class="sort-column client_locate"><spring:message code='client_locate'/></th>
+ <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
+ <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
+ <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
+ <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
+ <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
+ <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
+ </tr>
+ </thead>
+ <tbody>
+ <c:forEach var="log" items="${page.list }" varStatus="status">
+ <tr>
+ <td>
+<%-- <span id="open${status.index}" class="log-open-cfg" compileId="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span>
+ --%> <a href="javascript:void(0)" name="viewLogInfo" url="${ctx}/ntc/av/ajaxAvContUrlList" compileId="${log.cfgId }" ><i class="icon-book-open"></i></a>
+ </td>
+ <td>${log.cfgId }</td>
+ <td>
+ <c:set var="actions">${log.action }</c:set>
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict">
+ <c:if test="${dict.itemCode eq log.action}">
+ <c:set var="actions">${dict.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${actions}"/>
+ </td>
+ <td>${log.foundTime }</td>
+ <td>${log.recvTime }</td>
+
+ <td>
+ <c:set var="entrances">${log.entranceId }</c:set>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
+ <c:if test="${dic.itemCode eq log.entranceId}">
+ <c:set var="entrances">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${entrances}"/>
+ </td>
+ <td>
+ <c:if test="${fn:startsWith(log.url, 'http://')}">
+ ${fn:substring(log.url,7,-1)}
+ </c:if>
+ <c:if test="${!fn:startsWith(log.url, 'http://') and !empty log.url}">
+ ${log.url}
+ </c:if>
+ </td>
+ <td>${log.protocol}</td>
+
+ <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td>
+ <td>
+ <c:set var="transProtos">${log.transProto }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic">
+ <c:if test="${dic.itemCode eq log.transProto}">
+ <c:set var="transProtos">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${transProtos}"/>
+ </td>
+ <td>
+ <c:set var="addrTypes">${log.addrType }</c:set>
+ <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic">
+ <c:if test="${log.addrType==dic.itemCode}">
+ <c:set var="addrTypes">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${addrTypes}"/>
+ </td>
+ <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td>
+ <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td>
+ <td>${log.dPort }</td>
+ <td>${log.sPort }</td>
+ <td>
+ <c:set var="deviceIds">${log.deviceId }</c:set>
+ <c:forEach items="${fns:getDictList('DEVICE')}" var="device">
+ <c:if test="${device.itemCode eq log.deviceId}">
+ <c:set var="deviceIds">${device.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${deviceIds}"/>
+ </td>
+ <td>
+ <c:set var="linkIds">${log.linkId }</c:set>
+ <c:forEach items="${fns:getDictList('LINK')}" var="link">
+ <c:if test="${link.itemCode eq log.linkId}">
+ <c:set var="linkIds">${link.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${linkIds}"/>
+ </td>
+ <td>
+ <c:set var="encapTypes">${log.encapType }</c:set>
+ <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType">
+ <c:if test="${encapType.itemCode eq log.encapType}">
+ <c:set var="encapTypes">${encapType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${encapTypes}"/>
+ </td>
+ <td>
+ <c:set var="directions">${log.direction }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction">
+ <c:if test="${direction.itemCode eq log.direction}">
+ <c:set var="directions">${direction.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${directions}"/>
+ </td>
+ <td>${log.innerSmac }</td>
+ <td>${log.innerDmac }</td>
+ <td>
+ <c:set var="streamDirs">${log.streamDir }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType">
+ <c:if test="${streamType.itemCode eq log.streamDir}">
+ <c:set var="streamDirs">${streamType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${streamDirs}"/>
+ </td>
+
+ <td>${log.addrList }</td>
+ <td>${log.serverLocate}</td>
+ <td>${log.clientLocate}</td>
+ <td>${log.sAsn}</td>
+ <td>${log.dAsn}</td>
+ <td>${log.sSubscribeId}</td>
+ <td>${log.dSubscribeId}</td>
+ <td>${log.userRegion}</td>
+ <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if>
+ </tr>
+ </c:forEach>
+ </tbody>
+ </table>
+ <div class="page">${page}</div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+</body>
+</html>
diff --git a/src/main/webapp/WEB-INF/views/log/ntc/openVpnList.jsp b/src/main/webapp/WEB-INF/views/log/ntc/openVpnList.jsp index 9e9e210..90ea29a 100644 --- a/src/main/webapp/WEB-INF/views/log/ntc/openVpnList.jsp +++ b/src/main/webapp/WEB-INF/views/log/ntc/openVpnList.jsp @@ -1,330 +1,330 @@ -<%@ page contentType="text/html;charset=UTF-8"%> -<%@ include file="/WEB-INF/include/taglib.jsp"%> -<html> -<head> - -<script type="text/javascript"> -$(document).ready(function(){ - //筛选功能 - filterActionInit(); - //reset - $("#resetBtn").on("click",function(){ - $("select.selectpicker").each(function(){ - $(this).selectpicker('val',$(this).find('option:first').val()); - $(this).find("option").attr("selected",false); - $(this).find("option:first").attr("selected",true); - }); - $(".Wdate").attr("value",''); - $(':input','#searchForm') - .not(':button,:submit,:reset,:hidden') - .attr("value",''); - $("#searchForm")[0].reset(); - }); - -}); - -</script> -</head> -<body> - -<div class="page-content"> - <div class="theme-panel hidden-xs hidden-sm"> - </div> - <h3 class="page-title"> - <spring:message code="openvpn_control"/> - </h3> - - <h5 class="page-header"></h5> - <div class="col-md-12"> - <div class="portlet"> - <div class="portlet-body"> - <div class="row" > - <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/ntcOpenvpnLogs" method="post" class="form-search"> - <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/> - <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/> - <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/> - <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/> - <!-- 筛选按钮展开状态--> - <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/> - - <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/> - - <!-- 搜索内容与操作按钮栏 --> - <div class="col-md-12"> - <div class="pull-left"> - <form:select path="service" class="selectpicker select2 input-small"> - <form:option value=""><spring:message code="action"/></form:option> - <c:forEach items="${serviceList}" var="service" - varStatus="satus"> - <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict"> - <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }"> - <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option> - </c:if> - </c:forEach> - </c:forEach> - </form:select> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="begin_date"/></span> - </div> - <input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" class="form-control input-medium Wdate " - value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="end_date"/></span> - </div> - <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate " - value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - - <div class="pull-left"> - <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button> - <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button> - <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button> - </div> - - <div class="pull-right"> - <a class="btn btn-icon-only btn-default setfields tooltips" - data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;"> - <i class="icon-wrench"></i> - </a> - </div> - </div> - - <!-- 筛选搜索内容栏默认隐藏--> - <div class="col-md-12 filter-action-select-panle hide" > - <div class="row"> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="transport_layer_protocol"/>:</label> - <c:set var="select"><spring:message code='select'/></c:set> - <form:select path="transProto" class="selectpicker form-control" > - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict"> - <form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option> - </c:forEach> - </form:select> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="direction"/>:</label> - <form:select path="direction" class="selectpicker select2 form-control"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="dict"> - <form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option> - </c:forEach> - </form:select> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="entrance"/>:</label> - <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" > - <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option> - </c:forEach> - </form:select> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clj_ip"/>:</label> - <input id=capIp name="capIp" class="form-control" type="text" value="${log.capIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clientip"/>:</label> - <input id="sIp" name="sIp" class="form-control" type="text" value="${log.sIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="serverip"/>:</label> - <input id="dIp" name="dIp" class="form-control" type="text" value="${log.dIp}"/> - </div> - </div> - </div> - <div class="row"> - <div class="col-md-2"> - <label><spring:message code="cfg_id"></spring:message>:</label> - <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/> - </div> - </div> - </div> - <!-- /筛选搜索内容栏 结束--> - </form:form> - </div> - <sys:message content="${message}"/> - <div class="table-responsive"> - <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb"> - <thead> - <tr> - <th><spring:message code="log"/></th> - <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th> - <th class="sort-column service" isVisible="false"><spring:message code="action"/></th> - <th class="sort-column found_time"><spring:message code="found_time"/></th> - <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th> - - <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th> - - <th class="sort-column version"><spring:message code='version'/></th> - <th class="sort-column encrypt_mode"><spring:message code='encrypt_mode'/></th> - <th class="sort-column hmac"><spring:message code='hmac'/></th> - <th class="sort-column tunnel_type"><spring:message code='tunnel_type'/></th> - <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th> - <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th> - <th class="sort-column addr_type"><spring:message code='addr_type'/></th> - <th class="sort-column d_ip"><spring:message code="server_ip"/></th> - <th class="sort-column s_ip"><spring:message code="client_ip"/></th> - <th class="sort-column d_port"><spring:message code="server_port"/></th> - <th class="sort-column s_port"><spring:message code="client_port"/></th> - <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th> - <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th> - <th class="sort-column encap_type"><spring:message code="encap_type"/></th> - <th class="sort-column direction"><spring:message code="direction"/></th> - <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th> - <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th> - <th class="sort-column stream_dir"><spring:message code="stream_type"/></th> - - <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th> - <th class="sort-column server_locate"><spring:message code='server_locate'/></th> - <th class="sort-column client_locate"><spring:message code='client_locate'/></th> - <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th> - <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th> - <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th> - <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th> - <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th> - <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if> - </tr> - </thead> - <tbody> - <c:forEach var="log" items="${page.list }" varStatus="status"> - <tr> - <td> - <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a> - </td> - <td>${log.cfgId }</td> - <td> - <c:set var="actions">${log.action }</c:set> - <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict"> - <c:if test="${dict.itemCode eq log.action}"> - <c:set var="actions">${dict.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${actions}"/> - </td> - <td>${log.foundTime }</td> - <td>${log.recvTime }</td> - - <td> - <c:set var="entrances">${log.entranceId }</c:set> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> - <c:if test="${dic.itemCode eq log.entranceId}"> - <c:set var="entrances">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${entrances}"/> - </td> - - <td>${log.version}</td> - <td>${log.encryptMode}</td> - <td> - <c:forEach items="${fns:getDictList('SYS_YES_NO')}" var="dic"> - <c:if test="${dic.itemCode eq log.hmac}"><spring:message code="${dic.itemValue}"/></c:if> - </c:forEach> - </td> - <td> - <c:if test="${log.tunnelType==1}">TCP</c:if> - <c:if test="${log.tunnelType==2}">UDP</c:if> - </td> - <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td> - <td> - <c:set var="transProtos">${log.transProto }</c:set> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic"> - <c:if test="${dic.itemCode eq log.transProto}"> - <c:set var="transProtos">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${transProtos}"/> - </td> - <td> - <c:set var="addrTypes">${log.addrType }</c:set> - <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic"> - <c:if test="${log.addrType==dic.itemCode}"> - <c:set var="addrTypes">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${addrTypes}"/> - </td> - <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td> - <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td> - <td>${log.dPort }</td> - <td>${log.sPort }</td> - <td> - <c:set var="deviceIds">${log.deviceId }</c:set> - <c:forEach items="${fns:getDictList('DEVICE')}" var="device"> - <c:if test="${device.itemCode eq log.deviceId}"> - <c:set var="deviceIds">${device.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${deviceIds}"/> - </td> - <td> - <c:set var="linkIds">${log.linkId }</c:set> - <c:forEach items="${fns:getDictList('LINK')}" var="link"> - <c:if test="${link.itemCode eq log.linkId}"> - <c:set var="linkIds">${link.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${linkIds}"/> - </td> - <td> - <c:set var="encapTypes">${log.encapType }</c:set> - <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType"> - <c:if test="${encapType.itemCode eq log.encapType}"> - <c:set var="encapTypes">${encapType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${encapTypes}"/> - </td> - <td> - <c:set var="directions">${log.direction }</c:set> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction"> - <c:if test="${direction.itemCode eq log.direction}"> - <c:set var="directions">${direction.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${directions}"/> - </td> - - <td>${log.addrList }</td> - <td>${log.serverLocate}</td> - <td>${log.clientLocate}</td> - <td>${log.sAsn}</td> - <td>${log.dAsn}</td> - <td>${log.sSubscribeId}</td> - <td>${log.dSubscribeId}</td> - <td>${log.userRegion}</td> - <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if> - </tr> - </c:forEach> - </tbody> - </table> - <div class="page">${page}</div> - </div> - </div> - </div> - </div> - </div> -</body> -</html> +<%@ page contentType="text/html;charset=UTF-8"%>
+<%@ include file="/WEB-INF/include/taglib.jsp"%>
+<html>
+<head>
+
+<script type="text/javascript">
+$(document).ready(function(){
+ //筛选功能
+ filterActionInit();
+ //reset
+ $("#resetBtn").on("click",function(){
+ $("select.selectpicker").each(function(){
+ $(this).selectpicker('val',$(this).find('option:first').val());
+ $(this).find("option").attr("selected",false);
+ $(this).find("option:first").attr("selected",true);
+ });
+ $(".Wdate").attr("value",'');
+ $(':input','#searchForm')
+ .not(':button,:submit,:reset,:hidden')
+ .attr("value",'');
+ $("#searchForm")[0].reset();
+ });
+
+});
+
+</script>
+</head>
+<body>
+
+<div class="page-content">
+ <div class="theme-panel hidden-xs hidden-sm">
+ </div>
+ <h3 class="page-title">
+ <spring:message code="openvpn_control"/>
+ </h3>
+
+ <h5 class="page-header"></h5>
+ <div class="col-md-12">
+ <div class="portlet">
+ <div class="portlet-body">
+ <div class="row" >
+ <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/ntcOpenvpnLogs" method="post" class="form-search">
+ <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
+ <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+ <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/>
+ <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/>
+ <!-- 筛选按钮展开状态-->
+ <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/>
+
+ <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/>
+
+ <!-- 搜索内容与操作按钮栏 -->
+ <div class="col-md-12">
+ <div class="pull-left">
+ <form:select path="service" class="selectpicker select2 input-small">
+ <form:option value=""><spring:message code="action"/></form:option>
+ <c:forEach items="${serviceList}" var="service"
+ varStatus="satus">
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
+ <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }">
+ <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:if>
+ </c:forEach>
+ </c:forEach>
+ </form:select>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
+ </div>
+ <input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
+ value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="end_date"/></span>
+ </div>
+ <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
+ value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+
+ <div class="pull-left">
+ <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
+ <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
+ <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button>
+ </div>
+
+ <div class="pull-right">
+ <a class="btn btn-icon-only btn-default setfields tooltips"
+ data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
+ <i class="icon-wrench"></i>
+ </a>
+ </div>
+ </div>
+
+ <!-- 筛选搜索内容栏默认隐藏-->
+ <div class="col-md-12 filter-action-select-panle hide" >
+ <div class="row">
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="transport_layer_protocol"/>:</label>
+ <c:set var="select"><spring:message code='select'/></c:set>
+ <form:select path="transProto" class="selectpicker form-control" >
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict">
+ <form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="direction"/>:</label>
+ <form:select path="direction" class="selectpicker select2 form-control">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="dict">
+ <form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="entrance"/>:</label>
+ <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" >
+ <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clj_ip"/>:</label>
+ <input id=capIp name="capIp" class="form-control" type="text" value="${log.capIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clientip"/>:</label>
+ <input id="sIp" name="sIp" class="form-control" type="text" value="${log.sIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="serverip"/>:</label>
+ <input id="dIp" name="dIp" class="form-control" type="text" value="${log.dIp}"/>
+ </div>
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-md-2">
+ <label><spring:message code="cfg_id"></spring:message>:</label>
+ <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/>
+ </div>
+ </div>
+ </div>
+ <!-- /筛选搜索内容栏 结束-->
+ </form:form>
+ </div>
+ <sys:message content="${message}"/>
+ <div class="table-responsive">
+ <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb">
+ <thead>
+ <tr>
+ <th><spring:message code="log"/></th>
+ <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
+ <th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
+ <th class="sort-column found_time"><spring:message code="found_time"/></th>
+ <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
+
+ <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th>
+
+ <th class="sort-column version"><spring:message code='version'/></th>
+ <th class="sort-column encrypt_mode"><spring:message code='encrypt_mode'/></th>
+ <th class="sort-column hmac"><spring:message code='hmac'/></th>
+ <th class="sort-column tunnel_type"><spring:message code='tunnel_type'/></th>
+ <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th>
+ <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th>
+ <th class="sort-column addr_type"><spring:message code='addr_type'/></th>
+ <th class="sort-column d_ip"><spring:message code="server_ip"/></th>
+ <th class="sort-column s_ip"><spring:message code="client_ip"/></th>
+ <th class="sort-column d_port"><spring:message code="server_port"/></th>
+ <th class="sort-column s_port"><spring:message code="client_port"/></th>
+ <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th>
+ <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th>
+ <th class="sort-column encap_type"><spring:message code="encap_type"/></th>
+ <th class="sort-column direction"><spring:message code="direction"/></th>
+ <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th>
+ <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th>
+ <th class="sort-column stream_dir"><spring:message code="stream_type"/></th>
+
+ <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
+ <th class="sort-column server_locate"><spring:message code='server_locate'/></th>
+ <th class="sort-column client_locate"><spring:message code='client_locate'/></th>
+ <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
+ <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
+ <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
+ <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
+ <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
+ <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
+ </tr>
+ </thead>
+ <tbody>
+ <c:forEach var="log" items="${page.list }" varStatus="status">
+ <tr>
+ <td>
+ <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a>
+ </td>
+ <td>${log.cfgId }</td>
+ <td>
+ <c:set var="actions">${log.action }</c:set>
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict">
+ <c:if test="${dict.itemCode eq log.action}">
+ <c:set var="actions">${dict.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${actions}"/>
+ </td>
+ <td>${log.foundTime }</td>
+ <td>${log.recvTime }</td>
+
+ <td>
+ <c:set var="entrances">${log.entranceId }</c:set>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
+ <c:if test="${dic.itemCode eq log.entranceId}">
+ <c:set var="entrances">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${entrances}"/>
+ </td>
+
+ <td>${log.version}</td>
+ <td>${log.encryptMode}</td>
+ <td>
+ <c:forEach items="${fns:getDictList('SYS_YES_NO')}" var="dic">
+ <c:if test="${dic.itemCode eq log.hmac}"><spring:message code="${dic.itemValue}"/></c:if>
+ </c:forEach>
+ </td>
+ <td>
+ <c:if test="${log.tunnelType==1}">TCP</c:if>
+ <c:if test="${log.tunnelType==2}">UDP</c:if>
+ </td>
+ <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td>
+ <td>
+ <c:set var="transProtos">${log.transProto }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic">
+ <c:if test="${dic.itemCode eq log.transProto}">
+ <c:set var="transProtos">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${transProtos}"/>
+ </td>
+ <td>
+ <c:set var="addrTypes">${log.addrType }</c:set>
+ <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic">
+ <c:if test="${log.addrType==dic.itemCode}">
+ <c:set var="addrTypes">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${addrTypes}"/>
+ </td>
+ <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td>
+ <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td>
+ <td>${log.dPort }</td>
+ <td>${log.sPort }</td>
+ <td>
+ <c:set var="deviceIds">${log.deviceId }</c:set>
+ <c:forEach items="${fns:getDictList('DEVICE')}" var="device">
+ <c:if test="${device.itemCode eq log.deviceId}">
+ <c:set var="deviceIds">${device.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${deviceIds}"/>
+ </td>
+ <td>
+ <c:set var="linkIds">${log.linkId }</c:set>
+ <c:forEach items="${fns:getDictList('LINK')}" var="link">
+ <c:if test="${link.itemCode eq log.linkId}">
+ <c:set var="linkIds">${link.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${linkIds}"/>
+ </td>
+ <td>
+ <c:set var="encapTypes">${log.encapType }</c:set>
+ <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType">
+ <c:if test="${encapType.itemCode eq log.encapType}">
+ <c:set var="encapTypes">${encapType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${encapTypes}"/>
+ </td>
+ <td>
+ <c:set var="directions">${log.direction }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction">
+ <c:if test="${direction.itemCode eq log.direction}">
+ <c:set var="directions">${direction.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${directions}"/>
+ </td>
+
+ <td>${log.addrList }</td>
+ <td>${log.serverLocate}</td>
+ <td>${log.clientLocate}</td>
+ <td>${log.sAsn}</td>
+ <td>${log.dAsn}</td>
+ <td>${log.sSubscribeId}</td>
+ <td>${log.dSubscribeId}</td>
+ <td>${log.userRegion}</td>
+ <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if>
+ </tr>
+ </c:forEach>
+ </tbody>
+ </table>
+ <div class="page">${page}</div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+</body>
+</html>
diff --git a/src/main/webapp/WEB-INF/views/log/ntc/p2pList.jsp b/src/main/webapp/WEB-INF/views/log/ntc/p2pList.jsp index bc7a42f..c38f324 100644 --- a/src/main/webapp/WEB-INF/views/log/ntc/p2pList.jsp +++ b/src/main/webapp/WEB-INF/views/log/ntc/p2pList.jsp @@ -1,376 +1,376 @@ -<%@ page contentType="text/html;charset=UTF-8"%> -<%@ include file="/WEB-INF/include/taglib.jsp"%> -<html> -<head> -<title> - P2P<spring:message code="log"></spring:message> -</title> -<script> - - $(document).ready(function() { - //reset - $("#resetBtn").on("click",function(){ - $("select.selectpicker").each(function(){ - $(this).selectpicker('val',$(this).find('option:first').val()); - $(this).find("option").attr("selected",false); - $(this).find("option:first").attr("selected",true); - }); - $(".Wdate").attr("value",''); - $(':input','#searchForm') - .not(':button,:submit,:reset,:hidden') - .attr("value",''); - $("#searchForm")[0].reset(); - }); - //筛选功能 - filterActionInit(); - //异步获取voip相关信息 - $("span[id^=open]").click(function(){ - var openId=$(this).attr("id"); - var closeId=$(this).attr("id").replace("open","close"); - var index=$(this).attr("id").replace("open",""); - $("#"+openId).hide(); - $("#"+closeId).show(); - var compileId=$(this).attr("compileId"); -// var cfgId=$(this).attr("cfgId"); - if($("#"+openId).parent().parent().next("tr").hasClass("child")){ - $("#"+openId).parent().parent().next("tr").show(); - }else{ - $.ajax({ - type:'post', - async:false, - url:'${ctx}/ntc/fileTransfer/ajaxP2pSubList', - data:{"compileId":compileId,"index":index}, - dataType:"html", - success:function(data){ - var subTab="<tr class='child'>"+ - "<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>"; - var html=""; - html+="<div class='row'>"; - html = html+data; - subTab=subTab+html; - subTab+="</td>"; - subTab+="</tr>"; - $("#"+openId).parent().parent().after(subTab); - $("div[name='tabTitle"+index+"']").get(0).click(); - } - }); - } - - }); - - $("span[id^=close]").on("click",function(){ - var closeId=$(this).attr("id"); - var openId=$(this).attr("id").replace("close","open"); - $("#"+closeId).hide(); - $("#"+openId).show(); - $("#"+closeId).parent().parent().next("tr").hide(); - }); - }); -</script> -</head> -<body> - -<div class="page-content"> - <div class="theme-panel hidden-xs hidden-sm"> - </div> - <h3 class="page-title"> - <spring:message code="p2p_control"/> - </h3> - <h5 class="page-header"></h5> - <div class="col-md-12"> - <div class="portlet"> - <div class="portlet-body"> - <div class="row" > - <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/p2pLogs" method="post" class="form-search"> - <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/> - <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/> - <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/> - <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/> - <!-- 筛选按钮展开状态--> - <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/><sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/> - <!-- 搜索内容与操作按钮栏 --> - <div class="col-md-12"> - <div class="pull-left"> - <form:select path="service" class="selectpicker select2 input-small"> - <form:option value=""><spring:message code="action"/></form:option> - <c:forEach items="${serviceList}" var="service" - varStatus="satus"> - <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict"> - <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }"> - <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option> - </c:if> - </c:forEach> - </c:forEach> - </form:select> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="begin_date"/></span> - </div> - <input name="searchFoundStartTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium" - value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="end_date"/></span> - </div> - <input name="searchFoundEndTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium" - value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - <div class="pull-left"> - <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button> - <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button> - <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"/><i class="fa fa-angle-double-down"></i></button> - </div> - <div class="pull-right"> - <a class="btn btn-icon-only btn-default setfields tooltips" - data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;"> - <i class="icon-wrench"></i> - </a> - </div> - </div> - <!-- 搜索内容与操作按钮栏 --> - - <!-- 筛选搜索内容栏默认隐藏--> - <div class="col-md-12 filter-action-select-panle hide" > - <div class="row"> - <div class="col-md-2"> - <div class="form-group"> - <label class="control-label"><spring:message code='transport_layer_protocol'/>:</label> - <form:select path="transProto" class="selectpicker form-control"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="protocol" > - <form:option value="${protocol.itemCode}"><spring:message code="${protocol.itemValue}"></spring:message></form:option> - </c:forEach> - </form:select> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label class="control-label"><spring:message code="direction"/>:</label> - <form:select path="direction" class="selectpicker form-control"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction" > - <form:option value="${direction.itemCode}"><spring:message code="${direction.itemValue}"></spring:message></form:option> - </c:forEach> - </form:select> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="entrance"/>:</label> - <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" > - <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option> - </c:forEach> - </form:select> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clj_ip"></spring:message>:</label> - <input name="capIp" type="text" class="form-control" value="${log.capIp }"/> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clientip"></spring:message>:</label> - <input name="sIp" type="text" class="form-control" value="${log.sIp }"/> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="serverip"></spring:message>:</label> - <input name="dIp" type="text" class="form-control" value="${log.dIp }"/> - </div> - </div> - </div> - <div class="row"> - <div class="col-md-2"> - <label><spring:message code="cfg_id"></spring:message>:</label> - <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/> - </div> - </div> - </div> - <!-- /筛选搜索内容栏 结束--> - </form:form> - </div> - <sys:message content="${message}"/> - <div class="table-responsive"> - <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb"> - <thead> - <tr> - <th><spring:message code="log"/></th> - <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th> - <th class="sort-column service" isVisible="false"><spring:message code="action"/></th> - <th class="sort-column found_time"><spring:message code="found_time"/></th> - <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th> - - <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th> - - <th class="sort-column p2p_proto"><spring:message code="p2p_proto"/></th> - <th class="sort-column p2p_file_id"><spring:message code="p2p_file_id"/></th> - <th class="sort-column p2p_keyword"><spring:message code="p2p_keyword"/></th> - <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th> - <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th> - <th class="sort-column addr_type"><spring:message code='addr_type'/></th> - <th class="sort-column d_ip"><spring:message code="server_ip"/></th> - <th class="sort-column s_ip"><spring:message code="client_ip"/></th> - <th class="sort-column d_port"><spring:message code="server_port"/></th> - <th class="sort-column s_port"><spring:message code="client_port"/></th> - <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th> - <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th> - <th class="sort-column encap_type"><spring:message code="encap_type"/></th> - <th class="sort-column direction"><spring:message code="direction"/></th> - <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th> - <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th> - <th class="sort-column stream_dir"><spring:message code="stream_type"/></th> - - <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th> - <th class="sort-column server_locate"><spring:message code='server_locate'/></th> - <th class="sort-column client_locate"><spring:message code='client_locate'/></th> - <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th> - <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th> - <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th> - <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th> - <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th> - <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if> - </tr> - </thead> - <tbody> - <c:forEach var="log" items="${page.list }" varStatus="status"> - <tr> - <td> -<%-- <span id="open${status.index}" class="log-open-cfg" compileId="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span> - --%> <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a> - </td> - <td>${log.cfgId }</td> - <td> - <c:set var="actions">${log.action }</c:set> - <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict"> - <c:if test="${dict.itemCode eq log.action}"> - <c:set var="actions">${dict.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${actions}"/> - </td> - <td>${log.foundTime }</td> - <td>${log.recvTime }</td> - - - <td> - <c:set var="entrances">${log.entranceId }</c:set> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> - <c:if test="${dic.itemCode eq log.entranceId}"> - <c:set var="entrances">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${entrances}"/> - </td> - - <td>${log.p2pProto}</td> - <td>${log.p2pFileId}</td> - <td>${log.p2pKeyword}</td> - <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td> - <td> - <c:set var="transProtos">${log.transProto }</c:set> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic"> - <c:if test="${dic.itemCode eq log.transProto}"> - <c:set var="transProtos">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${transProtos}"/> - </td> - <td> - <c:set var="addrTypes">${log.addrType }</c:set> - <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic"> - <c:if test="${log.addrType==dic.itemCode}"> - <c:set var="addrTypes">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${addrTypes}"/> - </td> - - <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td> - <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td> - <td>${log.dPort }</td> - <td>${log.sPort }</td> - <td> - <c:set var="deviceIds">${log.deviceId }</c:set> - <c:forEach items="${fns:getDictList('DEVICE')}" var="device"> - <c:if test="${device.itemCode eq log.deviceId}"> - <c:set var="deviceIds">${device.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${deviceIds}"/> - </td> - <td> - <c:set var="linkIds">${log.linkId }</c:set> - <c:forEach items="${fns:getDictList('LINK')}" var="link"> - <c:if test="${link.itemCode eq log.linkId}"> - <c:set var="linkIds">${link.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${linkIds}"/> - </td> - <td> - <c:set var="encapTypes">${log.encapType }</c:set> - <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType"> - <c:if test="${encapType.itemCode eq log.encapType}"> - <c:set var="encapTypes">${encapType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${encapTypes}"/> - </td> - <td> - <c:set var="directions">${log.direction }</c:set> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction"> - <c:if test="${direction.itemCode eq log.direction}"> - <c:set var="directions">${direction.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${directions}"/> - </td> - <td>${log.innerSmac }</td> - <td>${log.innerDmac }</td> - <td> - <c:set var="streamDirs">${log.streamDir }</c:set> - <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType"> - <c:if test="${streamType.itemCode eq log.streamDir}"> - <c:set var="streamDirs">${streamType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${streamDirs}"/> - </td> - - <td>${log.addrList }</td> - <td>${log.serverLocate}</td> - <td>${log.clientLocate}</td> - <td>${log.sAsn}</td> - <td>${log.dAsn}</td> - <td>${log.sSubscribeId}</td> - <td>${log.dSubscribeId}</td> - <td>${log.userRegion}</td> - <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if> - </tr> - </c:forEach> - </tbody> - </table> - <div class="page">${page}</div> - </div> - </div> - </div> - </div> -</div> -</body> +<%@ page contentType="text/html;charset=UTF-8"%>
+<%@ include file="/WEB-INF/include/taglib.jsp"%>
+<html>
+<head>
+<title>
+ P2P<spring:message code="log"></spring:message>
+</title>
+<script>
+
+ $(document).ready(function() {
+ //reset
+ $("#resetBtn").on("click",function(){
+ $("select.selectpicker").each(function(){
+ $(this).selectpicker('val',$(this).find('option:first').val());
+ $(this).find("option").attr("selected",false);
+ $(this).find("option:first").attr("selected",true);
+ });
+ $(".Wdate").attr("value",'');
+ $(':input','#searchForm')
+ .not(':button,:submit,:reset,:hidden')
+ .attr("value",'');
+ $("#searchForm")[0].reset();
+ });
+ //筛选功能
+ filterActionInit();
+ //异步获取voip相关信息
+ $("span[id^=open]").click(function(){
+ var openId=$(this).attr("id");
+ var closeId=$(this).attr("id").replace("open","close");
+ var index=$(this).attr("id").replace("open","");
+ $("#"+openId).hide();
+ $("#"+closeId).show();
+ var compileId=$(this).attr("compileId");
+// var cfgId=$(this).attr("cfgId");
+ if($("#"+openId).parent().parent().next("tr").hasClass("child")){
+ $("#"+openId).parent().parent().next("tr").show();
+ }else{
+ $.ajax({
+ type:'post',
+ async:false,
+ url:'${ctx}/ntc/fileTransfer/ajaxP2pSubList',
+ data:{"compileId":compileId,"index":index},
+ dataType:"html",
+ success:function(data){
+ var subTab="<tr class='child'>"+
+ "<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>";
+ var html="";
+ html+="<div class='row'>";
+ html = html+data;
+ subTab=subTab+html;
+ subTab+="</td>";
+ subTab+="</tr>";
+ $("#"+openId).parent().parent().after(subTab);
+ $("div[name='tabTitle"+index+"']").get(0).click();
+ }
+ });
+ }
+
+ });
+
+ $("span[id^=close]").on("click",function(){
+ var closeId=$(this).attr("id");
+ var openId=$(this).attr("id").replace("close","open");
+ $("#"+closeId).hide();
+ $("#"+openId).show();
+ $("#"+closeId).parent().parent().next("tr").hide();
+ });
+ });
+</script>
+</head>
+<body>
+
+<div class="page-content">
+ <div class="theme-panel hidden-xs hidden-sm">
+ </div>
+ <h3 class="page-title">
+ <spring:message code="p2p_control"/>
+ </h3>
+ <h5 class="page-header"></h5>
+ <div class="col-md-12">
+ <div class="portlet">
+ <div class="portlet-body">
+ <div class="row" >
+ <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/p2pLogs" method="post" class="form-search">
+ <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
+ <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+ <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/>
+ <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/>
+ <!-- 筛选按钮展开状态-->
+ <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/><sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/>
+ <!-- 搜索内容与操作按钮栏 -->
+ <div class="col-md-12">
+ <div class="pull-left">
+ <form:select path="service" class="selectpicker select2 input-small">
+ <form:option value=""><spring:message code="action"/></form:option>
+ <c:forEach items="${serviceList}" var="service"
+ varStatus="satus">
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
+ <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }">
+ <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:if>
+ </c:forEach>
+ </c:forEach>
+ </form:select>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
+ </div>
+ <input name="searchFoundStartTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
+ value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="end_date"/></span>
+ </div>
+ <input name="searchFoundEndTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
+ value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+ <div class="pull-left">
+ <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
+ <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
+ <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"/><i class="fa fa-angle-double-down"></i></button>
+ </div>
+ <div class="pull-right">
+ <a class="btn btn-icon-only btn-default setfields tooltips"
+ data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
+ <i class="icon-wrench"></i>
+ </a>
+ </div>
+ </div>
+ <!-- 搜索内容与操作按钮栏 -->
+
+ <!-- 筛选搜索内容栏默认隐藏-->
+ <div class="col-md-12 filter-action-select-panle hide" >
+ <div class="row">
+ <div class="col-md-2">
+ <div class="form-group">
+ <label class="control-label"><spring:message code='transport_layer_protocol'/>:</label>
+ <form:select path="transProto" class="selectpicker form-control">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="protocol" >
+ <form:option value="${protocol.itemCode}"><spring:message code="${protocol.itemValue}"></spring:message></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label class="control-label"><spring:message code="direction"/>:</label>
+ <form:select path="direction" class="selectpicker form-control">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction" >
+ <form:option value="${direction.itemCode}"><spring:message code="${direction.itemValue}"></spring:message></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="entrance"/>:</label>
+ <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" >
+ <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clj_ip"></spring:message>:</label>
+ <input name="capIp" type="text" class="form-control" value="${log.capIp }"/>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clientip"></spring:message>:</label>
+ <input name="sIp" type="text" class="form-control" value="${log.sIp }"/>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="serverip"></spring:message>:</label>
+ <input name="dIp" type="text" class="form-control" value="${log.dIp }"/>
+ </div>
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-md-2">
+ <label><spring:message code="cfg_id"></spring:message>:</label>
+ <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/>
+ </div>
+ </div>
+ </div>
+ <!-- /筛选搜索内容栏 结束-->
+ </form:form>
+ </div>
+ <sys:message content="${message}"/>
+ <div class="table-responsive">
+ <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb">
+ <thead>
+ <tr>
+ <th><spring:message code="log"/></th>
+ <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
+ <th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
+ <th class="sort-column found_time"><spring:message code="found_time"/></th>
+ <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
+
+ <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th>
+
+ <th class="sort-column p2p_proto"><spring:message code="p2p_proto"/></th>
+ <th class="sort-column p2p_file_id"><spring:message code="p2p_file_id"/></th>
+ <th class="sort-column p2p_keyword"><spring:message code="p2p_keyword"/></th>
+ <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th>
+ <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th>
+ <th class="sort-column addr_type"><spring:message code='addr_type'/></th>
+ <th class="sort-column d_ip"><spring:message code="server_ip"/></th>
+ <th class="sort-column s_ip"><spring:message code="client_ip"/></th>
+ <th class="sort-column d_port"><spring:message code="server_port"/></th>
+ <th class="sort-column s_port"><spring:message code="client_port"/></th>
+ <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th>
+ <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th>
+ <th class="sort-column encap_type"><spring:message code="encap_type"/></th>
+ <th class="sort-column direction"><spring:message code="direction"/></th>
+ <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th>
+ <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th>
+ <th class="sort-column stream_dir"><spring:message code="stream_type"/></th>
+
+ <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
+ <th class="sort-column server_locate"><spring:message code='server_locate'/></th>
+ <th class="sort-column client_locate"><spring:message code='client_locate'/></th>
+ <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
+ <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
+ <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
+ <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
+ <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
+ <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
+ </tr>
+ </thead>
+ <tbody>
+ <c:forEach var="log" items="${page.list }" varStatus="status">
+ <tr>
+ <td>
+<%-- <span id="open${status.index}" class="log-open-cfg" compileId="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span>
+ --%> <a href="javascript:void(0)" name="viewLogInfo" url="${ctx}/ntc/fileTransfer/ajaxP2pSubList" compileId="${log.cfgId }" ><i class="icon-book-open"></i></a>
+ </td>
+ <td>${log.cfgId }</td>
+ <td>
+ <c:set var="actions">${log.action }</c:set>
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict">
+ <c:if test="${dict.itemCode eq log.action}">
+ <c:set var="actions">${dict.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${actions}"/>
+ </td>
+ <td>${log.foundTime }</td>
+ <td>${log.recvTime }</td>
+
+
+ <td>
+ <c:set var="entrances">${log.entranceId }</c:set>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
+ <c:if test="${dic.itemCode eq log.entranceId}">
+ <c:set var="entrances">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${entrances}"/>
+ </td>
+
+ <td>${log.p2pProto}</td>
+ <td>${log.p2pFileId}</td>
+ <td>${log.p2pKeyword}</td>
+ <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td>
+ <td>
+ <c:set var="transProtos">${log.transProto }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic">
+ <c:if test="${dic.itemCode eq log.transProto}">
+ <c:set var="transProtos">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${transProtos}"/>
+ </td>
+ <td>
+ <c:set var="addrTypes">${log.addrType }</c:set>
+ <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic">
+ <c:if test="${log.addrType==dic.itemCode}">
+ <c:set var="addrTypes">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${addrTypes}"/>
+ </td>
+
+ <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td>
+ <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td>
+ <td>${log.dPort }</td>
+ <td>${log.sPort }</td>
+ <td>
+ <c:set var="deviceIds">${log.deviceId }</c:set>
+ <c:forEach items="${fns:getDictList('DEVICE')}" var="device">
+ <c:if test="${device.itemCode eq log.deviceId}">
+ <c:set var="deviceIds">${device.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${deviceIds}"/>
+ </td>
+ <td>
+ <c:set var="linkIds">${log.linkId }</c:set>
+ <c:forEach items="${fns:getDictList('LINK')}" var="link">
+ <c:if test="${link.itemCode eq log.linkId}">
+ <c:set var="linkIds">${link.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${linkIds}"/>
+ </td>
+ <td>
+ <c:set var="encapTypes">${log.encapType }</c:set>
+ <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType">
+ <c:if test="${encapType.itemCode eq log.encapType}">
+ <c:set var="encapTypes">${encapType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${encapTypes}"/>
+ </td>
+ <td>
+ <c:set var="directions">${log.direction }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction">
+ <c:if test="${direction.itemCode eq log.direction}">
+ <c:set var="directions">${direction.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${directions}"/>
+ </td>
+ <td>${log.innerSmac }</td>
+ <td>${log.innerDmac }</td>
+ <td>
+ <c:set var="streamDirs">${log.streamDir }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType">
+ <c:if test="${streamType.itemCode eq log.streamDir}">
+ <c:set var="streamDirs">${streamType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${streamDirs}"/>
+ </td>
+
+ <td>${log.addrList }</td>
+ <td>${log.serverLocate}</td>
+ <td>${log.clientLocate}</td>
+ <td>${log.sAsn}</td>
+ <td>${log.dAsn}</td>
+ <td>${log.sSubscribeId}</td>
+ <td>${log.dSubscribeId}</td>
+ <td>${log.userRegion}</td>
+ <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if>
+ </tr>
+ </c:forEach>
+ </tbody>
+ </table>
+ <div class="page">${page}</div>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
+</body>
</html>
\ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/log/ntc/pptpLogList.jsp b/src/main/webapp/WEB-INF/views/log/ntc/pptpLogList.jsp index c4867a9..71f9857 100644 --- a/src/main/webapp/WEB-INF/views/log/ntc/pptpLogList.jsp +++ b/src/main/webapp/WEB-INF/views/log/ntc/pptpLogList.jsp @@ -1,332 +1,332 @@ -<%@ page contentType="text/html;charset=UTF-8"%> -<%@ include file="/WEB-INF/include/taglib.jsp"%> -<html> -<head> - -<script type="text/javascript"> - $(document).ready(function() { - // 筛选 - filterActionInit(); - // 重置 - $("#resetBtn").on("click",function(){ - $("select.selectpicker").each(function(){ - $(this).selectpicker('val',$(this).find('option:first').val()); - $(this).find("option").attr("selected",false); - $(this).find("option:first").attr("selected",true); - }); - $(".Wdate").attr("value",''); - $(':input','#searchForm') - .not(':button,:submit,:reset,:hidden') - .attr("value",''); - $("#searchForm")[0].reset(); - }); - }); -</script> - -</head> - -<body> - - <div class="page-content"> - <div class="theme-panel hidden-xs hidden-sm"> - </div> - <h3 class="page-title"> - <spring:message code="pptp_ip_control" /> - </h3> - <h5 class="page-header"></h5> - <div class="col-md-12"> - <div class="portlet"> - - <div class="portlet-body"> - - <div class="row"> - <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/pptpLogs/list" method="post" class="form-search"> - <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/> - <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/> - <!-- 筛选按钮展开状态--> - <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction}"/> - <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/> - <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/> - <!-- 搜索内容与操作按钮栏 --> - <div class="col-md-12"> - <div class="pull-left"> - <form:select path="service" class="selectpicker select2 input-small"> - <form:option value=""><spring:message code="action"/></form:option> - <c:forEach items="${serviceList}" var="service" - varStatus="satus"> - <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict"> - <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }"> - <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option> - </c:if> - </c:forEach> - </c:forEach> - </form:select> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control"><spring:message code="begin_date"/></span> - </div> - <input id="startTime" name="searchFoundStartTime" type="text" readonly="readonly" maxlength="20" class="form-control input-medium Wdate" data-options="buttons:buttons" - value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control"><spring:message code="end_date"/></span> - </div> - <input id="endTime" name="searchFoundEndTime" type="text" readonly="readonly" maxlength="20" class="form-control input-medium Wdate" data-options="buttons:buttons" - value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - <div class="pull-left"> - <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button> - <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button> - <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button> - </div> - - <div class="pull-right"> - <a class="btn btn-icon-only btn-default setfields tooltips" - data-container="body" data-placement="top" - data-original-title=<spring:message code="custom_columns"/> - href="javascript:;"> <i class="icon-wrench"></i> - </a> - </div> - </div> - <!-- /搜索内容与操作按钮栏--> - - <!-- 筛选搜索内容栏默认隐藏--> - <div class="col-md-12 filter-action-select-panle hide" > - <div class="row"> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="transport_layer_protocol"/>:</label> - <form:select path="transProto" class="selectpicker form-control select2"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict"> - <form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option> - </c:forEach> - </form:select> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="direction"/>:</label> - <form:select path="direction" class="selectpicker form-control select2"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="dict"> - <form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option> - </c:forEach> - </form:select> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="entrance"/>:</label> - <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" > - <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option> - </c:forEach> - </form:select> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clj_ip"/>:</label> - <input name="capIp" type="text" class="form-control" value="${log.capIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clientip"/>:</label> - <input name="sIp" type="text" class="form-control" value="${log.sIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="serverip"/>:</label> - <input name="dIp" type="text" class="form-control" value="${log.dIp}"/> - </div> - </div> - <div class="row"> - <div class="col-md-2"> - <label><spring:message code="cfg_id"></spring:message>:</label> - <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/> - </div> - </div> - </div> - </div> - </form:form> - - </div> - <sys:message content="${message}"/> - <div class="table-responsive"> - <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb"> - <thead> - <tr> - <th><spring:message code="log"/></th> - <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th> - <th class="sort-column service" isVisible="false"><spring:message code="action"/></th> - <th class="sort-column found_time"><spring:message code="found_time"/></th> - <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th> - - <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th> - - <th class="sort-column tunnel_type"><spring:message code="tunnel_type" /></th> - <th class="sort-column encrypt_mode"><spring:message code="encrypt_mode" /></th> - <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th> - <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th> - <th class="sort-column addr_type"><spring:message code='addr_type'/></th> - <th class="sort-column d_ip"><spring:message code="server_ip"/></th> - <th class="sort-column s_ip"><spring:message code="client_ip"/></th> - <th class="sort-column d_port"><spring:message code="server_port"/></th> - <th class="sort-column s_port"><spring:message code="client_port"/></th> - <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th> - <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th> - <th class="sort-column encap_type"><spring:message code="encap_type"/></th> - <th class="sort-column direction"><spring:message code="direction"/></th> - <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th> - <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th> - <th class="sort-column stream_dir"><spring:message code="stream_type"/></th> - - <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th> - <th class="sort-column server_locate"><spring:message code='server_locate'/></th> - <th class="sort-column client_locate"><spring:message code='client_locate'/></th> - <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th> - <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th> - <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th> - <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th> - <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th> - <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if> - </tr> - </thead> - <tbody> - <c:forEach var="log" items="${page.list }" varStatus="status"> - <tr> - <td> - <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a> - </td> - <td>${log.cfgId }</td> - <td> - <c:set var="actions">${log.action }</c:set> - <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict"> - <c:if test="${dict.itemCode eq log.action}"> - <c:set var="actions">${dict.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${actions}"/> - </td> - <td>${log.foundTime }</td> - <td>${log.recvTime }</td> - - <td> - <c:set var="entrances">${log.entranceId }</c:set> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> - <c:if test="${dic.itemCode eq log.entranceId}"> - <c:set var="entrances">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${entrances}"/> - </td> - <td> - <c:if test="${log.tunnelType eq 1}"><spring:message code="contrl_tunnel"/></c:if> - <c:if test="${log.tunnelType eq 2}"><spring:message code="data_tunnel"/></c:if> - </td> - <td> - <c:if test="${log.encryptMode eq 1}">MMPE</c:if><c:if test="${log.encryptMode eq 2}">IPSEC</c:if> - <c:if test="${log.encryptMode eq 3}">PAP</c:if><c:if test="${log.encryptMode eq 4}">CHAP</c:if> - <c:if test="${log.encryptMode eq 5}">MS-CHAP(v1/v2)</c:if><c:if test="${log.encryptMode eq 6}">EAP-TLS</c:if> - </td> - <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td> - <td> - <c:set var="transProtos">${log.transProto }</c:set> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic"> - <c:if test="${dic.itemCode eq log.transProto}"> - <c:set var="transProtos">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${transProtos}"/> - </td> - <td> - <c:set var="addrTypes">${log.addrType }</c:set> - <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic"> - <c:if test="${log.addrType==dic.itemCode}"> - <c:set var="addrTypes">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${addrTypes}"/> - </td> - <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td> - <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td> - <td>${log.dPort }</td> - <td>${log.sPort }</td> - <td> - <c:set var="deviceIds">${log.deviceId }</c:set> - <c:forEach items="${fns:getDictList('DEVICE')}" var="device"> - <c:if test="${device.itemCode eq log.deviceId}"> - <c:set var="deviceIds">${device.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${deviceIds}"/> - </td> - <td> - <c:set var="linkIds">${log.linkId }</c:set> - <c:forEach items="${fns:getDictList('LINK')}" var="link"> - <c:if test="${link.itemCode eq log.linkId}"> - <c:set var="linkIds">${link.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${linkIds}"/> - </td> - <td> - <c:set var="encapTypes">${log.encapType }</c:set> - <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType"> - <c:if test="${encapType.itemCode eq log.encapType}"> - <c:set var="encapTypes">${encapType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${encapTypes}"/> - </td> - <td> - <c:set var="directions">${log.direction }</c:set> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction"> - <c:if test="${direction.itemCode eq log.direction}"> - <c:set var="directions">${direction.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${directions}"/> - </td> - <td>${log.innerSmac }</td> - <td>${log.innerDmac }</td> - <td> - <c:set var="streamDirs">${log.streamDir }</c:set> - <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType"> - <c:if test="${streamType.itemCode eq log.streamDir}"> - <c:set var="streamDirs">${streamType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${streamDirs}"/> - </td> - - <td>${log.addrList }</td> - <td>${log.serverLocate}</td> - <td>${log.clientLocate}</td> - <td>${log.sAsn}</td> - <td>${log.dAsn}</td> - <td>${log.sSubscribeId}</td> - <td>${log.dSubscribeId}</td> - <td>${log.userRegion}</td> - <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if> - </tr> - </c:forEach> - </tbody> - </table><div class="page">${page}</div> - </div> - </div> - </div> - </div> - </div> -</body> -</html> +<%@ page contentType="text/html;charset=UTF-8"%>
+<%@ include file="/WEB-INF/include/taglib.jsp"%>
+<html>
+<head>
+
+<script type="text/javascript">
+ $(document).ready(function() {
+ // 筛选
+ filterActionInit();
+ // 重置
+ $("#resetBtn").on("click",function(){
+ $("select.selectpicker").each(function(){
+ $(this).selectpicker('val',$(this).find('option:first').val());
+ $(this).find("option").attr("selected",false);
+ $(this).find("option:first").attr("selected",true);
+ });
+ $(".Wdate").attr("value",'');
+ $(':input','#searchForm')
+ .not(':button,:submit,:reset,:hidden')
+ .attr("value",'');
+ $("#searchForm")[0].reset();
+ });
+ });
+</script>
+
+</head>
+
+<body>
+
+ <div class="page-content">
+ <div class="theme-panel hidden-xs hidden-sm">
+ </div>
+ <h3 class="page-title">
+ <spring:message code="pptp_ip_control" />
+ </h3>
+ <h5 class="page-header"></h5>
+ <div class="col-md-12">
+ <div class="portlet">
+
+ <div class="portlet-body">
+
+ <div class="row">
+ <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/pptpLogs/list" method="post" class="form-search">
+ <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
+ <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+ <!-- 筛选按钮展开状态-->
+ <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction}"/>
+ <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/>
+ <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/>
+ <!-- 搜索内容与操作按钮栏 -->
+ <div class="col-md-12">
+ <div class="pull-left">
+ <form:select path="service" class="selectpicker select2 input-small">
+ <form:option value=""><spring:message code="action"/></form:option>
+ <c:forEach items="${serviceList}" var="service"
+ varStatus="satus">
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
+ <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }">
+ <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:if>
+ </c:forEach>
+ </c:forEach>
+ </form:select>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control"><spring:message code="begin_date"/></span>
+ </div>
+ <input id="startTime" name="searchFoundStartTime" type="text" readonly="readonly" maxlength="20" class="form-control input-medium Wdate" data-options="buttons:buttons"
+ value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control"><spring:message code="end_date"/></span>
+ </div>
+ <input id="endTime" name="searchFoundEndTime" type="text" readonly="readonly" maxlength="20" class="form-control input-medium Wdate" data-options="buttons:buttons"
+ value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+ <div class="pull-left">
+ <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
+ <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
+ <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button>
+ </div>
+
+ <div class="pull-right">
+ <a class="btn btn-icon-only btn-default setfields tooltips"
+ data-container="body" data-placement="top"
+ data-original-title=<spring:message code="custom_columns"/>
+ href="javascript:;"> <i class="icon-wrench"></i>
+ </a>
+ </div>
+ </div>
+ <!-- /搜索内容与操作按钮栏-->
+
+ <!-- 筛选搜索内容栏默认隐藏-->
+ <div class="col-md-12 filter-action-select-panle hide" >
+ <div class="row">
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="transport_layer_protocol"/>:</label>
+ <form:select path="transProto" class="selectpicker form-control select2">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict">
+ <form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="direction"/>:</label>
+ <form:select path="direction" class="selectpicker form-control select2">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="dict">
+ <form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="entrance"/>:</label>
+ <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" >
+ <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clj_ip"/>:</label>
+ <input name="capIp" type="text" class="form-control" value="${log.capIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clientip"/>:</label>
+ <input name="sIp" type="text" class="form-control" value="${log.sIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="serverip"/>:</label>
+ <input name="dIp" type="text" class="form-control" value="${log.dIp}"/>
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-md-2">
+ <label><spring:message code="cfg_id"></spring:message>:</label>
+ <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/>
+ </div>
+ </div>
+ </div>
+ </div>
+ </form:form>
+
+ </div>
+ <sys:message content="${message}"/>
+ <div class="table-responsive">
+ <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb">
+ <thead>
+ <tr>
+ <th><spring:message code="log"/></th>
+ <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
+ <th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
+ <th class="sort-column found_time"><spring:message code="found_time"/></th>
+ <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
+
+ <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th>
+
+ <th class="sort-column tunnel_type"><spring:message code="tunnel_type" /></th>
+ <th class="sort-column encrypt_mode"><spring:message code="encrypt_mode" /></th>
+ <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th>
+ <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th>
+ <th class="sort-column addr_type"><spring:message code='addr_type'/></th>
+ <th class="sort-column d_ip"><spring:message code="server_ip"/></th>
+ <th class="sort-column s_ip"><spring:message code="client_ip"/></th>
+ <th class="sort-column d_port"><spring:message code="server_port"/></th>
+ <th class="sort-column s_port"><spring:message code="client_port"/></th>
+ <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th>
+ <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th>
+ <th class="sort-column encap_type"><spring:message code="encap_type"/></th>
+ <th class="sort-column direction"><spring:message code="direction"/></th>
+ <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th>
+ <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th>
+ <th class="sort-column stream_dir"><spring:message code="stream_type"/></th>
+
+ <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
+ <th class="sort-column server_locate"><spring:message code='server_locate'/></th>
+ <th class="sort-column client_locate"><spring:message code='client_locate'/></th>
+ <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
+ <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
+ <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
+ <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
+ <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
+ <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
+ </tr>
+ </thead>
+ <tbody>
+ <c:forEach var="log" items="${page.list }" varStatus="status">
+ <tr>
+ <td>
+ <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a>
+ </td>
+ <td>${log.cfgId }</td>
+ <td>
+ <c:set var="actions">${log.action }</c:set>
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict">
+ <c:if test="${dict.itemCode eq log.action}">
+ <c:set var="actions">${dict.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${actions}"/>
+ </td>
+ <td>${log.foundTime }</td>
+ <td>${log.recvTime }</td>
+
+ <td>
+ <c:set var="entrances">${log.entranceId }</c:set>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
+ <c:if test="${dic.itemCode eq log.entranceId}">
+ <c:set var="entrances">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${entrances}"/>
+ </td>
+ <td>
+ <c:if test="${log.tunnelType eq 1}"><spring:message code="contrl_tunnel"/></c:if>
+ <c:if test="${log.tunnelType eq 2}"><spring:message code="data_tunnel"/></c:if>
+ </td>
+ <td>
+ <c:if test="${log.encryptMode eq 1}">MMPE</c:if><c:if test="${log.encryptMode eq 2}">IPSEC</c:if>
+ <c:if test="${log.encryptMode eq 3}">PAP</c:if><c:if test="${log.encryptMode eq 4}">CHAP</c:if>
+ <c:if test="${log.encryptMode eq 5}">MS-CHAP(v1/v2)</c:if><c:if test="${log.encryptMode eq 6}">EAP-TLS</c:if>
+ </td>
+ <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td>
+ <td>
+ <c:set var="transProtos">${log.transProto }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic">
+ <c:if test="${dic.itemCode eq log.transProto}">
+ <c:set var="transProtos">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${transProtos}"/>
+ </td>
+ <td>
+ <c:set var="addrTypes">${log.addrType }</c:set>
+ <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic">
+ <c:if test="${log.addrType==dic.itemCode}">
+ <c:set var="addrTypes">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${addrTypes}"/>
+ </td>
+ <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td>
+ <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td>
+ <td>${log.dPort }</td>
+ <td>${log.sPort }</td>
+ <td>
+ <c:set var="deviceIds">${log.deviceId }</c:set>
+ <c:forEach items="${fns:getDictList('DEVICE')}" var="device">
+ <c:if test="${device.itemCode eq log.deviceId}">
+ <c:set var="deviceIds">${device.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${deviceIds}"/>
+ </td>
+ <td>
+ <c:set var="linkIds">${log.linkId }</c:set>
+ <c:forEach items="${fns:getDictList('LINK')}" var="link">
+ <c:if test="${link.itemCode eq log.linkId}">
+ <c:set var="linkIds">${link.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${linkIds}"/>
+ </td>
+ <td>
+ <c:set var="encapTypes">${log.encapType }</c:set>
+ <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType">
+ <c:if test="${encapType.itemCode eq log.encapType}">
+ <c:set var="encapTypes">${encapType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${encapTypes}"/>
+ </td>
+ <td>
+ <c:set var="directions">${log.direction }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction">
+ <c:if test="${direction.itemCode eq log.direction}">
+ <c:set var="directions">${direction.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${directions}"/>
+ </td>
+ <td>${log.innerSmac }</td>
+ <td>${log.innerDmac }</td>
+ <td>
+ <c:set var="streamDirs">${log.streamDir }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType">
+ <c:if test="${streamType.itemCode eq log.streamDir}">
+ <c:set var="streamDirs">${streamType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${streamDirs}"/>
+ </td>
+
+ <td>${log.addrList }</td>
+ <td>${log.serverLocate}</td>
+ <td>${log.clientLocate}</td>
+ <td>${log.sAsn}</td>
+ <td>${log.dAsn}</td>
+ <td>${log.sSubscribeId}</td>
+ <td>${log.dSubscribeId}</td>
+ <td>${log.userRegion}</td>
+ <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if>
+ </tr>
+ </c:forEach>
+ </tbody>
+ </table><div class="page">${page}</div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+</body>
+</html>
diff --git a/src/main/webapp/WEB-INF/views/log/ntc/sshList.jsp b/src/main/webapp/WEB-INF/views/log/ntc/sshList.jsp index 04f3649..7494372 100644 --- a/src/main/webapp/WEB-INF/views/log/ntc/sshList.jsp +++ b/src/main/webapp/WEB-INF/views/log/ntc/sshList.jsp @@ -1,341 +1,341 @@ -<%@ page contentType="text/html;charset=UTF-8"%> -<%@ include file="/WEB-INF/include/taglib.jsp"%> -<html> -<head> - -<script type="text/javascript"> -$(document).ready(function(){ - //筛选功能 - filterActionInit(); - //reset - $("#resetBtn").on("click",function(){ - $("select.selectpicker").each(function(){ - $(this).selectpicker('val',$(this).find('option:first').val()); - $(this).find("option").attr("selected",false); - $(this).find("option:first").attr("selected",true); - }); - $(".Wdate").attr("value",''); - $(':input','#searchForm') - .not(':button,:submit,:reset,:hidden') - .attr("value",''); - $("#searchForm")[0].reset(); - }); - -}); - -</script> -</head> -<body> - -<div class="page-content"> - <div class="theme-panel hidden-xs hidden-sm"> - </div> - <h3 class="page-title"> - <spring:message code="SSH"/> - </h3> - - <h5 class="page-header"></h5> - <div class="col-md-12"> - <div class="portlet"> - <div class="portlet-body"> - <div class="row" > - <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/ntcSshLogs" method="post" class="form-search"> - <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/> - <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/> - <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/> - <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/> - <!-- 筛选按钮展开状态--> - <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/> - - <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/> - - <!-- 搜索内容与操作按钮栏 --> - <div class="col-md-12"> - <div class="pull-left"> - <form:select path="service" class="selectpicker select2 input-small"> - <form:option value=""><spring:message code="action"/></form:option> - <c:forEach items="${serviceList}" var="service" - varStatus="satus"> - <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict"> - <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }"> - <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option> - </c:if> - </c:forEach> - </c:forEach> - </form:select> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="begin_date"/></span> - </div> - <input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" class="form-control input-medium Wdate " - value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="end_date"/></span> - </div> - <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate " - value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - - <div class="pull-left"> - <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button> - <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button> - <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button> - </div> - - <div class="pull-right"> - <a class="btn btn-icon-only btn-default setfields tooltips" - data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;"> - <i class="icon-wrench"></i> - </a> - </div> - </div> - - <!-- 筛选搜索内容栏默认隐藏--> - <div class="col-md-12 filter-action-select-panle hide" > - <div class="row"> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="transport_layer_protocol"/>:</label> - <c:set var="select"><spring:message code='select'/></c:set> - <form:select path="transProto" class="selectpicker form-control" > - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict"> - <form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option> - </c:forEach> - </form:select> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="direction"/>:</label> - <form:select path="direction" class="selectpicker select2 form-control"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="dict"> - <form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option> - </c:forEach> - </form:select> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="entrance"/>:</label> - <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" > - <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option> - </c:forEach> - </form:select> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clj_ip"/>:</label> - <input id=capIp name="capIp" class="form-control" type="text" value="${log.capIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clientip"/>:</label> - <input id="sIp" name="sIp" class="form-control" type="text" value="${log.sIp}"/> - </div> - </div> - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="serverip"/>:</label> - <input id="dIp" name="dIp" class="form-control" type="text" value="${log.dIp}"/> - </div> - </div> - </div> - <div class="row"> - <div class="col-md-2"> - <label><spring:message code="cfg_id"></spring:message>:</label> - <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/> - </div> - </div> - </div> - <!-- /筛选搜索内容栏 结束--> - </form:form> - </div> - <sys:message content="${message}"/> - <div class="table-responsive"> - <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb"> - <thead> - <tr> - <th><spring:message code="log"/></th> - <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th> - <th class="sort-column service" isVisible="false"><spring:message code="action"/></th> - <th class="sort-column found_time"><spring:message code="found_time"/></th> - <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th> - - <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th> - - <th class="sort-column version"><spring:message code='version'/></th> - <th class="sort-column host_key"><spring:message code='host_key'/></th> - <th class="sort-column host_cookie"><spring:message code='host_cookie'/></th> - <th class="sort-column encrypt_mode"><spring:message code='encrypt_mode'/></th> - <th class="sort-column mac"><spring:message code='mac'/></th> - <th class="sort-column tunnel_type"><spring:message code='tunnel_type'/></th> - <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th> - <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th> - <th class="sort-column addr_type"><spring:message code='addr_type'/></th> - <th class="sort-column d_ip"><spring:message code="server_ip"/></th> - <th class="sort-column s_ip"><spring:message code="client_ip"/></th> - <th class="sort-column d_port"><spring:message code="server_port"/></th> - <th class="sort-column s_port"><spring:message code="client_port"/></th> - <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th> - <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th> - <th class="sort-column encap_type"><spring:message code="encap_type"/></th> - <th class="sort-column direction"><spring:message code="direction"/></th> - <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th> - <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th> - <th class="sort-column stream_dir"><spring:message code="stream_type"/></th> - - <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th> - <th class="sort-column server_locate"><spring:message code='server_locate'/></th> - <th class="sort-column client_locate"><spring:message code='client_locate'/></th> - <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th> - <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th> - <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th> - <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th> - <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th> - <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if> - </tr> - </thead> - <tbody> - <c:forEach var="log" items="${page.list }" varStatus="status"> - <tr> - <td> - <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a> - </td> - <td>${log.cfgId }</td> - <td> - <c:set var="actions">${log.action }</c:set> - <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict"> - <c:if test="${dict.itemCode eq log.action}"> - <c:set var="actions">${dict.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${actions}"/> - </td> - - <td>${log.foundTime }</td> - <td>${log.recvTime }</td> - <td> - <c:set var="entrances">${log.entranceId }</c:set> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> - <c:if test="${dic.itemCode eq log.entranceId}"> - <c:set var="entrances">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${entrances}"/> - </td> - <td>${log.version }</td> - <td>${log.hostKey }</td> - <td>${log.hostCookie }</td> - <td>${log.encryptMode }</td> - <td>${log.mac }</td> - <td> - <c:if test="${log.tunnelType==1}">SSH</c:if> - <c:if test="${log.tunnelType==2}">SSHD</c:if> - <c:if test="${log.tunnelType==3}">SFTP</c:if> - </td> - <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td> - <td> - <c:set var="transProtos">${log.transProto }</c:set> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic"> - <c:if test="${dic.itemCode eq log.transProto}"> - <c:set var="transProtos">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${transProtos}"/> - </td> - <td> - <c:set var="addrTypes">${log.addrType }</c:set> - <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic"> - <c:if test="${log.addrType==dic.itemCode}"> - <c:set var="addrTypes">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${addrTypes}"/> - </td> - <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td> - <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td> - <td>${log.dPort }</td> - <td>${log.sPort }</td> - <td> - <c:set var="deviceIds">${log.deviceId }</c:set> - <c:forEach items="${fns:getDictList('DEVICE')}" var="device"> - <c:if test="${device.itemCode eq log.deviceId}"> - <c:set var="deviceIds">${device.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${deviceIds}"/> - </td> - <td> - <c:set var="linkIds">${log.linkId }</c:set> - <c:forEach items="${fns:getDictList('LINK')}" var="link"> - <c:if test="${link.itemCode eq log.linkId}"> - <c:set var="linkIds">${link.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${linkIds}"/> - </td> - <td> - <c:set var="encapTypes">${log.encapType }</c:set> - <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType"> - <c:if test="${encapType.itemCode eq log.encapType}"> - <c:set var="encapTypes">${encapType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${encapTypes}"/> - </td> - <td> - <c:set var="directions">${log.direction }</c:set> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction"> - <c:if test="${direction.itemCode eq log.direction}"> - <c:set var="directions">${direction.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${directions}"/> - </td> - <td>${log.innerSmac }</td> - <td>${log.innerDmac }</td> - <td> - <c:set var="streamDirs">${log.streamDir }</c:set> - <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType"> - <c:if test="${streamType.itemCode eq log.streamDir}"> - <c:set var="streamDirs">${streamType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${streamDirs}"/> - </td> - - <td>${log.addrList }</td> - <td>${log.serverLocate}</td> - <td>${log.clientLocate}</td> - <td>${log.sAsn}</td> - <td>${log.dAsn}</td> - <td>${log.sSubscribeId}</td> - <td>${log.dSubscribeId}</td> - <td>${log.userRegion}</td> - <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if> - </tr> - </c:forEach> - </tbody> - </table> - <div class="page">${page}</div> - </div> - </div> - </div> - </div> - </div> -</body> -</html> +<%@ page contentType="text/html;charset=UTF-8"%>
+<%@ include file="/WEB-INF/include/taglib.jsp"%>
+<html>
+<head>
+
+<script type="text/javascript">
+$(document).ready(function(){
+ //筛选功能
+ filterActionInit();
+ //reset
+ $("#resetBtn").on("click",function(){
+ $("select.selectpicker").each(function(){
+ $(this).selectpicker('val',$(this).find('option:first').val());
+ $(this).find("option").attr("selected",false);
+ $(this).find("option:first").attr("selected",true);
+ });
+ $(".Wdate").attr("value",'');
+ $(':input','#searchForm')
+ .not(':button,:submit,:reset,:hidden')
+ .attr("value",'');
+ $("#searchForm")[0].reset();
+ });
+
+});
+
+</script>
+</head>
+<body>
+
+<div class="page-content">
+ <div class="theme-panel hidden-xs hidden-sm">
+ </div>
+ <h3 class="page-title">
+ <spring:message code="SSH"/>
+ </h3>
+
+ <h5 class="page-header"></h5>
+ <div class="col-md-12">
+ <div class="portlet">
+ <div class="portlet-body">
+ <div class="row" >
+ <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/ntcSshLogs" method="post" class="form-search">
+ <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
+ <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+ <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/>
+ <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/>
+ <!-- 筛选按钮展开状态-->
+ <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/>
+
+ <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/>
+
+ <!-- 搜索内容与操作按钮栏 -->
+ <div class="col-md-12">
+ <div class="pull-left">
+ <form:select path="service" class="selectpicker select2 input-small">
+ <form:option value=""><spring:message code="action"/></form:option>
+ <c:forEach items="${serviceList}" var="service"
+ varStatus="satus">
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
+ <c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }">
+ <form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:if>
+ </c:forEach>
+ </c:forEach>
+ </form:select>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
+ </div>
+ <input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
+ value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="end_date"/></span>
+ </div>
+ <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
+ value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+
+ <div class="pull-left">
+ <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
+ <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
+ <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button>
+ </div>
+
+ <div class="pull-right">
+ <a class="btn btn-icon-only btn-default setfields tooltips"
+ data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
+ <i class="icon-wrench"></i>
+ </a>
+ </div>
+ </div>
+
+ <!-- 筛选搜索内容栏默认隐藏-->
+ <div class="col-md-12 filter-action-select-panle hide" >
+ <div class="row">
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="transport_layer_protocol"/>:</label>
+ <c:set var="select"><spring:message code='select'/></c:set>
+ <form:select path="transProto" class="selectpicker form-control" >
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict">
+ <form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="direction"/>:</label>
+ <form:select path="direction" class="selectpicker select2 form-control">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="dict">
+ <form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="entrance"/>:</label>
+ <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" >
+ <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clj_ip"/>:</label>
+ <input id=capIp name="capIp" class="form-control" type="text" value="${log.capIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clientip"/>:</label>
+ <input id="sIp" name="sIp" class="form-control" type="text" value="${log.sIp}"/>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="serverip"/>:</label>
+ <input id="dIp" name="dIp" class="form-control" type="text" value="${log.dIp}"/>
+ </div>
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-md-2">
+ <label><spring:message code="cfg_id"></spring:message>:</label>
+ <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/>
+ </div>
+ </div>
+ </div>
+ <!-- /筛选搜索内容栏 结束-->
+ </form:form>
+ </div>
+ <sys:message content="${message}"/>
+ <div class="table-responsive">
+ <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb">
+ <thead>
+ <tr>
+ <th><spring:message code="log"/></th>
+ <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
+ <th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
+ <th class="sort-column found_time"><spring:message code="found_time"/></th>
+ <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
+
+ <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th>
+
+ <th class="sort-column version"><spring:message code='version'/></th>
+ <th class="sort-column host_key"><spring:message code='host_key'/></th>
+ <th class="sort-column host_cookie"><spring:message code='host_cookie'/></th>
+ <th class="sort-column encrypt_mode"><spring:message code='encrypt_mode'/></th>
+ <th class="sort-column mac"><spring:message code='mac'/></th>
+ <th class="sort-column tunnel_type"><spring:message code='tunnel_type'/></th>
+ <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th>
+ <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th>
+ <th class="sort-column addr_type"><spring:message code='addr_type'/></th>
+ <th class="sort-column d_ip"><spring:message code="server_ip"/></th>
+ <th class="sort-column s_ip"><spring:message code="client_ip"/></th>
+ <th class="sort-column d_port"><spring:message code="server_port"/></th>
+ <th class="sort-column s_port"><spring:message code="client_port"/></th>
+ <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th>
+ <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th>
+ <th class="sort-column encap_type"><spring:message code="encap_type"/></th>
+ <th class="sort-column direction"><spring:message code="direction"/></th>
+ <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th>
+ <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th>
+ <th class="sort-column stream_dir"><spring:message code="stream_type"/></th>
+
+ <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
+ <th class="sort-column server_locate"><spring:message code='server_locate'/></th>
+ <th class="sort-column client_locate"><spring:message code='client_locate'/></th>
+ <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
+ <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
+ <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
+ <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
+ <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
+ <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
+ </tr>
+ </thead>
+ <tbody>
+ <c:forEach var="log" items="${page.list }" varStatus="status">
+ <tr>
+ <td>
+ <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a>
+ </td>
+ <td>${log.cfgId }</td>
+ <td>
+ <c:set var="actions">${log.action }</c:set>
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict">
+ <c:if test="${dict.itemCode eq log.action}">
+ <c:set var="actions">${dict.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${actions}"/>
+ </td>
+
+ <td>${log.foundTime }</td>
+ <td>${log.recvTime }</td>
+ <td>
+ <c:set var="entrances">${log.entranceId }</c:set>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
+ <c:if test="${dic.itemCode eq log.entranceId}">
+ <c:set var="entrances">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${entrances}"/>
+ </td>
+ <td>${log.version }</td>
+ <td>${log.hostKey }</td>
+ <td>${log.hostCookie }</td>
+ <td>${log.encryptMode }</td>
+ <td>${log.mac }</td>
+ <td>
+ <c:if test="${log.tunnelType==1}">SSH</c:if>
+ <c:if test="${log.tunnelType==2}">SSHD</c:if>
+ <c:if test="${log.tunnelType==3}">SFTP</c:if>
+ </td>
+ <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td>
+ <td>
+ <c:set var="transProtos">${log.transProto }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic">
+ <c:if test="${dic.itemCode eq log.transProto}">
+ <c:set var="transProtos">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${transProtos}"/>
+ </td>
+ <td>
+ <c:set var="addrTypes">${log.addrType }</c:set>
+ <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic">
+ <c:if test="${log.addrType==dic.itemCode}">
+ <c:set var="addrTypes">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${addrTypes}"/>
+ </td>
+ <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td>
+ <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td>
+ <td>${log.dPort }</td>
+ <td>${log.sPort }</td>
+ <td>
+ <c:set var="deviceIds">${log.deviceId }</c:set>
+ <c:forEach items="${fns:getDictList('DEVICE')}" var="device">
+ <c:if test="${device.itemCode eq log.deviceId}">
+ <c:set var="deviceIds">${device.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${deviceIds}"/>
+ </td>
+ <td>
+ <c:set var="linkIds">${log.linkId }</c:set>
+ <c:forEach items="${fns:getDictList('LINK')}" var="link">
+ <c:if test="${link.itemCode eq log.linkId}">
+ <c:set var="linkIds">${link.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${linkIds}"/>
+ </td>
+ <td>
+ <c:set var="encapTypes">${log.encapType }</c:set>
+ <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType">
+ <c:if test="${encapType.itemCode eq log.encapType}">
+ <c:set var="encapTypes">${encapType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${encapTypes}"/>
+ </td>
+ <td>
+ <c:set var="directions">${log.direction }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction">
+ <c:if test="${direction.itemCode eq log.direction}">
+ <c:set var="directions">${direction.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${directions}"/>
+ </td>
+ <td>${log.innerSmac }</td>
+ <td>${log.innerDmac }</td>
+ <td>
+ <c:set var="streamDirs">${log.streamDir }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType">
+ <c:if test="${streamType.itemCode eq log.streamDir}">
+ <c:set var="streamDirs">${streamType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${streamDirs}"/>
+ </td>
+
+ <td>${log.addrList }</td>
+ <td>${log.serverLocate}</td>
+ <td>${log.clientLocate}</td>
+ <td>${log.sAsn}</td>
+ <td>${log.dAsn}</td>
+ <td>${log.sSubscribeId}</td>
+ <td>${log.dSubscribeId}</td>
+ <td>${log.userRegion}</td>
+ <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if>
+ </tr>
+ </c:forEach>
+ </tbody>
+ </table>
+ <div class="page">${page}</div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+</body>
+</html>
diff --git a/src/main/webapp/WEB-INF/views/log/ntc/sslLogList.jsp b/src/main/webapp/WEB-INF/views/log/ntc/sslLogList.jsp index 440d75d..cd26a44 100644 --- a/src/main/webapp/WEB-INF/views/log/ntc/sslLogList.jsp +++ b/src/main/webapp/WEB-INF/views/log/ntc/sslLogList.jsp @@ -266,7 +266,7 @@ <tr>
<td>
<%-- <span id="open${status.index}" class="log-open-cfg" compileId="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span> --%>
- <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a>
+ <a href="javascript:void(0)" name="viewLogInfo" url="${ctx}/ntc/website/ajaxSslSubList" compileId="${log.cfgId }" ><i class="icon-book-open"></i></a>
</td>
<td>${log.cfgId }</td>
<td>
diff --git a/src/main/webapp/WEB-INF/views/log/pxy/pxyHttpList.jsp b/src/main/webapp/WEB-INF/views/log/pxy/pxyHttpList.jsp index 53ab505..8326c0d 100644 --- a/src/main/webapp/WEB-INF/views/log/pxy/pxyHttpList.jsp +++ b/src/main/webapp/WEB-INF/views/log/pxy/pxyHttpList.jsp @@ -1,394 +1,394 @@ -<%@ page contentType="text/html;charset=UTF-8"%> -<%@ include file="/WEB-INF/include/taglib.jsp"%> -<html> -<head> -<title> - ${logTitle }<spring:message code="log"/> -</title> -<script> - $(document).ready(function() { - //reset - $("#resetBtn").on("click",function(){ - $("select.selectpicker").each(function(){ - $(this).selectpicker('val',$(this).find('option:first').val()); - $(this).find("option").attr("selected",false); - $(this).find("option:first").attr("selected",true); - }); - $(".Wdate").attr("value",''); - $(':input','#searchForm') - .not(':button,:submit,:reset,:hidden') - .attr("value",''); - $("#searchForm")[0].reset(); - }); - //筛选功能 - filterActionInit(); - //异步获取voip相关信息 - $("span[id^=open]").click(function(){ - var openId=$(this).attr("id"); - var closeId=$(this).attr("id").replace("open","close"); - var index=$(this).attr("id").replace("open",""); - $("#"+openId).hide(); - $("#"+closeId).show(); - var compileId=$(this).attr("compileId"); -// var cfgId=$(this).attr("cfgId"); - if($("#"+openId).parent().parent().next("tr").hasClass("child")){ - $("#"+openId).parent().parent().next("tr").show(); - }else{ - $.ajax({ - type:'post', - async:false, - url:'${ctx}/proxy/control/httpRedirect/ajaxHttpSubList', - data:{"compileId":compileId,"index":index}, - dataType:"html", - success:function(data){ - var subTab="<tr class='child'>"+ - "<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>"; - var html=""; - html+="<div class='row'>"; - html = html+data; - subTab=subTab+html; - subTab+="</td>"; - subTab+="</tr>"; - $("#"+openId).parent().parent().after(subTab); - $("div[name='tabTitle"+index+"']").get(0).click(); - } - }); - } - - }); - - $("span[id^=close]").on("click",function(){ - var closeId=$(this).attr("id"); - var openId=$(this).attr("id").replace("close","open"); - $("#"+closeId).hide(); - $("#"+openId).show(); - $("#"+closeId).parent().parent().next("tr").hide(); - }); - }); -</script> -</head> -<body> - -<div class="page-content"> - <div class="theme-panel hidden-xs hidden-sm"> - </div> - <h3 class="page-title"> - ${logTitle } - </h3> - <h5 class="page-header"></h5> - <div class="col-md-12"> - <div class="portlet"> - <div class="portlet-body"> - <div class="row" > - <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/pxy/list" method="post" class="form-search"> - <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/> - <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/> - <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/> - <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/> - <!-- 筛选按钮展开状态--> - <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/><sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/> - <!-- 搜索内容与操作按钮栏 --> - <div class="col-md-12"> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="begin_date"/></span> - </div> - <input name="searchFoundStartTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium" - value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - <div class="pull-left"> - <div class="input-group"> - <div class="input-group-btn"> - <span class="selectpicker form-control" ><spring:message code="end_date"/></span> - </div> - <input name="searchFoundEndTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium" - value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> - </div> - </div> - <div class="pull-left"> - <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button> - <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button> - <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"/><i class="fa fa-angle-double-down"></i></button> - </div> - <div class="pull-right"> - <a class="btn btn-icon-only btn-default setfields tooltips" - data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;"> - <i class="icon-wrench"></i> - </a> - </div> - </div> - <!-- 搜索内容与操作按钮栏 --> - - <!-- 筛选搜索内容栏默认隐藏--> - <div class="col-md-12 filter-action-select-panle hide" > - <div class="row"> - <div class="col-md-2"> - <div class="form-group"> - <label class="control-label"><spring:message code='transport_layer_protocol'/>:</label> - <form:select path="transProto" class="selectpicker form-control"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="protocol" > - <form:option value="${protocol.itemCode}"><spring:message code="${protocol.itemValue}"></spring:message></form:option> - </c:forEach> - </form:select> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label class="control-label"><spring:message code="direction"/>:</label> - <form:select path="direction" class="selectpicker form-control"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction" > - <form:option value="${direction.itemCode}"><spring:message code="${direction.itemValue}"></spring:message></form:option> - </c:forEach> - </form:select> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="entrance"/>:</label> - <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search"> - <form:option value=""><spring:message code="select"/></form:option> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" > - <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option> - </c:forEach> - </form:select> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clj_ip"></spring:message>:</label> - <input name="capIp" type="text" class="form-control" value="${log.capIp }"/> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="clientip"></spring:message>:</label> - <input name="sIp" type="text" class="form-control" value="${log.sIp }"/> - </div> - </div> - - <div class="col-md-2"> - <div class="form-group"> - <label><spring:message code="serverip"></spring:message>:</label> - <input name="dIp" type="text" class="form-control" value="${log.dIp }"/> - </div> - </div> - </div> - <div class="row"> - <div class="col-md-2"> - <label><spring:message code="cfg_id"></spring:message>:</label> - <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/> - </div> - </div> - </div> - <!-- /筛选搜索内容栏 结束--> - </form:form> - </div> - <sys:message content="${message}"/> - <div class="table-responsive"> - <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb"> - <thead> - <tr> - <th><spring:message code="log"/></th> - <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th> - <th class="sort-column service" isVisible="false"><spring:message code="action"/></th> - <th class="sort-column found_time"><spring:message code="found_time"/></th> - <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th> - - <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th> - - <th class="sort-column url"> URL </th> - <c:if test="${fns:getUser().isAdmin()}"> - <th class="sort-column req_line"><spring:message code="req_line"/></th> - <th class="sort-column res_line"><spring:message code="res_line"/></th> - </c:if> - <th class="sort-column cookie"><spring:message code="cookie"/></th> - <th class="sort-column referer"><spring:message code="referer"/></th> - <th class="sort-column user_agent"><spring:message code="user_agent"/></th> - <th class="sort-column content_len"><spring:message code="content_len"/></th> - <th class="sort-column content_type"><spring:message code="content_type"/></th> - <th class="sort-column set_cookie"><spring:message code="set_cookie"/></th> - <th class="sort-column req_header"><spring:message code="req_header"/></th> - <th class="sort-column resp_header"><spring:message code="resp_header"/></th> - <%-- <th class="sort-column req_body"><spring:message code="req_body"/></th> - <th class="sort-column res_body"><spring:message code="res_body"/></th> --%> - <th class="sort-column website"><spring:message code="website"/></th> - - <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th> - <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th> - <th class="sort-column addr_type"><spring:message code='addr_type'/></th> - <th class="sort-column d_ip"><spring:message code="server_ip"/></th> - <th class="sort-column s_ip"><spring:message code="client_ip"/></th> - <th class="sort-column d_port"><spring:message code="server_port"/></th> - <th class="sort-column s_port"><spring:message code="client_port"/></th> - <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th> - <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th> - <th class="sort-column encap_type"><spring:message code="encap_type"/></th> - <th class="sort-column direction"><spring:message code="direction"/></th> - <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th> - <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th> - <th class="sort-column stream_dir"><spring:message code="stream_type"/></th> - - <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th> - <th class="sort-column server_locate"><spring:message code='server_locate'/></th> - <th class="sort-column client_locate"><spring:message code='client_locate'/></th> - <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th> - <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th> - <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th> - <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th> - <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th> - <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if> - </tr> - </thead> - <tbody> - <c:forEach var="log" items="${page.list }" varStatus="status"> - <tr> - <td> -<%-- <span id="open${status.index}" class="log-open-cfg" compileId="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span> - --%> <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a> - </td> - <td>${log.cfgId }</td> - <td> - <c:set var="actions">${log.action }</c:set> - <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict"> - <c:if test="${dict.itemCode eq log.action}"> - <c:set var="actions">${dict.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${actions}"/> - </td> - <td>${log.foundTime }</td> - <td>${log.recvTime }</td> - - <td> - <c:set var="entrances">${log.entranceId }</c:set> - <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic"> - <c:if test="${dic.itemCode eq log.entranceId}"> - <c:set var="entrances">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${entrances}"/> - </td> - - <td> - ${log.url} - <%-- <c:if test="${fn:startsWith(log.url, 'http')}"> - ${log.url} - </c:if> - <c:if test="${!fn:startsWith(log.url, 'http') and !empty log.url}"> - http://${log.url} - </c:if> --%> - </td> - <c:if test="${fns:getUser().isAdmin()}"> - <td>${log.reqLine }</td> - <td>${log.resLine }</td> - </c:if> - <td>${log.cookie }</td> - <td>${log.referer }</td> - <td>${log.userAgent }</td> - <td>${log.contentLen }</td> - <td>${log.contentType }</td> - <td>${log.setCookie }</td> - <td>${log.reqHeader }</td> - <td>${log.respHeader }</td> - <td>${log.website }</td> - - <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td> - <td> - <c:set var="transProtos">${log.transProto }</c:set> - <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic"> - <c:if test="${dic.itemCode eq log.transProto}"> - <c:set var="transProtos">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${transProtos}"/> - </td> - <td> - <c:set var="addrTypes">${log.addrType }</c:set> - <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic"> - <c:if test="${log.addrType==dic.itemCode}"> - <c:set var="addrTypes">${dic.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${addrTypes}"/> - </td> - <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td> - <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td> - <td>${log.dPort }</td> - <td>${log.sPort }</td> - <td> - <c:set var="deviceIds">${log.deviceId }</c:set> - <c:forEach items="${fns:getDictList('DEVICE')}" var="device"> - <c:if test="${device.itemCode eq log.deviceId}"> - <c:set var="deviceIds">${device.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${deviceIds}"/> - </td> - <td> - <c:set var="linkIds">${log.linkId }</c:set> - <c:forEach items="${fns:getDictList('LINK')}" var="link"> - <c:if test="${link.itemCode eq log.linkId}"> - <c:set var="linkIds">${link.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${linkIds}"/> - </td> - <td> - <c:set var="encapTypes">${log.encapType }</c:set> - <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType"> - <c:if test="${encapType.itemCode eq log.encapType}"> - <c:set var="encapTypes">${encapType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${encapTypes}"/> - </td> - <td> - <c:set var="directions">${log.direction }</c:set> - <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction"> - <c:if test="${direction.itemCode eq log.direction}"> - <c:set var="directions">${direction.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${directions}"/> - </td> - <td>${log.innerSmac }</td> - <td>${log.innerDmac }</td> - <td> - <c:set var="streamDirs">${log.streamDir }</c:set> - <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType"> - <c:if test="${streamType.itemCode eq log.streamDir}"> - <c:set var="streamDirs">${streamType.itemValue}</c:set> - </c:if> - </c:forEach> - <spring:message code="${streamDirs}"/> - </td> - - <td>${log.addrList }</td> - <td>${log.serverLocate}</td> - <td>${log.clientLocate}</td> - <td>${log.sAsn}</td> - <td>${log.dAsn}</td> - <td>${log.sSubscribeId}</td> - <td>${log.dSubscribeId}</td> - <td>${log.userRegion}</td> - <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if> - </tr> - </c:forEach> - </tbody> - </table> - <div class="page">${page}</div> - </div> - </div> - </div> - </div> -</div> -</body> +<%@ page contentType="text/html;charset=UTF-8"%>
+<%@ include file="/WEB-INF/include/taglib.jsp"%>
+<html>
+<head>
+<title>
+ ${logTitle }<spring:message code="log"/>
+</title>
+<script>
+ $(document).ready(function() {
+ //reset
+ $("#resetBtn").on("click",function(){
+ $("select.selectpicker").each(function(){
+ $(this).selectpicker('val',$(this).find('option:first').val());
+ $(this).find("option").attr("selected",false);
+ $(this).find("option:first").attr("selected",true);
+ });
+ $(".Wdate").attr("value",'');
+ $(':input','#searchForm')
+ .not(':button,:submit,:reset,:hidden')
+ .attr("value",'');
+ $("#searchForm")[0].reset();
+ });
+ //筛选功能
+ filterActionInit();
+ //异步获取voip相关信息
+ $("span[id^=open]").click(function(){
+ var openId=$(this).attr("id");
+ var closeId=$(this).attr("id").replace("open","close");
+ var index=$(this).attr("id").replace("open","");
+ $("#"+openId).hide();
+ $("#"+closeId).show();
+ var compileId=$(this).attr("compileId");
+// var cfgId=$(this).attr("cfgId");
+ if($("#"+openId).parent().parent().next("tr").hasClass("child")){
+ $("#"+openId).parent().parent().next("tr").show();
+ }else{
+ $.ajax({
+ type:'post',
+ async:false,
+ url:'${ctx}/proxy/control/httpRedirect/ajaxHttpSubList',
+ data:{"compileId":compileId,"index":index},
+ dataType:"html",
+ success:function(data){
+ var subTab="<tr class='child'>"+
+ "<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>";
+ var html="";
+ html+="<div class='row'>";
+ html = html+data;
+ subTab=subTab+html;
+ subTab+="</td>";
+ subTab+="</tr>";
+ $("#"+openId).parent().parent().after(subTab);
+ $("div[name='tabTitle"+index+"']").get(0).click();
+ }
+ });
+ }
+
+ });
+
+ $("span[id^=close]").on("click",function(){
+ var closeId=$(this).attr("id");
+ var openId=$(this).attr("id").replace("close","open");
+ $("#"+closeId).hide();
+ $("#"+openId).show();
+ $("#"+closeId).parent().parent().next("tr").hide();
+ });
+ });
+</script>
+</head>
+<body>
+
+<div class="page-content">
+ <div class="theme-panel hidden-xs hidden-sm">
+ </div>
+ <h3 class="page-title">
+ ${logTitle }
+ </h3>
+ <h5 class="page-header"></h5>
+ <div class="col-md-12">
+ <div class="portlet">
+ <div class="portlet-body">
+ <div class="row" >
+ <form:form id="searchForm" modelAttribute="log" action="${ctx}/log/pxy/list" method="post" class="form-search">
+ <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
+ <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+ <input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/>
+ <input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/>
+ <!-- 筛选按钮展开状态-->
+ <input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/><sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/>
+ <!-- 搜索内容与操作按钮栏 -->
+ <div class="col-md-12">
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
+ </div>
+ <input name="searchFoundStartTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
+ value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+ <div class="pull-left">
+ <div class="input-group">
+ <div class="input-group-btn">
+ <span class="selectpicker form-control" ><spring:message code="end_date"/></span>
+ </div>
+ <input name="searchFoundEndTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
+ value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
+ </div>
+ </div>
+ <div class="pull-left">
+ <button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
+ <button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
+ <button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"/><i class="fa fa-angle-double-down"></i></button>
+ </div>
+ <div class="pull-right">
+ <a class="btn btn-icon-only btn-default setfields tooltips"
+ data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
+ <i class="icon-wrench"></i>
+ </a>
+ </div>
+ </div>
+ <!-- 搜索内容与操作按钮栏 -->
+
+ <!-- 筛选搜索内容栏默认隐藏-->
+ <div class="col-md-12 filter-action-select-panle hide" >
+ <div class="row">
+ <div class="col-md-2">
+ <div class="form-group">
+ <label class="control-label"><spring:message code='transport_layer_protocol'/>:</label>
+ <form:select path="transProto" class="selectpicker form-control">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="protocol" >
+ <form:option value="${protocol.itemCode}"><spring:message code="${protocol.itemValue}"></spring:message></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label class="control-label"><spring:message code="direction"/>:</label>
+ <form:select path="direction" class="selectpicker form-control">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction" >
+ <form:option value="${direction.itemCode}"><spring:message code="${direction.itemValue}"></spring:message></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="entrance"/>:</label>
+ <form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
+ <form:option value=""><spring:message code="select"/></form:option>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" >
+ <form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option>
+ </c:forEach>
+ </form:select>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clj_ip"></spring:message>:</label>
+ <input name="capIp" type="text" class="form-control" value="${log.capIp }"/>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="clientip"></spring:message>:</label>
+ <input name="sIp" type="text" class="form-control" value="${log.sIp }"/>
+ </div>
+ </div>
+
+ <div class="col-md-2">
+ <div class="form-group">
+ <label><spring:message code="serverip"></spring:message>:</label>
+ <input name="dIp" type="text" class="form-control" value="${log.dIp }"/>
+ </div>
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-md-2">
+ <label><spring:message code="cfg_id"></spring:message>:</label>
+ <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/>
+ </div>
+ </div>
+ </div>
+ <!-- /筛选搜索内容栏 结束-->
+ </form:form>
+ </div>
+ <sys:message content="${message}"/>
+ <div class="table-responsive">
+ <table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb">
+ <thead>
+ <tr>
+ <th><spring:message code="log"/></th>
+ <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
+ <th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
+ <th class="sort-column found_time"><spring:message code="found_time"/></th>
+ <th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
+
+ <th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th>
+
+ <th class="sort-column url"> URL </th>
+ <c:if test="${fns:getUser().isAdmin()}">
+ <th class="sort-column req_line"><spring:message code="req_line"/></th>
+ <th class="sort-column res_line"><spring:message code="res_line"/></th>
+ </c:if>
+ <th class="sort-column cookie"><spring:message code="cookie"/></th>
+ <th class="sort-column referer"><spring:message code="referer"/></th>
+ <th class="sort-column user_agent"><spring:message code="user_agent"/></th>
+ <th class="sort-column content_len"><spring:message code="content_len"/></th>
+ <th class="sort-column content_type"><spring:message code="content_type"/></th>
+ <th class="sort-column set_cookie"><spring:message code="set_cookie"/></th>
+ <th class="sort-column req_header"><spring:message code="req_header"/></th>
+ <th class="sort-column resp_header"><spring:message code="resp_header"/></th>
+ <%-- <th class="sort-column req_body"><spring:message code="req_body"/></th>
+ <th class="sort-column res_body"><spring:message code="res_body"/></th> --%>
+ <th class="sort-column website"><spring:message code="website"/></th>
+
+ <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th>
+ <th class="sort-column trans_proto"><spring:message code="protocol_type"/></th>
+ <th class="sort-column addr_type"><spring:message code='addr_type'/></th>
+ <th class="sort-column d_ip"><spring:message code="server_ip"/></th>
+ <th class="sort-column s_ip"><spring:message code="client_ip"/></th>
+ <th class="sort-column d_port"><spring:message code="server_port"/></th>
+ <th class="sort-column s_port"><spring:message code="client_port"/></th>
+ <th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th>
+ <th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th>
+ <th class="sort-column encap_type"><spring:message code="encap_type"/></th>
+ <th class="sort-column direction"><spring:message code="direction"/></th>
+ <th class="sort-column inner_smac"><spring:message code="inner_smac"/></th>
+ <th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th>
+ <th class="sort-column stream_dir"><spring:message code="stream_type"/></th>
+
+ <th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
+ <th class="sort-column server_locate"><spring:message code='server_locate'/></th>
+ <th class="sort-column client_locate"><spring:message code='client_locate'/></th>
+ <th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
+ <th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
+ <th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
+ <th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
+ <th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
+ <c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
+ </tr>
+ </thead>
+ <tbody>
+ <c:forEach var="log" items="${page.list }" varStatus="status">
+ <tr>
+ <td>
+<%-- <span id="open${status.index}" class="log-open-cfg" compileId="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span>
+ --%> <a href="javascript:void(0)" name="viewLogInfo" url="${ctx}/proxy/control/httpRedirect/ajaxHttpSubList" compileId="${log.cfgId }" ><i class="icon-book-open"></i></a>
+ </td>
+ <td>${log.cfgId }</td>
+ <td>
+ <c:set var="actions">${log.action }</c:set>
+ <c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict">
+ <c:if test="${dict.itemCode eq log.action}">
+ <c:set var="actions">${dict.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${actions}"/>
+ </td>
+ <td>${log.foundTime }</td>
+ <td>${log.recvTime }</td>
+
+ <td>
+ <c:set var="entrances">${log.entranceId }</c:set>
+ <c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
+ <c:if test="${dic.itemCode eq log.entranceId}">
+ <c:set var="entrances">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${entrances}"/>
+ </td>
+
+ <td>
+ ${log.url}
+ <%-- <c:if test="${fn:startsWith(log.url, 'http')}">
+ ${log.url}
+ </c:if>
+ <c:if test="${!fn:startsWith(log.url, 'http') and !empty log.url}">
+ http://${log.url}
+ </c:if> --%>
+ </td>
+ <c:if test="${fns:getUser().isAdmin()}">
+ <td>${log.reqLine }</td>
+ <td>${log.resLine }</td>
+ </c:if>
+ <td>${log.cookie }</td>
+ <td>${log.referer }</td>
+ <td>${log.userAgent }</td>
+ <td>${log.contentLen }</td>
+ <td>${log.contentType }</td>
+ <td>${log.setCookie }</td>
+ <td>${log.reqHeader }</td>
+ <td>${log.respHeader }</td>
+ <td>${log.website }</td>
+
+ <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td>
+ <td>
+ <c:set var="transProtos">${log.transProto }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic">
+ <c:if test="${dic.itemCode eq log.transProto}">
+ <c:set var="transProtos">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${transProtos}"/>
+ </td>
+ <td>
+ <c:set var="addrTypes">${log.addrType }</c:set>
+ <c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic">
+ <c:if test="${log.addrType==dic.itemCode}">
+ <c:set var="addrTypes">${dic.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${addrTypes}"/>
+ </td>
+ <td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td>
+ <td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td>
+ <td>${log.dPort }</td>
+ <td>${log.sPort }</td>
+ <td>
+ <c:set var="deviceIds">${log.deviceId }</c:set>
+ <c:forEach items="${fns:getDictList('DEVICE')}" var="device">
+ <c:if test="${device.itemCode eq log.deviceId}">
+ <c:set var="deviceIds">${device.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${deviceIds}"/>
+ </td>
+ <td>
+ <c:set var="linkIds">${log.linkId }</c:set>
+ <c:forEach items="${fns:getDictList('LINK')}" var="link">
+ <c:if test="${link.itemCode eq log.linkId}">
+ <c:set var="linkIds">${link.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${linkIds}"/>
+ </td>
+ <td>
+ <c:set var="encapTypes">${log.encapType }</c:set>
+ <c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType">
+ <c:if test="${encapType.itemCode eq log.encapType}">
+ <c:set var="encapTypes">${encapType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${encapTypes}"/>
+ </td>
+ <td>
+ <c:set var="directions">${log.direction }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction">
+ <c:if test="${direction.itemCode eq log.direction}">
+ <c:set var="directions">${direction.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${directions}"/>
+ </td>
+ <td>${log.innerSmac }</td>
+ <td>${log.innerDmac }</td>
+ <td>
+ <c:set var="streamDirs">${log.streamDir }</c:set>
+ <c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType">
+ <c:if test="${streamType.itemCode eq log.streamDir}">
+ <c:set var="streamDirs">${streamType.itemValue}</c:set>
+ </c:if>
+ </c:forEach>
+ <spring:message code="${streamDirs}"/>
+ </td>
+
+ <td>${log.addrList }</td>
+ <td>${log.serverLocate}</td>
+ <td>${log.clientLocate}</td>
+ <td>${log.sAsn}</td>
+ <td>${log.dAsn}</td>
+ <td>${log.sSubscribeId}</td>
+ <td>${log.dSubscribeId}</td>
+ <td>${log.userRegion}</td>
+ <c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if>
+ </tr>
+ </c:forEach>
+ </tbody>
+ </table>
+ <div class="page">${page}</div>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
+</body>
</html>
\ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/login.jsp b/src/main/webapp/WEB-INF/views/login.jsp index bb26ec3..9ff4df6 100644 --- a/src/main/webapp/WEB-INF/views/login.jsp +++ b/src/main/webapp/WEB-INF/views/login.jsp @@ -6,122 +6,166 @@ <!--[if IE 8]> <html class="ie8 no-js"> <![endif]--> <!--[if IE 9]> <html class="ie9 no-js"> <![endif]--> <!--[if !IE]><!--> -<html> - <!--<![endif]--> - <!-- BEGIN HEAD --> - - <head> - <meta charset="utf-8" /> +<html lang="en"> + <head> + <meta charset="utf-8" /> <title>Login</title> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta content="width=device-width, initial-scale=1" name="viewport" /> <meta content="" name="description" /> <meta content="" name="author" /> <link rel="shortcut icon" href="${pageContext.request.contextPath}/static/pages/img/logo.ico" /> - <!-- BEGIN GLOBAL MANDATORY STYLES --> - <link href="${pageContext.request.contextPath}/static/global/plugins/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css" /> - <link href="${pageContext.request.contextPath}/static/global/plugins/simple-line-icons/simple-line-icons.min.css" rel="stylesheet" type="text/css" /> - <link href="${pageContext.request.contextPath}/static/global/plugins/bootstrap/css/bootstrap.min.css" rel="stylesheet" type="text/css" /> - <link href="${pageContext.request.contextPath}/static/global/plugins/bootstrap-switch/css/bootstrap-switch.min.css" rel="stylesheet" type="text/css" /> - <link href="${pageContext.request.contextPath}/static/global/plugins/jquery-validation/1.11.0/jquery.validate.min.css" type="text/css" rel="stylesheet" /> - <!-- END GLOBAL MANDATORY STYLES --> - <!-- BEGIN THEME GLOBAL STYLES --> - <link href="${pageContext.request.contextPath}/static/global/css/components.min.css" rel="stylesheet" id="style_components" type="text/css" /> - <link href="${pageContext.request.contextPath}/static/global/css/plugins.min.css" rel="stylesheet" type="text/css" /> - <!-- END THEME GLOBAL STYLES --> - <!-- BEGIN PAGE LEVEL STYLES --> - <link href="${pageContext.request.contextPath}/static/pages/css/login.css" rel="stylesheet" type="text/css" /> - <!-- END PAGE LEVEL STYLES --> - <!-- BEGIN THEME LAYOUT STYLES --> - <!-- END THEME LAYOUT STYLES --> - <link rel="shortcut icon" href="favicon.ico" /> </head> - <!-- END HEAD --> + <title>NTC</title> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + <!-- basic styles --> - <body class=""> - <div class="page-login"> - <div class="page-logo"> - <img src="${pageContext.request.contextPath}/static/pages/img/logo1.png" alt="logo" /> - </div> - <div class="page-body"> - <div class="login-head"> <spring:message code='login'/> </div> - <div class="login-body"> - <div class="pull-left login-avatar-block"> - <img src="${pageContext.request.contextPath}/static/pages/img/login-02.png" class="login-avatar"> </div> - <form id="loginForm" class="login-form pull-left" action="${pageContext.request.contextPath }/login" method="post"> - <div class="form-group"> - <input id="username" name="username" type="text" class="form-control placeholder-no-fix " value="${username}" placeholder="<spring:message code='fill_loginName'/>"/> - </div> - <div class="form-group"> - <input type="password" class="form-control placeholder-no-fix " id="password" name="password" placeholder="<spring:message code='fill_loginPassWord'/>"/> - </div> - - <%-- <c:if test="${not empty isValidateCodeLogin or isValidateCodeLogin==true}"> - <li class="yzm ${ (empty isValidateCodeLogin or isValidateCodeLogin==false) ?'hide':'' }"> - <span><input id="captcha" name="captcha" class="required" type="text" placeholder="验证码"/></span><cite><img alt="未获取验证码" src="${pageContext.request.contextPath}/captcha-image" id="captacha_image" class="mid"/></cite> - </li> - - </c:if> - - - <li><input type="submit" class="loginbtn" value="登录"/> - <label><input id="rememberMe" name="rememberMe" ${rememberMe ? 'checked' : ''} type="checkbox" />记住我(公共场所慎用)</label> - </li> --%> - - <div class="form-actions"> - <button type="submit" class="btn red uppercase"><spring:message code='login'/></button> - </div> - </form> - </div> - <div class="login-bottom"> - <!-- <a href="">Not Amanda Smith?</a> --> - </div> - + <link href="${pageContext.request.contextPath}/static/login/assets/css/bootstrap.min.css" rel="stylesheet" /> + <link rel="stylesheet" href="${pageContext.request.contextPath}/static/login/assets/css/font-awesome.min.css" /> + +<!-- <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Open+Sans:400,300" /> --> + <!-- ace styles --> - </div> - - <p> - <div id="messageBox" class="alert alert-danger ${empty message ? 'hide' : ''}"> - <label id="loginError" class="error"><spring:message code="${message}"></spring:message></label> - </div> - </p> + <link rel="stylesheet" href="${pageContext.request.contextPath}/static/login/assets/css/ace.min.css" /> + <link rel="stylesheet" href="${pageContext.request.contextPath}/static/login/assets/css/ace-rtl.min.css" /> + + <style type="text/css"> + .row{ + margin-left: 0px; + margin-right: 0px; + } + + body{ + max-height:1080px; + max-width:1920px; + background-color:rgba(255,255,255,0); + background-image: url("${pageContext.request.contextPath}/static/login/assets/images/login/backimg.png"); + background-repeat:no-repeat; + background-size: cover; + color: white; + /* width: 1920px; + height: 1080px; */ + } + .input-icon input{ + outline:0; + height:2.7em; + border:none; + background-color: rgba(255,255,255,0); + color: white; + } + .input-icon input:focus { + border:none; + background-color: rgba(255,255,255,0); + background-color: rgba(255,255,255,0); + color: white; + } + + .main_left{ + background-image: url("${pageContext.request.contextPath}/static/login/assets/images/login/two/login_03.png"); + background-repeat:no-repeat; + background-size:contain; + max-height: 695px; + max-width: 905px; + + } + .main_right{ + background-image: url("${pageContext.request.contextPath}/static/login/assets/images/login/login_06.png"); + background-repeat:no-repeat; + background-size: 100% 100%; + max-height: 501px; + max-width: 439px; + } + .box_chart{ - - - </div> - - - <div class="page-footer-custom"> - CEIEC All Rights Reserved,CEIEC © - <%-- Copyright © 2015-${fns:getStringProperty('copyrightYear','2015')} <a href="${pageContext.request.contextPath}">${fns:getStringProperty('productName','NIS')}</a> - Powered By <a href="${pageContext.request.contextPath}" target="_blank">NIS</a> ${fns:getStringProperty('version','1.0.0')} --%> - </div> - - - <!--[if lt IE 9]> + } + #ntc_chart{ + height: 280px; + } + #ntc_chart img{ + width: 300px; + height: 260px; + } + .foot{ + position: absolute; + bottom: 0px; + left: 50%; + } + #messageBox{ + position: absolute; + background-color: #2c3038; + border: 1px solid #545866; + border-radius: 10px; + } + </style> + </head> + <body class="login-layout" style="height: 100%;overflow: hidden"> + <div class="main-container" style="height: 100%;"> + <div class="row" style="height: 100%"> + <div class="col-sm-12" style="height: 100%"> + <div class="col-sm-7" style="height: 100%;padding-top: 6%;"> + <div class="main_left" style="height: 100%"> + <div class="box_chart"> + <div id="ntc_chart"> + </div> + </div> + </div> + </div> + <div class="col-sm-4" style="height: 100%;padding-top: 10%;padding-bottom: 5%;"> + <div class="main_right" style="height: 100%"> + <div class="widget-main" style="height: 100%"> + <form style="margin: 160px 50px 0px 50px;" id="loginForm" action="${pageContext.request.contextPath }/login" method="post"> + <fieldset> + <label class="block clearfix"> + <span class="block input-icon input-icon-left" style="border-bottom:1px solid #565656;"> + <i class="icon-user" style="padding-top: 4px;"></i> + <input id="username" type="text" name="username" class="form-control" value="${username}" placeholder="<spring:message code='fill_loginName'/>" style="padding-left: 30px;"/> + </span> + </label> + + <label class="block clearfix" style="margin-top: 35px;"> + <span class="block input-icon input-icon-left" style="border-bottom:1px solid #565656;"> + <i class="icon-lock" style="padding-top: 4px;"></i> + <input id="password" type="password" name="password" class="form-control" placeholder="<spring:message code='fill_loginPassWord'/>" style="padding-left: 30px;"/> + </span> + </label> + + <div class="space"></div> + + <div class="clearfix" style="text-align: center;margin-top: 24%;"> + <button type="submit" style="background-color: #4697d7!important;border-radius: 5px;" class="width-40 btn btn-sm btn-primary uppercase"> + <spring:message code='login'/> + </button> + </div> + + <div class="space-4"></div> + </fieldset> + </form> + + </div><!-- /widget-main --> + <p class="messageBox" style="margin-top:0px;" align="center"> + <div id="messageBox" class="alert alert-danger ${empty message ? 'hide' : ''}"> + <label id="loginError" class="error" style="width:410px;text-align: center"><spring:message code="${message}"></spring:message></label> + </div> + </p> + </div><!-- /widget-body --> + </div> + </div><!-- /.col --> + </div><!-- /.row --> + </div><!-- /.main-container --> + <div class="foot"> + <span>CEIEC All Rights Reserved, CEIEC © </span> + </div> + <!--[if lt IE 9]> <script src="${pageContext.request.contextPath}/static/global/plugins/respond.min.js"></script> <script src="${pageContext.request.contextPath}/static/global/plugins/excanvas.min.js"></script> <![endif]--> <!-- BEGIN CORE PLUGINS --> <script src="${pageContext.request.contextPath}/static/global/plugins/jquery.min.js" type="text/javascript"></script> - <script src="${pageContext.request.contextPath}/static/global/plugins/bootstrap/js/bootstrap.min.js" type="text/javascript"></script> <script src="${pageContext.request.contextPath}/static/global/plugins/js.cookie.min.js" type="text/javascript"></script> - <script src="${pageContext.request.contextPath}/static/global/plugins/bootstrap-hover-dropdown/bootstrap-hover-dropdown.min.js" type="text/javascript"></script> - <script src="${pageContext.request.contextPath}/static/global/plugins/jquery-slimscroll/jquery.slimscroll.min.js" type="text/javascript"></script> - <script src="${pageContext.request.contextPath}/static/global/plugins/jquery.blockui.min.js" type="text/javascript"></script> - <script src="${pageContext.request.contextPath}/static/global/plugins/bootstrap-switch/js/bootstrap-switch.min.js" type="text/javascript"></script> <script src="${pageContext.request.contextPath}/static/global/plugins/jquery-validation/1.11.0/jquery.validate.min.js" type="text/javascript"></script> <script src="${pageContext.request.contextPath}/static/global/plugins/jquery-validation/1.11.0/jquery.validate.method.js" type="text/javascript"></script> - <script src="${pageContext.request.contextPath}/static/global/scripts/jeesite.js" type="text/javascript"></script> - <!-- END CORE PLUGINS --> - <!-- BEGIN THEME GLOBAL SCRIPTS --> - <script src="${pageContext.request.contextPath}/static/global/scripts/app.min.js" type="text/javascript"></script> - <!-- END THEME GLOBAL SCRIPTS --> - <!-- BEGIN THEME LAYOUT SCRIPTS --> - <!-- END THEME LAYOUT SCRIPTS --> - - <script type="text/javascript"> + <!-- END CORE PLUGINS --> <script type="text/javascript"> $(document).ready(function(){ - $("#loginForm").validate({ rules: { username: { required: true}, @@ -154,6 +198,361 @@ }); </script> - </body> + <script type="text/javascript"> + window.jQuery || document.write("<script src='${pageContext.request.contextPath}/static/login/assets/js/jquery-2.0.3.min.js'>"+"<"+"/script>"); + </script> -</html>
\ No newline at end of file + <script src="${pageContext.request.contextPath}/static/login/echarts/echarts.min.js"></script> + <script type="text/javascript"> + if("ontouchend" in document) document.write("<script src='${pageContext.request.contextPath}/static/login/assets/js/jquery.mobile.custom.min.js'>"+"<"+"/script>"); + </script> + + <!-- inline scripts related to this page --> + <script type="text/javascript"> + var bodyHeight = window.screen.height; + $("body").height(bodyHeight+"px"); + $("#ntc_chart").height((bodyHeight-200)+"px"); + $("#ntc_chart").width($(".main_left").width()+"px"); + var lineheight_y = 346; + var lineheight_y2 = 724; + var lineheight_x2 = 761; + var lineheight_x = 346; + if(bodyHeight >800){ + lineheight_y = 485; + lineheight_x = 358; + lineheight_y2 = 705; + lineheight_x2 = 834; + } + + + var lines_Chart_chu = echarts.init(document.getElementById('ntc_chart')); + + /* 数据流出 */ + var lines_chu = [ + + /* 出端 */ + { + coords: [ + [lineheight_x2-35, lineheight_y2+70], + [1000, 968] + ], + effect: { + period: 1, + }, + lineStyle: { + normal: { + color: '#119dd8' + } + } + }, + { + coords: [ + [lineheight_x2-35, lineheight_y2+70], + [961, 941] + ], + effect: { + period: 0.5, + }, + lineStyle: { + normal: { + color: '#119dd8' + } + } + }, + { + coords: [ + [lineheight_x2-35, lineheight_y2+70], + [967, 868] + ], + effect: { + period: 1, + }, + lineStyle: { + normal: { + color: '#119dd8' + } + } + }, + { + coords: [ + [lineheight_x2, lineheight_y2], + [973, 818] + ], + effect: { + period: 0.4, + }, + lineStyle: { + normal: { + color: '#119dd8' + } + } + }, + { + coords: [ + [lineheight_x2, lineheight_y2], + [967, 868] + ], + effect: { + period: 1, + }, + lineStyle: { + normal: { + color: '#119dd8' + } + } + }, + { + coords: [ + [lineheight_x2, lineheight_y2], + [935, 952] + ], + effect: { + period: 0.4, + }, + lineStyle: { + normal: { + color: '#119dd8' + } + } + }, + { + coords: [ + [lineheight_x2, lineheight_y2], + [967, 868] + ], + effect: { + period: 0.5, + }, + lineStyle: { + normal: { + color: '#119dd8' + } + } + }, + { + coords: [ + [lineheight_x2, lineheight_y2], + [927, 978] + ], + effect: { + period: 0.5, + }, + lineStyle: { + normal: { + color: '#119dd8' + } + } + }, + { + coords: [ + [lineheight_x2-69, lineheight_y2+100], + [927, 978] + ], + effect: { + period: 0.5, + }, + lineStyle: { + normal: { + color: '#119dd8' + } + } + }, + { + coords: [ + [lineheight_x2-75, lineheight_y2+110], + [987, 1100] + ], + effect: { + period: 1, + }, + lineStyle: { + normal: { + color: '#119dd8' + } + } + }, + /* 左下 */ + { + coords: [ + [68, 83], + [388, lineheight_y] + ], + effect: { + period: 1, + }, + lineStyle: { + normal: { + color: '#119dd8' + } + } + }, + { + coords: [ + [68, 143], + [368, lineheight_y] + ], + effect: { + period: 1, + }, + lineStyle: { + normal: { + color: '#d29781' + } + } + }, + { + coords: [ + [68, 73], + [368, lineheight_y] + ], + effect: { + period: 0.5, + }, + lineStyle: { + normal: { + color: '#119dd8' + } + } + }, + { + coords: [ + [68, 273], + [lineheight_x, lineheight_y] + ], + effect: { + period: 1, + }, + lineStyle: { + normal: { + color: '#119dd8' + } + } + }, + { + coords: [ + [28, 373], + [lineheight_x, lineheight_y] + ], + effect: { + period: 1, + }, + lineStyle: { + normal: { + color: '#d29781' + } + } + }, + { + coords: [ + [248, 73], + [lineheight_x, lineheight_y] + ], + effect: { + period: 1, + }, + lineStyle: { + normal: { + color: '#ebf546' + } + } + }, + { + coords: [ + [192, 105], + [lineheight_x, lineheight_y] + ], + effect: { + period: 0.5, + }, + lineStyle: { + normal: { + color: '#d29781' + } + } + }, + { + coords: [ + [11, 216], + [lineheight_x, lineheight_y] + ], + effect: { + period: 1, + }, + lineStyle: { + normal: { + color: '#ebf546' + } + } + }, + { + coords: [ + [321, 87], + [lineheight_x+20, lineheight_y -30] + ], + effect: { + period: 0.5, + }, + lineStyle: { + normal: { + color: '#ebf546' + } + } + }, + ] + + var line_chu_option = { + backgroundColor: 'rgba(255,255,255,0)', + grid:{ + top: 10, + bottom: 10, + left: 10, + right: 10, + }, + xAxis: { + show: false, + min: 0, + max: 1000, + position: 'top', + axisPointer: { + show: false + } + }, + yAxis: { + show: false, + min: 0, + max: 1000, + axisPointer: { + show: false + } + }, + + // 线条动画 + series: [ + { + type: 'lines', + coordinateSystem: 'cartesian2d', + zlevel: 1, + + // 动画效果 + effect: { + show: true, + period: 4, //特效动画的时间,单位为 s + trailLength: 0.5, //特效尾迹的长度。0~1数值越大尾迹越长 + //color: '#d29781', + symbolSize: 6 + }, + lineStyle: { + normal: { + color: '#BF3EFF', + width: 0, + curveness: 0 + } + }, + data: lines_chu + } + ], + }; + lines_Chart_chu.setOption(line_chu_option); + </script> +</body> +</html> diff --git a/src/main/webapp/WEB-INF/views/login.jsp.bak b/src/main/webapp/WEB-INF/views/login.jsp.bak new file mode 100644 index 0000000..a609d25 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/login.jsp.bak @@ -0,0 +1,159 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8"
+ pageEncoding="UTF-8"%>
+<%@ page import="org.apache.shiro.web.filter.authc.FormAuthenticationFilter"%>
+<%@ include file="/WEB-INF/include/taglib.jsp"%>
+<!DOCTYPE html>
+<!--[if IE 8]> <html class="ie8 no-js"> <![endif]-->
+<!--[if IE 9]> <html class="ie9 no-js"> <![endif]-->
+<!--[if !IE]><!-->
+<html>
+ <!--<![endif]-->
+ <!-- BEGIN HEAD -->
+
+ <head>
+ <meta charset="utf-8" />
+ <title>Login</title>
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <meta content="width=device-width, initial-scale=1" name="viewport" />
+ <meta content="" name="description" />
+ <meta content="" name="author" />
+ <link rel="shortcut icon" href="${pageContext.request.contextPath}/static/pages/img/logo.ico" />
+ <!-- BEGIN GLOBAL MANDATORY STYLES -->
+ <link href="${pageContext.request.contextPath}/static/global/plugins/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css" />
+ <link href="${pageContext.request.contextPath}/static/global/plugins/simple-line-icons/simple-line-icons.min.css" rel="stylesheet" type="text/css" />
+ <link href="${pageContext.request.contextPath}/static/global/plugins/bootstrap/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
+ <link href="${pageContext.request.contextPath}/static/global/plugins/bootstrap-switch/css/bootstrap-switch.min.css" rel="stylesheet" type="text/css" />
+ <link href="${pageContext.request.contextPath}/static/global/plugins/jquery-validation/1.11.0/jquery.validate.min.css" type="text/css" rel="stylesheet" />
+ <!-- END GLOBAL MANDATORY STYLES -->
+ <!-- BEGIN THEME GLOBAL STYLES -->
+ <link href="${pageContext.request.contextPath}/static/global/css/components.min.css" rel="stylesheet" id="style_components" type="text/css" />
+ <link href="${pageContext.request.contextPath}/static/global/css/plugins.min.css" rel="stylesheet" type="text/css" />
+ <!-- END THEME GLOBAL STYLES -->
+ <!-- BEGIN PAGE LEVEL STYLES -->
+ <link href="${pageContext.request.contextPath}/static/pages/css/login.css" rel="stylesheet" type="text/css" />
+ <!-- END PAGE LEVEL STYLES -->
+ <!-- BEGIN THEME LAYOUT STYLES -->
+ <!-- END THEME LAYOUT STYLES -->
+ <link rel="shortcut icon" href="favicon.ico" /> </head>
+ <!-- END HEAD -->
+
+ <body class="">
+ <div class="page-login">
+ <div class="page-logo">
+ <img src="${pageContext.request.contextPath}/static/pages/img/logo1.png" alt="logo" />
+ </div>
+ <div class="page-body">
+ <div class="login-head"> <spring:message code='login'/> </div>
+ <div class="login-body">
+ <div class="pull-left login-avatar-block">
+ <img src="${pageContext.request.contextPath}/static/pages/img/login-02.png" class="login-avatar"> </div>
+ <form id="loginForm" class="login-form pull-left" action="${pageContext.request.contextPath }/login" method="post">
+ <div class="form-group">
+ <input id="username" name="username" type="text" class="form-control placeholder-no-fix " value="${username}" placeholder="<spring:message code='fill_loginName'/>"/>
+ </div>
+ <div class="form-group">
+ <input type="password" class="form-control placeholder-no-fix " id="password" name="password" placeholder="<spring:message code='fill_loginPassWord'/>"/>
+ </div>
+
+ <%-- <c:if test="${not empty isValidateCodeLogin or isValidateCodeLogin==true}">
+ <li class="yzm ${ (empty isValidateCodeLogin or isValidateCodeLogin==false) ?'hide':'' }">
+ <span><input id="captcha" name="captcha" class="required" type="text" placeholder="验证码"/></span><cite><img alt="未获取验证码" src="${pageContext.request.contextPath}/captcha-image" id="captacha_image" class="mid"/></cite>
+ </li>
+
+ </c:if>
+
+
+ <li><input type="submit" class="loginbtn" value="登录"/>
+ <label><input id="rememberMe" name="rememberMe" ${rememberMe ? 'checked' : ''} type="checkbox" />记住我(公共场所慎用)</label>
+ </li> --%>
+
+ <div class="form-actions">
+ <button type="submit" class="btn red uppercase"><spring:message code='login'/></button>
+ </div>
+ </form>
+ </div>
+ <div class="login-bottom">
+ <!-- <a href="">Not Amanda Smith?</a> -->
+ </div>
+
+
+ </div>
+
+ <p>
+ <div id="messageBox" class="alert alert-danger ${empty message ? 'hide' : ''}">
+ <label id="loginError" class="error"><spring:message code="${message}"></spring:message></label>
+ </div>
+ </p>
+
+
+
+ </div>
+
+
+ <div class="page-footer-custom">
+ CEIEC All Rights Reserved,CEIEC ©
+ <%-- Copyright © 2015-${fns:getStringProperty('copyrightYear','2015')} <a href="${pageContext.request.contextPath}">${fns:getStringProperty('productName','NIS')}</a> - Powered By <a href="${pageContext.request.contextPath}" target="_blank">NIS</a> ${fns:getStringProperty('version','1.0.0')} --%>
+ </div>
+
+
+ <!--[if lt IE 9]>
+<script src="${pageContext.request.contextPath}/static/global/plugins/respond.min.js"></script>
+<script src="${pageContext.request.contextPath}/static/global/plugins/excanvas.min.js"></script>
+<![endif]-->
+ <!-- BEGIN CORE PLUGINS -->
+ <script src="${pageContext.request.contextPath}/static/global/plugins/jquery.min.js" type="text/javascript"></script>
+ <script src="${pageContext.request.contextPath}/static/global/plugins/bootstrap/js/bootstrap.min.js" type="text/javascript"></script>
+ <script src="${pageContext.request.contextPath}/static/global/plugins/js.cookie.min.js" type="text/javascript"></script>
+ <script src="${pageContext.request.contextPath}/static/global/plugins/bootstrap-hover-dropdown/bootstrap-hover-dropdown.min.js" type="text/javascript"></script>
+ <script src="${pageContext.request.contextPath}/static/global/plugins/jquery-slimscroll/jquery.slimscroll.min.js" type="text/javascript"></script>
+ <script src="${pageContext.request.contextPath}/static/global/plugins/jquery.blockui.min.js" type="text/javascript"></script>
+ <script src="${pageContext.request.contextPath}/static/global/plugins/bootstrap-switch/js/bootstrap-switch.min.js" type="text/javascript"></script>
+ <script src="${pageContext.request.contextPath}/static/global/plugins/jquery-validation/1.11.0/jquery.validate.min.js" type="text/javascript"></script>
+ <script src="${pageContext.request.contextPath}/static/global/plugins/jquery-validation/1.11.0/jquery.validate.method.js" type="text/javascript"></script>
+ <script src="${pageContext.request.contextPath}/static/global/scripts/jeesite.js" type="text/javascript"></script>
+ <!-- END CORE PLUGINS -->
+ <!-- BEGIN THEME GLOBAL SCRIPTS -->
+ <script src="${pageContext.request.contextPath}/static/global/scripts/app.min.js" type="text/javascript"></script>
+ <!-- END THEME GLOBAL SCRIPTS -->
+ <!-- BEGIN THEME LAYOUT SCRIPTS -->
+ <!-- END THEME LAYOUT SCRIPTS -->
+
+ <script type="text/javascript">
+ $(document).ready(function(){
+
+
+ $("#loginForm").validate({
+ rules: {
+ username: { required: true},
+ password: { required: true},
+ captcha: {remote: "${pageContext.request.contextPath}/validateCode"}
+ },
+ messages: {
+ username: {required: '<spring:message code="fill_loginName"/>...'},password: {required: '<spring:message code="fill_loginPassWord"/>...'},
+ captcha: {remote: '<spring:message code="captcha_error"/>...', required: '<spring:message code="enter_captcha"/>...'}
+ },
+ errorLabelContainer: "#messageBox",
+ errorPlacement: function(error, element) {
+ error.appendTo($("#loginError").parent());
+ }
+ });
+
+ // 如果在框架或在对话框中,则弹出提示并跳转到首页
+ if(self.frameElement && self.frameElement.tagName == "IFRAME" || $('#left').length > 0 || $('.jbox').length > 0){
+ top.$.jBox.confirm("<spring:message code='login_timeout'/>","<spring:message code='info'/>",function(v,h,f){
+
+ if(v=="ok"){
+ top.location = "${pageContext.request.contextPath }";
+ }else{
+ top.location = "${pageContext.request.contextPath }";
+ }
+ },{buttonsFocus:1});
+ top.$('.jbox-body .jbox-icon').css('top','55px');
+ }
+
+
+ });
+ </script>
+ </body>
+
+</html>
\ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/newIndex.jsp b/src/main/webapp/WEB-INF/views/newIndex.jsp new file mode 100644 index 0000000..5802efc --- /dev/null +++ b/src/main/webapp/WEB-INF/views/newIndex.jsp @@ -0,0 +1,561 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8"
+ pageEncoding="UTF-8"%>
+<%@ include file="/WEB-INF/include/taglib.jsp"%>
+<!DOCTYPE html>
+<html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8" />
+ <title>NTC</title>
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <!-- basic styles -->
+ <link href="${pageContext.request.contextPath}/static/login/assets/css/bootstrap.min.css" rel="stylesheet" />
+ <link rel="stylesheet" href="${pageContext.request.contextPath}/static/login/assets/css/font-awesome.min.css" />
+
+ <link rel="stylesheet" href="${pageContext.request.contextPath}/static/login/assets/css/ace.min.css" />
+ <link rel="stylesheet" href="${pageContext.request.contextPath}/static/login/assets/css/ace-rtl.min.css" />
+ <!-- 数字特效 -->
+ <link href="${pageContext.request.contextPath}/static/login/numbergd/css/globle.css" rel="stylesheet">
+ <!-- 数字特效 -->
+
+ <style type="text/css">
+
+ .row{
+ margin-left: 0px;
+ margin-right: 0px;
+ }
+ body{
+ background-image: url("${pageContext.request.contextPath}/static/login/assets/images/main/back.png");
+ background-repeat:no-repeat;
+ background-color:#181818;
+ -moz-background-size:100% 100%;
+ /* min-width: 1920px;
+ min-height: 1000px; */
+ }
+ .page-sidebar-closed{
+ background-image: url("${pageContext.request.contextPath}/static/login/assets/images/main/back.png");
+ background-repeat:no-repeat;
+ background-color:#181818;
+ -moz-background-size:100% 100%;
+ /* min-width: 1920px;
+ min-height: 1000px; */
+ }
+ .main-container:after{
+ background-color:rgba(255,255,255,0);
+ }
+ .main-container{
+ padding: 40px 0px;
+ }
+ .main-container-inner{
+ background-image: url("${pageContext.request.contextPath}/static/login/assets/images/main/main_03.png");
+ background-repeat:no-repeat;
+ background-size:100% 100%;
+ -moz-background-size:100% 100%;
+ width: 1890px;
+ height: 976px;
+ }
+ .box_chart_flow{
+ position:relative;
+ width: 290px;
+ left: 17%;
+ top: 57%;
+ }
+
+ #ntc_flow{
+ height: 250px;
+ -webkit-transform: rotate(28deg) skewX(28deg);
+ }
+ .flow_gif{
+ position:absolute;
+ z-index: 12;
+ top: -238%;
+ left: -57%;
+ width: 1900px;
+ height: 1000px;
+ }
+ .rubbish_gif{
+ position:absolute;
+ z-index: 12;
+ top: -237%;
+ left: -51%;
+ width: 1900px;
+ height: 1000px;
+ }
+
+ .dataNums .tt span{width:100%;height:100%; font:bold 24px/75px "Arial";color:#ddf0ff;}
+ .dataNums .dataOne{ width:24px; height:54px; margin: 0px -4px; text-align: center; background: url(${pageContext.request.contextPath}/static/login/numbergd/images/num-bg1.png) no-repeat;}
+
+ .box_log_bar{
+ position:relative;
+ width: 260px;
+ top: 24%;
+ left: 30%;
+ }
+ #ntc_log_bar{
+ height: 160px;
+ -webkit-transform: rotate(28deg) skewX(28deg);
+ }
+
+ </style>
+ </head>
+ <body id="body_back">
+ <div class="main-container" id="main-container">
+ <div class="main-container-inner">
+ <div class="row" style="height: 100%;">
+ <div class="col-sm-12" style="height: 100%;">
+ <div class="col-sm-3" style="height: 100%;">
+ <div class="box_chart_flow">
+ <div id="ntc_flow">
+
+ </div>
+ <%-- <img alt="流量" class="flow_gif" src="${pageContext.request.contextPath}/static/login/assets/gif/flow.gif">
+ <img alt="rubbish" class="rubbish_gif" src="${pageContext.request.contextPath}/static/login/assets/gif/rubbish.gif">
+ --%>
+ </div>
+ </div>
+ <div class="col-sm-4"></div>
+ <div class="col-sm-2">
+ <div style="font-size: 14px;color:#fff; position: absolute;top: 48.8%;left: 70%;display: none;">条</div>
+ <div id="dataNums" style="margin-top: 285%; margin-left: 17px;"></div>
+ </div>
+ <div class="col-sm-3" style="height: 100%;">
+ <div class="row" style="height: 100%;">
+ <div class="col-sm-12" style="height: 100%;">
+ <div class="box_log_bar">
+ <div id="ntc_log_bar">
+
+ </div>
+ </div>
+ <!-- <div class="col-sm-6">
+ <div class="box_log_pie">
+ <div id="ntc_log_pie">
+
+ </div>
+ </div>
+ </div> -->
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div><!-- /.main-container-inner -->
+ </div><!-- /.main-container -->
+ <!-- basic scripts -->
+ <script type="text/javascript">
+ window.jQuery || document.write("<script src='${pageContext.request.contextPath}/static/login/assets/js/jquery-2.0.3.min.js'>"+"<"+"script>");
+ </script>
+ <script type="text/javascript">
+ if("ontouchend" in document) document.write("<script src='${pageContext.request.contextPath}/static/login/assets/js/jquery.mobile.custom.min.js'>"+"<"+"script>");
+ </script>
+ <script src="${pageContext.request.contextPath}/static/login/assets/js/bootstrap.min.js"></script>
+ <script src="${pageContext.request.contextPath}/static/login/assets/js/typeahead-bs2.min.js"></script>
+ <!-- page specific plugin scripts -->
+ <!--[if lte IE 8]>
+ <script src="assets/js/excanvas.min.js"></script>
+ <![endif]-->
+ <script src="${pageContext.request.contextPath}/static/login/assets/js/jquery-ui-1.10.3.custom.min.js"></script>
+ <script src="${pageContext.request.contextPath}/static/login/assets/js/jquery.ui.touch-punch.min.js"></script>
+ <script src="${pageContext.request.contextPath}/static/login/assets/js/jquery.slimscroll.min.js"></script>
+ <script src="${pageContext.request.contextPath}/static/login/assets/js/jquery.easy-pie-chart.min.js"></script>
+ <script src="${pageContext.request.contextPath}/static/login/assets/js/jquery.sparkline.min.js"></script>
+ <script src="${pageContext.request.contextPath}/static/login/assets/js/flot/jquery.flot.min.js"></script>
+ <script src="${pageContext.request.contextPath}/static/login/assets/js/flot/jquery.flot.pie.min.js"></script>
+ <script src="${pageContext.request.contextPath}/static/login/assets/js/flot/jquery.flot.resize.min.js"></script>
+ <!-- ace scripts -->
+ <script src="${pageContext.request.contextPath}/static/login/assets/js/ace-elements.min.js"></script>
+ <script src="${pageContext.request.contextPath}/static/login/assets/js/ace.min.js"></script>
+ <!-- inline scripts related to this page -->
+ <script src="${pageContext.request.contextPath}/static/login/echarts/echarts.min.js"></script>
+ <!-- 数字特效 -->
+ <script type="text/javascript" src="${pageContext.request.contextPath}/static/login/numbergd/js/index.js"></script>
+ <!-- 数字特效 -->
+
+ <script type="text/javascript">
+ $(document).ready(function(){
+ $.ajax({
+ url: '${ctx}/newIndex/ntcEntranceReport',
+ type : "get" ,
+ dataType:"json",
+ cache:false,
+ async:true,
+ timeout:10000,//超时时间设置,查询接口时间过长超时
+ success:function (rs) {
+ $(rs).each(function(i, d) {
+ var time=[];
+ var resultData=[];
+ time.push({
+ x: d.reportTime,
+ });
+ resultData.push({
+ name: "",
+ y: d.sum,
+ });
+
+ });
+
+ line();
+ },
+ complete:function(XMLHttpRequest,status){//超时设置
+ }
+ });
+ });
+
+
+ function line(time,resultData){
+ setInterval(function() {
+
+ timeData.shift();
+ timeData.push(timeSet(-1));
+
+ data.shift();
+ data.push(randomData());
+
+ myChart.setOption({
+ backgroundColor: "rgba(255,255,255,0)",
+ xAxis: {
+ data: timeData
+ },
+ series: [{
+
+ data: data
+ }]
+ });
+ }, 5000);
+ }
+ /* 流量折线图 */
+ var myChart = echarts.init(document.getElementById('ntc_flow'));
+ var log_bar_Chart = echarts.init(document.getElementById('ntc_log_bar'));
+
+ // 颜色
+ var lightBlue = {
+ type: 'linear',
+ x: 0,
+ y: 0,
+ x2: 0,
+ y2: 1,
+ colorStops: [{
+ offset: 0,
+ color: 'rgba(0, 192, 255, 1)' // 0% 处的颜色
+ }, {
+ offset: 1,
+ color: 'rgba(0, 192, 255, 0.1)' // 100% 处的颜色
+ }],
+ globalCoord: false // 缺省为 false
+ }
+ var darkBlue = {
+ type: 'linear',
+ x: 0,
+ y: 0,
+ x2: 0,
+ y2: 1,
+ colorStops: [{
+ offset: 0,
+ color: 'rgba(41, 121, 255, 1)' // 0% 处的颜色
+ }, {
+ offset: 1,
+ color: 'rgba(41, 121, 255, 0.1)' // 100% 处的颜色
+ }],
+ globalCoord: false // 缺省为 false
+ }
+ function randomData() {
+ value = Math.random() * 1000;
+ return {
+ value: Math.round(value)
+ }
+ }
+ // 时间设置
+ function checkTime(i) {
+ if (i < 10) {
+ i = "0" + i;
+ }
+ return i;
+ }
+ function timeSet(i) {
+ var newTime = new Date();
+ var h = newTime.getHours(); ;
+ var m = newTime.getMinutes();
+ var s = newTime.getSeconds();
+ if(i != -1){
+ i = i +1;
+ s = s - i*5;
+ if(s<0){
+ m = m - 1;
+ s = 60 - Math.abs(s);
+ }
+ }
+ h = checkTime(h);
+ m = checkTime(m);
+ s = checkTime(s);
+ return [h, m].join(':')+"'"+s+"''";
+ }
+ var data = [];
+ var timeData = [];
+
+ for (var i = 0; i < 5; i++) {
+ timeData.unshift(timeSet(i));
+ data.unshift(randomData());
+ }
+ // 指定图表的配置项和数据
+ var option = {
+ backgroundColor: "rgba(255,255,255,0)",
+ tooltip: {
+ show: false
+ },
+ xAxis: {
+ type: 'category',
+ boundaryGap: false,
+ axisLine: {
+ lineStyle: {
+ color: '#4bbbf8',
+ shadowColor: 'rgba(75, 211, 255, 0.5)',
+ shadowBlur: 5
+ }
+ },
+
+ axisLabel: {
+ color: '#fff',
+ fontSize: 12
+ },
+ splitLine: {
+ show: false
+ },
+ data: timeData,
+
+ },
+ yAxis: [{
+
+ min: 0,
+ axisLine: {
+ lineStyle: {
+ color: '#4bbbf8',
+ shadowColor: 'rgba(75, 211, 255, 0.5)',
+ shadowBlur: 5
+ }
+ },
+ axisLabel: {
+ color: 'white',
+ fontSize: 12
+ },
+ splitLine: {
+ lineStyle: {
+ color: 'rgba(75, 211, 255, 0.5)',
+ type: 'dashed'
+ }
+ }
+ }],
+ series: [{
+ name: '数量',
+ type: 'line',
+ smooth: true,
+
+ label: {
+ show: true,
+ position: 'top',
+ color: '#fff',
+ fontSize: 14
+ },
+ itemStyle: {
+
+ color: function(params) {
+ return params.dataIndex % 2 ? darkBlue : lightBlue;
+ }
+ },
+ areaStyle: { //区域填充样式
+ normal: {
+ //线性渐变,前4个参数分别是x0,y0,x2,y2(范围0~1);相当于图形包围盒中的百分比。如果最后一个参数是‘true’,则该四个值是绝对像素位置。
+ color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
+ { offset: 0, color: 'rgba(61,234,255, 0.9)'},
+ { offset: 0.7, color: 'rgba(61,234,255, 0)'}
+ ], false),
+
+ shadowColor: 'rgba(53,142,215, 0.9)', //阴影颜色
+ shadowBlur: 20 //shadowBlur设图形阴影的模糊大小。配合shadowColor,shadowOffsetX/Y, 设置图形的阴影效果。
+ }
+ },
+ data: data
+ }],
+
+ };
+
+ myChart.setOption(option);
+
+
+
+ /* 日志柱状图 */
+ var bar_option = {
+ //color: ['#3398DB'],
+ tooltip: {
+ trigger: 'axis',
+ backgroundColor:'rgba(255,255,255,0.8)',
+ extraCssText: 'box-shadow: 0 0 8px rgba(0, 0, 0, 0.3);',
+ textStyle:{
+ color:'#6a717b',
+ },
+ },
+ grid: {
+ left: '3%',
+ right: '15%',
+ bottom: '3%',
+ top:'15%',
+ containLabel: true
+ },
+ legend: {
+ show:false,
+ textStyle:{
+ color:'#fff',
+ },
+ data: ['日志']
+ },
+ yAxis: [{
+ type: 'category',
+
+ data: ['12时','11时','10时','09时','08时'],
+ inverse: true,
+ axisTick: {
+ alignWithLabel: true,
+
+
+ },
+ axisLabel: {
+ margin: 5,
+ textStyle: {
+ fontSize: 12,
+ color:'#fff'
+ }
+ },
+ axisLine: {
+ lineStyle: {
+ color: '#fff'
+ }
+ },
+
+ }, {
+ type: 'category',
+ data: [],
+ axisLabel: {
+ show: false,
+ color: '#fff',
+ fontSize: 14,
+ },
+ splitLine: {
+ show: false
+ },
+ axisLine: {
+ show: true,
+ lineStyle: {
+ color: 'rgba(255,255,255,0)',
+ },
+ },
+ axisTick: {
+ show: false
+ },
+ }],
+ xAxis: [{
+ type: 'value',
+ name: '',
+ position:'top',
+ max:8000000,
+ axisLabel: {
+
+ textStyle: {
+ fontSize: 12,
+ color:'#fff'
+ }
+ },
+ axisLine: {
+ lineStyle: {
+ color: '#fff'
+ }
+ },
+ axisLabel: {
+ formatter: (value, index) => {
+ return value/10000
+ },
+ },
+ splitLine: {
+ show:false,
+ lineStyle: {
+ color: '#fff'
+ }
+ }
+ }],
+ backgroundColor: 'rgba(255,255,255,0)',
+ series: [{
+ name: '日志',
+ type: 'bar',
+
+ data: [7827896, 7472072, 7433391, 7137253, 6382192],
+ label: {
+
+ normal: {
+ show: true,
+ formatter: (param) => {
+ return (param.value/10000).toFixed(2);
+ },
+ position: 'insideRight',
+ textStyle: {
+ color: 'white' //color of value
+ }
+ }
+ },
+
+ itemStyle: {
+ normal: {
+ show: true,
+ color: new echarts.graphic.LinearGradient(0, 0, 1, 0, [{
+ offset: 0,
+ color: '#fac28f' // 0% 处的颜色
+ }, {
+ offset: 1,
+ color: '#fc867a' // 100% 处的颜色
+ }], false),
+ //barBorderRadius: [0,10,10,0],
+ borderWidth: 10,
+ },
+ emphasis: {
+ shadowBlur: 15,
+ shadowColor: 'rgba(105,123, 214, 0.7)'
+ }
+ },
+ barWidth: '50%',
+
+ },
+ {
+
+ type: 'bar',
+ yAxisIndex: 1,
+ // barGap: '-100%',
+ data: [8000000, 8000000, 8000000, 8000000, 8000000],
+ barWidth: 15,
+
+ itemStyle: {
+
+ color: 'rgba(255,255,255,0.2)',
+ },
+ }]
+ };
+ log_bar_Chart.setOption(bar_option);
+ setInterval(function() {
+ log_bar_Chart.clear();
+ log_bar_Chart.setOption(bar_option);
+ }, 5000);
+
+ /* 数字特效 */
+ function animalNum(){
+ var value = rand(100,999);;
+
+ $("#dataNums").rollNum({
+ deVal:value
+ });
+ };
+
+ function rand(min,max) {
+ return Math.floor(Math.random()*(max-min))+min;
+ }
+
+ animalNum();
+ setInterval('animalNum()',5000);
+ </script>
+</body>
+</html>
+
diff --git a/src/main/webapp/static/global/plugins/jquery-validation/1.11.0/jquery.validate.method.js b/src/main/webapp/static/global/plugins/jquery-validation/1.11.0/jquery.validate.method.js index 1275eba..5a835fc 100644 --- a/src/main/webapp/static/global/plugins/jquery-validation/1.11.0/jquery.validate.method.js +++ b/src/main/webapp/static/global/plugins/jquery-validation/1.11.0/jquery.validate.method.js @@ -976,7 +976,7 @@ jQuery.validator.addMethod("areaUnique",function(value,element) { return flag; }); -// 地址池IP+MASK不可重复校验 +// 地址池IP+MASK组合不可重复校验 jQuery.validator.addMethod("ipMaskSole",function(value,element) { var flag = true; var ipArray = []; @@ -995,21 +995,15 @@ jQuery.validator.addMethod("ipMaskSole",function(value,element) { flag = false; } - var cfgId = $(element).attr("cfgId"); - if((flag == true) && (!cfgId)){ - ipArray = []; - ipArray.push(value2); - $(".ipMaskSole").each(function(){ - ipArray.push($(this).val()); - }); - + var oldIp = $(element).attr("oldIp"); + if(flag == true){ var ctx = $(element).attr("ctx"); var url = ctx+"/maintenance/ipMultiplexPoolCfg/checkAddrPoolIp"; $.ajax({ type:'post', async:false, url: url, - data:{"ips":ipArray.join(',')}, + data:{"ip":value2,"oldIp":oldIp}, success:function(data){ flag = data; } diff --git a/src/main/webapp/static/global/scripts/common.js b/src/main/webapp/static/global/scripts/common.js index 36745c6..3624529 100644 --- a/src/main/webapp/static/global/scripts/common.js +++ b/src/main/webapp/static/global/scripts/common.js @@ -67,6 +67,28 @@ $(function(){ setIsHexBin(this); }); $("a[name=viewLogInfo]>i").on("click",function(){ + /* + var url=$(this).parents("a").attr("url"); + var compileId=$(this).parents("a").attr("compileId"); + var pzhtml=""; + var index="0"; + if((url!=null && url!='') && (compileId !=null && compileId!='')){ + $.ajax({ + type:'post', + async:false, + url:url, + data:{"compileId":compileId,"index":index}, + dataType:"html", + success:function(data){ + var subTab=""; + var htmls=""; + htmls+="<div class='row'>"; + htmls = htmls+data; + subTab=subTab+htmls; + pzhtml=subTab; + } + }); + }*/ var html = "<div class='logInfo'>"; $(this).parents("tr").find("td").each(function(index,element){ if(index >0){ @@ -88,9 +110,24 @@ $(function(){ html+="<div class='col-md-4'><label>"+$(".table tr th").eq(index).text().trim()+":</label></div>"; html+="<div class='col-md-6' style='width:330px;display:block;word-break:break-all;word-wrap:break-word;'><label>"+text+"</label></div>"; html+="</div>"; - } }) + /* + if(pzhtml!=null && pzhtml!=""){ + html+="<hr style='width: 105%;margin-left: -5%;border-top: 1px solid #c5c5c5;' />"; + html+="<div style='width:100%'>" + html+=pzhtml; + html +='<script>'; + html +='$(document).ready(function() {' + html +="if(document.getElementsByName('tabTitle0')[0]!=null){ "; + html +=" document.getElementsByName('tabTitle0')[0].click();"; + html +="}" + html +="})"; + html +="</script>"; + html+="</div>" + } + html +="</br></div>"; + top.$.jBox(html,{height:450,width:700,title:"<i class='icon-book-open'></i> Log Info",showIcon:false,opacity:0.5});*/ html +="</div>"; top.$.jBox(html,{height:450,width:600,title:"<i class='icon-book-open'></i> Log Info",showIcon:false,opacity:0.5}); diff --git a/src/main/webapp/static/login/assets/avatars/Thumbs.db b/src/main/webapp/static/login/assets/avatars/Thumbs.db Binary files differnew file mode 100644 index 0000000..4a85a08 --- /dev/null +++ b/src/main/webapp/static/login/assets/avatars/Thumbs.db diff --git a/src/main/webapp/static/login/assets/avatars/avatar.png b/src/main/webapp/static/login/assets/avatars/avatar.png Binary files differnew file mode 100644 index 0000000..b26245d --- /dev/null +++ b/src/main/webapp/static/login/assets/avatars/avatar.png diff --git a/src/main/webapp/static/login/assets/avatars/avatar1.png b/src/main/webapp/static/login/assets/avatars/avatar1.png Binary files differnew file mode 100644 index 0000000..361ed4a --- /dev/null +++ b/src/main/webapp/static/login/assets/avatars/avatar1.png diff --git a/src/main/webapp/static/login/assets/avatars/avatar2.png b/src/main/webapp/static/login/assets/avatars/avatar2.png Binary files differnew file mode 100644 index 0000000..a87583e --- /dev/null +++ b/src/main/webapp/static/login/assets/avatars/avatar2.png diff --git a/src/main/webapp/static/login/assets/avatars/avatar3.png b/src/main/webapp/static/login/assets/avatars/avatar3.png Binary files differnew file mode 100644 index 0000000..af677bb --- /dev/null +++ b/src/main/webapp/static/login/assets/avatars/avatar3.png diff --git a/src/main/webapp/static/login/assets/avatars/avatar4.png b/src/main/webapp/static/login/assets/avatars/avatar4.png Binary files differnew file mode 100644 index 0000000..19b8e8b --- /dev/null +++ b/src/main/webapp/static/login/assets/avatars/avatar4.png diff --git a/src/main/webapp/static/login/assets/avatars/avatar5.png b/src/main/webapp/static/login/assets/avatars/avatar5.png Binary files differnew file mode 100644 index 0000000..f564bb9 --- /dev/null +++ b/src/main/webapp/static/login/assets/avatars/avatar5.png diff --git a/src/main/webapp/static/login/assets/avatars/profile-pic.jpg b/src/main/webapp/static/login/assets/avatars/profile-pic.jpg Binary files differnew file mode 100644 index 0000000..c12862a --- /dev/null +++ b/src/main/webapp/static/login/assets/avatars/profile-pic.jpg diff --git a/src/main/webapp/static/login/assets/avatars/user.jpg b/src/main/webapp/static/login/assets/avatars/user.jpg Binary files differnew file mode 100644 index 0000000..af4991e --- /dev/null +++ b/src/main/webapp/static/login/assets/avatars/user.jpg diff --git a/src/main/webapp/static/login/assets/css/ace-ie.min.css b/src/main/webapp/static/login/assets/css/ace-ie.min.css new file mode 100644 index 0000000..930e6e9 --- /dev/null +++ b/src/main/webapp/static/login/assets/css/ace-ie.min.css @@ -0,0 +1 @@ +.sidebar{*left:0}.sidebar:before{display:none}.ace-nav>li.white-opaque{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#CCFFFFFF',endColorstr='#CCFFFFFF',GradientType=0)}.ace-nav>li.dark-opaque{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#33000000',endColorstr='#33000000',GradientType=0)}.infobox>.infobox-icon>[class*="icon-"]:before{color:#FFF}.infobox-dark>.badge{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#33FFFFFF',endColorstr='#33FFFFFF',GradientType=0)!important}.widget-box-overlay{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#55000000',endColorstr='#55000000',GradientType=0)!important}.widget-toolbar-light{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#D8FFFFFF',endColorstr='#D8FFFFFF',GradientType=0)!important}input[type=checkbox].ace,input[type=radio].ace{position:static;width:auto;height:auto;z-index:auto}input[type=checkbox].ace+.lbl,input[type=radio].ace+.lbl{min-height:auto;min-width:auto}input[type=checkbox].ace.ace-switch{width:auto}input[type=checkbox].ace.ace-switch+.lbl{margin:0;min-height:auto}input[type=checkbox].ace.ace-switch-7{width:auto}.ace-file-input input[type=file]{width:100%;height:30px;position:absolute;z-index:1;filter:alpha(opacity=0);cursor:pointer}.ace-file-input input[type=file]:hover+.file-label{border-color:#f59942}.ace-file-multiple input[type=file]{height:100%}.ace-file-input .remove{z-index:2}.ace-file-input .file-label.selected .file-name{width:50%}.ace-file-multiple .file-label.selected .file-name{width:auto}.wizard-steps li:first-child:before{max-width:100%;left:0}.login-layout .widget-box{display:none;visibility:visible;position:static}.login-layout .widget-box.visible{display:block}.pricing-box-small:hover{zoom:1.04;left:-1px;top:-3px}.ace-thumbnails>li>a>img{width:auto!important}.ace-thumbnails>li>:first-child>.text{display:none}.ace-thumbnails>li:hover>:first-child>.text{display:block}.ace-thumbnails>li>.tools{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#8C000000',endColorstr='#8C000000',GradientType=0)!important}.ace-thumbnails>li>:first-child>.text{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#8C000000',endColorstr='#8C000000',GradientType=0)!important}#cboxLoadingGraphic>[class*="icon-"]{display:inline-block;background:#FFF url('images/loading.gif') no-repeat center}#cboxLoadingGraphic>[class*="icon-"]:before{display:none}.widget-box-overlay>[class*="icon-"]{display:inline-block;width:24px;height:24px;margin-left:46%;background:transparent url('images/loading.gif') no-repeat center}.widget-box-overlay>[class*="icon-"]:before{display:none}.btn.btn-app.btn-light{border:1px solid #d9d9d9}.btn.btn-app.btn-yellow{border:1px solid #fee188}.grid3{width:31%}.grid4{width:23%}.itemdiv.dialogdiv>.body:before{display:none}.fc-event-hori,.fc-event-vert{border:none!important}[class*="tab-color-"] .nav-tabs>li>a>[class*="icon-"]:first-child{color:#666!important}.dropdown-preview>.dropdown-menu{*width:180px}.ui-datepicker,.ui-autocomplete,.ui-menu{border:1px solid #CCC}.ui-widget-overlay{filter:alpha(opacity=100)!important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#44000000',endColorstr='#44000000',GradientType=0)!important}.message-content{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#CCFFFFFF',endColorstr='#CCFFFFFF',GradientType=0)!important}.gritter-item-wrapper{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#EA323232',endColorstr='#EA323232',GradientType=0)!important}.gritter-item-wrapper.gritter-info{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#EA315185',endColorstr='#EA315185',GradientType=0)!important}.gritter-item-wrapper.gritter-error{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#EA992812',endColorstr='#EA992812',GradientType=0)!important}.gritter-item-wrapper.gritter-success{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#EA59834B',endColorstr='#EA59834B',GradientType=0)!important}.gritter-item-wrapper.gritter-warning{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#EABE701F',endColorstr='#EABE701F',GradientType=0)!important}.gritter-item-wrapper.gritter-light{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#F2F5F5F5',endColorstr='#F2F5F5F5',GradientType=0)!important}.gritter-info.gritter-light{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#F2E8F2FF',endColorstr='#F2E8F2FF',GradientType=0)!important}.gritter-error.gritter-light{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#F2FFEBEB',endColorstr='#F2FFEBEB',GradientType=0)!important}.gritter-success.gritter-light{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#F2EFFAE3',endColorstr='#F2EFFAE3',GradientType=0)!important}.gritter-warning.gritter-light{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#F2FCF8E3',endColorstr='#F2FCF8E3',GradientType=0)!important}.widget-header .wysiwyg-toolbar .btn-group>.btn,.widget-body .md-header .btn{background:transparent none!important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#40FFFFFF',endColorstr='#40FFFFFF',GradientType=0)!important}.widget-header .wysiwyg-toolbar .btn-group>.btn.active,.widget-body .md-header .btn-inverse{background:transparent none!important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#40000000',endColorstr='#40000000',GradientType=0)!important}.widget-body .md-header .btn,.widget-body .md-header .btn-inverse{display:none}body.skin-3,.skin-3 .sidebar{background-color:#d6d6d6}.skin-3 .menu-min .nav-list>li.active>a{background-color:#eef8ff}body.skin-2,.skin-2 .sidebar{background-color:#505050}.skin-2 .nav-list>li:hover>a>span{color:#FFF}.skin-2 .nav-list>li:hover>a>[class*="icon-"]:first-child{color:#FFF}.skin-2 .menu-min .nav-list>li>a:hover>[class*="icon-"]:first-child{color:#FFF}.rtl .nav-list li.active>a:after{border-left-color:transparent;border-right-color:#0b6cbc}.rtl.skin-1 .nav-list li.active>a:after{border-right-color:#FFF;border-left-color:transparent}.rtl.skin-1 .menu-min .nav-list li.active:hover>a:after{border-right-color:#242a2b}.rtl.skin-2 .nav-list li.active>a:after{border-right-color:#FFF;border-left-color:transparent}.rtl.skin-2 .menu-min .nav-list li.active:hover>a:after{border-right-color:#292929;border-left-color:transparent}.rtl.skin-2 .nav-list li.active.open>.submenu>li.active>a:after{border-right-color:#FFF;border-left-color:transparent}.rtl.skin-3 .nav-list li.active>a:after{border-right-color:#FFF;border-left-color:transparent}.rtl.skin-3 .nav-list li.active>a:before{border-right-color:#a4c6dd;border-left-color:transparent}
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/css/ace-rtl.min.css b/src/main/webapp/static/login/assets/css/ace-rtl.min.css new file mode 100644 index 0000000..47ed3a3 --- /dev/null +++ b/src/main/webapp/static/login/assets/css/ace-rtl.min.css @@ -0,0 +1 @@ +.rtl [class*="col-xs-"]{float:right}@media(min-width:768px){.rtl [class*="col-sm-"]{float:right}}@media(min-width:992px){.rtl [class*="col-md-"]{float:right}}@media(min-width:1200px){.rtl [class*="col-lg-"]{float:right}}@media(min-width:768px){.rtl [class*="col-sm-push-"]{left:auto}.rtl [class*="col-sm-pull-"]{right:auto}.rtl [class*="col-sm-offset-"]{margin-left:auto}.rtl .col-sm-push-1{right:8.33333%}.rtl .col-sm-push-2{right:16.6666%}.rtl .col-sm-push-3{right:25%}.rtl .col-sm-push-4{right:33.3333%}.rtl .col-sm-push-5{right:41.6666%}.rtl .col-sm-push-6{right:50%}.rtl .col-sm-push-7{right:58.3333%}.rtl .col-sm-push-8{right:66.6666%}.rtl .col-sm-push-9{right:75%}.rtl .col-sm-push-10{right:83.3333%}.rtl .col-sm-push-11{right:91.6666%}.rtl .col-sm-pull-1{left:8.33333%}.rtl .col-sm-pull-2{left:16.6666%}.rtl .col-sm-pull-3{left:25%}.rtl .col-sm-pull-4{left:33.3333%}.rtl .col-sm-pull-5{left:41.6666%}.rtl .col-sm-pull-6{left:50%}.rtl .col-sm-pull-7{left:58.3333%}.rtl .col-sm-pull-8{left:66.6666%}.rtl .col-sm-pull-9{left:75%}.rtl .col-sm-pull-10{left:83.3333%}.rtl .col-sm-pull-11{left:91.6666%}.rtl .col-sm-offset-1{margin-right:8.33333%}.rtl .col-sm-offset-2{margin-right:16.6666%}.rtl .col-sm-offset-3{margin-right:25%}.rtl .col-sm-offset-4{margin-right:33.3333%}.rtl .col-sm-offset-5{margin-right:41.6666%}.rtl .col-sm-offset-6{margin-right:50%}.rtl .col-sm-offset-7{margin-right:58.3333%}.rtl .col-sm-offset-8{margin-right:66.6666%}.rtl .col-sm-offset-9{margin-right:75%}.rtl .col-sm-offset-10{margin-right:83.3333%}.rtl .col-sm-offset-11{margin-right:91.6666%}}@media(min-width:992px){.rtl [class*="col-md-push-"]{left:auto}.rtl [class*="col-md-pull-"]{right:auto}.rtl [class*="col-md-offset-"]{margin-left:auto}.rtl .col-md-push-1{right:8.33333%}.rtl .col-md-push-2{right:16.6666%}.rtl .col-md-push-3{right:25%}.rtl .col-md-push-4{right:33.3333%}.rtl .col-md-push-5{right:41.6666%}.rtl .col-md-push-6{right:50%}.rtl .col-md-push-7{right:58.3333%}.rtl .col-md-push-8{right:66.6666%}.rtl .col-md-push-9{right:75%}.rtl .col-md-push-10{right:83.3333%}.rtl .col-md-push-11{right:91.6666%}.rtl .col-md-pull-1{left:8.33333%}.rtl .col-md-pull-2{left:16.6666%}.rtl .col-md-pull-3{left:25%}.rtl .col-md-pull-4{left:33.3333%}.rtl .col-md-pull-5{left:41.6666%}.rtl .col-md-pull-6{left:50%}.rtl .col-md-pull-7{left:58.3333%}.rtl .col-md-pull-8{left:66.6666%}.rtl .col-md-pull-9{left:75%}.rtl .col-md-pull-10{left:83.3333%}.rtl .col-md-pull-11{left:91.6666%}.rtl .col-md-offset-1{margin-right:8.33333%}.rtl .col-md-offset-2{margin-right:16.6666%}.rtl .col-md-offset-3{margin-right:25%}.rtl .col-md-offset-4{margin-right:33.3333%}.rtl .col-md-offset-5{margin-right:41.6666%}.rtl .col-md-offset-6{margin-right:50%}.rtl .col-md-offset-7{margin-right:58.3333%}.rtl .col-md-offset-8{margin-right:66.6666%}.rtl .col-md-offset-9{margin-right:75%}.rtl .col-md-offset-10{margin-right:83.3333%}.rtl .col-md-offset-11{margin-right:91.6666%}}@media(min-width:1200px){.rtl [class*="col-lg-push-"]{left:auto}.rtl [class*="col-lg-pull-"]{right:auto}.rtl [class*="col-lg-offset-"]{margin-left:auto}.rtl .col-lg-push-1{right:8.33333%}.rtl .col-lg-push-2{right:16.6666%}.rtl .col-lg-push-3{right:25%}.rtl .col-lg-push-4{right:33.3333%}.rtl .col-lg-push-5{right:41.6666%}.rtl .col-lg-push-6{right:50%}.rtl .col-lg-push-7{right:58.3333%}.rtl .col-lg-push-8{right:66.6666%}.rtl .col-lg-push-9{right:75%}.rtl .col-lg-push-10{right:83.3333%}.rtl .col-lg-push-11{right:91.6666%}.rtl .col-lg-pull-1{left:8.33333%}.rtl .col-lg-pull-2{left:16.6666%}.rtl .col-lg-pull-3{left:25%}.rtl .col-lg-pull-4{left:33.3333%}.rtl .col-lg-pull-5{left:41.6666%}.rtl .col-lg-pull-6{left:50%}.rtl .col-lg-pull-7{left:58.3333%}.rtl .col-lg-pull-8{left:66.6666%}.rtl .col-lg-pull-9{left:75%}.rtl .col-lg-pull-10{left:83.3333%}.rtl .col-lg-pull-11{left:91.6666%}.rtl .col-lg-offset-1{margin-right:8.33333%}.rtl .col-lg-offset-2{margin-right:16.6666%}.rtl .col-lg-offset-3{margin-right:25%}.rtl .col-lg-offset-4{margin-right:33.3333%}.rtl .col-lg-offset-5{margin-right:41.6666%}.rtl .col-lg-offset-6{margin-right:50%}.rtl .col-lg-offset-7{margin-right:58.3333%}.rtl .col-lg-offset-8{margin-right:66.6666%}.rtl .col-lg-offset-9{margin-right:75%}.rtl .col-lg-offset-10{margin-right:83.3333%}.rtl .col-lg-offset-11{margin-right:91.6666%}}.rtl ul,.rtl ol{margin-left:0;margin-right:25px}.rtl ul.list-unstyled,.rtl ol.list-unstyled,.rtl ul.list-inline,.rtl ol.list-inline{margin-right:0}.rtl li>ul,.rtl li>ol{margin-left:0;margin-right:18px}.rtl dd{margin-left:0;margin-right:10px}.rtl .dl-horizontal dt{float:right;clear:right;text-align:left}.rtl .dl-horizontal dd{margin-left:0;margin-right:180px}.rtl blockquote p,.rtl blockquote small{text-align:left}.rtl blockquote small:before{content:""}.rtl blockquote small:after{content:"\00A0 \2014"}.rtl blockquote.pull-right p,.rtl blockquote.pull-right small{text-align:right}.rtl blockquote.pull-right small:after{content:""}.rtl blockquote.pull-right small:before{content:"\2014 \00A0"}.rtl .radio,.rtl .checkbox{padding-left:0;padding-right:20px}.rtl .radio input[type="radio"],.rtl .checkbox input[type="checkbox"]{float:right;margin-left:0;margin-right:-20px}.rtl .radio.inline+.radio.inline,.rtl .checkbox.inline+.checkbox.inline{margin-left:0;margin-right:10px}.rtl .help-inline{padding-left:0;padding-right:5px}.rtl .input-group .input-group-addon:first-child{border-left-width:0;border-right:1px solid #ccc}.rtl .input-group .input-group-addon:last-child{border-right-width:0;border-left:1px solid #ccc}.rtl input.search-query{padding-left:14px;padding-left:4px \9;padding-right:14px;padding-right:4px \9}.rtl .form-search .radio,.rtl .form-search .checkbox,.rtl .form-inline .radio,.rtl .form-inline .checkbox{padding-right:0}.rtl .form-search .radio input[type="radio"],.rtl .form-search .checkbox input[type="checkbox"],.rtl .form-inline .radio input[type="radio"],.rtl .form-inline .checkbox input[type="checkbox"]{float:right;margin-right:0;margin-left:3px}.rtl .form-horizontal .control-label{text-align:left}.rtl .btn-group+.btn-group{margin-left:auto;margin-right:5px}.rtl .btn-group>.btn,.rtl .btn-group-vertical>.btn{float:right}.rtl .dropdown-menu{margin:2px 0 0}.rtl .dropdown .caret{margin-left:0;margin-right:2px}.rtl .close{float:left}.rtl .table-header .close{margin-right:auto;margin-left:6px}.rtl .alert .close{float:left}.rtl .nav{margin-right:0}.rtl .nav-tabs>li,.rtl .nav-pills>li{float:right}.rtl .nav-pills>li>a{margin-right:0;margin-left:2px}.rtl .nav-stacked>li{float:none}.rtl .nav-tabs>li>a{margin-right:0;margin-left:-1px}.rtl .tabs-left>.nav-tabs>li,.rtl .tabs-right>.nav-tabs>li{float:none}.rtl .navbar{direction:rtl;text-align:right}.rtl .navbar .navbar-brand{float:right}.rtl .navbar-search{float:right}.rtl .navbar-text{float:right}.rtl ul.pagination{margin-right:0}.rtl .pager{margin-right:0}.rtl .pager .next>a,.rtl .pager .next>span{float:left}.rtl .pager .previous>a,.rtl .pager .previous>span{float:right}.rtl .modal{direction:rtl;text-align:right}.rtl .modal-footer{text-align:left}.rtl .modal-footer .btn+.btn{margin-left:0;margin-right:5px}.rtl .popover.bottom .arrow:after,.rtl .popover.top .arrow:after{margin-right:-10px;margin-left:auto}.rtl .popover-content,.rtl .tooltip-inner{text-align:right;direction:rtl}.rtl .thumbnails{margin-left:0;margin-right:-24px}.rtl .row .thumbnails{margin-right:0}.rtl .thumbnails>li{float:right;margin-left:0;margin-right:24px}.rtl .media-list{margin-right:0}.rtl .main-container{direction:rtl;text-align:right}.rtl .main-content{margin-right:190px;margin-left:0}.rtl li>ul.margin,.rtl li>ol.margin{margin-left:0;margin-right:18px}.rtl .ace-nav>li{float:right!important;border-left:none;border-right:1px solid #DDD}.rtl .ace-nav>li:first-child{border-right:0}.rtl .ace-nav>li>a>.badge{left:auto;right:2px}.rtl .ace-nav>li.no-border{border:0}.rtl .ace-nav>li.margin-4{margin-left:0;margin-right:4px}.rtl .ace-nav>li.margin-3{margin-left:0;margin-right:3px}.rtl .ace-nav>li.margin-2{margin-left:0;margin-right:2px}.rtl .ace-nav>li.margin-1{margin-left:0;margin-right:1px}.rtl .ace-nav .nav-user-photo{margin:-4px 0 0 8px}.rtl .ace-nav .dropdown-menu.dropdown-closer{left:0}.rtl .breadcrumbs{padding:0 0 0 12px}.rtl .breadcrumbs.fixed,.rtl .breadcrumbs.breadcrumbs-fixed{position:fixed;left:0;right:190px}.rtl .breadcrumb{margin:0 12px 0 22px}.rtl .breadcrumb .icon-home{margin-left:2px;margin-right:4px}.rtl .breadcrumb>li+li:before{content:"\f104";padding:0 2px 0 5px}.rtl .breadcrumb>li+li:last-child:before{display:none}.rtl .breadcrumb>li+li:last-child:after{display:inline;font-family:FontAwesome;font-size:14px;content:"\f104";color:#b2b6bf;margin-left:2px;padding:0 2px 0 5px;position:relative;top:1px}.rtl .nav-search{left:22px;right:auto}.rtl .sidebar>.nav-search.menu-min .nav-search .form-search{left:auto;right:5px}.rtl .sidebar{float:right;border-width:0 0 0 1px}.rtl .sidebar:before{border-width:0 0 0 1px}.rtl .sidebar.fixed,.rtl .sidebar.sidebar-fixed{left:auto;right:0}.rtl .sidebar.fixed:before,.rtl .sidebar.sidebar-fixed:before{left:auto;right:0}.rtl .nav-list>li>a{padding:0 7px 0 16px}.rtl .nav-list>li>a:hover:before{left:auto;right:0}.rtl .nav-list>li a>.arrow{left:9px;right:auto}.rtl .nav-list>li.active:after{left:-2px;right:auto;border-width:0 0 0 2px}.rtl .nav-list>li .submenu>li{margin-left:0;margin-right:0}.rtl .nav-list>li .submenu>li>a{padding:7px 37px 8px 0}.rtl .nav-list>li .submenu>li a>[class*="icon-"]:first-child{left:auto;right:10px}.rtl .nav-list>li>.submenu>li:before{left:auto;right:18px}.rtl .nav-list>li>.submenu:before{left:auto;right:18px;border-width:0 1px 0 0}.rtl .nav-list>li.active>.submenu:before{border-right-color:#8eb3d0}.rtl .nav-list li.active>a:after{left:0;right:auto;border-left-color:#2b7dbc;border-right-color:transparent}.rtl .nav-list a .badge,.rtl .nav-list a .label{right:auto;left:11px}.rtl .nav-list a.dropdown-toggle .badge,.rtl .nav-list a.dropdown-toggle .label{right:auto;left:28px}.rtl .menu-min .nav-list a .badge,.rtl .menu-min .nav-list a .label{left:auto;right:4px}.rtl .sidebar.menu-min+.main-content{margin-left:auto;margin-right:43px}.rtl .sidebar.menu-min+.main-content .breadcrumbs.fixed,.rtl .sidebar.menu-min+.main-content .breadcrumbs.breadcrumbs-fixed{left:0;right:43px}.rtl .menu-min .nav-list>li>a>.menu-text{left:auto;right:42px;padding-left:0;padding-right:12px;-webkit-box-shadow:-2px 1px 2px 0 rgba(0,0,0,0.2);box-shadow:-2px 1px 2px 0 rgba(0,0,0,0.2)}.rtl .menu-min .nav-list>li>a.dropdown-toggle>.menu-text{left:auto;right:43px;-webkit-box-shadow:none;box-shadow:none}.rtl .menu-min .nav-list>li.active>a>.menu-text{border-left-color:#ccc;border-right-color:#1963aa}.rtl .menu-min .nav-list>li>.submenu{-webkit-box-shadow:-2px 1px 2px 0 rgba(0,0,0,0.2);box-shadow:-2px 1px 2px 0 rgba(0,0,0,0.2);left:auto;right:42px}.rtl .menu-min .nav-list>li>.submenu li>a{margin-left:auto;margin-right:0;padding-left:0;padding-right:24px}.rtl .menu-min .nav-list>li>.submenu li>a>[class*="icon-"]:first-child{left:auto;right:4px}.rtl .menu-min .nav-list>li.active>.submenu{border-left-color:#ccc;border-right-color:#1963aa}.rtl .menu-min .sidebar-shortcuts-large{-webkit-box-shadow:-2px 1px 2px 0 rgba(0,0,0,0.2);box-shadow:-2px 1px 2px 0 rgba(0,0,0,0.2);left:auto;right:42px}.rtl .nav-list>li>.submenu a>.arrow{left:11px;right:auto}.rtl .nav-list>li>.submenu li>.submenu>li>a>.arrow{left:12px;right:auto}.rtl .nav-list>li>.submenu li>.submenu>li>a{margin-left:auto;padding-left:0;margin-right:20px;padding-right:22px}.rtl .nav-list>li>.submenu li>.submenu>li>.submenu>li>a{margin-left:auto;padding-left:0;margin-right:20px;padding-right:38px}.rtl .menu-min .nav-list>li>.submenu li>.submenu>li>a{margin-right:0;padding-right:30px}.rtl .menu-min .nav-list>li>.submenu li>.submenu>li>.submenu>li>a{margin-right:0;padding-right:45px}.rtl button.btn:active{left:-1px}.rtl .btn.disabled:active,.rtl .btn[disabled]:active{left:0}.rtl .btn>[class*="icon-"]{margin-left:4px;margin-right:0}.rtl .btn>[class*="icon-"].icon-on-right{margin-left:0;margin-right:4px}.rtl .btn>[class*="icon-"].icon-only{margin:0}.rtl .btn-lg>[class*="icon-"]{margin-left:6px;margin-right:0}.rtl .btn-lg>[class*="icon-"].icon-on-right{margin-left:0;margin-right:6px}.rtl .btn-sm>[class*="icon-"]{margin-left:3px;margin-right:0}.rtl .btn-sm>[class*="icon-"].icon-on-right{margin-left:0;margin-right:3px}.rtl .btn-xs>[class*="icon-"],.rtl.btn-minier>[class*="icon-"]{margin-left:2px;margin-right:0}.rtl .btn-xs>[class*="icon-"].icon-on-right,.rtl.btn-minier>[class*="icon-"].icon-on-right{margin-left:0;margin-right:2px}.rtl .btn-group>.btn>.caret{margin-left:0;margin-right:1px}.rtl .dropdown-menu.dropdown-only-icon>li{float:right}.rtl .dropdown-light .dropdown-submenu:hover>a:after,.rtl .dropdown-lighter .dropdown-submenu:hover>a:after{border-left-color:transparent;border-right-color:#444}.rtl .dropdown-navbar>li>[class*="icon-"],.rtl .dropdown-navbar>li>a>[class*="icon-"]{margin-right:0!important;margin-left:5px!important}.rtl .dropdown-navbar [class*="btn"][class*="icon-"]{margin:0 0 0 5px}.rtl .dropdown-navbar .msg-photo{margin-left:6px;margin-right:0}.rtl .dropdown-navbar .user-menu>li>a>[class*="icon-"]{margin-left:6px;margin-right:0}.rtl .help-button{margin-left:0;margin-right:4px}.rtl .form-search .radio [type=radio]+label,.rtl .form-inline .radio [type=radio]+label,.rtl .form-search .checkbox [type=checkbox]+label,.rtl .form-inline .checkbox [type=checkbox]+label{float:right;margin-left:0;margin-right:-20px}.form-search .rtl .form-search .radio [type=radio]+label,.form-search .rtl .form-inline .radio [type=radio]+label,.form-search .rtl .form-search .checkbox [type=checkbox]+label,.form-search .rtl .form-inline .checkbox [type=checkbox]+label,.form-inline .rtl .form-search .radio [type=radio]+label,.form-inline .rtl .form-inline .radio [type=radio]+label,.form-inline .rtl .form-search .checkbox [type=checkbox]+label,.form-inline .rtl .form-inline .checkbox [type=checkbox]+label{margin-right:0;margin-left:3px}.rtl input[type=checkbox].ace+.lbl::before,.rtl input[type=radio].ace+.lbl::before{margin-right:0;margin-left:1px}.rtl input[type=checkbox].ace.ace-switch+.lbl::before,.rtl input[type=radio].ace.ace-switch+.lbl::before{direction:ltr;text-align:left}.rtl .ace-file-input .file-label:before{right:auto;left:0}.rtl .ace-file-input .file-label .file-name{padding-left:0;padding-right:30px}.rtl .ace-file-input .file-label.selected{left:16px;right:0}.rtl .ace-file-input .file-label [class*="icon-"]{right:0;left:auto}.rtl .ace-file-input .remove{left:-8px;right:auto}.rtl .ace-file-multiple .file-label.selected .file-name [class*="icon-"]{right:0;left:auto}.rtl .ace-file-multiple .file-label .file-name{padding:0;text-align:right}.rtl .ace-file-multiple .file-label .file-name img{margin:4px 1px 4px 8px}.rtl .ace-file-multiple .file-label .file-name.large{text-align:center}.rtl .ace-file-multiple .file-label .file-name.large img{margin:0}.rtl .ace-file-multiple .remove{left:-11px;right:auto}.rtl .ace-file-multiple .file-label.selected .file-name [class*="icon-"]{margin-left:4px;margin-right:2px}.rtl .nav-tabs.padding-24{padding-left:0;padding-right:24px}.rtl .nav-tabs.padding-20{padding-left:0;padding-right:20px}.rtl .nav-tabs.padding-16{padding-left:0;padding-right:16px}.rtl .nav-tabs.padding-12{padding-left:0;padding-right:12px}.rtl .nav-tabs.padding-8{padding-left:0;padding-right:8px}.rtl .nav-tabs.padding-4{padding-left:0;padding-right:4px}.rtl .nav-tabs.padding-22{padding-left:0;padding-right:22px}.rtl .nav-tabs.padding-18{padding-left:0;padding-right:18px}.rtl .nav-tabs.padding-14{padding-left:0;padding-right:14px}.rtl .nav-tabs.padding-10{padding-left:0;padding-right:10px}.rtl .nav-tabs.padding-6{padding-left:0;padding-right:6px}.rtl .nav-tabs.padding-2{padding-left:0;padding-right:2px}.rtl .tabs-right>.nav-tabs[class*="padding-"],.rtl .tabs-left>.nav-tabs[class*="padding-"]{padding-right:0}.rtl .tabs-left>.nav-tabs{margin-left:auto;margin-right:-1px}.rtl .tabs-left>.nav-tabs>li>a,.rtl .tabs-left>.nav-tabs>li>a:hover,.rtl .tabs-left>.nav-tabs>li>a:focus{margin:0 -1px 0 0}.rtl .tabs-left>.nav-tabs>li.active>a,.rtl .tabs-left>.nav-tabs>li.active>a:hover,.rtl .tabs-left>.nav-tabs>li.active>a:focus{margin:0 -1px}.rtl .nav-tabs.tab-space-1>li>a{margin-right:auto;margin-left:1px}.rtl .nav-tabs.tab-space-2>li>a{margin-right:auto;margin-left:2px}.rtl .nav-tabs.tab-space-3>li>a{margin-right:auto;margin-left:3px}.rtl .nav-tabs.tab-space-4>li>a{margin-right:auto;margin-left:4px}.rtl .nav-tabs[class*="tab-color-"]>li>a,.rtl .nav-tabs[class*="tab-color-"]>li>a:focus,.rtl .nav-tabs[class*="tab-color-"]>li>a:hover{margin-right:auto;margin-left:3px}.rtl .accordion-style2.panel-group .panel-heading .accordion-toggle{border-width:0 2px 0 0}.rtl .accordion-style2.panel-group .panel-heading .accordion-toggle.collapsed{border-width:0 1px 0 0}.rtl .table thead:first-child tr th [class*="icon-"]:first-child{margin-left:2px;margin-right:0}.rtl .widget-main.no-padding .table-bordered th:first-child,.rtl .widget-main.padding-0 .table-bordered th:first-child,.rtl .widget-main.no-padding .table-bordered td:first-child,.rtl .widget-main.padding-0 .table-bordered td:first-child{border-left-width:1px}.rtl .widget-main.no-padding .table-bordered th:last-child,.rtl .widget-main.padding-0 .table-bordered th:last-child,.rtl .widget-main.no-padding .table-bordered td:last-child,.rtl .widget-main.padding-0 .table-bordered td:last-child{border-left-width:0}.rtl .table-header{padding-left:0;padding-right:12px}.rtl .dataTables_length{margin-left:0;margin-right:8px}.rtl .dataTables_filter{margin-left:8px;margin-right:0;text-align:left}.rtl .dataTables_info{margin:0 12px 0 0}.rtl .dataTables_paginate{text-align:left}.rtl .dataTable th[class*=sort]:after{float:left;margin-right:0;margin-left:4px}.rtl .dataTables_wrapper>.row>[class*="col-"]{float:right;margin-left:0;width:50%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.rtl .widget-box{direction:rtl;text-align:right}.rtl .widget-header{padding-left:0;padding-right:12px}.rtl .widget-header:after{clear:left}.rtl .widget-header-large{padding-left:0;padding-right:18px}.rtl .widget-header-small{padding-left:0;padding-right:10px}.rtl .widget-header>.widget-caption>[class*="icon-"],.rtl .widget-header>:first-child>[class*="icon-"]{margin-right:0;margin-left:5px}.rtl .widget-toolbar{float:left}.rtl .widget-toolbar:before{left:auto;right:-1px;border-width:0 0 0 1px}.rtl .widget-toolbar>[data-action]>[class*="icon-"]{margin-right:auto;margin-left:0}.rtl .widget-box.transparent>.widget-header{padding-left:0;padding-right:3px}.rtl .widget-box.transparent>.widget-header-large{padding-left:0;padding-right:5px}.rtl .widget-box.transparent>.widget-header-small{padding-left:0;padding-right:1px}.rtl [class*="header-color-"]>.widget-toolbar>.nav-tabs>li>a{margin-right:0;margin-left:1px}.rtl .infobox{padding:8px 9px 6px 3px;text-align:right}.rtl .infobox>.infobox-icon>[class*="icon-"]{padding:1px 2px 0 1px}.rtl .infobox>.infobox-data{text-align:right;padding-left:0;padding-right:8px}.rtl .infobox>.stat{left:20px;right:auto;padding-left:18px;padding-right:0}.rtl .infobox>.stat:before{left:4px;right:auto}.rtl .infobox>.stat:after{left:1px;right:auto}.rtl .infobox>.badge{left:20px;right:auto}.rtl .infobox.infobox-dark>.badge{left:2px;right:auto}.rtl .infobox-small{text-align:right}.rtl .infobox-small>.infobox-data{text-align:right}.rtl .infobox-small>.infobox-chart>.sparkline{margin-left:auto;margin-right:2px}.rtl .infobox-small .percentage{margin-left:auto;margin-right:2px}.rtl .pricing-box .widget-header{padding-right:0}.rtl .pricing-table-header{text-align:right}.rtl .pricing-table-header>li{padding:7px 11px 7px 0}.rtl .pricing-box-small{margin-left:0;margin-right:-2px}.rtl .pricing-span[class*="col-"]{float:right!important}.rtl .pricing-span-header{float:right;padding-left:0;padding-right:12px}@media only screen and (max-width:768px){.rtl .pricing-box:nth-child(odd){padding-right:12px!important;padding-left:0!important}.rtl .pricing-box:nth-child(even){padding-left:12px!important;padding-right:0!important}}.rtl .pricing-span{float:right!important}@media only screen and (max-width:460px){.rtl .pricing-box,.rtl .pricing-box:nth-child(odd),.rtl .pricing-box:nth-child(even){padding-left:12px!important;padding-right:12px!important}}.rtl.login-layout .main-content{margin-right:0}.rtl.login-layout .login-box .toolbar>div:first-child{float:right;text-align:right}.rtl.login-layout .login-box .toolbar>div:first-child>a{margin-left:0;margin-right:11px}.rtl.login-layout .login-box .toolbar>div:first-child+div{float:left;text-align:left}.rtl.login-layout .login-box .toolbar>div:first-child+div>a{margin-left:11px;margin-right:0}.rtl .ace-thumbnails{margin-right:0}.rtl .ace-thumbnails>li{float:right}.rtl .ace-thumbnails>li .tags{direction:ltr}.rtl .ace-thumbnails>li .tags>.label-holder{margin:1px 0 0 1px;direction:rtl;text-align:right}.rtl .itemdiv{padding-right:0;padding-left:3px}.rtl .itemdiv>.user{left:auto;right:0}.rtl .itemdiv>.body{margin-right:50px;margin-left:12px}.rtl .itemdiv>.body>.time{right:auto;left:9px}.rtl .itemdiv>.body>.text{padding-left:0;padding-right:7px}.rtl .itemdiv>.body>.text:after{right:16px;left:-12px}.rtl .itemdiv>.body>.text>[class*="icon-quote-"]:first-child{margin-left:4px;margin-right:0}.rtl .itemdiv.dialogdiv:before{left:auto;right:19px}.rtl .itemdiv.dialogdiv>.body{border-left-width:1px;border-right-width:2px;margin-left:1px}.rtl .itemdiv.dialogdiv>.body:before{left:auto;right:-7px;border-width:2px 2px 0 0;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.rtl .itemdiv.dialogdiv>.body>.time{float:left}.rtl .itemdiv.dialogdiv>.body>.text{padding-right:0}.rtl .itemdiv.memberdiv{float:right}.rtl .itemdiv .tools{right:auto;left:4px}.rtl .itemdiv.commentdiv .tools{right:auto;left:9px}.rtl .item-list{margin:0}.rtl .item-list>li{border-left-width:1px;border-right-width:3px;border-left-color:#DDD}.rtl li[class*="item-"]{border-left-width:1px;border-right-width:3px;border-left-color:#DDD}.rtl li.item-orange{border-right-color:#e8b110}.rtl li.item-orange2{border-right-color:#f79263}.rtl li.item-red{border-right-color:#d53f40}.rtl li.item-red2{border-right-color:#d15b47}.rtl li.item-green{border-right-color:#9abc32}.rtl li.item-green2{border-right-color:#0490a6}.rtl li.item-blue{border-right-color:#4f99c6}.rtl li.item-blue2{border-right-color:#3983c2}.rtl li.item-blue3{border-right-color:#1144eb}.rtl li.item-pink{border-right-color:#cb6fd7}.rtl li.item-black{border-right-color:#505050}.rtl li.item-grey{border-right-color:#a0a0a0}.rtl li.item-brown{border-right-color:#a52a2a}.rtl li.item-default{border-right-color:#abbac3}.rtl li.item-purple{border-right-color:#6f3cc4}.rtl .profile-info-name{text-align:left;padding-right:0;padding-left:10px;left:auto;right:0}.rtl .profile-info-value{padding-right:6px;padding-left:4px;margin-left:auto;margin-right:120px}.rtl .profile-info-value>span+span:before{margin-left:3px;margin-right:1px}.rtl .profile-user-info-striped .profile-info-value{padding-left:0;padding-right:12px}.rtl .profile-activity img,.rtl .profile-activity .thumbicon{margin-right:0;margin-left:10px}.rtl .profile-activity .tools{left:12px;right:auto}.rtl .user-profile .user-title-label+.dropdown-menu{margin-left:auto;margin-right:-12px}.rtl .user-status{margin-right:auto;margin-left:1px}.rtl .tab-content.profile-edit-tab-content{-webkit-box-shadow:-1px 1px 0 0 rgba(0,0,0,0.2);box-shadow:-1px 1px 0 0 rgba(0,0,0,0.2)}.rtl .inbox-tabs.nav-tabs>li.active>a.btn-new-mail>.btn:before{left:auto;right:35%;right:calc(50% - 6px)}.rtl .inbox-tabs.nav-tabs.tab-size-bigger>li.active>a.btn-new-mail>.btn:before{left:auto;right:35%;right:calc(50% - 8px)}.rtl .inbox-tabs.nav-tabs>li.pull-left{float:left}@media only screen and (max-width:475px){.rtl .inbox-tabs>.li-new-mail{text-align:left}}.rtl .message-item .sender{margin-left:4px;margin-right:6px}.rtl .message-item .summary{margin-left:auto;margin-right:30px}.rtl .message-item .message-flags{right:auto;left:101%;left:calc(100%+4px)}.rtl .message-item .time{float:left}.rtl .message-item .attachment{float:left}.rtl .message-star{margin-left:4px;margin-right:6px}.rtl .mail-tag:empty{margin-left:1px;margin-right:0}.rtl ul.attachment-list{margin-left:0;margin-right:8px}.rtl .attached-file>[class*="icon-"]{margin-right:auto;margin-left:2px}.rtl .messagebar-item-left,.rtl .messagebar-item-right{text-align:right}.rtl .message-navbar .nav-search{left:auto;right:60px}.rtl .inbox-folders .btn>[class*="icon-"]:first-child{text-align:right}.rtl .inbox-folders .btn.active:before{left:auto;right:-1px;border-left:none;border-right:3px solid #4f99c6}.rtl .inbox-folders .btn .counter{right:auto;left:8px}.rtl .message-form .controls{margin-right:125px}.rtl .timeline-container:before{right:28px;left:auto}.rtl .timeline-item .transparent.widget-box{border-right:3px solid #dae1e5;border-left:none}.rtl .timeline-item .transparent .widget-header>:first-child{margin-left:auto;margin-right:8px}.rtl .timeline-item:nth-child(even) .widget-box.transparent{border-right-color:#dbdbdb!important}.rtl .timeline-item .widget-box{margin-left:auto;margin-right:60px}.rtl .timeline-info{float:right}.rtl .timeline-label{margin-right:34px;margin-left:auto}.rtl .timeline-style2:before{display:none}.rtl .timeline-style2 .timeline-item:before{left:auto;right:90px}.rtl .timeline-style2 .timeline-item .transparent.widget-box{border-right:none!important}.rtl .timeline-style2 .timeline-indicator{left:auto;right:86px}.rtl .timeline-style2 .timeline-date{text-align:left;margin-right:auto;margin-left:25px}.rtl .timeline-style2 .timeline-item .widget-box{margin-left:auto;margin-right:112px}.rtl .timeline-style2 .timeline-label{margin-right:0;text-align:left}.rtl .ace-settings-container{left:0;right:auto}.rtl .btn.ace-settings-btn{float:right;border-radius:0 6px 6px 0!important}.rtl .ace-settings-box{float:right}.rtl .grid2,.rtl .grid3,.rtl .grid4{float:right;border-left:none;border-right:1px solid #e3e3e3}.rtl .grid2:first-child,.rtl .grid3:first-child,.rtl .grid4:first-child{border-right:0}.rtl .easyPieChart canvas{left:auto;right:0}.rtl .external-event>[class*="icon-"]:first-child{margin-right:0;margin-left:5px;border-right:0;border-left:1px solid #FFF}.rtl #cboxCurrent{left:auto;right:64px}.rtl #cboxNext,.rtl #cboxPrevious{margin-left:0;margin-right:5px}.rtl #cboxPrevious{left:auto;right:27px}.rtl #cboxNext{left:auto;right:0}.rtl .ace-spinner .spinner-buttons>button.btn:active{left:auto;top:auto}.rtl .wizard-steps{margin-right:0}.rtl .wizard-actions{text-align:left}.rtl .wizard-steps li:first-child:before{right:50%;left:auto}.rtl .tree{padding-left:0;padding-right:9px}.rtl .tree:before{left:auto;right:0;border-width:0 1px 0 0}.rtl .tree .tree-folder .tree-folder-header .tree-folder-name{margin-left:0;margin-right:2px}.rtl .tree .tree-folder .tree-folder-header>[class*="icon-"]:first-child{margin:-2px -2px 0 0}.rtl .tree .tree-folder:last-child:after{left:auto;right:-15px;border-left:none;border-right:1px solid #FFF}.rtl .tree .tree-folder .tree-folder-content{margin-left:0;margin-right:23px}.rtl .tree .tree-folder .tree-folder-content:before{left:auto;right:-14px;border-width:0 1px 0 0}.rtl .tree .tree-item .tree-item-name{margin-left:0;margin-right:3px}.rtl .tree .tree-item .tree-item-name>[class*="icon-"]:first-child{margin-right:0;margin-left:3px}.rtl .tree .tree-folder:before,.rtl .tree .tree-item:before{left:auto;right:-13px}.rtl .tree .tree-loading{margin-left:0;margin-right:36px}.rtl #gritter-notice-wrapper{text-align:right;direction:rtl;left:20px;right:auto}.rtl .gritter-close{right:auto;left:3px}.rtl .gritter-image{float:right}.rtl .gritter-with-image,.rtl .gritter-without-image{float:left}.rtl .wysiwyg-toolbar .dropdown-menu{text-align:right}.rtl .wysiwyg-toolbar .wysiwyg-choose-file{margin-left:auto}.rtl .wysiwyg-toolbar .btn-group>.btn,.rtl .wysiwyg-toolbar .btn-group>.inline>.btn{float:none}.rtl .wysiwyg-style1 .btn-group:after,.rtl .wysiwyg-style2 .btn-group:after{left:auto;border-left:none;right:-2px;border-right:1px solid #e1e6ea}.rtl .wysiwyg-toolbar .dropdown-menu input[type=text]{margin-left:0;margin-right:8px}.rtl .wysiwyg-toolbar .dropdown-menu .btn{margin-right:1px;margin-left:8px}.rtl .widget-body .md-header{margin-left:0;margin-right:9px}.rtl .widget-body .md-header .btn-inverse{padding-right:0;padding-left:5px}.rtl .select2-container .select2-choice{padding-left:0;padding-right:8px}.rtl .select2-container.select2-allowclear .select2-choice .select2-chosen{margin-right:auto;margin-left:42px}.rtl .select2-container .select2-choice>.select2-chosen{margin-left:26px;margin-right:auto}.rtl .select2-container .select2-choice abbr{right:auto;left:20px}.rtl .select2-container .select2-choice .select2-arrow{right:auto;left:0}.rtl .select2-container .select2-choice .select2-arrow b:before{right:5px;left:auto}.rtl .select2-container-multi .select2-choices li{float:right}.rtl .select2-container-multi .select2-choices .select2-search-choice{margin:3px 5px 3px 0;padding:3px 18px 3px 5px}.rtl .select2-results{margin-right:0}.rtl .select2-drop{direction:rtl;text-align:right}.rtl .select2-drop input{padding-right:5px;padding-left:20px}.rtl .select2-drop .select2-results{padding-right:4px;padding-left:0}.rtl .select2-search:after{right:-20px;left:auto}.rtl .select2-search input.select2-active{background-position:0 0}.rtl .editable-buttons{margin-left:auto;margin-right:1px}.rtl .editable-buttons .btn{margin:0 0 0 1px}.rtl .editable-input .ace-spinner{margin-right:auto;margin-left:8px}.rtl .editable-inline .editable-slider{margin-right:auto;margin-left:4px}.rtl .tags .tag{padding-left:22px;padding-right:9px;text-shadow:-1px 1px 1px rgba(0,0,0,0.15)}.rtl .tags .tag .close{float:none;left:0;right:auto}.rtl .ui-datepicker .ui-datepicker-prev:before{content:"\f061"}.rtl .ui-datepicker .ui-datepicker-next:before{content:"\f060"}.rtl .ui-menu,.rtl .ui-dialog,.rtl .ui-jqdialog{direction:rtl;text-align:right}.rtl .ui-menu .ui-menu-item a .ui-menu-icon{float:left}.rtl .ui-menu .ui-menu-item a .ui-menu-icon:before{content:"\f104"}.rtl .ui-dialog .ui-dialog-titlebar-close,.rtl .ui-jqdialog .ui-jqdialog-titlebar-close{left:8px!important;right:auto!important}.rtl .ui-tabs .ui-tabs-nav li{float:right;margin-right:0;margin-left:.2em}.rtl .ui-tabs .ui-tabs-nav li a{float:right}.rtl .ui-tabs .ui-tabs-nav li.ui-state-default>a{margin-right:auto;margin-left:-1px}.rtl .ui-accordion .ui-accordion-header{padding-right:24px;padding-left:8px}.rtl .ui-accordion .ui-accordion-header .ui-accordion-header-icon{position:absolute;left:auto;right:10px}.rtl .ui-accordion .ui-accordion-header .ui-accordion-header-icon:before{content:"\f0d9"}.rtl .ui-accordion .ui-accordion-header.ui-state-active .ui-accordion-header-icon:before{content:"\f0d7"}.rtl .ui-jqgrid .ui-jqgrid-hdiv{border-width:1px 1px 0 0}.rtl .ui-jqgrid .ui-jqgrid-labels th{border-right:none!important;border-left:1px solid #e1e1e1!important;text-align:right!important}.rtl .ui-jqgrid .ui-jqgrid-labels th:first-child{border-right:1px solid #e1e1e1!important}.rtl .ui-jqgrid-labels th[id*="_cb"]:first-child{text-align:center!important}.rtl .ui-jqgrid-sortable{padding-left:0;padding-right:4px}.rtl .ui-jqdialog-content .searchFilter table{margin-left:auto;margin-right:4px}.rtl .ui-jqdialog-content .searchFilter .add-group,.rtl .ui-jqdialog-content .searchFilter .add-rule,.rtl .ui-jqdialog-content .searchFilter .delete-group{margin-left:auto!important;margin-right:4px!important}.rtl .ui-jqdialog-content .CaptionTD{text-align:left}.rtl .ui-jqdialog .ui-widget-header .ui-jqdialog-title{text-align:right;padding-left:0;padding-right:12px;float:right!important}.rtl .dd{text-align:right;direction:rtl}.rtl .dd-list{text-align:right;direction:rtl;margin-right:0}.rtl .dd-list .dd-list{padding-right:30px;padding-left:0}.rtl .dd2-handle+.dd2-content,.rtl .dd2-handle+.dd2-content[class*="btn-"]{padding-left:0;padding-right:44px}.rtl .dd-item>button{float:right;margin:5px 5px 5px 1px;left:auto;right:1px}.rtl .dd2-item.dd-item>button{margin-left:5px;margin-right:34px}.rtl .dd-dragel>li>.dd-handle{border-right:2px solid #777;border-left-width:0}.rtl .dd-list>li[class*="item-"]{border-left-width:0;border-right-width:0}.rtl .dd-list>li[class*="item-"]>.dd-handle{border-right:2px solid;border-right-color:inherit;border-left-color:#dae2ea;border-left-width:1px}.rtl .dd-list>li>.dd-handle .sticker{right:auto;left:0}.rtl .dd2-handle,.rtl .dd-dragel>li>.dd2-handle{left:auto;right:0;border-width:1px 0 0 1px}.rtl .limiterBox{direction:rtl;text-align:right}.rtl ol.linenums{margin-right:33px}.rtl ol.linenums li{padding-left:0;padding-right:12px}.rtl .prettyprint.linenums{-webkit-box-shadow:-40px 0 0 #fbfbfc inset,-41px 0 0 #ececf0 inset;box-shadow:-40px 0 0 #fbfbfc inset,-41px 0 0 #ececf0 inset}@media only screen and (max-width:767px){.rtl .ace-nav>li:nth-last-child(4)>.dropdown-menu{right:auto;left:-80px}.rtl .ace-nav>li:nth-last-child(4)>.dropdown-menu:before,.rtl .ace-nav>li:nth-last-child(4)>.dropdown-menu:after{right:auto;left:100px}.rtl .ace-nav>li:nth-last-child(3)>.dropdown-menu{right:auto;left:-40px}.rtl .ace-nav>li:nth-last-child(3)>.dropdown-menu:before,.rtl .ace-nav>li:nth-last-child(3)>.dropdown-menu:after{right:auto;left:60px}}@media only screen and (max-width:480px){.rtl .ace-nav>li:nth-last-child(4)>.dropdown-menu{right:auto;left:-120px}.rtl .ace-nav>li:nth-last-child(4)>.dropdown-menu:before,.rtl .ace-nav>li:nth-last-child(4)>.dropdown-menu:after{right:auto;left:140px}.rtl .ace-nav>li:nth-last-child(3)>.dropdown-menu{right:auto;left:-80px}.rtl .ace-nav>li:nth-last-child(3)>.dropdown-menu:before,.rtl .ace-nav>li:nth-last-child(3)>.dropdown-menu:after{right:auto;left:100px}.rtl .ace-nav>li:nth-last-child(2)>.dropdown-menu{right:auto;left:-50px}.rtl .ace-nav>li:nth-last-child(2)>.dropdown-menu:before,.rtl .ace-nav>li:nth-last-child(2)>.dropdown-menu:after{right:auto;left:70px}}@media only screen and (max-width:460px){.rtl .ace-nav>li:nth-last-child(4)>.dropdown-menu{left:auto;right:-5px}.rtl .ace-nav>li:nth-last-child(4)>.dropdown-menu:before,.rtl .ace-nav>li:nth-last-child(4)>.dropdown-menu:after{left:auto;right:25px}.rtl .ace-nav>li:nth-last-child(3)>.dropdown-menu{left:auto;right:-60px}.rtl .ace-nav>li:nth-last-child(3)>.dropdown-menu:before,.rtl .ace-nav>li:nth-last-child(3)>.dropdown-menu:after{left:auto;right:80px}.rtl .ace-nav>li:nth-last-child(2)>.dropdown-menu{left:auto;right:-110px}.rtl .ace-nav>li:nth-last-child(2)>.dropdown-menu:before,.rtl .ace-nav>li:nth-last-child(2)>.dropdown-menu:after{left:auto;right:130px}}@media only screen and (max-width:460px){.rtl .ace-nav>li{text-align:right;float:none!important}.rtl .ace-nav>li:first-child{border-left:none;border-right:1px solid #DDD}.rtl .ace-nav>li:last-child{border-left:1px solid #DDD}}@media(min-width:422px) and (max-width:480px),(max-width:340px){.rtl .ace-nav .nav-user-photo{margin-left:0}.rtl .user-info{margin-left:auto;right:auto;margin-right:1px;left:2px}}@media only screen and (max-width:767px){.rtl .nav-search{right:auto;left:5px}}@media only screen and (max-width:991px){.rtl .navbar-brand{margin-right:0}.rtl .sidebar{left:auto;box-shadow:-2px 1px 2px 0 rgba(0,0,0,0.2);border-left-width:1px;border-right-width:0}.rtl .sidebar.display,.rtl .sidebar.menu-min.display{left:auto;right:0}.rtl .sidebar.menu-min{left:auto;right:-50px}.rtl .main-content{margin-left:auto!important;margin-right:0!important}.rtl .menu-toggler{left:auto;margin-right:auto;right:0;margin-left:2px;padding-left:0;padding-right:33px}.rtl .menu-toggler:before{left:auto;right:4px}.rtl .menu-toggler:after{left:auto;right:4px}.rtl .menu-toggler>.menu-text{left:auto;right:0}.rtl .menu-toggler>.menu-text:after{left:auto;right:-8px}.rtl .breadcrumb{margin-left:auto;margin-right:90px}}@media only screen and (max-width:460px){.rtl .navbar .navbar-brand{display:block;float:none}}@media only screen and (max-width:480px){.rtl .ace-thumbnails>li{float:none}}@media only screen and (max-width:320px){.rtl .breadcrumb{margin-left:0;margin-right:36px}.rtl .menu-toggler>.menu-text:after{left:auto;right:-13px}}@media only screen and (max-width:480px){.rtl .fc-header td{text-align:right}}@media only screen and (max-width:360px){.rtl .grid2,.rtl .grid3,.rtl .grid4{border-right:0}.rtl .grid2>[class*="pull-"],.rtl .grid3>[class*="pull-"],.rtl .grid4>[class*="pull-"]{right:auto;left:11px}}@media only screen and (max-width:767px){.rtl .help-inline,.rtl .input-icon+.help-inline{padding-right:0}}@media only screen and (max-width:480px){.rtl .profile-info-value{margin-left:auto;margin-right:90px}.rtl .profile-user-info-striped .profile-info-name{padding-right:10px;padding-left:0;text-align:right}.rtl .profile-user-info-striped .profile-info-value{margin-left:auto;margin-right:10px}}
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/css/ace-skins.min.css b/src/main/webapp/static/login/assets/css/ace-skins.min.css new file mode 100644 index 0000000..74576e3 --- /dev/null +++ b/src/main/webapp/static/login/assets/css/ace-skins.min.css @@ -0,0 +1 @@ +.skin-1{background-color:#4a4f56}.skin-1 .navbar{background:#2c6aa0}.skin-1 .sidebar,.skin-1 .sidebar:before{background-color:#222a2d;border-right:0}.skin-1 .nav-list>li{border-color:#3f4e54;border-top-width:0}.skin-1 .nav-list>li>a,.skin-1 .menu-min .nav-list>li.open>a{background-color:#222a2d;color:#b1bac1}.skin-1 .nav-list>li:hover>a{background-color:#414b51;color:#e1eaf1}.skin-1 .nav-list>li>a>.arrow{color:#b1bac1}.skin-1 .nav-list>li.open>a>.arrow{color:#85c0ec}.skin-1 .nav-list>li .submenu>li>a{border-top-color:#afbdc9}.skin-1 .nav-list>li.active .submenu>li>a{border-top-color:#70818e}.skin-1 .nav-list li.active>a:after{border-right-color:#FFF;border-width:16px 10px;top:2px}.skin-1 .nav-list>li.active.open>ul.submenu>li.active>a:after{top:1px}.skin-1 .nav-list>li.active:after{display:none}.skin-1 .menu-min .nav-list>li.active>a:after{border-width:10px 6px;top:8px}.skin-1 .menu-min .nav-list>li.active:hover>a:after{border-right-color:#242a2b}.skin-1 .nav-list>li.open>a,.skin-1 .nav-list>li.open>a:hover{color:#85c0ec;background-color:#222a2d}.skin-1 .nav-list>li.active>a,.skin-1 .nav-list>li.active>a:hover,.skin-1 .menu-min .nav-list>li.active>a,.skin-1 .menu-min .nav-list>li.active>a:hover{background-color:#141a1b;color:#55a0dc}.skin-1 .nav-list>li>ul.submenu{background-color:#3a4344;border-top-color:#5a6364}.skin-1 .nav-list>li.active>ul.submenu{background-color:#141a1b;border-top-color:#2f3e44}.skin-1 .nav-list>li>.submenu>li>a{color:#d1dae1;border-bottom-color:#5a6364}.skin-1 .nav-list>li>.submenu>li:first-child>a{border-top-color:transparent}.skin-1 .nav-list>li>.submenu>li>a:hover{color:#8ab4de}.skin-1 .nav-list>li>.submenu>li.active>a{color:#55a0dc;border-bottom-color:#2f3e44}.skin-1 .nav-list>li>.submenu>li>a>[class*="icon-"]:first-child{display:none}.skin-1 .menu-min .nav-list>li:hover>a{color:#e1eaf1}.skin-1 .menu-min .nav-list>li>a>.menu-text{background-color:#414b51}.skin-1 .menu-min .nav-list>li.active>a>.menu-text{background-color:#242a2b}.skin-1 .menu-min .nav-list>li.active:hover>a,.skin-1 .menu-min .nav-list>li.active>a>.menu-text{color:#55a0dc}.skin-1 .menu-min .nav-list>li>a.active,.skin-1 .menu-min .nav-list>li.open.active>a{background-color:#141a1b}.skin-1 .menu-min .nav-list>li>a>.menu-text,.skin-1 .menu-min .nav-list>li>ul.submenu{border-color:#3f4e54;margin-top:1px;border-left-color:#242a2b}.skin-1 .nav-list>li>.submenu>li:before,.skin-1 .nav-list>li>.submenu:before{border-color:#929ba3}.skin-1 .nav-list>li.active>.submenu>li:before,.skin-1 .nav-list>li.active>.submenu:before{border-color:#3f4e54}.skin-1 .menu-min .nav-list>li>a.dropdown-toggle>.menu-text{border-bottom-color:#5a606a}.skin-1 .sidebar-collapse{background-color:#141a1b;border-color:#3f4e54;border-top-width:1px}.skin-1 .sidebar-collapse:before{border-color:#3f4e54}.skin-1 .sidebar-collapse>[class*="icon-"]{background-color:#222a2d}.skin-1 .sidebar-shortcuts,.skin-1 .sidebar-shortcuts-mini{background-color:#141a1b;border-color:#3f4e54}.skin-1 .sidebar>.nav-search{background-color:#141a1b;border-color:#3f4e54}.skin-1 .menu-min .sidebar-shortcuts-large{background-color:#141a1b;box-shadow:none;border:0;top:0}.skin-1 .breadcrumbs{border:0;background-color:#f0f0f0}@media only screen and (max-width:991px){.skin-1 .sidebar{border:0;box-shadow:none}.skin-1 .nav-list li.active>a:after{display:none}.skin-1 .menu-min .nav-list>li.active.open>a:after{display:none}.skin-1 .menu-min .nav-list>li.active:hover>a:after{display:block}}.skin-1 .nav-list>li>.submenu>li>.submenu a{border-top-color:#7b858c}.skin-1 .nav-list>li.active>.submenu>li>.submenu a{border-top-color:#545b60}.skin-1 .nav-list>li .submenu li>.submenu>li a{color:#d1dae1;font-size:13px}.skin-1 .nav-list>li .submenu li>.submenu>li a>[class*="icon-"]:first-child{color:inherit}.skin-1 .nav-list>li .submenu li>.submenu>li a:hover{color:#8ab4de;text-decoration:none}.skin-1 .nav-list>li .submenu li>.submenu>li a:hover>[class*="icon-"]:first-child{color:#55a0dc}.skin-1 .nav-list>li .submenu li.open>a,.skin-1 .nav-list>li .submenu li>.submenu>li.open>a{color:#85c0ec}.skin-1 .nav-list>li .submenu li.open>a>[class*="icon-"]:first-child,.skin-1 .nav-list>li .submenu li>.submenu>li.open>a>[class*="icon-"]:first-child{color:inherit}.skin-1 .nav-list>li .submenu li>.submenu li.active>a{color:#61a8dd}.skin-1 .nav-list>li .submenu li>.submenu li.active>a>[class*="icon-"]:first-child{color:inherit}.skin-1 .nav-list>li .submenu li>.submenu li.active>a:hover{color:#85c0ec}.skin-1 .nav-list>li .submenu li>a>.arrow{color:#BBB}.skin-1 .nav-list>li>.submenu>li.open>a>.arrow,.skin-1 .nav-list>li>.submenu>li>a:hover>.arrow,.skin-1 .nav-list>li>.submenu>li>.submenu>li.open>a>.arrow,.skin-1 .nav-list>li>.submenu>li>.submenu>li>a:hover>.arrow{color:inherit}.skin-2{background-color:#5c5c5c}.skin-2 .navbar{background:#c6487e}.skin-2 .sidebar,.skin-2 .sidebar:before{background-color:#505050;border-right:0}.skin-2 .nav-list>li{border-color:#444;border-top-width:0}.skin-2 .nav-list>li:last-child{border-bottom-width:0}.skin-2 .nav-list>li>a,.skin-2 .menu-min .nav-list>li.open>a,.skin-2 .nav-list .open>a,.skin-2 .nav-list .open>a:hover,.skin-2 .nav-list .open>a:focus{background-color:#393939}.skin-2 .nav-list>li.active>a{color:#FFF}.skin-2 .nav-list>li>a:hover:before{display:none}.skin-2 .nav-list li.active>a:after{border-right-color:#FFF}.skin-2 .nav-list>li.active>a:after,.skin-2 .nav-list>li.active>.submenu>li.active>a:after{top:2px;right:0;border-width:16px 10px}.skin-2 .menu-min .nav-list>li.active>a:after{border-width:10px 6px;top:8px}.skin-2 .menu-min .nav-list>li.active:hover>a:after{border-right-color:#292929}.skin-2 .nav-list>li.active:after{display:none}.skin-2 .nav-list>li.active.open>.submenu>li.active>a:after{border-right-color:#FFF;right:0}.skin-2 .nav-list>li>.submenu{background-color:#303030;border-top-color:#666}.skin-2 .nav-list>li.active>.submenu{background-color:#222}.skin-2 .nav-list>li>.submenu>li:first-child>a{border-top:0}.skin-2 .nav-list>li>.submenu>li>a{color:#CCC;border-bottom-color:#555}.skin-2 .nav-list>li>.submenu>li>a>[class*="icon-"]:first-child{display:none}.skin-2 .nav-list>li>a>.menu-text{color:#DDD}.skin-2 .nav-list>li>a:hover>.menu-text{color:rgba(0,0,0,0.5);font-weight:bold}.skin-2 .nav-list>li.active>a:hover>.menu-text{color:#FFF}.skin-2 .nav-list>li>a>.arrow{color:#AAA}.skin-2 .nav-list>li>a:hover>.arrow{color:#FFF}.skin-2 .menu-min .nav-list>li>a>.menu-text{color:#FFF;font-weight:bold;opacity:1;filter:alpha(opacity=100);background-color:#292929;border:0;box-shadow:none;text-shadow:1px 1px 0 rgba(0,0,0,0.5);margin-top:2px}.skin-2 .menu-min .nav-list>li>a.dropdown-toggle>.menu-text{margin-top:0;background-color:#292929}.skin-2 .menu-min .nav-list>li>ul.submenu{box-shadow:none;border:0;background-color:#303030;margin-left:1px;margin-top:1px;border-left:1px solid #FFF}.skin-2 .nav-list>li>ul.submenu>li>a:hover{color:#FFF}.skin-2 .nav-list>li>ul.submenu>li:before,.skin-2 .nav-list>li>ul.submenu>li:after{display:none}.skin-2 .nav-list>li>ul.submenu>li>a{padding-left:28px}.skin-2 .nav-list>li>a,.skin-2 .menu-min .nav-list>li>a>.menu-text{color:#CCC}.skin-2 .nav-list>li:nth-child(1)>a,.skin-2 .menu-min .nav-list>li:nth-child(1)>a>.menu-text{color:#00be67}.skin-2 .nav-list>li:nth-child(2)>a,.skin-2 .menu-min .nav-list>li:nth-child(2)>a>.menu-text{color:#5ed02b}.skin-2 .nav-list>li:nth-child(3)>a,.skin-2 .menu-min .nav-list>li:nth-child(3)>a>.menu-text{color:#a7d700}.skin-2 .nav-list>li:nth-child(4)>a,.skin-2 .menu-min .nav-list>li:nth-child(4)>a>.menu-text{color:#cee100}.skin-2 .nav-list>li:nth-child(5)>a,.skin-2 .menu-min .nav-list>li:nth-child(5)>a>.menu-text{color:#f8c600}.skin-2 .nav-list>li:nth-child(6)>a,.skin-2 .menu-min .nav-list>li:nth-child(6)>a>.menu-text{color:#ffab00}.skin-2 .nav-list>li:nth-child(7)>a,.skin-2 .menu-min .nav-list>li:nth-child(7)>a>.menu-text{color:#ff6e00}.skin-2 .nav-list>li:nth-child(8)>a,.skin-2 .menu-min .nav-list>li:nth-child(8)>a>.menu-text{color:#f21c30}.skin-2 .nav-list>li:nth-child(9)>a,.skin-2 .menu-min .nav-list>li:nth-child(9)>a>.menu-text{color:#ee218b}.skin-2 .nav-list>li:nth-child(10)>a,.skin-2 .menu-min .nav-list>li:nth-child(10)>a>.menu-text{color:#c55ee7}.skin-2 .nav-list>li:nth-child(11)>a,.skin-2 .menu-min .nav-list>li:nth-child(11)>a>.menu-text{color:#218bee}.skin-2 .nav-list>li:nth-child(12)>a,.skin-2 .menu-min .nav-list>li:nth-child(12)>a>.menu-text{color:#2ecee7}.skin-2 .menu-min .nav-list>li.active>a>[class*="icon-"],.skin-2 .nav-list>li:not(.active):hover>a>[class*="icon-"]{color:#FFF}.skin-2 .nav-list>li.active>a>.menu-text{color:#FFF}.skin-2 .nav-list>li.active>ul.submenu{background-color:#222}.skin-2 .nav-list>li>ul.submenu:before{display:block;content:"";position:absolute;z-index:auto;left:0;top:0;right:0;bottom:0;background-color:#393939;opacity:.12}.skin-2 .sidebar:not(.menu-min) .nav-list>li:not(.active)>a:hover .badge:not(.badge-transparent),.skin-2 .sidebar:not(.menu-min) .nav-list>li:not(.active)>a:hover .label:not(.label-transparent){background-color:rgba(0,0,0,0.5)!important}.skin-2 .sidebar:not(.menu-min) .nav-list>li:not(.active)>a:hover .badge.badge-transparent,.skin-2 .sidebar:not(.menu-min) .nav-list>li:not(.active)>a:hover .label.label-transparent{color:rgba(255,255,255,0.75)!important}.skin-2 .sidebar:not(.menu-min) .nav-list>li:not(.active)>a:hover .badge.badge-transparent [class*="icon-"],.skin-2 .sidebar:not(.menu-min) .nav-list>li:not(.active)>a:hover .label.label-transparent [class*="icon-"]{color:rgba(255,255,255,0.75)!important}.skin-2 .nav-list>li>a:hover,.skin-2 .menu-min .nav-list>li:hover>a,.skin-2 .menu-min .nav-list>li.active>a{background-color:#c6487e}.skin-2 .nav-list>li>ul.submenu:before{background-color:#35262d}.skin-2 .nav-list>li:nth-child(1)>a:hover,.skin-2 .menu-min .nav-list li:nth-child(1):hover>a,.skin-2 .menu-min .nav-list li.active:nth-child(1)>a,.skin-2 .nav-list>li:nth-child(1)>ul.submenu:before{background-color:#00be67}.skin-2 .nav-list>li:nth-child(2)>a:hover,.skin-2 .menu-min .nav-list li:nth-child(2):hover>a,.skin-2 .menu-min .nav-list li.active:nth-child(2)>a,.skin-2 .nav-list>li:nth-child(2)>ul.submenu:before{background-color:#5ed02b}.skin-2 .nav-list>li:nth-child(3)>a:hover,.skin-2 .menu-min .nav-list li:nth-child(3):hover>a,.skin-2 .menu-min .nav-list li.active:nth-child(3)>a,.skin-2 .nav-list>li:nth-child(3)>ul.submenu:before{background-color:#a7d700}.skin-2 .nav-list>li:nth-child(4)>a:hover,.skin-2 .menu-min .nav-list li:nth-child(4):hover>a,.skin-2 .menu-min .nav-list li.active:nth-child(4)>a,.skin-2 .nav-list>li:nth-child(4)>ul.submenu:before{background-color:#cee100}.skin-2 .nav-list>li:nth-child(5)>a:hover,.skin-2 .menu-min .nav-list li:nth-child(5):hover>a,.skin-2 .menu-min .nav-list li.active:nth-child(5)>a,.skin-2 .nav-list>li:nth-child(5)>ul.submenu:before{background-color:#f8c600}.skin-2 .nav-list>li:nth-child(6)>a:hover,.skin-2 .menu-min .nav-list li:nth-child(6):hover>a,.skin-2 .menu-min .nav-list li.active:nth-child(6)>a,.skin-2 .nav-list>li:nth-child(6)>ul.submenu:before{background-color:#ffab00}.skin-2 .nav-list>li:nth-child(7)>a:hover,.skin-2 .menu-min .nav-list li:nth-child(7):hover>a,.skin-2 .menu-min .nav-list li.active:nth-child(7)>a,.skin-2 .nav-list>li:nth-child(7)>ul.submenu:before{background-color:#ff6e00}.skin-2 .nav-list>li:nth-child(8)>a:hover,.skin-2 .menu-min .nav-list li:nth-child(8):hover>a,.skin-2 .menu-min .nav-list li.active:nth-child(8)>a,.skin-2 .nav-list>li:nth-child(8)>ul.submenu:before{background-color:#f21c30}.skin-2 .nav-list>li:nth-child(9)>a:hover,.skin-2 .menu-min .nav-listli:nth-child(9):hover>a,.skin-2 .menu-min .nav-list li.active:nth-child(9)>a,.skin-2 .nav-list>li:nth-child(9)>ul.submenu:before{background-color:#ee218b}.skin-2 .nav-list>li:nth-child(10)>a:hover,.skin-2 .menu-min .nav-list li:nth-child(10):hover>a,.skin-2 .menu-min .nav-list li.active:nth-child(10)>a,.skin-2 .nav-list>li:nth-child(10)>ul.submenu:before{background-color:#c55ee7}.skin-2 .nav-list>li:nth-child(11)>a:hover,.skin-2 .menu-min .nav-list li:nth-child(11):hover>a,.skin-2 .menu-min .nav-list li.active:nth-child(11)>a,.skin-2 .nav-list>li:nth-child(11)>ul.submenu:before{background-color:#218bee}.skin-2 .nav-list>li:nth-child(12)>a:hover,.skin-2 .menu-min .nav-list li:nth-child(12):hover>a,.skin-2 .menu-min .nav-listli.active:nth-child(12)>a,.skin-2 .nav-list>li:nth-child(12)>ul.submenu:before{background-color:#2ecee7}.skin-2 .nav-list>li>ul.submenu{border-top-style:inset}.skin-2 .menu-min .nav-list>li>ul.submenu{border-top-color:#666!important}.skin-2 .nav-list>li>ul.submenu{border-top-color:#c6487e}.skin-2 .nav-list>li:nth-child(1)>ul.submenu{border-top-color:#00be67}.skin-2 .nav-list>li:nth-child(2)>ul.submenu{border-top-color:#5ed02b}.skin-2 .nav-list>li:nth-child(3)>ul.submenu{border-top-color:#a7d700}.skin-2 .nav-list>li:nth-child(4)>ul.submenu{border-top-color:#cee100}.skin-2 .nav-list>li:nth-child(5)>ul.submenu{border-top-color:#f8c600}.skin-2 .nav-list>li:nth-child(6)>ul.submenu{border-top-color:#ffab00}.skin-2 .nav-list>li:nth-child(7)>ul.submenu{border-top-color:#ff6e00}.skin-2 .nav-list>li:nth-child(8)>ul.submenu{border-top-color:#f21c30}.skin-2 .nav-list>li:nth-child(9)>ul.submenu{border-top-color:#ee218b}.skin-2 .nav-list>li:nth-child(10)>ul.submenu{border-top-color:#c55ee7}.skin-2 .nav-list>li:nth-child(11)>ul.submenu{border-top-color:#218bee}.skin-2 .nav-list>li:nth-child(12)>ul.submenu{border-top-color:#2ecee7}.skin-2 .nav-list>li>ul.submenu li.active>a{color:#c6487e}.skin-2 .nav-list>li:nth-child(1)>ul.submenu li.active>a{color:#00be67}.skin-2 .nav-list>li:nth-child(2)>ul.submenu li.active>a{color:#5ed02b}.skin-2 .nav-list>li:nth-child(3)>ul.submenu li.active>a{color:#a7d700}.skin-2 .nav-list>li:nth-child(4)>ul.submenu li.active>a{color:#cee100}.skin-2 .nav-list>li:nth-child(5)>ul.submenu li.active>a{color:#f8c600}.skin-2 .nav-list>li:nth-child(6)>ul.submenu li.active>a{color:#ffab00}.skin-2 .nav-list>li:nth-child(7)>ul.submenu li.active>a{color:#ff6e00}.skin-2 .nav-list>li:nth-child(8)>ul.submenu li.active>a{color:#f21c30}.skin-2 .nav-list>li:nth-child(9)>ul.submenu li.active>a{color:#ee218b}.skin-2 .nav-list>li:nth-child(10)>ul.submenu li.active>a{color:#c55ee7}.skin-2 .nav-list>li:nth-child(11)>ul.submenu li.active>a{color:#218bee}.skin-2 .nav-list>li:nth-child(12)>ul.submenu li.active>a{color:#2ecee7}.skin-2 .nav-list>li.active>a,.skin-2 .nav-list>li.active>a:hover{background-color:#242424}.skin-2 .sidebar-collapse{background-color:#2c2c2c;border-top:1px solid #666;border-bottom:1px solid #777}.skin-2 .sidebar-collapse:before{border-color:#666}.skin-2 .sidebar-collapse>[class*="icon-"]{background-color:#333}.skin-2 .sidebar-shortcuts{background-color:#393939;border-color:#666;min-height:40px}.skin-2 .sidebar>.nav-search{background-color:#393939;border-color:#666}.skin-2 .sidebar-shortcuts .btn{border-radius:32px!important;border-width:2px;background-color:#555!important}.skin-2 .sidebar-shortcuts .btn:hover{background-color:#222!important}.skin-2 .menu-min .sidebar-shortcuts-large{border:0;box-shadow:none;background-color:#393939;top:0}.skin-2 .sidebar-shortcuts-mini{background-color:#141a1b;border-color:#3f4e54}.skin-2 .sidebar-shortcuts-mini .btn{border-width:2px!important;border-radius:32px!important;padding:6px!important;opacity:1;background-color:inherit}body.skin-2 .main-content{padding-top:8px}.skin-2 .breadcrumbs{border:0;background-color:#e7f2f8;margin:0 8px 0;border-radius:4px}@media only screen and (max-width:991px){.skin-2 .sidebar{border:0;box-shadow:none}.skin-2 .nav-list li.active>a:after{display:none}body.skin-2 .main-content{padding-top:0}.skin-2 .breadcrumbs{margin:0;border-radius:0}.skin-2 .menu-min .nav-list>li.active>a:after{display:none}.skin-2 .menu-min .nav-list>li.active:hover>a:after{display:block}}.skin-2 .nav-list>li .submenu a{background-color:transparent!important}.skin-2 .nav-list>li>.submenu>li>.submenu a{border-top-color:#CCC}.skin-2 .nav-list>li.active>.submenu>li>.submenu a{border-top-color:#999}.skin-2 .nav-list>li>.submenu li>.submenu>li a{color:#d5d5d5}.skin-2 .nav-list>li>.submenu li>.submenu>li a>[class*="icon-"]:first-child{color:#d5d5d5}.skin-2 .nav-list>li>.submenu li>.submenu li.active>a>[class*="icon-"]:first-child{color:inherit}.skin-2 .nav-list>li .submenu a>.arrow{color:#CCC}.skin-2 .nav-list>li>.submenu>li>a:hover>.arrow,.skin-2 .nav-list>li>.submenu>li>.submenu>li>a:hover>.arrow{color:#EEE}.skin-2 .nav-list>li>.submenu>li>.submenu>li>a{margin-left:0;padding-left:38px}.skin-2 .nav-list>li>.submenu>li>.submenu>li>.submenu>li>a{margin-left:0;padding-left:54px}.skin-2 .nav-list>li ul.submenu li.open>a{color:#c6487e}.skin-2 .nav-list>li:nth-child(1) ul.submenu li.open>a{color:#00be67}.skin-2 .nav-list>li:nth-child(2) ul.submenu li.open>a{color:#5ed02b}.skin-2 .nav-list>li:nth-child(3) ul.submenu li.open>a{color:#a7d700}.skin-2 .nav-list>li:nth-child(4) ul.submenu li.open>a{color:#cee100}.skin-2 .nav-list>li:nth-child(5) ul.submenu li.open>a{color:#f8c600}.skin-2 .nav-list>li:nth-child(6) ul.submenu li.open>a{color:#ffab00}.skin-2 .nav-list>li:nth-child(7) ul.submenu li.open>a{color:#ff6e00}.skin-2 .nav-list>li:nth-child(8) ul.submenu li.open>a{color:#f21c30}.skin-2 .nav-list>li:nth-child(9) ul.submenu li.open>a{color:#ee218b}.skin-2 .nav-list>li:nth-child(10) ul.submenu li.open>a{color:#c55ee7}.skin-2 .nav-list>li:nth-child(11) ul.submenu li.open>a{color:#218bee}.skin-2 .nav-list>li:nth-child(12) ul.submenu li.open>a{color:#2ecee7}.skin-2 .nav-list>li ul.submenu li>a:hover{color:#FFF}.skin-2 .nav-list>li>.submenu>li.open>a>[class*="icon-"]:first-child,.skin-2 .nav-list>li>.submenu>li>.submenu>li.open>a>[class*="icon-"]:first-child{color:inherit}.skin-2 .nav-list>li>.submenu>li.open>a>.arrow,.skin-2 .nav-list>li>.submenu>li>.submenu>li.open>a>.arrow{color:inherit}.skin-3{background-color:#BBB}.skin-3 .main-container:after{background:#FFF;background:-moz-linear-gradient(top,#eef5fa 0,#FFF 8%) 0 4px;background:-webkit-gradient(linear,0 0,0 100%,from(#eef5fa),color-stop(4%,#FFF)) 0 4px;background:-webkit-linear-gradient(top,#eef5fa 0,#FFF 8%) 0 4px;background:-o-linear-gradient(top,#eef5fa 0,#FFF 8%) 0 4px;background:-ms-linear-gradient(top,#eef5fa 0,#FFF 8%) 0 4px;background:linear-gradient(top,#eef5fa 0,#FFF 8%) 0 4px;-moz-background-size:100% 26px;-webkit-background-size:100% 26px;-o-background-size:100% 26px;-ms-background-size:100% 26px;background-size:100% 26px}.skin-3 .navbar{background:#393939}.skin-3 .sidebar,.skin-3 .sidebar:before{background-color:#d6d6d6;border-right:1px solid #a4c6dd}.skin-3 .page-content{background-color:transparent}.skin-3 .infobox:not(.infobox-dark){border-style:solid;background-color:transparent}.skin-3 .nav-list>li{border-color:#f2f2f2;border-bottom-width:0;position:relative}.skin-3 .nav-list>li:before{display:inline-block;content:"";position:absolute;z-index:1;left:0;top:0;bottom:0;max-width:0;overflow:hidden;border-left:3px solid #444}.skin-3 .nav-list>li.active:before{border-left-color:#4d96cb}.skin-3 .nav-list>li:first-child{border-top:1px solid #f2f2f2}.skin-3 .nav-list>li:last-child{border-bottom-width:1px}.skin-3 .nav-list>li:hover{border-left-color:#1963aa;border-top-color:#EEE}.skin-3 .nav-list>li:hover+li{border-top-color:#EEE}.skin-3 .nav-list>li:last-child:hover{border-bottom-color:#EEE}.skin-3 .nav-list>li.active{border-left-color:#1a67bd;border-top-color:#a4c6dd!important}.skin-3 .nav-list>li.active+li{border-top-color:#a4c6dd}.skin-3 .nav-list>li.active:last-child{border-bottom-color:#a4c6dd}.skin-3 .nav-list>li>a:hover:before{display:none}.skin-3 .nav-list>li>a{background-color:#e0e0e0;color:#5a5a5a}.skin-3 .nav-list>li:hover>a{background-color:#EEE;color:#1963aa}.skin-3 .nav-list>li>a:focus{color:#1963aa}.skin-3 .nav-list>li.open>a{background-color:#f3f3f3;color:#1963aa}.skin-3 .menu-min .nav-list>li.open>a{background-color:#e0e0e0;color:#5a5a5a}.skin-3 .menu-min .nav-list>li.open>a>.menu-text{color:#1963aa}.skin-3 .menu-min .nav-list>li.active>a>.menu-text{border-left-color:#EEE}.skin-3 .nav-list>li.active>a{background-color:#eef8ff;color:#4d96cb}.skin-3 .nav-list li.active>a:after{border-right-color:#FFF;right:-1px;top:0;z-index:12;border-width:18px 12px}.skin-3 .nav-list li.active>a:before{content:"";display:block;position:absolute;right:0;top:0;z-index:11;left:auto;bottom:auto;width:auto;max-width:auto;background-color:transparent;border-style:solid;border-width:18px 12px;border-color:transparent;border-right-color:#a4c6dd}.skin-3 .nav-list>li.active.open>.submenu li.active>a:before,.skin-3 .nav-list>li.active.open>.submenu li.active>a:after{border-width:14px 10px;top:2px}.skin-3 .nav-list>li.active.open>.submenu .submenu li.active>a:before,.skin-3 .nav-list>li.active.open>.submenu .submenu li.active>a:after{top:0}.skin-3 .nav-list li.active.open>a:after,.skin-3 .nav-list li.active.open>a:before{display:none}.skin-3 .nav-list>li.active:after{display:none}.skin-3 .nav-list li.active.open>.submenu>li.active.open>a.dropdown-toggle:before{display:none}.skin-3 .nav-list li.active>.submenu>li.active>a:before{display:none}.skin-3 .nav-list li.active.open>.submenu>li.active>a:before{display:block}.skin-3 .menu-min .nav-list li.active.open>.submenu>li.active>a:before{display:none}.skin-3 .menu-min .nav-list>li.active>a{background-color:#4d96cb;color:#FFF}.skin-3 .menu-min .nav-list>li.active>a>.menu-text{color:#4d96cb}.skin-3 .menu-min .nav-list li.active>a:after{display:none}.skin-3 .menu-min .nav-list li.active>a:before{display:none}.skin-3 .menu-min .nav-list>li.active>a:after{display:block;border-width:12px 7px;top:5px}.skin-3 .menu-min .sidebar-shortcuts{border-left:none}.skin-3 .sidebar.menu-min>.nav-search{border-left:none}.skin-3 .menu-min .nav-list>li>.submenu,.skin-3 .menu-min .nav-list>li.active>.submenu{border-left-color:#CCC}.skin-3 .nav-list>li>a>.arrow{right:10px}.skin-3 .sidebar-collapse{background-color:#d0d0d0;border-color:#FFF}.skin-3 .sidebar-collapse:before{border-color:#FFF}.skin-3 .sidebar-collapse>[class*="icon-"]{background-color:#FFF;border-color:#999;color:#999}.skin-3 .sidebar-shortcuts{background-color:#e0e0e0;border-bottom:0;border-color:#FFF;min-height:40px;border-left:3px solid #444}.skin-3 .sidebar>.nav-search{background-color:#e0e0e0;border-bottom:0;border-color:#FFF;border-left:3px solid #444}.skin-3 .sidebar-shortcuts-mini{background-color:#e0e0e0}.skin-3 .sidebar-shortcuts-mini>.btn{opacity:1}.skin-3 .menu-min .sidebar-shortcuts-large{background-color:#f5f5f5;top:-1px}body.skin-3 .main-content{padding-top:8px}.skin-3 .breadcrumbs{border:0;border-radius:4px;background-color:#e7f2f8;margin:0 8px 0}.skin-3 .nav-search-input{border-radius:4px}.skin-3 .page-content>.page-header:first-child{border-bottom-color:#c9c9c9}.skin-3 .hr{border-color:#d5d5d5}@media only screen and (max-width:991px){.skin-3 .sidebar,.skin-3 .nav-list>li,.skin-3 .sidebar-shortcuts{border-left:none}.skin-3 .sidebar{border-color:#a4c6dd}body.skin-3 .main-content{padding-top:0}.skin-3 .breadcrumbs{border-radius:0;margin:0}.skin-3 .menu-toggler{background-color:#62a8d1;color:#FFF}.skin-3 .menu-toggler:after,.skin-3 .menu-toggler:before{border-color:#FFF}.skin-3 .menu-toggler>.menu-text{border-top-color:#62a8d1}.skin-3 .menu-toggler>.menu-text:after{color:#FFF}.skin-3 .nav-list li.active>a:before,.skin-3 .nav-list li.active>a:after{display:none}.skin-3 .menu-min .nav-list li.active>a:before,.skin-3 .menu-min .nav-list li.active>a:after{display:none}.skin-3 .nav-list li.active.open>.submenu>li.active>a:before{display:none}.skin-3 .menu-min .nav-list>li.active.open:hover>a:after{display:block!important}}.rtl.skin-1 .sidebar,.rtl.skin-1 .sidebar:before{border-left:none}.rtl.skin-1 .nav-list li.active>a:after{border-right-color:transparent;border-left-color:#FFF}.rtl.skin-1 .menu-min .nav-list>li.active:hover>a:after{border-left-color:#242a2b;border-right-color:transparent}.rtl.skin-1 .menu-min .nav-list>li>a>.menu-text,.rtl.skin-1 .menu-min .nav-list>li>ul.submenu{border-left-color:#3f4e54;border-right-color:#242a2b}.rtl.skin-2 .sidebar,.rtl.skin-2 .sidebar:before{border-left:none}.rtl.skin-2 .nav-list li.active>a:after{border-right-color:transparent;border-left-color:#FFF}.rtl.skin-2 .nav-list>li.active>a:after,.rtl.skin-2 .nav-list>li.active>.submenu>li.active>a:after{right:auto;left:0}.rtl.skin-2 .menu-min .nav-list>li.active:hover>a:after{border-right-color:transparent;border-left-color:#292929}.rtl.skin-2 .nav-list>li.active.open>.submenu>li.active>a:after{border-right-color:transparent;border-left-color:#FFF;right:auto;left:0}.rtl.skin-2 .menu-min .nav-list>li>a>.menu-text{text-shadow:-1px 1px 0 rgba(0,0,0,0.5)}.rtl.skin-2 .menu-min .nav-list>li>ul.submenu{margin-left:auto;margin-right:1px;border-left:none;border-right:1px solid #FFF}.rtl.skin-2 .nav-list>li>ul.submenu>li>a{padding-left:0;padding-right:28px}.rtl.skin-2 .nav-list>li>.submenu>li>.submenu>li>a{margin-left:auto;padding-left:0;margin-right:0;padding-right:38px}.rtl.skin-2 .nav-list>li>.submenu>li>.submenu>li>.submenu>li>a{margin-left:auto;padding-left:0;margin-right:0;padding-right:54px}.rtl.skin-3 .sidebar,.rtl.skin-3 .sidebar:before{border-right:0;border-left:1px solid #a4c6dd}.rtl.skin-3 .nav-list>li:before{left:auto;right:0;border-left:none;border-right:3px solid #444}.rtl.skin-3 .nav-list>li.active:before{border-left:none;border-right-color:#4d96cb}.rtl.skin-3 .nav-list>li:hover{border-left-color:#f2f2f2;border-right-color:#1963aa}.rtl.skin-3 .nav-list>li.active{border-left-color:#f2f2f2;border-right-color:#1a67bd}.rtl.skin-3 .menu-min .nav-list>li.active>a>.menu-text{border-left-color:#CCC;border-right-color:#EEE}.rtl.skin-3 .nav-list li.active>a:after{border-right-color:transparent;border-left-color:#FFF;left:-1px;right:auto}.rtl.skin-3 .nav-list li.active>a:before{right:auto;left:0;border-right-color:transparent;border-left-color:#a4c6dd}.rtl.skin-3 .menu-min .sidebar-shortcuts{border-right:0}.rtl.skin-3 .sidebar.menu-min>.nav-search{border-right:0}.rtl.skin-3 .menu-min .nav-list>li>.submenu,.rtl.skin-3 .menu-min .nav-list>li.active>.submenu{border-right-color:#CCC}.rtl.skin-3 .nav-list>li>a>.arrow{right:auto;left:10px}.rtl.skin-3 .sidebar-shortcuts{border-left:none;border-right:3px solid #444}.rtl.skin-3 .sidebar>.nav-search{border-left:none;border-right:3px solid #444}@media only screen and (max-width:991px){.rtl.skin-3 .sidebar,.rtl.skin-3 .nav-list>li,.rtl.skin-3 .sidebar-shortcuts{border-right:0}}
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/css/ace.min.css b/src/main/webapp/static/login/assets/css/ace.min.css new file mode 100644 index 0000000..aafa77f --- /dev/null +++ b/src/main/webapp/static/login/assets/css/ace.min.css @@ -0,0 +1 @@ +html{min-height:100%;position:relative}body{padding-bottom:0;background-color:#e4e6e9;min-height:100%;font-family:'Open Sans';font-size:13px;color:#393939;line-height:1.5}body.navbar-fixed{padding-top:45px}body.breadcrumbs-fixed{padding-top:86px}.main-container{position:static;padding:0}.main-container:after{background-color:#FFF;bottom:0;content:"";display:block;max-width:inherit;position:fixed;top:0;width:100%;z-index:-2}@media(min-width:768px){.container.main-container:after{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,0.1);box-shadow:0 0 0 1px rgba(0,0,0,0.1)}}.main-container>.main-container-inner{position:relative}.container.main-container .sidebar.sidebar-fixed,.container.main-container .sidebar.sidebar-fixed:before{left:auto}.main-content{margin-left:190px;margin-right:0;margin-top:0;min-height:100%;padding:0}.page-content{background:#fff;margin:0;padding:8px 20px 24px}.page-header{margin:0 0 12px;border-bottom:1px dotted #e2e2e2;padding-bottom:16px;padding-top:7px}.page-header h1{padding:0;margin:0 8px;font-size:24px;font-weight:lighter;color:#2679b5}.page-header h1 small{margin:0 6px;font-size:14px;font-weight:normal;color:#8089a0}[class*=" icon-"],[class^="icon-"]{display:inline-block;text-align:center}a:focus,a:active{text-decoration:none}h1{font-size:32px;font-weight:normal;font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif}h1.smaller{font-size:31px}h1.bigger{font-size:33px}h1.block{margin-bottom:16px}h2{font-size:26px;font-weight:normal;font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif}h2.smaller{font-size:25px}h2.bigger{font-size:27px}h2.block{margin-bottom:16px}h3{font-size:22px;font-weight:normal;font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif}h3.smaller{font-size:21px}h3.bigger{font-size:23px}h3.block{margin-bottom:16px}h4{font-size:18px;font-weight:normal;font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif}h4.smaller{font-size:17px}h4.bigger{font-size:19px}h4.block{margin-bottom:16px}h5{font-size:15px;font-weight:normal;font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif}h5.smaller{font-size:14px}h5.bigger{font-size:16px}h5.block{margin-bottom:16px}h6{font-size:13px;font-weight:normal;font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif}h6.smaller{font-size:12px}h6.bigger{font-size:14px}h6.block{margin-bottom:16px}ul,ol{margin:0 0 10px 25px;padding:0}ul.margin-5,ol.margin-5{margin-left:5px}ul.margin-10,ol.margin-10{margin-left:10px}ul.margin-15,ol.margin-15{margin-left:15px}ul.margin-20,ol.margin-20{margin-left:20px}li>ul,li>ol{margin-left:18px}.list-unstyled,.list-inline{margin-left:0}.list-unstyled>li>[class*="icon-"]:first-child,.list-inline>li>[class*="icon-"]:first-child{width:18px;text-align:center}.spaced>li{margin-top:9px;margin-bottom:9px}.spaced2>li{margin-top:15px;margin-bottom:15px}li.divider{margin-top:3px;margin-bottom:3px;height:0;font-size:0}.spaced>li.divider{margin-top:5px;margin-bottom:5px}.spaced2>li.divider{margin-top:8px;margin-bottom:8px}li.divider:before{content:"";display:inline-block}blockquote,blockquote.pull-right{border-color:#e5eaf1}.modal-content{border-radius:0;-webkit-box-shadow:none;box-shadow:none}.modal-footer{padding-top:12px;padding-bottom:14px;border-top-color:#e4e9ee;-webkit-box-shadow:none;box-shadow:none;background-color:#eff3f8}.modal-header .close{font-size:32px}.well{border-radius:0}.well h1,.well h2,.well h3,.well h4,.well h5,.well h6{margin-top:0}.well h1,.well h2,.well h3{line-height:36px}.alert{font-size:14px;border-radius:0}.alert .close{font-size:16px}.alert-block p+p{margin-top:10px}.pagination>li>a,.pager>li>a,.pagination>li>span,.pager>li>span{border-width:1px;border-radius:0!important}.pagination>li>a,.pager>li>a{color:#2283c5;background-color:#fafafa;margin:0 -1px 0 0;border-color:#e0e8eb}.pagination>li>a:hover,.pager>li>a:hover{background-color:#eaeff2}.pagination>li>a:focus,.pager>li>a:focus{background-color:#eaeef2}.pagination>li.disabled>a,.pagination>li.disabled>a:hover,.pager>li.disabled>a,.pager>li.disabled>a:hover{background-color:#f9f9f9;border-color:#d9d9d9}.pagination>li.active>a,.pagination>li.active>a:hover{background-color:#6faed9;border-color:#6faed9;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.list-group-item{border-radius:0!important}.lighter{font-weight:lighter}.bolder{font-weight:bolder}.inline{display:inline-block!important}.block{display:block!important}.center,.align-center{text-align:center!important}.align-left{text-align:left!important}.align-right{text-align:right!important}.middle{vertical-align:middle}.align-middle{vertical-align:middle!important}.align-top{vertical-align:top!important}.align-bottom{vertical-align:bottom!important}.position-relative{position:relative}.position-absolute{position:absolute}.line-height-normal{line-height:normal!important}.line-height-1{line-height:1!important}.dark{color:#333!important}.white{color:#fff!important}.red{color:#dd5a43!important}.light-red{color:#f77!important}.blue{color:#478fca!important}.light-blue{color:#93cbf9!important}.green{color:#69aa46!important}.light-green{color:#b0d877!important}.orange{color:#ff892a!important}.light-orange{color:#fcac6f!important}.orange2{color:#feb902!important}.purple{color:#a069c3!important}.pink{color:#c6699f!important}.pink2{color:#d6487e!important}.brown{color:#a52a2a!important}.grey{color:#777!important}.light-grey{color:#bbb!important}.bigger-110{font-size:110%}.bigger-120{font-size:120%}.bigger-130{font-size:130%}.bigger-140{font-size:140%}.bigger-150{font-size:150%}.bigger-160{font-size:160%}.bigger-170{font-size:170%}.bigger-180{font-size:180%}.bigger-190{font-size:190%}.bigger-200{font-size:200%}.bigger-210{font-size:210%}.bigger-220{font-size:220%}.bigger-230{font-size:230%}.bigger-240{font-size:240%}.bigger-250{font-size:250%}.bigger-260{font-size:260%}.bigger-270{font-size:270%}.bigger-280{font-size:280%}.bigger-290{font-size:290%}.bigger-300{font-size:300%}.bigger-125{font-size:125%}.bigger-175{font-size:175%}.bigger-225{font-size:225%}.bigger-275{font-size:275%}.smaller-90{font-size:90%}.smaller-80{font-size:80%}.smaller-70{font-size:70%}.smaller-60{font-size:60%}.smaller-50{font-size:50%}.smaller-40{font-size:40%}.smaller-30{font-size:30%}.smaller-20{font-size:20%}.smaller-75{font-size:75%}.width-20{width:20%!important}.width-25{width:25%!important}.width-30{width:30%!important}.width-35{width:35%!important}.width-40{width:40%!important}.width-45{width:45%!important}.width-50{width:50%!important}.width-55{width:55%!important}.width-60{width:60%!important}.width-65{width:65%!important}.width-70{width:70%!important}.width-75{width:75%!important}.width-80{width:80%!important}.width-85{width:85%!important}.width-90{width:90%!important}.width-95{width:95%!important}.width-100{width:100%!important}.width-48{width:48%!important}.width-auto{width:auto!important}.height-auto{height:auto!important}.no-padding{padding:0!important}.no-padding-bottom{padding-bottom:0!important}.no-padding-top{padding-top:0!important}.no-padding-left{padding-left:0!important}.no-padding-right{padding-right:0!important}.no-margin{margin:0!important}.no-margin-bottom{margin-bottom:0!important}.no-margin-top{margin-top:0!important}.no-margin-left{margin-left:0!important}.no-margin-right{margin-right:0!important}.no-border{border:0}.no-border-bottom{border-bottom:0}.no-border-top{border-top:0}.no-border-left{border-left:none}.no-border-right{border-right:0}.no-underline{text-decoration:none!important}.no-hover-underline:hover{text-decoration:none!important}.no-shadow,.no-box-shadow{-webkit-box-shadow:none!important;box-shadow:none!important}.no-text-shadow{text-shadow:none!important}.overflow-hidden{overflow:hidden!important}.overflow-auto{overflow:auto!important}.overflow-scroll{overflow:scroll!important}.overflow-visible{overflow:visible!important}.hr{display:block;height:0;overflow:hidden;font-size:0;border-top:1px solid #e3e3e3;margin:12px 0}.hr-double{height:3px;border-top:1px solid #e3e3e3;border-bottom:1px solid #e3e3e3}.hr.dotted,.hr-dotted{border-top-style:dotted}.hr-double.dotted{border-bottom-style:dotted}.hr-32,.hr32{margin:32px 0}.hr-30,.hr30{margin:30px 0}.hr-28,.hr28{margin:28px 0}.hr-26,.hr26{margin:26px 0}.hr-24,.hr24{margin:24px 0}.hr-22,.hr22{margin:22px 0}.hr-20,.hr20{margin:20px 0}.hr-18,.hr18{margin:18px 0}.hr-16,.hr16{margin:16px 0}.hr-14,.hr14{margin:14px 0}.hr-12,.hr12{margin:12px 0}.hr-10,.hr10{margin:10px 0}.hr-8,.hr8{margin:8px 0}.hr-6,.hr6{margin:6px 0}.hr-4,.hr4{margin:4px 0}.hr-2,.hr2{margin:2px 0}.space{max-height:1px;min-height:1px;overflow:hidden;margin:12px 0}.vspace-xs,.vspace-sm,.vspace-md,.vspace-lg{max-height:1px;min-height:1px;overflow:hidden;display:none;margin:12px 0}.space-32{max-height:1px;min-height:1px;overflow:hidden;margin:12px 0;margin:32px 0 31px}.vspace-32,.vspace-xs-32,.vspace-sm-32,.vspace-md-32,.vspace-lg-32{max-height:1px;min-height:1px;overflow:hidden;margin:12px 0;margin:32px 0 31px 0}.space-30{max-height:1px;min-height:1px;overflow:hidden;margin:12px 0;margin:30px 0 29px}.vspace-30,.vspace-xs-30,.vspace-sm-30,.vspace-md-30,.vspace-lg-30{max-height:1px;min-height:1px;overflow:hidden;margin:12px 0;margin:30px 0 29px 0}.space-28{max-height:1px;min-height:1px;overflow:hidden;margin:12px 0;margin:28px 0 27px}.vspace-28,.vspace-xs-28,.vspace-sm-28,.vspace-md-28,.vspace-lg-28{max-height:1px;min-height:1px;overflow:hidden;margin:12px 0;margin:28px 0 27px 0}.space-26{max-height:1px;min-height:1px;overflow:hidden;margin:12px 0;margin:26px 0 25px}.vspace-26,.vspace-xs-26,.vspace-sm-26,.vspace-md-26,.vspace-lg-26{max-height:1px;min-height:1px;overflow:hidden;margin:12px 0;margin:26px 0 25px 0}.space-24{max-height:1px;min-height:1px;overflow:hidden;margin:12px 0;margin:24px 0 23px}.vspace-24,.vspace-xs-24,.vspace-sm-24,.vspace-md-24,.vspace-lg-24{max-height:1px;min-height:1px;overflow:hidden;margin:12px 0;margin:24px 0 23px 0}.space-22{max-height:1px;min-height:1px;overflow:hidden;margin:12px 0;margin:22px 0 21px}.vspace-22,.vspace-xs-22,.vspace-sm-22,.vspace-md-22,.vspace-lg-22{max-height:1px;min-height:1px;overflow:hidden;margin:12px 0;margin:22px 0 21px 0}.space-20{max-height:1px;min-height:1px;overflow:hidden;margin:12px 0;margin:20px 0 19px}.vspace-20,.vspace-xs-20,.vspace-sm-20,.vspace-md-20,.vspace-lg-20{max-height:1px;min-height:1px;overflow:hidden;margin:12px 0;margin:20px 0 19px 0}.space-18{max-height:1px;min-height:1px;overflow:hidden;margin:12px 0;margin:18px 0 17px}.vspace-18,.vspace-xs-18,.vspace-sm-18,.vspace-md-18,.vspace-lg-18{max-height:1px;min-height:1px;overflow:hidden;margin:12px 0;margin:18px 0 17px 0}.space-16{max-height:1px;min-height:1px;overflow:hidden;margin:12px 0;margin:16px 0 15px}.vspace-16,.vspace-xs-16,.vspace-sm-16,.vspace-md-16,.vspace-lg-16{max-height:1px;min-height:1px;overflow:hidden;margin:12px 0;margin:16px 0 15px 0}.space-14{max-height:1px;min-height:1px;overflow:hidden;margin:12px 0;margin:14px 0 13px}.vspace-14,.vspace-xs-14,.vspace-sm-14,.vspace-md-14,.vspace-lg-14{max-height:1px;min-height:1px;overflow:hidden;margin:12px 0;margin:14px 0 13px 0}.space-12{max-height:1px;min-height:1px;overflow:hidden;margin:12px 0;margin:12px 0 11px}.vspace-12,.vspace-xs-12,.vspace-sm-12,.vspace-md-12,.vspace-lg-12{max-height:1px;min-height:1px;overflow:hidden;margin:12px 0;margin:12px 0 11px 0}.space-10{max-height:1px;min-height:1px;overflow:hidden;margin:12px 0;margin:10px 0 9px}.vspace-10,.vspace-xs-10,.vspace-sm-10,.vspace-md-10,.vspace-lg-10{max-height:1px;min-height:1px;overflow:hidden;margin:12px 0;margin:10px 0 9px 0}.space-8{max-height:1px;min-height:1px;overflow:hidden;margin:12px 0;margin:8px 0 7px}.vspace-8,.vspace-xs-8,.vspace-sm-8,.vspace-md-8,.vspace-lg-8{max-height:1px;min-height:1px;overflow:hidden;margin:12px 0;margin:8px 0 7px 0}.space-6{max-height:1px;min-height:1px;overflow:hidden;margin:12px 0;margin:6px 0 5px}.vspace-6,.vspace-xs-6,.vspace-sm-6,.vspace-md-6,.vspace-lg-6{max-height:1px;min-height:1px;overflow:hidden;margin:12px 0;margin:6px 0 5px 0}.space-4{max-height:1px;min-height:1px;overflow:hidden;margin:12px 0;margin:4px 0 3px}.vspace-4,.vspace-xs-4,.vspace-sm-4,.vspace-md-4,.vspace-lg-4{max-height:1px;min-height:1px;overflow:hidden;margin:12px 0;margin:4px 0 3px 0}.space-2{max-height:1px;min-height:1px;overflow:hidden;margin:12px 0;margin:2px 0 1px}.vspace-2,.vspace-xs-2,.vspace-sm-2,.vspace-md-2,.vspace-lg-2{max-height:1px;min-height:1px;overflow:hidden;margin:12px 0;margin:2px 0 1px 0}.header{line-height:28px;margin-bottom:16px;margin-top:18px;padding-bottom:4px;border-bottom:1px solid #CCC}.header.blue{border-bottom-color:#d5e3ef}.header.green{border-bottom-color:#cce2c1}.header.purple{border-bottom-color:#e0d1ea}.header.orange{border-bottom-color:#fdd0ac}.header.orange2{border-bottom-color:#fbd36b}.header.red{border-bottom-color:#f3cdc6}.header.grey{border-bottom-color:#c3c3c3}.header.pink{border-bottom-color:#f2e0eb}.header.pink2{border-bottom-color:#e69eb9}.header.light-blue{border-bottom-color:#dceefc}.header.light-red{border-bottom-color:#fec5c5}.header.light-green{border-bottom-color:#d2e7b5}.header.brown{border-bottom-color:#df9393}.header>[class*="icon-"]{margin-right:2px}.no-radius{border-radius:0!important}.action-buttons a{margin:0 3px;display:inline-block;opacity:.85;-webkit-transition:all .1s;transition:all .1s}.action-buttons a:hover{text-decoration:none;-moz-transform:scale(1.2);-webkit-transform:scale(1.2);-o-transform:scale(1.2);-ms-transform:scale(1.2);transform:scale(1.2);opacity:1}.navbar{margin-bottom:0}.navbar{margin-left:0;margin-right:0;border:0;-webkit-box-shadow:none;box-shadow:none;border-radius:0;margin:0;padding-left:0;padding-right:0;min-height:45px;position:relative;background:#438eb9}.navbar>.container{padding-left:0;padding-right:0}.navbar .navbar-text,.navbar .navbar-link{color:#fff}.navbar .navbar-brand{color:#fff;font-size:24px;text-shadow:none;padding-top:10px;padding-bottom:10px}.navbar .navbar-brand:hover,.navbar .navbar-brand:focus{color:#fff}.navbar .navbar-header{margin:0!important}.navbar .navbar-nav>li>a,.navbar .navbar-nav>li>a:hover,.navbar .navbar-nav>li>a:focus{font-size:13px;text-shadow:none;color:#fff}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed}.navbar-container{padding-left:10px;padding-right:20px}.navbar-container.container{padding-left:0;padding-right:0}.ace-nav{height:100%;margin:0!important}.ace-nav>li{line-height:45px;height:45px;border-left:1px solid #DDD;padding:0;position:relative;float:left!important}.ace-nav>li:first-child{border-left:none}.ace-nav>li>a{background-color:#2e6589;color:#FFF;display:block;line-height:inherit;text-align:center;height:100%;width:auto;min-width:50px;padding:0 8px;position:relative}.ace-nav>li>a>[class*="icon-"]{font-size:16px;color:#FFF;display:inline-block;width:20px;text-align:center}.ace-nav>li>a>.badge{position:relative;top:-4px;left:2px;padding-right:5px;padding-left:5px}.ace-nav>li>a:hover,.ace-nav>li>a:focus{background-color:#2c5976}.ace-nav>li.open>a{background-color:#2c5976!important}.ace-nav>li.open>a{color:#FFF!important}.ace-nav>li.grey>a{background-color:#555}.ace-nav>li.grey>a:hover,.ace-nav>li.grey>a:focus{background-color:#4b4b4b}.ace-nav>li.open.grey>a{background-color:#4b4b4b!important}.ace-nav>li.purple>a{background-color:#892e65}.ace-nav>li.purple>a:hover,.ace-nav>li.purple>a:focus{background-color:#762c59}.ace-nav>li.open.purple>a{background-color:#762c59!important}.ace-nav>li.green>a{background-color:#2e8965}.ace-nav>li.green>a:hover,.ace-nav>li.green>a:focus{background-color:#2c7659}.ace-nav>li.open.green>a{background-color:#2c7659!important}.ace-nav>li.light-blue>a{background-color:#62a8d1}.ace-nav>li.light-blue>a:hover,.ace-nav>li.light-blue>a:focus{background-color:#579ec8}.ace-nav>li.open.light-blue>a{background-color:#579ec8!important}.ace-nav>li.light-blue2>a{background-color:#42a8e1}.ace-nav>li.light-blue2>a:hover,.ace-nav>li.light-blue2>a:focus{background-color:#359fd9}.ace-nav>li.open.light-blue2>a{background-color:#359fd9!important}.ace-nav>li.red>a{background-color:#b74635}.ace-nav>li.red>a:hover,.ace-nav>li.red>a:focus{background-color:#a34335}.ace-nav>li.open.red>a{background-color:#a34335!important}.ace-nav>li.light-green>a{background-color:#9abc32}.ace-nav>li.light-green>a:hover,.ace-nav>li.light-green>a:focus{background-color:#8ba832}.ace-nav>li.open.light-green>a{background-color:#8ba832!important}.ace-nav>li.light-purple>a{background-color:#cb6fd7}.ace-nav>li.light-purple>a:hover,.ace-nav>li.light-purple>a:focus{background-color:#c263ce}.ace-nav>li.open.light-purple>a{background-color:#c263ce!important}.ace-nav>li.light-orange>a{background-color:#f79263}.ace-nav>li.light-orange>a:hover,.ace-nav>li.light-orange>a:focus{background-color:#f28653}.ace-nav>li.open.light-orange>a{background-color:#f28653!important}.ace-nav>li.light-pink>a{background-color:#f4dae5}.ace-nav>li.light-pink>a:hover,.ace-nav>li.light-pink>a:focus{background-color:#eeccda}.ace-nav>li.open.light-pink>a{background-color:#eeccda!important}.ace-nav>li.dark>a{background-color:#404040}.ace-nav>li.dark>a:hover,.ace-nav>li.dark>a:focus{background-color:#363636}.ace-nav>li.open.dark>a{background-color:#363636!important}.ace-nav>li.white-opaque>a{background-color:rgba(255,255,255,0.8)}.ace-nav>li.white-opaque>a:hover,.ace-nav>li.white-opaque>a:focus{background-color:rgba(245,245,245,0.8)}.ace-nav>li.open.white-opaque>a{background-color:rgba(245,245,245,0.8)!important}.ace-nav>li.dark-opaque>a{background-color:rgba(0,0,0,0.2)}.ace-nav>li.dark-opaque>a:hover,.ace-nav>li.dark-opaque>a:focus{background-color:rgba(0,0,0,0.2)}.ace-nav>li.open.dark-opaque>a{background-color:rgba(0,0,0,0.2)!important}.ace-nav>li.margin-4{margin-left:4px}.ace-nav>li.margin-3{margin-left:3px}.ace-nav>li.margin-2{margin-left:2px}.ace-nav>li.margin-1{margin-left:1px}.ace-nav>li.no-border{border:none!important}.ace-nav>li .dropdown-menu{z-index:1031}.ace-nav .nav-user-photo{margin:-4px 8px 0 0;border-radius:100%;border:2px solid #FFF;max-width:40px}.ace-nav li:last-child a [class^="icon-"]{display:inline-block;width:1.25em;text-align:center}@media only screen and (max-width:767px){.navbar-container{padding-left:0;padding-right:0}}@media only screen and (max-width:767px){.ace-nav>li:nth-last-child(4)>.dropdown-menu.pull-right{right:-80px}.ace-nav>li:nth-last-child(4)>.dropdown-menu.pull-right:before,.ace-nav>li:nth-last-child(4)>.dropdown-menu.pull-right:after{right:100px}.ace-nav>li:nth-last-child(3)>.dropdown-menu.pull-right{right:-40px}.ace-nav>li:nth-last-child(3)>.dropdown-menu.pull-right:before,.ace-nav>li:nth-last-child(3)>.dropdown-menu.pull-right:after{right:60px}.user-menu.dropdown-close.pull-right{right:0!important}}@media only screen and (max-width:480px){.ace-nav>li:nth-last-child(4)>.dropdown-menu.pull-right{right:-120px}.ace-nav>li:nth-last-child(4)>.dropdown-menu.pull-right:before,.ace-nav>li:nth-last-child(4)>.dropdown-menu.pull-right:after{right:140px}.ace-nav>li:nth-last-child(3)>.dropdown-menu.pull-right{right:-80px}.ace-nav>li:nth-last-child(3)>.dropdown-menu.pull-right:before,.ace-nav>li:nth-last-child(3)>.dropdown-menu.pull-right:after{right:100px}.ace-nav>li:nth-last-child(2)>.dropdown-menu.pull-right{right:-50px}.ace-nav>li:nth-last-child(2)>.dropdown-menu.pull-right:before,.ace-nav>li:nth-last-child(2)>.dropdown-menu.pull-right:after{right:70px}}@media only screen and (max-width:460px){.ace-nav>li:nth-last-child(4)>.dropdown-menu.pull-right{left:-5px;right:auto}.ace-nav>li:nth-last-child(4)>.dropdown-menu.pull-right:before,.ace-nav>li:nth-last-child(4)>.dropdown-menu.pull-right:after{right:auto;left:25px}.ace-nav>li:nth-last-child(3)>.dropdown-menu.pull-right{left:-60px;right:auto}.ace-nav>li:nth-last-child(3)>.dropdown-menu.pull-right:before,.ace-nav>li:nth-last-child(3)>.dropdown-menu.pull-right:after{left:80px;right:auto}.ace-nav>li:nth-last-child(2)>.dropdown-menu.pull-right{left:-110px;right:auto}.ace-nav>li:nth-last-child(2)>.dropdown-menu.pull-right:before,.ace-nav>li:nth-last-child(2)>.dropdown-menu.pull-right:after{left:130px;right:auto}}@media only screen and (max-width:460px){.navbar .navbar-header.pull-left{display:block;float:none!important}.navbar .navbar-header.pull-right{display:block;float:none!important}.ace-nav{display:block;float:none!important;text-align:center;background-color:#404040;border:1px solid #DDD;border-width:1px 0;letter-spacing:-3px}.ace-nav>li{display:inline-block;float:none!important;text-align:left;letter-spacing:normal}.ace-nav>li:first-child{border-left:1px solid #DDD}.ace-nav>li:last-child{border-right:1px solid #DDD}}@media only screen and (max-width:320px){.ace-nav>li>a{padding:0 5px!important}}.user-menu>li>a{padding:4px 12px}.user-menu>li>a>[class*="icon-"]{margin-right:6px;font-size:120%}.user-info{max-width:100px;display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;vertical-align:top;line-height:15px;position:relative;top:6px}.user-info small{display:block}@media(min-width:461px) and (max-width:480px),(max-width:360px){.user-menu{padding-top:42px!important}.ace-nav .nav-user-photo{margin-right:0}.user-info{position:absolute!important;margin-top:40px;margin-left:1px;right:2px;z-index:1032;color:#777;font-size:14px;width:156px;max-width:156px;padding-left:8px;padding-right:8px;height:32px;line-height:26px!important;display:none;border-bottom:1px solid #e5e5e5;text-align:center;vertical-align:none;line-height:normal}.user-info>small{display:inline;opacity:1}li.open .user-info{display:inline-block}}.breadcrumbs{position:relative;border-bottom:1px solid #e5e5e5;background-color:#f5f5f5;min-height:41px;line-height:40px;padding:0 12px 0 0;display:block}.breadcrumbs.fixed,.breadcrumbs.breadcrumbs-fixed{position:fixed;right:0;left:190px;top:45px;z-index:1028}.breadcrumb{background-color:transparent;display:inline-block;line-height:24px;margin:0 22px 0 12px;padding:0;font-size:13px;color:#333;border-radius:0}.breadcrumb>li,.breadcrumb>li.active{color:#555}.breadcrumb>li>a{display:inline-block;padding:0 4px;color:#4c8fbd}.breadcrumb>li+li:before{font-family:FontAwesome;font-size:14px;content:"\f105";color:#b2b6bf;margin-right:2px;padding:0 5px 0 2px;position:relative;top:1px}.breadcrumb .home-icon{margin-left:4px;margin-right:2px;font-size:20px;position:relative;top:2px}@media only screen and (max-width:991px){.breadcrumb{margin-left:90px}.breadcrumbs.fixed,.breadcrumbs.breadcrumbs-fixed{position:relative!important;left:auto!important;right:auto!important;top:auto!important;z-index:auto!important}body.breadcrumbs-fixed .ace-settings-container{top:50px}}@media only screen and (max-width:480px){.breadcrumb>li>a{padding:0 1px}}@media only screen and (max-width:320px){.breadcrumb{margin-left:36px}}.container.main-container .breadcrumbs.breadcrumbs-fixed{left:auto!important;right:auto!important}@media(min-width:768px){.container.main-container .breadcrumbs.breadcrumbs-fixed{width:554px}.container.main-container .menu-min+.main-content .breadcrumbs.breadcrumbs-fixed{width:701px}}@media(min-width:992px){.container.main-container .breadcrumbs.breadcrumbs-fixed{width:774px}.container.main-container .menu-min+.main-content .breadcrumbs.breadcrumbs-fixed{width:921px}}@media(min-width:1200px){.container.main-container .breadcrumbs.breadcrumbs-fixed{width:974px}.container.main-container .menu-min+.main-content .breadcrumbs.breadcrumbs-fixed{width:1121px}}.nav-search{position:absolute;top:6px;right:22px;line-height:24px}.nav-search .form-search{margin-bottom:0}.nav-search .nav-search-input{border:1px solid #6fb3e0;width:152px;height:28px!important;border-radius:4px!important;font-size:13px;color:#666!important;z-index:11;-webkit-transition:width ease .15s;transition:width ease .15s}.nav-search .nav-search-input+.dropdown-menu{min-width:0;left:0;right:0}.nav-search .nav-search-input:focus,.nav-search .nav-search-input:hover{border-color:#6fb3e0}.nav-search .nav-search-icon{color:#6fb3e0!important;font-size:14px!important;line-height:24px!important}.nav-search.minimized .nav-search-input{width:0;opacity:0;filter:alpha(opacity=0);max-width:0}.nav-search.minimized:hover .nav-search-input,.nav-search.minimized .nav-search-btn:active+.nav-search-input,.nav-search.minimized .nav-search-input:focus,.nav-search.minimized .nav-search-input:hover,.nav-search.minimized .nav-search-input:active{opacity:1;filter:alpha(opacity=100);width:152px;max-width:152px}.nav-search.minimized .nav-search-icon{border:1px solid;border-radius:100%;background-color:#FFF;padding:0 5px!important}.nav-search.minimized:hover .nav-search-icon,.nav-search.minimized .nav-search-input:focus ~ .nav-search-icon,.nav-search.minimized .nav-search-input:hover ~ .nav-search-icon,.nav-search.minimized .nav-search-input:active ~ .nav-search-icon{border:0;border-radius:0;padding:0 3px!important}.nav-search-icon{border:0;border-radius:0;padding:0 3px!important}.sidebar>.nav-search{position:static;background-color:#fafafa;border-bottom:1px solid #DDD;text-align:center;height:35px;padding-top:6px}.sidebar>.nav-search .nav-search-input{width:162px!important;border-radius:0!important;max-width:162px!important;opacity:1!important;filter:alpha(opacity=100)!important}.sidebar>.nav-search .nav-search-input+.dropdown-menu{text-align:left}.sidebar.menu-min .nav-search .form-search{position:absolute;left:5px;z-index:14}.sidebar.menu-min .nav-search .nav-search-input{width:0!important;max-width:0!important;opacity:0!important;filter:alpha(opacity=0)!important}.sidebar.menu-min .nav-search .nav-search-input:hover,.sidebar.menu-min .nav-search .nav-search-input:focus,.sidebar.menu-min .nav-search .nav-search-input:active{width:162px!important;max-width:162px!important;opacity:1!important;filter:alpha(opacity=100)!important}.sidebar.menu-min .nav-search .nav-search-input:hover ~ #nav-search-icon,.sidebar.menu-min .nav-search .nav-search-input:focus ~ #nav-search-icon,.sidebar.menu-min .nav-search .nav-search-input:active ~ #nav-search-icon{border:0;border-radius:0;padding:0 3px!important}.sidebar.menu-min .nav-search:hover .nav-search-input{width:162px!important;max-width:162px!important;opacity:1!important;filter:alpha(opacity=100)!important}.sidebar.menu-min .nav-search:hover .nav-search-input ~ .nav-search-icon{border:0;border-radius:0;padding:0 3px!important}.sidebar.menu-min .nav-search .nav-search-icon{border:1px solid;border-radius:32px;background-color:#FFF;padding:0 5px!important}@media only screen and (max-width:767px){.nav-search{right:5px}.nav-search .nav-search-input{width:105px}.nav-search:hover .nav-search-input,.nav-search .nav-search-btn:active+.nav-search-input,.nav-search .nav-search-input:focus,.nav-search .nav-search-input:hover,.nav-search .nav-search-input:active{width:145px}}@media only screen and (max-width:480px){.nav-search .nav-search-input{width:0;opacity:0;filter:alpha(opacity=0);max-width:0}.nav-search:hover .nav-search-input,.nav-search .nav-search-btn:active+.nav-search-input,.nav-search .nav-search-input:focus,.nav-search .nav-search-input:hover,.nav-search .nav-search-input:active{opacity:1;filter:alpha(opacity=100);width:152px;max-width:152px}.nav-search .nav-search-icon{border:1px solid;border-radius:100%;background-color:#FFF;padding:0 5px!important}.nav-search:hover .nav-search-icon,.nav-search .nav-search-input:focus ~ .nav-search-icon,.nav-search .nav-search-input:hover ~ .nav-search-icon,.nav-search .nav-search-input:active ~ .nav-search-icon{border:0;border-radius:0;padding:0 3px!important}}.sidebar{width:190px;float:left;position:relative;border:1px solid #ccc;border-width:0 1px 0 0;background-color:#f2f2f2}.sidebar:before{content:"";display:block;width:190px;position:fixed;bottom:0;top:0;z-index:-1;background-color:#f2f2f2;border:1px solid #ccc;border-width:0 1px 0 0}.sidebar.fixed,.sidebar.sidebar-fixed{position:fixed;z-index:1029;top:45px;left:0}.sidebar.fixed:before,.sidebar.sidebar-fixed:before{left:0;right:auto}li [class^="icon-"],li [class*=" icon-"],.nav-list li [class^="icon-"],.nav-list li [class*=" icon-"]{width:auto}.nav-list{margin:0;padding:0;list-style:none}.nav-list .open>a,.nav-list .open>a:hover,.nav-list .open>a:focus{background-color:#fafafa}.nav-list>li>a,.nav-list .nav-header{margin:0}.nav-list>li{display:block;padding:0;margin:0;border:0;border-top:1px solid #fcfcfc;border-bottom:1px solid #e5e5e5;position:relative}.nav-list>li:first-child{border-top:0}.nav-list li>a:focus{outline:0}.nav-list>li>a{display:block;height:38px;line-height:36px;padding:0 16px 0 7px;background-color:#f9f9f9;color:#585858;text-shadow:none!important;font-size:13px;text-decoration:none}.nav-list>li>a>[class*="icon-"]:first-child{display:inline-block;vertical-align:middle;min-width:30px;text-align:center;font-size:18px;font-weight:normal;margin-right:2px}.nav-list>li>a:focus{background-color:#f9f9f9;color:#1963aa}.nav-list>li>a:hover{background-color:#FFF;color:#1963aa}.nav-list>li>a:hover:before{display:block;content:"";position:absolute;top:-1px;bottom:0;left:0;width:3px;max-width:3px;overflow:hidden;background-color:#3382af}.nav-list>li a>.arrow{display:inline-block;width:14px!important;height:14px;line-height:14px;text-shadow:none;font-size:18px;position:absolute;right:11px;top:11px;padding:0;color:#666}.nav-list>li a:hover>.arrow,.nav-list>li.active>a>.arrow,.nav-list>li.open>a>.arrow{color:#1963aa}.nav-list>li.separator{height:3px;background-color:transparent;position:static;margin:1px 0;-webkit-box-shadow:none;box-shadow:none}.nav-list>li.open>a{background-color:#fafafa;color:#1963aa}.nav-list>li.active{background-color:#fff}.nav-list>li.active>a,.nav-list>li.active>a:hover,.nav-list>li.active>a:focus,.nav-list>li.active>a:active{background-color:#fff;color:#2b7dbc;font-weight:bold;font-size:13px}.nav-list>li.active>a>[class*="icon-"]{font-weight:normal}.nav-list>li.active>a:hover:before{display:none}.nav-list>li.active:after{display:inline-block;content:"";position:absolute;right:-2px;top:-1px;bottom:0;z-index:1;border:2px solid #2b7dbc;border-width:0 2px 0 0}.nav-list>li.open{border-bottom-color:#e5e5e5}.nav-list>li.active .submenu{display:block}.nav-list>li .submenu{display:none;list-style:none;margin:0;padding:0;position:relative;background-color:#fff;border-top:1px solid #e5e5e5}.nav-list>li .submenu>li{margin-left:0;position:relative}.nav-list>li .submenu>li>a{display:block;position:relative;color:#616161;padding:7px 0 9px 37px;margin:0;border-top:1px dotted #e4e4e4}.nav-list>li .submenu>li>a:focus{text-decoration:none}.nav-list>li .submenu>li>a:hover{text-decoration:none;color:#4b88b7}.nav-list>li .submenu>li.active>a{color:#2b7dbc}.nav-list>li .submenu>li a>[class*="icon-"]:first-child{display:none;font-size:12px;font-weight:normal;width:18px;height:auto;line-height:12px;text-align:center;position:absolute;left:10px;top:11px;z-index:1;background-color:#FFF}.nav-list>li .submenu>li.active>a>[class*="icon-"]:first-child,.nav-list>li .submenu>li:hover>a>[class*="icon-"]:first-child{display:inline-block}.nav-list>li .submenu>li.active>a>[class*="icon-"]:first-child{color:#c86139}.nav-list>li>.submenu>li:before{content:"";display:inline-block;position:absolute;width:7px;left:20px;top:17px;border-top:1px dotted #9dbdd6}.nav-list>li>.submenu>li:first-child>a{border-top:1px solid #fafafa}.nav-list>li>.submenu:before{content:"";display:block;position:absolute;z-index:1;left:18px;top:0;bottom:0;border:1px dotted #9dbdd6;border-width:0 0 0 1px}.nav-list>li.active>.submenu>li:before{border-top-color:#8eb3d0}.nav-list>li.active>.submenu:before{border-left-color:#8eb3d0}.nav-list li .submenu{overflow:hidden}.nav-list li.active>a:after{display:block;content:"";position:absolute!important;right:0;top:4px;border:8px solid transparent;border-width:14px 10px;border-right-color:#2b7dbc}.nav-list li.open>a:after{display:none}.nav-list li.active.open>.submenu>li.active.open>a.dropdown-toggle:after{display:none}.nav-list li.active>.submenu>li.active>a:after{display:none}.nav-list li.active.open>.submenu>li.active>a:after{display:block}.nav-list li.active.no-active-child>a:after{display:inline-block!important}.nav-list a .badge,.nav-list a .label{font-size:12px;padding-left:6px;padding-right:6px;position:absolute;top:9px;right:11px;opacity:.88}.nav-list a .badge [class*="icon-"],.nav-list a .label [class*="icon-"]{vertical-align:middle;margin:0}.nav-list a.dropdown-toggle .badge,.nav-list a.dropdown-toggle .label{right:28px}.nav-list a:hover .badge,.nav-list a:hover .label{opacity:1}.nav-list .submenu .submenu a .badge,.nav-list .submenu .submenu a .label{top:6px}.sidebar-collapse{border-bottom:1px solid #e0e0e0;background-color:#f3f3f3;text-align:center;padding:3px 0;position:relative}.sidebar-collapse>[class*="icon-"]{display:inline-block;cursor:pointer;font-size:14px;color:#aaa;border:1px solid #bbb;padding:0 5px;line-height:18px;border-radius:16px;background-color:#fff;position:relative}.sidebar-collapse:before{content:"";display:inline-block;height:0;border-top:1px solid #e0e0e0;position:absolute;left:15px;right:15px;top:13px}.sidebar-shortcuts{background-color:#fafafa;border-bottom:1px solid #ddd;text-align:center;line-height:39px;max-height:41px;margin-bottom:0}.sidebar-shortcuts-large{padding-bottom:4px}.sidebar-shortcuts-large>.btn{width:41px;line-height:24px;margin-top:-2px;padding:0;border-width:4px;text-align:center}.sidebar-shortcuts-large>.btn>[class*="icon-"]{margin:0}.sidebar-shortcuts-mini{display:none;font-size:0;width:42px;line-height:18px;padding-top:2px;padding-bottom:2px;background-color:#fff}.sidebar-shortcuts-mini>.btn{border-width:0!important;font-size:0;line-height:0;padding:8px!important;margin:0 1px;border-radius:0!important;opacity:.85;filter:alpha(opacity=85)}@media screen and (-webkit-min-device-pixel-ratio:0){::safari-only,.sidebar-shortcuts-mini>.btn{margin:0}}.nav-list>li>.submenu li>.submenu{border-top:0;background-color:transparent;display:none}.nav-list>li>.submenu li.active>.submenu{display:block}.nav-list>li>.submenu a>.arrow{right:11px;top:10px;font-size:16px;color:#6b828e}.nav-list>li>.submenu .open>a,.nav-list>li>.submenu .open>a:hover,.nav-list>li>.submenu .open>a:focus{background-color:transparent;border-color:#e4e4e4}.nav-list>li>.submenu li>.submenu>li>a>.arrow{right:12px;top:9px}.nav-list>li>.submenu li>.submenu>li{line-height:16px}.nav-list>li>.submenu li>.submenu>li:before{display:none}.nav-list>li>.submenu li>.submenu>li>a{margin-left:20px;padding-left:22px}.nav-list>li>.submenu li>.submenu>li>.submenu>li>a{margin-left:20px;padding-left:38px}.nav-list>li>.submenu li>.submenu>li a>[class*="icon-"]:first-child{display:inline-block;color:inherit;font-size:14px;position:static;background-color:transparent;margin-right:1px}.nav-list>li>.submenu li>.submenu>li a{font-size:13px;color:#777}.nav-list>li>.submenu li>.submenu>li a:hover{color:#316292;text-decoration:underline}.nav-list>li>.submenu li>.submenu>li a:hover [class*="icon-"]{text-decoration:none;color:#316292}.nav-list>li>.submenu li.open>a{color:#25639e}.nav-list>li>.submenu li.open>a>[class*="icon-"]:first-child{display:inline-block}.nav-list>li>.submenu li.open>a .arrow{color:#25639e}.nav-list>li>.submenu li>.submenu li.open>a{color:#25639e}.nav-list>li>.submenu li>.submenu li.open>a>[class*="icon-"]:first-child{display:inline-block;color:#1963aa}.nav-list>li>.submenu li>.submenu li.open>a .arrow{color:#25639e}.nav-list>li>.submenu li>.submenu li.active>a{color:#347cb3}.nav-list>li>.submenu li>.submenu li.active>a>[class*="icon-"]:first-child{display:inline-block;color:#347cb3}.nav-list>li.active.open li.active>a:after{top:2px;border-width:14px 8px}.nav-list>li.active.open li.active.open li.active>a:after{top:0}.menu-min.sidebar{width:43px}.menu-min.sidebar:before{width:43px}.menu-min.sidebar+.main-content{margin-left:43px}.menu-min.sidebar+.main-content .breadcrumbs.fixed,.menu-min.sidebar+.main-content .breadcrumbs.breadcrumbs-fixed{left:43px}.menu-min .nav-list a .badge,.menu-min .nav-list a .label{position:relative;top:-1px;right:auto;left:4px}.menu-min .nav-list .submenu .submenu a .badge,.menu-min .nav-list .submenu .submenu a .label{top:0}.menu-min .nav-list>li>a{position:relative}.menu-min .nav-list>li>a>.menu-text{display:none;position:absolute;left:42px;top:-2px;width:174px;height:40px;line-height:38px;background-color:#f5f5f5;z-index:121;-webkit-box-shadow:2px 1px 2px 0 rgba(0,0,0,0.2);box-shadow:2px 1px 2px 0 rgba(0,0,0,0.2);border:1px solid #ccc;padding-left:12px}.menu-min .nav-list>li>a.dropdown-toggle>.menu-text{-webkit-box-shadow:none;box-shadow:none;border:0;top:-1px;left:43px;width:174px;border-bottom:1px solid #ddd}.menu-min .nav-list>li>a .arrow{display:none}.menu-min .nav-list>li>a:hover:before{width:2px}.menu-min .nav-list>li:hover>a{color:#1963aa}.menu-min .nav-list>li:hover>a>.menu-text{display:block}.menu-min .nav-list>li.active>a>.menu-text{border-left-color:#1963aa}.menu-min .nav-list>li.open>a{background-color:#fafafa;color:#585858}.menu-min .nav-list>li.open.active>a{background-color:#fff}.menu-min .nav-list>li.open:hover>a{color:#1963aa}.menu-min .nav-list>li.active>a{color:#2b7dbc}.menu-min .nav-list>li.active>a:after{border-width:10px 6px;top:8px}.menu-min .nav-list>li.active.open>a:after{display:block}.menu-min .nav-list>li.active.open li.active>a:after{display:none}.menu-min .nav-list>li>.submenu{background:#fff;position:absolute;z-index:120;left:42px;top:-2px;width:176px;border:1px solid #ccc;-webkit-box-shadow:2px 1px 2px 0 rgba(0,0,0,0.2);box-shadow:2px 1px 2px 0 rgba(0,0,0,0.2);padding-top:40px;padding-bottom:2px;display:none!important}.menu-min .nav-list>li>.submenu:before{display:none}.menu-min .nav-list>li>.submenu li:before{display:none}.menu-min .nav-list>li>.submenu li>a{margin-left:0;padding-left:24px}.menu-min .nav-list>li>.submenu li>a>[class*="icon-"]:first-child{left:4px}.menu-min .nav-list>li:hover>.submenu{display:block!important}.menu-min .nav-list>li.active>.submenu{border-left-color:#2b7dbc}.menu-min .sidebar-shortcuts{position:relative}.menu-min .sidebar-shortcuts-mini{display:block}.menu-min .sidebar-shortcuts-large{display:none;position:absolute;z-index:20;top:-1px;left:42px;width:182px;padding:0 2px 1px;background-color:#fff;-webkit-box-shadow:2px 1px 2px 0 rgba(0,0,0,0.2);box-shadow:2px 1px 2px 0 rgba(0,0,0,0.2);border:1px solid #ccc}.menu-min .sidebar-shortcuts:hover .sidebar-shortcuts-large{display:block}.menu-min .sidebar-collapse:before{left:5px;right:5px}.menu-min .sidebar-collapse>[class*="icon-"]{font-size:13px;padding:0 4px;line-height:15px;border-width:1px;border-color:#aeaeae}.menu-min .nav-list>li>.submenu li>.submenu>li>a{margin-left:0;padding-left:30px}.menu-min .nav-list>li>.submenu li>.submenu>li>.submenu>li>a{margin-left:0;padding-left:45px}.menu-min .nav-list>li>.submenu li.active>a:after{display:none}.menu-min .nav-list li.active.open>.submenu>li.active>a:after{display:none}.menu-toggler{display:none}@media only screen and (max-width:991px){.sidebar:before{display:none}.sidebar{display:none;float:none;position:absolute;z-index:999;left:0;bottom:auto;top:auto!important;margin-top:40px;border:1px solid #CCC;border-left-width:0;box-shadow:2px 1px 2px 0 rgba(0,0,0,0.2)}.sidebar.display{display:block}.menu-toggler{display:inline-block;position:absolute;left:0;z-index:998;width:52px;height:32px;margin-right:2px;line-height:normal;padding-left:33px;padding-top:7px;padding-bottom:1px;font-size:13px;font-weight:bold;text-transform:uppercase;background-color:#444;color:#f3f3f3;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.menu-toggler:hover{text-decoration:none}.menu-toggler:before{border-top:1px solid #87b87f;border-bottom:1px solid #6fb3e0;height:2px;width:24px;content:"";position:absolute;z-index:11;top:13px;left:4px;-webkit-transition:all .1s ease;transition:all .1s ease;-o-transition:none;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.menu-toggler:after{border-top:1px solid #ffa24d;border-bottom:1px solid #d15b47;content:"";height:2px;width:24px;position:absolute;top:19px;left:4px;-webkit-transition:all .1s ease;transition:all .1s ease;-o-transition:none;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.menu-toggler.display:before{height:4px;top:8px;border-width:2px}.menu-toggler.display:after{height:4px;top:20px;border-width:2px}.menu-toggler>.menu-text{display:block;position:absolute;bottom:-18px;left:0;border:1px solid transparent;border-width:9px 42px;border-top-color:#444}.menu-toggler>.menu-text:after{display:block;color:#FFF;content:"MENU";position:absolute;left:-8px;top:-41px}.nav-list>li.active:after{display:none}.nav-list li.active>a:after{display:none}.nav-list li.active.open>.submenu>li.active>a:after{display:none}.menu-min .nav-list>li.active:after{display:block}.menu-min .nav-list>li.active>a:after{display:block}}@media only screen and (max-width:320px){.menu-toggler{width:0}.menu-toggler>.menu-text{border-width:7px 16px;bottom:-14px}.menu-toggler>.menu-text:after{font-size:9px;font-weight:normal;color:#FFF;position:absolute;left:-13px;top:-42px}.menu-toggler:before,.menu-toggler:after{margin-top:8px}.menu-toggler.display:before,.menu-toggler.display:after{height:2px;border-width:1px}.menu-toggler.display:before{top:13px}.menu-toggler.display:after{top:19px}}.btn{display:inline-block;color:#FFF!important;text-shadow:0 -1px 0 rgba(0,0,0,0.25)!important;background-image:none!important;border:5px solid #FFF;border-radius:0;box-shadow:none!important;-webkit-transition:all ease .15s;transition:all ease .15s;cursor:pointer;vertical-align:middle;margin:0;position:relative}.btn-lg{border-width:5px;line-height:1.35;padding:7px 16px}.btn-sm{border-width:4px;font-size:13px;padding:4px 9px;line-height:1.39}.btn-xs{border-width:3px}.btn-minier{padding:0 4px;line-height:18px;border-width:2px;font-size:12px}button.btn:active{top:1px;left:1px}.btn,.btn-default,.btn:focus,.btn-default:focus{background-color:#abbac3!important;border-color:#abbac3}.btn:hover,.btn-default:hover,.open .btn.dropdown-toggle,.open .btn-default.dropdown-toggle{background-color:#8b9aa3!important;border-color:#abbac3}.btn.no-border:hover,.btn-default.no-border:hover{border-color:#8b9aa3}.btn.no-hover:hover,.btn-default.no-hover:hover{background-color:#abbac3!important}.btn.active,.btn-default.active{background-color:#9baab3!important;border-color:#8799a4}.btn.no-border.active,.btn-default.no-border.active{background-color:#92a3ac!important;border-color:#92a3ac}.btn.disabled,.btn-default.disabled,.btn[disabled],.btn-default[disabled],fieldset[disabled] .btn,fieldset[disabled] .btn-default,.btn.disabled:hover,.btn-default.disabled:hover,.btn[disabled]:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn:hover,fieldset[disabled] .btn-default:hover,.btn.disabled:focus,.btn-default.disabled:focus,.btn[disabled]:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn:focus,fieldset[disabled] .btn-default:focus,.btn.disabled:active,.btn-default.disabled:active,.btn[disabled]:active,.btn-default[disabled]:active,fieldset[disabled] .btn:active,fieldset[disabled] .btn-default:active,.btn.disabled.active,.btn-default.disabled.active,.btn[disabled].active,.btn-default[disabled].active,fieldset[disabled] .btn.active,fieldset[disabled] .btn-default.active{background-color:#abbac3!important;border-color:#abbac3}.btn-primary,.btn-primary:focus{background-color:#428bca!important;border-color:#428bca}.btn-primary:hover,.open .btn-primary.dropdown-toggle{background-color:#1b6aaa!important;border-color:#428bca}.btn-primary.no-border:hover{border-color:#1b6aaa}.btn-primary.no-hover:hover{background-color:#428bca!important}.btn-primary.active{background-color:#2f7bba!important;border-color:#27689d}.btn-primary.no-border.active{background-color:#2b72ae!important;border-color:#2b72ae}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#428bca!important;border-color:#428bca}.btn-info,.btn-info:focus{background-color:#6fb3e0!important;border-color:#6fb3e0}.btn-info:hover,.open .btn-info.dropdown-toggle{background-color:#4f99c6!important;border-color:#6fb3e0}.btn-info.no-border:hover{border-color:#4f99c6}.btn-info.no-hover:hover{background-color:#6fb3e0!important}.btn-info.active{background-color:#5fa6d3!important;border-color:#4396cb}.btn-info.no-border.active{background-color:#539fd0!important;border-color:#539fd0}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#6fb3e0!important;border-color:#6fb3e0}.btn-success,.btn-success:focus{background-color:#87b87f!important;border-color:#87b87f}.btn-success:hover,.open .btn-success.dropdown-toggle{background-color:#629b58!important;border-color:#87b87f}.btn-success.no-border:hover{border-color:#629b58}.btn-success.no-hover:hover{background-color:#87b87f!important}.btn-success.active{background-color:#75aa6c!important;border-color:#629959}.btn-success.no-border.active{background-color:#6ba462!important;border-color:#6ba462}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#87b87f!important;border-color:#87b87f}.btn-warning,.btn-warning:focus{background-color:#ffb752!important;border-color:#ffb752}.btn-warning:hover,.open .btn-warning.dropdown-toggle{background-color:#e59729!important;border-color:#ffb752}.btn-warning.no-border:hover{border-color:#e59729}.btn-warning.no-hover:hover{background-color:#ffb752!important}.btn-warning.active{background-color:#f2a73e!important;border-color:#f0981c}.btn-warning.no-border.active{background-color:#f1a02f!important;border-color:#f1a02f}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#ffb752!important;border-color:#ffb752}.btn-danger,.btn-danger:focus{background-color:#d15b47!important;border-color:#d15b47}.btn-danger:hover,.open .btn-danger.dropdown-toggle{background-color:#b74635!important;border-color:#d15b47}.btn-danger.no-border:hover{border-color:#b74635}.btn-danger.no-hover:hover{background-color:#d15b47!important}.btn-danger.active{background-color:#c4513e!important;border-color:#aa4434}.btn-danger.no-border.active{background-color:#ba4b39!important;border-color:#ba4b39}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d15b47!important;border-color:#d15b47}.btn-inverse,.btn-inverse:focus{background-color:#555!important;border-color:#555}.btn-inverse:hover,.open .btn-inverse.dropdown-toggle{background-color:#303030!important;border-color:#555}.btn-inverse.no-border:hover{border-color:#303030}.btn-inverse.no-hover:hover{background-color:#555!important}.btn-inverse.active{background-color:#434343!important;border-color:#313131}.btn-inverse.no-border.active{background-color:#3b3b3b!important;border-color:#3b3b3b}.btn-inverse.disabled,.btn-inverse[disabled],fieldset[disabled] .btn-inverse,.btn-inverse.disabled:hover,.btn-inverse[disabled]:hover,fieldset[disabled] .btn-inverse:hover,.btn-inverse.disabled:focus,.btn-inverse[disabled]:focus,fieldset[disabled] .btn-inverse:focus,.btn-inverse.disabled:active,.btn-inverse[disabled]:active,fieldset[disabled] .btn-inverse:active,.btn-inverse.disabled.active,.btn-inverse[disabled].active,fieldset[disabled] .btn-inverse.active{background-color:#555!important;border-color:#555}.btn-pink,.btn-pink:focus{background-color:#d6487e!important;border-color:#d6487e}.btn-pink:hover,.open .btn-pink.dropdown-toggle{background-color:#b73766!important;border-color:#d6487e}.btn-pink.no-border:hover{border-color:#b73766}.btn-pink.no-hover:hover{background-color:#d6487e!important}.btn-pink.active{background-color:#c74072!important;border-color:#af3462}.btn-pink.no-border.active{background-color:#be386a!important;border-color:#be386a}.btn-pink.disabled,.btn-pink[disabled],fieldset[disabled] .btn-pink,.btn-pink.disabled:hover,.btn-pink[disabled]:hover,fieldset[disabled] .btn-pink:hover,.btn-pink.disabled:focus,.btn-pink[disabled]:focus,fieldset[disabled] .btn-pink:focus,.btn-pink.disabled:active,.btn-pink[disabled]:active,fieldset[disabled] .btn-pink:active,.btn-pink.disabled.active,.btn-pink[disabled].active,fieldset[disabled] .btn-pink.active{background-color:#d6487e!important;border-color:#d6487e}.btn-purple,.btn-purple:focus{background-color:#9585bf!important;border-color:#9585bf}.btn-purple:hover,.open .btn-purple.dropdown-toggle{background-color:#7461aa!important;border-color:#9585bf}.btn-purple.no-border:hover{border-color:#7461aa}.btn-purple.no-hover:hover{background-color:#9585bf!important}.btn-purple.active{background-color:#8573b5!important;border-color:#705ca8}.btn-purple.no-border.active{background-color:#7c69af!important;border-color:#7c69af}.btn-purple.disabled,.btn-purple[disabled],fieldset[disabled] .btn-purple,.btn-purple.disabled:hover,.btn-purple[disabled]:hover,fieldset[disabled] .btn-purple:hover,.btn-purple.disabled:focus,.btn-purple[disabled]:focus,fieldset[disabled] .btn-purple:focus,.btn-purple.disabled:active,.btn-purple[disabled]:active,fieldset[disabled] .btn-purple:active,.btn-purple.disabled.active,.btn-purple[disabled].active,fieldset[disabled] .btn-purple.active{background-color:#9585bf!important;border-color:#9585bf}.btn-grey,.btn-grey:focus{background-color:#a0a0a0!important;border-color:#a0a0a0}.btn-grey:hover,.open .btn-grey.dropdown-toggle{background-color:#888!important;border-color:#a0a0a0}.btn-grey.no-border:hover{border-color:#888}.btn-grey.no-hover:hover{background-color:#a0a0a0!important}.btn-grey.active{background-color:#949494!important;border-color:#828282}.btn-grey.no-border.active{background-color:#8c8c8c!important;border-color:#8c8c8c}.btn-grey.disabled,.btn-grey[disabled],fieldset[disabled] .btn-grey,.btn-grey.disabled:hover,.btn-grey[disabled]:hover,fieldset[disabled] .btn-grey:hover,.btn-grey.disabled:focus,.btn-grey[disabled]:focus,fieldset[disabled] .btn-grey:focus,.btn-grey.disabled:active,.btn-grey[disabled]:active,fieldset[disabled] .btn-grey:active,.btn-grey.disabled.active,.btn-grey[disabled].active,fieldset[disabled] .btn-grey.active{background-color:#a0a0a0!important;border-color:#a0a0a0}.btn-yellow{color:#963!important;text-shadow:0 -1px 0 rgba(255,255,255,0.4)!important}.btn-yellow,.btn-yellow:focus{background-color:#fee188!important;border-color:#fee188}.btn-yellow:hover,.open .btn-yellow.dropdown-toggle{background-color:#f7d05b!important;border-color:#fee188}.btn-yellow.no-border:hover{border-color:#f7d05b}.btn-yellow.no-hover:hover{background-color:#fee188!important}.btn-yellow.active{background-color:#fbd972!important;border-color:#f9cf4f}.btn-yellow.no-border.active{background-color:#fad463!important;border-color:#fad463}.btn-yellow.disabled,.btn-yellow[disabled],fieldset[disabled] .btn-yellow,.btn-yellow.disabled:hover,.btn-yellow[disabled]:hover,fieldset[disabled] .btn-yellow:hover,.btn-yellow.disabled:focus,.btn-yellow[disabled]:focus,fieldset[disabled] .btn-yellow:focus,.btn-yellow.disabled:active,.btn-yellow[disabled]:active,fieldset[disabled] .btn-yellow:active,.btn-yellow.disabled.active,.btn-yellow[disabled].active,fieldset[disabled] .btn-yellow.active{background-color:#fee188!important;border-color:#fee188}.btn-light{color:#888!important;text-shadow:0 -1px 0 rgba(250,250,250,0.25)!important}.btn-light,.btn-light:focus{background-color:#e7e7e7!important;border-color:#e7e7e7}.btn-light:hover,.open .btn-light.dropdown-toggle{background-color:#d9d9d9!important;border-color:#e7e7e7}.btn-light.no-border:hover{border-color:#d9d9d9}.btn-light.no-hover:hover{background-color:#e7e7e7!important}.btn-light.active{background-color:#e0e0e0!important;border-color:#cecece}.btn-light.no-border.active{background-color:#d8d8d8!important;border-color:#d8d8d8}.btn-light.disabled,.btn-light[disabled],fieldset[disabled] .btn-light,.btn-light.disabled:hover,.btn-light[disabled]:hover,fieldset[disabled] .btn-light:hover,.btn-light.disabled:focus,.btn-light[disabled]:focus,fieldset[disabled] .btn-light:focus,.btn-light.disabled:active,.btn-light[disabled]:active,fieldset[disabled] .btn-light:active,.btn-light.disabled.active,.btn-light[disabled].active,fieldset[disabled] .btn-light.active{background-color:#e7e7e7!important;border-color:#e7e7e7}.btn-light.btn-xs:after{left:-2px;right:-2px;top:-2px;bottom:-2px}.btn-light.btn-sm:after{left:-4px;right:-4px;top:-4px;bottom:-4px}.btn-light.btn-large:after{left:-6px;right:-6px;top:-6px;bottom:-6px}.btn.btn-white{border-width:1px;border-color:#CCC;color:#444!important;text-shadow:none!important;background-color:#FFF!important}.btn.btn-white:hover,.btn.btn-white:focus{background-color:#ebebeb!important}.btn.btn-white.no-border{border-color:#CCC}.btn.disabled.active,.btn[disabled].active,.btn.disabled:focus,.btn[disabled]:focus,.btn.disabled:active,.btn[disabled]:active{outline:0}.btn.disabled:active,.btn[disabled]:active{top:0;left:0}.btn.active{color:#efe5b5}.btn.active:after{display:inline-block;content:"";position:absolute;border-bottom:1px solid #efe5b5;left:-4px;right:-4px;bottom:-4px}.btn.active.btn-sm:after{left:-3px;right:-3px;bottom:-3px}.btn.active.btn-large:after{left:-5px;right:-5px;bottom:-5px}.btn.active.btn-xs:after,.btn.active.btn-minier:after{left:-1px;right:-1px;bottom:-2px}.btn.active.btn-minier:after{bottom:-1px}.btn.active.btn-yellow:after{border-bottom-color:#c96338}.btn.active.btn-light{color:#515151}.btn.active.btn-light:after{border-bottom-color:#b5b5b5}.btn>[class*="icon-"]{display:inline;margin-right:4px}.btn>[class*="icon-"].icon-on-right{margin-right:0;margin-left:4px}.btn>.icon-only[class*="icon-"]{margin:0;vertical-align:middle;text-align:center;padding:0}.btn-large>[class*="icon-"]{margin-right:6px}.btn-large>[class*="icon-"].icon-on-right{margin-right:0;margin-left:6px}.btn-sm>[class*="icon-"]{margin-right:3px}.btn-sm>[class*="icon-"].icon-on-right{margin-right:0;margin-left:3px}.btn-xs>[class*="icon-"],.btn-minier>[class*="icon-"]{margin-right:2px}.btn-xs>[class*="icon-"].icon-on-right,.btn-minier>[class*="icon-"].icon-on-right{margin-right:0;margin-left:2px}.btn.btn-link{border:none!important;background:transparent none!important;color:#08c!important;text-shadow:none!important;padding:4px 12px!important;line-height:20px!important}.btn.btn-link:hover{background:none!important;text-shadow:none!important}.btn.btn-link.active{background:none!important;text-decoration:underline;color:#009ceb!important}.btn.btn-link.active:after{display:none}.btn.btn-link.disabled,.btn.btn-link[disabled]{background:0;opacity:.65;filter:alpha(opacity=65)}.btn.btn-link.disabled:hover,.btn.btn-link[disabled]:hover{background:none!important;text-decoration:none!important}.btn.btn-no-border{border-width:0!important}.btn-group>.btn,.btn-group>.btn+.btn{margin:0 1px 0 0}.btn-group>.btn:first-child{margin:0 1px 0 0}.btn-group>.btn:first-child,.btn-group>.btn:last-child{border-radius:0}.btn-group>.btn>.caret{margin-top:15px;margin-left:1px;border-width:5px;border-top-color:#FFF}.btn-group>.btn.btn-sm>.caret{margin-top:10px;border-width:4px}.btn-group>.btn.btn-large>.caret{margin-top:18px;border-width:6px}.btn-group>.btn.btn-xs>.caret{margin-top:9px;border-width:4px}.btn-group>.btn.btn-minier>.caret{margin-top:7px;border-width:3px}.btn-group>.btn+.btn.dropdown-toggle{padding-right:3px;padding-left:3px}.btn-group>.btn+.btn-large.dropdown-toggle{padding-right:4px;padding-left:4px}.btn-group .dropdown-toggle{border-radius:0}.btn-group>.btn,.btn-group+.btn{margin:0 1px 0 0;border-width:3px}.btn-group>.btn.active:after,.btn-group+.btn.active:after{left:-2px;right:-2px;bottom:-2px;border-bottom-width:1px}.btn-group>.btn-large,.btn-group+.btn-large{border-width:4px}.btn-group>.btn-large.active:after,.btn-group+.btn-large.active:after{left:-3px;right:-3px;bottom:-3px;border-bottom-width:1px}.btn-group>.btn-sm,.btn-group+.btn-sm{border-width:2px}.btn-group>.btn-sm.active:after,.btn-group+.btn-sm.active:after{left:-1px;right:-1px;bottom:-1px;border-bottom-width:1px}.btn-group>.btn-xs,.btn-group+.btn-xs{border-width:1px}.btn-group>.btn-xs.active:after,.btn-group+.btn-xs.active:after{left:0;right:0;bottom:0;border-bottom-width:1px}.btn-group>.btn-minier,.btn-group+.btn-minier{border-width:1px}.btn-group>.btn-minier.active:after,.btn-group+.btn-minier.active:after{left:0;right:0;bottom:0;border-bottom-width:1px}.btn-group>.btn{border-radius:0!important}.btn-group-vertical>.btn,.btn-group-vertical>.btn+.btn{margin:1px 0 0}.btn-group-vertical>.btn:first-child{margin-right:0}.btn.btn-app{display:inline-block;width:100px;font-size:18px;font-weight:normal;color:#FFF;text-align:center;text-shadow:0 -1px -1px rgba(0,0,0,0.2)!important;border:0;border-radius:12px;padding:12px 0 8px;margin:2px;line-height:1.7;position:relative}.btn-app,.btn-app.btn-default,.btn-app.no-hover:hover,.btn-app.btn-default.no-hover:hover,.btn-app.disabled:hover,.btn-app.btn-default.disabled:hover{background:#b4c2cc!important;background-image:-webkit-gradient(linear,left 0,left 100%,from(#bcc9d5),to(#abbac3))!important;background-image:-webkit-linear-gradient(top,#bcc9d5,0%,#abbac3,100%)!important;background-image:-moz-linear-gradient(top,#bcc9d5 0,#abbac3 100%)!important;background-image:linear-gradient(to bottom,#bcc9d5 0,#abbac3 100%)!important;background-repeat:repeat-x!important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffbcc9d5',endColorstr='#ffabbac3',GradientType=0)!important}.btn-app:hover,.btn-app.btn-default:hover{background:#9baebc!important;background-image:-webkit-gradient(linear,left 0,left 100%,from(#a3b5c5),to(#93a6b2))!important;background-image:-webkit-linear-gradient(top,#a3b5c5,0%,#93a6b2,100%)!important;background-image:-moz-linear-gradient(top,#a3b5c5 0,#93a6b2 100%)!important;background-image:linear-gradient(to bottom,#a3b5c5 0,#93a6b2 100%)!important;background-repeat:repeat-x!important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffa3b5c5',endColorstr='#ff93a6b2',GradientType=0)!important}.btn-app.btn-primary,.btn-app.btn-primary.no-hover:hover,.btn-app.btn-primary.disabled:hover{background:#2a8bcc!important;background-image:-webkit-gradient(linear,left 0,left 100%,from(#3b98d6),to(#197ec1))!important;background-image:-webkit-linear-gradient(top,#3b98d6,0%,#197ec1,100%)!important;background-image:-moz-linear-gradient(top,#3b98d6 0,#197ec1 100%)!important;background-image:linear-gradient(to bottom,#3b98d6 0,#197ec1 100%)!important;background-repeat:repeat-x!important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3b98d6',endColorstr='#ff197ec1',GradientType=0)!important}.btn-app.btn-primary:hover{background:#1d6fa6!important;background-image:-webkit-gradient(linear,left 0,left 100%,from(#267eb8),to(#136194))!important;background-image:-webkit-linear-gradient(top,#267eb8,0%,#136194,100%)!important;background-image:-moz-linear-gradient(top,#267eb8 0,#136194 100%)!important;background-image:linear-gradient(to bottom,#267eb8 0,#136194 100%)!important;background-repeat:repeat-x!important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff267eb8',endColorstr='#ff136194',GradientType=0)!important}.btn-app.btn-info,.btn-app.btn-info.no-hover:hover,.btn-app.btn-info.disabled:hover{background:#68adde!important;background-image:-webkit-gradient(linear,left 0,left 100%,from(#75b5e6),to(#5ba4d5))!important;background-image:-webkit-linear-gradient(top,#75b5e6,0%,#5ba4d5,100%)!important;background-image:-moz-linear-gradient(top,#75b5e6 0,#5ba4d5 100%)!important;background-image:linear-gradient(to bottom,#75b5e6 0,#5ba4d5 100%)!important;background-repeat:repeat-x!important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff75b5e6',endColorstr='#ff5ba4d5',GradientType=0)!important}.btn-app.btn-info:hover{background:#3f96d4!important;background-image:-webkit-gradient(linear,left 0,left 100%,from(#4a9ede),to(#348dc9))!important;background-image:-webkit-linear-gradient(top,#4a9ede,0%,#348dc9,100%)!important;background-image:-moz-linear-gradient(top,#4a9ede 0,#348dc9 100%)!important;background-image:linear-gradient(to bottom,#4a9ede 0,#348dc9 100%)!important;background-repeat:repeat-x!important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff4a9ede',endColorstr='#ff348dc9',GradientType=0)!important}.btn-app.btn-success,.btn-app.btn-success.no-hover:hover,.btn-app.btn-success.disabled:hover{background:#86b558!important;background-image:-webkit-gradient(linear,left 0,left 100%,from(#8ebf60),to(#7daa50))!important;background-image:-webkit-linear-gradient(top,#8ebf60,0%,#7daa50,100%)!important;background-image:-moz-linear-gradient(top,#8ebf60 0,#7daa50 100%)!important;background-image:linear-gradient(to bottom,#8ebf60 0,#7daa50 100%)!important;background-repeat:repeat-x!important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff8ebf60',endColorstr='#ff7daa50',GradientType=0)!important}.btn-app.btn-success:hover{background:#6c9842!important;background-image:-webkit-gradient(linear,left 0,left 100%,from(#74a844),to(#648740))!important;background-image:-webkit-linear-gradient(top,#74a844,0%,#648740,100%)!important;background-image:-moz-linear-gradient(top,#74a844 0,#648740 100%)!important;background-image:linear-gradient(to bottom,#74a844 0,#648740 100%)!important;background-repeat:repeat-x!important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff74a844',endColorstr='#ff648740',GradientType=0)!important}.btn-app.btn-danger,.btn-app.btn-danger.no-hover:hover,.btn-app.btn-danger.disabled:hover{background:#d3413b!important;background-image:-webkit-gradient(linear,left 0,left 100%,from(#d55b52),to(#d12723))!important;background-image:-webkit-linear-gradient(top,#d55b52,0%,#d12723,100%)!important;background-image:-moz-linear-gradient(top,#d55b52 0,#d12723 100%)!important;background-image:linear-gradient(to bottom,#d55b52 0,#d12723 100%)!important;background-repeat:repeat-x!important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd55b52',endColorstr='#ffd12723',GradientType=0)!important}.btn-app.btn-danger:hover{background:#b52c26!important;background-image:-webkit-gradient(linear,left 0,left 100%,from(#c43a30),to(#a51f1c))!important;background-image:-webkit-linear-gradient(top,#c43a30,0%,#a51f1c,100%)!important;background-image:-moz-linear-gradient(top,#c43a30 0,#a51f1c 100%)!important;background-image:linear-gradient(to bottom,#c43a30 0,#a51f1c 100%)!important;background-repeat:repeat-x!important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffc43a30',endColorstr='#ffa51f1c',GradientType=0)!important}.btn-app.btn-warning,.btn-app.btn-warning.no-hover:hover,.btn-app.btn-warning.disabled:hover{background:#ffb44b!important;background-image:-webkit-gradient(linear,left 0,left 100%,from(#ffbf66),to(#ffa830))!important;background-image:-webkit-linear-gradient(top,#ffbf66,0%,#ffa830,100%)!important;background-image:-moz-linear-gradient(top,#ffbf66 0,#ffa830 100%)!important;background-image:linear-gradient(to bottom,#ffbf66 0,#ffa830 100%)!important;background-repeat:repeat-x!important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffbf66',endColorstr='#ffffa830',GradientType=0)!important}.btn-app.btn-warning:hover{background:#fe9e19!important;background-image:-webkit-gradient(linear,left 0,left 100%,from(#fa3),to(#fc9200))!important;background-image:-webkit-linear-gradient(top,#fa3,0%,#fc9200,100%)!important;background-image:-moz-linear-gradient(top,#fa3 0,#fc9200 100%)!important;background-image:linear-gradient(to bottom,#fa3 0,#fc9200 100%)!important;background-repeat:repeat-x!important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffaa33',endColorstr='#fffc9200',GradientType=0)!important}.btn-app.btn-purple,.btn-app.btn-purple.no-hover:hover,.btn-app.btn-purple.disabled:hover{background:#9889c1!important;background-image:-webkit-gradient(linear,left 0,left 100%,from(#a696ce),to(#8a7cb4))!important;background-image:-webkit-linear-gradient(top,#a696ce,0%,#8a7cb4,100%)!important;background-image:-moz-linear-gradient(top,#a696ce 0,#8a7cb4 100%)!important;background-image:linear-gradient(to bottom,#a696ce 0,#8a7cb4 100%)!important;background-repeat:repeat-x!important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffa696ce',endColorstr='#ff8a7cb4',GradientType=0)!important}.btn-app.btn-purple:hover{background:#7b68af!important;background-image:-webkit-gradient(linear,left 0,left 100%,from(#8973be),to(#6d5ca1))!important;background-image:-webkit-linear-gradient(top,#8973be,0%,#6d5ca1,100%)!important;background-image:-moz-linear-gradient(top,#8973be 0,#6d5ca1 100%)!important;background-image:linear-gradient(to bottom,#8973be 0,#6d5ca1 100%)!important;background-repeat:repeat-x!important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff8973be',endColorstr='#ff6d5ca1',GradientType=0)!important}.btn-app.btn-pink,.btn-app.btn-pink.no-hover:hover,.btn-app.btn-pink.disabled:hover{background:#d54c7e!important;background-image:-webkit-gradient(linear,left 0,left 100%,from(#db5e8c),to(#ce3970))!important;background-image:-webkit-linear-gradient(top,#db5e8c,0%,#ce3970,100%)!important;background-image:-moz-linear-gradient(top,#db5e8c 0,#ce3970 100%)!important;background-image:linear-gradient(to bottom,#db5e8c 0,#ce3970 100%)!important;background-repeat:repeat-x!important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdb5e8c',endColorstr='#ffce3970',GradientType=0)!important}.btn-app.btn-pink:hover{background:#be2f64!important;background-image:-webkit-gradient(linear,left 0,left 100%,from(#d2346e),to(#aa2a59))!important;background-image:-webkit-linear-gradient(top,#d2346e,0%,#aa2a59,100%)!important;background-image:-moz-linear-gradient(top,#d2346e 0,#aa2a59 100%)!important;background-image:linear-gradient(to bottom,#d2346e 0,#aa2a59 100%)!important;background-repeat:repeat-x!important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd2346e',endColorstr='#ffaa2a59',GradientType=0)!important}.btn-app.btn-inverse,.btn-app.btn-inverse.no-hover:hover,.btn-app.btn-inverse.disabled:hover{background:#444!important;background-image:-webkit-gradient(linear,left 0,left 100%,from(#555),to(#333))!important;background-image:-webkit-linear-gradient(top,#555,0%,#333,100%)!important;background-image:-moz-linear-gradient(top,#555 0,#333 100%)!important;background-image:linear-gradient(to bottom,#555 0,#333 100%)!important;background-repeat:repeat-x!important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff555555',endColorstr='#ff333333',GradientType=0)!important}.btn-app.btn-inverse:hover{background:#2b2b2b!important;background-image:-webkit-gradient(linear,left 0,left 100%,from(#3b3b3b),to(#1a1a1a))!important;background-image:-webkit-linear-gradient(top,#3b3b3b,0%,#1a1a1a,100%)!important;background-image:-moz-linear-gradient(top,#3b3b3b 0,#1a1a1a 100%)!important;background-image:linear-gradient(to bottom,#3b3b3b 0,#1a1a1a 100%)!important;background-repeat:repeat-x!important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3b3b3b',endColorstr='#ff1a1a1a',GradientType=0)!important}.btn-app.btn-grey,.btn-app.btn-grey.no-hover:hover,.btn-app.btn-grey.disabled:hover{background:#797979!important;background-image:-webkit-gradient(linear,left 0,left 100%,from(#898989),to(#696969))!important;background-image:-webkit-linear-gradient(top,#898989,0%,#696969,100%)!important;background-image:-moz-linear-gradient(top,#898989 0,#696969 100%)!important;background-image:linear-gradient(to bottom,#898989 0,#696969 100%)!important;background-repeat:repeat-x!important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff898989',endColorstr='#ff696969',GradientType=0)!important}.btn-app.btn-grey:hover{background:#6c6c6c!important;background-image:-webkit-gradient(linear,left 0,left 100%,from(#7c7c7c),to(#5c5c5c))!important;background-image:-webkit-linear-gradient(top,#7c7c7c,0%,#5c5c5c,100%)!important;background-image:-moz-linear-gradient(top,#7c7c7c 0,#5c5c5c 100%)!important;background-image:linear-gradient(to bottom,#7c7c7c 0,#5c5c5c 100%)!important;background-repeat:repeat-x!important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff7c7c7c',endColorstr='#ff5c5c5c',GradientType=0)!important}.btn.btn-app.btn-light{color:#5a5a5a!important;text-shadow:0 1px 1px #EEE!important}.btn.btn-app.btn-light,.btn.btn-app.btn-light.no-hover:hover,.btn.btn-app.btn-light.disabled:hover{background:#ededed!important;background-image:-webkit-gradient(linear,left 0,left 100%,from(#f4f4f4),to(#e6e6e6))!important;background-image:-webkit-linear-gradient(top,#f4f4f4,0%,#e6e6e6,100%)!important;background-image:-moz-linear-gradient(top,#f4f4f4 0,#e6e6e6 100%)!important;background-image:linear-gradient(to bottom,#f4f4f4 0,#e6e6e6 100%)!important;background-repeat:repeat-x!important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff4f4f4',endColorstr='#ffe6e6e6',GradientType=0)!important}.btn.btn-app.btn-light:hover{background:#e0e0e0!important;background-image:-webkit-gradient(linear,left 0,left 100%,from(#e7e7e7),to(#d9d9d9))!important;background-image:-webkit-linear-gradient(top,#e7e7e7,0%,#d9d9d9,100%)!important;background-image:-moz-linear-gradient(top,#e7e7e7 0,#d9d9d9 100%)!important;background-image:linear-gradient(to bottom,#e7e7e7 0,#d9d9d9 100%)!important;background-repeat:repeat-x!important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe7e7e7',endColorstr='#ffd9d9d9',GradientType=0)!important}.btn.btn-app.btn-yellow{color:#963!important;text-shadow:0 -1px 0 rgba(255,255,255,0.4)!important}.btn.btn-app.btn-yellow,.btn.btn-app.btn-yellow.no-hover:hover,.btn.btn-app.btn-yellow.disabled:hover{background:#fee088!important;background-image:-webkit-gradient(linear,left 0,left 100%,from(#ffe8a5),to(#fcd76a))!important;background-image:-webkit-linear-gradient(top,#ffe8a5,0%,#fcd76a,100%)!important;background-image:-moz-linear-gradient(top,#ffe8a5 0,#fcd76a 100%)!important;background-image:linear-gradient(to bottom,#ffe8a5 0,#fcd76a 100%)!important;background-repeat:repeat-x!important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffe8a5',endColorstr='#fffcd76a',GradientType=0)!important}.btn.btn-app.btn-yellow:hover{background:#fdd96e!important;background-image:-webkit-gradient(linear,left 0,left 100%,from(#ffe18b),to(#fbd051))!important;background-image:-webkit-linear-gradient(top,#ffe18b,0%,#fbd051,100%)!important;background-image:-moz-linear-gradient(top,#ffe18b 0,#fbd051 100%)!important;background-image:linear-gradient(to bottom,#ffe18b 0,#fbd051 100%)!important;background-repeat:repeat-x!important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffe18b',endColorstr='#fffbd051',GradientType=0)!important}.btn.btn-app.btn-sm{width:80px;font-size:16px;border-radius:10px;line-height:1.5}.btn.btn-app.btn-xs{width:64px;font-size:15px;border-radius:8px;padding-bottom:7px;padding-top:8px;line-height:1.45}.btn.btn-app>[class*=icon]{display:block;font-size:42px;margin:0 0 4px;line-height:36px;min-width:0;padding:0}.btn.btn-app.btn-sm>[class*=icon]{display:block;font-size:32px;line-height:30px;margin:0 0 3px}.btn.btn-app.btn-xs>[class*=icon]{display:block;font-size:24px;line-height:24px;margin:0}.btn.btn-app.no-radius{border-radius:0}.btn.btn-app.radius-4{border-radius:4px}.btn.btn-app>.badge,.btn.btn-app>.label{position:absolute!important;top:-2px;right:-2px;padding:1px 3px;text-align:center;font-size:12px}.btn.btn-app>.badge.badge-left,.btn.btn-app>.label.badge-left,.btn.btn-app>.badge.label-left,.btn.btn-app>.label.label-left{right:auto;left:-2px}.btn.btn-app>.label{padding:1px 6px 3px;font-size:13px}.btn.btn-app.radius-4>.badge,.btn.btn-app.no-radius>.badge{border-radius:3px}.btn.btn-app.radius-4>.badge.no-radius,.btn.btn-app.no-radius>.badge.no-radius{border-radius:0}.btn.btn-app.active{color:#fff}.btn.btn-app.active:after{display:none}.btn.btn-app.active.btn-yellow{color:#963;border-color:#fee188}.btn.btn-app.active.btn-light{color:#515151}.btn.btn-app.btn-light,.btn.btn-app.btn-yellow{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,0.08) inset!important;box-shadow:0 0 0 1px rgba(0,0,0,0.08) inset!important}.label{border-radius:0;text-shadow:none;font-weight:normal;display:inline-block;background-color:#abbac3!important}.label[class*="col-"][class*="arrow"]{min-height:0}@media screen and (-webkit-min-device-pixel-ratio:0){::safari-only,.label:empty{display:inline-block}::safari-only,.badge:empty{display:inline-block}}.badge{text-shadow:none;font-size:12px;padding-top:1px;padding-bottom:3px;font-weight:normal;line-height:15px;background-color:#abbac3!important}.badge.no-radius{border-radius:0}.badge.radius-1{border-radius:1px}.badge.radius-2{border-radius:2px}.badge.radius-3{border-radius:3px}.badge.radius-4{border-radius:4px}.badge.radius-5{border-radius:5px}.badge.radius-6{border-radius:6px}.label-transparent,.badge-transparent{background-color:transparent!important}.label-grey,.badge-grey{background-color:#a0a0a0!important}.label-info,.badge-info{background-color:#3a87ad!important}.label-primary,.badge-primary{background-color:#428bca!important}.label-success,.badge-success{background-color:#82af6f!important}.label-danger,.badge-danger{background-color:#d15b47!important}.label-important,.badge-important{background-color:#d15b47!important}.label-inverse,.badge-inverse{background-color:#333!important}.label-warning,.badge-warning{background-color:#f89406!important}.label-pink,.badge-pink{background-color:#d6487e!important}.label-purple,.badge-purple{background-color:#9585bf!important}.label-yellow,.badge-yellow{background-color:#fee188!important}.label-light,.badge-light{background-color:#e7e7e7!important}.badge-yellow,.label-yellow{color:#963!important;border-color:#fee188}.badge-light,.label-light{color:#888!important}.label.arrowed,.label.arrowed-in{position:relative;z-index:1}.label.arrowed:before,.label.arrowed-in:before{display:inline-block;content:"";position:absolute;top:0;z-index:-1;border:1px solid transparent;border-right-color:#abbac3}.label.arrowed-in:before{border-color:#abbac3;border-left-color:transparent!important}.label.arrowed-right,.label.arrowed-in-right{position:relative;z-index:1}.label.arrowed-right:after,.label.arrowed-in-right:after{display:inline-block;content:"";position:absolute;top:0;z-index:-1;border:1px solid transparent;border-left-color:#abbac3}.label.arrowed-in-right:after{border-color:#abbac3;border-right-color:transparent!important}.label-info.arrowed:before{border-right-color:#3a87ad}.label-info.arrowed-in:before{border-color:#3a87ad}.label-info.arrowed-right:after{border-left-color:#3a87ad}.label-info.arrowed-in-right:after{border-color:#3a87ad}.label-primary.arrowed:before{border-right-color:#428bca}.label-primary.arrowed-in:before{border-color:#428bca}.label-primary.arrowed-right:after{border-left-color:#428bca}.label-primary.arrowed-in-right:after{border-color:#428bca}.label-success.arrowed:before{border-right-color:#82af6f}.label-success.arrowed-in:before{border-color:#82af6f}.label-success.arrowed-right:after{border-left-color:#82af6f}.label-success.arrowed-in-right:after{border-color:#82af6f}.label-warning.arrowed:before{border-right-color:#f89406}.label-warning.arrowed-in:before{border-color:#f89406}.label-warning.arrowed-right:after{border-left-color:#f89406}.label-warning.arrowed-in-right:after{border-color:#f89406}.label-important.arrowed:before{border-right-color:#d15b47}.label-important.arrowed-in:before{border-color:#d15b47}.label-important.arrowed-right:after{border-left-color:#d15b47}.label-important.arrowed-in-right:after{border-color:#d15b47}.label-danger.arrowed:before{border-right-color:#d15b47}.label-danger.arrowed-in:before{border-color:#d15b47}.label-danger.arrowed-right:after{border-left-color:#d15b47}.label-danger.arrowed-in-right:after{border-color:#d15b47}.label-inverse.arrowed:before{border-right-color:#333}.label-inverse.arrowed-in:before{border-color:#333}.label-inverse.arrowed-right:after{border-left-color:#333}.label-inverse.arrowed-in-right:after{border-color:#333}.label-pink.arrowed:before{border-right-color:#d6487e}.label-pink.arrowed-in:before{border-color:#d6487e}.label-pink.arrowed-right:after{border-left-color:#d6487e}.label-pink.arrowed-in-right:after{border-color:#d6487e}.label-purple.arrowed:before{border-right-color:#9585bf}.label-purple.arrowed-in:before{border-color:#9585bf}.label-purple.arrowed-right:after{border-left-color:#9585bf}.label-purple.arrowed-in-right:after{border-color:#9585bf}.label-yellow.arrowed:before{border-right-color:#fee188}.label-yellow.arrowed-in:before{border-color:#fee188}.label-yellow.arrowed-right:after{border-left-color:#fee188}.label-yellow.arrowed-in-right:after{border-color:#fee188}.label-light.arrowed:before{border-right-color:#e7e7e7}.label-light.arrowed-in:before{border-color:#e7e7e7}.label-light.arrowed-right:after{border-left-color:#e7e7e7}.label-light.arrowed-in-right:after{border-color:#e7e7e7}.label-grey.arrowed:before{border-right-color:#a0a0a0}.label-grey.arrowed-in:before{border-color:#a0a0a0}.label-grey.arrowed-right:after{border-left-color:#a0a0a0}.label-grey.arrowed-in-right:after{border-color:#a0a0a0}.label{font-size:12px;line-height:1.15;height:20px}.label.arrowed{margin-left:5px}.label.arrowed:before{left:-10px;border-width:10px 5px}.label.arrowed-in{margin-left:5px}.label.arrowed-in:before{left:-5px;border-width:10px 5px}.label.arrowed-right{margin-right:5px}.label.arrowed-right:after{right:-10px;border-width:10px 5px}.label.arrowed-in-right{margin-right:5px}.label.arrowed-in-right:after{right:-5px;border-width:10px 5px}.label-lg{padding:.3em .6em .4em;font-size:13px;line-height:1.1;height:24px}.label-lg.arrowed{margin-left:6px}.label-lg.arrowed:before{left:-12px;border-width:12px 6px}.label-lg.arrowed-in{margin-left:6px}.label-lg.arrowed-in:before{left:-6px;border-width:12px 6px}.label-lg.arrowed-right{margin-right:6px}.label-lg.arrowed-right:after{right:-12px;border-width:12px 6px}.label-lg.arrowed-in-right{margin-right:6px}.label-lg.arrowed-in-right:after{right:-6px;border-width:12px 6px}.label-xlg{padding:.3em .7em .4em;font-size:14px;line-height:1.3;height:28px}.label-xlg.arrowed{margin-left:7px}.label-xlg.arrowed:before{left:-14px;border-width:14px 7px}.label-xlg.arrowed-in{margin-left:7px}.label-xlg.arrowed-in:before{left:-7px;border-width:14px 7px}.label-xlg.arrowed-right{margin-right:7px}.label-xlg.arrowed-right:after{right:-14px;border-width:14px 7px}.label-xlg.arrowed-in-right{margin-right:7px}.label-xlg.arrowed-in-right:after{right:-7px;border-width:14px 7px}.label-sm{padding:.2em .4em .3em;font-size:11px;line-height:1;height:18px}.label-sm.arrowed{margin-left:4px}.label-sm.arrowed:before{left:-8px;border-width:9px 4px}.label-sm.arrowed-in{margin-left:4px}.label-sm.arrowed-in:before{left:-4px;border-width:9px 4px}.label-sm.arrowed-right{margin-right:4px}.label-sm.arrowed-right:after{right:-8px;border-width:9px 4px}.label-sm.arrowed-in-right{margin-right:4px}.label-sm.arrowed-in-right:after{right:-4px;border-width:9px 4px}.label>span,.label>[class*="icon-"]{line-height:1;vertical-align:bottom}.icon-white,.nav-pills>.active>a>[class^="icon-"],.nav-pills>.active>a>[class*=" icon-"],.nav-list>.active>a>[class^="icon-"],.nav-list>.active>a>[class*=" icon-"],.navbar-inverse .nav>.active>a>[class^="icon-"],.navbar-inverse .nav>.active>a>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^="icon-"],.dropdown-menu>li>a:focus>[class^="icon-"],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>li>a:focus>[class*=" icon-"],.dropdown-menu>.active>a>[class^="icon-"],.dropdown-menu>.active>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^="icon-"],.dropdown-submenu:focus>a>[class^="icon-"],.dropdown-submenu:hover>a>[class*=" icon-"],.dropdown-submenu:focus>a>[class*=" icon-"]{background-image:none}.dropdown-menu{border-radius:0!important;-webkit-box-shadow:0 2px 4px rgba(0,0,0,0.2);box-shadow:0 2px 4px rgba(0,0,0,0.2)}.dropdown-menu>li>a{font-size:13px;padding-left:11px;padding-right:11px;margin-bottom:1px;margin-top:1px}.dropdown-menu.dropdown-only-icon{min-width:50px}.dropdown-menu.dropdown-only-icon>li{float:left;margin:0 4px}.dropdown-menu.dropdown-only-icon>li>a [class*="icon-"]{width:18px;display:inline-block}.dropdown-menu.dropdown-only-icon>li>a .icon-2x{width:36px}.dropdown-menu li a:hover,.dropdown-menu li a:focus,.dropdown-menu li a:active,.dropdown-menu li.active a,.dropdown-menu li.active a:hover,.dropdown-menu .dropdown-submenu:hover>a,.nav-tabs .dropdown-menu li>a:focus{background:#4f99c6;color:#fff}.dropdown-default li a:hover,.dropdown-default li a:focus,.dropdown-default li a:active,.dropdown-default li.active a,.dropdown-default li.active a:hover,.dropdown-default .dropdown-submenu:hover>a,.nav-tabs .dropdown-default li>a:focus{background:#abbac3;color:#fff}.dropdown-info li a:hover,.dropdown-info li a:focus,.dropdown-info li a:active,.dropdown-info li.active a,.dropdown-info li.active a:hover,.dropdown-info .dropdown-submenu:hover>a,.nav-tabs .dropdown-info li>a:focus{background:#6fb3e0;color:#fff}.dropdown-primary li a:hover,.dropdown-primary li a:focus,.dropdown-primary li a:active,.dropdown-primary li.active a,.dropdown-primary li.active a:hover,.dropdown-primary .dropdown-submenu:hover>a,.nav-tabs .dropdown-primary li>a:focus{background:#428bca;color:#fff}.dropdown-success li a:hover,.dropdown-success li a:focus,.dropdown-success li a:active,.dropdown-success li.active a,.dropdown-success li.active a:hover,.dropdown-success .dropdown-submenu:hover>a,.nav-tabs .dropdown-success li>a:focus{background:#87b87f;color:#fff}.dropdown-warning li a:hover,.dropdown-warning li a:focus,.dropdown-warning li a:active,.dropdown-warning li.active a,.dropdown-warning li.active a:hover,.dropdown-warning .dropdown-submenu:hover>a,.nav-tabs .dropdown-warning li>a:focus{background:#ffa24d;color:#fff}.dropdown-danger li a:hover,.dropdown-danger li a:focus,.dropdown-danger li a:active,.dropdown-danger li.active a,.dropdown-danger li.active a:hover,.dropdown-danger .dropdown-submenu:hover>a,.nav-tabs .dropdown-danger li>a:focus{background:#d15b47;color:#fff}.dropdown-inverse li a:hover,.dropdown-inverse li a:focus,.dropdown-inverse li a:active,.dropdown-inverse li.active a,.dropdown-inverse li.active a:hover,.dropdown-inverse .dropdown-submenu:hover>a,.nav-tabs .dropdown-inverse li>a:focus{background:#555;color:#fff}.dropdown-purple li a:hover,.dropdown-purple li a:focus,.dropdown-purple li a:active,.dropdown-purple li.active a,.dropdown-purple li.active a:hover,.dropdown-purple .dropdown-submenu:hover>a,.nav-tabs .dropdown-purple li>a:focus{background:#9585bf;color:#fff}.dropdown-pink li a:hover,.dropdown-pink li a:focus,.dropdown-pink li a:active,.dropdown-pink li.active a,.dropdown-pink li.active a:hover,.dropdown-pink .dropdown-submenu:hover>a,.nav-tabs .dropdown-pink li>a:focus{background:#d6487e;color:#fff}.dropdown-grey li a:hover,.dropdown-grey li a:focus,.dropdown-grey li a:active,.dropdown-grey li.active a,.dropdown-grey li.active a:hover,.dropdown-grey .dropdown-submenu:hover>a,.nav-tabs .dropdown-grey li>a:focus{background:#a0a0a0;color:#fff}.dropdown-light li a:hover,.dropdown-light li a:focus,.dropdown-light li a:active,.dropdown-light li.active a,.dropdown-light li.active a:hover,.dropdown-light .dropdown-submenu:hover>a,.nav-tabs .dropdown-light li>a:focus{background:#e7e7e7;color:#333}.dropdown-lighter li a:hover,.dropdown-lighter li a:focus,.dropdown-lighter li a:active,.dropdown-lighter li.active a,.dropdown-lighter li.active a:hover,.dropdown-lighter .dropdown-submenu:hover>a,.nav-tabs .dropdown-lighter li>a:focus{background:#efefef;color:#444}.dropdown-lightest li a:hover,.dropdown-lightest li a:focus,.dropdown-lightest li a:active,.dropdown-lightest li.active a,.dropdown-lightest li.active a:hover,.dropdown-lightest .dropdown-submenu:hover>a,.nav-tabs .dropdown-lightest li>a:focus{background:#f3f3f3;color:#444}.dropdown-yellow li a:hover,.dropdown-yellow li a:focus,.dropdown-yellow li a:active,.dropdown-yellow li.active a,.dropdown-yellow li.active a:hover,.dropdown-yellow .dropdown-submenu:hover>a,.nav-tabs .dropdown-yellow li>a:focus{background:#fee188;color:#444}.dropdown-yellow2 li a:hover,.dropdown-yellow2 li a:focus,.dropdown-yellow2 li a:active,.dropdown-yellow2 li.active a,.dropdown-yellow2 li.active a:hover,.dropdown-yellow2 .dropdown-submenu:hover>a,.nav-tabs .dropdown-yellow2 li>a:focus{background:#f9e8b3;color:#444}.dropdown-light-blue li a:hover,.dropdown-light-blue li a:focus,.dropdown-light-blue li a:active,.dropdown-light-blue li.active a,.dropdown-light-blue li.active a:hover,.dropdown-light-blue .dropdown-submenu:hover>a,.nav-tabs .dropdown-light-blue li>a:focus{background:#ecf3f9;color:#456}.dropdown-light .dropdown-submenu:hover>a:after,.dropdown-lighter .dropdown-submenu:hover>a:after,.dropdown-lightest .dropdown-submenu:hover>a:after{border-left-color:#444}.dropdown-menu.dropdown-close{top:92%;left:-5px}.dropdown-menu.dropdown-close.pull-right{left:auto;right:-5px}.dropdown-menu.dropdown-closer{top:80%;left:-10px}.dropdown-menu.dropdown-closer.pull-right{right:-10px;left:auto}.dropdown-submenu>.dropdown-menu{border-radius:0}.dropdown-submenu>a:after{margin-right:-5px}.dropdown-colorpicker>.dropdown-menu{top:80%;left:-7px;padding:4px;min-width:130px;max-width:130px}.dropdown-colorpicker>.dropdown-menu.pull-right{right:-7px;left:auto}.dropdown-colorpicker>.dropdown-menu>li{display:block;float:left;width:20px;height:20px;margin:2px}.dropdown-colorpicker>.dropdown-menu>li>.colorpick-btn{display:block;width:20px;height:20px;margin:0;padding:0;border-radius:0;position:relative;-webkit-transition:all ease .1s;transition:all ease .1s}.dropdown-colorpicker>.dropdown-menu>li>.colorpick-btn:hover{text-decoration:none;opacity:.8;filter:alpha(opacity=80);-webkit-transform:scale(1.08);-ms-transform:scale(1.08);transform:scale(1.08)}.dropdown-colorpicker>.dropdown-menu>li>.colorpick-btn.selected:after{content:"\f00c";display:inline-block;font-family:FontAwesome;font-size:11px;color:#FFF;position:absolute;left:0;right:0;text-align:center;line-height:20px}.btn-colorpicker{display:inline-block;width:20px;height:20px;background-color:#DDD;vertical-align:middle;border-radius:0}.dropdown-navbar{padding:0;width:240px;-webkit-box-shadow:0 2px 4px rgba(30,30,100,0.25);box-shadow:0 2px 4px rgba(30,30,100,0.25);border-color:#bcd4e5}.dropdown-navbar>li{padding:0 8px;background-color:#fff}.dropdown-navbar>li.dropdown-header{text-shadow:none;padding-top:0;padding-bottom:0;line-height:34px;font-size:13px;font-weight:bold;text-transform:none;border-bottom:1px solid}.dropdown-navbar>li>[class*="icon-"],.dropdown-navbar>li>a>[class*="icon-"]{margin-right:5px!important;color:#555;font-size:14px}.dropdown-navbar>li>a{padding:10px 2px;margin:0;border-bottom:1px solid;font-size:12px;line-height:16px;color:#555}.dropdown-navbar>li>a:active,.dropdown-navbar>li>a:hover,.dropdown-navbar>li>a:focus{background-color:transparent!important;color:#555}.dropdown-navbar>li>a .progress{margin-bottom:0;margin-top:4px}.dropdown-navbar>li>a .badge{line-height:16px;padding-right:4px;padding-left:4px;font-size:12px}.dropdown-navbar>li:last-child>a{border-bottom:0 solid #DDD;border-top:1px dotted transparent;color:#4f99c6;text-align:center;font-size:13px}.dropdown-navbar>li:last-child>a:hover{background-color:#FFF;color:#4f99c6;text-decoration:underline}.dropdown-navbar>li:last-child>a:hover>[class*="icon-"]{text-decoration:none}.dropdown-navbar>li:hover{background-color:#f4f9fc!important}.dropdown-navbar>li.dropdown-header{background-color:#ecf2f7!important;color:#8090a0;border-bottom-color:#bcd4e5}.dropdown-navbar>li.dropdown-header>[class*="icon-"]{color:#8090a0}.dropdown-navbar>li>a{border-bottom-color:#e4ecf3}.dropdown-navbar.navbar-pink{border-color:#e5bcd4}.dropdown-navbar.navbar-pink>li:hover{background-color:#fcf4f9!important}.dropdown-navbar.navbar-pink>li.dropdown-header{background-color:#f7ecf2!important;color:#b471a0;border-bottom-color:#e5bcd4}.dropdown-navbar.navbar-pink>li.dropdown-header>[class*="icon-"]{color:#c06090}.dropdown-navbar.navbar-pink>li>a{border-bottom-color:#f3e4ec}.dropdown-navbar.navbar-grey{border-color:#e5e5e5}.dropdown-navbar.navbar-grey>li:hover{background-color:#f8f8f8!important}.dropdown-navbar.navbar-grey>li.dropdown-header{background-color:#f2f2f2!important;color:#3a87ad;border-bottom-color:#e5e5e5}.dropdown-navbar.navbar-grey>li.dropdown-header>[class*="icon-"]{color:#3a87ad}.dropdown-navbar.navbar-grey>li>a{border-bottom-color:#eee}.dropdown-navbar.navbar-green{border-color:#b4d5ac}.dropdown-navbar.navbar-green>li:hover{background-color:#f4f9ef!important}.dropdown-navbar.navbar-green>li.dropdown-header{background-color:#ebf7e4!important;color:#8a6;border-bottom-color:#b4d5ac}.dropdown-navbar.navbar-green>li.dropdown-header>[class*="icon-"]{color:#90c060}.dropdown-navbar.navbar-green>li>a{border-bottom-color:#ecf3e4}.dropdown-navbar [class*="btn"][class*="icon-"]{display:inline-block;margin:0 5px 0 0;width:24px;text-align:center;padding-left:0;padding-right:0}.dropdown-navbar .msg-photo{margin-right:6px;max-width:42px}.dropdown-navbar .msg-body{display:inline-block;line-height:20px;white-space:normal;vertical-align:middle;max-width:175px}.dropdown-navbar .msg-title{display:inline-block;line-height:14px}.dropdown-navbar .msg-time{display:block;font-size:11px;color:#777}.dropdown-navbar .msg-time>[class*="icon-"]{font-size:14px;color:#555}.dropdown-100{min-width:100px}.dropdown-125{min-width:125px}.dropdown-150{min-width:150px}.dropdown-hover{position:relative}.dropdown-hover:hover>.dropdown-menu{display:block}.form-line{margin-bottom:24px;padding-bottom:12px;border-bottom:1px solid #EEE}.form-actions{display:block;background-color:#f5f5f5;border-top:1px solid #e5e5e5;margin-bottom:20px;margin-top:20px;padding:19px 20px 20px}.help-button{display:inline-block;height:22px;width:22px;line-height:22px;text-align:center;padding:0;background-color:#65bcda;color:#FFF;font-size:12px;font-weight:bold;cursor:default;margin-left:4px;border-radius:100%;border-color:#FFF;border:2px solid #FFF;-webkit-box-shadow:0 1px 0 1px rgba(0,0,0,0.2);box-shadow:0 1px 0 1px rgba(0,0,0,0.2)}.help-button:hover{background-color:#65bcda;text-shadow:none}label{font-weight:normal;font-size:14px}.form-group>label[class*="col-"]{padding-top:4px;margin-bottom:4px}label,.lbl{vertical-align:middle}td>label,th>label,label.inline{margin-bottom:0;line-height:inherit}textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"]{border-radius:0!important;color:#858585;background-color:#fff;border:1px solid #d5d5d5;padding:5px 4px;line-height:1.2;font-size:14px;font-family:inherit;-webkit-box-shadow:none!important;box-shadow:none!important;-webkit-transition-duration:.1s;transition-duration:.1s}textarea:hover,input[type="text"]:hover,input[type="password"]:hover,input[type="datetime"]:hover,input[type="datetime-local"]:hover,input[type="date"]:hover,input[type="month"]:hover,input[type="time"]:hover,input[type="week"]:hover,input[type="number"]:hover,input[type="email"]:hover,input[type="url"]:hover,input[type="search"]:hover,input[type="tel"]:hover,input[type="color"]:hover{border-color:#b5b5b5}textarea:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus{-webkit-box-shadow:none;box-shadow:none;color:#696969;border-color:#f59942;background-color:#fff;outline:0}.form-control,select{border-radius:0;-webkit-box-shadow:none!important;box-shadow:none!important;color:#858585;background-color:#fff;border:1px solid #d5d5d5}.form-control:focus,select:focus{color:#696969;border-color:#f59942;background-color:#fff;outline:0}textarea.form-control{padding:5px 9px}select{padding:3px 4px;height:30px}select.form-control{padding:4px 6px;height:32px}select[multiple],select.form-control[multiple]{height:auto}input.block{display:block;margin-bottom:9px}textarea.autosize-transition{-webkit-transition-duration:"height 0.2s";transition-duration:"height 0.2s"}.limiterBox{border:1px solid #222;border-top:0;background-color:#333;padding:3px 6px;font-size:12px;color:#FFF;margin-top:6px}.limiterBox:after{display:none}.limiterBox:before{display:block;content:"";position:absolute;width:0;height:0;top:-8px;left:50%;margin-left:-5px;border-color:transparent;border-style:solid;border-bottom-color:#333;border-width:0 8px 8px}select option,select.form-control option{padding:3px 4px}select option:active,select.form-control option:active,select option:hover,select.form-control option:hover,select option:focus,select.form-control option:focus{background-color:#e5e9ee;color:#111}select option[value=""],select.form-control option[value=""]{padding:0}input[disabled]{color:#848484!important;background-color:#eee!important}input[disabled]:hover{border-color:#d5d5d5!important}input[readonly]{color:#939192;background:#f5f5f5!important;cursor:default}input[readonly]:hover{border-color:#c3c3c3}input[readonly]:focus{-webkit-box-shadow:none;box-shadow:none;border-color:#aaa;background-color:#f9f9f9}.help-inline{font-size:13px!important}.input-icon{position:relative}span.input-icon{display:inline-block}.input-icon>input{padding-left:24px;padding-right:6px}.input-icon.input-icon-right>input{padding-left:6px;padding-right:24px}.input-icon>[class*="icon-"]{padding:0 3px;z-index:2;position:absolute;top:1px;bottom:1px;left:3px;line-height:28px;display:inline-block;color:#909090;font-size:16px}.input-icon.input-icon-right>[class*="icon-"]{left:auto;right:3px}.input-icon>input:focus+[class*="icon-"]{color:#579}.input-icon ~ .help-inline{padding-left:8px}.form-search .radio [type=radio]+label,.form-inline .radio [type=radio]+label,.form-search .checkbox [type=checkbox]+label,.form-inline .checkbox [type=checkbox]+label{float:left;margin-left:-20px}.form-search .form-search .radio [type=radio]+label,.form-search .form-inline .radio [type=radio]+label,.form-search .form-search .checkbox [type=checkbox]+label,.form-search .form-inline .checkbox [type=checkbox]+label,.form-inline .form-search .radio [type=radio]+label,.form-inline .form-inline .radio [type=radio]+label,.form-inline .form-search .checkbox [type=checkbox]+label,.form-inline .form-inline .checkbox [type=checkbox]+label{margin-left:0;margin-right:3px}.form-search .input-append .search-query:focus,.form-search .input-prepend .search-query:focus{-webkit-box-shadow:none;box-shadow:none}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input{border-radius:0}.input-mini{width:60px;max-width:100%}.input-small{width:90px;max-width:100%}.input-medium{width:150px;max-width:100%}.input-large{width:210px;max-width:100%}.input-xlarge{width:270px;max-width:100%}.input-xxlarge{width:530px;max-width:100%}input.input-lg{font-size:18px}input.input-sm{font-size:12px}input[type=checkbox].ace,input[type=radio].ace{opacity:0;position:absolute;z-index:12;width:18px;height:18px;cursor:pointer}input[type=checkbox].ace:checked,input[type=radio].ace:checked,input[type=checkbox].ace:focus,input[type=radio].ace:focus{outline:none!important}input[type=checkbox].ace+.lbl,input[type=radio].ace+.lbl{position:relative;z-index:11;display:inline-block;margin:0;line-height:20px;min-height:18px;min-width:18px;font-weight:normal}input[type=checkbox].ace+.lbl.padding-16::before,input[type=radio].ace+.lbl.padding-16::before{margin-right:16px}input[type=checkbox].ace+.lbl.padding-12::before,input[type=radio].ace+.lbl.padding-12::before{margin-right:12px}input[type=checkbox].ace+.lbl.padding-8::before,input[type=radio].ace+.lbl.padding-8::before{margin-right:8px}input[type=checkbox].ace+.lbl.padding-4::before,input[type=radio].ace+.lbl.padding-4::before{margin-right:4px}input[type=checkbox].ace+.lbl.padding-0::before,input[type=radio].ace+.lbl.padding-0::before{margin-right:0}input[type=checkbox].ace+.lbl::before,input[type=radio].ace+.lbl::before{font-family:fontAwesome;font-weight:normal;font-size:12px;color:#32a3ce;content:"\a0";background-color:#fafafa;border:1px solid #c8c8c8;box-shadow:0 1px 2px rgba(0,0,0,0.05);border-radius:0;display:inline-block;text-align:center;vertical-align:middle;height:16px;line-height:14px;min-width:16px;margin-right:1px}input[type=checkbox].ace:checked+.lbl::before,input[type=radio].ace:checked+.lbl::before{display:inline-block;content:'\f00c';background-color:#f5f8fc;border-color:#adb8c0;box-shadow:0 1px 2px rgba(0,0,0,0.05),inset 0 -15px 10px -12px rgba(0,0,0,0.05),inset 15px 10px -12px rgba(255,255,255,0.1)}input[type=checkbox].ace:hover+.lbl::before,input[type=radio].ace:hover+.lbl::before,input[type=checkbox].ace+.lbl:hover::before,input[type=radio].ace+.lbl:hover::before{border-color:#ff893c}input[type=checkbox].ace:active+.lbl::before,input[type=radio].ace:active+.lbl::before,input[type=checkbox].ace:checked:active+.lbl::before,input[type=radio].ace:checked:active+.lbl::before{box-shadow:0 1px 2px rgba(0,0,0,0.05),inset 0 1px 3px rgba(0,0,0,0.1)}input[type=checkbox].ace.ace-checkbox-2+.lbl::before,input[type=radio].ace.ace-checkbox-2+.lbl::before{box-shadow:none}input[type=checkbox].ace.ace-checkbox-2:checked+.lbl::before,input[type=radio].ace.ace-checkbox-2:checked+.lbl::before{background-color:#f9a021;border-color:#f9a021;color:#FFF}input[type=checkbox].ace:disabled+.lbl::before,input[type=radio].ace:disabled+.lbl::before,input[type=checkbox].ace[disabled]+.lbl::before,input[type=radio].ace[disabled]+.lbl::before,input[type=checkbox].ace.disabled+.lbl::before,input[type=radio].ace.disabled+.lbl::before{background-color:#DDD!important;border-color:#CCC!important;box-shadow:none!important;color:#BBB}input[type=radio].ace+.lbl::before{border-radius:100%;font-size:11px;font-family:FontAwesome;text-shadow:0 0 1px #32a3ce;line-height:15px;height:17px;min-width:17px}input[type=radio].ace:checked+.lbl::before{content:"\f111"}input[type=checkbox].ace.ace-switch{width:55px;height:25px}input[type=checkbox].ace.ace-switch+.lbl{margin:0 4px;min-height:24px}input[type=checkbox].ace.ace-switch+.lbl::before{font-family:Arial,Helvetica,sans-serif;content:"ON\a0\a0\a0\a0\a0\a0\a0\a0\a0OFF";color:#999;font-weight:bold;font-size:11px;line-height:18px;line-height:21px\9;height:20px;overflow:hidden;border-radius:12px;background-color:#f5f5f5;-webkit-box-shadow:inset 0 2px 2px 0 rgba(0,0,0,.2);box-shadow:inset 0 2px 2px 0 rgba(0,0,0,.2);border:1px solid #CCC;text-align:left;float:left;padding:0;width:52px;text-indent:-19px;text-indent:-21px\9;margin-right:0;-webkit-transition:text-indent .4s ease;transition:text-indent .4s ease}input[type=checkbox].ace.ace-switch+.lbl::after{font-family:Arial,Helvetica,sans-serif;content:'|||';font-size:10px;font-weight:lighter;color:#d5d5d5;background-color:#FFF;text-shadow:-1px 0 0 rgba(0,0,0,0.15);text-align:center;border-radius:100%;width:22px;height:22px;line-height:20px;position:absolute;top:-2px;left:-3px;padding:0;-webkit-box-shadow:0 1px 1px 1px rgba(0,0,0,.3);box-shadow:0 1px 1px 1px rgba(0,0,0,.3);-webkit-transition:left .4s ease;transition:left .4s ease}input[type=checkbox].ace.ace-switch:checked+.lbl::before{text-indent:9px;color:#FFF;background-color:#8ab2c9;border-color:#468fcc}input[type=checkbox].ace.ace-switch:checked+.lbl::after{left:34px;background-color:#FFF;color:#8ab2c9}input[type=checkbox].ace.ace-switch.ace-switch-2+.lbl::before{content:"YES\a0\a0\a0\a0\a0\a0\a0\a0NO"}input[type=checkbox].ace.ace-switch.ace-switch-3+.lbl::after{font-family:FontAwesome;font-size:13px;line-height:23px;content:"\f00d";top:-1px}input[type=checkbox].ace.ace-switch.ace-switch-3:checked+.lbl::after{content:"\f00c"}input[type=checkbox].ace.ace-switch.ace-switch-4+.lbl::before,input[type=checkbox].ace.ace-switch.ace-switch-5+.lbl::before{content:"ON\a0\a0\a0\a0\a0\a0\a0\a0\a0\a0\a0OFF";font-family:Arial,Helvetica,sans-serif;font-weight:bolder;font-size:12px;line-height:23px;height:24px;overflow:hidden;line-height:25px\9;border-radius:12px;background-color:#8b9aa3;border:1px solid #8b9aa3;color:#FFF;width:56px;text-indent:-25px;text-indent:-28px\9;display:inline-block;position:relative;box-shadow:none;-webkit-transition:all .4s ease;transition:all .4s ease}input[type=checkbox].ace.ace-switch.ace-switch-4+.lbl::after,input[type=checkbox].ace.ace-switch.ace-switch-5+.lbl::after{font-family:Helvetica,Arial,sans-serif;content:'|||';text-shadow:-1px 0 0 rgba(0,0,0,0.2);font-size:8px;font-weight:lighter;color:#8b9aa3;text-align:center;position:absolute;border-radius:12px;color:#5b6a73;top:2px;left:2px;width:20px;height:20px;line-height:18px;background-color:#FFF;-webkit-transition:all .4s ease;transition:all .4s ease}input[type=checkbox].ace.ace-switch.ace-switch-4:checked+.lbl::before,input[type=checkbox].ace.ace-switch.ace-switch-5:checked+.lbl::before{text-indent:9px;background-color:#468fcc;border-color:#468fcc}input[type=checkbox].ace.ace-switch.ace-switch-4:checked+.lbl::after,input[type=checkbox].ace.ace-switch.ace-switch-5:checked+.lbl::after{left:34px;background-color:#FFF}input[type=checkbox].ace.ace-switch.ace-switch-5+.lbl::before{content:"YES\a0\a0\a0\a0\a0\a0\a0\a0\a0\a0NO"}input[type=checkbox].ace.ace-switch.ace-switch-5:checked+.lbl::before{text-indent:8px}input[type=checkbox].ace.ace-switch.ace-switch-6+.lbl{position:relative}input[type=checkbox].ace.ace-switch.ace-switch-6+.lbl::before{font-family:FontAwesome;content:"\f00d";text-shadow:0 -1px 0 rgba(0,0,0,0.25);box-shadow:none;border:0;font-weight:lighter;font-size:16px;border-radius:12px;display:inline-block;background-color:#888;color:#f2f2f2;width:52px;height:22px;line-height:20px;text-indent:32px;-webkit-transition:background .1s ease;transition:background .1s ease}input[type=checkbox].ace.ace-switch.ace-switch-6+.lbl::after{content:'';text-shadow:0 -1px 0 rgba(0,0,0,0.25);position:absolute;top:2px;left:3px;border-radius:12px;box-shadow:0 -1px 0 rgba(0,0,0,0.25);width:18px;height:18px;text-align:center;background-color:#f2f2f2;border:4px solid #f2f2f2;-webkit-transition:left .2s ease;transition:left .2s ease}input[type=checkbox].ace.ace-switch.ace-switch-6:checked+.lbl::before{content:"\f00c";text-indent:6px;color:#FFF;border-color:#b7d3e5;background-color:#ff893c}input[type=checkbox].ace.ace-switch.ace-switch-6:checked+.lbl::after{left:32px;background-color:#FFF;border:4px solid #FFF;text-shadow:0 -1px 0 rgba(0,200,0,0.25)}input[type=checkbox].ace.ace-switch.ace-switch-7{width:75px}input[type=checkbox].ace.ace-switch.ace-switch-7+.lbl{position:relative}input[type=checkbox].ace.ace-switch.ace-switch-7+.lbl::before{content:"OFF\a0\a0\a0\a0\a0\a0\a0\a0\a0\a0\a0ON";font-weight:bolder;font-size:14px;line-height:20px;background-color:#FFF;border:2px solid #AAA;border-radius:0;box-shadow:none;color:#aaa;width:74px;height:26px;line-height:22px;overflow:hidden;text-indent:4px;display:inline-block;position:relative;-webkit-transition:all .2s ease;transition:all .2s ease}input[type=checkbox].ace.ace-switch.ace-switch-7+.lbl::after{content:'\f00d';font-family:FontAwesome;font-size:16px;position:absolute;top:3px;left:39px;width:32px;height:20px;line-height:18px;text-align:center;background-color:#aaa;color:#FFF;border-radius:0;box-shadow:none;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}input[type=checkbox].ace.ace-switch.ace-switch-7:checked+.lbl::before{color:#468fcc;background-color:#FFF;text-indent:-33px;border-color:#6fb3e0}input[type=checkbox].ace.ace-switch.ace-switch-7:checked+.lbl::after{left:3px;content:'\f00c';background-color:#468fcc;color:#FFF}.input-group .input-group-addon{border-radius:0!important}.form-group.has-success .input-group .input-group-addon{border-color:#92bf65}.form-group.has-error .input-group .input-group-addon{border-color:#f09784}.form-group.has-warning .input-group .input-group-addon{border-color:#e0c43a}.form-group.has-info .input-group .input-group-addon{border-color:#64a6bc}.input-group>.btn{line-height:20px;padding:0 6px;border-radius:0!important}.input-group>.btn.btn-sm{line-height:22px}.input-group>.btn+.btn{margin-left:1px}.input-group>.btn-group>.btn{line-height:23px}.input-group>.btn-group>.btn.btn-sm{line-height:26px}.input-group>.btn>.caret,.input-group>.btn-group>.btn>.caret,.input-group>.btn.btn-sm>.caret,.input-group>.btn-group>.btn.btn-sm>.caret{margin-top:10px}.ace-file-input{position:relative;height:38px;line-height:38px;margin-bottom:9px}.ace-file-input input[type=file]{position:fixed;z-index:-2;opacity:0;filter:alpha(opacity=0)}.ace-file-input .file-label{display:block;position:absolute;top:0;left:0;right:0;height:30px;background-color:#fff;border:1px solid #d5d5d5;cursor:pointer;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:all .15s;transition:all .15s}.ace-file-input .file-label:hover{-webkit-box-shadow:none;box-shadow:none;border-color:#f59942}.ace-file-input .file-label:before{display:inline-block;content:attr(data-title);position:absolute;right:0;top:0;bottom:0;padding:0 8px;line-height:24px;text-align:center;background-color:#6fb3e0;color:#FFF;font-size:11px;font-weight:bold;border:2px solid #FFF;border-left-width:4px;-webkit-transition:all .3s;transition:all .3s}.ace-file-input .file-label .file-name{display:inline-block;height:28px;max-width:80%;white-space:nowrap;overflow:hidden;line-height:28px;color:#888;font-size:13px;vertical-align:top;position:static;padding-left:30px}.ace-file-input .file-label .file-name:after{display:inline-block;content:attr(data-title)}.ace-file-input .file-label.selected{right:16px}.ace-file-input .file-label.selected .file-name{color:#666}.ace-file-input .file-label [class*="icon-"]{display:inline-block;position:absolute;left:0;top:0;bottom:0;line-height:24px;width:26px;text-align:center;font-family:FontAwesome;font-size:13px;border:2px solid #FFF;color:#FFF;-webkit-transition:all .1s;transition:all .1s;background-color:#d1d1d1}.ace-file-input .file-label.selected .file-name [class*="icon-"]{background-color:#efad62}.ace-file-input .file-label.selected .file-name .icon-picture{background-color:#bd7a9d}.ace-file-input .file-label.selected .file-name .icon-film{background-color:#87b87f}.ace-file-input .file-label.selected .file-name .icon-music{background-color:#8b7ac9}.ace-file-input .file-label.selected .file-name .icon-archive{background-color:#efad62}.ace-file-input .file-label.hide-placeholder:before{display:none}.ace-file-input a:hover{text-decoration:none}.ace-file-input .remove{position:absolute;right:-8px;top:6px;display:none;width:17px;text-align:center;height:17px;line-height:15px;font-size:11px;font-weight:normal;background-color:#fb7142;border-radius:100%;color:#FFF;text-decoration:none}.ace-file-input .file-label.selected+.remove{display:inline-block}.ace-file-multiple{height:auto}.ace-file-multiple .file-label{position:relative;height:auto;border:1px dashed #aaa;border-radius:4px;text-align:center}.ace-file-multiple .file-label:before{display:inline-block;content:attr(data-title);position:relative;right:0;left:0;margin:12px;line-height:22px;background-color:#FFF;color:#CCC;font-size:18px;font-weight:bold;border:0}.ace-file-multiple .file-label.selected .file-name [class*="icon-"]{display:inline-block;position:absolute;left:0;top:0;bottom:0;line-height:24px;width:26px;text-align:center;font-family:FontAwesome;font-size:13px;border:2px solid #FFF;color:#FFF;-webkit-transition:all .1s;transition:all .1s}.ace-file-multiple .file-label .file-name{position:relative;display:block;padding:0;height:auto;width:auto;max-width:100%;margin:0 4px;border-bottom:1px solid #DDD;text-align:left}.ace-file-multiple .file-label .file-name:first-child{margin-top:1px}.ace-file-multiple .file-label .file-name:last-child{border-bottom-width:0;margin-bottom:1px}.ace-file-multiple .file-label .file-name img{padding:2px;border:1px solid #d7d7d7;background-color:#FFF;background-repeat:no-repeat;background-position:center;margin:4px 8px 4px 1px}.ace-file-multiple .file-label .file-name:after{display:none}.ace-file-multiple .file-label.selected .file-name:after{display:inline-block;white-space:pre}.ace-file-multiple .file-label .file-name img+[class*="icon-"],.ace-file-multiple .file-label.selected .file-name img+[class*="icon-"]{display:none}.ace-file-multiple .remove{right:-11px;top:-11px;border:3px solid #BBB;border-radius:32px;background-color:#FFF;color:red;width:22px;height:22px;line-height:15px}.ace-file-multiple .file-label.selected+.remove:hover{border-color:#f4c0b1}.ace-file-multiple .file-label .file-name [class*="icon-"]{position:relative;display:block;text-align:center;height:auto;line-height:64px;width:auto;font-size:64px;color:#d5d5d5;margin:4px 0;background-color:transparent}.ace-file-multiple .file-label.selected:after{display:none}.ace-file-multiple .file-label.selected .file-name [class*="icon-"]{position:relative;margin-right:4px;margin-left:2px;line-height:24px}.ace-file-multiple .file-label .file-name.large{text-align:center;border-bottom:2px solid #222;margin:0 1px 3px}.ace-file-multiple .file-label .file-name.large:last-child{margin:0 1px;border-bottom-width:0}.ace-file-multiple .file-label .file-name.large:after{position:absolute;top:auto;bottom:0;left:0;right:0;padding:0 4px;background-color:#555;color:#FFF;opacity:.8;filter:alpha(opacity=80)}.ace-file-multiple .file-label .file-name.large img{border-width:0;margin:0;padding:0}.ace-file-input input[type=file].disabled+.file-label,.ace-file-input input[type=file][disabled]+.file-label,.ace-file-input input[type=file][readonly]+.file-label{cursor:not-allowed;background-color:#EEE}.ace-file-input input[type=file].disabled+.file-label:hover,.ace-file-input input[type=file][disabled]+.file-label:hover,.ace-file-input input[type=file][readonly]+.file-label:hover{-webkit-box-shadow:none;box-shadow:none;border-color:#e3e3e3}.ace-file-input input[type=file].disabled+.file-label:before,.ace-file-input input[type=file][disabled]+.file-label:before,.ace-file-input input[type=file][readonly]+.file-label:before{border-color:#EEE;background-color:#a1aaaf}.ace-file-input input[type=file][readonly]+.file-label{cursor:default}.ace-file-multiple input[type=file].disabled+.file-label:hover,.ace-file-multiple input[type=file][disabled]+.file-label:hover,.ace-file-multiple input[type=file][readonly]+.file-label:hover{border-color:#AAA}.ace-file-multiple input[type=file].disabled+.file-label:before,.ace-file-multiple input[type=file][disabled]+.file-label:before,.ace-file-multiple input[type=file][readonly]+.file-label:before{background-color:transparent}.ace-file-multiple input[type=file].disabled+.file-label [class*="icon-"],.ace-file-multiple input[type=file][disabled]+.file-label [class*="icon-"],.ace-file-multiple input[type=file][readonly]+.file-label [class*="icon-"]{border-color:#EEE}.ace-file-input input[type=file]{width:100% \0/;height:30px \0/;position:absolute \0/;z-index:1 \0/;filter:alpha(opacity=0);cursor:pointer \0/}.ace-file-input input[type=file]:hover+.file-label{border-color:#f59942 \0/}.ace-file-multiple input[type=file]{height:100%\0/}.ace-file-input .remove{z-index:2\0/}.form-group select,.form-group textarea,.form-group input[type="text"],.form-group input[type="password"],.form-group input[type="datetime"],.form-group input[type="datetime-local"],.form-group input[type="date"],.form-group input[type="month"],.form-group input[type="time"],.form-group input[type="week"],.form-group input[type="number"],.form-group input[type="email"],.form-group input[type="url"],.form-group input[type="search"],.form-group input[type="tel"],.form-group input[type="color"]{background:#FFF}.form-group.has-success input,.form-group.has-success select,.form-group.has-success textarea{border-color:#92bf65;color:#8bad4c;-webkit-box-shadow:none;box-shadow:none}.form-group.has-success input:focus,.form-group.has-success select:focus,.form-group.has-success textarea:focus{-webkit-box-shadow:0 0 0 2px rgba(130,188,58,0.3);box-shadow:0 0 0 2px rgba(130,188,58,0.3);color:#786;border-color:#81a85a}.form-group.has-success input:focus+[class*="icon-"],.form-group.has-success select:focus+[class*="icon-"],.form-group.has-success textarea:focus+[class*="icon-"]{color:#8bad4c}.form-group.has-success [class*="icon-"]{color:#8bad4c}.form-group.has-success .btn [class*="icon-"]{color:inherit}.form-group.has-success .control-label,.form-group.has-success .help-block,.form-group.has-success .help-inline{color:#7ba065}.form-group.has-info input,.form-group.has-info select,.form-group.has-info textarea{border-color:#64a6bc;color:#4b89aa;-webkit-box-shadow:none;box-shadow:none}.form-group.has-info input:focus,.form-group.has-info select:focus,.form-group.has-info textarea:focus{-webkit-box-shadow:0 0 0 2px rgba(58,120,188,0.3);box-shadow:0 0 0 2px rgba(58,120,188,0.3);color:#678;border-color:#5a81a8}.form-group.has-info input:focus+[class*="icon-"],.form-group.has-info select:focus+[class*="icon-"],.form-group.has-info textarea:focus+[class*="icon-"]{color:#4b89aa}.form-group.has-info [class*="icon-"]{color:#4b89aa}.form-group.has-info .btn [class*="icon-"]{color:inherit}.form-group.has-info .control-label,.form-group.has-info .help-block,.form-group.has-info .help-inline{color:#657ba0}.form-group.has-error input,.form-group.has-error select,.form-group.has-error textarea{border-color:#f09784;color:#d68273;-webkit-box-shadow:none;box-shadow:none}.form-group.has-error input:focus,.form-group.has-error select:focus,.form-group.has-error textarea:focus{-webkit-box-shadow:0 0 0 2px rgba(219,137,120,0.3);box-shadow:0 0 0 2px rgba(219,137,120,0.3);color:#866;border-color:#db8978}.form-group.has-error input:focus+[class*="icon-"],.form-group.has-error select:focus+[class*="icon-"],.form-group.has-error textarea:focus+[class*="icon-"]{color:#d68273}.form-group.has-error [class*="icon-"]{color:#d68273}.form-group.has-error .btn [class*="icon-"]{color:inherit}.form-group.has-error .control-label,.form-group.has-error .help-block,.form-group.has-error .help-inline{color:#d16e6c}.form-group.has-warning input,.form-group.has-warning select,.form-group.has-warning textarea{border-color:#e0c43a;color:#d3bd50;-webkit-box-shadow:none;box-shadow:none}.form-group.has-warning input:focus,.form-group.has-warning select:focus,.form-group.has-warning textarea:focus{-webkit-box-shadow:0 0 0 2px rgba(216,188,65,0.3);box-shadow:0 0 0 2px rgba(216,188,65,0.3);color:#875;border-color:#d8bc41}.form-group.has-warning input:focus+[class*="icon-"],.form-group.has-warning select:focus+[class*="icon-"],.form-group.has-warning textarea:focus+[class*="icon-"]{color:#d3bd50}.form-group.has-warning [class*="icon-"]{color:#d3bd50}.form-group.has-warning .btn [class*="icon-"]{color:inherit}.form-group.has-warning .control-label,.form-group.has-warning .help-block,.form-group.has-warning .help-inline{color:#d19d59}.form-group input[disabled],.form-group input:disabled{color:#848484!important;background-color:#eee!important}@media only screen and (max-width:767px){.help-inline,.input-icon+.help-inline{padding-left:0;display:block!important}}.tab-content{border:1px solid #c5d0dc;padding:16px 12px;position:relative;z-index:11}.tab-content.no-padding{padding:0}.tab-content.no-border{border:0;padding:12px}.tab-content.padding-32{padding:32px 24px}.tab-content.no-border.padding-32{padding:32px}.tab-content.padding-30{padding:30px 23px}.tab-content.no-border.padding-30{padding:30px}.tab-content.padding-28{padding:28px 21px}.tab-content.no-border.padding-28{padding:28px}.tab-content.padding-26{padding:26px 20px}.tab-content.no-border.padding-26{padding:26px}.tab-content.padding-24{padding:24px 18px}.tab-content.no-border.padding-24{padding:24px}.tab-content.padding-22{padding:22px 17px}.tab-content.no-border.padding-22{padding:22px}.tab-content.padding-20{padding:20px 15px}.tab-content.no-border.padding-20{padding:20px}.tab-content.padding-18{padding:18px 14px}.tab-content.no-border.padding-18{padding:18px}.tab-content.padding-16{padding:16px 12px}.tab-content.no-border.padding-16{padding:16px}.tab-content.padding-14{padding:14px 11px}.tab-content.no-border.padding-14{padding:14px}.tab-content.padding-12{padding:12px 9px}.tab-content.no-border.padding-12{padding:12px}.tab-content.padding-10{padding:10px 8px}.tab-content.no-border.padding-10{padding:10px}.tab-content.padding-8{padding:8px 6px}.tab-content.no-border.padding-8{padding:8px}.tab-content.padding-6{padding:6px 5px}.tab-content.no-border.padding-6{padding:6px}.tab-content.padding-4{padding:4px 3px}.tab-content.no-border.padding-4{padding:4px}.tab-content.padding-2{padding:2px 2px}.tab-content.no-border.padding-2{padding:2px}.tab-content.padding-0{padding:0}.tab-content.no-border.padding-0{padding:0}.nav-tabs.padding-32{padding-left:32px}.tabs-right>.nav-tabs.padding-32,.tabs-left>.nav-tabs.padding-32{padding-left:0;padding-top:32px}.nav-tabs.padding-30{padding-left:30px}.tabs-right>.nav-tabs.padding-30,.tabs-left>.nav-tabs.padding-30{padding-left:0;padding-top:30px}.nav-tabs.padding-28{padding-left:28px}.tabs-right>.nav-tabs.padding-28,.tabs-left>.nav-tabs.padding-28{padding-left:0;padding-top:28px}.nav-tabs.padding-26{padding-left:26px}.tabs-right>.nav-tabs.padding-26,.tabs-left>.nav-tabs.padding-26{padding-left:0;padding-top:26px}.nav-tabs.padding-24{padding-left:24px}.tabs-right>.nav-tabs.padding-24,.tabs-left>.nav-tabs.padding-24{padding-left:0;padding-top:24px}.nav-tabs.padding-22{padding-left:22px}.tabs-right>.nav-tabs.padding-22,.tabs-left>.nav-tabs.padding-22{padding-left:0;padding-top:22px}.nav-tabs.padding-20{padding-left:20px}.tabs-right>.nav-tabs.padding-20,.tabs-left>.nav-tabs.padding-20{padding-left:0;padding-top:20px}.nav-tabs.padding-18{padding-left:18px}.tabs-right>.nav-tabs.padding-18,.tabs-left>.nav-tabs.padding-18{padding-left:0;padding-top:18px}.nav-tabs.padding-16{padding-left:16px}.tabs-right>.nav-tabs.padding-16,.tabs-left>.nav-tabs.padding-16{padding-left:0;padding-top:16px}.nav-tabs.padding-14{padding-left:14px}.tabs-right>.nav-tabs.padding-14,.tabs-left>.nav-tabs.padding-14{padding-left:0;padding-top:14px}.nav-tabs.padding-12{padding-left:12px}.tabs-right>.nav-tabs.padding-12,.tabs-left>.nav-tabs.padding-12{padding-left:0;padding-top:12px}.nav-tabs.padding-10{padding-left:10px}.tabs-right>.nav-tabs.padding-10,.tabs-left>.nav-tabs.padding-10{padding-left:0;padding-top:10px}.nav-tabs.padding-8{padding-left:8px}.tabs-right>.nav-tabs.padding-8,.tabs-left>.nav-tabs.padding-8{padding-left:0;padding-top:8px}.nav-tabs.padding-6{padding-left:6px}.tabs-right>.nav-tabs.padding-6,.tabs-left>.nav-tabs.padding-6{padding-left:0;padding-top:6px}.nav-tabs.padding-4{padding-left:4px}.tabs-right>.nav-tabs.padding-4,.tabs-left>.nav-tabs.padding-4{padding-left:0;padding-top:4px}.nav-tabs.padding-2{padding-left:2px}.tabs-right>.nav-tabs.padding-2,.tabs-left>.nav-tabs.padding-2{padding-left:0;padding-top:2px}.nav-tabs{border-color:#c5d0dc;margin-bottom:0;margin-left:0;position:relative;top:1px}.nav-tabs>li>a{padding:8px 12px}.nav-tabs>li>a,.nav-tabs>li>a:focus{border-radius:0!important;background-color:#f9f9f9;color:#999;margin-right:-1px;line-height:16px;position:relative;z-index:11;border-color:#c5d0dc}.nav-tabs>li>a:hover{background-color:#FFF;color:#4c8fbd;border-color:#c5d0dc}.nav-tabs>li>a:active,.nav-tabs>li>a:focus{outline:none!important}.nav-tabs>li:first-child>a{margin-left:0}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#576373;border-color:#c5d0dc;border-top:2px solid #4c8fbd;border-bottom-color:transparent;background-color:#FFF;z-index:12;line-height:16px;margin-top:-1px;box-shadow:0 -2px 3px 0 rgba(0,0,0,0.15)}.tabs-below>.nav-tabs{top:auto;margin-bottom:0;margin-top:-1px;border-color:#c5d0dc;border-bottom-width:0}.tabs-below>.nav-tabs>li>a,.tabs-below>.nav-tabs>li>a:hover,.tabs-below>.nav-tabs>li>a:focus{border-color:#c5d0dc}.tabs-below>.nav-tabs>li.active>a,.tabs-below>.nav-tabs>li.active>a:hover,.tabs-below>.nav-tabs>li.active>a:focus{border-color:#c5d0dc;border-top-width:1px;border-bottom:2px solid #4c8fbd;border-top-color:transparent;margin-top:0;box-shadow:0 2px 3px 0 rgba(0,0,0,0.15)}.tabs-left>.nav-tabs>li>a,.tabs-right>.nav-tabs>li>a{min-width:60px}.tabs-left>.nav-tabs{top:auto;margin-bottom:0;border-color:#c5d0dc;float:left}.tabs-left>.nav-tabs>li{float:none}.tabs-left>.nav-tabs>li>a,.tabs-left>.nav-tabs>li>a:focus,.tabs-left>.nav-tabs>li>a:hover{border-color:#c5d0dc;margin:0 -1px 0 0}.tabs-left>.nav-tabs>li.active>a,.tabs-left>.nav-tabs>li.active>a:focus,.tabs-left>.nav-tabs>li.active>a:hover{border-color:#c5d0dc;border-top-width:1px;border-left:2px solid #4c8fbd;border-right-color:transparent;margin:0 -1px 0 -1px;-webkit-box-shadow:-2px 0 3px 0 rgba(0,0,0,0.15);box-shadow:-2px 0 3px 0 rgba(0,0,0,0.15)}.tabs-right>.nav-tabs{top:auto;margin-bottom:0;border-color:#c5d0dc;float:right}.tabs-right>.nav-tabs>li{float:none}.tabs-right>.nav-tabs>li>a,.tabs-right>.nav-tabs>li>a:focus,.tabs-right>.nav-tabs>li>a:hover{border-color:#c5d0dc;margin:0 -1px}.tabs-right>.nav-tabs>li.active>a,.tabs-right>.nav-tabs>li.active>a:focus,.tabs-right>.nav-tabs>li.active>a:hover{border-color:#c5d0dc;border-top-width:1px;border-right:2px solid #4c8fbd;border-left-color:transparent;margin:0 -2px 0 -1px;-webkit-box-shadow:2px 0 3px 0 rgba(0,0,0,0.15);box-shadow:2px 0 3px 0 rgba(0,0,0,0.15)}.nav-tabs>li>a>.badge{padding:0 4px;line-height:15px;opacity:.7}.nav-tabs>li>a>[class*="icon-"]{opacity:.75}.nav-tabs>li.active>a>.badge,.nav-tabs>li.active>a>[class*="icon-"]{opacity:1}.nav-tabs li [class*=" icon-"],.nav-tabs li [class^="icon-"]{width:1.25em;display:inline-block;text-align:center}.nav-tabs>li.open .dropdown-toggle{background-color:#4f99c6;border-color:#4f99c6;color:#FFF}.nav-tabs>li.open .dropdown-toggle>[class*="icon-"]{color:#FFF!important}.tabs-left .tab-content,.tabs-right .tab-content{overflow:auto}.nav-pills .open .dropdown-toggle,.nav>li.dropdown.open.active>a:hover,.nav>li.dropdown.open.active>a:focus{background-color:#4f99c6;border-color:#4f99c6;color:#fff}.nav-pills .open .dropdown-toggle>[class*="icon-"],.nav>li.dropdown.open.active>a:hover>[class*="icon-"],.nav>li.dropdown.open.active>a:focus>[class*="icon-"]{color:#FFF!important}.nav-tabs>li:not(.active):not(.open)>a:not(:hover)>[class*="icon-"]:first-child.disabled{color:#909090!important}.nav-tabs.tab-size-bigger>li>a{padding-left:14px;padding-right:14px}.nav-tabs.tab-size-bigger>li>a>[class*="icon-"]:first-child{display:block;margin-bottom:6px;width:auto}.nav-tabs.tab-space-1>li>a{margin-right:1px}.nav-tabs.tab-space-2>li>a{margin-right:2px}.nav-tabs.tab-space-3>li>a{margin-right:3px}.nav-tabs.tab-space-4>li>a{margin-right:4px}.nav-tabs[class*="tab-color-"]>li>a,.nav-tabs[class*="tab-color-"]>li>a:focus,.nav-tabs[class*="tab-color-"]>li>a:hover{color:#FFF;border-color:transparent;margin-right:3px}.nav-tabs[class*="tab-color-"]>li>a>.badge{border-radius:2px}.nav-tabs[class*="tab-color-"]>li:not(.active)>a:hover{opacity:.85;border-color:rgba(0,0,0,0.15);border-bottom-color:transparent}.nav-tabs[class*="tab-color-"]>li:not(.active)>a>[class*="icon-"]:first-child{color:#FFF!important}.nav-tabs[class*="tab-color-"]>li:not(.active)>a>.badge{color:rgba(0,0,0,0.4)!important;background-color:#FFF!important;border-radius:2px}.nav-tabs.tab-color-blue>li>a,.nav-tabs.tab-color-blue>li>a:focus{background-color:#7db4d8}.nav-tabs[class*="tab-color-"]>li.active>a,.nav-tabs[class*="tab-color-"]>li.active>a:focus,.nav-tabs[class*="tab-color-"]>li.active>a:hover{background-color:#FFF;color:#4f80a0;box-shadow:none}.nav-tabs.tab-color-blue>li.active>a,.nav-tabs.tab-color-blue>li.active>a:focus,.nav-tabs.tab-color-blue>li.active>a:hover{color:#4c718a;border-color:#7db4d8 #7db4d8 transparent}.tabs-below .nav-tabs.tab-color-blue>li.active>a{border-color:transparent #7db4d8 #7db4d8}.nav-tabs.tab-color-blue{border-bottom-color:#c5d0dc}.nav-tabs.background-blue{padding-top:6px;background-color:#eff3f8;border:1px solid #c5d0dc}.tabs-below .nav-tabs.background-blue{padding-top:0;padding-bottom:6px}.tabs-below .nav-tabs.tab-color-blue{border-top:0;border-bottom-color:#c5d0dc}.accordion-style1.panel-group .panel{border-radius:0;border-color:#cdd8e3;background-color:#FFF;box-shadow:none}.accordion-style1.panel-group .panel:last-child{border-bottom-width:1px}.accordion-style1.panel-group .panel .collapse{background-color:#FFF}.accordion-style1.panel-group .panel+.panel{margin-top:2px}.accordion-style1.panel-group .panel-heading+.panel-collapse .panel-body{border-top-color:#cdd8e3!important}.accordion-style1.panel-group .panel-heading{padding:0}.accordion-style1.panel-group .panel-heading .accordion-toggle{color:#4c8fbd;background-color:#eef4f9;position:relative;font-weight:bold;font-size:13px;line-height:1;padding:10px;display:block}.accordion-style1.panel-group .panel-heading .accordion-toggle.collapsed{color:#478fca;font-weight:normal;background-color:#f9f9f9}.accordion-style1.panel-group .panel-heading .accordion-toggle:hover{color:#6ea6cc;background-color:#f1f8fd;text-decoration:none}.accordion-style1.panel-group .panel-heading .accordion-toggle:focus,.accordion-style1.panel-group .panel-heading .accordion-toggle:active{outline:0;text-decoration:none}.accordion-style1.panel-group .panel-heading .accordion-toggle>[class*="icon-"]:first-child{width:16px}.accordion-style1.panel-group .panel-heading .accordion-toggle:hover>[class*="icon-"]:first-child{text-decoration:none}.accordion-style1.panel-group .panel-body,.accordion-style1.panel-group .collapse.in>.panel-body{border-top:1px solid #cdd8e3}.accordion-style1.panel-group.no-padding{padding:0}.accordion-style2.panel-group .panel{border-width:0}.accordion-style2.panel-group .panel:last-child{border-bottom-width:0}.accordion-style2.panel-group .panel+.panel{margin-top:4px}.accordion-style2.panel-group .panel .panel-body{border-top:0}.accordion-style2.panel-group .panel-heading .accordion-toggle{background-color:#edf3f7;border:2px solid #6eaed1;border-width:0 0 0 2px}.accordion-style2.panel-group .panel-heading .accordion-toggle:hover{text-decoration:none}.accordion-style2.panel-group .panel-heading .accordion-toggle.collapsed{background-color:#f3f3f3;color:#606060;border-width:0 0 0 1px;border-color:#d9d9d9}.accordion-style2.panel-group .panel-heading .accordion-toggle.collapsed:hover{background-color:#f6f6f6;color:#438eb9;text-decoration:none}.accordion-style2.panel-group .panel-body,.accordion-style2.panel-group .collapse.in>.panel-body{border-top:0}.accordion-style2.panel-group .accordion-style2.panel-group .panel{border-bottom:1px dotted #d9d9d9}.accordion-style2.panel-group .accordion-style2.panel-group .panel:last-child{border-bottom:0}.accordion-style2.panel-group .accordion-style2.panel-group .panel .panel-heading,.accordion-style2.panel-group .accordion-style2.panel-group .panel .panel-heading .accordion-toggle{background-color:transparent;border-width:0;font-size:13px;padding-top:6px;padding-bottom:8px}.accordion-style2.panel-group .accordion-style2.panel-group .panel .panel-heading{padding-top:0;padding-bottom:0}th,td,.table-bordered{border-radius:0!important}.table thead tr{color:#707070;font-weight:normal;background:#f2f2f2;background-image:-webkit-gradient(linear,left 0,left 100%,from(#f8f8f8),to(#ececec));background-image:-webkit-linear-gradient(top,#f8f8f8,0%,#ececec,100%);background-image:-moz-linear-gradient(top,#f8f8f8 0,#ececec 100%);background-image:linear-gradient(to bottom,#f8f8f8 0,#ececec 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff8f8f8',endColorstr='#ffececec',GradientType=0)}.table thead tr th{border-color:#DDD;font-weight:bold}.table thead tr th [class*="icon-"]:first-child{margin-right:2px}.table thead tr th:first-child{border-left-color:#f1f1f1}.table thead tr th:left-child{border-right-color:#f1f1f1}.table.table-bordered thead tr th{vertical-align:middle}.table.table-bordered thead tr th:first-child{border-left-color:#DDD}th.center,td.center{text-align:center}th .lbl,td .lbl{margin-bottom:0}th .lbl:only-child,td .lbl:only-child{vertical-align:top}.table-header{background-color:#307ecc;color:#FFF;font-size:14px;line-height:38px;padding-left:12px;margin-bottom:1px}.table-header .close{margin-right:8px;margin-top:0;opacity:.45;filter:alpha(opacity=45)}.table-header .close:hover{opacity:.75;filter:alpha(opacity=75)}.dataTables_length select{width:70px;height:25px;padding:2px 3px}.dataTables_length label{font-weight:normal}.dataTables_filter{text-align:right}.dataTables_filter input[type=text]{width:125px;height:18px;line-height:18px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;padding:4px 6px}.dataTables_filter label{font-weight:normal}.dataTables_info{font-size:14px}.dataTables_paginate{text-align:right}.dataTables_paginate .pagination{margin:0 12px}.dataTables_wrapper label{display:inline-block;font-size:13px}.dataTables_wrapper input[type=text],.dataTables_wrapper select{margin-bottom:0!important;margin:0 4px}.dataTables_wrapper .row{margin:0}.dataTables_wrapper .row:first-child{padding-top:12px;padding-bottom:12px;background-color:#eff3f8}.dataTables_wrapper .row:first-child+.dataTable{border-top:1px solid #DDD;border-bottom:1px solid #DDD}.dataTables_wrapper .row:last-child{border-top:1px solid #DDD;padding-top:12px;padding-bottom:12px;background-color:#eff3f8;border-bottom:1px solid #DDD}.dataTable{margin-bottom:0}.dataTable th[class*=sort]{cursor:pointer}.dataTable th[class*=sort]:after{content:"\f0dc";display:inline-block;color:#555;font-family:FontAwesome;font-size:13px;font-weight:normal;float:right;margin-right:4px;position:relative}.dataTable th[class*=sort]:hover{color:#547ea8}.dataTable th[class*=sorting_]{color:#307ecc}.dataTable th.sorting_desc,.dataTable th.sorting_asc{background-image:-webkit-gradient(linear,left 0,left 100%,from(#eff3f8),to(#e3e7ed));background-image:-webkit-linear-gradient(top,#eff3f8,0%,#e3e7ed,100%);background-image:-moz-linear-gradient(top,#eff3f8 0,#e3e7ed 100%);background-image:linear-gradient(to bottom,#eff3f8 0,#e3e7ed 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffeff3f8',endColorstr='#ffe3e7ed',GradientType=0)}.dataTable th.sorting_desc:after{content:"\f0dd";top:-6px;color:#307ecc}.dataTable th.sorting_asc:after{content:"\f0de";top:4px;color:#307ecc}.dataTable th.sorting_disabled{cursor:inherit}.dataTable th.sorting_disabled:after{display:none}.widget-box{padding:0;-webkit-box-shadow:none;box-shadow:none;margin:3px 0;border-bottom:1px solid #CCC}@media only screen and (max-width:767px){.widget-box{margin-top:7px;margin-bottom:7px}}.widget-header{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;position:relative;min-height:38px;background:#f7f7f7;background-image:-webkit-gradient(linear,left 0,left 100%,from(#fff),to(#eee));background-image:-webkit-linear-gradient(top,#fff,0%,#eee,100%);background-image:-moz-linear-gradient(top,#fff 0,#eee 100%);background-image:linear-gradient(to bottom,#fff 0,#eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffeeeeee',GradientType=0);color:#669fc7;border:1px solid #CCC;border-bottom:1px solid #DDD;padding-left:12px}.widget-header:before,.widget-header:after{content:"";display:table;line-height:0}.widget-header:after{clear:right}.collapsed .widget-header{border-bottom-width:0}.collapsed .widget-body{display:none}.widget-header-flat{background:#f7f7f7;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.widget-header-large{min-height:49px;padding-left:18px}.widget-header-small{min-height:31px;padding-left:10px}.widget-header>.widget-caption,.widget-header>:first-child{line-height:36px;padding:0;margin:0;display:inline}.widget-header>.widget-caption>[class*="icon-"],.widget-header>:first-child>[class*="icon-"]{margin-right:5px;font-weight:normal;display:inline-block}.widget-header-large>.widget-caption,.widget-header-large>:first-child{line-height:48px}.widget-header-small>.widget-caption,.widget-header-small>:first-child{line-height:30px}.widget-toolbar{display:inline-block;padding:0 10px;line-height:37px;float:right;position:relative}.widget-header-large>.widget-toolbar{line-height:48px}.widget-header-small>.widget-toolbar{line-height:29px}.widget-toolbar.no-padding{padding:0}.widget-toolbar.padding-5{padding:0 5px}.widget-toolbar:before{display:inline-block;content:"";position:absolute;top:3px;bottom:3px;left:-1px;border:1px solid #d9d9d9;border-width:0 1px 0 0}.widget-header-large>.widget-toolbar:before{top:6px;bottom:6px}[class*="header-color-"]>.widget-toolbar:before{border-color:#EEE}.header-color-orange>.widget-toolbar:before{border-color:#FEA}.header-color-dark>.widget-toolbar:before{border-color:#222;box-shadow:-1px 0 0 rgba(255,255,255,0.2),inset 1px 0 0 rgba(255,255,255,0.1)}.widget-toolbar.no-border:before{display:none}.widget-toolbar label{display:inline-block;vertical-align:middle;margin-bottom:0}.widget-toolbar>a{font-size:14px;margin:0 1px;display:inline-block;padding:0;line-height:24px}.widget-toolbar>a:hover{text-decoration:none}.widget-header-large>.widget-toolbar>a{font-size:15px;margin:0 1px}.widget-toolbar>.btn{line-height:27px;margin-top:-2px}.widget-toolbar>.btn.smaller{line-height:26px}.widget-toolbar>.btn.bigger{line-height:28px}.widget-toolbar>.btn-sm{line-height:24px}.widget-toolbar>.btn-sm.smaller{line-height:23px}.widget-toolbar>.btn-sm.bigger{line-height:25px}.widget-toolbar>.btn-xs{line-height:22px}.widget-toolbar>.btn-xs.smaller{line-height:21px}.widget-toolbar>.btn-xs.bigger{line-height:23px}.widget-toolbar>.btn-minier{line-height:18px}.widget-toolbar>.btn-minier.smaller{line-height:17px}.widget-toolbar>.btn-minier.bigger{line-height:19px}.widget-toolbar>.btn-lg{line-height:36px}.widget-toolbar>.btn-lg.smaller{line-height:34px}.widget-toolbar>.btn-lg.bigger{line-height:38px}.widget-toolbar-dark{background:#444}.widget-toolbar-light{background:rgba(255,255,255,0.85)}.widget-toolbar>[data-action]>[class*="icon-"]{margin-right:0}.widget-toolbar>[data-action]:focus{text-decoration:none}[class*="header-color-"]>.widget-toolbar>[data-action]{text-shadow:0 1px 1px rgba(0,0,0,0.2)}[class*="header-color-"]>.widget-toolbar>[data-action="settings"]{color:#d3e4ed}[class*="header-color-"]>.widget-toolbar>[data-action="reload"]{color:#deead3}[class*="header-color-"]>.widget-toolbar>[data-action="collapse"]{color:#e2e2e2}[class*="header-color-"]>.widget-toolbar>[data-action="close"]{color:#ffd9d5}.header-color-orange>.widget-toolbar>[data-action]{text-shadow:none}.header-color-orange>.widget-toolbar>[data-action="settings"]{color:#559aab}.header-color-orange>.widget-toolbar>[data-action="reload"]{color:#7ca362}.header-color-orange>.widget-toolbar>[data-action="collapse"]{color:#777}.header-color-orange>.widget-toolbar>[data-action="close"]{color:#a05656}.widget-toolbar>[data-action="settings"],.header-color-dark>.widget-toolbar>[data-action="settings"]{color:#99cadb}.widget-toolbar>[data-action="reload"],.header-color-dark>.widget-toolbar>[data-action="reload"]{color:#acd392}.widget-toolbar>[data-action="collapse"],.header-color-dark>.widget-toolbar>[data-action="collapse"]{color:#aaa}.widget-toolbar>[data-action="close"],.header-color-dark>.widget-toolbar>[data-action="close"]{color:#e09e96}.widget-body{border:1px solid #CCC;border-top:0;background-color:#FFF}.widget-main{padding:12px}.widget-main.padding-32{padding:32px}.widget-main.padding-30{padding:30px}.widget-main.padding-28{padding:28px}.widget-main.padding-26{padding:26px}.widget-main.padding-24{padding:24px}.widget-main.padding-22{padding:22px}.widget-main.padding-20{padding:20px}.widget-main.padding-18{padding:18px}.widget-main.padding-16{padding:16px}.widget-main.padding-14{padding:14px}.widget-main.padding-12{padding:12px}.widget-main.padding-10{padding:10px}.widget-main.padding-8{padding:8px}.widget-main.padding-6{padding:6px}.widget-main.padding-4{padding:4px}.widget-main.padding-2{padding:2px}.widget-main.padding-0{padding:0}.widget-main.no-padding{padding:0}.widget-toolbar .progress{vertical-align:middle;display:inline-block;margin:0}.widget-toolbar>.dropdown,.widget-toolbar>.dropup{display:inline-block}.widget-toolbar>.dropdown>.dropdown-menu:before,.dropdown-menu.dropdown-caret:before{border-bottom:7px solid rgba(0,0,0,0.2);border-left:7px solid transparent;border-right:7px solid transparent;content:"";display:inline-block;left:9px;position:absolute;top:-7px}.widget-toolbar>.dropdown>.dropdown-menu:after,.dropdown-menu.dropdown-caret:after{border-bottom:6px solid #fff;border-left:6px solid transparent;border-right:6px solid transparent;content:"";display:inline-block;left:10px;position:absolute;top:-6px}.widget-toolbar>.dropdown>.dropdown-menu.pull-right:before,.dropdown-menu.pull-right.dropdown-caret:before{left:auto;right:9px}.widget-toolbar>.dropdown>.dropdown-menu.pull-right:after,.dropdown-menu.pull-right.dropdown-caret:after{left:auto;right:10px}.widget-header[class*="header-color-"]{color:#FFF;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.header-color-blue{background:#307ecc;border-color:#307ecc}.header-color-blue+.widget-body{border-color:#307ecc}.header-color-blue2{background:#5090c1;border-color:#5090c1}.header-color-blue2+.widget-body{border-color:#5090c1}.header-color-blue3{background:#6379aa;border-color:#6379aa}.header-color-blue3+.widget-body{border-color:#6379aa}.header-color-green{background:#82af6f;border-color:#82af6f}.header-color-green+.widget-body{border-color:#82af6f}.header-color-green2{background:#2e8965;border-color:#2e8965}.header-color-green2+.widget-body{border-color:#2e8965}.header-color-green3{background:#4ebc30;border-color:#4ebc30}.header-color-green3+.widget-body{border-color:#4ebc30}.header-color-red{background:#e2755f;border-color:#e2755f}.header-color-red+.widget-body{border-color:#e2755f}.header-color-red2{background:#e04141;border-color:#e04141}.header-color-red2+.widget-body{border-color:#e04141}.header-color-red3{background:#d15b47;border-color:#d15b47}.header-color-red3+.widget-body{border-color:#d15b47}.header-color-purple{background:#7e6eb0;border-color:#7e6eb0}.header-color-purple+.widget-body{border-color:#7e6eb0}.header-color-pink{background:#ce6f9e;border-color:#ce6f9e}.header-color-pink+.widget-body{border-color:#ce6f9e}.header-color-orange{background:#ffc657;border-color:#e8b10d;color:#855d10!important}.header-color-orange+.widget-body{border-color:#e8b10d}.header-color-dark{background:#404040;border-color:#454545}.header-color-dark+.widget-body{border-color:#666}.header-color-grey{background:#848484;border-color:#989898}.header-color-grey+.widget-body{border-color:#aaa}.widget-box.light-border>[class*="header-color-"]+.widget-body{border-color:#d6d6d6!important}.widget-box.no-border{border-bottom:0}.widget-box.no-border>.widget-body{border:0}.widget-box.transparent{border:0;box-shadow:none}.widget-box.transparent>.widget-header{background:0;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);border:0;border-bottom:1px solid #dce8f1;color:#4383b4;padding-left:3px}.widget-box.transparent>.widget-header-large{padding-left:5px}.widget-box.transparent>.widget-header-small{padding-left:1px}.widget-box.transparent .widget-body{border:0;background-color:transparent}.widget-box.transparent .widget-main.no-padding-left{padding-left:0}.widget-box.transparent .widget-main.no-padding-right{padding-right:0}.widget-box.transparent .widget-main.no-padding-top{padding-top:0}.widget-box.transparent .widget-main.no-padding-bottom{padding-bottom:0}.widget-body .table{border-top:1px solid #e5e5e5}.widget-body .table thead:first-child tr{background:#FFF}[class*="header-color-"]+.widget-body .table thead:first-child tr{background:#f2f2f2;background-image:-webkit-gradient(linear,left 0,left 100%,from(#f8f8f8),to(#ececec));background-image:-webkit-linear-gradient(top,#f8f8f8,0%,#ececec,100%);background-image:-moz-linear-gradient(top,#f8f8f8 0,#ececec 100%);background-image:linear-gradient(to bottom,#f8f8f8 0,#ececec 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff8f8f8',endColorstr='#ffececec',GradientType=0)}.widget-body .table.table-bordered thead:first-child>tr{border-top:0}.widget-main.no-padding .table,.widget-main.padding-0 .table{margin-bottom:0;border:0}.widget-main.no-padding .table-bordered th:first-child,.widget-main.padding-0 .table-bordered th:first-child,.widget-main.no-padding .table-bordered td:first-child,.widget-main.padding-0 .table-bordered td:first-child{border-left-width:0}.transparent .widget-main .table-bordered>thead>tr>th:last-child,.widget-main.no-padding .table-bordered>thead>tr>th:last-child,.transparent .widget-main .table-bordered>tbody>tr>td:last-child,.widget-main.no-padding .table-bordered>tbody>tr>td:last-child,.transparent .widget-main .table-bordered>tfoot>tr>td:last-child,.widget-main.no-padding .table-bordered>tfoot>tr>td:last-child{border-right-width:0!important}.transparent .widget-main .table-bordered>tbody>tr:last-child>td,.widget-main.no-padding .table-bordered>tbody>tr:last-child>td{border-bottom-width:0!important}.table-bordered>thead.thin-border-bottom>tr>th,.table-bordered>thead.thin-border-bottom>tr>td{border-bottom-width:1px}.widget-body .alert:last-child{margin-bottom:0}.widget-main .tab-content{border:0}.widget-toolbar>.nav-tabs{border-bottom:0;margin-bottom:0;position:relative;top:5px}.widget-toolbar>.nav-tabs>li>a{box-shadow:none}.widget-toolbar>.nav-tabs>li:not(.active)>a{border-color:transparent;background-color:transparent}.widget-toolbar>.nav-tabs>li:not(.active)>a:hover{background-color:transparent}.widget-toolbar>.nav-tabs>li.active>a{background-color:#FFF;border-bottom-color:transparent;box-shadow:none}.widget-header-small>.widget-toolbar>.nav-tabs{top:5px}.widget-header-small>.widget-toolbar>.nav-tabs>li>a{line-height:16px;padding-top:6px;padding-bottom:6px}.widget-header-small>.widget-toolbar>.nav-tabs>li.active>a{border-top-width:2px;margin-top:-1px}.widget-header-large>.widget-toolbar>.nav-tabs{top:8px}.widget-header-large>.widget-toolbar>.nav-tabs>li>a{line-height:22px;padding-top:9px;padding-bottom:9px}[class*="header-color-"]>.widget-toolbar>.nav-tabs>li>a{border-color:transparent;background-color:transparent;color:#FFF;margin-right:1px}[class*="header-color-"]>.widget-toolbar>.nav-tabs>li>a:hover{background-color:#FFF;color:#555;border-top-color:#FFF}[class*="header-color-"]>.widget-toolbar>.nav-tabs>li.active>a{background-color:#FFF;color:#555;border-top-width:1px;margin-top:0}.header-color-orange>.widget-toolbar>.nav-tabs>li>a{color:#855d10}.transparent .widget-toolbar>.nav-tabs>li>a{color:#555;background-color:transparent;border-right:1px solid transparent;border-left:1px solid transparent}.transparent .widget-toolbar>.nav-tabs>li.active>a{border-top-color:#4c8fbd;border-right:1px solid #c5d0dc;border-left:1px solid #c5d0dc;background-color:#FFF;box-shadow:none}.widget-toolbox{background-color:#EEE}.widget-toolbox:first-child{padding:2px;border-bottom:1px solid #CCC}.widget-toolbox:last-child{padding:2px;border-top:1px solid #CCC}.transparent .widget-toolbox:last-child{border:0;border-top:1px solid #CCC}.widget-toolbox>.btn-toolbar{margin:0;padding:0}.widget-toolbox.center{text-align:center}.widget-toolbox.padding-16{padding:16px}.widget-toolbox.padding-14{padding:14px}.widget-toolbox.padding-12{padding:12px}.widget-toolbox.padding-10{padding:10px}.widget-toolbox.padding-8{padding:8px}.widget-toolbox.padding-6{padding:6px}.widget-toolbox.padding-4{padding:4px}.widget-toolbox.padding-2{padding:2px}.widget-toolbox.padding-0{padding:0}.widget-box-overlay{position:absolute;top:0;bottom:0;right:0;left:0;background-color:rgba(0,0,0,0.3);z-index:21}.widget-box-overlay>[class*="icon-"]{position:absolute;top:15%;left:0;right:0;text-align:center}.widget-box.collapsed .widget-box-overlay>[class*="icon-"]{top:5%}.widget-box-overlay>.icon-spin{-moz-animation-duration:1.2s;-webkit-animation-duration:1.2s;-o-animation-duration:1.2s;-ms-animation-duration:1.2s;animation-duration:1.2s}.widget-main>form{margin-bottom:0}.widget-main>form .input-append,.widget-main>form .input-prepend{margin-bottom:0}.widget-main.no-padding>form>fieldset,.widget-main.padding-0>form>fieldset{padding:16px}.widget-main.no-padding>form>fieldset+.form-actions,.widget-main.padding-0>form>fieldset+.form-actions{padding:10px 0 12px}.widget-main.no-padding>form>.form-actions,.widget-main.padding-0>form>.form-actions{margin:0;padding:10px 12px 12px}.widget-placeholder{border:2px dashed #d9d9d9}.tooltip.in{opacity:1;filter:alpha(opacity=100)}.tooltip-inner{background-color:#333;color:#FFF;font-size:12px;text-shadow:1px 1px 0 rgba(42,45,50,0.5);border-radius:0;padding:5px 9px}.tooltip.top .tooltip-arrow{border-top-color:#333}.tooltip.right .tooltip-arrow{border-right-color:#333}.tooltip.left .tooltip-arrow{border-left-color:#333}.tooltip.bottom .tooltip-arrow{border-bottom-color:#333}.tooltip-error+.tooltip>.tooltip-inner{background-color:#c94d32;color:#FFF;text-shadow:1px 1px 0 rgba(100,60,20,0.3);border-radius:0}.tooltip-error+.tooltip.top .tooltip-arrow{border-top-color:#c94d32}.tooltip-error+.tooltip.right .tooltip-arrow{border-right-color:#c94d32}.tooltip-error+.tooltip.left .tooltip-arrow{border-left-color:#c94d32}.tooltip-error+.tooltip.bottom .tooltip-arrow{border-bottom-color:#c94d32}.tooltip-success+.tooltip>.tooltip-inner{background-color:#629b58;color:#FFF;text-shadow:1px 1px 0 rgba(60,100,20,0.3);border-radius:0}.tooltip-success+.tooltip.top .tooltip-arrow{border-top-color:#629b58}.tooltip-success+.tooltip.right .tooltip-arrow{border-right-color:#629b58}.tooltip-success+.tooltip.left .tooltip-arrow{border-left-color:#629b58}.tooltip-success+.tooltip.bottom .tooltip-arrow{border-bottom-color:#629b58}.tooltip-warning+.tooltip>.tooltip-inner{background-color:#ed9421;color:#FFF;text-shadow:1px 1px 0 rgba(100,90,10,0.3);border-radius:0}.tooltip-warning+.tooltip.top .tooltip-arrow{border-top-color:#ed9421}.tooltip-warning+.tooltip.right .tooltip-arrow{border-right-color:#ed9421}.tooltip-warning+.tooltip.left .tooltip-arrow{border-left-color:#ed9421}.tooltip-warning+.tooltip.bottom .tooltip-arrow{border-bottom-color:#ed9421}.tooltip-info+.tooltip>.tooltip-inner{background-color:#4b89aa;color:#FFF;text-shadow:1px 1px 0 rgba(40,50,100,0.3);border-radius:0}.tooltip-info+.tooltip.top .tooltip-arrow{border-top-color:#4b89aa}.tooltip-info+.tooltip.right .tooltip-arrow{border-right-color:#4b89aa}.tooltip-info+.tooltip.left .tooltip-arrow{border-left-color:#4b89aa}.tooltip-info+.tooltip.bottom .tooltip-arrow{border-bottom-color:#4b89aa}.popover{border-radius:0;padding:0;border-color:#ccc;border-width:1px;-webkit-box-shadow:0 0 4px 2px rgba(0,0,0,0.2);box-shadow:0 0 4px 2px rgba(0,0,0,0.2);color:#4d6883}.popover-title{border-radius:0;background-color:#eff3f8;color:#555;border-bottom:1px solid #dfe3e8;text-shadow:1px 1px 1px rgba(220,220,220,0.2)}.popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#eff3f8;border-top-width:0}.tooltip-error+.popover{color:#555;border:1px solid #f7f0ef}.tooltip-error+.popover .popover-title{background-color:#f7f0ef;border-bottom-color:#e8e0df;color:#b75445;text-shadow:none}.tooltip-warning+.popover{color:#555;border:1px solid #f4eee3}.tooltip-warning+.popover .popover-title{background-color:#f4eee3;border-bottom-color:#e4dcd3;color:#d67e31;text-shadow:none}.tooltip-success+.popover{color:#555;border:1px solid #e8f2e3}.tooltip-success+.popover .popover-title{background-color:#e8f2e3;border-bottom-color:#d8e2d3;color:#629b58;text-shadow:none}.tooltip-info+.popover{color:#555;border:1px solid #e5edf8}.tooltip-info+.popover .popover-title{background-color:#e5edf8;border-bottom-color:#d5dde8;color:#3f79b6;text-shadow:none}.popover-notitle+.popover .popover-title{display:none}.popover-notitle+.popover.top .arrow:after{border-top-color:#FFF}.popover-notitle+.popover.bottom .arrow:after{border-bottom-color:#FFF}.popover-notitle+.popover.left .arrow:after{border-left-color:#FFF}.popover-notitle+.popover.right .arrow:after{border-left-color:#FFF}.progress{border-radius:0;-webkit-box-shadow:none;box-shadow:none;background:#dadada;height:18px}.progress .progress-bar{-webkit-box-shadow:none;box-shadow:none;line-height:18px}.progress[data-percent]{position:relative}.progress[data-percent]:after{display:inline-block;content:attr(data-percent);color:#FFF;position:absolute;left:0;right:0;top:0;bottom:0;line-height:16px;text-align:center;font-size:12px;font-family:Verdana}.progress.progress-yellow[data-percent]:after{color:#963}.progress.progress-small{height:12px}.progress.progress-small .progress-bar{line-height:10px;font-size:11px}.progress.progress-small[data-percent]:after{line-height:10px;font-size:11px}.progress.progress-mini{height:9px}.progress.progress-mini .progress-bar{line-height:8px;font-size:11px}.progress.progress-mini[data-percent]:after{line-height:8px;font-size:11px}.progress-bar{background-color:#2a91d8}.progress-striped .progress-bar{background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#ca5952}.progress-striped .progress-bar-danger{background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-success{background-color:#59a84b}.progress-striped .progress-bar-success{background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f2bb46}.progress-striped .progress-bar-warning{background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-pink{background-color:#d6487e}.progress-striped .progress-bar-pink{background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-purple{background-color:#9585bf}.progress-striped .progress-bar-purple{background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-yellow{background-color:#ffd259}.progress-striped .progress-bar-yellow{background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-inverse{background-color:#404040}.progress-striped .progress-bar-inverse{background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-grey{background-color:#8a8a8a}.progress-striped .progress-bar-grey{background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress{position:relative}.progress:before{display:inline-block;content:"";position:absolute;left:0;right:0;top:0;bottom:0;background:radial-gradient(9px 9px 0deg,circle cover,#0ff 0,rgba(0,0,255,0) 100%,#00f 95%)}.infobox-container{text-align:center;font-size:0}.infobox{display:inline-block;width:210px;height:66px;color:#555;background-color:#FFF;box-shadow:none;border-radius:0;margin:-1px 0 0 -1px;padding:8px 3px 6px 9px;border:1px dotted;border-color:#d8d8d8!important;vertical-align:middle;text-align:left;position:relative}.infobox>.infobox-icon{display:inline-block;vertical-align:top;width:44px}.infobox>.infobox-icon>[class*="icon-"]{display:inline-block;height:42px;margin:0;padding:1px 1px 0 2px;background-color:transparent;border:0;text-align:center;position:relative;border-radius:100%;-webkit-box-shadow:1px 1px 0 rgba(0,0,0,0.2);box-shadow:1px 1px 0 rgba(0,0,0,0.2)}.infobox>.infobox-icon>[class*="icon-"]:before{font-size:24px;display:block;padding:6px 0 7px;width:40px;text-align:center;border-radius:100%;color:rgba(255,255,255,0.9);background-color:rgba(255,255,255,0.2);text-shadow:1px 1px 1px rgba(0,0,0,0.14)}.infobox .infobox-content{color:#555}.infobox .infobox-content:first-child{font-weight:bold}.infobox>.infobox-data{display:inline-block;border:0;border-top-width:0;font-size:13px;text-align:left;line-height:21px;min-width:130px;padding-left:8px;position:relative;top:0}.infobox>.infobox-data>.infobox-data-number{display:block;font-size:22px;margin:2px 0 4px;position:relative;text-shadow:1px 1px 0 rgba(0,0,0,0.15)}.infobox>.infobox-data>.infobox-text{display:block;font-size:16px;margin:2px 0 4px;position:relative;text-shadow:none}.infobox.no-border{border:none!important}@media only screen and (max-width:460px){.infobox{min-width:95%;margin-top:2px;margin-bottom:2px}}.infobox-purple{color:#6f3cc4;border-color:#6f3cc4}.infobox-purple>.infobox-icon>[class*="icon-"]{background-color:#6f3cc4}.infobox-purple.infobox-dark{background-color:#6f3cc4;border-color:#6f3cc4}.infobox-purple2{color:#5f47b0;border-color:#5f47b0}.infobox-purple2>.infobox-icon>[class*="icon-"]{background-color:#5f47b0}.infobox-purple2.infobox-dark{background-color:#5f47b0;border-color:#5f47b0}.infobox-pink{color:#cb6fd7;border-color:#cb6fd7}.infobox-pink>.infobox-icon>[class*="icon-"]{background-color:#cb6fd7}.infobox-pink.infobox-dark{background-color:#cb6fd7;border-color:#cb6fd7}.infobox-blue{color:#6fb3e0;border-color:#6fb3e0}.infobox-blue>.infobox-icon>[class*="icon-"]{background-color:#6fb3e0}.infobox-blue.infobox-dark{background-color:#6fb3e0;border-color:#6fb3e0}.infobox-blue2{color:#3983c2;border-color:#3983c2}.infobox-blue2>.infobox-icon>[class*="icon-"]{background-color:#3983c2}.infobox-blue2.infobox-dark{background-color:#3983c2;border-color:#3983c2}.infobox-blue3{color:#1144eb;border-color:#1144eb}.infobox-blue3>.infobox-icon>[class*="icon-"]{background-color:#1144eb}.infobox-blue3.infobox-dark{background-color:#1144eb;border-color:#1144eb}.infobox-red{color:#d53f40;border-color:#d53f40}.infobox-red>.infobox-icon>[class*="icon-"]{background-color:#d53f40}.infobox-red.infobox-dark{background-color:#d53f40;border-color:#d53f40}.infobox-brown{color:#c67a3e;border-color:#c67a3e}.infobox-brown>.infobox-icon>[class*="icon-"]{background-color:#c67a3e}.infobox-brown.infobox-dark{background-color:#c67a3e;border-color:#c67a3e}.infobox-wood{color:#7b3f25;border-color:#7b3f25}.infobox-wood>.infobox-icon>[class*="icon-"]{background-color:#7b3f25}.infobox-wood.infobox-dark{background-color:#7b3f25;border-color:#7b3f25}.infobox-light-brown{color:#cebea5;border-color:#cebea5}.infobox-light-brown>.infobox-icon>[class*="icon-"]{background-color:#cebea5}.infobox-light-brown.infobox-dark{background-color:#cebea5;border-color:#cebea5}.infobox-orange{color:#e8b110;border-color:#e8b110}.infobox-orange>.infobox-icon>[class*="icon-"]{background-color:#e8b110}.infobox-orange.infobox-dark{background-color:#e8b110;border-color:#e8b110}.infobox-orange2{color:#f79263;border-color:#f79263}.infobox-orange2>.infobox-icon>[class*="icon-"]{background-color:#f79263}.infobox-orange2.infobox-dark{background-color:#f79263;border-color:#f79263}.infobox-green{color:#9abc32;border-color:#9abc32}.infobox-green>.infobox-icon>[class*="icon-"]{background-color:#9abc32}.infobox-green.infobox-dark{background-color:#9abc32;border-color:#9abc32}.infobox-green2{color:#0490a6;border-color:#0490a6}.infobox-green2>.infobox-icon>[class*="icon-"]{background-color:#0490a6}.infobox-green2.infobox-dark{background-color:#0490a6;border-color:#0490a6}.infobox-grey{color:#999;border-color:#999}.infobox-grey>.infobox-icon>[class*="icon-"]{background-color:#999}.infobox-grey.infobox-dark{background-color:#999;border-color:#999}.infobox-black{color:#393939;border-color:#393939}.infobox-black>.infobox-icon>[class*="icon-"]{background-color:#393939}.infobox-black.infobox-dark{background-color:#393939;border-color:#393939}.infobox-dark{margin:1px 1px 0 0;border-color:transparent!important;border:0;color:#FFF;padding:4px}.infobox-dark>.infobox-icon>[class*="icon-"],.infobox-dark>.infobox-icon>[class*="icon-"]:before{background-color:transparent;box-shadow:none;text-shadow:none;border-radius:0;font-size:30px}.infobox-dark>.infobox-icon>[class*="icon-"]:before{opacity:1;filter:alpha(opacity=100)}.infobox-dark .infobox-content{color:#FFF}.infobox>.infobox-progress{padding-top:0;display:inline-block;vertical-align:top;width:44px}.infobox>.infobox-chart{padding-top:0;display:inline-block;vertical-align:text-bottom;width:44px;text-align:center}.infobox>.infobox-chart>.sparkline{font-size:24px}.infobox>.infobox-chart canvas{vertical-align:middle!important}.infobox>.stat{display:inline-block;position:absolute;right:20px;top:11px;text-shadow:none;color:#abbac3;font-size:13px;font-weight:bold;padding-right:18px;padding-top:3px}.infobox>.stat:before{display:inline-block;content:"";width:8px;height:11px;background-color:#abbac3;position:absolute;right:4px;top:7px}.infobox>.stat:after{display:inline-block;content:"";position:absolute;right:1px;top:-8px;border:12px solid transparent;border-width:8px 7px;border-bottom-color:#abbac3}.infobox>.stat.stat-success{color:#77c646}.infobox>.stat.stat-success:before{background-color:#77c646}.infobox>.stat.stat-success:after{border-bottom-color:#77c646}.infobox>.stat.stat-important{color:#e4564f}.infobox>.stat.stat-important:before{background-color:#e4564f;top:3px}.infobox>.stat.stat-important:after{border-top-color:#e4564f;border-bottom-color:transparent;bottom:-6px;top:auto}.infobox.infobox-dark>.stat{color:#FFF}.infobox.infobox-dark>.stat:before{background-color:#e1e5e8}.infobox.infobox-dark>.stat:after{border-bottom-color:#e1e5e8}.infobox.infobox-dark>.stat.stat-success{color:#FFF}.infobox.infobox-dark>.stat.stat-success:before{background-color:#d0e29e}.infobox.infobox-dark>.stat.stat-success:after{border-bottom-color:#d0e29e}.infobox.infobox-dark>.stat.stat-important{color:#FFF}.infobox.infobox-dark>.stat.stat-important:before{background-color:#ff8482;top:3px}.infobox.infobox-dark>.stat.stat-important:after{border-top-color:#ff8482;border-bottom-color:transparent;bottom:-6px;top:auto}.infobox>.badge{position:absolute;right:20px;top:11px;border-radius:0;text-shadow:none;color:#FFF;font-size:11px;font-weight:bold;line-height:15px;height:16px;padding:0 1px}.infobox.infobox-dark>.badge{color:#FFF;background-color:rgba(255,255,255,0.2)!important;border:1px solid #f1f1f1;top:2px;right:2px}.infobox.infobox-dark>.badge.badge-success>[class*="icon-"]{color:#c6e9a1}.infobox.infobox-dark>.badge.badge-important>[class*="icon-"]{color:#ecb792}.infobox.infobox-dark>.badge.badge-warning>[class*="icon-"]{color:#ecb792}.infobox-small{width:135px;height:52px;text-align:left;padding-bottom:5px}.infobox-small>.infobox-icon,.infobox-small>.infobox-chart,.infobox-small>.infobox-progress{display:inline-block;width:40px;max-width:40px;height:42px;line-height:38px;vertical-align:middle}.infobox-small>.infobox-data{display:inline-block;text-align:left;vertical-align:middle;max-width:72px;min-width:0}.infobox-small>.infobox-chart>.sparkline{font-size:14px;margin-left:2px}.percentage{font-size:14px;font-weight:bold;display:inline-block;vertical-align:top}.infobox-small .percentage{font-size:13px;font-weight:normal;margin-top:2px;margin-left:2px}.pricing-box:not(:first-child){padding-left:7px}.pricing-box:not(:last-child){padding-right:7px}.pricing-box .price{font-size:22px;line-height:20px;height:28px;text-align:center;color:#555}.pricing-box .price small{font-size:14px}.pricing-box .btn{font-size:16px}.pricing-box .widget-header{text-align:center;padding-left:0}@media only screen and (max-width:768px){.pricing-box{margin:0;margin-bottom:16px;padding-left:0!important;padding-right:0!important;margin-left:-1px}.pricing-box:nth-child(odd){padding-left:12px!important}.pricing-box:nth-child(even){padding-right:12px!important}}@media only screen and (max-width:460px){.pricing-box{margin:0;margin-bottom:16px;width:100%;padding-left:12px!important;padding-right:12px!important}}.pricing-table-header{padding-top:0;margin-top:0;text-align:left}.pricing-table-header>li{padding:7px 0 7px 11px;font-size:13px}.pricing-table{margin-top:0}.pricing-table>li{text-align:center;padding:7px 0;font-size:13px}.list-striped>li:nth-child(odd){background-color:#FFF}.list-striped>li:nth-child(even){background-color:#f2f3eb}.list-striped.pricing-table-header>li:nth-child(even){background-color:#EEE}.pricing-box-small{box-shadow:none;margin-left:-2px;background-color:#FFF;position:relative;z-index:10}.pricing-box-small .price{line-height:20px;height:28px;text-align:center}.pricing-box-small .price .label:before,.pricing-box-small .price .label:after{margin-top:-2px;opacity:.9;filter:alpha(opacity=90)}.pricing-box-small:hover{box-shadow:0 0 4px 2px rgba(0,0,0,0.15);z-index:11;-webkit-transform:scale(1.04);-ms-transform:scale(1.04);transform:scale(1.04)}.pricing-box-small:hover .price>.label{-webkit-transform:scale(0.96);-ms-transform:scale(0.96);transform:scale(0.96)}.pricing-span{margin:0;width:19%;max-width:150px!important;min-width:110px!important;float:left!important}.pricing-span-header{padding-right:0}@media only screen and (min-width:481px){.pricing-span-body{padding-left:0;padding-right:0}}@media only screen and (max-width:480px){.pricing-span-header,.pricing-span-body{width:100%;padding-right:12px}}.login-container{width:375px;margin:0 auto}.login-layout{background-color:#1d2024}.login-layout .main-container:after{display:none}.login-layout .main-content{margin-left:0;min-height:100%;padding-left:15px;padding-right:15px}.login-layout label{margin-bottom:11px}.login-layout .widget-box{visibility:hidden;position:absolute;overflow:hidden;width:100%;border-bottom:0;box-shadow:none;padding:6px;background-color:#394557;-moz-transform:scale(0,1) translate(-150px);-webkit-transform:scale(0,1) translate(-150px);-o-transform:scale(0,1) translate(-150px);-ms-transform:scale(0,1) translate(-150px);transform:scale(0,1) translate(-150px)}.login-layout .widget-box.visible{visibility:visible;-moz-transform:scale(1,1) translate(0);-webkit-transform:scale(1,1) translate(0);-o-transform:scale(1,1) translate(0);-ms-transform:scale(1,1) translate(0);transform:scale(1,1) translate(0);-webkit-transition:all .3s ease;transition:all .3s ease;-o-transition:none;-webkit-transition:none}.login-layout .widget-box .widget-main{padding:16px 36px 36px;background:#f7f7f7}.login-layout .widget-box .widget-main form{margin:0}.login-layout .widget-box .widget-body .toolbar>div>a{font-size:15px;font-weight:400;text-shadow:1px 0 1px rgba(0,0,0,0.25)}.login-box .forgot-password-link{color:#FE9}.login-box .user-signup-link{color:#CF7}.login-box .toolbar{background:#5090c1;border-top:2px solid #597597}.login-box .toolbar>div{width:50%;display:inline-block;padding:9px 0 11px}.login-box .toolbar>div:first-child{float:left;text-align:left}.login-box .toolbar>div:first-child>a{margin-left:11px}.login-box .toolbar>div:first-child+div{float:right;text-align:right}.login-box .toolbar>div:first-child+div>a{margin-right:11px}.forgot-box .toolbar{background:#c16050;border-top:2px solid #976559;padding:9px 18px}.signup-box .toolbar{background:#76b774;border-top:2px solid #759759;padding:9px 18px}.forgot-box .back-to-login-link,.signup-box .back-to-login-link{color:#FE9;font-size:14px;font-weight:bold;text-shadow:1px 0 1px rgba(0,0,0,0.25)}.login-layout .login-box .widget-main{padding-bottom:16px}.login-box .social-or-login{margin-top:4px;position:relative;z-index:1}.login-box .social-or-login :first-child{display:inline-block;background:#f7f7f7;padding:0 8px;color:#5090c1;font-size:13px}.login-box .social-or-login:before{content:"";display:block;position:absolute;z-index:-1;top:50%;left:0;right:0;border-top:1px dotted #a6c4db}.login-box .social-login{margin-top:12px}.login-box .social-login a{border-radius:100%;width:42px;height:42px;line-height:46px;padding:0;margin:0 1px;border:0}.login-box .social-login a>[class*="icon-"]{font-size:24px;margin:0}@media only screen and (max-width:480px){.login-layout .widget-box .widget-main{padding:16px}}@media only screen and (max-width:480px){.login-container{width:98%}.login-layout .widget-box{padding:0}.login-box .toolbar>div{width:auto}}@media only screen and (max-width:767px){.login-layout .widget-box.visible{-webkit-transition:none;transition:none}}.invoice-info{line-height:24px!important;color:#444;vertical-align:bottom;margin-left:9px;margin-right:9px}.invoice-info-label{display:inline-block;max-width:100px;text-align:right;font-size:14px}.invoice-box .label-large[class*="arrowed"]{margin-left:11px!important;max-width:95%}.error-container{margin:20px;padding:0;background:#FFF}.ace-thumbnails{list-style:none;margin:0;padding:0}.ace-thumbnails>li{float:left;display:block;position:relative;overflow:hidden;margin:2px;border:2px solid #333}.ace-thumbnails>li>:first-child{display:block;position:relative}.ace-thumbnails>li .tags{display:inline-block;position:absolute;bottom:0;right:0;left:0;overflow:visible;direction:rtl;padding:0;margin:0;height:auto;width:auto;background-color:transparent;border:0;vertical-align:inherit}.ace-thumbnails>li .tags>.label-holder{opacity:.92;filter:alpha(opacity=92);display:table;margin:1px 0 0 0;direction:ltr;text-align:left}.ace-thumbnails>li .tags>.label-holder:hover{opacity:1;filter:alpha(opacity=100)}.ace-thumbnails>li>.tools{position:absolute;top:0;bottom:0;left:-30px;width:24px;background-color:rgba(0,0,0,0.55);text-align:center;vertical-align:middle;-webkit-transition:all .2s ease;transition:all .2s ease}.ace-thumbnails>li>.tools.tools-right{left:auto;right:-30px}.ace-thumbnails>li>.tools.tools-bottom{width:auto;height:28px;left:0;right:0;top:auto;bottom:-30px}.ace-thumbnails>li>.tools.tools-top{width:auto;height:28px;left:0;right:0;top:-30px;bottom:auto}.ace-thumbnails>li:hover>.tools{left:0}.ace-thumbnails>li:hover>.tools.tools-bottom{top:auto;bottom:0}.ace-thumbnails>li:hover>.tools.tools-top{bottom:auto;top:0}.ace-thumbnails>li:hover>.tools.tools-right{left:auto;right:0}.ace-thumbnails>li>.tools>a,.ace-thumbnails>li>:first-child .inner a{display:inline-block;color:#FFF;font-size:18px;font-weight:normal;padding:0 4px}.ace-thumbnails>li>.tools>a:hover,.ace-thumbnails>li>:first-child .inner a:hover{text-decoration:none;color:#c9e2ea}.ace-thumbnails>li .tools.tools-bottom>a,.ace-thumbnails>li .tools.tools-top>a{display:inline-block}.ace-thumbnails>li>:first-child>.text{position:absolute;right:0;left:0;bottom:0;top:0;text-align:center;color:#FFF;background-color:rgba(0,0,0,0.55);opacity:0;filter:alpha(opacity=0);-webkit-transition:all .2s ease;transition:all .2s ease}.ace-thumbnails>li>:first-child>.text:before{content:'';display:inline-block;height:100%;vertical-align:middle;margin-right:0}.ace-thumbnails>li>:first-child>.text>.inner{padding:4px 0;margin:0;display:inline-block;vertical-align:middle;max-width:90%}.ace-thumbnails>li:hover>:first-child>.text{opacity:1;filter:alpha(opacity=100)}@media only screen and (max-width:480px){.ace-thumbnails{text-align:center}.ace-thumbnails>li{float:none;display:inline-block}}.dialogs{padding:9px 9px 0;position:relative}.itemdiv{padding-right:3px;min-height:66px;position:relative}.itemdiv>.user{display:inline-block;width:42px;position:absolute;left:0}.itemdiv>.user>img{border-radius:100%;border:2px solid #5293c4;max-width:40px;position:relative}.itemdiv>.body{width:auto;margin-left:50px;margin-right:12px;position:relative}.itemdiv>.body>.time{display:block;font-size:11px;font-weight:bold;color:#666;position:absolute;right:9px;top:0}.itemdiv>.body>.time [class*="icon-"]{font-size:14px;font-weight:normal}.itemdiv>.body>.name{display:block;color:#999}.itemdiv>.body>.name>b{color:#777}.itemdiv>.body>.text{display:block;position:relative;margin-top:2px;padding-bottom:19px;padding-left:7px;font-size:13px}.itemdiv>.body>.text:after{display:block;content:"";height:1px;font-size:0;overflow:hidden;position:absolute;left:16px;right:-12px;margin-top:9px;border-top:1px solid #e4ecf3}.itemdiv>.body>.text>[class*="icon-quote-"]:first-child{color:#dce3ed;margin-right:4px}.itemdiv:last-child>.body>.text{border-bottom:0}.itemdiv:last-child>.body>.text:after{display:none}.itemdiv.dialogdiv{padding-bottom:14px}.itemdiv.dialogdiv:before{position:absolute;display:block;content:"";top:0;bottom:0;left:19px;width:3px;max-width:3px;background-color:#e1e6ed;border:1px solid #d7dbdd;border-width:0 1px}.itemdiv.dialogdiv:last-child:before{display:none}.itemdiv.dialogdiv>.user>img{border-color:#c9d6e5}.itemdiv.dialogdiv>.body{border:1px solid #dde4ed;padding:5px 8px 8px;border-left-width:2px;margin-right:1px}.itemdiv.dialogdiv>.body:before{content:"";display:block;position:absolute;left:-7px;top:11px;width:8px;height:8px;border:2px solid #dde4ed;border-width:2px 0 0 2px;background-color:#FFF;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.itemdiv.dialogdiv>.body>.time{position:static;float:right}.itemdiv.dialogdiv>.body>.text{padding-left:0;padding-bottom:0}.itemdiv.dialogdiv>.body>.text:after{display:none}.itemdiv.dialogdiv .tooltip-inner{word-break:break-all}.itemdiv.memberdiv{width:175px;padding:2px;margin:3px 0;float:left;border-bottom:1px solid #e8e8e8}.itemdiv.memberdiv>.user>img{border-color:#dce3ed}.itemdiv.memberdiv>.body>.time{position:static}.itemdiv.memberdiv>.body>.name{line-height:18px;height:18px;margin-bottom:0}.itemdiv.memberdiv>.body>.name>a{display:inline-block;max-width:100px;max-height:18px;overflow:hidden;text-overflow:ellipsis;word-break:break-all}.itemdiv .tools{position:absolute;right:5px;bottom:10px;display:none}.itemdiv .tools .btn{border-radius:36px;margin:1px 0}.itemdiv .body .tools{bottom:4px}.itemdiv.commentdiv .tools{right:9px}.itemdiv:hover .tools{display:inline-block}.item-list{margin:0;padding:0;list-style:none}.item-list>li{padding:9px;background-color:#FFF;margin-top:-1px;position:relative}.item-list>li.selected{color:#8090a0;background-color:#f4f9fc}.item-list>li.selected label,.item-list>li.selected .lbl{text-decoration:line-through;color:#8090a0}.item-list>li>.checkbox{display:inline-block}.item-list>li>label.inline{display:inline-block}.item-list>li label{font-size:13px}.item-list>li .percentage{font-size:11px;font-weight:bold;color:#777}.item-list>li.ui-sortable-helper{cursor:move}li[class*="item-"]{border:1px solid #DDD;border-left-width:3px}li.item-orange{border-left-color:#e8b110}li.item-orange2{border-left-color:#f79263}li.item-red{border-left-color:#d53f40}li.item-red2{border-left-color:#d15b47}li.item-green{border-left-color:#9abc32}li.item-green2{border-left-color:#0490a6}li.item-blue{border-left-color:#4f99c6}li.item-blue2{border-left-color:#3983c2}li.item-blue3{border-left-color:#1144eb}li.item-pink{border-left-color:#cb6fd7}li.item-purple{border-left-color:#6f3cc4}li.item-black{border-left-color:#505050}li.item-grey{border-left-color:#a0a0a0}li.item-brown{border-left-color:#a52a2a}li.item-default{border-left-color:#abbac3}.ui-sortable-placeholder,.ui-sortable-helper,.ui-sortable-placeholder>a,.ui-sortable-helper>a{cursor:move!important}@media only screen and (max-width:480px){.itemdiv.memberdiv{float:none;width:auto}}.profile-user-info{margin:0 12px}.profile-info-row{position:relative}.profile-info-name{position:absolute;width:110px;text-align:right;padding:6px 10px 6px 0;left:0;top:0;bottom:0;font-weight:normal;color:#667e99;background-color:transparent;border-top:1px dotted #d5e4f1}.profile-info-value{padding:6px 4px 6px 6px;margin-left:120px;border-top:1px dotted #d5e4f1}.profile-info-value>span+span:before{display:inline;content:",";margin-left:1px;margin-right:3px;color:#666;border-bottom:1px solid #FFF}.profile-info-value>span+span.editable-container:before{display:none}.profile-info-row:first-child .profile-info-name{border-top:0}.profile-info-row:first-child .profile-info-value{border-top:0}.profile-user-info-striped{border:1px solid #dcebf7}.profile-user-info-striped .profile-info-name{color:#336199;background-color:#edf3f4;border-top:1px solid #f7fbff}.profile-user-info-striped .profile-info-value{border-top:1px dotted #dcebf7;padding-left:12px}.profile-picture{border:1px solid #CCC;background-color:#FFF;padding:4px;display:inline-block;max-width:100%;-moz-box-sizing:border-box;box-shadow:1px 1px 1px rgba(0,0,0,0.15)}.profile-activity{padding:10px 4px;border-bottom:1px dotted #d0d8e0;position:relative;border-left:1px dotted #FFF;border-right:1px dotted #FFF}.profile-activity:first-child{border-top:1px dotted transparent}.profile-activity:first-child:hover{border-top-color:#d0d8e0}.profile-activity:hover{background-color:#f4f9fd;border-left:1px dotted #d0d8e0;border-right:1px dotted #d0d8e0}.profile-activity img{border:2px solid #c9d6e5;border-radius:100%;max-width:40px;margin-right:10px;margin-left:0;box-shadow:none}.profile-activity .thumbicon{background-color:#74abd7;display:inline-block;border-radius:100%;width:38px;height:38px;color:#FFF;font-size:18px;text-align:center;line-height:38px;margin-right:10px;margin-left:0;text-shadow:none!important}.profile-activity .time{display:block;margin-top:4px;color:#777}.profile-activity a.user{font-weight:bold;color:#9585bf}.profile-activity .tools{position:absolute;right:12px;bottom:8px;display:none}.profile-activity:hover .tools{display:block}.user-profile .ace-thumbnails li{border:1px solid #CCC;padding:3px;margin:6px}.user-profile .ace-thumbnails li .tools{left:3px;right:3px}.user-profile .ace-thumbnails li:hover .tools{bottom:3px}.user-profile .user-title-label:hover{text-decoration:none}.user-profile .user-title-label+.dropdown-menu{margin-left:-12px}.profile-contact-links{padding:4px 2px 5px;border:1px solid #e0e2e5;background-color:#f8fafc}.profile-contact-info .btn-link:hover>[class*="icon-"],.profile-contact-info .btn-link:focus>[class*="icon-"]{text-decoration:none}.profile-social-links>a{text-decoration:none;margin:0 1px}.profile-social-links>a:hover>[class*="icon-"]{text-decoration:none}.profile-skills .progress{height:26px;margin-bottom:2px;background-color:transparent}.profile-skills .progress .progress-bar{line-height:26px;font-size:13px;font-weight:bold;font-family:"Open Sans";padding:0 8px}.profile-users .user{display:block;position:static;text-align:center;width:auto}.profile-users .user img{padding:2px;border-radius:100%;border:1px solid #AAA;max-width:none;width:64px;-webkit-transition:all .1s;transition:all .1s}.profile-users .user img:hover{-webkit-box-shadow:0 0 1px 1px rgba(0,0,0,0.33);box-shadow:0 0 1px 1px rgba(0,0,0,0.33)}.profile-users .memberdiv{background-color:#FFF;width:100px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border:0;text-align:center;margin:0 8px 24px}.profile-users .memberdiv .name a:hover [class*="icon-"]{text-decoration:none}.profile-users .memberdiv .body{display:inline-block;margin:8px 0 0 0}.profile-users .memberdiv .popover{visibility:hidden;min-width:150px;margin-left:0;margin-right:0;top:-5%;left:auto;right:auto;z-index:-1;opacity:0;display:none;-webkit-transition:visibility 0s linear .2s,z-index 0s linear .2s,opacity .2s linear 0s;transition:visibility 0s linear .2s,z-index 0s linear .2s,opacity .2s linear 0s}.profile-users .memberdiv .popover.right{left:100%;right:auto;display:block}.profile-users .memberdiv .popover.left{left:auto;right:100%;display:block}.profile-users .memberdiv>:first-child:hover .popover{visibility:visible;opacity:1;z-index:1010;-webkit-transition-delay:0s;-moz-transition-delay:0s;-o-transition-delay:0s;transition-delay:0s}.profile-users .memberdiv .tools{position:static;display:block;width:100%;margin-top:2px}.profile-users .memberdiv .tools>a{margin:0 2px}.profile-users .memberdiv .tools>a:hover{text-decoration:none}.user-status{display:inline-block;width:11px;height:11px;background-color:#FFF;border:3px solid #AAA;border-radius:100%;vertical-align:middle;margin-right:1px}.user-status.status-online{border-color:#8ac16c}.user-status.status-busy{border-color:#e07f69}.user-status.status-idle{border-color:#ffb752}.tab-content.profile-edit-tab-content{border:1px solid #DDD;padding:8px 32px 32px;-webkit-box-shadow:1px 1px 0 0 rgba(0,0,0,0.2);box-shadow:1px 1px 0 0 rgba(0,0,0,0.2);background-color:#FFF}@media only screen and (max-width:480px){.profile-info-name{width:80px}.profile-info-value{margin-left:90px}.profile-user-info-striped .profile-info-name{position:static;width:auto;text-align:left;padding:6px 0 6px 10px}.profile-user-info-striped .profile-info-value{margin-left:10px}}@media only screen and (max-width:480px){.user-profile .memberdiv{width:50%;margin-left:0;margin-right:0}}.inbox-tabs.nav-tabs>li>a{background-color:#fafafa}.inbox-tabs.nav-tabs>li.active:not(.open)>a,.inbox-tabs.nav-tabs>li.active:not(.open)>a:hover,.inbox-tabs.nav-tabs>li.active:not(.open)>a:focus{background-color:#f1f5fa;box-shadow:0 -2px 3px 0 rgba(0,0,0,0.1);color:#48768e}.inbox-tabs.nav-tabs>li>a.btn-new-mail{background-color:transparent;border:none!important;padding:0!important}.inbox-tabs.nav-tabs>li>a.btn-new-mail>.btn{border-width:0!important;border-radius:3px!important;padding:0 6px!important;position:relative;transition:none!important}.inbox-tabs.nav-tabs>li.active>a.btn-new-mail{box-shadow:none!important}.inbox-tabs.nav-tabs>li.active>a.btn-new-mail>.btn:before{content:"";display:block;position:absolute;top:100%;left:35%;left:calc(50% - 6px);border-width:6px 8px;border-style:solid;border-color:transparent;border-top-color:inherit}.inbox-tabs.nav-tabs.tab-size-bigger>li>a{padding:5px 15px 7px;font-size:14px}.inbox-tabs.nav-tabs.tab-size-bigger>li>a>[class*="icon-"]:first-child{margin-bottom:5px}.inbox-tabs.nav-tabs.tab-size-bigger>li>a.btn-new-mail>.btn{padding:10px!important;border-radius:7px!important}.inbox-tabs.nav-tabs.tab-size-bigger>li.active>a.btn-new-mail{margin-top:0!important;top:1px}.inbox-tabs.nav-tabs.tab-size-bigger>li.active>a.btn-new-mail>.btn:before{left:35%;left:calc(50% - 8px);border-width:8px 10px}@media only screen and (max-width:475px){.inbox-tabs>.li-new-mail{display:block;text-align:right;margin-bottom:8px!important;float:none!important}.inbox-tabs>.li-new-mail>.btn-new-mail{display:inline-block;width:auto}}.message-container{position:relative}.message-list{position:relative}.message-item{border:1px solid #eaedf1;border-bottom-width:0;padding:12px 12px 14px;line-height:18px;position:relative;background-color:#FFF}.message-item:first-child{border-top-width:0}.message-item:hover{border-color:#e2eaf2;background-color:#f2f6f9}.message-item:hover+.message-item{border-top-color:#e2eaf2}.message-item:hover+.message-item.selected{border-top-color:#FFF}.message-item.selected{background-color:#eff4f7;border-color:#FFF #e2eaf2}.message-item.selected+.message-item{border-top-color:#FFF}.message-item.selected+.message-item:hover+.message-item{border-top-color:#FFF}.message-item .sender{margin:0 6px 0 4px;vertical-align:middle;color:#467287;display:inline-block;width:110px;height:18px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;cursor:pointer}.message-item.message-unread .sender{color:#6a9cba;font-weight:bold}.message-item .summary{vertical-align:middle;display:inline-block;position:relative;margin-left:30px;max-width:250px;max-width:calc(100% - 300px);min-width:200px;white-space:nowrap}.message-item .summary .text{color:#555;vertical-align:middle;display:inline-block;width:auto;max-width:100%;height:18px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;cursor:pointer}.message-item .summary .text:hover{text-decoration:underline}.message-item .summary .message-flags{display:block;position:absolute;right:101%;right:calc(100%+4px);height:18px;white-space:nowrap}.message-item.message-unread .summary .text{color:#609fc4;font-weight:bold}.message-item .time{float:right;width:60px;height:18px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;color:#666}.message-item.message-unread .time{font-weight:bold;color:#609fc4}.message-item .attachment{color:#999;font-size:18px;vertical-align:middle;float:right;margin:0 12px;position:relative}.message-item.message-unread .attachment{color:#4f99c6}.message-content .time{font-weight:normal}.message-star{vertical-align:middle;margin:2px 4px 0 6px;font-size:15px;cursor:pointer}.message-star:hover{color:#feb902!important;text-decoration:none}.mail-tag:empty{display:inline-block;width:8px;height:11px;padding:0;line-height:normal;vertical-align:middle;margin:0 1px 0 0}.badge.mail-tag{border-radius:2px}@media only screen and (max-width:979px){.message-item .summary{min-width:0}.message-item .sender{width:100px}}@media only screen and (max-width:550px){.message-item .summary{margin:8px 0 0 32px;max-width:95%;min-width:0;display:block}.message-item .sender{width:auto;max-width:150px}.message-item .summary .text{max-width:95%}}.btn-message,.btn-message:hover,.btn-message:focus,.btn-message:active,.open .btn-message.dropdown-toggle{background-color:#FFF!important;border:1px solid #94b9ce!important;color:#7ca3ba!important;text-shadow:none!important}.message-content{padding:16px 12px;border:1px solid #e9e9e9;-webkit-box-shadow:0 0 1px 1px rgba(0,0,0,0.02);box-shadow:0 0 1px 1px rgba(0,0,0,0.02);background-color:rgba(255,255,255,0.8);border-top-width:0}.message-item .message-content{margin-top:16px;border-top-width:1px}.message-body{padding:0 9px;color:#6a7177}.message-navbar{line-height:24px;padding:10px 12px;border:1px solid #d6e1ea;border-color:#d6e1ea transparent;background-color:#f1f5fa;position:relative}.message-navbar .dropdown-toggle,.message-content .dropdown-toggle{color:#777}.message-navbar .dropdown-toggle:hover,.message-content .dropdown-toggle:hover,.message-navbar .dropdown-toggle:focus,.message-content .dropdown-toggle:focus{text-decoration:none;color:#2283c5}.message-bar{display:inline-block;min-height:28px}@media only screen and (max-width:480px){.message-bar{display:block;min-height:60px}}.message-footer{background-color:#f1f1f1;padding:12px 16px;border:1px solid #e6e6e6;border-width:1px 0;border-top:1px solid #e4e9ee}.message-footer .pagination{margin:0}.message-footer .pagination>li{margin:0;padding:0}.message-footer .pagination>li>a,.message-footer .pagination>li>span{color:#777;padding:3px;margin-left:3px;margin-right:3px;background-color:transparent;border:0}.message-footer .pagination>li.disabled>span{color:#bbb;cursor:default}.message-footer .pagination>li>a:hover{color:#2283c5;text-decoration:none}.message-footer input[type=text]{font-size:12px;width:34px;height:24px;line-height:20px;margin-bottom:0;padding:3px;vertical-align:middle;text-align:center}.message-footer-style2 .pagination>li>a,.message-footer-style2 .pagination>li>span{border:1px solid #b5b5b5;border-radius:100%!important;width:26px;height:26px;line-height:24px;display:inline-block;text-align:center;padding:0}.message-footer-style2 .pagination>li>span{border-color:#CCC}.message-footer-style2 .pagination>li>a:hover{border-color:#84afc9;background-color:#f7f7f7}.message-item.message-inline-open{background-color:#f2f6f9;border:1px solid #DDD;border-bottom-color:#CCC}.message-item.message-inline-open:first-child{border-top-color:#EEE}.message-item.message-inline-open:last-child{border-bottom-color:#DDD}.message-item.message-inline-open+.message-item{border-bottom-color:transparent}.message-loading-overlay{position:absolute;z-index:14;top:0;bottom:0;right:0;left:0;background-color:rgba(255,255,255,0.5);text-align:center}.message-loading-overlay>[class*="icon-"]{position:absolute;top:15%;left:0;right:0;text-align:center}.message-content .sender{color:#6a9cba;font-weight:bold;width:auto;text-overflow:inherit;vertical-align:middle;margin:0}.message-content .time{width:auto;text-overflow:inherit;white-space:normal;float:none;vertical-align:middle}ul.attachment-list{margin:6px 0 4px 8px}ul.attachment-list>li{margin-bottom:3px}.message-attachment{padding-left:10px;padding-right:10px}.attached-file{color:#777;width:200px}.attached-file>[class*="icon-"]{display:inline-block;width:16px;margin-right:2px}.attached-file:hover{text-decoration:none;color:#438eb9}.attached-file:hover .attached-name{color:#2283c5}.attached-file .attached-name{display:inline-block;max-width:175px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.messagebar-item-left,.messagebar-item-right{position:absolute;bottom:14px;left:12px;text-align:left}.messagebar-item-right{right:12px;left:auto}.message-navbar .nav-search{right:auto;left:60px;top:auto;bottom:11px}.message-form{border:1px solid #ddd;border-top:0;padding-top:22px}@media only screen and (max-width:480px){.message-form{padding-left:16px;padding-right:16px}}.message-form .form-actions{margin-bottom:0}.message-form .wysiwyg-editor{overflow:auto;min-height:150px;max-height:250px;height:auto}.btn-send-message{position:relative;top:6px}.btn-back-message-list{color:#777}.btn-back-message-list:hover{color:#478fca;text-decoration:none}.message-condensed .message-item{padding-top:8px;padding-bottom:9px}.message-condensed .message-navbar,.message-condensed .message-footer{padding-top:7px;padding-bottom:7px}.message-condensed .messagebar-item-left,.message-condensed .messagebar-item-right{bottom:9px}.message-condensed .message-navbar .nav-search{bottom:7px}@media only screen and (max-width:480px){.message-condensed .message-bar{min-height:42px}}.inbox-folders .btn-block{margin-top:0}@media only screen and (max-width:767px){.inbox-folders.inbox-folders-responsive .btn-block{width:24%}}@media only screen and (max-width:600px){.inbox-folders.inbox-folders-responsive .btn-block{width:48%}}@media only screen and (max-width:320px){.inbox-folders.inbox-folders-responsive .btn-block{width:99%}}.inbox-folders .btn-lighter,.inbox-folders .btn-lighter.active{background-color:#f4f4f4!important;text-shadow:none!important;color:#7c8395!important;border:1px solid #FFF!important;padding:5px 11px}.inbox-folders .btn-lighter.active{background-color:#edf2f8!important;color:#53617c!important}.inbox-folders .btn-lighter:hover{background-color:#efefef!important;color:#6092c4!important}.inbox-folders .btn>[class*="icon-"]:first-child{display:inline-block;width:14px;text-align:left}.inbox-folders .btn-lighter+.btn-lighter{border-top-width:0!important}.inbox-folders .btn.active:before{display:block;content:"";position:absolute;top:1px;bottom:1px;left:-1px;border-left:3px solid #4f99c6}.inbox-folders .btn.active:after{display:none}.inbox-folders .btn .counter{border-radius:3px;position:absolute;right:8px;top:8px;padding-left:6px;padding-right:6px;opacity:.75;filter:alpha(opacity=75)}.inbox-folders .btn:hover .badge{opacity:1;filter:alpha(opacity=100)}.timeline-container{position:relative;padding-top:4px;margin-bottom:32px}.timeline-container:last-child{margin-bottom:0}.timeline-container:before{content:"";display:block;position:absolute;left:28px;top:0;bottom:0;border:1px solid #e2e3e7;background-color:#e7eaef;width:4px;border-width:0 1px}.timeline-container:first-child:before{border-top-width:1px}.timeline-container:last-child:before{border-bottom-width:1px}.timeline-item{position:relative;margin-bottom:8px}.timeline-item .widget-box{background-color:#f2f6f9;color:#595c66}.timeline-item .transparent.widget-box{border-left:3px solid #dae1e5}.timeline-item .transparent .widget-header{background-color:#ecf1f4;border-bottom:0}.timeline-item .transparent .widget-header>:first-child{margin-left:8px}.timeline-item:nth-child(even) .widget-box{background-color:#f3f3f3;color:#616161}.timeline-item:nth-child(even) .widget-box.transparent{border-left-color:#dbdbdb!important}.timeline-item:nth-child(even) .widget-box.transparent .widget-header{background-color:#EEE!important}.timeline-item .widget-box{margin:0;position:relative;max-width:none;border-bottom:0;margin-left:60px}.timeline-item .widget-main{margin:0;position:relative;max-width:none;border-bottom:0}.timeline-item .widget-body{background-color:transparent}.timeline-item .widget-toolbox{padding:4px 8px 0!important;background-color:transparent!important;border:0 solid #CCC!important;border-top:none!important;margin:0 0!important}.timeline-info{float:left;width:60px;text-align:center;position:relative}.timeline-info img{border-radius:100%;max-width:42px}.timeline-info .label,.timeline-info .badge{font-size:12px}.timeline-container:not(.timeline-style2) .timeline-indicator{opacity:1;border-radius:100%;display:inline-block;font-size:16px;height:36px;line-height:30px;width:36px;text-align:center;text-shadow:none!important;padding:0;cursor:default;border:3px solid #FFF!important}.timeline-label{display:block;clear:both;margin:0 0 18px;margin-left:34px}.timeline-item img{border:1px solid #AAA;padding:2px;background-color:#FFF}.timeline-style2:before{display:none}.timeline-style2 .timeline-item{padding-bottom:22px;margin-bottom:0}.timeline-style2 .timeline-item:last-child{padding-bottom:0}.timeline-style2 .timeline-item:before{content:"";display:block;position:absolute;left:90px;top:5px;bottom:-5px;border-width:0;background-color:#DDD;width:2px;max-width:2px}.timeline-style2 .timeline-item:last-child:before{display:none}.timeline-style2 .timeline-item:first-child:before{display:block}.timeline-style2 .timeline-item .transparent .widget-header{background-color:transparent!important}.timeline-style2 .timeline-item .transparent.widget-box{background-color:transparent!important;border-left:none!important}.timeline-style2 .timeline-info{width:100px}.timeline-style2 .timeline-indicator{font-size:0;height:12px;line-height:12px;width:12px;border-width:1px!important;background-color:#fff!important;position:absolute;left:85px;top:3px;opacity:1;border-radius:100%;display:inline-block;padding:0}.timeline-style2 .timeline-date{display:inline-block;width:72px;text-align:right;margin-right:25px;color:#777}.timeline-style2 .timeline-item .widget-box{margin-left:112px}.timeline-style2 .timeline-label{width:75px;text-align:center;margin-left:0;margin-bottom:10px;text-align:right;color:#666;font-size:14px}.timeline-time{text-align:center;position:static}.fc-header-title>h2{font-size:22px;color:#65a0ce}.fc-widget-header,.fc-widget-content{border:1px solid #bcd4e5}.fc-state-highlight{background:#FFC}.fc-event-skin{border:none!important;background-color:#abbac3;padding:0 0 1px 2px}.label-yellow .fc-event-skin{color:#963}.label-light .fc-event-skin{color:#888}[class*="label-"]>.fc-event-skin,[class*="label-"]>.fc-event-skin>.fc-event-skin.fc-event-head{background-color:inherit}.fc-event-skin.ui-draggable-dragging{cursor:move}.fc-event-skin.fc-event-vert,.fc-event-vert>.fc-event-skin{padding:0 0 1px}.fc-grid .fc-day-number{color:#2e6589}.fc-widget-header{background:#ecf2f7;color:#8090a0}.fc-event-hori,.fc-event-vert{border-radius:0!important;border-color:transparent}.fc-event-vert .fc-event-content{padding-left:1px;padding-right:1px}.fc-event-vert .fc-event-time{padding:0}.fc-state-default{border:0}.fc-state-default,.fc-state-default .fc-button-inner{border:0;background-color:#abbac3;color:#FFF;background-image:none;box-shadow:none;text-shadow:none;border-radius:0!important;margin-left:2px}.fc-state-default .fc-button-effect{display:none}.fc-state-disabled,.fc-state-disabled .fc-button-inner{opacity:.75;filter:alpha(opacity=75);color:#DDD}.fc-state-active,.fc-state-active .fc-button-inner{border-color:#4f99c6;background-color:#6fb3e0}.fc-state-hover,.fc-state-hover .fc-button-inner{background-color:#8b9aa3}.external-event{margin:6px 0;padding:0;cursor:default;display:block;color:#FFF;background-color:#abbac3;font-size:13px;line-height:28px}.external-event:hover{opacity:1;filter:alpha(opacity=100)}.external-event.ui-draggable-dragging{cursor:move}.external-event>[class*="icon-"]:first-child{display:inline-block;height:32px;width:32px;text-align:center;line-height:30px;margin-right:5px;font-size:15px;border-right:1px solid #FFF}.widget-main .fc{position:relative;top:-40px}.widget-main .fc>.fc-header{position:relative;z-index:10}.widget-main .fc .fc-header-space{padding-left:2px}.widget-main .fc-header-title>h2{font-size:18px;line-height:36px}.widget-main .fc-content{top:-14px;z-index:11}.widget-main .fc-button-content{height:37px;line-height:36px}@media only screen and (max-width:480px){.fc-header td{display:block;width:auto;text-align:left}}.chosen-container+.help-inline{vertical-align:middle}.chosen-select{display:inline!important;visibility:hidden;opacity:0;position:absolute;z-index:-1}.chosen-container,[class*="chosen-container"]{vertical-align:middle}.chosen-container>.chosen-single,[class*="chosen-container"]>.chosen-single{line-height:28px;height:30px;box-shadow:none;background:#fafafa}.chosen-choices{box-shadow:none!important}.chosen-container-single .chosen-single abbr{background:0}.chosen-container-single .chosen-single abbr:after{content:"\f00d";display:inline-block;color:#888;font-family:FontAwesome;font-size:13px;position:absolute;right:0;top:-7px}.chosen-container-single .chosen-single abbr:hover:after{color:#464646}.chosen-container-single.chosen-disabled .chosen-single abbr:hover:after{color:#464646}.chosen-single div b{background:none!important}.chosen-single div b:before{content:"\f0d7";display:inline-block;color:#888;font-family:FontAwesome;font-size:12px;position:relative;top:-1px;left:1px}.chosen-container-active.chosen-with-drop .chosen-single div b:before{content:"\f0d8"}.chosen-container-single .chosen-search{position:relative}.chosen-container-single .chosen-search input[type="text"]{background:0;border-radius:0;line-height:28px;height:28px}.chosen-container-single .chosen-search:after{content:"\f002";display:inline-block;color:#888;font-family:FontAwesome;font-size:14px;position:absolute;top:8px;right:12px}.chosen-container-multi .chosen-choices li.search-field input[type="text"]{height:25px}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close{background:0}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:before{content:"\f00d";display:inline-block;color:#888;font-family:FontAwesome;font-size:13px;position:absolute;right:2px;top:-1px}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover{text-decoration:none}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover:before{color:#464646}.chosen-container-multi .chosen-choices li.search-choice-focus .search-choice-close:before{color:#464646}.chosen-container .chosen-results-scroll-down span,.chosen-container .chosen-results-scroll-up span{background:0}.chosen-container .chosen-results-scroll-down span:before,.chosen-container .chosen-results-scroll-up span:before{content:"\f0d7";display:inline-block;color:#888;font-family:FontAwesome;font-size:12px;position:relative;top:-1px;left:1px}.chosen-container .chosen-results-scroll-up span:before{content:"\f0d8"}.chosen-container-active .chosen-single-with-drop div b:before{content:"\f0d8"}.chosen-rtl .chosen-search input[type="text"]{background:0}.chosen-rtl .chosen-search:after{content:"";display:none}.chosen-rtl .chosen-search:before{content:"\f002";display:inline-block;color:#888;font-family:FontAwesome;font-size:14px;position:absolute;top:9px;left:12px}.chosen-container-single .chosen-single{border-radius:0}.chosen-container .chosen-results li.highlighted{background:#86bd6f;background:#4492c9;background:#316ac5;color:#FFF}.chosen-container-single .chosen-drop{border-radius:0;border-bottom:3px solid #4492c9;border-color:#4492c9}.chosen-single.chosen-single-with-drop,.chosen-container-active .chosen-single{border-color:#4492c9}.form-group.has-error .chosen-single{border-color:#f09784!important}.form-group.has-info .chosen-single{border-color:#64a6bc!important}.form-group.has-warning .chosen-single{border-color:#e0c43a!important}.form-group.has-success .chosen-single{border-color:#92bf65!important}.chosen-rtl .chosen-container-single-nosearch .chosen-search{left:-9999px}.chosen-rtl .chosen-drop{left:-9999px}.modal .chosen-rtl .chosen-container-single-nosearch .chosen-search{left:9999px}.modal .chosen-rtl .chosen-drop{left:9999px}.rtl .modal .chosen-container.chosen-with-drop .chosen-drop{left:auto;right:0}.chosen-container-active.chosen-with-drop .chosen-single{border-color:#4492c9}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min-resolution:144dpi){.chosen-rtl .chosen-search input[type="text"],.chosen-container-single .chosen-single abbr,.chosen-container-single .chosen-single div b,.chosen-container-single .chosen-search input[type="text"],.chosen-container-multi .chosen-choices li.search-choice .search-choice-close,.chosen-container .chosen-results-scroll-down span,.chosen-container .chosen-results-scroll-up span{background-image:none!important;background-repeat:no-repeat!important;background-size:auto!important}}.tag-input-style+.chosen-container-multi .chosen-choices li.search-choice{background-image:none;background-color:#91b8d0;color:#fff;display:inline-block;font-size:13px;font-weight:normal;margin-bottom:3px;margin-right:0;padding:6px 22px 7px 9px;position:relative;text-shadow:1px 1px 1px rgba(0,0,0,0.15);transition:all .2s ease 0s;vertical-align:baseline;white-space:nowrap;border:0;-webkit-box-shadow:none;box-shadow:none;border-radius:0}.tag-input-style+.chosen-container-multi .chosen-choices li.search-choice .search-choice-close{position:absolute;top:0;bottom:0;right:0;width:18px;height:auto;line-height:25px;text-align:center}.tag-input-style+.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:before{color:#FFF;position:static;font-size:11px}.tag-input-style+.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover{background-color:rgba(0,0,0,0.2)}.tag-input-style+.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover:before{color:#FFF}.tag-input-style+.chosen-container-multi.chosen-rtl .chosen-choices li.search-choice{padding:6px 9px 7px 22px;margin-left:0;margin-right:3px}.tag-input-style+.chosen-container-multi.chosen-rtl .chosen-choices li.search-choice .search-choice-close{right:auto;left:0}.select2-container .select2-choice{border-radius:0;height:30px}.select2-container.select2-drop-above .select2-choice{border-radius:0}.select2-container .select2-choice abbr,.select2-search-choice-close{background:0}.select2-container .select2-choice abbr:before,.select2-search-choice-close:before{font-family:FontAwesome;font-size:12px;display:inline;content:"\f00d";color:#888;position:relative;top:-1px}.select2-container .select2-choice abbr:hover:before,.select2-search-choice-close:hover:before{color:#555}.select2-container .select2-choice abbr:before{top:-7px}.select2-search-choice-close:hover{text-decoration:none!important}.select2-drop{border-radius:0;border:1px solid #4492c9;border-width:0 1px 3px}.select2-drop.select2-drop-above{border-radius:0}.select2-container .select2-choice{background:#fafafa none}.select2-container-active .select2-choice,.select2-container-active .select2-choices,.select2-dropdown-open.select2-drop-above .select2-choice,.select2-dropdown-open.select2-drop-above .select2-choices,.select2-container-multi.select2-container-active .select2-choices{border-color:#4492c9}.select2-results .select2-highlighted{background:#316ac5}.select2-container .select2-choice .select2-arrow{border-radius:0;background:transparent none;border:0}.select2-container .select2-choice .select2-arrow b{background:0}.select2-container .select2-choice .select2-arrow b:before{font-family:FontAwesome;font-size:12px;display:inline;content:"\f0d7";color:#888;position:relative;left:5px}.select2-dropdown-open .select2-choice .select2-arrow b:before{content:"\f0d8"}.select2-search .select2-input{background:#fff none;margin-top:4px}.select2-search:after{font-family:FontAwesome;font-size:14px;display:inline;content:"\f002";color:#777;position:relative;top:0;left:-20px;z-index:0}.select2-container-multi .select2-choices .select2-search-field input{border:none!important;-webkit-box-shadow:none!important;box-shadow:none!important;background:none!important}.select2-container-active .select2-choice,.select2-container-active .select2-choices,.select2-container-multi.select2-container-active .select2-choices,.select2-dropdown-open.select2-drop-above .select2-choice,.select2-dropdown-open.select2-drop-above .select2-choices{-webkit-box-shadow:none;box-shadow:none}.select2-search input.select2-active{background-color:#FFF;position:relative;z-index:1}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:144dpi){.select2-search input,.select2-search-choice-close,.select2-container .select2-choice abbr,.select2-container .select2-choice div b{background-image:none!important;background-size:auto!important}.select2-search input{background-position:auto!important}}.select2-container-active.select2-dropdown-open .select2-choice{background-image:-webkit-gradient(linear,left 0,left 100%,from(#eee),to(#fff));background-image:-webkit-linear-gradient(top,#eee,0%,#fff,100%);background-image:-moz-linear-gradient(top,#eee 0,#fff 100%);background-image:linear-gradient(to bottom,#eee 0,#fff 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffeeeeee',endColorstr='#ffffffff',GradientType=0)}.select2-container-active.select2-drop-above .select2-choice{background-image:-webkit-gradient(linear,left 0,left 100%,from(#fff),to(#eee));background-image:-webkit-linear-gradient(top,#fff,0%,#eee,100%);background-image:-moz-linear-gradient(top,#fff 0,#eee 100%);background-image:linear-gradient(to bottom,#fff 0,#eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffeeeeee',GradientType=0)}.form-group.has-error .select2-choice,.form-group.has-error .select2-choices{border-color:#f09784!important}.form-group.has-info .select2-choice,.form-group.has-info .select2-choices{border-color:#64a6bc!important}.form-group.has-warning .select2-choice,.form-group.has-warning .select2-choices{border-color:#e0c43a!important}.form-group.has-success .select2-choice,.form-group.has-success .select2-choices{border-color:#92bf65!important}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:144dpi){.select2-search input,.select2-search-choice-close,.select2-container .select2-choice abbr,.select2-container .select2-choice .select2-arrow b{background-image:none!important;background-repeat:no-repeat!important;background-size:auto!important}.select2-search input{background-position:auto!important}}#colorbox:focus,#colorbox:active{outline:0}#cboxTopLeft,#cboxTopCenter,#cboxTopRight,#cboxMiddleLeft,#cboxMiddleRight,#cboxBottomLeft,#cboxBottomCenter,#cboxBottomRight{background:none!important;opacity:0}#cboxContent{border:12px solid #000;background-color:#FFF;padding:7px}#cboxOverlay{background:rgba(0,0,0,0.95);background:#000}#cboxCurrent{left:64px;margin-bottom:4px;font-size:14px}#cboxTitle{margin-bottom:4px;font-size:14px;color:#777}#cboxNext,#cboxPrevious,#cboxClose{background:0;text-indent:0;width:26px;height:26px;line-height:22px;padding:0 4px;text-align:center;border:2px solid #999;border-radius:16px;color:#666;font-size:12px;margin-left:5px;margin-bottom:5px}#cboxNext:hover,#cboxPrevious:hover{color:#333;border-color:#666}#cboxContent{overflow:visible}#cboxClose{background-color:#000;border:2px solid #fff;border-radius:32px;color:#fff;font-size:21px;height:28px;width:28px;padding-bottom:2px;margin-left:0;right:-14px;top:-14px}#cboxLoadingOverlay{background:none!important}#cboxLoadingGraphic{background:#FFF none!important;text-align:center}#cboxLoadingGraphic>[class*="icon-"]{display:inline-block;background-color:#FFF;border-radius:8px;width:32px;height:32px;position:relative;top:48%;text-align:center;vertical-align:middle;-moz-animation:spin 1.5s infinite linear;-webkit-animation:spin 1.5s infinite linear;-o-animation:spin 1.5s infinite linear;-ms-animation:spin 1.5s infinite linear;animation:spin 1.5s infinite linear;font-size:24px;color:#fe7e3e}.ace-spinner{display:inline-block}.ace-spinner .spinner-buttons{min-width:18px}.ace-spinner .spinner-buttons>.btn{border-radius:0!important;font-size:10px;padding:0;width:18px;height:14px;line-height:10px}.ace-spinner .spinner-buttons>.btn:first-child{margin-top:0}.ace-spinner .spinner-buttons>.btn>[class*="icon-"]{margin:0;padding:0}.ace-spinner .spinner-buttons>button.btn:active{left:auto;top:auto}.ace-spinner .spinner-input{text-align:center;height:29px;line-height:28px;color:#777}.ace-spinner input[type=text].spinner-input.form-control{width:auto\0/!important;line-height:1\0/!important;padding-bottom:4px\0/!important}.ace-spinner.touch-spinner .spinner-buttons{margin:0;font-size:0}.ace-spinner.touch-spinner .spinner-buttons>.btn{height:29px;line-height:20px;width:24px;font-size:18px;display:inline-block;vertical-align:sub;margin:0 1px}.ace-spinner.touch-spinner .spinner-buttons>.btn>[class*="icon-"]{vertical-align:middle;display:inline-block}.wizard-steps{list-style:none;display:table;width:100%;padding:0;margin:0;position:relative}.wizard-steps li{display:table-cell;text-align:center;width:1%}.wizard-steps li .step{border:5px solid #ced1d6;color:#546474;font-size:15px;border-radius:100%;background-color:#FFF;position:relative;z-index:2;display:inline-block;width:40px;height:40px;line-height:30px;text-align:center}.wizard-steps li:before{display:block;content:"";width:100%;height:1px;font-size:0;overflow:hidden;border-top:4px solid #ced1d6;position:relative;top:21px;z-index:1}.wizard-steps li:last-child:before{max-width:50%;width:50%}.wizard-steps li:first-child:before{max-width:51%;left:50%}.wizard-steps li.active:before,.wizard-steps li.complete:before,.wizard-steps li.active .step,.wizard-steps li.complete .step{border-color:#5293c4}.wizard-steps li.complete .step{cursor:default;color:#FFF;-webkit-transition:transform ease .1s;transition:transform ease .1s}.wizard-steps li.complete .step:before{display:block;position:absolute;top:0;left:0;bottom:0;right:0;line-height:30px;text-align:center;border-radius:100%;content:"\f00c";background-color:#FFF;z-index:3;font-family:FontAwesome;font-size:17px;color:#87ba21}.wizard-steps li.complete:hover .step{-moz-transform:scale(1.1);-webkit-transform:scale(1.1);-o-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1);border-color:#80afd4}.wizard-steps li.complete:hover:before{border-color:#80afd4}.wizard-steps li .title{display:block;margin-top:4px;max-width:100%;color:#949ea7;font-size:14px;z-index:104;text-align:center;table-layout:fixed;word-wrap:break-word}.wizard-steps li.complete .title,.wizard-steps li.active .title{color:#2b3d53}.step-content .step-pane{display:none;min-height:200px;padding:4px 8px 12px}.step-content .active{display:block}.wizard-actions{text-align:right}@media only screen and (max-width:767px){.wizard-steps li .step{width:30px;height:30px;line-height:24px;border-width:3px}.wizard-steps li:before,.wizard-steps li:after{border-width:3px}.wizard-steps li.complete .step:before{line-height:24px;font-size:13px}.wizard-steps li:before{top:16px}.step-content .step-pane{padding:4px 4px 6px}}.tree{padding-left:9px;overflow-x:hidden;overflow-y:auto;position:relative}.tree:before{display:inline-block;content:"";position:absolute;top:-20px;bottom:16px;left:0;border:1px dotted #67b2dd;border-width:0 0 0 1px;z-index:1}.tree .tree-folder{width:auto;min-height:20px;cursor:pointer}.tree .tree-folder .tree-folder-header{position:relative;height:20px;line-height:20px}.tree .tree-folder .tree-folder-header:hover{background-color:#f0f7fc}.tree .tree-folder .tree-folder-header .tree-folder-name,.tree .tree-item .tree-item-name{display:inline;z-index:2}.tree .tree-folder .tree-folder-header>[class*="icon-"]:first-child,.tree .tree-item>[class*="icon-"]:first-child{display:inline-block;position:relative;z-index:2;top:-1px}.tree .tree-folder .tree-folder-header .tree-folder-name{margin-left:2px}.tree .tree-folder .tree-folder-header>[class*="icon-"]:first-child{margin:-2px 0 0 -2px}.tree .tree-folder:last-child:after{display:inline-block;content:"";position:absolute;z-index:1;top:15px;bottom:0;left:-15px;border-left:1px solid #FFF}.tree .tree-folder .tree-folder-content{margin-left:23px;position:relative}.tree .tree-folder .tree-folder-content:before{display:inline-block;content:"";position:absolute;z-index:1;top:-14px;bottom:16px;left:-14px;border:1px dotted #67b2dd;border-width:0 0 0 1px}.tree .tree-item{position:relative;height:20px;line-height:20px;cursor:pointer}.tree .tree-item:hover{background-color:#f0f7fc}.tree .tree-item .tree-item-name{margin-left:3px}.tree .tree-item .tree-item-name>[class*="icon-"]:first-child{margin-right:3px}.tree .tree-item>[class*="icon-"]:first-child{margin-top:-1px}.tree .tree-folder,.tree .tree-item{position:relative}.tree .tree-folder:before,.tree .tree-item:before{display:inline-block;content:"";position:absolute;top:14px;left:-13px;width:18px;height:0;border-top:1px dotted #67b2dd;z-index:1}.tree .tree-selected{background-color:rgba(98,168,209,0.1);color:#6398b0}.tree .tree-selected:hover{background-color:rgba(98,168,209,0.1)}.tree .tree-item,.tree .tree-folder{border:1px solid #FFF}.tree .tree-folder .tree-folder-header{border-radius:0}.tree .tree-item,.tree .tree-folder .tree-folder-header{margin:0;padding:5px;color:#4d6878;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.tree .tree-item>[class*="icon-"]:first-child{color:#f9e8ce;width:13px;height:13px;line-height:13px;font-size:11px;text-align:center;border-radius:3px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;background-color:#fafafa;border:1px solid #CCC;box-shadow:0 1px 2px rgba(0,0,0,0.05)}.tree .tree-selected>[class*="icon-"]:first-child{background-color:#f9a021;border-color:#f9a021;color:#FFF}.tree .icon-plus[class*="icon-"]:first-child,.tree .icon-minus[class*="icon-"]:first-child{border:1px solid #DDD;vertical-align:middle;height:11px;width:11px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;text-align:center;border:1px solid #8baebf;line-height:10px;background-color:#FFF;position:relative;z-index:1}.tree .icon-plus[class*="icon-"]:first-child:before{display:block;content:"+";font-family:"Open Sans";font-size:16px;position:relative;z-index:1}.tree .icon-minus[class*="icon-"]:first-child:before{content:"";display:block;width:7px;height:0;border-top:1px solid #4d6878;position:absolute;top:5px;left:2px}.tree .tree-unselectable .tree-item>[class*="icon-"]:first-child{color:#5084a0;width:13px;height:13px;line-height:13px;font-size:10px;text-align:center;border-radius:0;background-color:transparent;border:0;box-shadow:none}.tree [class*="icon-"][class*="-down"]{transform:rotate(-45deg)}.tree .icon-spin{height:auto}.tree .tree-loading{margin-left:36px}.tree img{display:inline;veritcal-align:middle}.gritter-item-wrapper{background-image:none!important;box-shadow:0 2px 10px rgba(50,50,50,0.5);background:rgba(50,50,50,0.92)}.gritter-item-wrapper.gritter-info{background:rgba(49,81,133,0.92)}.gritter-item-wrapper.gritter-error{background:rgba(153,40,18,0.92)}.gritter-item-wrapper.gritter-success{background:rgba(89,131,75,0.92)}.gritter-item-wrapper.gritter-warning{background:rgba(190,112,31,0.92)}.gritter-item-wrapper.gritter-light{background:rgba(245,245,245,0.95);border:1px solid #BBB}.gritter-item-wrapper.gritter-light.gritter-info{background:rgba(232,242,255,0.95)}.gritter-item-wrapper.gritter-light.gritter-info .gritter-item{color:#4a577d}.gritter-item-wrapper.gritter-light.gritter-error{background:rgba(255,235,235,0.95)}.gritter-item-wrapper.gritter-light.gritter-error .gritter-item{color:#894a38}.gritter-item-wrapper.gritter-light.gritter-success{background:rgba(239,250,227,0.95)}.gritter-item-wrapper.gritter-light.gritter-success .gritter-item{color:#416131}.gritter-item-wrapper.gritter-light.gritter-warning{background:rgba(252,248,227,0.95)}.gritter-item-wrapper.gritter-light.gritter-warning .gritter-item{color:#946446}.gritter-item p{line-height:1.8}.gritter-top,.gritter-bottom,.gritter-item{background-image:none}.gritter-close{left:auto;right:3px;background-image:none;width:18px;height:18px;line-height:17px;text-align:center;border:2px solid transparent;border-radius:16px;color:#e17b67}.gritter-close:before{font-family:FontAwesome;font-size:16px;content:"\f00d"}.gritter-info .gritter-close{color:#ffa500}.gritter-error .gritter-close,.gritter-success .gritter-close,.gritter-warning .gritter-close{color:#ffea07}.gritter-close:hover{color:#FFF!important}.gritter-title{text-shadow:none}.gritter-light .gritter-item,.gritter-light .gritter-bottom,.gritter-light .gritter-top,.gritter-light .gritter-close{background-image:none;color:#444}.gritter-light .gritter-title{text-shadow:none}.gritter-light .gritter-close:hover{color:#8a3104!important}.gritter-center{position:fixed;left:33%;right:33%;top:33%}@media only screen and (max-width:767px){.gritter-center{left:16%;right:16%;top:30%}}@media only screen and (max-width:480px){.gritter-center{left:30px;right:30px}}@media only screen and (max-width:320px){.gritter-center{left:10px;right:10px}}.wysiwyg-editor{max-height:250px;height:250px;background-color:#f7f8fa;border-collapse:separate;border:1px solid #bbc0ca;padding:4px;box-sizing:content-box;overflow-y:scroll;overflow-x:hidden;outline:0}.wysiwyg-editor:focus{background-color:#FFF}.wysiwyg-toolbar{line-height:32px;margin:0!important}.wysiwyg-toolbar .dropdown-menu{text-align:left}.wysiwyg-toolbar .btn-group{float:none;font-size:0}.wysiwyg-toolbar .btn-group>.btn,.wysiwyg-toolbar .btn-group>.inline>.btn{float:none;padding-left:0;padding-right:0;text-align:center;border-width:2px;margin-left:1px}.wysiwyg-toolbar .btn-group>.btn>[class*="icon-"]:first-child,.wysiwyg-toolbar .btn-group>.inline>.btn>[class*="icon-"]:first-child{font-size:14px;width:25px;max-width:25px;display:inline-block;border-width:1px!important}.wysiwyg-toolbar .btn-group>.btn.dropdown-toggle>[class*="icon-"]:last-child,.wysiwyg-toolbar .btn-group>.inline>.btn.dropdown-toggle>[class*="icon-"]:last-child{margin-right:4px}.wysiwyg-toolbar .btn-group>.btn.active:after,.wysiwyg-toolbar .btn-group>.inline>.btn.active:after{border-color:transparent;border-style:solid;border-top-color:inherit;border-width:6px 14px;bottom:-13px;left:0;right:0}.wysiwyg-style1 .btn-group>.btn,.wysiwyg-style2 .btn-group>.btn,.wysiwyg-style1 .btn-group>.inline>.btn,.wysiwyg-style2 .btn-group>.inline>.btn{margin:0!important;background:#FFF!important;border:none!important;color:#adb3be!important;text-shadow:none!important}.wysiwyg-style1 .btn-group>.btn.active,.wysiwyg-style2 .btn-group>.btn.active,.wysiwyg-style1 .btn-group>.inline>.btn.active,.wysiwyg-style2 .btn-group>.inline>.btn.active{color:#5b80ce!important}.wysiwyg-style1 .btn-group>.btn.active:after,.wysiwyg-style2 .btn-group>.btn.active:after,.wysiwyg-style1 .btn-group>.inline>.btn.active:after,.wysiwyg-style2 .btn-group>.inline>.btn.active:after{display:none}.wysiwyg-style1 .btn-group,.wysiwyg-style2 .btn-group{position:relative}.wysiwyg-style1 .btn-group:after,.wysiwyg-style2 .btn-group:after{display:block;content:"";position:absolute;left:-2px;width:0;max-width:0;top:6px;bottom:6px;border-left:1px solid #e1e6ea}.wysiwyg-style1 .btn-group:first-child:after,.wysiwyg-style2 .btn-group:first-child:after{display:none}.wysiwyg-style2{background-color:#e5e5e5}.wysiwyg-style2+.wysiwyg-editor{border-color:#DDD;background-color:#FFF;border-top:0}.wysiwyg-style2 .btn-group>.btn,.wysiwyg-style2 .btn-group>.inline>.btn{margin:0 1px 0 0!important;background:#FFF!important;border:none!important;color:#8d939e!important;text-shadow:none!important}.wysiwyg-style2 .btn-group>.btn.active,.wysiwyg-style2 .btn-group>.inline>.btn.active{color:#FFF!important;background:#6aaedf!important}.wysiwyg-style2 .btn-group:after{display:none}.wysiwyg-toolbar .btn-colorpicker{width:24px;height:24px;position:relative;background:#87b87f;background:-moz-linear-gradient(top,#cf3e73 10%,#fff 20%,#2283c5 30%,#fff 40%,#87b87f 50%,#fff 60%,#ffb752 70%,#fff 80%,#d15b47 90%,#fff 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(10%,#cf3e73),color-stop(20%,#fff),color-stop(30%,#2283c5),color-stop(40%,#fff),color-stop(50%,#87b87f),color-stop(60%,#fff),color-stop(70%,#ffb752),color-stop(80%,#fff),color-stop(90%,#d15b47),color-stop(100%,#fff));background:-webkit-linear-gradient(top,#cf3e73 10%,#fff 20%,#2283c5 30%,#fff 40%,#87b87f 50%,#fff 60%,#ffb752 70%,#fff 80%,#d15b47 90%,#fff 100%);background:-o-linear-gradient(top,#cf3e73 10%,#fff 20%,#2283c5 30%,#fff 40%,#87b87f 50%,#fff 60%,#ffb752 70%,#fff 80%,#d15b47 90%,#fff 100%);background:-ms-linear-gradient(top,#cf3e73 10%,#fff 20%,#2283c5 30%,#fff 40%,#87b87f 50%,#fff 60%,#ffb752 70%,#fff 80%,#d15b47 90%,#fff 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#CF3E73',endColorstr='#FFB752',GradientType=0);background:linear-gradient(top,#cf3e73 10%,#fff 20%,#2283c5 30%,#fff 40%,#87b87f 50%,#fff 60%,#ffb752 70%,#fff 80%,#d15b47 90%,#fff 100%)}.wysiwyg-toolbar .dropdown-colorpicker>.dropdown-menu{top:inherit}.wysiwyg-toolbar input[type=file]{position:fixed;z-index:-10;opacity:0;max-width:0;max-height:0;display:block}.wysiwyg-toolbar .wysiwyg-choose-file{display:inline-block;width:auto;margin:4px auto 0;padding-left:5px;padding-right:5px}.wysiwyg-toolbar .dropdown-menu input[type=text]{margin-left:8px;margin-bottom:0}.wysiwyg-toolbar .dropdown-menu input[type=text].form-control{min-width:150px}.wysiwyg-toolbar .dropdown-menu .btn{margin-right:8px;margin-left:1px}.wysiwyg-style1 .btn-colorpicker{width:20px;height:20px}@media screen and (-webkit-min-device-pixel-ratio:0){.wysiwyg-editor img{display:inline!important}.wysiwyg-editor .ui-wrapper{border:1px dotted #D00;overflow:visible!important;display:inline-block!important;vertical-align:middle}.wysiwyg-editor .ui-wrapper:after{content:"";display:block;position:absolute;right:-3px;bottom:-3px;width:7px;height:7px;border:1px solid #D00;background-color:#FFF;z-index:1}}.widget-header .wysiwyg-toolbar{background-color:transparent}.widget-header .wysiwyg-toolbar .btn-group>.btn,.widget-header .wysiwyg-toolbar .btn-group>.inline>.btn{border-color:transparent;background:rgba(255,255,255,0.25)!important;color:#FFF!important;border-width:1px}.widget-header .wysiwyg-toolbar .btn-group>.btn.active,.widget-header .wysiwyg-toolbar .btn-group>.inline>.btn.active{background:rgba(0,0,0,0.25)!important}.widget-body .wysiwyg-editor{border:0}.wysiwyg-speech-input{width:20px!important;color:transparent!important;background:transparent none!important;border:none!important;-moz-transform:scale(2.0,2.0);-webkit-transform:scale(2.0,2.0);-o-transform:scale(2.0,2.0);-ms-transform:scale(2.0,2.0);transform:scale(2.0,2.0);-webkit-box-shadow:none!important;box-shadow:none!important;cursor:pointer}.wysiwyg-speech-input:focus{-webkit-box-shadow:none!important;box-shadow:none!important}.widget-body .md-header{margin-top:-30px;margin-left:9px}.widget-body .md-header .btn{border-color:transparent;background:rgba(255,255,255,0.25)!important;color:#FFF!important;text-align:center;padding-left:0;padding-right:0;border-width:1px!important;padding-top:2px;padding-bottom:4px}.widget-body .md-header .btn>[class*="icon-"]{font-size:14px;width:25px;max-width:25px;display:inline-block}.widget-body .md-header .btn-inverse{background:rgba(0,0,0,0.25)!important;padding-right:5px;margin-left:4px}.widget-body .md-preview{padding:8px;min-height:200px}.widget-body .md-input{border:none!important;box-shadow:none!important;display:block;margin-bottom:0;background-color:rgba(48,126,204,0.07);padding:8px;width:100%}.widget-body .md-input:focus{background-color:#FFF;box-shadow:none!important}.editable-container .popover-title{color:#438eb9}.editable-click{border-bottom:1px dashed #BBB;cursor:pointer;font-weight:normal}img.editable-click{border:1px dotted #BBB}.editable-click:hover{border-color:#08c;color:#08c}img.editable-click:hover{opacity:.75;filter:alpha(opacity=75)}.editable-buttons,.editable-input{display:inline-block}.editable-buttons{margin-left:1px}.editable-buttons .btn{padding:0;width:28px;line-height:24px;border-width:3px;font-size:12px;margin:0 1px 0 0}.editable-buttons .btn>[class*="icon-"]{margin:0}.editable-clear-x{cursor:pointer;color:#888;background:0}.editable-clear-x:hover{color:#d15b47}.editable-clear-x:before{display:inline-block;content:"\f057";font-family:FontAwesome;font-size:15px;position:absolute;margin-top:-9px;width:16px;height:30px;line-height:30px;text-align:center}.editable-input .ace-spinner{margin-right:8px}.editable-inline .editable-slider{margin-top:10px;margin-right:4px}.editable-popup .editable-slider{display:block;margin-bottom:16px;margin-top:4px}.editable-slider input{display:none}.editable-input .ace-file-input{display:block}.editable-image .ace-file-multiple label.selected{border-color:transparent}.editable-image+.editable-buttons,.editable-wysiwyg+.editable-buttons{display:block;text-align:center;margin-top:8px}.editable-wysiwyg{width:95%}.editable-wysiwyg .wysiwyg-editor{height:auto;overflow-y:hidden}.editableform .input-append.dropdown-menu{display:none}.editableform .open .input-append.dropdown-menu{display:block}.editable-container .editableform{margin-bottom:10px}.editable-inline .editableform{margin-bottom:0}.editableform-loading{background:0}.editableform-loading [class*="icon-"],.editableform-loading .progress{position:relative;top:35%}.ui-slider{background-color:#CCC}.ui-slider-horizontal{height:9px}.ui-slider-vertical{width:9px}.ui-slider .ui-slider-handle{border-radius:0;width:1.45em;height:1.45em;background-color:#f5f5f5;border:1px solid}.ui-slider .ui-slider-handle:before{display:inline-block;content:"|||";font-size:8px;font-family:Helvetica,Arial,sans-serif;position:absolute;top:0;bottom:0;left:0;right:0;text-align:center;line-height:15px}.ui-slider .ui-slider-handle:hover{background-color:#FFF}.ui-slider .ui-slider-handle:hover,.ui-slider .ui-slider-handle:focus,.ui-slider .ui-slider-handle:active{outline:0;box-shadow:1px 1px 1px 0 rgba(0,0,0,0.3);text-decoration:none}.ui-slider .ui-slider-handle:hover:before,.ui-slider .ui-slider-handle:focus:before,.ui-slider .ui-slider-handle:active:before{text-shadow:1px 1px 1px rgba(0,0,0,0.3)}.ui-slider-horizontal .ui-slider-handle{margin-left:-0.725em;top:-0.4em}.ui-slider-vertical .ui-slider-handle{left:-0.35em;margin-bottom:-0.65em}.ui-slider-small.ui-slider-horizontal{height:5px}.ui-slider-small.ui-slider-vertical{width:5px}.ui-slider-small .ui-slider-handle{border-radius:24px;width:16px;height:16px;top:-5px}.ui-slider-small .ui-slider-handle:before{font-size:6px;line-height:13px}.ui-slider-range{background-color:#4aa4ce}.ui-slider-handle{outline:none!important}.ui-slider-handle,.ui-slider-handle:hover,.ui-slider-handle:focus,.ui-slider-handle:active{border-color:#4aa4ce;color:#4aa4ce}.ui-slider-green .ui-slider-range{background-color:#8bbc67}.ui-slider-green .ui-slider-handle,.ui-slider-green .ui-slider-handle:hover,.ui-slider-green .ui-slider-handle:focus,.ui-slider-green .ui-slider-handle:active{border-color:#8bbc67;color:#8bbc67}.ui-slider-red .ui-slider-range{background-color:#d36e6e}.ui-slider-red .ui-slider-handle,.ui-slider-red .ui-slider-handle:hover,.ui-slider-red .ui-slider-handle:focus,.ui-slider-red .ui-slider-handle:active{border-color:#d36e6e;color:#d36e6e}.ui-slider-purple .ui-slider-range{background-color:#ac68ba}.ui-slider-purple .ui-slider-handle,.ui-slider-purple .ui-slider-handle:hover,.ui-slider-purple .ui-slider-handle:focus,.ui-slider-purple .ui-slider-handle:active{border-color:#ac68ba;color:#ac68ba}.ui-slider-orange .ui-slider-range{background-color:#efad62}.ui-slider-orange .ui-slider-handle,.ui-slider-orange .ui-slider-handle:hover,.ui-slider-orange .ui-slider-handle:focus,.ui-slider-orange .ui-slider-handle:active{border-color:#efad62;color:#efad62}.ui-slider-dark .ui-slider-range{background-color:#606060}.ui-slider-dark .ui-slider-handle,.ui-slider-dark .ui-slider-handle:hover,.ui-slider-dark .ui-slider-handle:focus,.ui-slider-dark .ui-slider-handle:active{border-color:#606060;color:#606060}.ui-slider-pink .ui-slider-range{background-color:#d6487e}.ui-slider-pink .ui-slider-handle,.ui-slider-pink .ui-slider-handle:hover,.ui-slider-pink .ui-slider-handle:focus,.ui-slider-pink .ui-slider-handle:active{border-color:#d6487e;color:#d6487e}.ui-datepicker{background-color:#FFF;border:1px solid rgba(0,0,0,0.2);-webkit-box-shadow:0 2px 4px rgba(0,0,0,0.2);box-shadow:0 2px 4px rgba(0,0,0,0.2)}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{height:26px;min-width:32px;max-width:32px;text-align:center;cursor:pointer;color:transparent;line-height:26px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.ui-datepicker .ui-datepicker-prev .ui-icon,.ui-datepicker .ui-datepicker-next .ui-icon{color:transparent;visibility:hidden}.ui-datepicker .ui-datepicker-prev:hover,.ui-datepicker .ui-datepicker-next:hover{background-color:#EEE;text-decoration:none}.ui-datepicker .ui-datepicker-prev:before,.ui-datepicker .ui-datepicker-next:before{display:inline;font-family:FontAwesome;font-size:14px;content:"\f060";color:#393939}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:2px}.ui-datepicker .ui-datepicker-next:before{content:"\f061"}.ui-datepicker .ui-datepicker-prev-hover{left:2px}.ui-datepicker .ui-datepicker-next-hover{right:2px}.ui-datepicker td{padding:0}.ui-datepicker td>a,.ui-datepicker td>span{display:inline-block;height:22px;min-width:24px;max-width:24px;text-align:center;color:#393939;font-size:13px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.ui-datepicker td>a:hover{background-color:#EEE}.ui-datepicker td>a.ui-state-highlight{background-color:#d5e5ef}.ui-datepicker td>a.ui-state-active{background-color:#2283c5;color:#FFF}.ui-datepicker td>a.ui-priority-secondary{color:#888}.ui-datepicker td>span{color:#999}.ui-datepicker td .ui-datepicker-title select{height:24px;line-height:24px;padding:2px 3px}.ui-datepicker td .ui-datepicker-buttonpane{background-color:#DDD;height:1px}.ui-widget-overlay{background:rgba(0,0,0,0.25);opacity:1!important;filter:alpha(opacity=100)!important;z-index:1040!important}.ui-dialog,.ui-jqdialog{z-index:1050!important;background-color:#FFF;padding:0;border:1px solid #DDD;-webkit-box-shadow:0 2px 4px rgba(0,0,0,0.2);box-shadow:0 2px 4px rgba(0,0,0,0.2)}.ui-dialog .ui-dialog-titlebar,.ui-jqdialog .ui-dialog-titlebar,.ui-dialog .ui-jqdialog-titlebar,.ui-jqdialog .ui-jqdialog-titlebar{background-color:#f1f1f1;font-size:16px;color:#669fc7;padding:0}.ui-dialog .ui-dialog-title,.ui-jqdialog .ui-dialog-title,.ui-dialog .ui-jqdialog-title,.ui-jqdialog .ui-jqdialog-title{float:none;width:auto}.ui-dialog .widget-header,.ui-jqdialog .widget-header{margin:0;border-width:0 0 1px 0}.ui-dialog .ui-dialog-buttonpane,.ui-jqdialog .ui-dialog-buttonpane,.ui-dialog .ui-jqdialog-buttonpane,.ui-jqdialog .ui-jqdialog-buttonpane{background-color:#eff3f8;border-top:1px solid #e4e9ee}.ui-dialog .ui-dialog-buttonpane button,.ui-jqdialog .ui-dialog-buttonpane button,.ui-dialog .ui-jqdialog-buttonpane button,.ui-jqdialog .ui-jqdialog-buttonpane button{font-size:14px}.ui-dialog .ui-dialog-titlebar-close,.ui-jqdialog .ui-dialog-titlebar-close,.ui-dialog .ui-jqdialog-titlebar-close,.ui-jqdialog .ui-jqdialog-titlebar-close{border:0;background:transparent;opacity:.4;color:#d15b47;padding:0;top:50%;right:8px!important;text-align:center}.ui-dialog .ui-dialog-titlebar-close:before,.ui-jqdialog .ui-dialog-titlebar-close:before,.ui-dialog .ui-jqdialog-titlebar-close:before,.ui-jqdialog .ui-jqdialog-titlebar-close:before{content:"\f00d";display:inline;font-family:FontAwesome;font-size:16px}.ui-dialog .ui-dialog-titlebar-close:hover,.ui-jqdialog .ui-dialog-titlebar-close:hover,.ui-dialog .ui-jqdialog-titlebar-close:hover,.ui-jqdialog .ui-jqdialog-titlebar-close:hover{opacity:1;text-decoration:none;padding:0}.ui-dialog .ui-dialog-titlebar-close .ui-button-text,.ui-jqdialog .ui-dialog-titlebar-close .ui-button-text,.ui-dialog .ui-jqdialog-titlebar-close .ui-button-text,.ui-jqdialog .ui-jqdialog-titlebar-close .ui-button-text{text-indent:0;visibility:hidden}.ui-dialog .widget-header .ui-dialog-titlebar-close,.ui-jqdialog .widget-header .ui-dialog-titlebar-close,.ui-dialog .widget-header .ui-jqdialog-titlebar-close,.ui-jqdialog .widget-header .ui-jqdialog-titlebar-close{right:10px!important}.ui-accordion .ui-accordion-header{color:#478fca;font-weight:normal;background-color:#f9f9f9;border:1px solid #cdd8e3;padding:8px 8px 9px 24px}.ui-accordion .ui-accordion-header:hover{color:#6ea6cc;background-color:#f1f8fd}.ui-accordion .ui-accordion-header.ui-state-active{color:#4c8fbd;background-color:#eef4f9;position:relative;font-weight:bold}.ui-accordion .ui-accordion-header .ui-accordion-header-icon{text-indent:0;margin-top:0;position:absolute;left:10px;top:7px}.ui-accordion .ui-accordion-header .ui-accordion-header-icon:before{display:inline;font-family:FontAwesome;font-size:15px;content:"\f0da"}.ui-accordion .ui-accordion-header.ui-state-active .ui-accordion-header-icon:before{content:"\f0d7";font-weight:normal}.ui-accordion .ui-accordion-content{border:1px solid #cdd8e3;border-top-width:0;padding:11px 16px}.ui-tabs .ui-tabs-nav{padding:0;border-bottom:1px solid #c5d0dc}.ui-tabs .ui-tabs-nav li.ui-state-default>a{background-color:#f9f9f9;border:1px solid #c5d0dc;border-bottom-width:0;color:#999;line-height:16px;margin-right:-1px;z-index:11;padding:8px 12px;position:relative;top:2px}.ui-tabs .ui-tabs-nav li>a:focus{outline:0}.ui-tabs .ui-tabs-nav li.ui-tabs-active>a{background-color:#FFF;border:1px solid;border-color:#4c8fbd #c5d0dc transparent;border-top-width:2px;-webkit-box-shadow:0 -2px 3px 0 rgba(0,0,0,0.15);box-shadow:0 -2px 3px 0 rgba(0,0,0,0.15);color:#576373;position:relative;top:1px}.ui-tabs .ui-tabs-panel{border:1px solid #c5d0dc;border-top-width:0;margin:0;left:auto;right:auto;top:auto;bottom:auto}.ui-menu{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;width:150px;-webkit-box-shadow:0 2px 4px rgba(0,0,0,0.2);box-shadow:0 2px 4px rgba(0,0,0,0.2);background-color:#FFF;border:1px solid rgba(0,0,0,0.2);padding:3px}.ui-menu .ui-menu-item a{padding:4px 7px 5px;color:#444;cursor:pointer;-webkit-box-sizing:inherit;-moz-box-sizing:inherit;box-sizing:inherit}.ui-menu .ui-menu-item a .ui-menu-icon{float:right;position:relative;top:0;left:auto;right:auto;bottom:auto;text-indent:0}.ui-menu .ui-menu-item a .ui-menu-icon:before{content:"\f105";font-family:FontAwesome;font-size:14px;display:inline}.ui-menu .ui-menu-item a:hover,.ui-menu .ui-menu-item a.ui-state-focus,.ui-menu .ui-menu-item a.ui-state-active{background-color:#4f99c6;color:#FFF;margin:auto;font-weight:normal}.ui-menu .ui-menu-item a:hover .ui-menu-icon,.ui-menu .ui-menu-item a.ui-state-focus .ui-menu-icon,.ui-menu .ui-menu-item a.ui-state-active .ui-menu-icon{color:#FFF}.ui-menu .ui-state-disabled a{color:#999;cursor:default}.ui-menu .ui-state-disabled a:hover,.ui-menu .ui-state-disabled a.ui-state-focus,.ui-menu .ui-state-disabled a.ui-state-active{background-color:#FFF;color:#999}.ui-autocomplete{background-color:#FFF;border:1px solid rgba(0,0,0,0.2);-webkit-box-shadow:0 2px 4px rgba(0,0,0,0.2);box-shadow:0 2px 4px rgba(0,0,0,0.2)}.ui-autocomplete-category{padding:6px;position:relative;background-color:#eef4f9;color:#478fca;font-weight:bolder;border:1px solid #dae6ed;border-width:1px 0}.ui-spinner-button{border-width:0!important;font-size:10px;height:14px;line-height:14px;width:18px;color:#fff!important;text-shadow:0 -1px 0 rgba(0,0,0,0.25)!important;display:inline-block;position:absolute;text-align:center;padding:0}.ui-spinner-button>[class*="icon-"]{width:18px;display:inline-block}.ui-spinner-up{top:0;right:5px}.ui-spinner-down{bottom:3px;right:5px}.ui-spinner-input{margin-top:0;padding:5px;max-width:100px;font-size:14px}.ui-tooltip{background-color:#444;color:#FFF}.ui-progressbar{background-color:#dadada;height:22px}.ui-progressbar .ui-progressbar-value{margin:0}.ui-progressbar .ui-progressbar-value[class="progress-bar"]{background-color:#2a91d8}.ui-jqgrid .ui-jqgrid-view,.ui-jqgrid .ui-paging-info,.ui-jqgrid .ui-pg-table,.ui-jqgrid .ui-pg-selbox{font-size:13px}.ui-jqgrid .ui-jqgrid-title{float:left;margin:8px}.ui-jqgrid .ui-jqgrid-title-rtl{float:right;margin:8px}.ui-jqgrid-view>.ui-jqgrid-titlebar{height:40px;line-height:24px;color:#FFF;background:#307ecc;padding:0;font-size:15px}.ui-jqgrid tr.jqgrow.ui-row-rtl td:last-child{border-right:0;border-left:1px solid #e1e1e1}.ui-jqgrid .ui-jqgrid-hdiv{background-color:#eff3f8;border:1px solid #d3d3d3;border-width:1px 0 0 1px;line-height:15px;font-weight:bold;color:#777;text-shadow:none}.ui-jqgrid .ui-jqgrid-htable thead{background-color:#eff3f8}.ui-jqgrid .ui-jqgrid-htable th span.ui-jqgrid-resize{height:45px!important}.ui-jqgrid .ui-jqgrid-htable th div{padding-top:12px;padding-bottom:12px}.ui-jqgrid-hdiv .ui-jqgrid-htable{border-top:0}.ui-jqgrid-hdiv .ui-jqgrid-htable{border-top:1px solid #e1e1e1}.ui-jqgrid-titlebar{position:relative;top:1px;z-index:1}.ui-jqgrid tr.jqgrow,.ui-jqgrid tr.ui-row-ltr,.ui-jqgrid tr.ui-row-rtl{border:0}.ui-jqgrid tr.ui-row-ltr td,.ui-jqgrid tr.ui-row-rtl td{border-bottom:1px solid #e1e1e1;padding:6px 4px;border-color:#e1e1e1}.ui-jqgrid tr.ui-state-highlight.ui-row-ltr td{border-right-color:#c7d3a9}.ui-jqgrid tr.ui-state-highlight.ui-row-rtl td{border-left-color:#c7d3a9}.ui-jqgrid-btable .ui-widget-content.ui-priority-secondary{background-image:none;background-color:#f9f9f9;opacity:1}.ui-jqgrid-btable .ui-widget-content.ui-state-hover{background-image:none;background-color:#eff4f7;opacity:1}.ui-jqgrid-btable .ui-widget-content.ui-state-highlight{background-color:#e4efc9}.ui-jqgrid .ui-jqgrid-pager{line-height:15px;height:55px;padding-top:3px!important;padding-bottom:5px!important;background-color:#eff3f8!important;border-bottom:1px solid #e1e1e1!important;border-top:1px solid #e1e1e1!important}.ui-jqgrid .ui-pg-input{font-size:inherit;width:24px;height:20px;line-height:16px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;text-align:center;padding-top:1px;padding-bottom:1px}.ui-jqgrid .ui-pg-selbox{display:block;height:24px;width:60px;margin:0;padding:1px;line-height:normal}.ui-jqgrid .ui-jqgrid-htable th div{overflow:visible}.ui-jqgrid .ui-pager-control{height:50px;position:relative;padding-left:9px;padding-right:9px}.ui-jqgrid .ui-jqgrid-toppager{height:auto!important;background-color:#eff3f8;border-bottom:1px solid #e1e1e1!important}.ui-jqgrid .jqgrow .editable{max-width:90%;max-width:calc(92%)!important}.ui-pg-table .navtable .ui-corner-all{border-radius:0}.ui-jqgrid .ui-pg-button:hover{padding:1px}.ui-jqgrid .ui-pg-button .ui-separator{margin-left:4px;margin-right:4px;border-color:#c9d4db}.ui-jqgrid .ui-jqgrid-btable{border-left:1px solid #e1e1e1}.ui-jqgrid .ui-jqgrid-bdiv{border-top:1px solid #e1e1e1}.ui-jqgrid .loading{position:absolute;top:45%;left:45%;width:auto;height:auto;z-index:101;padding:6px;margin:5px;text-align:center;display:none;font-weight:bold;font-size:12px;background-color:#FFF;border:2px solid #8eb8d1;color:#e2b018}.ui-jqgrid .ui-search-toolbar{border-top:1px solid #e1e1e1}.ui-jqgrid .ui-jqgrid-labels{border-bottom:0;background:#f2f2f2;background-image:-webkit-gradient(linear,left 0,left 100%,from(#f8f8f8),to(#ececec));background-image:-webkit-linear-gradient(top,#f8f8f8,0%,#ececec,100%);background-image:-moz-linear-gradient(top,#f8f8f8 0,#ececec 100%);background-image:linear-gradient(to bottom,#f8f8f8 0,#ececec 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff8f8f8',endColorstr='#ffececec',GradientType=0);padding:0!important;border-left:1px solid #e1e1e1!important}.ui-jqgrid .ui-jqgrid-labels th{border-right:1px solid #e1e1e1!important;text-align:left!important}.ui-jqgrid-labels th[id*="_cb"]:first-child>div{padding-top:0;text-align:center!important}.ui-jqgrid-sortable{padding-left:4px;font-size:13px;color:#777;font-weight:bold}.ui-jqgrid-sortable:hover{color:#547ea8}th[aria-selected=true]{background-image:-webkit-gradient(linear,left 0,left 100%,from(#eff3f8),to(#e3e7ed));background-image:-webkit-linear-gradient(top,#eff3f8,0%,#e3e7ed,100%);background-image:-moz-linear-gradient(top,#eff3f8 0,#e3e7ed 100%);background-image:linear-gradient(to bottom,#eff3f8 0,#e3e7ed 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffeff3f8',endColorstr='#ffe3e7ed',GradientType=0)}th[aria-selected=true] .ui-jqgrid-sortable{color:#307ecc}.ui-icon{text-indent:0;color:#307ecc;float:none;right:2px;position:absolute}.rtl .ui-icon{right:auto;left:2px}.ui-grid-ico-sort:before{display:inline;content:"\f0d7";font-family:FontAwesome;font-size:12px}.ui-icon-asc:before{content:"\f0d8"}.ui-state-disabled{color:#BBB}.ui-pg-table>tbody>tr>.ui-pg-button>.ui-icon{display:inline-block;padding:0;width:24px;height:24px;line-height:22px;text-align:center;position:static;float:none;margin:0 2px!important;color:#808080;border:1px solid #CCC;background-color:#FFF;border-radius:100%}.ui-pg-table>tbody>tr>.ui-pg-button>.ui-icon:hover{color:#699ab5;border-color:#699ab5}.ui-pg-table>tbody>tr>.ui-pg-button>.ui-icon:before{width:20px;text-align:center;display:inline-block}.ui-pg-table>tbody>tr>.ui-pg-button.ui-state-disabled .ui-icon{color:#b0b0b0;background-color:#f7f7f7;border-color:#DDD;-moz-transform:scale(0.9);-webkit-transform:scale(0.9);-o-transform:scale(0.9);-ms-transform:scale(0.9);transform:scale(0.9)}.ui-jqgrid-btable input,.ui-jqgrid-btable textarea,.ui-jqgrid-btable select{padding:2px;width:auto;max-width:100%;margin-bottom:0}.ui-jqgrid-btable select{padding:1px;height:25px;line-height:25px}.ui-pg-div .ui-icon{display:inline-block;width:18px;float:none;position:static;text-align:center;opacity:.85;-webkit-transition:all .12s;transition:all .12s;margin:0 1px;vertical-align:middle;cursor:pointer;font-size:17px}.ui-pg-div .ui-icon:hover{-moz-transform:scale(1.2);-webkit-transform:scale(1.2);-o-transform:scale(1.2);-ms-transform:scale(1.2);transform:scale(1.2);opacity:1;position:static;margin:0 1px}.ui-pg-div .ui-icon:before{font-family:FontAwesome;display:inline}.ui-icon-pencil{color:#478fca}.ui-icon-pencil:before{content:"\f040"}.ui-icon-trash{color:#dd5a43}.ui-icon-trash:before{content:"\f014"}.ui-icon-disk{color:#69aa46}.ui-icon-disk:before{content:"\f00c"}.ui-icon-cancel{color:#dd5a43}.ui-icon-cancel:before{content:"\f00d"}.ui-jqdialog-content,.ui-jqdialog .ui-jqdialog-content{font-size:13px;padding:4px 0 0}.ui-jqdialog-content .formdata,.ui-jqdialog .ui-jqdialog-content .formdata{font-size:13px;padding:6px 12px}.ui-jqdialog-content .form-view-data,.ui-jqdialog .ui-jqdialog-content .form-view-data{vertical-align:middle;font-size:13px}.ui-jqdialog-content[id*="alertcnt_"],.ui-jqdialog .ui-jqdialog-content[id*="alertcnt_"]{padding:8px 11px}.ui-jqdialog-content .CaptionTD{font-size:12px;text-align:right;color:#666}.ui-jqdialog-content .FormData{border-bottom:1px dotted #e8e8e8}.ui-jqdialog-content .FormData:last-child{border-bottom:0}.ui-jqdialog-content .FormData>td{padding-top:6px;padding-bottom:6px}.ui-jqdialog-content input.FormElement{width:auto}.ui-jqdialog-content select.FormElement{padding:1px;height:25px;line-height:25px;width:auto}.ui-jqdialog-content td.EditButton{padding:8px}.EditTable{background-color:#eff3f8;border-top:1px solid #d6e1ea!important;padding:8px}.EditTable tr:first-child{display:none}.EditTable .navButton .fm-button{float:none!important;width:auto!important;margin:1px 1px 2px!important;background-color:transparent;border-radius:100%}.EditTable .navButton .fm-button:hover{background-color:transparent}.EditTable .navButton .fm-button:focus{outline:0}.EditTable .navButton .fm-button [class*="icon-"]{display:inline-block;color:#999;border:1px solid #AAA;width:26px;height:26px;line-height:26px;text-align:center;border-radius:100%;background-color:#FFF}.EditTable .navButton .fm-button:hover [class*="icon-"]{color:#699ab5;border-color:#699ab5}.EditTable .navButton .fm-button.ui-state-disabled [class*="icon-"],.EditTable .navButton .fm-button.ui-state-disabled:hover [class*="icon-"]{color:#BBB;border-color:#CCC;-moz-transform:scale(0.88);-webkit-transform:scale(0.88);-o-transform:scale(0.88);-ms-transform:scale(0.88);transform:scale(0.88)}.FormGrid .EditTable{background-color:#FFF;border-top:none!important;padding:0}.FormGrid .EditTable tr:first-child{display:none}.ui-jqdialog-content .searchFilter select{padding:1px;height:26px;line-height:26px;width:auto;max-width:95%;margin-bottom:0}.ui-jqdialog-content .searchFilter .input-elm{margin-bottom:0;height:18px;line-height:18px;width:95%!important;padding-left:1px;padding-right:1px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.ui-jqdialog-content .searchFilter table{margin-left:4px}.ui-jqdialog-content .searchFilter tr td{padding:5px 0}.ui-jqdialog-content .searchFilter .add-group,.ui-jqdialog-content .searchFilter .add-rule,.ui-jqdialog-content .searchFilter .delete-group{margin-left:4px!important;font-size:15px!important}.ui-jqdialog-content .searchFilter .delete-rule{border:0;background-color:#FFF;color:#d15b47;font-size:20px;width:22px;line-height:10px;padding:0;text-shadow:none!important;display:inline-block;-webkit-transition:all .1s;transition:all .1s;opacity:.85}.ui-jqdialog-content .searchFilter .delete-rule:hover{-moz-transform:scale(1.1);-webkit-transform:scale(1.1);-o-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1);color:#b74635;opacity:1}.ui-jqdialog-content .searchFilter .queryresult{margin-bottom:11px}.ui-jqdialog-content .searchFilter .queryresult td.query{padding:6px 11px;border:1px solid #e1e1e1;background-color:#eee}.ui-jqdialog-content .searchFilter .queryresult td.query:empty{display:none}.ui-state-error{background-color:#f2dede;border:1px solid #eed3d7;color:#b94a48;margin:4px 4px 8px;padding:6px 10px;text-shadow:0 1px 0 rgba(255,255,255,0.5);font-size:13px}.ui-jqdialog .ui-widget-header{background-image:-webkit-gradient(linear,left 0,left 100%,from(#fff),to(#eee));background-image:-webkit-linear-gradient(top,#fff,0%,#eee,100%);background-image:-moz-linear-gradient(top,#fff 0,#eee 100%);background-image:linear-gradient(to bottom,#fff 0,#eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffeeeeee',GradientType=0);border-image:none;border-bottom:1px solid solid;color:#669fc7;min-height:38px;position:relative}.ui-jqdialog .ui-widget-header .ui-jqdialog-title{line-height:38px;margin:0;padding:0;padding-left:12px;text-align:left}.widget-header .ui-jqdialog-title{padding-left:0!important;padding-right:0!important}.ui-jqdialog .ui-widget-header .widget-header{border-bottom:0}.ui-jqdialog .ui-jqdialog-titlebar{border-bottom:1px solid #DDD!important}.fm-button{margin:0 4px}.fm-button:not(.btn){background-color:#abbac3;border-radius:0;box-shadow:none;color:#fff;cursor:pointer;display:inline-block;font-size:13px;line-height:28px;padding:0 12px 1px;margin:0 8px;position:relative;text-shadow:0 -1px 0 rgba(0,0,0,0.25);-webkit-transition:all .15s;transition:all .15s;vertical-align:middle}.fm-button.ui-state-default:hover{background-color:#8b9aa3}.dd{position:relative;display:block;margin:0;padding:0;max-width:600px;list-style:none;line-height:20px}.dd-list{display:block;position:relative;margin:0;padding:0;list-style:none}.dd-list .dd-list{padding-left:30px}.dd-collapsed .dd-list{display:none}.dd-item,.dd-empty,.dd-placeholder{display:block;position:relative;margin:0;padding:0;min-height:20px;line-height:20px}.dd-handle,.dd2-content{display:block;min-height:38px;margin:5px 0;padding:8px 12px;background:#f8faff;border:1px solid #dae2ea;color:#7c9eb2;text-decoration:none;font-weight:bold;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.dd-handle:hover,.dd2-content:hover{color:#438eb9;background:#f4f6f7;border-color:#dce2e8}.dd-handle[class*="btn-"],.dd2-content[class*="btn-"]{color:#FFF;border:0;padding:9px 12px}.dd-handle[class*="btn-"]:hover,.dd2-content[class*="btn-"]:hover{opacity:.85;color:#FFF}.dd2-handle+.dd2-content,.dd2-handle+.dd2-content[class*="btn-"]{padding-left:44px}.dd-handle[class*="btn-"]:hover,.dd2-content[class*="btn-"] .dd2-handle[class*="btn-"]:hover+.dd2-content[class*="btn-"]{color:#FFF}.dd-item>button:hover ~ .dd-handle,.dd-item>button:hover ~ .dd2-content{color:#438eb9;background:#f4f6f7;border-color:#dce2e8}.dd-item>button:hover ~ .dd-handle[class*="btn-"],.dd-item>button:hover ~ .dd2-content[class*="btn-"]{opacity:.85;color:#FFF}.dd2-handle:hover ~ .dd2-content{color:#438eb9;background:#f4f6f7;border-color:#dce2e8}.dd2-handle:hover ~ .dd2-content[class*="btn-"]{opacity:.85;color:#FFF}.dd2-item.dd-item>button{margin-left:34px}.dd-item>button{display:block;position:relative;z-index:1;cursor:pointer;float:left;width:25px;height:20px;margin:5px 1px 5px 5px;padding:0;text-indent:100%;white-space:nowrap;overflow:hidden;border:0;background:transparent;font-size:12px;line-height:1;text-align:center;font-weight:bold;top:4px;left:1px;color:#707070}.dd-item>button:before{font-family:FontAwesome;content:'\f067';display:block;position:absolute;width:100%;text-align:center;text-indent:0;font-weight:normal;font-size:14px}.dd-item>button[data-action="collapse"]:before{content:'\f068'}.dd-item>button:hover{color:#707070}.dd-item.dd-colored>button,.dd-item.dd-colored>button:hover{color:#EEE}.dd-placeholder,.dd-empty{margin:5px 0;padding:0;min-height:30px;background:#f0f9ff;border:2px dashed #bed2db;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.dd-empty{border-color:#AAA;border-style:solid;background-color:#e5e5e5}.dd-dragel{position:absolute;pointer-events:none;z-index:999;opacity:.8}.dd-dragel>li>.dd-handle{color:#4b92be;background:#f1f5fa;border-color:#d6e1ea;border-left:2px solid #777;position:relative}.dd-dragel>li>.dd-handle[class*="btn-"]{color:#FFF}.dd-dragel>.dd-item>.dd-handle{margin-top:0}.dd-list>li[class*="item-"]{border-width:0;padding:0}.dd-list>li[class*="item-"]>.dd-handle{border-left:2px solid;border-left-color:inherit}.dd-list>li>.dd-handle .sticker{position:absolute;right:0;top:0}.dd2-handle,.dd-dragel>li>.dd2-handle{left:0;top:0;width:36px;margin:0;border-width:1px 1px 0 0;text-align:center;padding:0!important;line-height:38px;height:38px;background:#ebedf2;border:1px solid #dee4ea;cursor:pointer;overflow:hidden;position:absolute;z-index:1}.dd2-handle:hover,.dd-dragel>li>.dd2-handle{background:#e3e8ed}.dd2-content[class*="btn-"]{text-shadow:none!important}.dd2-handle[class*="btn-"]{text-shadow:none!important;background:rgba(0,0,0,0.1)!important;border-right:1px solid #EEE}.dd2-handle[class*="btn-"]:hover{background:rgba(0,0,0,0.08)!important}.dd-dragel .dd2-handle[class*="btn-"]{border-color:transparent;border-right-color:#EEE}.dd2-handle.btn-yellow{text-shadow:none!important;background:rgba(0,0,0,0.05)!important;border-right:1px solid #FFF}.dd2-handle.btn-yellow:hover{background:rgba(0,0,0,0.08)!important}.dd-dragel .dd2-handle.btn-yellow{border-color:transparent;border-right-color:#FFF}.dd-item>.dd2-handle .drag-icon{display:none}.dd-dragel>.dd-item>.dd2-handle .drag-icon{display:inline}.dd-dragel>.dd-item>.dd2-handle .normal-icon{display:none}.dropzone{border-radius:0;border:1px solid rgba(0,0,0,0.06)}.dropzone .dz-default.dz-message{background-image:none;font-size:24px;text-align:center;line-height:32px;left:0;width:100%;margin-left:auto}.dropzone .dz-default.dz-message span{display:inline;color:#555}.dropzone .dz-default.dz-message span .upload-icon{opacity:.7;filter:alpha(opacity=70);margin-top:8px;cursor:pointer}.dropzone .dz-default.dz-message span .upload-icon:hover{opacity:1;filter:alpha(opacity=100)}.dropzone .dz-preview .dz-error-mark,.dropzone-previews .dz-preview .dz-error-mark,.dropzone .dz-preview .dz-success-mark,.dropzone-previews .dz-preview .dz-success-mark{background-image:none;background-color:rgba(255,255,255,0.8);border-radius:100%;text-align:center;line-height:35px}.dropzone .dz-preview .dz-error-mark:before,.dropzone-previews .dz-preview .dz-error-mark:before{font-family:FontAwesome;font-size:30px;color:#db6262;content:"\f00d"}.dropzone .dz-preview .dz-success-mark:before,.dropzone-previews .dz-preview .dz-success-mark:before{font-family:FontAwesome;font-size:30px;color:#6da552;content:"\f00c"}.dropzone a.dz-remove,.dropzone-previews a.dz-remove{border:0;border-radius:0;color:#FFF;background:#d15b47;cursor:pointer}.dropzone a.dz-remove:hover,.dropzone-previews a.dz-remove:hover{color:#FFF;background:#b74635}.dropzone .progress,.dropzone-previews .progress{margin-bottom:0}.dropzone .dz-preview.dz-success .progress,.dropzone-previews .dz-preview.dz-success .progress,.dropzone .dz-preview.dz-error .progress,.dropzone-previews .dz-preview.dz-error .progress{display:none}.icon-animated-bell{display:inline-block;-moz-animation:ringing 2.0s 5 ease 1.0s;-webkit-animation:ringing 2.0s 5 ease 1.0s;-o-animation:ringing 2.0s 5 ease 1.0s;-ms-animation:ringing 2.0s 5 ease 1.0s;animation:ringing 2.0s 5 ease 1.0s;-moz-transform-origin:50% 0;-webkit-transform-origin:50% 0;-o-transform-origin:50% 0;-ms-transform-origin:50% 0;transform-origin:50% 0}@-moz-keyframes ringing{0%{-moz-transform:rotate(-15deg)}2%{-moz-transform:rotate(15deg)}4%{-moz-transform:rotate(-18deg)}6%{-moz-transform:rotate(18deg)}8%{-moz-transform:rotate(-22deg)}10%{-moz-transform:rotate(22deg)}12%{-moz-transform:rotate(-18deg)}14%{-moz-transform:rotate(18deg)}16%{-moz-transform:rotate(-12deg)}18%{-moz-transform:rotate(12deg)}20%{-moz-transform:rotate(0deg)}}@-webkit-keyframes ringing{0%{-webkit-transform:rotate(-15deg)}2%{-webkit-transform:rotate(15deg)}4%{-webkit-transform:rotate(-18deg)}6%{-webkit-transform:rotate(18deg)}8%{-webkit-transform:rotate(-22deg)}10%{-webkit-transform:rotate(22deg)}12%{-webkit-transform:rotate(-18deg)}14%{-webkit-transform:rotate(18deg)}16%{-webkit-transform:rotate(-12deg)}18%{-webkit-transform:rotate(12deg)}20%{-webkit-transform:rotate(0deg)}}@-ms-keyframes ringing{0%{-ms-transform:rotate(-15deg)}2%{-ms-transform:rotate(15deg)}4%{-ms-transform:rotate(-18deg)}6%{-ms-transform:rotate(18deg)}8%{-ms-transform:rotate(-22deg)}10%{-ms-transform:rotate(22deg)}12%{-ms-transform:rotate(-18deg)}14%{-ms-transform:rotate(18deg)}16%{-ms-transform:rotate(-12deg)}18%{-ms-transform:rotate(12deg)}20%{-ms-transform:rotate(0deg)}}@keyframes ringing{0%{transform:rotate(-15deg)}2%{transform:rotate(15deg)}4%{transform:rotate(-18deg)}6%{transform:rotate(18deg)}8%{transform:rotate(-22deg)}10%{transform:rotate(22deg)}12%{transform:rotate(-18deg)}14%{transform:rotate(18deg)}16%{transform:rotate(-12deg)}18%{transform:rotate(12deg)}20%{transform:rotate(0deg)}}.icon-animated-vertical{display:inline-block;-moz-animation:vertical 2.0s 5 ease 2.0s;-webkit-animation:vertical 2.0s 5 ease 2.0s;-o-animation:vertical 2.0s 5 ease 2.0s;-ms-animation:vertical 2.0s 5 ease 2.0s;animation:vertical 2.0s 5 ease 2.0s}@-moz-keyframes vertical{0%{-moz-transform:translate(0,-3px)}4%{-moz-transform:translate(0,3px)}8%{-moz-transform:translate(0,-3px)}12%{-moz-transform:translate(0,3px)}16%{-moz-transform:translate(0,-3px)}20%{-moz-transform:translate(0,3px)}22%{-moz-transform:translate(0,0)}}@-webkit-keyframes vertical{0%{-webkit-transform:translate(0,-3px)}4%{-webkit-transform:translate(0,3px)}8%{-webkit-transform:translate(0,-3px)}12%{-webkit-transform:translate(0,3px)}16%{-webkit-transform:translate(0,-3px)}20%{-webkit-transform:translate(0,3px)}22%{-webkit-transform:translate(0,0)}}@-ms-keyframes vertical{0%{-ms-transform:translate(0,-3px)}4%{-ms-transform:translate(0,3px)}8%{-ms-transform:translate(0,-3px)}12%{-ms-transform:translate(0,3px)}16%{-ms-transform:translate(0,-3px)}20%{-ms-transform:translate(0,3px)}22%{-ms-transform:translate(0,0)}}@keyframes vertical{0%{transform:translate(0,-3px)}4%{transform:translate(0,3px)}8%{transform:translate(0,-3px)}12%{transform:translate(0,3px)}16%{transform:translate(0,-3px)}20%{transform:translate(0,3px)}22%{transform:translate(0,0)}}.icon-animated-hand-pointer{display:inline-block;-moz-animation:hand-pointer 2.0s 4 ease 2.0s;-webkit-animation:hand-pointer 2.0s 4 ease 2.0s;-o-animation:hand-pointer 2.0s 4 ease 2.0s;-ms-animation:hand-pointer 2.0s 4 ease 2.0s;animation:hand-pointer 2.0s 4 ease 2.0s}@-moz-keyframes hand-pointer{0%{-moz-transform:translate(0,0)}6%{-moz-transform:translate(5px,0)}12%{-moz-transform:translate(0,0)}18%{-moz-transform:translate(5px,0)}24%{-moz-transform:translate(0,0)}30%{-moz-transform:translate(5px,0)}36%{-moz-transform:translate(0,0)}}.icon-animated-wrench{display:inline-block;-moz-animation:wrenching 2.5s 4 ease;-webkit-animation:wrenching 2.5s 4 ease;-o-animation:wrenching 2.5s 4 ease;-ms-animation:wrenching 2.5s 4 ease;animation:wrenching 2.5s 4 ease;-moz-transform-origin:90% 35%;-webkit-transform-origin:90% 35%;-o-transform-origin:90% 35%;-ms-transform-origin:90% 35%;transform-origin:90% 35%}@-moz-keyframes wrenching{0%{-moz-transform:rotate(-12deg)}8%{-moz-transform:rotate(12deg)}10%{-moz-transform:rotate(24deg)}18%{-moz-transform:rotate(-24deg)}20%{-moz-transform:rotate(-24deg)}28%{-moz-transform:rotate(24deg)}30%{-moz-transform:rotate(24deg)}38%{-moz-transform:rotate(-24deg)}40%{-moz-transform:rotate(-24deg)}48%{-moz-transform:rotate(24deg)}50%{-moz-transform:rotate(24deg)}58%{-moz-transform:rotate(-24deg)}60%{-moz-transform:rotate(-24deg)}68%{-moz-transform:rotate(24deg)}75%{-moz-transform:rotate(0deg)}}@-webkit-keyframes wrenching{0%{-webkit-transform:rotate(-12deg)}8%{-webkit-transform:rotate(12deg)}10%{-webkit-transform:rotate(24deg)}18%{-webkit-transform:rotate(-24deg)}20%{-webkit-transform:rotate(-24deg)}28%{-webkit-transform:rotate(24deg)}30%{-webkit-transform:rotate(24deg)}38%{-webkit-transform:rotate(-24deg)}40%{-webkit-transform:rotate(-24deg)}48%{-webkit-transform:rotate(24deg)}50%{-webkit-transform:rotate(24deg)}58%{-webkit-transform:rotate(-24deg)}60%{-webkit-transform:rotate(-24deg)}68%{-webkit-transform:rotate(24deg)}75%{-webkit-transform:rotate(0deg)}}@-o-keyframes wrenching{0%{-o-transform:rotate(-12deg)}8%{-o-transform:rotate(12deg)}10%{-o-transform:rotate(24deg)}18%{-o-transform:rotate(-24deg)}20%{-o-transform:rotate(-24deg)}28%{-o-transform:rotate(24deg)}30%{-o-transform:rotate(24deg)}38%{-o-transform:rotate(-24deg)}40%{-o-transform:rotate(-24deg)}48%{-o-transform:rotate(24deg)}50%{-o-transform:rotate(24deg)}58%{-o-transform:rotate(-24deg)}60%{-o-transform:rotate(-24deg)}68%{-o-transform:rotate(24deg)}75%{-o-transform:rotate(0deg)}}@-ms-keyframes wrenching{0%{-ms-transform:rotate(-12deg)}8%{-ms-transform:rotate(12deg)}10%{-ms-transform:rotate(24deg)}18%{-ms-transform:rotate(-24deg)}20%{-ms-transform:rotate(-24deg)}28%{-ms-transform:rotate(24deg)}30%{-ms-transform:rotate(24deg)}38%{-ms-transform:rotate(-24deg)}40%{-ms-transform:rotate(-24deg)}48%{-ms-transform:rotate(24deg)}50%{-ms-transform:rotate(24deg)}58%{-ms-transform:rotate(-24deg)}60%{-ms-transform:rotate(-24deg)}68%{-ms-transform:rotate(24deg)}75%{-ms-transform:rotate(0deg)}}@keyframes wrenching{0%{transform:rotate(-12deg)}8%{transform:rotate(12deg)}10%{transform:rotate(24deg)}18%{transform:rotate(-24deg)}20%{transform:rotate(-24deg)}28%{transform:rotate(24deg)}30%{transform:rotate(24deg)}38%{transform:rotate(-24deg)}40%{transform:rotate(-24deg)}48%{transform:rotate(24deg)}50%{transform:rotate(24deg)}58%{transform:rotate(-24deg)}60%{transform:rotate(-24deg)}68%{transform:rotate(24deg)}75%{transform:rotate(0deg)}}.ace-settings-container{position:absolute;right:0;top:50px;z-index:12}.breadcrumbs-fixed .ace-settings-container{top:9px}.btn.ace-settings-btn{float:left;display:inline-block;width:42px!important;text-align:center;border-radius:6px 0 0 6px!important;opacity:.55;filter:alpha(opacity=55.00000000000001);vertical-align:top;margin:0}.btn.ace-settings-btn:hover,.btn.ace-settings-btn.open{opacity:1;filter:alpha(opacity=100)}.ace-settings-box{display:none;float:left;width:175px;padding:0 14px;background-color:#FFF;border:2px solid #ffb34b}.ace-settings-box.open{display:inline-block}.ace-settings-box>div{margin:6px 0;color:#444;max-height:24px}.ace-settings-box>div>label{font-size:13px}.btn-scroll-up{border:0;position:absolute;right:2px;bottom:2px;z-index:11}@media(min-width:768px){.main-container.container>.btn-scroll-up{right:auto;margin-left:708px}}@media(min-width:992px){.main-container.container>.btn-scroll-up{right:auto;margin-left:928px}}@media(min-width:1200px){.main-container.container>.btn-scroll-up{right:auto;margin-left:1128px}}.grid2,.grid3,.grid4{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin:0;float:left;border-left:1px solid #e3e3e3}.grid2:first-child,.grid3:first-child,.grid4:first-child{border-left:none}.grid2{width:48%;padding:0 2%}.grid3{width:33%;padding:0 2%}.grid4{width:23%;margin:0 1%;padding:0 1%}.draggable-placeholder{border:2px dashed #d9d9d9!important;background-color:#f7f7f7!important}.slimScrollBar{border-radius:0!important}.slimScrollRail{border-radius:0!important}.datepicker td,.daterangepicker td,.datepicker th,.daterangepicker th{border-radius:0!important;font-size:13px}.datepicker td.active,.daterangepicker td.active,.datepicker td.active:hover,.daterangepicker td.active:hover{background:#2283c5!important}.datepicker td.active.disabled,.daterangepicker td.active.disabled,.datepicker td.active.disabled:hover,.daterangepicker td.active.disabled:hover{background:#8b9aa3!important}.datepicker td,.datepicker th{min-width:32px}.datepicker-months .month,.datepicker-years .year{border-radius:0!important}.datepicker-months .month.active,.datepicker-years .year.active,.datepicker-months .month.active:hover,.datepicker-years .year.active:hover,.datepicker-months .month.active:focus,.datepicker-years .year.active:focus,.datepicker-months .month.active:active,.datepicker-years .year.active:active{background-image:none!important;background-color:#2283c5!important}.bootstrap-timepicker-widget table td input{width:32px}.bootstrap-timepicker-widget table td a:hover{border-radius:0}.well .datepicker table tr td.day:hover{background-color:#7d8893;color:#FFF}.easyPieChart{position:relative;text-align:center}.easyPieChart canvas{position:absolute;top:0;left:0}.knob-container{direction:ltr;text-align:left}.navbar .navbar-inner,.navbar .btn-navbar{filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)!important}.dropdown-menu li>a,.dropdown-submenu>a{filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)!important}.btn{filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)!important}.progress,.progress .bar{filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)!important}.tags{display:inline-block;padding:4px 6px;color:#777;vertical-align:middle;background-color:#FFF;border:1px solid #d5d5d5;width:206px}.tags:hover{border-color:#b5b5b5}.tags-hover,.tags-hover:hover{border-color:#f59942;outline:0;outline:thin dotted \9}.tags[class*="span"]{float:none;margin-left:0}.tags input[type="text"],.tags input[type="text"]:focus{border:0;display:inline;outline:0;margin:0;padding:0;line-height:14px;-webkit-box-shadow:none;box-shadow:none;width:100%}.tags .tag{display:inline-block;position:relative;font-size:13px;font-weight:normal;vertical-align:baseline;white-space:nowrap;background-color:#91b8d0;color:#FFF;text-shadow:1px 1px 1px rgba(0,0,0,0.15);padding:4px 22px 5px 9px;margin-bottom:3px;margin-right:3px;-webkit-transition:all .2s;transition:all .2s}.tags .tag:empty{display:none}.tags .tag-important{background-color:#d15b47}.tags .tag-warning{background-color:#ffb752}.tags .tag-success{background-color:#87b87f}.tags .tag-info{background-color:#6fb3e0}.tags .tag-inverse{background-color:#555}.tags .tag .close{font-size:15px;line-height:20px;opacity:1;filter:alpha(opacity=100);color:#FFF;text-shadow:none;float:none;position:absolute;right:0;top:0;bottom:0;width:18px;text-align:center}.tags .tag .close:hover{background-color:rgba(0,0,0,0.2)}.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{float:left}.col-xs-reset{width:auto;padding-left:0;padding-right:0;float:none}@media(min-width:768px){.col-sm-reset{width:auto;padding-left:0;padding-right:0;float:none}}@media(min-width:992px){.col-md-reset{width:auto;padding-left:0;padding-right:0;float:none}}@media(min-width:1200px){.col-lg-reset{width:auto;padding-left:0;padding-right:0;float:none}}.jqstooltip,.legendColorBox div{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.legendLabel{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:20px;font-size:10px}@media only screen and (max-width:480px){.hidden-480{display:none!important}}@media only screen and (max-width:320px){.hidden-320{display:none!important}}@media only screen and (max-width:480px){[class*="vspace-xs"]{display:block}}@media only screen and (max-width:767px){[class*="vspace-sm"]{display:block}}@media only screen and (max-width:991px){[class*="vspace-md"]{display:block}}@media only screen and (max-width:1199px){[class*="vspace-lg"]{display:block}}@media only screen and (max-width:991px){.main-content{margin-left:0!important}}@media only screen and (max-width:767px){.page-content{padding-left:12px;padding-right:12px}}@media(max-width:991px){body.breadcrumbs-fixed{padding-top:45px}.navbar-fixed-top{margin-bottom:0}.sidebar.fixed,.sidebar.sidebar-fixed{position:absolute}}@media(max-width:460px){body.navbar-fixed{padding-top:90px}}@media only screen and (max-width:767px){.error-container{margin:12px}}@media only screen and (max-width:480px){.error-container{margin:6px}}@media only screen and (max-width:360px){.grid2,.grid3,.grid4{float:none;display:block;width:96%;border-left:none;position:relative;margin-bottom:11px;border-bottom:1px solid #e3e3e3;padding-bottom:4px}.grid2>[class*="pull-"],.grid3>[class*="pull-"],.grid4>[class*="pull-"]{float:none!important;display:inline-block;position:absolute;right:11px;top:0;margin-top:0}.grid2:last-child,.grid3:last-child,.grid4:last-child{border-bottom:0}}@media only screen and (max-width:480px){.ace-settings-container,body.breadcrumbs-fixed .ace-settings-container{top:65px}}
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/css/bootstrap-editable.css b/src/main/webapp/static/login/assets/css/bootstrap-editable.css new file mode 100644 index 0000000..2d9cc4e --- /dev/null +++ b/src/main/webapp/static/login/assets/css/bootstrap-editable.css @@ -0,0 +1,656 @@ +/*! X-editable - v1.4.6
+* In-place editing with Twitter Bootstrap, jQuery UI or pure jQuery
+* http://github.com/vitalets/x-editable
+* Copyright (c) 2013 Vitaliy Potapov; Licensed MIT */
+
+.editableform { + margin-bottom: 0; /* overwrites bootstrap margin */ +} + +.editableform .control-group { + margin-bottom: 0; /* overwrites bootstrap margin */ + white-space: nowrap; /* prevent wrapping buttons on new line */ + line-height: 20px; /* overwriting bootstrap line-height. See #133 */ +} + +.editable-buttons { + display: inline-block; /* should be inline to take effect of parent's white-space: nowrap */ + vertical-align: top; + margin-left: 7px; + /* inline-block emulation for IE7*/ + zoom: 1; + *display: inline; +} + +.editable-buttons.editable-buttons-bottom { + display: block; + margin-top: 7px; + margin-left: 0; +} + +.editable-input { + vertical-align: top; + display: inline-block; /* should be inline to take effect of parent's white-space: nowrap */ + width: auto; /* bootstrap-responsive has width: 100% that breakes layout */ + white-space: normal; /* reset white-space decalred in parent*/ + /* display-inline emulation for IE7*/ + zoom: 1; + *display: inline; +} + +.editable-buttons .editable-cancel { + margin-left: 7px; +} + +/*for jquery-ui buttons need set height to look more pretty*/ +.editable-buttons button.ui-button-icon-only { + height: 24px; + width: 30px; +} + +.editableform-loading { + background: url('../img/loading.gif') center center no-repeat; + height: 25px; + width: auto; + min-width: 25px; +} + +.editable-inline .editableform-loading { + background-position: left 5px; +} + + .editable-error-block { + max-width: 300px; + margin: 5px 0 0 0; + width: auto; + white-space: normal; +} + +/*add padding for jquery ui*/ +.editable-error-block.ui-state-error { + padding: 3px; +} + +.editable-error { + color: red; +} + +/* ---- For specific types ---- */ + +.editableform .editable-date { + padding: 0; + margin: 0; + float: left; +} + +/* move datepicker icon to center of add-on button. See https://github.com/vitalets/x-editable/issues/183 */ +.editable-inline .add-on .icon-th { + margin-top: 3px; + margin-left: 1px; +} + + +/* checklist vertical alignment */ +.editable-checklist label input[type="checkbox"], +.editable-checklist label span { + vertical-align: middle; + margin: 0; +} + +.editable-checklist label { + white-space: nowrap; +} + +/* set exact width of textarea to fit buttons toolbar */ +.editable-wysihtml5 { + width: 566px; + height: 250px; +} + +/* clear button shown as link in date inputs */ +.editable-clear { + clear: both; + font-size: 0.9em; + text-decoration: none; + text-align: right; +} + +/* IOS-style clear button for text inputs */ +.editable-clear-x { + background: url('../img/clear.png') center center no-repeat; + display: block; + width: 13px; + height: 13px; + position: absolute; + opacity: 0.6; + z-index: 100; + + top: 50%; + right: 6px; + margin-top: -6px; + +} + +.editable-clear-x:hover { + opacity: 1; +} + +.editable-pre-wrapped { + white-space: pre-wrap; +}
+.editable-container.editable-popup { + max-width: none !important; /* without this rule poshytip/tooltip does not stretch */ +} + +.editable-container.popover { + width: auto; /* without this rule popover does not stretch */ +} + +.editable-container.editable-inline { + display: inline-block; + vertical-align: middle; + width: auto; + /* inline-block emulation for IE7*/ + zoom: 1; + *display: inline; +} + +.editable-container.ui-widget { + font-size: inherit; /* jqueryui widget font 1.1em too big, overwrite it */ + z-index: 9990; /* should be less than select2 dropdown z-index to close dropdown first when click */ +}
+.editable-click, +a.editable-click, +a.editable-click:hover { + text-decoration: none; + border-bottom: dashed 1px #0088cc; +} + +.editable-click.editable-disabled, +a.editable-click.editable-disabled, +a.editable-click.editable-disabled:hover { + color: #585858; + cursor: default; + border-bottom: none; +} + +.editable-empty, .editable-empty:hover, .editable-empty:focus{ + font-style: italic; + color: #DD1144; + /* border-bottom: none; */ + text-decoration: none; +} + +.editable-unsaved { + font-weight: bold; +} + +.editable-unsaved:after { +/* content: '*'*/ +} + +.editable-bg-transition { + -webkit-transition: background-color 1400ms ease-out; + -moz-transition: background-color 1400ms ease-out; + -o-transition: background-color 1400ms ease-out; + -ms-transition: background-color 1400ms ease-out; + transition: background-color 1400ms ease-out; +} + +/*see https://github.com/vitalets/x-editable/issues/139 */ +.form-horizontal .editable +{ + padding-top: 5px; + display:inline-block; +} + +
+/*! + * Datepicker for Bootstrap + * + * Copyright 2012 Stefan Petre + * Improvements by Andrew Rowls + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + */ +.datepicker { + padding: 4px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + direction: ltr; + /*.dow { + border-top: 1px solid #ddd !important; + }*/ + +} +.datepicker-inline { + width: 220px; +} +.datepicker.datepicker-rtl { + direction: rtl; +} +.datepicker.datepicker-rtl table tr td span { + float: right; +} +.datepicker-dropdown { + top: 0; + left: 0; +} +.datepicker-dropdown:before { + content: ''; + display: inline-block; + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-bottom: 7px solid #ccc; + border-bottom-color: rgba(0, 0, 0, 0.2); + position: absolute; + top: -7px; + left: 6px; +} +.datepicker-dropdown:after { + content: ''; + display: inline-block; + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-bottom: 6px solid #ffffff; + position: absolute; + top: -6px; + left: 7px; +} +.datepicker > div { + display: none; +} +.datepicker.days div.datepicker-days { + display: block; +} +.datepicker.months div.datepicker-months { + display: block; +} +.datepicker.years div.datepicker-years { + display: block; +} +.datepicker table { + margin: 0; +} +.datepicker td, +.datepicker th { + text-align: center; + width: 20px; + height: 20px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + border: none; +} +.table-striped .datepicker table tr td, +.table-striped .datepicker table tr th { + background-color: transparent; +} +.datepicker table tr td.day:hover { + background: #eeeeee; + cursor: pointer; +} +.datepicker table tr td.old, +.datepicker table tr td.new { + color: #999999; +} +.datepicker table tr td.disabled, +.datepicker table tr td.disabled:hover { + background: none; + color: #999999; + cursor: default; +} +.datepicker table tr td.today, +.datepicker table tr td.today:hover, +.datepicker table tr td.today.disabled, +.datepicker table tr td.today.disabled:hover { + background-color: #fde19a; + background-image: -moz-linear-gradient(top, #fdd49a, #fdf59a); + background-image: -ms-linear-gradient(top, #fdd49a, #fdf59a); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fdd49a), to(#fdf59a)); + background-image: -webkit-linear-gradient(top, #fdd49a, #fdf59a); + background-image: -o-linear-gradient(top, #fdd49a, #fdf59a); + background-image: linear-gradient(top, #fdd49a, #fdf59a); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0); + border-color: #fdf59a #fdf59a #fbed50; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + color: #000; +} +.datepicker table tr td.today:hover, +.datepicker table tr td.today:hover:hover, +.datepicker table tr td.today.disabled:hover, +.datepicker table tr td.today.disabled:hover:hover, +.datepicker table tr td.today:active, +.datepicker table tr td.today:hover:active, +.datepicker table tr td.today.disabled:active, +.datepicker table tr td.today.disabled:hover:active, +.datepicker table tr td.today.active, +.datepicker table tr td.today:hover.active, +.datepicker table tr td.today.disabled.active, +.datepicker table tr td.today.disabled:hover.active, +.datepicker table tr td.today.disabled, +.datepicker table tr td.today:hover.disabled, +.datepicker table tr td.today.disabled.disabled, +.datepicker table tr td.today.disabled:hover.disabled, +.datepicker table tr td.today[disabled], +.datepicker table tr td.today:hover[disabled], +.datepicker table tr td.today.disabled[disabled], +.datepicker table tr td.today.disabled:hover[disabled] { + background-color: #fdf59a; +} +.datepicker table tr td.today:active, +.datepicker table tr td.today:hover:active, +.datepicker table tr td.today.disabled:active, +.datepicker table tr td.today.disabled:hover:active, +.datepicker table tr td.today.active, +.datepicker table tr td.today:hover.active, +.datepicker table tr td.today.disabled.active, +.datepicker table tr td.today.disabled:hover.active { + background-color: #fbf069 \9; +} +.datepicker table tr td.today:hover:hover { + color: #000; +} +.datepicker table tr td.today.active:hover { + color: #fff; +} +.datepicker table tr td.range, +.datepicker table tr td.range:hover, +.datepicker table tr td.range.disabled, +.datepicker table tr td.range.disabled:hover { + background: #eeeeee; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} +.datepicker table tr td.range.today, +.datepicker table tr td.range.today:hover, +.datepicker table tr td.range.today.disabled, +.datepicker table tr td.range.today.disabled:hover { + background-color: #f3d17a; + background-image: -moz-linear-gradient(top, #f3c17a, #f3e97a); + background-image: -ms-linear-gradient(top, #f3c17a, #f3e97a); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f3c17a), to(#f3e97a)); + background-image: -webkit-linear-gradient(top, #f3c17a, #f3e97a); + background-image: -o-linear-gradient(top, #f3c17a, #f3e97a); + background-image: linear-gradient(top, #f3c17a, #f3e97a); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3c17a', endColorstr='#f3e97a', GradientType=0); + border-color: #f3e97a #f3e97a #edde34; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} +.datepicker table tr td.range.today:hover, +.datepicker table tr td.range.today:hover:hover, +.datepicker table tr td.range.today.disabled:hover, +.datepicker table tr td.range.today.disabled:hover:hover, +.datepicker table tr td.range.today:active, +.datepicker table tr td.range.today:hover:active, +.datepicker table tr td.range.today.disabled:active, +.datepicker table tr td.range.today.disabled:hover:active, +.datepicker table tr td.range.today.active, +.datepicker table tr td.range.today:hover.active, +.datepicker table tr td.range.today.disabled.active, +.datepicker table tr td.range.today.disabled:hover.active, +.datepicker table tr td.range.today.disabled, +.datepicker table tr td.range.today:hover.disabled, +.datepicker table tr td.range.today.disabled.disabled, +.datepicker table tr td.range.today.disabled:hover.disabled, +.datepicker table tr td.range.today[disabled], +.datepicker table tr td.range.today:hover[disabled], +.datepicker table tr td.range.today.disabled[disabled], +.datepicker table tr td.range.today.disabled:hover[disabled] { + background-color: #f3e97a; +} +.datepicker table tr td.range.today:active, +.datepicker table tr td.range.today:hover:active, +.datepicker table tr td.range.today.disabled:active, +.datepicker table tr td.range.today.disabled:hover:active, +.datepicker table tr td.range.today.active, +.datepicker table tr td.range.today:hover.active, +.datepicker table tr td.range.today.disabled.active, +.datepicker table tr td.range.today.disabled:hover.active { + background-color: #efe24b \9; +} +.datepicker table tr td.selected, +.datepicker table tr td.selected:hover, +.datepicker table tr td.selected.disabled, +.datepicker table tr td.selected.disabled:hover { + background-color: #9e9e9e; + background-image: -moz-linear-gradient(top, #b3b3b3, #808080); + background-image: -ms-linear-gradient(top, #b3b3b3, #808080); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#b3b3b3), to(#808080)); + background-image: -webkit-linear-gradient(top, #b3b3b3, #808080); + background-image: -o-linear-gradient(top, #b3b3b3, #808080); + background-image: linear-gradient(top, #b3b3b3, #808080); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#b3b3b3', endColorstr='#808080', GradientType=0); + border-color: #808080 #808080 #595959; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + color: #fff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} +.datepicker table tr td.selected:hover, +.datepicker table tr td.selected:hover:hover, +.datepicker table tr td.selected.disabled:hover, +.datepicker table tr td.selected.disabled:hover:hover, +.datepicker table tr td.selected:active, +.datepicker table tr td.selected:hover:active, +.datepicker table tr td.selected.disabled:active, +.datepicker table tr td.selected.disabled:hover:active, +.datepicker table tr td.selected.active, +.datepicker table tr td.selected:hover.active, +.datepicker table tr td.selected.disabled.active, +.datepicker table tr td.selected.disabled:hover.active, +.datepicker table tr td.selected.disabled, +.datepicker table tr td.selected:hover.disabled, +.datepicker table tr td.selected.disabled.disabled, +.datepicker table tr td.selected.disabled:hover.disabled, +.datepicker table tr td.selected[disabled], +.datepicker table tr td.selected:hover[disabled], +.datepicker table tr td.selected.disabled[disabled], +.datepicker table tr td.selected.disabled:hover[disabled] { + background-color: #808080; +} +.datepicker table tr td.selected:active, +.datepicker table tr td.selected:hover:active, +.datepicker table tr td.selected.disabled:active, +.datepicker table tr td.selected.disabled:hover:active, +.datepicker table tr td.selected.active, +.datepicker table tr td.selected:hover.active, +.datepicker table tr td.selected.disabled.active, +.datepicker table tr td.selected.disabled:hover.active { + background-color: #666666 \9; +} +.datepicker table tr td.active, +.datepicker table tr td.active:hover, +.datepicker table tr td.active.disabled, +.datepicker table tr td.active.disabled:hover { + background-color: #006dcc; + background-image: -moz-linear-gradient(top, #0088cc, #0044cc); + background-image: -ms-linear-gradient(top, #0088cc, #0044cc); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); + background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); + background-image: -o-linear-gradient(top, #0088cc, #0044cc); + background-image: linear-gradient(top, #0088cc, #0044cc); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0); + border-color: #0044cc #0044cc #002a80; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + color: #fff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} +.datepicker table tr td.active:hover, +.datepicker table tr td.active:hover:hover, +.datepicker table tr td.active.disabled:hover, +.datepicker table tr td.active.disabled:hover:hover, +.datepicker table tr td.active:active, +.datepicker table tr td.active:hover:active, +.datepicker table tr td.active.disabled:active, +.datepicker table tr td.active.disabled:hover:active, +.datepicker table tr td.active.active, +.datepicker table tr td.active:hover.active, +.datepicker table tr td.active.disabled.active, +.datepicker table tr td.active.disabled:hover.active, +.datepicker table tr td.active.disabled, +.datepicker table tr td.active:hover.disabled, +.datepicker table tr td.active.disabled.disabled, +.datepicker table tr td.active.disabled:hover.disabled, +.datepicker table tr td.active[disabled], +.datepicker table tr td.active:hover[disabled], +.datepicker table tr td.active.disabled[disabled], +.datepicker table tr td.active.disabled:hover[disabled] { + background-color: #0044cc; +} +.datepicker table tr td.active:active, +.datepicker table tr td.active:hover:active, +.datepicker table tr td.active.disabled:active, +.datepicker table tr td.active.disabled:hover:active, +.datepicker table tr td.active.active, +.datepicker table tr td.active:hover.active, +.datepicker table tr td.active.disabled.active, +.datepicker table tr td.active.disabled:hover.active { + background-color: #003399 \9; +} +.datepicker table tr td span { + display: block; + width: 23%; + height: 54px; + line-height: 54px; + float: left; + margin: 1%; + cursor: pointer; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} +.datepicker table tr td span:hover { + background: #eeeeee; +} +.datepicker table tr td span.disabled, +.datepicker table tr td span.disabled:hover { + background: none; + color: #999999; + cursor: default; +} +.datepicker table tr td span.active, +.datepicker table tr td span.active:hover, +.datepicker table tr td span.active.disabled, +.datepicker table tr td span.active.disabled:hover { + background-color: #006dcc; + background-image: -moz-linear-gradient(top, #0088cc, #0044cc); + background-image: -ms-linear-gradient(top, #0088cc, #0044cc); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); + background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); + background-image: -o-linear-gradient(top, #0088cc, #0044cc); + background-image: linear-gradient(top, #0088cc, #0044cc); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0); + border-color: #0044cc #0044cc #002a80; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + color: #fff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} +.datepicker table tr td span.active:hover, +.datepicker table tr td span.active:hover:hover, +.datepicker table tr td span.active.disabled:hover, +.datepicker table tr td span.active.disabled:hover:hover, +.datepicker table tr td span.active:active, +.datepicker table tr td span.active:hover:active, +.datepicker table tr td span.active.disabled:active, +.datepicker table tr td span.active.disabled:hover:active, +.datepicker table tr td span.active.active, +.datepicker table tr td span.active:hover.active, +.datepicker table tr td span.active.disabled.active, +.datepicker table tr td span.active.disabled:hover.active, +.datepicker table tr td span.active.disabled, +.datepicker table tr td span.active:hover.disabled, +.datepicker table tr td span.active.disabled.disabled, +.datepicker table tr td span.active.disabled:hover.disabled, +.datepicker table tr td span.active[disabled], +.datepicker table tr td span.active:hover[disabled], +.datepicker table tr td span.active.disabled[disabled], +.datepicker table tr td span.active.disabled:hover[disabled] { + background-color: #0044cc; +} +.datepicker table tr td span.active:active, +.datepicker table tr td span.active:hover:active, +.datepicker table tr td span.active.disabled:active, +.datepicker table tr td span.active.disabled:hover:active, +.datepicker table tr td span.active.active, +.datepicker table tr td span.active:hover.active, +.datepicker table tr td span.active.disabled.active, +.datepicker table tr td span.active.disabled:hover.active { + background-color: #003399 \9; +} +.datepicker table tr td span.old, +.datepicker table tr td span.new { + color: #999999; +} +.datepicker th.datepicker-switch { + width: 145px; +} +.datepicker thead tr:first-child th, +.datepicker tfoot tr th { + cursor: pointer; +} +.datepicker thead tr:first-child th:hover, +.datepicker tfoot tr th:hover { + background: #eeeeee; +} +.datepicker .cw { + font-size: 10px; + width: 12px; + padding: 0 2px 0 5px; + vertical-align: middle; +} +.datepicker thead tr:first-child th.cw { + cursor: default; + background-color: transparent; +} +.input-append.date .add-on i, +.input-prepend.date .add-on i { + display: block; + cursor: pointer; + width: 16px; + height: 16px; +} +.input-daterange input { + text-align: center; +} +.input-daterange input:first-child { + -webkit-border-radius: 3px 0 0 3px; + -moz-border-radius: 3px 0 0 3px; + border-radius: 3px 0 0 3px; +} +.input-daterange input:last-child { + -webkit-border-radius: 0 3px 3px 0; + -moz-border-radius: 0 3px 3px 0; + border-radius: 0 3px 3px 0; +} +.input-daterange .add-on { + display: inline-block; + width: auto; + min-width: 16px; + height: 18px; + padding: 4px 5px; + font-weight: normal; + line-height: 18px; + text-align: center; + text-shadow: 0 1px 0 #ffffff; + vertical-align: middle; + background-color: #eeeeee; + border: 1px solid #ccc; + margin-left: -5px; + margin-right: -5px; +} diff --git a/src/main/webapp/static/login/assets/css/bootstrap-timepicker.css b/src/main/webapp/static/login/assets/css/bootstrap-timepicker.css new file mode 100644 index 0000000..873e0c7 --- /dev/null +++ b/src/main/webapp/static/login/assets/css/bootstrap-timepicker.css @@ -0,0 +1,121 @@ +/*! + * Timepicker Component for Twitter Bootstrap + * + * Copyright 2013 Joris de Wit + * + * Contributors https://github.com/jdewit/bootstrap-timepicker/graphs/contributors + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +.bootstrap-timepicker { + position: relative; +} +.bootstrap-timepicker.pull-right .bootstrap-timepicker-widget.dropdown-menu { + left: auto; + right: 0; +} +.bootstrap-timepicker.pull-right .bootstrap-timepicker-widget.dropdown-menu:before { + left: auto; + right: 12px; +} +.bootstrap-timepicker.pull-right .bootstrap-timepicker-widget.dropdown-menu:after { + left: auto; + right: 13px; +} +.bootstrap-timepicker .add-on { + cursor: pointer; +} +.bootstrap-timepicker .add-on i { + display: inline-block; + width: 16px; + height: 16px; +} +.bootstrap-timepicker-widget.dropdown-menu { + padding: 2px 3px 2px 2px; +} +.bootstrap-timepicker-widget.dropdown-menu.open { + display: inline-block; +} +.bootstrap-timepicker-widget.dropdown-menu:before { + border-bottom: 7px solid rgba(0, 0, 0, 0.2); + border-left: 7px solid transparent; + border-right: 7px solid transparent; + content: ""; + display: inline-block; + left: 9px; + position: absolute; + top: -7px; +} +.bootstrap-timepicker-widget.dropdown-menu:after { + border-bottom: 6px solid #FFFFFF; + border-left: 6px solid transparent; + border-right: 6px solid transparent; + content: ""; + display: inline-block; + left: 10px; + position: absolute; + top: -6px; +} +.bootstrap-timepicker-widget a.btn, +.bootstrap-timepicker-widget input { + border-radius: 4px; +} +.bootstrap-timepicker-widget table { + width: 100%; + margin: 0; +} +.bootstrap-timepicker-widget table td { + text-align: center; + height: 30px; + margin: 0; + padding: 2px; +} +.bootstrap-timepicker-widget table td:not(.separator) { + min-width: 30px; +} +.bootstrap-timepicker-widget table td span { + width: 100%; +} +.bootstrap-timepicker-widget table td a { + border: 1px transparent solid; + width: 100%; + display: inline-block; + margin: 0; + padding: 8px 0; + outline: 0; + color: #333; +} +.bootstrap-timepicker-widget table td a:hover { + text-decoration: none; + background-color: #eee; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + border-color: #ddd; +} +.bootstrap-timepicker-widget table td a i { + margin-top: 2px; +} +.bootstrap-timepicker-widget table td input { + width: 25px; + margin: 0; + text-align: center; +} +.bootstrap-timepicker-widget .modal-content { + padding: 4px; +} +@media (min-width: 767px) { + .bootstrap-timepicker-widget.modal { + width: 200px; + margin-left: -100px; + } +} +@media (max-width: 767px) { + .bootstrap-timepicker { + width: 100%; + } + .bootstrap-timepicker .dropdown-menu { + width: 100%; + } +} diff --git a/src/main/webapp/static/login/assets/css/bootstrap.min.css b/src/main/webapp/static/login/assets/css/bootstrap.min.css new file mode 100644 index 0000000..84233c5 --- /dev/null +++ b/src/main/webapp/static/login/assets/css/bootstrap.min.css @@ -0,0 +1,9 @@ +/*! + * Bootstrap v3.0.0 + * + * Copyright 2013 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world by @mdo and @fat. + *//*! normalize.css v2.1.0 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{margin:.67em 0;font-size:2em}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}hr{height:0;-moz-box-sizing:content-box;box-sizing:content-box}mark{color:#000;background:#ff0}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:0}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid #c0c0c0}legend{padding:0;border:0}button,input,select,textarea{margin:0;font-family:inherit;font-size:100%}button,input{line-height:normal}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}button[disabled],html input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{padding:0;box-sizing:border-box}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}@media print{*{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}@page{margin:2cm .5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.table td,.table th{background-color:#fff!important}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table-bordered th,.table-bordered td{border:1px solid #ddd!important}}*,*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:62.5%;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.428571429;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}button,input,select[multiple],textarea{background-image:none}a{color:#428bca;text-decoration:none}a:hover,a:focus{color:#2a6496;text-decoration:underline}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}img{vertical-align:middle}.img-responsive{display:block;height:auto;max-width:100%}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;height:auto;max-width:100%;padding:4px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16.099999999999998px;font-weight:200;line-height:1.4}@media(min-width:768px){.lead{font-size:21px}}small{font-size:85%}cite{font-style:normal}.text-muted{color:#999}.text-primary{color:#428bca}.text-warning{color:#c09853}.text-danger{color:#b94a48}.text-success{color:#468847}.text-info{color:#3a87ad}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;line-height:1.1}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small{font-weight:normal;line-height:1;color:#999}h1,h2,h3{margin-top:20px;margin-bottom:10px}h4,h5,h6{margin-top:10px;margin-bottom:10px}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}h1 small,.h1 small{font-size:24px}h2 small,.h2 small{font-size:18px}h3 small,.h3 small,h4 small,.h4 small{font-size:14px}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-bottom:20px}dt,dd{line-height:1.428571429}dt{font-weight:bold}dd{margin-left:0}@media(min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}.dl-horizontal dd:before,.dl-horizontal dd:after{display:table;content:" "}.dl-horizontal dd:after{clear:both}.dl-horizontal dd:before,.dl-horizontal dd:after{display:table;content:" "}.dl-horizontal dd:after{clear:both}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999}abbr.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;border-left:5px solid #eee}blockquote p{font-size:17.5px;font-weight:300;line-height:1.25}blockquote p:last-child{margin-bottom:0}blockquote small{display:block;line-height:1.428571429;color:#999}blockquote small:before{content:'\2014 \00A0'}blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}blockquote.pull-right p,blockquote.pull-right small{text-align:right}blockquote.pull-right small:before{content:''}blockquote.pull-right small:after{content:'\00A0 \2014'}q:before,q:after,blockquote:before,blockquote:after{content:""}address{display:block;margin-bottom:20px;font-style:normal;line-height:1.428571429}code,pre{font-family:Monaco,Menlo,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;white-space:nowrap;background-color:#f9f2f4;border-radius:4px}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.428571429;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre.prettyprint{margin-bottom:20px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:12px;padding-left:12px;margin-right:auto;margin-left:auto}.container:before,.container:after{display:table;content:" "}.container:after{clear:both}.container:before,.container:after{display:table;content:" "}.container:after{clear:both}.row{margin-right:-12px;margin-left:-12px}.row:before,.row:after{display:table;content:" "}.row:after{clear:both}.row:before,.row:after{display:table;content:" "}.row:after{clear:both}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{position:relative;min-height:1px;padding-right:12px;padding-left:12px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11{float:left}.col-xs-1{width:8.33333%}.col-xs-2{width:16.6666%}.col-xs-3{width:25%}.col-xs-4{width:33.3333%}.col-xs-5{width:41.6666%}.col-xs-6{width:50%}.col-xs-7{width:58.3333%}.col-xs-8{width:66.6666%}.col-xs-9{width:75%}.col-xs-10{width:83.3333%}.col-xs-11{width:91.6666%}.col-xs-12{width:100%}@media(min-width:768px){.container{max-width:744px}.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11{float:left}.col-sm-1{width:8.33333%}.col-sm-2{width:16.6666%}.col-sm-3{width:25%}.col-sm-4{width:33.3333%}.col-sm-5{width:41.6666%}.col-sm-6{width:50%}.col-sm-7{width:58.3333%}.col-sm-8{width:66.6666%}.col-sm-9{width:75%}.col-sm-10{width:83.3333%}.col-sm-11{width:91.6666%}.col-sm-12{width:100%}.col-sm-push-1{left:8.33333%}.col-sm-push-2{left:16.6666%}.col-sm-push-3{left:25%}.col-sm-push-4{left:33.3333%}.col-sm-push-5{left:41.6666%}.col-sm-push-6{left:50%}.col-sm-push-7{left:58.3333%}.col-sm-push-8{left:66.6666%}.col-sm-push-9{left:75%}.col-sm-push-10{left:83.3333%}.col-sm-push-11{left:91.6666%}.col-sm-pull-1{right:8.33333%}.col-sm-pull-2{right:16.6666%}.col-sm-pull-3{right:25%}.col-sm-pull-4{right:33.3333%}.col-sm-pull-5{right:41.6666%}.col-sm-pull-6{right:50%}.col-sm-pull-7{right:58.3333%}.col-sm-pull-8{right:66.6666%}.col-sm-pull-9{right:75%}.col-sm-pull-10{right:83.3333%}.col-sm-pull-11{right:91.6666%}.col-sm-offset-1{margin-left:8.33333%}.col-sm-offset-2{margin-left:16.6666%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-4{margin-left:33.3333%}.col-sm-offset-5{margin-left:41.6666%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-7{margin-left:58.3333%}.col-sm-offset-8{margin-left:66.6666%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-10{margin-left:83.3333%}.col-sm-offset-11{margin-left:91.6666%}}@media(min-width:992px){.container{max-width:964px}.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11{float:left}.col-md-1{width:8.33333%}.col-md-2{width:16.6666%}.col-md-3{width:25%}.col-md-4{width:33.3333%}.col-md-5{width:41.6666%}.col-md-6{width:50%}.col-md-7{width:58.3333%}.col-md-8{width:66.6666%}.col-md-9{width:75%}.col-md-10{width:83.3333%}.col-md-11{width:91.6666%}.col-md-12{width:100%}.col-md-push-0{left:auto}.col-md-push-1{left:8.33333%}.col-md-push-2{left:16.6666%}.col-md-push-3{left:25%}.col-md-push-4{left:33.3333%}.col-md-push-5{left:41.6666%}.col-md-push-6{left:50%}.col-md-push-7{left:58.3333%}.col-md-push-8{left:66.6666%}.col-md-push-9{left:75%}.col-md-push-10{left:83.3333%}.col-md-push-11{left:91.6666%}.col-md-pull-0{right:auto}.col-md-pull-1{right:8.33333%}.col-md-pull-2{right:16.6666%}.col-md-pull-3{right:25%}.col-md-pull-4{right:33.3333%}.col-md-pull-5{right:41.6666%}.col-md-pull-6{right:50%}.col-md-pull-7{right:58.3333%}.col-md-pull-8{right:66.6666%}.col-md-pull-9{right:75%}.col-md-pull-10{right:83.3333%}.col-md-pull-11{right:91.6666%}.col-md-offset-0{margin-left:0}.col-md-offset-1{margin-left:8.33333%}.col-md-offset-2{margin-left:16.6666%}.col-md-offset-3{margin-left:25%}.col-md-offset-4{margin-left:33.3333%}.col-md-offset-5{margin-left:41.6666%}.col-md-offset-6{margin-left:50%}.col-md-offset-7{margin-left:58.3333%}.col-md-offset-8{margin-left:66.6666%}.col-md-offset-9{margin-left:75%}.col-md-offset-10{margin-left:83.3333%}.col-md-offset-11{margin-left:91.6666%}}@media(min-width:1200px){.container{max-width:1164px}.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11{float:left}.col-lg-1{width:8.33333%}.col-lg-2{width:16.6666%}.col-lg-3{width:25%}.col-lg-4{width:33.3333%}.col-lg-5{width:41.6666%}.col-lg-6{width:50%}.col-lg-7{width:58.3333%}.col-lg-8{width:66.6666%}.col-lg-9{width:75%}.col-lg-10{width:83.3333%}.col-lg-11{width:91.6666%}.col-lg-12{width:100%}.col-lg-push-0{left:auto}.col-lg-push-1{left:8.33333%}.col-lg-push-2{left:16.6666%}.col-lg-push-3{left:25%}.col-lg-push-4{left:33.3333%}.col-lg-push-5{left:41.6666%}.col-lg-push-6{left:50%}.col-lg-push-7{left:58.3333%}.col-lg-push-8{left:66.6666%}.col-lg-push-9{left:75%}.col-lg-push-10{left:83.3333%}.col-lg-push-11{left:91.6666%}.col-lg-pull-0{right:auto}.col-lg-pull-1{right:8.33333%}.col-lg-pull-2{right:16.6666%}.col-lg-pull-3{right:25%}.col-lg-pull-4{right:33.3333%}.col-lg-pull-5{right:41.6666%}.col-lg-pull-6{right:50%}.col-lg-pull-7{right:58.3333%}.col-lg-pull-8{right:66.6666%}.col-lg-pull-9{right:75%}.col-lg-pull-10{right:83.3333%}.col-lg-pull-11{right:91.6666%}.col-lg-offset-0{margin-left:0}.col-lg-offset-1{margin-left:8.33333%}.col-lg-offset-2{margin-left:16.6666%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-4{margin-left:33.3333%}.col-lg-offset-5{margin-left:41.6666%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-7{margin-left:58.3333%}.col-lg-offset-8{margin-left:66.6666%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-10{margin-left:83.3333%}.col-lg-offset-11{margin-left:91.6666%}}table{max-width:100%;background-color:transparent}th{text-align:left}.table{width:100%;margin-bottom:20px}.table thead>tr>th,.table tbody>tr>th,.table tfoot>tr>th,.table thead>tr>td,.table tbody>tr>td,.table tfoot>tr>td{padding:8px;line-height:1.428571429;vertical-align:top;border-top:1px solid #ddd}.table thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table caption+thead tr:first-child th,.table colgroup+thead tr:first-child th,.table thead:first-child tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child td{border-top:0}.table tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed thead>tr>th,.table-condensed tbody>tr>th,.table-condensed tfoot>tr>th,.table-condensed thead>tr>td,.table-condensed tbody>tr>td,.table-condensed tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#f5f5f5}table col[class*="col-"]{display:table-column;float:none}table td[class*="col-"],table th[class*="col-"]{display:table-cell;float:none}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8;border-color:#d6e9c6}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td{background-color:#d0e9c6;border-color:#c9e2b3}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede;border-color:#eed3d7}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td{background-color:#ebcccc;border-color:#e6c1c7}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3;border-color:#fbeed5}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td{background-color:#faf2cc;border-color:#f8e5be}@media(max-width:768px){.table-responsive{width:100%;margin-bottom:15px;overflow-x:scroll;overflow-y:hidden;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0;background-color:#fff}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>thead>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>thead>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}select[multiple],select[size]{height:auto}select optgroup{font-family:inherit;font-size:inherit;font-style:inherit}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}input[type="number"]::-webkit-outer-spin-button,input[type="number"]::-webkit-inner-spin-button{height:auto}.form-control:-moz-placeholder{color:#999}.form-control::-moz-placeholder{color:#999}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle;background-color:#fff;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6)}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee}textarea.form-control{height:auto}.form-group{margin-bottom:15px}.radio,.checkbox{display:block;min-height:20px;padding-left:20px;margin-top:10px;margin-bottom:10px;vertical-align:middle}.radio label,.checkbox label{display:inline;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{float:left;margin-left:-20px}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:normal;vertical-align:middle;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="checkbox"][disabled],.radio[disabled],.radio-inline[disabled],.checkbox[disabled],.checkbox-inline[disabled],fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"],fieldset[disabled] .radio,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm{height:auto}.input-lg{height:45px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg{height:45px;line-height:45px}textarea.input-lg{height:auto}.has-warning .help-block,.has-warning .control-label{color:#c09853}.has-warning .form-control{border-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e}.has-warning .input-group-addon{color:#c09853;background-color:#fcf8e3;border-color:#c09853}.has-error .help-block,.has-error .control-label{color:#b94a48}.has-error .form-control{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392}.has-error .input-group-addon{color:#b94a48;background-color:#f2dede;border-color:#b94a48}.has-success .help-block,.has-success .control-label{color:#468847}.has-success .form-control{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b}.has-success .input-group-addon{color:#468847;background-color:#dff0d8;border-color:#468847}.form-control-static{padding-top:7px;margin-bottom:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media(min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block}.form-inline .radio,.form-inline .checkbox{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:none;margin-left:0}}.form-horizontal .control-label,.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .form-group{margin-right:-12px;margin-left:-12px}.form-horizontal .form-group:before,.form-horizontal .form-group:after{display:table;content:" "}.form-horizontal .form-group:after{clear:both}.form-horizontal .form-group:before,.form-horizontal .form-group:after{display:table;content:" "}.form-horizontal .form-group:after{clear:both}@media(min-width:768px){.form-horizontal .control-label{text-align:right}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:normal;line-height:1.428571429;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;border:1px solid transparent;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus{color:#333;text-decoration:none}.btn:active,.btn.active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default{color:#333;background-color:#ebebeb;border-color:#adadad}.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#fff;border-color:#ccc}.btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#3276b1;border-color:#285e8e}.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#428bca;border-color:#357ebd}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#ed9c28;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#d2322d;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{color:#fff;background-color:#47a447;border-color:#398439}.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{color:#fff;background-color:#39b3d7;border-color:#269abc}.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da}.btn-link{font-weight:normal;color:#428bca;cursor:pointer;border-radius:0}.btn-link,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#2a6496;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#999;text-decoration:none}.btn-lg{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-sm,.btn-xs{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs{padding:1px 5px}.btn-block{display:block;width:100%;padding-right:0;padding-left:0}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;transition:height .35s ease}@font-face{font-family:'Glyphicons Halflings';src:url('../fonts/glyphicons-halflings-regular.eot');src:url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/glyphicons-halflings-regular.woff') format('woff'),url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'),url('../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular') format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';-webkit-font-smoothing:antialiased;font-style:normal;font-weight:normal;line-height:1}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-print:before{content:"\e045"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-briefcase:before{content:"\1f4bc"}.glyphicon-calendar:before{content:"\1f4c5"}.glyphicon-pushpin:before{content:"\1f4cc"}.glyphicon-paperclip:before{content:"\1f4ce"}.glyphicon-camera:before{content:"\1f4f7"}.glyphicon-lock:before{content:"\1f512"}.glyphicon-bell:before{content:"\1f514"}.glyphicon-bookmark:before{content:"\1f516"}.glyphicon-fire:before{content:"\1f525"}.glyphicon-wrench:before{content:"\1f527"}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid #000;border-right:4px solid transparent;border-bottom:0 dotted;border-left:4px solid transparent;content:""}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.428571429;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{color:#fff;text-decoration:none;background-color:#428bca}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#428bca;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#999}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.428571429;color:#999}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0 dotted;border-bottom:4px solid #000;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media(min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}}.btn-default .caret{border-top-color:#333}.btn-primary .caret,.btn-success .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret{border-top-color:#fff}.dropup .btn-default .caret{border-bottom-color:#333}.dropup .btn-primary .caret,.dropup .btn-success .caret,.dropup .btn-warning .caret,.dropup .btn-danger .caret,.dropup .btn-info .caret{border-bottom-color:#fff}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group>.btn:focus,.btn-group-vertical>.btn:focus{outline:0}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar:before,.btn-toolbar:after{display:table;content:" "}.btn-toolbar:after{clear:both}.btn-toolbar:before,.btn-toolbar:after{display:table;content:" "}.btn-toolbar:after{clear:both}.btn-toolbar .btn-group{float:left}.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group,.btn-toolbar>.btn-group+.btn-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group-xs>.btn{padding:5px 10px;padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after{display:table;content:" "}.btn-group-vertical>.btn-group:after{clear:both}.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after{display:table;content:" "}.btn-group-vertical>.btn-group:after{clear:both}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-bottom-left-radius:4px;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child>.btn:last-child,.btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;border-collapse:separate;table-layout:fixed}.btn-group-justified .btn{display:table-cell;float:none;width:1%}[data-toggle="buttons"]>.btn>input[type="radio"],[data-toggle="buttons"]>.btn>input[type="checkbox"]{display:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group.col{float:none;padding-right:0;padding-left:0}.input-group .form-control{width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:45px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:45px;line-height:45px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:normal;line-height:1;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-4px}.input-group-btn>.btn:hover,.input-group-btn>.btn:active{z-index:2}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav:before,.nav:after{display:table;content:" "}.nav:after{clear:both}.nav:before,.nav:after{display:table;content:" "}.nav:after{clear:both}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#999}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#999;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#428bca}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.428571429;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center}@media(min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}}.nav-tabs.nav-justified>li>a{margin-right:0;border-bottom:1px solid #ddd}.nav-tabs.nav-justified>.active>a{border-bottom-color:#fff}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:5px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#428bca}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{text-align:center}@media(min-width:768px){.nav-justified>li{display:table-cell;width:1%}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-bottom:1px solid #ddd}.nav-tabs-justified>.active>a{border-bottom-color:#fff}.tabbable:before,.tabbable:after{display:table;content:" "}.tabbable:after{clear:both}.tabbable:before,.tabbable:after{display:table;content:" "}.tabbable:after{clear:both}.tab-content>.tab-pane,.pill-content>.pill-pane{display:none}.tab-content>.active,.pill-content>.active{display:block}.nav .caret{border-top-color:#428bca;border-bottom-color:#428bca}.nav a:hover .caret{border-top-color:#2a6496;border-bottom-color:#2a6496}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;z-index:1000;min-height:50px;margin-bottom:20px;border:1px solid transparent}.navbar:before,.navbar:after{display:table;content:" "}.navbar:after{clear:both}.navbar:before,.navbar:after{display:table;content:" "}.navbar:after{clear:both}@media(min-width:768px){.navbar{border-radius:4px}}.navbar-header:before,.navbar-header:after{display:table;content:" "}.navbar-header:after{clear:both}.navbar-header:before,.navbar-header:after{display:table;content:" "}.navbar-header:after{clear:both}@media(min-width:768px){.navbar-header{float:left}}.navbar-collapse{max-height:340px;padding-right:12px;padding-left:12px;overflow-x:visible;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse:before,.navbar-collapse:after{display:table;content:" "}.navbar-collapse:after{clear:both}.navbar-collapse:before,.navbar-collapse:after{display:table;content:" "}.navbar-collapse:after{clear:both}.navbar-collapse.in{overflow-y:auto}@media(min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-collapse .navbar-nav.navbar-left:first-child{margin-left:-12px}.navbar-collapse .navbar-nav.navbar-right:last-child{margin-right:-12px}.navbar-collapse .navbar-text:last-child{margin-right:0}}.container>.navbar-header,.container>.navbar-collapse{margin-right:-12px;margin-left:-12px}@media(min-width:768px){.container>.navbar-header,.container>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{border-width:0 0 1px}@media(min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;border-width:0 0 1px}@media(min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;z-index:1030}.navbar-fixed-bottom{bottom:0;margin-bottom:0}.navbar-brand{float:left;padding:15px 12px;font-size:18px;line-height:20px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}@media(min-width:768px){.navbar>.container .navbar-brand{margin-left:-12px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:12px;margin-bottom:8px;background-color:transparent;border:1px solid transparent;border-radius:4px}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media(min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -12px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media(max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media(min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}@media(min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important}}.navbar-form{padding:10px 12px;margin-top:8px;margin-right:-12px;margin-bottom:8px;margin-left:-12px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1)}@media(min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{float:none;margin-left:0}}@media(max-width:767px){.navbar-form .form-group{margin-bottom:5px}}@media(min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-nav.pull-right>li>.dropdown-menu,.navbar-nav>li>.dropdown-menu.pull-right{right:0;left:auto}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-text{float:left;margin-top:15px;margin-bottom:15px}@media(min-width:768px){.navbar-text{margin-right:12px;margin-left:12px}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#ccc}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e6e6e6}.navbar-default .navbar-nav>.dropdown>a:hover .caret,.navbar-default .navbar-nav>.dropdown>a:focus .caret{border-top-color:#333;border-bottom-color:#333}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.open>a .caret,.navbar-default .navbar-nav>.open>a:hover .caret,.navbar-default .navbar-nav>.open>a:focus .caret{border-top-color:#555;border-bottom-color:#555}.navbar-default .navbar-nav>.dropdown>a .caret{border-top-color:#777;border-bottom-color:#777}@media(max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#999}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#999}.navbar-inverse .navbar-nav>li>a{color:#999}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.dropdown>a:hover .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .navbar-nav>.dropdown>a .caret{border-top-color:#999;border-bottom-color:#999}.navbar-inverse .navbar-nav>.open>a .caret,.navbar-inverse .navbar-nav>.open>a:hover .caret,.navbar-inverse .navbar-nav>.open>a:focus .caret{border-top-color:#fff;border-bottom-color:#fff}@media(max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#999}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#999}.navbar-inverse .navbar-link:hover{color:#fff}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#999}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.428571429;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{background-color:#eee}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#fff;cursor:default;background-color:#428bca;border-color:#428bca}.pagination>.disabled>span,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#999;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager:before,.pager:after{display:table;content:" "}.pager:after{clear:both}.pager:before,.pager:after{display:table;content:" "}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#999;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.label[href]:hover,.label[href]:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.label-default{background-color:#999}.label-default[href]:hover,.label-default[href]:focus{background-color:#808080}.label-primary{background-color:#428bca}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#3071a9}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#999;border-radius:10px}.badge:empty{display:none}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.btn .badge{position:relative;top:-1px}a.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#428bca;background-color:#fff}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px;margin-bottom:30px;font-size:21px;font-weight:200;line-height:2.1428571435;color:inherit;background-color:#eee}.jumbotron h1{line-height:1;color:inherit}.jumbotron p{line-height:1.4}.container .jumbotron{border-radius:6px}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-right:60px;padding-left:60px}.jumbotron h1{font-size:63px}}.thumbnail{display:inline-block;display:block;height:auto;max-width:100%;padding:4px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.thumbnail>img{display:block;height:auto;max-width:100%}a.thumbnail:hover,a.thumbnail:focus{border-color:#428bca}.thumbnail>img{margin-right:auto;margin-left:auto}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable{padding-right:35px}.alert-dismissable .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#356635}.alert-info{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#2d6987}.alert-warning{color:#c09853;background-color:#fcf8e3;border-color:#fbeed5}.alert-warning hr{border-top-color:#f8e5be}.alert-warning .alert-link{color:#a47e3c}.alert-danger{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.alert-danger hr{border-top-color:#e6c1c7}.alert-danger .alert-link{color:#953b39}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;color:#fff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar{background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-size:40px 40px}.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.media,.media-body{overflow:hidden;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus{text-decoration:none;background-color:#f5f5f5}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#e1edf7}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-body:before,.panel-body:after{display:table;content:" "}.panel-body:after{clear:both}.panel-body:before,.panel-body:after{display:table;content:" "}.panel-body:after{clear:both}.panel>.list-group{margin-bottom:0}.panel>.list-group .list-group-item{border-width:1px 0}.panel>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.panel>.list-group .list-group-item:last-child{border-bottom:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.table{margin-bottom:0}.panel>.panel-body+.table{border-top:1px solid #ddd}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-title{margin-top:0;margin-bottom:0;font-size:16px}.panel-title>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-group .panel{margin-bottom:0;overflow:hidden;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse .panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse .panel-body{border-top-color:#ddd}.panel-default>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#428bca}.panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#428bca}.panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#428bca}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse .panel-body{border-top-color:#d6e9c6}.panel-success>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#d6e9c6}.panel-warning{border-color:#fbeed5}.panel-warning>.panel-heading{color:#c09853;background-color:#fcf8e3;border-color:#fbeed5}.panel-warning>.panel-heading+.panel-collapse .panel-body{border-top-color:#fbeed5}.panel-warning>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#fbeed5}.panel-danger{border-color:#eed3d7}.panel-danger>.panel-heading{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.panel-danger>.panel-heading+.panel-collapse .panel-body{border-top-color:#eed3d7}.panel-danger>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#eed3d7}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse .panel-body{border-top-color:#bce8f1}.panel-info>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#bce8f1}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:bold;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}body.modal-open,.modal-open .navbar-fixed-top,.modal-open .navbar-fixed-bottom{margin-right:15px}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;display:none;overflow:auto;overflow-y:scroll}.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}.modal-dialog{z-index:1050;width:auto;padding:10px;margin-right:auto;margin-left:auto}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);background-clip:padding-box}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1030;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{min-height:16.428571429px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.428571429}.modal-body{position:relative;padding:20px}.modal-footer{padding:19px 20px 20px;margin-top:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer:before,.modal-footer:after{display:table;content:" "}.modal-footer:after{clear:both}.modal-footer:before,.modal-footer:after{display:table;content:" "}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}@media screen and (min-width:768px){.modal-dialog{right:auto;left:50%;width:600px;padding-top:30px;padding-bottom:30px}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}}.tooltip{position:absolute;z-index:1030;display:block;font-size:12px;line-height:1.4;opacity:0;filter:alpha(opacity=0);visibility:visible}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.top-right .tooltip-arrow{right:5px;bottom:0;border-top-color:#000;border-width:5px 5px 0}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#000;border-width:5px 5px 5px 0}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#000;border-width:5px 0 5px 5px}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#000;border-width:0 5px 5px}.tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-bottom-color:#000;border-width:0 5px 5px}.tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-bottom-color:#000;border-width:0 5px 5px}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);background-clip:padding-box}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover .arrow{border-width:11px}.popover .arrow:after{border-width:10px;content:""}.popover.top .arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);border-bottom-width:0}.popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0;content:" "}.popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,0.25);border-left-width:0}.popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0;content:" "}.popover.bottom .arrow{top:-11px;left:50%;margin-left:-11px;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);border-top-width:0}.popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0;content:" "}.popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-left-color:#999;border-left-color:rgba(0,0,0,0.25);border-right-width:0}.popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0;content:" "}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;height:auto;max-width:100%;line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6);opacity:.5;filter:alpha(opacity=50)}.carousel-control.left{background-image:-webkit-gradient(linear,0 top,100% top,from(rgba(0,0,0,0.5)),to(rgba(0,0,0,0.0001)));background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,0.5) 0),color-stop(rgba(0,0,0,0.0001) 100%));background-image:-moz-linear-gradient(left,rgba(0,0,0,0.5) 0,rgba(0,0,0,0.0001) 100%);background-image:linear-gradient(to right,rgba(0,0,0,0.5) 0,rgba(0,0,0,0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000',endColorstr='#00000000',GradientType=1)}.carousel-control.right{right:0;left:auto;background-image:-webkit-gradient(linear,0 top,100% top,from(rgba(0,0,0,0.0001)),to(rgba(0,0,0,0.5)));background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,0.0001) 0),color-stop(rgba(0,0,0,0.5) 100%));background-image:-moz-linear-gradient(left,rgba(0,0,0,0.0001) 0,rgba(0,0,0,0.5) 100%);background-image:linear-gradient(to right,rgba(0,0,0,0.0001) 0,rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000',endColorstr='#80000000',GradientType=1)}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;left:50%;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;margin-left:-15px;font-size:30px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after{display:table;content:" "}.clearfix:after{clear:both}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.affix{position:fixed}@-ms-viewport{width:device-width}@media screen and (max-width:400px){@-ms-viewport{width:320px}}.hidden{display:none!important;visibility:hidden!important}.visible-xs{display:none!important}tr.visible-xs{display:none!important}th.visible-xs,td.visible-xs{display:none!important}@media(max-width:767px){.visible-xs{display:block!important}tr.visible-xs{display:table-row!important}th.visible-xs,td.visible-xs{display:table-cell!important}}@media(min-width:768px) and (max-width:991px){.visible-xs.visible-sm{display:block!important}tr.visible-xs.visible-sm{display:table-row!important}th.visible-xs.visible-sm,td.visible-xs.visible-sm{display:table-cell!important}}@media(min-width:992px) and (max-width:1199px){.visible-xs.visible-md{display:block!important}tr.visible-xs.visible-md{display:table-row!important}th.visible-xs.visible-md,td.visible-xs.visible-md{display:table-cell!important}}@media(min-width:1200px){.visible-xs.visible-lg{display:block!important}tr.visible-xs.visible-lg{display:table-row!important}th.visible-xs.visible-lg,td.visible-xs.visible-lg{display:table-cell!important}}.visible-sm{display:none!important}tr.visible-sm{display:none!important}th.visible-sm,td.visible-sm{display:none!important}@media(max-width:767px){.visible-sm.visible-xs{display:block!important}tr.visible-sm.visible-xs{display:table-row!important}th.visible-sm.visible-xs,td.visible-sm.visible-xs{display:table-cell!important}}@media(min-width:768px) and (max-width:991px){.visible-sm{display:block!important}tr.visible-sm{display:table-row!important}th.visible-sm,td.visible-sm{display:table-cell!important}}@media(min-width:992px) and (max-width:1199px){.visible-sm.visible-md{display:block!important}tr.visible-sm.visible-md{display:table-row!important}th.visible-sm.visible-md,td.visible-sm.visible-md{display:table-cell!important}}@media(min-width:1200px){.visible-sm.visible-lg{display:block!important}tr.visible-sm.visible-lg{display:table-row!important}th.visible-sm.visible-lg,td.visible-sm.visible-lg{display:table-cell!important}}.visible-md{display:none!important}tr.visible-md{display:none!important}th.visible-md,td.visible-md{display:none!important}@media(max-width:767px){.visible-md.visible-xs{display:block!important}tr.visible-md.visible-xs{display:table-row!important}th.visible-md.visible-xs,td.visible-md.visible-xs{display:table-cell!important}}@media(min-width:768px) and (max-width:991px){.visible-md.visible-sm{display:block!important}tr.visible-md.visible-sm{display:table-row!important}th.visible-md.visible-sm,td.visible-md.visible-sm{display:table-cell!important}}@media(min-width:992px) and (max-width:1199px){.visible-md{display:block!important}tr.visible-md{display:table-row!important}th.visible-md,td.visible-md{display:table-cell!important}}@media(min-width:1200px){.visible-md.visible-lg{display:block!important}tr.visible-md.visible-lg{display:table-row!important}th.visible-md.visible-lg,td.visible-md.visible-lg{display:table-cell!important}}.visible-lg{display:none!important}tr.visible-lg{display:none!important}th.visible-lg,td.visible-lg{display:none!important}@media(max-width:767px){.visible-lg.visible-xs{display:block!important}tr.visible-lg.visible-xs{display:table-row!important}th.visible-lg.visible-xs,td.visible-lg.visible-xs{display:table-cell!important}}@media(min-width:768px) and (max-width:991px){.visible-lg.visible-sm{display:block!important}tr.visible-lg.visible-sm{display:table-row!important}th.visible-lg.visible-sm,td.visible-lg.visible-sm{display:table-cell!important}}@media(min-width:992px) and (max-width:1199px){.visible-lg.visible-md{display:block!important}tr.visible-lg.visible-md{display:table-row!important}th.visible-lg.visible-md,td.visible-lg.visible-md{display:table-cell!important}}@media(min-width:1200px){.visible-lg{display:block!important}tr.visible-lg{display:table-row!important}th.visible-lg,td.visible-lg{display:table-cell!important}}.hidden-xs{display:block!important}tr.hidden-xs{display:table-row!important}th.hidden-xs,td.hidden-xs{display:table-cell!important}@media(max-width:767px){.hidden-xs{display:none!important}tr.hidden-xs{display:none!important}th.hidden-xs,td.hidden-xs{display:none!important}}@media(min-width:768px) and (max-width:991px){.hidden-xs.hidden-sm{display:none!important}tr.hidden-xs.hidden-sm{display:none!important}th.hidden-xs.hidden-sm,td.hidden-xs.hidden-sm{display:none!important}}@media(min-width:992px) and (max-width:1199px){.hidden-xs.hidden-md{display:none!important}tr.hidden-xs.hidden-md{display:none!important}th.hidden-xs.hidden-md,td.hidden-xs.hidden-md{display:none!important}}@media(min-width:1200px){.hidden-xs.hidden-lg{display:none!important}tr.hidden-xs.hidden-lg{display:none!important}th.hidden-xs.hidden-lg,td.hidden-xs.hidden-lg{display:none!important}}.hidden-sm{display:block!important}tr.hidden-sm{display:table-row!important}th.hidden-sm,td.hidden-sm{display:table-cell!important}@media(max-width:767px){.hidden-sm.hidden-xs{display:none!important}tr.hidden-sm.hidden-xs{display:none!important}th.hidden-sm.hidden-xs,td.hidden-sm.hidden-xs{display:none!important}}@media(min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}tr.hidden-sm{display:none!important}th.hidden-sm,td.hidden-sm{display:none!important}}@media(min-width:992px) and (max-width:1199px){.hidden-sm.hidden-md{display:none!important}tr.hidden-sm.hidden-md{display:none!important}th.hidden-sm.hidden-md,td.hidden-sm.hidden-md{display:none!important}}@media(min-width:1200px){.hidden-sm.hidden-lg{display:none!important}tr.hidden-sm.hidden-lg{display:none!important}th.hidden-sm.hidden-lg,td.hidden-sm.hidden-lg{display:none!important}}.hidden-md{display:block!important}tr.hidden-md{display:table-row!important}th.hidden-md,td.hidden-md{display:table-cell!important}@media(max-width:767px){.hidden-md.hidden-xs{display:none!important}tr.hidden-md.hidden-xs{display:none!important}th.hidden-md.hidden-xs,td.hidden-md.hidden-xs{display:none!important}}@media(min-width:768px) and (max-width:991px){.hidden-md.hidden-sm{display:none!important}tr.hidden-md.hidden-sm{display:none!important}th.hidden-md.hidden-sm,td.hidden-md.hidden-sm{display:none!important}}@media(min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}tr.hidden-md{display:none!important}th.hidden-md,td.hidden-md{display:none!important}}@media(min-width:1200px){.hidden-md.hidden-lg{display:none!important}tr.hidden-md.hidden-lg{display:none!important}th.hidden-md.hidden-lg,td.hidden-md.hidden-lg{display:none!important}}.hidden-lg{display:block!important}tr.hidden-lg{display:table-row!important}th.hidden-lg,td.hidden-lg{display:table-cell!important}@media(max-width:767px){.hidden-lg.hidden-xs{display:none!important}tr.hidden-lg.hidden-xs{display:none!important}th.hidden-lg.hidden-xs,td.hidden-lg.hidden-xs{display:none!important}}@media(min-width:768px) and (max-width:991px){.hidden-lg.hidden-sm{display:none!important}tr.hidden-lg.hidden-sm{display:none!important}th.hidden-lg.hidden-sm,td.hidden-lg.hidden-sm{display:none!important}}@media(min-width:992px) and (max-width:1199px){.hidden-lg.hidden-md{display:none!important}tr.hidden-lg.hidden-md{display:none!important}th.hidden-lg.hidden-md,td.hidden-lg.hidden-md{display:none!important}}@media(min-width:1200px){.hidden-lg{display:none!important}tr.hidden-lg{display:none!important}th.hidden-lg,td.hidden-lg{display:none!important}}.visible-print{display:none!important}tr.visible-print{display:none!important}th.visible-print,td.visible-print{display:none!important}@media print{.visible-print{display:block!important}tr.visible-print{display:table-row!important}th.visible-print,td.visible-print{display:table-cell!important}.hidden-print{display:none!important}tr.hidden-print{display:none!important}th.hidden-print,td.hidden-print{display:none!important}}
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/css/chosen.css b/src/main/webapp/static/login/assets/css/chosen.css new file mode 100644 index 0000000..d203a07 --- /dev/null +++ b/src/main/webapp/static/login/assets/css/chosen.css @@ -0,0 +1,430 @@ +/* @group Base */ +.chosen-container { + position: relative; + display: inline-block; + vertical-align: middle; + font-size: 13px; + zoom: 1; + *display: inline; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; +} +.chosen-container .chosen-drop { + position: absolute; + top: 100%; + left: -9999px; + z-index: 1010; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + width: 100%; + border: 1px solid #aaa; + border-top: 0; + background: #fff; + box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15); +} +.chosen-container.chosen-with-drop .chosen-drop { + left: 0; +} +.chosen-container a { + cursor: pointer; +} + +/* @end */ +/* @group Single Chosen */ +.chosen-container-single .chosen-single { + position: relative; + display: block; + overflow: hidden; + padding: 0 0 0 8px; + height: 23px; + border: 1px solid #aaa; + border-radius: 5px; + background-color: #fff; + background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #ffffff), color-stop(50%, #f6f6f6), color-stop(52%, #eeeeee), color-stop(100%, #f4f4f4)); + background: -webkit-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%); + background: -moz-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%); + background: -o-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%); + background: linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%); + background-clip: padding-box; + box-shadow: 0 0 3px white inset, 0 1px 1px rgba(0, 0, 0, 0.1); + color: #444; + text-decoration: none; + white-space: nowrap; + line-height: 24px; +} +.chosen-container-single .chosen-default { + color: #999; +} +.chosen-container-single .chosen-single span { + display: block; + overflow: hidden; + margin-right: 26px; + text-overflow: ellipsis; + white-space: nowrap; +} +.chosen-container-single .chosen-single-with-deselect span { + margin-right: 38px; +} +.chosen-container-single .chosen-single abbr { + position: absolute; + top: 6px; + right: 26px; + display: block; + width: 12px; + height: 12px; + background: url('chosen-sprite.png') -42px 1px no-repeat; + font-size: 1px; +} +.chosen-container-single .chosen-single abbr:hover { + background-position: -42px -10px; +} +.chosen-container-single.chosen-disabled .chosen-single abbr:hover { + background-position: -42px -10px; +} +.chosen-container-single .chosen-single div { + position: absolute; + top: 0; + right: 0; + display: block; + width: 18px; + height: 100%; +} +.chosen-container-single .chosen-single div b { + display: block; + width: 100%; + height: 100%; + background: url('chosen-sprite.png') no-repeat 0px 2px; +} +.chosen-container-single .chosen-search { + position: relative; + z-index: 1010; + margin: 0; + padding: 3px 4px; + white-space: nowrap; +} +.chosen-container-single .chosen-search input[type="text"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + margin: 1px 0; + padding: 4px 20px 4px 5px; + width: 100%; + height: auto; + outline: 0; + border: 1px solid #aaa; + background: white url('chosen-sprite.png') no-repeat 100% -20px; + background: url('chosen-sprite.png') no-repeat 100% -20px, -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(1%, #eeeeee), color-stop(15%, #ffffff)); + background: url('chosen-sprite.png') no-repeat 100% -20px, -webkit-linear-gradient(#eeeeee 1%, #ffffff 15%); + background: url('chosen-sprite.png') no-repeat 100% -20px, -moz-linear-gradient(#eeeeee 1%, #ffffff 15%); + background: url('chosen-sprite.png') no-repeat 100% -20px, -o-linear-gradient(#eeeeee 1%, #ffffff 15%); + background: url('chosen-sprite.png') no-repeat 100% -20px, linear-gradient(#eeeeee 1%, #ffffff 15%); + font-size: 1em; + font-family: sans-serif; + line-height: normal; + border-radius: 0; +} +.chosen-container-single .chosen-drop { + margin-top: -1px; + border-radius: 0 0 4px 4px; + background-clip: padding-box; +} +.chosen-container-single.chosen-container-single-nosearch .chosen-search { + position: absolute; + left: -9999px; +} + +/* @end */ +/* @group Results */ +.chosen-container .chosen-results { + position: relative; + overflow-x: hidden; + overflow-y: auto; + margin: 0 4px 4px 0; + padding: 0 0 0 4px; + max-height: 240px; + -webkit-overflow-scrolling: touch; +} +.chosen-container .chosen-results li { + display: none; + margin: 0; + padding: 5px 6px; + list-style: none; + line-height: 15px; +} +.chosen-container .chosen-results li.active-result { + display: list-item; + cursor: pointer; +} +.chosen-container .chosen-results li.disabled-result { + display: list-item; + color: #ccc; + cursor: default; +} +.chosen-container .chosen-results li.highlighted { + background-color: #3875d7; + background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #3875d7), color-stop(90%, #2a62bc)); + background-image: -webkit-linear-gradient(#3875d7 20%, #2a62bc 90%); + background-image: -moz-linear-gradient(#3875d7 20%, #2a62bc 90%); + background-image: -o-linear-gradient(#3875d7 20%, #2a62bc 90%); + background-image: linear-gradient(#3875d7 20%, #2a62bc 90%); + color: #fff; +} +.chosen-container .chosen-results li.no-results { + display: list-item; + background: #f4f4f4; +} +.chosen-container .chosen-results li.group-result { + display: list-item; + font-weight: bold; + cursor: default; +} +.chosen-container .chosen-results li.group-option { + padding-left: 15px; +} +.chosen-container .chosen-results li em { + font-style: normal; + text-decoration: underline; +} + +/* @end */ +/* @group Multi Chosen */ +.chosen-container-multi .chosen-choices { + position: relative; + overflow: hidden; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + margin: 0; + padding: 0; + width: 100%; + height: auto !important; + height: 1%; + border: 1px solid #aaa; + background-color: #fff; + background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(1%, #eeeeee), color-stop(15%, #ffffff)); + background-image: -webkit-linear-gradient(#eeeeee 1%, #ffffff 15%); + background-image: -moz-linear-gradient(#eeeeee 1%, #ffffff 15%); + background-image: -o-linear-gradient(#eeeeee 1%, #ffffff 15%); + background-image: linear-gradient(#eeeeee 1%, #ffffff 15%); + cursor: text; +} +.chosen-container-multi .chosen-choices li { + float: left; + list-style: none; +} +.chosen-container-multi .chosen-choices li.search-field { + margin: 0; + padding: 0; + white-space: nowrap; +} +.chosen-container-multi .chosen-choices li.search-field input[type="text"] { + margin: 1px 0; + padding: 5px; + height: 15px; + outline: 0; + border: 0 !important; + background: transparent !important; + box-shadow: none; + color: #666; + font-size: 100%; + font-family: sans-serif; + line-height: normal; + border-radius: 0; +} +.chosen-container-multi .chosen-choices li.search-field .default { + color: #999; +} +.chosen-container-multi .chosen-choices li.search-choice { + position: relative; + margin: 3px 0 3px 5px; + padding: 3px 20px 3px 5px; + border: 1px solid #aaa; + border-radius: 3px; + background-color: #e4e4e4; + background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eeeeee)); + background-image: -webkit-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); + background-image: -moz-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); + background-image: -o-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); + background-image: linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); + background-clip: padding-box; + box-shadow: 0 0 2px white inset, 0 1px 0 rgba(0, 0, 0, 0.05); + color: #333; + line-height: 13px; + cursor: default; +} +.chosen-container-multi .chosen-choices li.search-choice .search-choice-close { + position: absolute; + top: 4px; + right: 3px; + display: block; + width: 12px; + height: 12px; + background: url('chosen-sprite.png') -42px 1px no-repeat; + font-size: 1px; +} +.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover { + background-position: -42px -10px; +} +.chosen-container-multi .chosen-choices li.search-choice-disabled { + padding-right: 5px; + border: 1px solid #ccc; + background-color: #e4e4e4; + background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eeeeee)); + background-image: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); + background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); + background-image: -o-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); + background-image: linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); + color: #666; +} +.chosen-container-multi .chosen-choices li.search-choice-focus { + background: #d4d4d4; +} +.chosen-container-multi .chosen-choices li.search-choice-focus .search-choice-close { + background-position: -42px -10px; +} +.chosen-container-multi .chosen-results { + margin: 0; + padding: 0; +} +.chosen-container-multi .chosen-drop .result-selected { + display: list-item; + color: #ccc; + cursor: default; +} + +/* @end */ +/* @group Active */ +.chosen-container-active .chosen-single { + border: 1px solid #5897fb; + box-shadow: 0 0 5px rgba(0, 0, 0, 0.3); +} +.chosen-container-active.chosen-with-drop .chosen-single { + border: 1px solid #aaa; + -moz-border-radius-bottomright: 0; + border-bottom-right-radius: 0; + -moz-border-radius-bottomleft: 0; + border-bottom-left-radius: 0; + background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #eeeeee), color-stop(80%, #ffffff)); + background-image: -webkit-linear-gradient(#eeeeee 20%, #ffffff 80%); + background-image: -moz-linear-gradient(#eeeeee 20%, #ffffff 80%); + background-image: -o-linear-gradient(#eeeeee 20%, #ffffff 80%); + background-image: linear-gradient(#eeeeee 20%, #ffffff 80%); + box-shadow: 0 1px 0 #fff inset; +} +.chosen-container-active.chosen-with-drop .chosen-single div { + border-left: none; + background: transparent; +} +.chosen-container-active.chosen-with-drop .chosen-single div b { + background-position: -18px 2px; +} +.chosen-container-active .chosen-choices { + border: 1px solid #5897fb; + box-shadow: 0 0 5px rgba(0, 0, 0, 0.3); +} +.chosen-container-active .chosen-choices li.search-field input[type="text"] { + color: #111 !important; +} + +/* @end */ +/* @group Disabled Support */ +.chosen-disabled { + opacity: 0.5 !important; + cursor: default; +} +.chosen-disabled .chosen-single { + cursor: default; +} +.chosen-disabled .chosen-choices .search-choice .search-choice-close { + cursor: default; +} + +/* @end */ +/* @group Right to Left */ +.chosen-rtl { + text-align: right; +} +.chosen-rtl .chosen-single { + overflow: visible; + padding: 0 8px 0 0; +} +.chosen-rtl .chosen-single span { + margin-right: 0; + margin-left: 26px; + direction: rtl; +} +.chosen-rtl .chosen-single-with-deselect span { + margin-left: 38px; +} +.chosen-rtl .chosen-single div { + right: auto; + left: 3px; +} +.chosen-rtl .chosen-single abbr { + right: auto; + left: 26px; +} +.chosen-rtl .chosen-choices li { + float: right; +} +.chosen-rtl .chosen-choices li.search-field input[type="text"] { + direction: rtl; +} +.chosen-rtl .chosen-choices li.search-choice { + margin: 3px 5px 3px 0; + padding: 3px 5px 3px 19px; +} +.chosen-rtl .chosen-choices li.search-choice .search-choice-close { + right: auto; + left: 4px; +} +.chosen-rtl.chosen-container-single-nosearch .chosen-search, +.chosen-rtl .chosen-drop { + left: 9999px; +} +.chosen-rtl.chosen-container-single .chosen-results { + margin: 0 0 4px 4px; + padding: 0 4px 0 0; +} +.chosen-rtl .chosen-results li.group-option { + padding-right: 15px; + padding-left: 0; +} +.chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div { + border-right: none; +} +.chosen-rtl .chosen-search input[type="text"] { + padding: 4px 5px 4px 20px; + background: white url('chosen-sprite.png') no-repeat -30px -20px; + background: url('chosen-sprite.png') no-repeat -30px -20px, -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(1%, #eeeeee), color-stop(15%, #ffffff)); + background: url('chosen-sprite.png') no-repeat -30px -20px, -webkit-linear-gradient(#eeeeee 1%, #ffffff 15%); + background: url('chosen-sprite.png') no-repeat -30px -20px, -moz-linear-gradient(#eeeeee 1%, #ffffff 15%); + background: url('chosen-sprite.png') no-repeat -30px -20px, -o-linear-gradient(#eeeeee 1%, #ffffff 15%); + background: url('chosen-sprite.png') no-repeat -30px -20px, linear-gradient(#eeeeee 1%, #ffffff 15%); + direction: rtl; +} +.chosen-rtl.chosen-container-single .chosen-single div b { + background-position: 6px 2px; +} +.chosen-rtl.chosen-container-single.chosen-with-drop .chosen-single div b { + background-position: -12px 2px; +} + +/* @end */ +/* @group Retina compatibility */ +@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-resolution: 144dpi) { + .chosen-rtl .chosen-search input[type="text"], + .chosen-container-single .chosen-single abbr, + .chosen-container-single .chosen-single div b, + .chosen-container-single .chosen-search input[type="text"], + .chosen-container-multi .chosen-choices .search-choice .search-choice-close, + .chosen-container .chosen-results-scroll-down span, + .chosen-container .chosen-results-scroll-up span { + background-image: url('[email protected]') !important; + background-size: 52px 37px !important; + background-repeat: no-repeat !important; + } +} +/* @end */ diff --git a/src/main/webapp/static/login/assets/css/colorbox.css b/src/main/webapp/static/login/assets/css/colorbox.css new file mode 100644 index 0000000..1dedd90 --- /dev/null +++ b/src/main/webapp/static/login/assets/css/colorbox.css @@ -0,0 +1,69 @@ +/* + Colorbox Core Style: + The following CSS is consistent between example themes and should not be altered. +*/ +#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;} +#cboxOverlay{position:fixed; width:100%; height:100%;} +#cboxMiddleLeft, #cboxBottomLeft{clear:left;} +#cboxContent{position:relative;} +#cboxLoadedContent{overflow:auto; -webkit-overflow-scrolling: touch;} +#cboxTitle{margin:0;} +#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;} +#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;} +.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none; -ms-interpolation-mode:bicubic;} +.cboxIframe{width:100%; height:100%; display:block; border:0;} +#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;} + +/* + User Style: + Change the following styles to modify the appearance of Colorbox. They are + ordered & tabbed in a way that represents the nesting of the generated HTML. +*/ +#cboxOverlay{background:url(images/overlay.png) repeat 0 0;} +#colorbox{outline:0;} + #cboxTopLeft{width:21px; height:21px; background:url(images/controls.png) no-repeat -101px 0;} + #cboxTopRight{width:21px; height:21px; background:url(images/controls.png) no-repeat -130px 0;} + #cboxBottomLeft{width:21px; height:21px; background:url(images/controls.png) no-repeat -101px -29px;} + #cboxBottomRight{width:21px; height:21px; background:url(images/controls.png) no-repeat -130px -29px;} + #cboxMiddleLeft{width:21px; background:url(images/controls.png) left top repeat-y;} + #cboxMiddleRight{width:21px; background:url(images/controls.png) right top repeat-y;} + #cboxTopCenter{height:21px; background:url(images/border.png) 0 0 repeat-x;} + #cboxBottomCenter{height:21px; background:url(images/border.png) 0 -29px repeat-x;} + #cboxContent{background:#fff; overflow:hidden;} + .cboxIframe{background:#fff;} + #cboxError{padding:50px; border:1px solid #ccc;} + #cboxLoadedContent{margin-bottom:28px;} + #cboxTitle{position:absolute; bottom:4px; left:0; text-align:center; width:100%; color:#949494;} + #cboxCurrent{position:absolute; bottom:4px; left:58px; color:#949494;} + #cboxLoadingOverlay{background:url(images/loading_background.png) no-repeat center center;} + #cboxLoadingGraphic{background:url(images/loading.gif) no-repeat center center;} + + /* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */ + #cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; } + + /* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */ + #cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {outline:0;} + + #cboxSlideshow{position:absolute; bottom:4px; right:30px; color:#0092ef;} + #cboxPrevious{position:absolute; bottom:0; left:0; background:url(images/controls.png) no-repeat -75px 0; width:25px; height:25px; text-indent:-9999px;} + #cboxPrevious:hover{background-position:-75px -25px;} + #cboxNext{position:absolute; bottom:0; left:27px; background:url(images/controls.png) no-repeat -50px 0; width:25px; height:25px; text-indent:-9999px;} + #cboxNext:hover{background-position:-50px -25px;} + #cboxClose{position:absolute; bottom:0; right:0; background:url(images/controls.png) no-repeat -25px 0; width:25px; height:25px; text-indent:-9999px;} + #cboxClose:hover{background-position:-25px -25px;} + +/* + The following fixes a problem where IE7 and IE8 replace a PNG's alpha transparency with a black fill + when an alpha filter (opacity change) is set on the element or ancestor element. This style is not applied to or needed in IE9. + See: http://jacklmoore.com/notes/ie-transparency-problems/ +*/ +.cboxIE #cboxTopLeft, +.cboxIE #cboxTopCenter, +.cboxIE #cboxTopRight, +.cboxIE #cboxBottomLeft, +.cboxIE #cboxBottomCenter, +.cboxIE #cboxBottomRight, +.cboxIE #cboxMiddleLeft, +.cboxIE #cboxMiddleRight { + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF); +}
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/css/colorpicker.css b/src/main/webapp/static/login/assets/css/colorpicker.css new file mode 100644 index 0000000..df6e6c5 --- /dev/null +++ b/src/main/webapp/static/login/assets/css/colorpicker.css @@ -0,0 +1,127 @@ +/*! +* Colorpicker for Bootstrap +* +* Copyright 2012 Stefan Petre +* Licensed under the Apache License v2.0 +* http://www.apache.org/licenses/LICENSE-2.0 +* +*/ +.colorpicker-saturation { + width: 100px; + height: 100px; + background-image: url(img/saturation.png); + cursor: crosshair; + float: left; +} +.colorpicker-saturation i { + display: block; + height: 5px; + width: 5px; + border: 1px solid #000; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; + position: absolute; + top: 0; + left: 0; + margin: -4px 0 0 -4px; +} +.colorpicker-saturation i b { + display: block; + height: 5px; + width: 5px; + border: 1px solid #fff; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; +} +.colorpicker-hue, .colorpicker-alpha { + width: 15px; + height: 100px; + float: left; + cursor: row-resize; + margin-left: 4px; + margin-bottom: 4px; +} +.colorpicker-hue i, .colorpicker-alpha i { + display: block; + height: 1px; + background: #000; + border-top: 1px solid #fff; + position: absolute; + top: 0; + left: 0; + width: 100%; + margin-top: -1px; +} +.colorpicker-hue { + background-image: url(img/hue.png); +} +.colorpicker-alpha { + background-image: url(img/alpha.png); + display: none; +} +.colorpicker { + *zoom: 1; + top: 0; + left: 0; + padding: 4px; + min-width: 120px; + margin-top: 1px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} +.colorpicker:before, .colorpicker:after { + display: table; + content: ""; +} +.colorpicker:after { + clear: both; +} +.colorpicker:before { + content: ''; + display: inline-block; + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-bottom: 7px solid #ccc; + border-bottom-color: rgba(0, 0, 0, 0.2); + position: absolute; + top: -7px; + left: 6px; +} +.colorpicker:after { + content: ''; + display: inline-block; + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-bottom: 6px solid #ffffff; + position: absolute; + top: -6px; + left: 7px; +} +.colorpicker div { + position: relative; +} +.colorpicker.alpha { + min-width: 140px; +} +.colorpicker.alpha .colorpicker-alpha { + display: block; +} +.colorpicker-color { + height: 10px; + margin-top: 5px; + clear: both; + background-image: url(img/alpha.png); + background-position: 0 100%; +} +.colorpicker-color div { + height: 10px; +} +.input-append.color .add-on i, .input-prepend.color .add-on i { + display: block; + cursor: pointer; + width: 16px; + height: 16px; +}
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/css/datepicker.css b/src/main/webapp/static/login/assets/css/datepicker.css new file mode 100644 index 0000000..0eba41e --- /dev/null +++ b/src/main/webapp/static/login/assets/css/datepicker.css @@ -0,0 +1,301 @@ +/*!
+ * Datepicker for Bootstrap
+ *
+ * Copyright 2012 Stefan Petre
+ * Improvements by Andrew Rowls
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ */
+.datepicker {
+ padding: 4px;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+ direction: ltr;
+ /*.dow {
+ border-top: 1px solid #ddd !important;
+ }*/
+
+}
+.datepicker-inline {
+ width: 220px;
+}
+.datepicker.datepicker-rtl {
+ direction: rtl;
+}
+.datepicker.datepicker-rtl table tr td span {
+ float: right;
+}
+.datepicker-dropdown {
+ top: 0;
+ left: 0;
+}
+.datepicker-dropdown:before {
+ content: '';
+ display: inline-block;
+ border-left: 7px solid transparent;
+ border-right: 7px solid transparent;
+ border-bottom: 7px solid #ccc;
+ border-bottom-color: rgba(0, 0, 0, 0.2);
+ position: absolute;
+ top: -7px;
+ left: 6px;
+}
+.datepicker-dropdown:after {
+ content: '';
+ display: inline-block;
+ border-left: 6px solid transparent;
+ border-right: 6px solid transparent;
+ border-bottom: 6px solid #ffffff;
+ position: absolute;
+ top: -6px;
+ left: 7px;
+}
+.datepicker > div {
+ display: none;
+}
+.datepicker.days div.datepicker-days {
+ display: block;
+}
+.datepicker.months div.datepicker-months {
+ display: block;
+}
+.datepicker.years div.datepicker-years {
+ display: block;
+}
+.datepicker table {
+ margin: 0;
+}
+.datepicker td,
+.datepicker th {
+ text-align: center;
+ width: 20px;
+ height: 20px;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+ border: none;
+}
+.table-striped .datepicker table tr td,
+.table-striped .datepicker table tr th {
+ background-color: transparent;
+}
+.datepicker table tr td.day:hover {
+ background: #eeeeee;
+ cursor: pointer;
+}
+.datepicker table tr td.old,
+.datepicker table tr td.new {
+ color: #999999;
+}
+.datepicker table tr td.disabled,
+.datepicker table tr td.disabled:hover {
+ background: none;
+ color: #999999;
+ cursor: default;
+}
+.datepicker table tr td.today,
+.datepicker table tr td.today:hover,
+.datepicker table tr td.today.disabled,
+.datepicker table tr td.today.disabled:hover {
+ background-color: #fde19a;
+ background-image: -moz-linear-gradient(top, #fdd49a, #fdf59a);
+ background-image: -ms-linear-gradient(top, #fdd49a, #fdf59a);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fdd49a), to(#fdf59a));
+ background-image: -webkit-linear-gradient(top, #fdd49a, #fdf59a);
+ background-image: -o-linear-gradient(top, #fdd49a, #fdf59a);
+ background-image: linear-gradient(top, #fdd49a, #fdf59a);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0);
+ border-color: #fdf59a #fdf59a #fbed50;
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
+ color: #000 !important;
+}
+.datepicker table tr td.today:hover,
+.datepicker table tr td.today:hover:hover,
+.datepicker table tr td.today.disabled:hover,
+.datepicker table tr td.today.disabled:hover:hover,
+.datepicker table tr td.today:active,
+.datepicker table tr td.today:hover:active,
+.datepicker table tr td.today.disabled:active,
+.datepicker table tr td.today.disabled:hover:active,
+.datepicker table tr td.today.active,
+.datepicker table tr td.today:hover.active,
+.datepicker table tr td.today.disabled.active,
+.datepicker table tr td.today.disabled:hover.active,
+.datepicker table tr td.today.disabled,
+.datepicker table tr td.today:hover.disabled,
+.datepicker table tr td.today.disabled.disabled,
+.datepicker table tr td.today.disabled:hover.disabled,
+.datepicker table tr td.today[disabled],
+.datepicker table tr td.today:hover[disabled],
+.datepicker table tr td.today.disabled[disabled],
+.datepicker table tr td.today.disabled:hover[disabled] {
+ background-color: #fdf59a;
+}
+.datepicker table tr td.today:active,
+.datepicker table tr td.today:hover:active,
+.datepicker table tr td.today.disabled:active,
+.datepicker table tr td.today.disabled:hover:active,
+.datepicker table tr td.today.active,
+.datepicker table tr td.today:hover.active,
+.datepicker table tr td.today.disabled.active,
+.datepicker table tr td.today.disabled:hover.active {
+ background-color: #fbf069 \9;
+}
+.datepicker table tr td.active,
+.datepicker table tr td.active:hover,
+.datepicker table tr td.active.disabled,
+.datepicker table tr td.active.disabled:hover {
+ background-color: #006dcc;
+ background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
+ background-image: -ms-linear-gradient(top, #0088cc, #0044cc);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
+ background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
+ background-image: -o-linear-gradient(top, #0088cc, #0044cc);
+ background-image: linear-gradient(top, #0088cc, #0044cc);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);
+ border-color: #0044cc #0044cc #002a80;
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
+ color: #fff;
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+}
+.datepicker table tr td.active:hover,
+.datepicker table tr td.active:hover:hover,
+.datepicker table tr td.active.disabled:hover,
+.datepicker table tr td.active.disabled:hover:hover,
+.datepicker table tr td.active:active,
+.datepicker table tr td.active:hover:active,
+.datepicker table tr td.active.disabled:active,
+.datepicker table tr td.active.disabled:hover:active,
+.datepicker table tr td.active.active,
+.datepicker table tr td.active:hover.active,
+.datepicker table tr td.active.disabled.active,
+.datepicker table tr td.active.disabled:hover.active,
+.datepicker table tr td.active.disabled,
+.datepicker table tr td.active:hover.disabled,
+.datepicker table tr td.active.disabled.disabled,
+.datepicker table tr td.active.disabled:hover.disabled,
+.datepicker table tr td.active[disabled],
+.datepicker table tr td.active:hover[disabled],
+.datepicker table tr td.active.disabled[disabled],
+.datepicker table tr td.active.disabled:hover[disabled] {
+ background-color: #0044cc;
+}
+.datepicker table tr td.active:active,
+.datepicker table tr td.active:hover:active,
+.datepicker table tr td.active.disabled:active,
+.datepicker table tr td.active.disabled:hover:active,
+.datepicker table tr td.active.active,
+.datepicker table tr td.active:hover.active,
+.datepicker table tr td.active.disabled.active,
+.datepicker table tr td.active.disabled:hover.active {
+ background-color: #003399 \9;
+}
+.datepicker table tr td span {
+ display: block;
+ width: 23%;
+ height: 54px;
+ line-height: 54px;
+ float: left;
+ margin: 1%;
+ cursor: pointer;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+}
+.datepicker table tr td span:hover {
+ background: #eeeeee;
+}
+.datepicker table tr td span.disabled,
+.datepicker table tr td span.disabled:hover {
+ background: none;
+ color: #999999;
+ cursor: default;
+}
+.datepicker table tr td span.active,
+.datepicker table tr td span.active:hover,
+.datepicker table tr td span.active.disabled,
+.datepicker table tr td span.active.disabled:hover {
+ background-color: #006dcc;
+ background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
+ background-image: -ms-linear-gradient(top, #0088cc, #0044cc);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
+ background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
+ background-image: -o-linear-gradient(top, #0088cc, #0044cc);
+ background-image: linear-gradient(top, #0088cc, #0044cc);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);
+ border-color: #0044cc #0044cc #002a80;
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
+ color: #fff;
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+}
+.datepicker table tr td span.active:hover,
+.datepicker table tr td span.active:hover:hover,
+.datepicker table tr td span.active.disabled:hover,
+.datepicker table tr td span.active.disabled:hover:hover,
+.datepicker table tr td span.active:active,
+.datepicker table tr td span.active:hover:active,
+.datepicker table tr td span.active.disabled:active,
+.datepicker table tr td span.active.disabled:hover:active,
+.datepicker table tr td span.active.active,
+.datepicker table tr td span.active:hover.active,
+.datepicker table tr td span.active.disabled.active,
+.datepicker table tr td span.active.disabled:hover.active,
+.datepicker table tr td span.active.disabled,
+.datepicker table tr td span.active:hover.disabled,
+.datepicker table tr td span.active.disabled.disabled,
+.datepicker table tr td span.active.disabled:hover.disabled,
+.datepicker table tr td span.active[disabled],
+.datepicker table tr td span.active:hover[disabled],
+.datepicker table tr td span.active.disabled[disabled],
+.datepicker table tr td span.active.disabled:hover[disabled] {
+ background-color: #0044cc;
+}
+.datepicker table tr td span.active:active,
+.datepicker table tr td span.active:hover:active,
+.datepicker table tr td span.active.disabled:active,
+.datepicker table tr td span.active.disabled:hover:active,
+.datepicker table tr td span.active.active,
+.datepicker table tr td span.active:hover.active,
+.datepicker table tr td span.active.disabled.active,
+.datepicker table tr td span.active.disabled:hover.active {
+ background-color: #003399 \9;
+}
+.datepicker table tr td span.old {
+ color: #999999;
+}
+.datepicker th.switch {
+ width: 145px;
+}
+.datepicker thead tr:first-child th,
+.datepicker tfoot tr:first-child th {
+ cursor: pointer;
+}
+.datepicker thead tr:first-child th:hover,
+.datepicker tfoot tr:first-child th:hover {
+ background: #eeeeee;
+}
+.datepicker .cw {
+ font-size: 10px;
+ width: 12px;
+ padding: 0 2px 0 5px;
+ vertical-align: middle;
+}
+.datepicker thead tr:first-child th.cw {
+ cursor: default;
+ background-color: transparent;
+}
+.input-append.date .add-on i,
+.input-prepend.date .add-on i {
+ display: block;
+ cursor: pointer;
+ width: 16px;
+ height: 16px;
+}
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/css/daterangepicker.css b/src/main/webapp/static/login/assets/css/daterangepicker.css new file mode 100644 index 0000000..1410a87 --- /dev/null +++ b/src/main/webapp/static/login/assets/css/daterangepicker.css @@ -0,0 +1,244 @@ +/*! + * Stylesheet for the Date Range Picker, for use with Bootstrap 3.x + * + * Copyright 2013 Dan Grossman ( http://www.dangrossman.info ) + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Built for http://www.improvely.com + */ + + .daterangepicker.dropdown-menu { + max-width: none; +} + +.daterangepicker.opensleft .ranges, .daterangepicker.opensleft .calendar { + float: left; + margin: 4px; +} + +.daterangepicker.opensright .ranges, .daterangepicker.opensright .calendar { + float: right; + margin: 4px; +} + +.daterangepicker .ranges { + width: 160px; + text-align: left; +} + +.daterangepicker .ranges .range_inputs>div { + float: left; +} + +.daterangepicker .ranges .range_inputs>div:nth-child(2) { + padding-left: 11px; +} + +.daterangepicker .calendar { + display: none; + max-width: 270px; +} + +.daterangepicker .calendar th, .daterangepicker .calendar td { + font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; + white-space: nowrap; + text-align: center; + min-width: 32px; +} + +.daterangepicker .ranges label { + color: #333; + display: block; + font-size: 11px; + font-weight: normal; + height: 20px; + line-height: 20px; + margin-bottom: 2px; + text-shadow: #fff 1px 1px 0px; + text-transform: uppercase; + width: 74px; +} + +.daterangepicker .ranges input { + font-size: 11px; +} + +.daterangepicker .ranges .input-mini { + background-color: #eee; + border: 1px solid #ccc; + border-radius: 4px; + color: #555; + display: block; + font-size: 11px; + height: 30px; + line-height: 30px; + vertical-align: middle; + margin: 0 0 10px 0; + padding: 0 6px; + width: 74px; +} + +.daterangepicker .ranges ul { + list-style: none; + margin: 0; + padding: 0; +} + +.daterangepicker .ranges li { + font-size: 13px; + background: #f5f5f5; + border: 1px solid #f5f5f5; + color: #08c; + padding: 3px 12px; + margin-bottom: 8px; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; + cursor: pointer; +} + +.daterangepicker .ranges li.active, .daterangepicker .ranges li:hover { + background: #08c; + border: 1px solid #08c; + color: #fff; +} + +.daterangepicker .calendar-date { + border: 1px solid #ddd; + padding: 4px; + border-radius: 4px; + background: #fff; +} + +.daterangepicker .calendar-time { + text-align: center; + margin: 8px auto 0 auto; + line-height: 30px; +} + +.daterangepicker { + position: absolute; + background: #fff; + top: 100px; + left: 20px; + padding: 4px; + margin-top: 1px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +.daterangepicker.opensleft:before { + position: absolute; + top: -7px; + right: 9px; + display: inline-block; + border-right: 7px solid transparent; + border-bottom: 7px solid #ccc; + border-left: 7px solid transparent; + border-bottom-color: rgba(0, 0, 0, 0.2); + content: ''; +} + +.daterangepicker.opensleft:after { + position: absolute; + top: -6px; + right: 10px; + display: inline-block; + border-right: 6px solid transparent; + border-bottom: 6px solid #fff; + border-left: 6px solid transparent; + content: ''; +} + +.daterangepicker.opensright:before { + position: absolute; + top: -7px; + left: 9px; + display: inline-block; + border-right: 7px solid transparent; + border-bottom: 7px solid #ccc; + border-left: 7px solid transparent; + border-bottom-color: rgba(0, 0, 0, 0.2); + content: ''; +} + +.daterangepicker.opensright:after { + position: absolute; + top: -6px; + left: 10px; + display: inline-block; + border-right: 6px solid transparent; + border-bottom: 6px solid #fff; + border-left: 6px solid transparent; + content: ''; +} + +.daterangepicker table { + width: 100%; + margin: 0; +} + +.daterangepicker td, .daterangepicker th { + text-align: center; + width: 20px; + height: 20px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + cursor: pointer; + white-space: nowrap; +} + +.daterangepicker td.off { + color: #999; +} + +.daterangepicker td.disabled { + color: #999; +} + +.daterangepicker td.available:hover, .daterangepicker th.available:hover { + background: #eee; +} + +.daterangepicker td.in-range { + background: #ebf4f8; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.daterangepicker td.active, .daterangepicker td.active:hover { + background-color: #357ebd; + border-color: #3071a9; + color: #fff; +} + +.daterangepicker td.week, .daterangepicker th.week { + font-size: 80%; + color: #ccc; +} + +.daterangepicker select.monthselect, .daterangepicker select.yearselect { + font-size: 12px; + padding: 1px; + height: auto; + margin: 0; + cursor: default; +} + +.daterangepicker select.monthselect { + margin-right: 2%; + width: 56%; +} + +.daterangepicker select.yearselect { + width: 40%; +} + +.daterangepicker select.hourselect, .daterangepicker select.minuteselect, .daterangepicker select.ampmselect { + width: 50px; + margin-bottom: 0; +}
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/css/dropzone.css b/src/main/webapp/static/login/assets/css/dropzone.css new file mode 100644 index 0000000..47afa66 --- /dev/null +++ b/src/main/webapp/static/login/assets/css/dropzone.css @@ -0,0 +1,410 @@ +/* The MIT License */ +.dropzone, +.dropzone *, +.dropzone-previews, +.dropzone-previews * { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.dropzone { + position: relative; + border: 1px solid rgba(0,0,0,0.08); + background: rgba(0,0,0,0.02); + padding: 1em; +} +.dropzone.dz-clickable { + cursor: pointer; +} +.dropzone.dz-clickable .dz-message, +.dropzone.dz-clickable .dz-message span { + cursor: pointer; +} +.dropzone.dz-clickable * { + cursor: default; +} +.dropzone .dz-message { + opacity: 1; + -ms-filter: none; + filter: none; +} +.dropzone.dz-drag-hover { + border-color: rgba(0,0,0,0.15); + background: rgba(0,0,0,0.04); +} +.dropzone.dz-started .dz-message { + display: none; +} +.dropzone .dz-preview, +.dropzone-previews .dz-preview { + background: rgba(255,255,255,0.8); + position: relative; + display: inline-block; + margin: 17px; + vertical-align: top; + border: 1px solid #acacac; + padding: 6px 6px 6px 6px; +} +.dropzone .dz-preview.dz-file-preview [data-dz-thumbnail], +.dropzone-previews .dz-preview.dz-file-preview [data-dz-thumbnail] { + display: none; +} +.dropzone .dz-preview .dz-details, +.dropzone-previews .dz-preview .dz-details { + width: 100px; + height: 100px; + position: relative; + background: #ebebeb; + padding: 5px; + margin-bottom: 22px; +} +.dropzone .dz-preview .dz-details .dz-filename, +.dropzone-previews .dz-preview .dz-details .dz-filename { + overflow: hidden; + height: 100%; +} +.dropzone .dz-preview .dz-details img, +.dropzone-previews .dz-preview .dz-details img { + position: absolute; + top: 0; + left: 0; + width: 100px; + height: 100px; +} +.dropzone .dz-preview .dz-details .dz-size, +.dropzone-previews .dz-preview .dz-details .dz-size { + position: absolute; + bottom: -28px; + left: 3px; + height: 28px; + line-height: 28px; +} +.dropzone .dz-preview.dz-error .dz-error-mark, +.dropzone-previews .dz-preview.dz-error .dz-error-mark { + display: block; +} +.dropzone .dz-preview.dz-success .dz-success-mark, +.dropzone-previews .dz-preview.dz-success .dz-success-mark { + display: block; +} +.dropzone .dz-preview:hover .dz-details img, +.dropzone-previews .dz-preview:hover .dz-details img { + display: none; +} +.dropzone .dz-preview .dz-success-mark, +.dropzone-previews .dz-preview .dz-success-mark, +.dropzone .dz-preview .dz-error-mark, +.dropzone-previews .dz-preview .dz-error-mark { + display: none; + position: absolute; + width: 40px; + height: 40px; + font-size: 30px; + text-align: center; + right: -10px; + top: -10px; +} +.dropzone .dz-preview .dz-success-mark, +.dropzone-previews .dz-preview .dz-success-mark { + color: #8cc657; +} +.dropzone .dz-preview .dz-error-mark, +.dropzone-previews .dz-preview .dz-error-mark { + color: #ee162d; +} +.dropzone .dz-preview .dz-progress, +.dropzone-previews .dz-preview .dz-progress { + position: absolute; + top: 100px; + left: 6px; + right: 6px; + height: 6px; + background: #d7d7d7; + display: none; +} +.dropzone .dz-preview .dz-progress .dz-upload, +.dropzone-previews .dz-preview .dz-progress .dz-upload { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 0%; + background-color: #8cc657; +} +.dropzone .dz-preview.dz-processing .dz-progress, +.dropzone-previews .dz-preview.dz-processing .dz-progress { + display: block; +} +.dropzone .dz-preview .dz-error-message, +.dropzone-previews .dz-preview .dz-error-message { + display: none; + position: absolute; + top: -5px; + left: -20px; + background: rgba(245,245,245,0.8); + padding: 8px 10px; + color: #800; + min-width: 140px; + max-width: 500px; + z-index: 500; +} +.dropzone .dz-preview:hover.dz-error .dz-error-message, +.dropzone-previews .dz-preview:hover.dz-error .dz-error-message { + display: block; +} +.dropzone { + border: 1px solid rgba(0,0,0,0.03); + min-height: 360px; + -webkit-border-radius: 3px; + border-radius: 3px; + background: rgba(0,0,0,0.03); + padding: 23px; +} +.dropzone .dz-default.dz-message { + opacity: 1; + -ms-filter: none; + filter: none; + -webkit-transition: opacity 0.3s ease-in-out; + -moz-transition: opacity 0.3s ease-in-out; + -o-transition: opacity 0.3s ease-in-out; + -ms-transition: opacity 0.3s ease-in-out; + transition: opacity 0.3s ease-in-out; + background-image: url("../images/spritemap.png"); + background-repeat: no-repeat; + background-position: 0 0; + position: absolute; + width: 428px; + height: 123px; + margin-left: -214px; + margin-top: -61.5px; + top: 50%; + left: 50%; +} +@media all and (-webkit-min-device-pixel-ratio:1.5),(min--moz-device-pixel-ratio:1.5),(-o-min-device-pixel-ratio:1.5/1),(min-device-pixel-ratio:1.5),(min-resolution:138dpi),(min-resolution:1.5dppx) { + .dropzone .dz-default.dz-message { + background-image: url("../images/[email protected]"); + -webkit-background-size: 428px 406px; + -moz-background-size: 428px 406px; + background-size: 428px 406px; + } +} +.dropzone .dz-default.dz-message span { + display: none; +} +.dropzone.dz-square .dz-default.dz-message { + background-position: 0 -123px; + width: 268px; + margin-left: -134px; + height: 174px; + margin-top: -87px; +} +.dropzone.dz-drag-hover .dz-message { + opacity: 0.15; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=15)"; + filter: alpha(opacity=15); +} +.dropzone.dz-started .dz-message { + display: block; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); +} +.dropzone .dz-preview, +.dropzone-previews .dz-preview { + -webkit-box-shadow: 1px 1px 4px rgba(0,0,0,0.16); + box-shadow: 1px 1px 4px rgba(0,0,0,0.16); + font-size: 14px; +} +.dropzone .dz-preview.dz-image-preview:hover .dz-details img, +.dropzone-previews .dz-preview.dz-image-preview:hover .dz-details img { + display: block; + opacity: 0.1; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=10)"; + filter: alpha(opacity=10); +} +.dropzone .dz-preview.dz-success .dz-success-mark, +.dropzone-previews .dz-preview.dz-success .dz-success-mark { + opacity: 1; + -ms-filter: none; + filter: none; +} +.dropzone .dz-preview.dz-error .dz-error-mark, +.dropzone-previews .dz-preview.dz-error .dz-error-mark { + opacity: 1; + -ms-filter: none; + filter: none; +} +.dropzone .dz-preview.dz-error .dz-progress .dz-upload, +.dropzone-previews .dz-preview.dz-error .dz-progress .dz-upload { + background: #ee1e2d; +} +.dropzone .dz-preview .dz-error-mark, +.dropzone-previews .dz-preview .dz-error-mark, +.dropzone .dz-preview .dz-success-mark, +.dropzone-previews .dz-preview .dz-success-mark { + display: block; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transition: opacity 0.4s ease-in-out; + -moz-transition: opacity 0.4s ease-in-out; + -o-transition: opacity 0.4s ease-in-out; + -ms-transition: opacity 0.4s ease-in-out; + transition: opacity 0.4s ease-in-out; + background-image: url("../images/spritemap.png"); + background-repeat: no-repeat; +} +@media all and (-webkit-min-device-pixel-ratio:1.5),(min--moz-device-pixel-ratio:1.5),(-o-min-device-pixel-ratio:1.5/1),(min-device-pixel-ratio:1.5),(min-resolution:138dpi),(min-resolution:1.5dppx) { + .dropzone .dz-preview .dz-error-mark, + .dropzone-previews .dz-preview .dz-error-mark, + .dropzone .dz-preview .dz-success-mark, + .dropzone-previews .dz-preview .dz-success-mark { + background-image: url("../images/[email protected]"); + -webkit-background-size: 428px 406px; + -moz-background-size: 428px 406px; + background-size: 428px 406px; + } +} +.dropzone .dz-preview .dz-error-mark span, +.dropzone-previews .dz-preview .dz-error-mark span, +.dropzone .dz-preview .dz-success-mark span, +.dropzone-previews .dz-preview .dz-success-mark span { + display: none; +} +.dropzone .dz-preview .dz-error-mark, +.dropzone-previews .dz-preview .dz-error-mark { + background-position: -268px -123px; +} +.dropzone .dz-preview .dz-success-mark, +.dropzone-previews .dz-preview .dz-success-mark { + background-position: -268px -163px; +} +.dropzone .dz-preview .dz-progress .dz-upload, +.dropzone-previews .dz-preview .dz-progress .dz-upload { + -webkit-animation: loading 0.4s linear infinite; + -moz-animation: loading 0.4s linear infinite; + -o-animation: loading 0.4s linear infinite; + -ms-animation: loading 0.4s linear infinite; + animation: loading 0.4s linear infinite; + -webkit-transition: width 0.3s ease-in-out; + -moz-transition: width 0.3s ease-in-out; + -o-transition: width 0.3s ease-in-out; + -ms-transition: width 0.3s ease-in-out; + transition: width 0.3s ease-in-out; + -webkit-border-radius: 2px; + border-radius: 2px; + position: absolute; + top: 0; + left: 0; + width: 0%; + height: 100%; + background-image: url("../images/spritemap.png"); + background-repeat: repeat-x; + background-position: 0px -400px; +} +@media all and (-webkit-min-device-pixel-ratio:1.5),(min--moz-device-pixel-ratio:1.5),(-o-min-device-pixel-ratio:1.5/1),(min-device-pixel-ratio:1.5),(min-resolution:138dpi),(min-resolution:1.5dppx) { + .dropzone .dz-preview .dz-progress .dz-upload, + .dropzone-previews .dz-preview .dz-progress .dz-upload { + background-image: url("../images/[email protected]"); + -webkit-background-size: 428px 406px; + -moz-background-size: 428px 406px; + background-size: 428px 406px; + } +} +.dropzone .dz-preview.dz-success .dz-progress, +.dropzone-previews .dz-preview.dz-success .dz-progress { + display: block; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transition: opacity 0.4s ease-in-out; + -moz-transition: opacity 0.4s ease-in-out; + -o-transition: opacity 0.4s ease-in-out; + -ms-transition: opacity 0.4s ease-in-out; + transition: opacity 0.4s ease-in-out; +} +.dropzone .dz-preview .dz-error-message, +.dropzone-previews .dz-preview .dz-error-message { + display: block; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + -webkit-transition: opacity 0.3s ease-in-out; + -moz-transition: opacity 0.3s ease-in-out; + -o-transition: opacity 0.3s ease-in-out; + -ms-transition: opacity 0.3s ease-in-out; + transition: opacity 0.3s ease-in-out; +} +.dropzone .dz-preview:hover.dz-error .dz-error-message, +.dropzone-previews .dz-preview:hover.dz-error .dz-error-message { + opacity: 1; + -ms-filter: none; + filter: none; +} +.dropzone a.dz-remove, +.dropzone-previews a.dz-remove { + background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fafafa), color-stop(1, #eee)); + background-image: -webkit-linear-gradient(top, #fafafa 0, #eee 100%); + background-image: -moz-linear-gradient(top, #fafafa 0, #eee 100%); + background-image: -o-linear-gradient(top, #fafafa 0, #eee 100%); + background-image: -ms-linear-gradient(top, #fafafa 0, #eee 100%); + background-image: linear-gradient(top, #fafafa 0, #eee 100%); + -webkit-border-radius: 2px; + border-radius: 2px; + border: 1px solid #eee; + text-decoration: none; + display: block; + padding: 4px 5px; + text-align: center; + color: #aaa; + margin-top: 26px; +} +.dropzone a.dz-remove:hover, +.dropzone-previews a.dz-remove:hover { + color: #666; +} +@-moz-keyframes loading { + 0% { + background-position: 0 -400px; + } + + 100% { + background-position: -7px -400px; + } +} +@-webkit-keyframes loading { + 0% { + background-position: 0 -400px; + } + + 100% { + background-position: -7px -400px; + } +} +@-o-keyframes loading { + 0% { + background-position: 0 -400px; + } + + 100% { + background-position: -7px -400px; + } +} +@-ms-keyframes loading { + 0% { + background-position: 0 -400px; + } + + 100% { + background-position: -7px -400px; + } +} +@keyframes loading { + 0% { + background-position: 0 -400px; + } + + 100% { + background-position: -7px -400px; + } +} diff --git a/src/main/webapp/static/login/assets/css/font-awesome-ie7.min.css b/src/main/webapp/static/login/assets/css/font-awesome-ie7.min.css new file mode 100644 index 0000000..d3dae63 --- /dev/null +++ b/src/main/webapp/static/login/assets/css/font-awesome-ie7.min.css @@ -0,0 +1,384 @@ +.icon-large{font-size:1.3333333333333333em;margin-top:-4px;padding-top:3px;margin-bottom:-4px;padding-bottom:3px;vertical-align:middle;} +.nav [class^="icon-"],.nav [class*=" icon-"]{vertical-align:inherit;margin-top:-4px;padding-top:3px;margin-bottom:-4px;padding-bottom:3px;}.nav [class^="icon-"].icon-large,.nav [class*=" icon-"].icon-large{vertical-align:-25%;} +.nav-pills [class^="icon-"].icon-large,.nav-tabs [class^="icon-"].icon-large,.nav-pills [class*=" icon-"].icon-large,.nav-tabs [class*=" icon-"].icon-large{line-height:.75em;margin-top:-7px;padding-top:5px;margin-bottom:-5px;padding-bottom:4px;} +.btn [class^="icon-"].pull-left,.btn [class*=" icon-"].pull-left,.btn [class^="icon-"].pull-right,.btn [class*=" icon-"].pull-right{vertical-align:inherit;} +.btn [class^="icon-"].icon-large,.btn [class*=" icon-"].icon-large{margin-top:-0.5em;} +a [class^="icon-"],a [class*=" icon-"]{cursor:pointer;} +.icon-glass{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-music{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-search{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-envelope-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-heart{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-star{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-star-empty{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-user{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-film{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-th-large{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-th{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-th-list{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-ok{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-remove{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-zoom-in{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-zoom-out{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-off{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-power-off{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-signal{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-cog{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-gear{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-trash{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-home{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-file-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-time{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-road{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-download-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-download{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-upload{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-inbox{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-play-circle{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-repeat{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-rotate-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-refresh{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-list-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-lock{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-flag{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-headphones{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-volume-off{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-volume-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-volume-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-qrcode{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-barcode{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-tag{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-tags{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-book{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-bookmark{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-print{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-camera{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-font{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-bold{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-italic{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-text-height{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-text-width{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-align-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-align-center{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-align-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-align-justify{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-list{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-indent-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-indent-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-facetime-video{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-picture{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-pencil{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-map-marker{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-adjust{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-tint{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-edit{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-share{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-check{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-move{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-step-backward{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-fast-backward{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-backward{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-play{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-pause{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-stop{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-forward{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-fast-forward{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-step-forward{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-eject{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-chevron-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-chevron-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-plus-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-minus-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-remove-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-ok-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-question-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-info-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-screenshot{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-remove-circle{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-ok-circle{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-ban-circle{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-arrow-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-arrow-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-arrow-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-arrow-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-share-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-mail-forward{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-resize-full{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-resize-small{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-plus{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-minus{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-asterisk{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-exclamation-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-gift{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-leaf{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-fire{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-eye-open{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-eye-close{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-warning-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-plane{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-calendar{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-random{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-comment{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-magnet{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-chevron-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-chevron-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-retweet{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-shopping-cart{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-folder-close{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-folder-open{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-resize-vertical{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-resize-horizontal{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-bar-chart{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-twitter-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-facebook-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-camera-retro{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-key{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-cogs{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-gears{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-comments{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-thumbs-up-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-thumbs-down-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-star-half{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-heart-empty{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-signout{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-linkedin-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-pushpin{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-external-link{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-signin{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-trophy{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-github-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-upload-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-lemon{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-phone{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-check-empty{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-unchecked{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-bookmark-empty{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-phone-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-twitter{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-facebook{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-github{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-unlock{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-credit-card{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-rss{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-hdd{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-bullhorn{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-bell{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-certificate{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-hand-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-hand-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-hand-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-hand-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-circle-arrow-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-circle-arrow-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-circle-arrow-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-circle-arrow-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-globe{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-wrench{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-tasks{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-filter{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-briefcase{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-fullscreen{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-group{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-link{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-cloud{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-beaker{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-cut{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-copy{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-paper-clip{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-paperclip{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-save{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-sign-blank{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-reorder{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-list-ul{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-list-ol{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-strikethrough{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-underline{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-table{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-magic{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-truck{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-pinterest{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-pinterest-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-google-plus-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-google-plus{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-money{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-caret-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-caret-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-caret-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-caret-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-columns{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-sort{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-sort-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-sort-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-envelope{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-linkedin{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-undo{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-rotate-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-legal{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-dashboard{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-comment-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-comments-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-bolt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-sitemap{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-umbrella{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-paste{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-lightbulb{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-exchange{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-cloud-download{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-cloud-upload{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-user-md{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-stethoscope{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-suitcase{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-bell-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-coffee{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-food{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-file-text-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-building{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-hospital{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-ambulance{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-medkit{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-fighter-jet{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-beer{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-h-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-plus-sign-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-double-angle-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-double-angle-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-double-angle-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-double-angle-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-angle-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-angle-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-angle-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-angle-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-desktop{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-laptop{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-tablet{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-mobile-phone{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-circle-blank{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-quote-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-quote-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-spinner{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-circle{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-reply{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-mail-reply{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-github-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-folder-close-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-folder-open-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-expand-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-collapse-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-smile{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-frown{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-meh{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-gamepad{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-keyboard{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-flag-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-flag-checkered{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-terminal{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-code{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-reply-all{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-mail-reply-all{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-star-half-empty{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-star-half-full{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-location-arrow{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-crop{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-code-fork{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-unlink{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-question{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-info{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-exclamation{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-superscript{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-subscript{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-eraser{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-puzzle-piece{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-microphone{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-microphone-off{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-shield{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-calendar-empty{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-fire-extinguisher{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-rocket{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-maxcdn{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-chevron-sign-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-chevron-sign-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-chevron-sign-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-chevron-sign-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-html5{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-css3{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-anchor{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-unlock-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-bullseye{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-ellipsis-horizontal{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-ellipsis-vertical{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-rss-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-play-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-ticket{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-minus-sign-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-check-minus{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-level-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-level-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-check-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-edit-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-external-link-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-share-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-compass{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-collapse{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-collapse-top{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-expand{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-eur{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-euro{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-gbp{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-usd{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-dollar{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-inr{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-rupee{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-jpy{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-yen{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-cny{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-renminbi{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-krw{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-won{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-btc{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-bitcoin{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-file{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-file-text{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-sort-by-alphabet{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-sort-by-alphabet-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-sort-by-attributes{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-sort-by-attributes-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-sort-by-order{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-sort-by-order-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-thumbs-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-thumbs-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-youtube-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-youtube{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-xing{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-xing-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-youtube-play{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-dropbox{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-stackexchange{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-instagram{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-flickr{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-adn{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-bitbucket{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-bitbucket-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-tumblr{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-tumblr-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-long-arrow-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-long-arrow-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-long-arrow-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-long-arrow-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-apple{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-windows{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-android{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-linux{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-dribbble{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-skype{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-foursquare{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-trello{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-female{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-male{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-gittip{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-sun{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-moon{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-archive{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-bug{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-vk{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-weibo{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.icon-renren{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} diff --git a/src/main/webapp/static/login/assets/css/font-awesome.min.css b/src/main/webapp/static/login/assets/css/font-awesome.min.css new file mode 100644 index 0000000..ff6d7d3 --- /dev/null +++ b/src/main/webapp/static/login/assets/css/font-awesome.min.css @@ -0,0 +1,403 @@ +@font-face{font-family:'FontAwesome';src:url('../font/fontawesome-webfont.eot?v=3.2.1');src:url('../font/fontawesome-webfont.eot?#iefix&v=3.2.1') format('embedded-opentype'),url('../font/fontawesome-webfont.woff?v=3.2.1') format('woff'),url('../font/fontawesome-webfont.ttf?v=3.2.1') format('truetype'),url('../font/fontawesome-webfont.svg#fontawesomeregular?v=3.2.1') format('svg');font-weight:normal;font-style:normal;}[class^="icon-"],[class*=" icon-"]{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing: grayscale;*margin-right:.3em;} +[class^="icon-"]:before,[class*=" icon-"]:before{text-decoration:inherit;display:inline-block;speak:none;} +.icon-large:before{vertical-align:-10%;font-size:1.3333333333333333em;} +a [class^="icon-"],a [class*=" icon-"]{display:inline;} +[class^="icon-"].icon-fixed-width,[class*=" icon-"].icon-fixed-width{display:inline-block;width:1.1428571428571428em;text-align:right;padding-right:0.2857142857142857em;}[class^="icon-"].icon-fixed-width.icon-large,[class*=" icon-"].icon-fixed-width.icon-large{width:1.4285714285714286em;} +.icons-ul{margin-left:2.142857142857143em;list-style-type:none;}.icons-ul>li{position:relative;} +.icons-ul .icon-li{position:absolute;left:-2.142857142857143em;width:2.142857142857143em;text-align:center;line-height:inherit;} +[class^="icon-"].hide,[class*=" icon-"].hide{display:none;} +.icon-muted{color:#eeeeee;} +.icon-light{color:#ffffff;} +.icon-dark{color:#333333;} +.icon-border{border:solid 1px #eeeeee;padding:.2em .25em .15em;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;} +.icon-2x{font-size:2em;}.icon-2x.icon-border{border-width:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;} +.icon-3x{font-size:3em;}.icon-3x.icon-border{border-width:3px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;} +.icon-4x{font-size:4em;}.icon-4x.icon-border{border-width:4px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;} +.icon-5x{font-size:5em;}.icon-5x.icon-border{border-width:5px;-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px;} +.pull-right{float:right;} +.pull-left{float:left;} +[class^="icon-"].pull-left,[class*=" icon-"].pull-left{margin-right:.3em;} +[class^="icon-"].pull-right,[class*=" icon-"].pull-right{margin-left:.3em;} +[class^="icon-"],[class*=" icon-"]{display:inline;width:auto;height:auto;line-height:normal;vertical-align:baseline;background-image:none;background-position:0% 0%;background-repeat:repeat;margin-top:0;} +.icon-white,.nav-pills>.active>a>[class^="icon-"],.nav-pills>.active>a>[class*=" icon-"],.nav-list>.active>a>[class^="icon-"],.nav-list>.active>a>[class*=" icon-"],.navbar-inverse .nav>.active>a>[class^="icon-"],.navbar-inverse .nav>.active>a>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^="icon-"],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>.active>a>[class^="icon-"],.dropdown-menu>.active>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^="icon-"],.dropdown-submenu:hover>a>[class*=" icon-"]{background-image:none;} +.btn [class^="icon-"].icon-large,.nav [class^="icon-"].icon-large,.btn [class*=" icon-"].icon-large,.nav [class*=" icon-"].icon-large{line-height:.9em;} +.btn [class^="icon-"].icon-spin,.nav [class^="icon-"].icon-spin,.btn [class*=" icon-"].icon-spin,.nav [class*=" icon-"].icon-spin{display:inline-block;} +.nav-tabs [class^="icon-"],.nav-pills [class^="icon-"],.nav-tabs [class*=" icon-"],.nav-pills [class*=" icon-"],.nav-tabs [class^="icon-"].icon-large,.nav-pills [class^="icon-"].icon-large,.nav-tabs [class*=" icon-"].icon-large,.nav-pills [class*=" icon-"].icon-large{line-height:.9em;} +.btn [class^="icon-"].pull-left.icon-2x,.btn [class*=" icon-"].pull-left.icon-2x,.btn [class^="icon-"].pull-right.icon-2x,.btn [class*=" icon-"].pull-right.icon-2x{margin-top:.18em;} +.btn [class^="icon-"].icon-spin.icon-large,.btn [class*=" icon-"].icon-spin.icon-large{line-height:.8em;} +.btn.btn-small [class^="icon-"].pull-left.icon-2x,.btn.btn-small [class*=" icon-"].pull-left.icon-2x,.btn.btn-small [class^="icon-"].pull-right.icon-2x,.btn.btn-small [class*=" icon-"].pull-right.icon-2x{margin-top:.25em;} +.btn.btn-large [class^="icon-"],.btn.btn-large [class*=" icon-"]{margin-top:0;}.btn.btn-large [class^="icon-"].pull-left.icon-2x,.btn.btn-large [class*=" icon-"].pull-left.icon-2x,.btn.btn-large [class^="icon-"].pull-right.icon-2x,.btn.btn-large [class*=" icon-"].pull-right.icon-2x{margin-top:.05em;} +.btn.btn-large [class^="icon-"].pull-left.icon-2x,.btn.btn-large [class*=" icon-"].pull-left.icon-2x{margin-right:.2em;} +.btn.btn-large [class^="icon-"].pull-right.icon-2x,.btn.btn-large [class*=" icon-"].pull-right.icon-2x{margin-left:.2em;} +.nav-list [class^="icon-"],.nav-list [class*=" icon-"]{line-height:inherit;} +.icon-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:-35%;}.icon-stack [class^="icon-"],.icon-stack [class*=" icon-"]{display:block;text-align:center;position:absolute;width:100%;height:100%;font-size:1em;line-height:inherit;*line-height:2em;} +.icon-stack .icon-stack-base{font-size:2em;*line-height:1em;} +.icon-spin{display:inline-block;-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;-webkit-animation:spin 2s infinite linear;animation:spin 2s infinite linear;} +a .icon-stack,a .icon-spin{display:inline-block;text-decoration:none;} +@-moz-keyframes spin{0%{-moz-transform:rotate(0deg);} 100%{-moz-transform:rotate(359deg);}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);} 100%{-webkit-transform:rotate(359deg);}}@-o-keyframes spin{0%{-o-transform:rotate(0deg);} 100%{-o-transform:rotate(359deg);}}@-ms-keyframes spin{0%{-ms-transform:rotate(0deg);} 100%{-ms-transform:rotate(359deg);}}@keyframes spin{0%{transform:rotate(0deg);} 100%{transform:rotate(359deg);}}.icon-rotate-90:before{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);} +.icon-rotate-180:before{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);} +.icon-rotate-270:before{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);} +.icon-flip-horizontal:before{-webkit-transform:scale(-1, 1);-moz-transform:scale(-1, 1);-ms-transform:scale(-1, 1);-o-transform:scale(-1, 1);transform:scale(-1, 1);} +.icon-flip-vertical:before{-webkit-transform:scale(1, -1);-moz-transform:scale(1, -1);-ms-transform:scale(1, -1);-o-transform:scale(1, -1);transform:scale(1, -1);} +a .icon-rotate-90:before,a .icon-rotate-180:before,a .icon-rotate-270:before,a .icon-flip-horizontal:before,a .icon-flip-vertical:before{display:inline-block;} +.icon-glass:before{content:"\f000";} +.icon-music:before{content:"\f001";} +.icon-search:before{content:"\f002";} +.icon-envelope-alt:before{content:"\f003";} +.icon-heart:before{content:"\f004";} +.icon-star:before{content:"\f005";} +.icon-star-empty:before{content:"\f006";} +.icon-user:before{content:"\f007";} +.icon-film:before{content:"\f008";} +.icon-th-large:before{content:"\f009";} +.icon-th:before{content:"\f00a";} +.icon-th-list:before{content:"\f00b";} +.icon-ok:before{content:"\f00c";} +.icon-remove:before{content:"\f00d";} +.icon-zoom-in:before{content:"\f00e";} +.icon-zoom-out:before{content:"\f010";} +.icon-power-off:before,.icon-off:before{content:"\f011";} +.icon-signal:before{content:"\f012";} +.icon-gear:before,.icon-cog:before{content:"\f013";} +.icon-trash:before{content:"\f014";} +.icon-home:before{content:"\f015";} +.icon-file-alt:before{content:"\f016";} +.icon-time:before{content:"\f017";} +.icon-road:before{content:"\f018";} +.icon-download-alt:before{content:"\f019";} +.icon-download:before{content:"\f01a";} +.icon-upload:before{content:"\f01b";} +.icon-inbox:before{content:"\f01c";} +.icon-play-circle:before{content:"\f01d";} +.icon-rotate-right:before,.icon-repeat:before{content:"\f01e";} +.icon-refresh:before{content:"\f021";} +.icon-list-alt:before{content:"\f022";} +.icon-lock:before{content:"\f023";} +.icon-flag:before{content:"\f024";} +.icon-headphones:before{content:"\f025";} +.icon-volume-off:before{content:"\f026";} +.icon-volume-down:before{content:"\f027";} +.icon-volume-up:before{content:"\f028";} +.icon-qrcode:before{content:"\f029";} +.icon-barcode:before{content:"\f02a";} +.icon-tag:before{content:"\f02b";} +.icon-tags:before{content:"\f02c";} +.icon-book:before{content:"\f02d";} +.icon-bookmark:before{content:"\f02e";} +.icon-print:before{content:"\f02f";} +.icon-camera:before{content:"\f030";} +.icon-font:before{content:"\f031";} +.icon-bold:before{content:"\f032";} +.icon-italic:before{content:"\f033";} +.icon-text-height:before{content:"\f034";} +.icon-text-width:before{content:"\f035";} +.icon-align-left:before{content:"\f036";} +.icon-align-center:before{content:"\f037";} +.icon-align-right:before{content:"\f038";} +.icon-align-justify:before{content:"\f039";} +.icon-list:before{content:"\f03a";} +.icon-indent-left:before{content:"\f03b";} +.icon-indent-right:before{content:"\f03c";} +.icon-facetime-video:before{content:"\f03d";} +.icon-picture:before{content:"\f03e";} +.icon-pencil:before{content:"\f040";} +.icon-map-marker:before{content:"\f041";} +.icon-adjust:before{content:"\f042";} +.icon-tint:before{content:"\f043";} +.icon-edit:before{content:"\f044";} +.icon-share:before{content:"\f045";} +.icon-check:before{content:"\f046";} +.icon-move:before{content:"\f047";} +.icon-step-backward:before{content:"\f048";} +.icon-fast-backward:before{content:"\f049";} +.icon-backward:before{content:"\f04a";} +.icon-play:before{content:"\f04b";} +.icon-pause:before{content:"\f04c";} +.icon-stop:before{content:"\f04d";} +.icon-forward:before{content:"\f04e";} +.icon-fast-forward:before{content:"\f050";} +.icon-step-forward:before{content:"\f051";} +.icon-eject:before{content:"\f052";} +.icon-chevron-left:before{content:"\f053";} +.icon-chevron-right:before{content:"\f054";} +.icon-plus-sign:before{content:"\f055";} +.icon-minus-sign:before{content:"\f056";} +.icon-remove-sign:before{content:"\f057";} +.icon-ok-sign:before{content:"\f058";} +.icon-question-sign:before{content:"\f059";} +.icon-info-sign:before{content:"\f05a";} +.icon-screenshot:before{content:"\f05b";} +.icon-remove-circle:before{content:"\f05c";} +.icon-ok-circle:before{content:"\f05d";} +.icon-ban-circle:before{content:"\f05e";} +.icon-arrow-left:before{content:"\f060";} +.icon-arrow-right:before{content:"\f061";} +.icon-arrow-up:before{content:"\f062";} +.icon-arrow-down:before{content:"\f063";} +.icon-mail-forward:before,.icon-share-alt:before{content:"\f064";} +.icon-resize-full:before{content:"\f065";} +.icon-resize-small:before{content:"\f066";} +.icon-plus:before{content:"\f067";} +.icon-minus:before{content:"\f068";} +.icon-asterisk:before{content:"\f069";} +.icon-exclamation-sign:before{content:"\f06a";} +.icon-gift:before{content:"\f06b";} +.icon-leaf:before{content:"\f06c";} +.icon-fire:before{content:"\f06d";} +.icon-eye-open:before{content:"\f06e";} +.icon-eye-close:before{content:"\f070";} +.icon-warning-sign:before{content:"\f071";} +.icon-plane:before{content:"\f072";} +.icon-calendar:before{content:"\f073";} +.icon-random:before{content:"\f074";} +.icon-comment:before{content:"\f075";} +.icon-magnet:before{content:"\f076";} +.icon-chevron-up:before{content:"\f077";} +.icon-chevron-down:before{content:"\f078";} +.icon-retweet:before{content:"\f079";} +.icon-shopping-cart:before{content:"\f07a";} +.icon-folder-close:before{content:"\f07b";} +.icon-folder-open:before{content:"\f07c";} +.icon-resize-vertical:before{content:"\f07d";} +.icon-resize-horizontal:before{content:"\f07e";} +.icon-bar-chart:before{content:"\f080";} +.icon-twitter-sign:before{content:"\f081";} +.icon-facebook-sign:before{content:"\f082";} +.icon-camera-retro:before{content:"\f083";} +.icon-key:before{content:"\f084";} +.icon-gears:before,.icon-cogs:before{content:"\f085";} +.icon-comments:before{content:"\f086";} +.icon-thumbs-up-alt:before{content:"\f087";} +.icon-thumbs-down-alt:before{content:"\f088";} +.icon-star-half:before{content:"\f089";} +.icon-heart-empty:before{content:"\f08a";} +.icon-signout:before{content:"\f08b";} +.icon-linkedin-sign:before{content:"\f08c";} +.icon-pushpin:before{content:"\f08d";} +.icon-external-link:before{content:"\f08e";} +.icon-signin:before{content:"\f090";} +.icon-trophy:before{content:"\f091";} +.icon-github-sign:before{content:"\f092";} +.icon-upload-alt:before{content:"\f093";} +.icon-lemon:before{content:"\f094";} +.icon-phone:before{content:"\f095";} +.icon-unchecked:before,.icon-check-empty:before{content:"\f096";} +.icon-bookmark-empty:before{content:"\f097";} +.icon-phone-sign:before{content:"\f098";} +.icon-twitter:before{content:"\f099";} +.icon-facebook:before{content:"\f09a";} +.icon-github:before{content:"\f09b";} +.icon-unlock:before{content:"\f09c";} +.icon-credit-card:before{content:"\f09d";} +.icon-rss:before{content:"\f09e";} +.icon-hdd:before{content:"\f0a0";} +.icon-bullhorn:before{content:"\f0a1";} +.icon-bell:before{content:"\f0a2";} +.icon-certificate:before{content:"\f0a3";} +.icon-hand-right:before{content:"\f0a4";} +.icon-hand-left:before{content:"\f0a5";} +.icon-hand-up:before{content:"\f0a6";} +.icon-hand-down:before{content:"\f0a7";} +.icon-circle-arrow-left:before{content:"\f0a8";} +.icon-circle-arrow-right:before{content:"\f0a9";} +.icon-circle-arrow-up:before{content:"\f0aa";} +.icon-circle-arrow-down:before{content:"\f0ab";} +.icon-globe:before{content:"\f0ac";} +.icon-wrench:before{content:"\f0ad";} +.icon-tasks:before{content:"\f0ae";} +.icon-filter:before{content:"\f0b0";} +.icon-briefcase:before{content:"\f0b1";} +.icon-fullscreen:before{content:"\f0b2";} +.icon-group:before{content:"\f0c0";} +.icon-link:before{content:"\f0c1";} +.icon-cloud:before{content:"\f0c2";} +.icon-beaker:before{content:"\f0c3";} +.icon-cut:before{content:"\f0c4";} +.icon-copy:before{content:"\f0c5";} +.icon-paperclip:before,.icon-paper-clip:before{content:"\f0c6";} +.icon-save:before{content:"\f0c7";} +.icon-sign-blank:before{content:"\f0c8";} +.icon-reorder:before{content:"\f0c9";} +.icon-list-ul:before{content:"\f0ca";} +.icon-list-ol:before{content:"\f0cb";} +.icon-strikethrough:before{content:"\f0cc";} +.icon-underline:before{content:"\f0cd";} +.icon-table:before{content:"\f0ce";} +.icon-magic:before{content:"\f0d0";} +.icon-truck:before{content:"\f0d1";} +.icon-pinterest:before{content:"\f0d2";} +.icon-pinterest-sign:before{content:"\f0d3";} +.icon-google-plus-sign:before{content:"\f0d4";} +.icon-google-plus:before{content:"\f0d5";} +.icon-money:before{content:"\f0d6";} +.icon-caret-down:before{content:"\f0d7";} +.icon-caret-up:before{content:"\f0d8";} +.icon-caret-left:before{content:"\f0d9";} +.icon-caret-right:before{content:"\f0da";} +.icon-columns:before{content:"\f0db";} +.icon-sort:before{content:"\f0dc";} +.icon-sort-down:before{content:"\f0dd";} +.icon-sort-up:before{content:"\f0de";} +.icon-envelope:before{content:"\f0e0";} +.icon-linkedin:before{content:"\f0e1";} +.icon-rotate-left:before,.icon-undo:before{content:"\f0e2";} +.icon-legal:before{content:"\f0e3";} +.icon-dashboard:before{content:"\f0e4";} +.icon-comment-alt:before{content:"\f0e5";} +.icon-comments-alt:before{content:"\f0e6";} +.icon-bolt:before{content:"\f0e7";} +.icon-sitemap:before{content:"\f0e8";} +.icon-umbrella:before{content:"\f0e9";} +.icon-paste:before{content:"\f0ea";} +.icon-lightbulb:before{content:"\f0eb";} +.icon-exchange:before{content:"\f0ec";} +.icon-cloud-download:before{content:"\f0ed";} +.icon-cloud-upload:before{content:"\f0ee";} +.icon-user-md:before{content:"\f0f0";} +.icon-stethoscope:before{content:"\f0f1";} +.icon-suitcase:before{content:"\f0f2";} +.icon-bell-alt:before{content:"\f0f3";} +.icon-coffee:before{content:"\f0f4";} +.icon-food:before{content:"\f0f5";} +.icon-file-text-alt:before{content:"\f0f6";} +.icon-building:before{content:"\f0f7";} +.icon-hospital:before{content:"\f0f8";} +.icon-ambulance:before{content:"\f0f9";} +.icon-medkit:before{content:"\f0fa";} +.icon-fighter-jet:before{content:"\f0fb";} +.icon-beer:before{content:"\f0fc";} +.icon-h-sign:before{content:"\f0fd";} +.icon-plus-sign-alt:before{content:"\f0fe";} +.icon-double-angle-left:before{content:"\f100";} +.icon-double-angle-right:before{content:"\f101";} +.icon-double-angle-up:before{content:"\f102";} +.icon-double-angle-down:before{content:"\f103";} +.icon-angle-left:before{content:"\f104";} +.icon-angle-right:before{content:"\f105";} +.icon-angle-up:before{content:"\f106";} +.icon-angle-down:before{content:"\f107";} +.icon-desktop:before{content:"\f108";} +.icon-laptop:before{content:"\f109";} +.icon-tablet:before{content:"\f10a";} +.icon-mobile-phone:before{content:"\f10b";} +.icon-circle-blank:before{content:"\f10c";} +.icon-quote-left:before{content:"\f10d";} +.icon-quote-right:before{content:"\f10e";} +.icon-spinner:before{content:"\f110";} +.icon-circle:before{content:"\f111";} +.icon-mail-reply:before,.icon-reply:before{content:"\f112";} +.icon-github-alt:before{content:"\f113";} +.icon-folder-close-alt:before{content:"\f114";} +.icon-folder-open-alt:before{content:"\f115";} +.icon-expand-alt:before{content:"\f116";} +.icon-collapse-alt:before{content:"\f117";} +.icon-smile:before{content:"\f118";} +.icon-frown:before{content:"\f119";} +.icon-meh:before{content:"\f11a";} +.icon-gamepad:before{content:"\f11b";} +.icon-keyboard:before{content:"\f11c";} +.icon-flag-alt:before{content:"\f11d";} +.icon-flag-checkered:before{content:"\f11e";} +.icon-terminal:before{content:"\f120";} +.icon-code:before{content:"\f121";} +.icon-reply-all:before{content:"\f122";} +.icon-mail-reply-all:before{content:"\f122";} +.icon-star-half-full:before,.icon-star-half-empty:before{content:"\f123";} +.icon-location-arrow:before{content:"\f124";} +.icon-crop:before{content:"\f125";} +.icon-code-fork:before{content:"\f126";} +.icon-unlink:before{content:"\f127";} +.icon-question:before{content:"\f128";} +.icon-info:before{content:"\f129";} +.icon-exclamation:before{content:"\f12a";} +.icon-superscript:before{content:"\f12b";} +.icon-subscript:before{content:"\f12c";} +.icon-eraser:before{content:"\f12d";} +.icon-puzzle-piece:before{content:"\f12e";} +.icon-microphone:before{content:"\f130";} +.icon-microphone-off:before{content:"\f131";} +.icon-shield:before{content:"\f132";} +.icon-calendar-empty:before{content:"\f133";} +.icon-fire-extinguisher:before{content:"\f134";} +.icon-rocket:before{content:"\f135";} +.icon-maxcdn:before{content:"\f136";} +.icon-chevron-sign-left:before{content:"\f137";} +.icon-chevron-sign-right:before{content:"\f138";} +.icon-chevron-sign-up:before{content:"\f139";} +.icon-chevron-sign-down:before{content:"\f13a";} +.icon-html5:before{content:"\f13b";} +.icon-css3:before{content:"\f13c";} +.icon-anchor:before{content:"\f13d";} +.icon-unlock-alt:before{content:"\f13e";} +.icon-bullseye:before{content:"\f140";} +.icon-ellipsis-horizontal:before{content:"\f141";} +.icon-ellipsis-vertical:before{content:"\f142";} +.icon-rss-sign:before{content:"\f143";} +.icon-play-sign:before{content:"\f144";} +.icon-ticket:before{content:"\f145";} +.icon-minus-sign-alt:before{content:"\f146";} +.icon-check-minus:before{content:"\f147";} +.icon-level-up:before{content:"\f148";} +.icon-level-down:before{content:"\f149";} +.icon-check-sign:before{content:"\f14a";} +.icon-edit-sign:before{content:"\f14b";} +.icon-external-link-sign:before{content:"\f14c";} +.icon-share-sign:before{content:"\f14d";} +.icon-compass:before{content:"\f14e";} +.icon-collapse:before{content:"\f150";} +.icon-collapse-top:before{content:"\f151";} +.icon-expand:before{content:"\f152";} +.icon-euro:before,.icon-eur:before{content:"\f153";} +.icon-gbp:before{content:"\f154";} +.icon-dollar:before,.icon-usd:before{content:"\f155";} +.icon-rupee:before,.icon-inr:before{content:"\f156";} +.icon-yen:before,.icon-jpy:before{content:"\f157";} +.icon-renminbi:before,.icon-cny:before{content:"\f158";} +.icon-won:before,.icon-krw:before{content:"\f159";} +.icon-bitcoin:before,.icon-btc:before{content:"\f15a";} +.icon-file:before{content:"\f15b";} +.icon-file-text:before{content:"\f15c";} +.icon-sort-by-alphabet:before{content:"\f15d";} +.icon-sort-by-alphabet-alt:before{content:"\f15e";} +.icon-sort-by-attributes:before{content:"\f160";} +.icon-sort-by-attributes-alt:before{content:"\f161";} +.icon-sort-by-order:before{content:"\f162";} +.icon-sort-by-order-alt:before{content:"\f163";} +.icon-thumbs-up:before{content:"\f164";} +.icon-thumbs-down:before{content:"\f165";} +.icon-youtube-sign:before{content:"\f166";} +.icon-youtube:before{content:"\f167";} +.icon-xing:before{content:"\f168";} +.icon-xing-sign:before{content:"\f169";} +.icon-youtube-play:before{content:"\f16a";} +.icon-dropbox:before{content:"\f16b";} +.icon-stackexchange:before{content:"\f16c";} +.icon-instagram:before{content:"\f16d";} +.icon-flickr:before{content:"\f16e";} +.icon-adn:before{content:"\f170";} +.icon-bitbucket:before{content:"\f171";} +.icon-bitbucket-sign:before{content:"\f172";} +.icon-tumblr:before{content:"\f173";} +.icon-tumblr-sign:before{content:"\f174";} +.icon-long-arrow-down:before{content:"\f175";} +.icon-long-arrow-up:before{content:"\f176";} +.icon-long-arrow-left:before{content:"\f177";} +.icon-long-arrow-right:before{content:"\f178";} +.icon-apple:before{content:"\f179";} +.icon-windows:before{content:"\f17a";} +.icon-android:before{content:"\f17b";} +.icon-linux:before{content:"\f17c";} +.icon-dribbble:before{content:"\f17d";} +.icon-skype:before{content:"\f17e";} +.icon-foursquare:before{content:"\f180";} +.icon-trello:before{content:"\f181";} +.icon-female:before{content:"\f182";} +.icon-male:before{content:"\f183";} +.icon-gittip:before{content:"\f184";} +.icon-sun:before{content:"\f185";} +.icon-moon:before{content:"\f186";} +.icon-archive:before{content:"\f187";} +.icon-bug:before{content:"\f188";} +.icon-vk:before{content:"\f189";} +.icon-weibo:before{content:"\f18a";} +.icon-renren:before{content:"\f18b";} diff --git a/src/main/webapp/static/login/assets/css/fullcalendar.css b/src/main/webapp/static/login/assets/css/fullcalendar.css new file mode 100644 index 0000000..92fe47f --- /dev/null +++ b/src/main/webapp/static/login/assets/css/fullcalendar.css @@ -0,0 +1,589 @@ +/*! + * FullCalendar v1.6.4 Stylesheet + * Docs & License: http://arshaw.com/fullcalendar/ + * (c) 2013 Adam Shaw + */ + + +.fc { + direction: ltr; + text-align: left; + } + +.fc table { + border-collapse: collapse; + border-spacing: 0; + } + +html .fc, +.fc table { + font-size: 1em; + } + +.fc td, +.fc th { + padding: 0; + vertical-align: top; + } + + + +/* Header +------------------------------------------------------------------------*/ + +.fc-header td { + white-space: nowrap; + } + +.fc-header-left { + width: 25%; + text-align: left; + } + +.fc-header-center { + text-align: center; + } + +.fc-header-right { + width: 25%; + text-align: right; + } + +.fc-header-title { + display: inline-block; + vertical-align: top; + } + +.fc-header-title h2 { + margin-top: 0; + white-space: nowrap; + } + +.fc .fc-header-space { + padding-left: 10px; + } + +.fc-header .fc-button { + margin-bottom: 1em; + vertical-align: top; + } + +/* buttons edges butting together */ + +.fc-header .fc-button { + margin-right: -1px; + } + +.fc-header .fc-corner-right, /* non-theme */ +.fc-header .ui-corner-right { /* theme */ + margin-right: 0; /* back to normal */ + } + +/* button layering (for border precedence) */ + +.fc-header .fc-state-hover, +.fc-header .ui-state-hover { + z-index: 2; + } + +.fc-header .fc-state-down { + z-index: 3; + } + +.fc-header .fc-state-active, +.fc-header .ui-state-active { + z-index: 4; + } + + + +/* Content +------------------------------------------------------------------------*/ + +.fc-content { + clear: both; + zoom: 1; /* for IE7, gives accurate coordinates for [un]freezeContentHeight */ + } + +.fc-view { + width: 100%; + overflow: hidden; + } + + + +/* Cell Styles +------------------------------------------------------------------------*/ + +.fc-widget-header, /* <th>, usually */ +.fc-widget-content { /* <td>, usually */ + border: 1px solid #ddd; + } + +.fc-state-highlight { /* <td> today cell */ /* TODO: add .fc-today to <th> */ + background: #fcf8e3; + } + +.fc-cell-overlay { /* semi-transparent rectangle while dragging */ + background: #bce8f1; + opacity: .3; + filter: alpha(opacity=30); /* for IE */ + } + + + +/* Buttons +------------------------------------------------------------------------*/ + +.fc-button { + position: relative; + display: inline-block; + padding: 0 .6em; + overflow: hidden; + height: 1.9em; + line-height: 1.9em; + white-space: nowrap; + cursor: pointer; + } + +.fc-state-default { /* non-theme */ + border: 1px solid; + } + +.fc-state-default.fc-corner-left { /* non-theme */ + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; + } + +.fc-state-default.fc-corner-right { /* non-theme */ + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; + } + +/* + Our default prev/next buttons use HTML entities like ‹ › « » + and we'll try to make them look good cross-browser. +*/ + +.fc-text-arrow { + margin: 0 .1em; + font-size: 2em; + font-family: "Courier New", Courier, monospace; + vertical-align: baseline; /* for IE7 */ + } + +.fc-button-prev .fc-text-arrow, +.fc-button-next .fc-text-arrow { /* for ‹ › */ + font-weight: bold; + } + +/* icon (for jquery ui) */ + +.fc-button .fc-icon-wrap { + position: relative; + float: left; + top: 50%; + } + +.fc-button .ui-icon { + position: relative; + float: left; + margin-top: -50%; + *margin-top: 0; + *top: -50%; + } + +/* + button states + borrowed from twitter bootstrap (http://twitter.github.com/bootstrap/) +*/ + +.fc-state-default { + background-color: #f5f5f5; + background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); + background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); + background-image: linear-gradient(to bottom, #ffffff, #e6e6e6); + background-repeat: repeat-x; + border-color: #e6e6e6 #e6e6e6 #bfbfbf; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + color: #333; + text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + } + +.fc-state-hover, +.fc-state-down, +.fc-state-active, +.fc-state-disabled { + color: #333333; + background-color: #e6e6e6; + } + +.fc-state-hover { + color: #333333; + text-decoration: none; + background-position: 0 -15px; + -webkit-transition: background-position 0.1s linear; + -moz-transition: background-position 0.1s linear; + -o-transition: background-position 0.1s linear; + transition: background-position 0.1s linear; + } + +.fc-state-down, +.fc-state-active { + background-color: #cccccc; + background-image: none; + outline: 0; + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); + } + +.fc-state-disabled { + cursor: default; + background-image: none; + opacity: 0.65; + filter: alpha(opacity=65); + box-shadow: none; + } + + + +/* Global Event Styles +------------------------------------------------------------------------*/ + +.fc-event-container > * { + z-index: 8; + } + +.fc-event-container > .ui-draggable-dragging, +.fc-event-container > .ui-resizable-resizing { + z-index: 9; + } + +.fc-event { + border: 1px solid #3a87ad; /* default BORDER color */ + background-color: #3a87ad; /* default BACKGROUND color */ + color: #fff; /* default TEXT color */ + font-size: .85em; + cursor: default; + } + +a.fc-event { + text-decoration: none; + } + +a.fc-event, +.fc-event-draggable { + cursor: pointer; + } + +.fc-rtl .fc-event { + text-align: right; + } + +.fc-event-inner { + width: 100%; + height: 100%; + overflow: hidden; + } + +.fc-event-time, +.fc-event-title { + padding: 0 1px; + } + +.fc .ui-resizable-handle { + display: block; + position: absolute; + z-index: 99999; + overflow: hidden; /* hacky spaces (IE6/7) */ + font-size: 300%; /* */ + line-height: 50%; /* */ + } + + + +/* Horizontal Events +------------------------------------------------------------------------*/ + +.fc-event-hori { + border-width: 1px 0; + margin-bottom: 1px; + } + +.fc-ltr .fc-event-hori.fc-event-start, +.fc-rtl .fc-event-hori.fc-event-end { + border-left-width: 1px; + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; + } + +.fc-ltr .fc-event-hori.fc-event-end, +.fc-rtl .fc-event-hori.fc-event-start { + border-right-width: 1px; + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + } + +/* resizable */ + +.fc-event-hori .ui-resizable-e { + top: 0 !important; /* importants override pre jquery ui 1.7 styles */ + right: -3px !important; + width: 7px !important; + height: 100% !important; + cursor: e-resize; + } + +.fc-event-hori .ui-resizable-w { + top: 0 !important; + left: -3px !important; + width: 7px !important; + height: 100% !important; + cursor: w-resize; + } + +.fc-event-hori .ui-resizable-handle { + _padding-bottom: 14px; /* IE6 had 0 height */ + } + + + +/* Reusable Separate-border Table +------------------------------------------------------------*/ + +table.fc-border-separate { + border-collapse: separate; + } + +.fc-border-separate th, +.fc-border-separate td { + border-width: 1px 0 0 1px; + } + +.fc-border-separate th.fc-last, +.fc-border-separate td.fc-last { + border-right-width: 1px; + } + +.fc-border-separate tr.fc-last th, +.fc-border-separate tr.fc-last td { + border-bottom-width: 1px; + } + +.fc-border-separate tbody tr.fc-first td, +.fc-border-separate tbody tr.fc-first th { + border-top-width: 0; + } + + + +/* Month View, Basic Week View, Basic Day View +------------------------------------------------------------------------*/ + +.fc-grid th { + text-align: center; + } + +.fc .fc-week-number { + width: 22px; + text-align: center; + } + +.fc .fc-week-number div { + padding: 0 2px; + } + +.fc-grid .fc-day-number { + float: right; + padding: 0 2px; + } + +.fc-grid .fc-other-month .fc-day-number { + opacity: 0.3; + filter: alpha(opacity=30); /* for IE */ + /* opacity with small font can sometimes look too faded + might want to set the 'color' property instead + making day-numbers bold also fixes the problem */ + } + +.fc-grid .fc-day-content { + clear: both; + padding: 2px 2px 1px; /* distance between events and day edges */ + } + +/* event styles */ + +.fc-grid .fc-event-time { + font-weight: bold; + } + +/* right-to-left */ + +.fc-rtl .fc-grid .fc-day-number { + float: left; + } + +.fc-rtl .fc-grid .fc-event-time { + float: right; + } + + + +/* Agenda Week View, Agenda Day View +------------------------------------------------------------------------*/ + +.fc-agenda table { + border-collapse: separate; + } + +.fc-agenda-days th { + text-align: center; + } + +.fc-agenda .fc-agenda-axis { + width: 50px; + padding: 0 4px; + vertical-align: middle; + text-align: right; + white-space: nowrap; + font-weight: normal; + } + +.fc-agenda .fc-week-number { + font-weight: bold; + } + +.fc-agenda .fc-day-content { + padding: 2px 2px 1px; + } + +/* make axis border take precedence */ + +.fc-agenda-days .fc-agenda-axis { + border-right-width: 1px; + } + +.fc-agenda-days .fc-col0 { + border-left-width: 0; + } + +/* all-day area */ + +.fc-agenda-allday th { + border-width: 0 1px; + } + +.fc-agenda-allday .fc-day-content { + min-height: 34px; /* TODO: doesnt work well in quirksmode */ + _height: 34px; + } + +/* divider (between all-day and slots) */ + +.fc-agenda-divider-inner { + height: 2px; + overflow: hidden; + } + +.fc-widget-header .fc-agenda-divider-inner { + background: #eee; + } + +/* slot rows */ + +.fc-agenda-slots th { + border-width: 1px 1px 0; + } + +.fc-agenda-slots td { + border-width: 1px 0 0; + background: none; + } + +.fc-agenda-slots td div { + height: 20px; + } + +.fc-agenda-slots tr.fc-slot0 th, +.fc-agenda-slots tr.fc-slot0 td { + border-top-width: 0; + } + +.fc-agenda-slots tr.fc-minor th, +.fc-agenda-slots tr.fc-minor td { + border-top-style: dotted; + } + +.fc-agenda-slots tr.fc-minor th.ui-widget-header { + *border-top-style: solid; /* doesn't work with background in IE6/7 */ + } + + + +/* Vertical Events +------------------------------------------------------------------------*/ + +.fc-event-vert { + border-width: 0 1px; + } + +.fc-event-vert.fc-event-start { + border-top-width: 1px; + border-top-left-radius: 3px; + border-top-right-radius: 3px; + } + +.fc-event-vert.fc-event-end { + border-bottom-width: 1px; + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; + } + +.fc-event-vert .fc-event-time { + white-space: nowrap; + font-size: 10px; + } + +.fc-event-vert .fc-event-inner { + position: relative; + z-index: 2; + } + +.fc-event-vert .fc-event-bg { /* makes the event lighter w/ a semi-transparent overlay */ + position: absolute; + z-index: 1; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: #fff; + opacity: .25; + filter: alpha(opacity=25); + } + +.fc .ui-draggable-dragging .fc-event-bg, /* TODO: something nicer like .fc-opacity */ +.fc-select-helper .fc-event-bg { + display: none\9; /* for IE6/7/8. nested opacity filters while dragging don't work */ + } + +/* resizable */ + +.fc-event-vert .ui-resizable-s { + bottom: 0 !important; /* importants override pre jquery ui 1.7 styles */ + width: 100% !important; + height: 8px !important; + overflow: hidden !important; + line-height: 8px !important; + font-size: 11px !important; + font-family: monospace; + text-align: center; + cursor: s-resize; + } + +.fc-agenda .ui-resizable-resizing { /* TODO: better selector */ + _overflow: hidden; + } + + diff --git a/src/main/webapp/static/login/assets/css/images/Thumbs.db b/src/main/webapp/static/login/assets/css/images/Thumbs.db Binary files differnew file mode 100644 index 0000000..ca76b4f --- /dev/null +++ b/src/main/webapp/static/login/assets/css/images/Thumbs.db diff --git a/src/main/webapp/static/login/assets/css/images/loading.gif b/src/main/webapp/static/login/assets/css/images/loading.gif Binary files differnew file mode 100644 index 0000000..b4695d8 --- /dev/null +++ b/src/main/webapp/static/login/assets/css/images/loading.gif diff --git a/src/main/webapp/static/login/assets/css/jquery-ui-1.10.3.custom.min.css b/src/main/webapp/static/login/assets/css/jquery-ui-1.10.3.custom.min.css new file mode 100644 index 0000000..082e84c --- /dev/null +++ b/src/main/webapp/static/login/assets/css/jquery-ui-1.10.3.custom.min.css @@ -0,0 +1,6 @@ +/*! jQuery UI - v1.10.3 - 2013-07-07 +* http://jqueryui.com +* Includes: jquery.ui.core.css, jquery.ui.resizable.css, jquery.ui.selectable.css, jquery.ui.slider.css +* Copyright 2013 jQuery Foundation and other contributors Licensed MIT */ + +.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;display:block}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted #000}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/css/jquery-ui-1.10.3.full.min.css b/src/main/webapp/static/login/assets/css/jquery-ui-1.10.3.full.min.css Binary files differnew file mode 100644 index 0000000..121a220 --- /dev/null +++ b/src/main/webapp/static/login/assets/css/jquery-ui-1.10.3.full.min.css diff --git a/src/main/webapp/static/login/assets/css/jquery.gritter.css b/src/main/webapp/static/login/assets/css/jquery.gritter.css new file mode 100644 index 0000000..a2a7e2d --- /dev/null +++ b/src/main/webapp/static/login/assets/css/jquery.gritter.css @@ -0,0 +1,101 @@ +/* the norm */ +#gritter-notice-wrapper { + position:fixed; + top:20px; + right:20px; + width:301px; + z-index:9999; +} +#gritter-notice-wrapper.top-left { + left: 20px; + right: auto; +} +#gritter-notice-wrapper.bottom-right { + top: auto; + left: auto; + bottom: 20px; + right: 20px; +} +#gritter-notice-wrapper.bottom-left { + top: auto; + right: auto; + bottom: 20px; + left: 20px; +} +.gritter-item-wrapper { + position:relative; + margin:0 0 10px 0; + background:url('../images/ie-spacer.gif'); /* ie7/8 fix */ +} +.gritter-top { + background:url(../images/gritter.png) no-repeat left -30px; + height:10px; +} +.hover .gritter-top { + background-position:right -30px; +} +.gritter-bottom { + background:url(../images/gritter.png) no-repeat left bottom; + height:8px; + margin:0; +} +.hover .gritter-bottom { + background-position: bottom right; +} +.gritter-item { + display:block; + background:url(../images/gritter.png) no-repeat left -40px; + color:#eee; + padding:2px 11px 8px 11px; + font-size: 11px; + font-family:verdana; +} +.hover .gritter-item { + background-position:right -40px; +} +.gritter-item p { + padding:0; + margin:0; + word-wrap:break-word; +} +.gritter-close { + display:none; + position:absolute; + top:5px; + left:3px; + background:url(../images/gritter.png) no-repeat left top; + cursor:pointer; + width:30px; + height:30px; +} +.gritter-title { + font-size:14px; + font-weight:bold; + padding:0 0 7px 0; + display:block; + text-shadow:1px 1px 0 #000; /* Not supported by IE :( */ +} +.gritter-image { + width:48px; + height:48px; + float:left; +} +.gritter-with-image, +.gritter-without-image { + padding:0; +} +.gritter-with-image { + width:220px; + float:right; +} +/* for the light (white) version of the gritter notice */ +.gritter-light .gritter-item, +.gritter-light .gritter-bottom, +.gritter-light .gritter-top, +.gritter-light .gritter-close { + background-image: url(../images/gritter-light.png); + color: #222; +} +.gritter-light .gritter-title { + text-shadow: none; +} diff --git a/src/main/webapp/static/login/assets/css/select2.css b/src/main/webapp/static/login/assets/css/select2.css new file mode 100644 index 0000000..dcddc02 --- /dev/null +++ b/src/main/webapp/static/login/assets/css/select2.css @@ -0,0 +1,637 @@ +/* +Version: 3.4.2 Timestamp: Mon Aug 12 15:04:12 PDT 2013 +*/ +.select2-container { + margin: 0; + position: relative; + display: inline-block; + /* inline-block for ie7 */ + zoom: 1; + *display: inline; + vertical-align: middle; +} + +.select2-container, +.select2-drop, +.select2-search, +.select2-search input { + /* + Force border-box so that % widths fit the parent + container without overlap because of margin/padding. + + More Info : http://www.quirksmode.org/css/box.html + */ + -webkit-box-sizing: border-box; /* webkit */ + -moz-box-sizing: border-box; /* firefox */ + box-sizing: border-box; /* css3 */ +} + +.select2-container .select2-choice { + display: block; + height: 26px; + padding: 0 0 0 8px; + overflow: hidden; + position: relative; + + border: 1px solid #aaa; + white-space: nowrap; + line-height: 26px; + color: #444; + text-decoration: none; + + border-radius: 4px; + + background-clip: padding-box; + + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + + background-color: #fff; + background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eee), color-stop(0.5, #fff)); + background-image: -webkit-linear-gradient(center bottom, #eee 0%, #fff 50%); + background-image: -moz-linear-gradient(center bottom, #eee 0%, #fff 50%); + background-image: -o-linear-gradient(bottom, #eee 0%, #fff 50%); + background-image: -ms-linear-gradient(top, #fff 0%, #eee 50%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#ffffff', endColorstr = '#eeeeee', GradientType = 0); + background-image: linear-gradient(top, #fff 0%, #eee 50%); +} + +.select2-container.select2-drop-above .select2-choice { + border-bottom-color: #aaa; + + border-radius: 0 0 4px 4px; + + background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eee), color-stop(0.9, #fff)); + background-image: -webkit-linear-gradient(center bottom, #eee 0%, #fff 90%); + background-image: -moz-linear-gradient(center bottom, #eee 0%, #fff 90%); + background-image: -o-linear-gradient(bottom, #eee 0%, #fff 90%); + background-image: -ms-linear-gradient(top, #eee 0%, #fff 90%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#eeeeee', GradientType=0); + background-image: linear-gradient(top, #eee 0%, #fff 90%); +} + +.select2-container.select2-allowclear .select2-choice .select2-chosen { + margin-right: 42px; +} + +.select2-container .select2-choice > .select2-chosen { + margin-right: 26px; + display: block; + overflow: hidden; + + white-space: nowrap; + + text-overflow: ellipsis; +} + +.select2-container .select2-choice abbr { + display: none; + width: 12px; + height: 12px; + position: absolute; + right: 24px; + top: 8px; + + font-size: 1px; + text-decoration: none; + + border: 0; + background: url('select2.png') right top no-repeat; + cursor: pointer; + outline: 0; +} + +.select2-container.select2-allowclear .select2-choice abbr { + display: inline-block; +} + +.select2-container .select2-choice abbr:hover { + background-position: right -11px; + cursor: pointer; +} + +.select2-drop-mask { + border: 0; + margin: 0; + padding: 0; + position: fixed; + left: 0; + top: 0; + min-height: 100%; + min-width: 100%; + height: auto; + width: auto; + opacity: 0; + z-index: 9998; + /* styles required for IE to work */ + background-color: #fff; + opacity: 0; + filter: alpha(opacity=0); +} + +.select2-drop { + width: 100%; + margin-top: -1px; + position: absolute; + z-index: 9999; + top: 100%; + + background: #fff; + color: #000; + border: 1px solid #aaa; + border-top: 0; + + border-radius: 0 0 4px 4px; + + -webkit-box-shadow: 0 4px 5px rgba(0, 0, 0, .15); + box-shadow: 0 4px 5px rgba(0, 0, 0, .15); +} + +.select2-drop-auto-width { + border-top: 1px solid #aaa; + width: auto; +} + +.select2-drop-auto-width .select2-search { + padding-top: 4px; +} + +.select2-drop.select2-drop-above { + margin-top: 1px; + border-top: 1px solid #aaa; + border-bottom: 0; + + border-radius: 4px 4px 0 0; + + -webkit-box-shadow: 0 -4px 5px rgba(0, 0, 0, .15); + box-shadow: 0 -4px 5px rgba(0, 0, 0, .15); +} + +.select2-drop-active { + border: 1px solid #5897fb; + border-top: none; +} + +.select2-drop.select2-drop-above.select2-drop-active { + border-top: 1px solid #5897fb; +} + +.select2-container .select2-choice .select2-arrow { + display: inline-block; + width: 18px; + height: 100%; + position: absolute; + right: 0; + top: 0; + + border-left: 1px solid #aaa; + border-radius: 0 4px 4px 0; + + background-clip: padding-box; + + background: #ccc; + background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #ccc), color-stop(0.6, #eee)); + background-image: -webkit-linear-gradient(center bottom, #ccc 0%, #eee 60%); + background-image: -moz-linear-gradient(center bottom, #ccc 0%, #eee 60%); + background-image: -o-linear-gradient(bottom, #ccc 0%, #eee 60%); + background-image: -ms-linear-gradient(top, #ccc 0%, #eee 60%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#eeeeee', endColorstr = '#cccccc', GradientType = 0); + background-image: linear-gradient(top, #ccc 0%, #eee 60%); +} + +.select2-container .select2-choice .select2-arrow b { + display: block; + width: 100%; + height: 100%; + background: url('select2.png') no-repeat 0 1px; +} + +.select2-search { + display: inline-block; + width: 100%; + min-height: 26px; + margin: 0; + padding-left: 4px; + padding-right: 4px; + + position: relative; + z-index: 10000; + + white-space: nowrap; +} + +.select2-search input { + width: 100%; + height: auto !important; + min-height: 26px; + padding: 4px 20px 4px 5px; + margin: 0; + + outline: 0; + font-family: sans-serif; + font-size: 1em; + + border: 1px solid #aaa; + border-radius: 0; + + -webkit-box-shadow: none; + box-shadow: none; + + background: #fff url('select2.png') no-repeat 100% -22px; + background: url('select2.png') no-repeat 100% -22px, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee)); + background: url('select2.png') no-repeat 100% -22px, -webkit-linear-gradient(center bottom, #fff 85%, #eee 99%); + background: url('select2.png') no-repeat 100% -22px, -moz-linear-gradient(center bottom, #fff 85%, #eee 99%); + background: url('select2.png') no-repeat 100% -22px, -o-linear-gradient(bottom, #fff 85%, #eee 99%); + background: url('select2.png') no-repeat 100% -22px, -ms-linear-gradient(top, #fff 85%, #eee 99%); + background: url('select2.png') no-repeat 100% -22px, linear-gradient(top, #fff 85%, #eee 99%); +} + +.select2-drop.select2-drop-above .select2-search input { + margin-top: 4px; +} + +.select2-search input.select2-active { + background: #fff url('select2-spinner.gif') no-repeat 100%; + background: url('select2-spinner.gif') no-repeat 100%, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee)); + background: url('select2-spinner.gif') no-repeat 100%, -webkit-linear-gradient(center bottom, #fff 85%, #eee 99%); + background: url('select2-spinner.gif') no-repeat 100%, -moz-linear-gradient(center bottom, #fff 85%, #eee 99%); + background: url('select2-spinner.gif') no-repeat 100%, -o-linear-gradient(bottom, #fff 85%, #eee 99%); + background: url('select2-spinner.gif') no-repeat 100%, -ms-linear-gradient(top, #fff 85%, #eee 99%); + background: url('select2-spinner.gif') no-repeat 100%, linear-gradient(top, #fff 85%, #eee 99%); +} + +.select2-container-active .select2-choice, +.select2-container-active .select2-choices { + border: 1px solid #5897fb; + outline: none; + + -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, .3); + box-shadow: 0 0 5px rgba(0, 0, 0, .3); +} + +.select2-dropdown-open .select2-choice { + border-bottom-color: transparent; + -webkit-box-shadow: 0 1px 0 #fff inset; + box-shadow: 0 1px 0 #fff inset; + + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + + background-color: #eee; + background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #fff), color-stop(0.5, #eee)); + background-image: -webkit-linear-gradient(center bottom, #fff 0%, #eee 50%); + background-image: -moz-linear-gradient(center bottom, #fff 0%, #eee 50%); + background-image: -o-linear-gradient(bottom, #fff 0%, #eee 50%); + background-image: -ms-linear-gradient(top, #fff 0%, #eee 50%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0); + background-image: linear-gradient(top, #fff 0%, #eee 50%); +} + +.select2-dropdown-open.select2-drop-above .select2-choice, +.select2-dropdown-open.select2-drop-above .select2-choices { + border: 1px solid #5897fb; + border-top-color: transparent; + + background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff), color-stop(0.5, #eee)); + background-image: -webkit-linear-gradient(center top, #fff 0%, #eee 50%); + background-image: -moz-linear-gradient(center top, #fff 0%, #eee 50%); + background-image: -o-linear-gradient(top, #fff 0%, #eee 50%); + background-image: -ms-linear-gradient(bottom, #fff 0%, #eee 50%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0); + background-image: linear-gradient(bottom, #fff 0%, #eee 50%); +} + +.select2-dropdown-open .select2-choice .select2-arrow { + background: transparent; + border-left: none; + filter: none; +} +.select2-dropdown-open .select2-choice .select2-arrow b { + background-position: -18px 1px; +} + +/* results */ +.select2-results { + max-height: 200px; + padding: 0 0 0 4px; + margin: 4px 4px 4px 0; + position: relative; + overflow-x: hidden; + overflow-y: auto; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +.select2-results ul.select2-result-sub { + margin: 0; + padding-left: 0; +} + +.select2-results ul.select2-result-sub > li .select2-result-label { padding-left: 20px } +.select2-results ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 40px } +.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 60px } +.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 80px } +.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 100px } +.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 110px } +.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 120px } + +.select2-results li { + list-style: none; + display: list-item; + background-image: none; +} + +.select2-results li.select2-result-with-children > .select2-result-label { + font-weight: bold; +} + +.select2-results .select2-result-label { + padding: 3px 7px 4px; + margin: 0; + cursor: pointer; + + min-height: 1em; + + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.select2-results .select2-highlighted { + background: #3875d7; + color: #fff; +} + +.select2-results li em { + background: #feffde; + font-style: normal; +} + +.select2-results .select2-highlighted em { + background: transparent; +} + +.select2-results .select2-highlighted ul { + background: #fff; + color: #000; +} + + +.select2-results .select2-no-results, +.select2-results .select2-searching, +.select2-results .select2-selection-limit { + background: #f4f4f4; + display: list-item; +} + +/* +disabled look for disabled choices in the results dropdown +*/ +.select2-results .select2-disabled.select2-highlighted { + color: #666; + background: #f4f4f4; + display: list-item; + cursor: default; +} +.select2-results .select2-disabled { + background: #f4f4f4; + display: list-item; + cursor: default; +} + +.select2-results .select2-selected { + display: none; +} + +.select2-more-results.select2-active { + background: #f4f4f4 url('select2-spinner.gif') no-repeat 100%; +} + +.select2-more-results { + background: #f4f4f4; + display: list-item; +} + +/* disabled styles */ + +.select2-container.select2-container-disabled .select2-choice { + background-color: #f4f4f4; + background-image: none; + border: 1px solid #ddd; + cursor: default; +} + +.select2-container.select2-container-disabled .select2-choice .select2-arrow { + background-color: #f4f4f4; + background-image: none; + border-left: 0; +} + +.select2-container.select2-container-disabled .select2-choice abbr { + display: none; +} + + +/* multiselect */ + +.select2-container-multi .select2-choices { + height: auto !important; + height: 1%; + margin: 0; + padding: 0; + position: relative; + + border: 1px solid #aaa; + cursor: text; + overflow: hidden; + + background-color: #fff; + background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(1%, #eee), color-stop(15%, #fff)); + background-image: -webkit-linear-gradient(top, #eee 1%, #fff 15%); + background-image: -moz-linear-gradient(top, #eee 1%, #fff 15%); + background-image: -o-linear-gradient(top, #eee 1%, #fff 15%); + background-image: -ms-linear-gradient(top, #eee 1%, #fff 15%); + background-image: linear-gradient(top, #eee 1%, #fff 15%); +} + +.select2-locked { + padding: 3px 5px 3px 5px !important; +} + +.select2-container-multi .select2-choices { + min-height: 26px; +} + +.select2-container-multi.select2-container-active .select2-choices { + border: 1px solid #5897fb; + outline: none; + + -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, .3); + box-shadow: 0 0 5px rgba(0, 0, 0, .3); +} +.select2-container-multi .select2-choices li { + float: left; + list-style: none; +} +.select2-container-multi .select2-choices .select2-search-field { + margin: 0; + padding: 0; + white-space: nowrap; +} + +.select2-container-multi .select2-choices .select2-search-field input { + padding: 5px; + margin: 1px 0; + + font-family: sans-serif; + font-size: 100%; + color: #666; + outline: 0; + border: 0; + -webkit-box-shadow: none; + box-shadow: none; + background: transparent !important; +} + +.select2-container-multi .select2-choices .select2-search-field input.select2-active { + background: #fff url('select2-spinner.gif') no-repeat 100% !important; +} + +.select2-default { + color: #999 !important; +} + +.select2-container-multi .select2-choices .select2-search-choice { + padding: 3px 5px 3px 18px; + margin: 3px 0 3px 5px; + position: relative; + + line-height: 13px; + color: #333; + cursor: default; + border: 1px solid #aaaaaa; + + border-radius: 3px; + + -webkit-box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05); + box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05); + + background-clip: padding-box; + + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + + background-color: #e4e4e4; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#f4f4f4', GradientType=0); + background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eee)); + background-image: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%); + background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%); + background-image: -o-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%); + background-image: -ms-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%); + background-image: linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%); +} +.select2-container-multi .select2-choices .select2-search-choice .select2-chosen { + cursor: default; +} +.select2-container-multi .select2-choices .select2-search-choice-focus { + background: #d4d4d4; +} + +.select2-search-choice-close { + display: block; + width: 12px; + height: 13px; + position: absolute; + right: 3px; + top: 4px; + + font-size: 1px; + outline: none; + background: url('select2.png') right top no-repeat; +} + +.select2-container-multi .select2-search-choice-close { + left: 3px; +} + +.select2-container-multi .select2-choices .select2-search-choice .select2-search-choice-close:hover { + background-position: right -11px; +} +.select2-container-multi .select2-choices .select2-search-choice-focus .select2-search-choice-close { + background-position: right -11px; +} + +/* disabled styles */ +.select2-container-multi.select2-container-disabled .select2-choices { + background-color: #f4f4f4; + background-image: none; + border: 1px solid #ddd; + cursor: default; +} + +.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice { + padding: 3px 5px 3px 5px; + border: 1px solid #ddd; + background-image: none; + background-color: #f4f4f4; +} + +.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice .select2-search-choice-close { display: none; + background: none; +} +/* end multiselect */ + + +.select2-result-selectable .select2-match, +.select2-result-unselectable .select2-match { + text-decoration: underline; +} + +.select2-offscreen, .select2-offscreen:focus { + clip: rect(0 0 0 0) !important; + width: 1px !important; + height: 1px !important; + border: 0 !important; + margin: 0 !important; + padding: 0 !important; + overflow: hidden !important; + position: absolute !important; + outline: 0 !important; + left: 0px !important; + top: 0px !important; +} + +.select2-display-none { + display: none; +} + +.select2-measure-scrollbar { + position: absolute; + top: -10000px; + left: -10000px; + width: 100px; + height: 100px; + overflow: scroll; +} +/* Retina-ize icons */ + +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi) { + .select2-search input, .select2-search-choice-close, .select2-container .select2-choice abbr, .select2-container .select2-choice .select2-arrow b { + background-image: url('select2x2.png') !important; + background-repeat: no-repeat !important; + background-size: 60px 40px !important; + } + .select2-search input { + background-position: 100% -21px !important; + } +} diff --git a/src/main/webapp/static/login/assets/css/ui.jqgrid.css b/src/main/webapp/static/login/assets/css/ui.jqgrid.css new file mode 100644 index 0000000..cea2cd5 --- /dev/null +++ b/src/main/webapp/static/login/assets/css/ui.jqgrid.css @@ -0,0 +1,151 @@ +/*Grid*/
+.ui-jqgrid {position: relative;}
+.ui-jqgrid .ui-jqgrid-view {position: relative;left:0; top: 0; padding: 0; font-size:11px;}
+/* caption*/
+.ui-jqgrid .ui-jqgrid-titlebar {padding: .3em .2em .2em .3em; position: relative; border-left: 0 none;border-right: 0 none; border-top: 0 none;}
+.ui-jqgrid .ui-jqgrid-title { float: left; margin: .1em 0 .2em; }
+.ui-jqgrid .ui-jqgrid-titlebar-close { position: absolute;top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height:18px;}.ui-jqgrid .ui-jqgrid-titlebar-close span { display: block; margin: 1px; }
+.ui-jqgrid .ui-jqgrid-titlebar-close:hover { padding: 0; }
+/* header*/
+.ui-jqgrid .ui-jqgrid-hdiv {position: relative; margin: 0;padding: 0; overflow-x: hidden; border-left: 0 none !important; border-top : 0 none !important; border-right : 0 none !important;}
+.ui-jqgrid .ui-jqgrid-hbox {float: left; padding-right: 20px;}
+.ui-jqgrid .ui-jqgrid-htable {table-layout:fixed;margin:0;}
+.ui-jqgrid .ui-jqgrid-htable th {height:22px;padding: 0 2px 0 2px;}
+.ui-jqgrid .ui-jqgrid-htable th div {overflow: hidden; position:relative; height:17px;}
+.ui-th-column, .ui-jqgrid .ui-jqgrid-htable th.ui-th-column {overflow: hidden;white-space: nowrap;text-align:center;border-top : 0 none;border-bottom : 0 none;}
+.ui-th-ltr, .ui-jqgrid .ui-jqgrid-htable th.ui-th-ltr {border-left : 0 none;}
+.ui-th-rtl, .ui-jqgrid .ui-jqgrid-htable th.ui-th-rtl {border-right : 0 none;}
+.ui-first-th-ltr {border-right: 1px solid; }
+.ui-first-th-rtl {border-left: 1px solid; }
+.ui-jqgrid .ui-th-div-ie {white-space: nowrap; zoom :1; height:17px;}
+.ui-jqgrid .ui-jqgrid-resize {height:20px !important;position: relative; cursor :e-resize;display: inline;overflow: hidden;}
+.ui-jqgrid .ui-grid-ico-sort {overflow:hidden;position:absolute;display:inline; cursor: pointer !important;}
+.ui-jqgrid .ui-icon-asc {margin-top:-3px; height:12px;}
+.ui-jqgrid .ui-icon-desc {margin-top:3px;height:12px;}
+.ui-jqgrid .ui-i-asc {margin-top:0;height:16px;}
+.ui-jqgrid .ui-i-desc {margin-top:0;margin-left:13px;height:16px;}
+.ui-jqgrid .ui-jqgrid-sortable {cursor:pointer;}
+.ui-jqgrid tr.ui-search-toolbar th { border-top-width: 1px !important; border-top-color: inherit !important; border-top-style: ridge !important }
+tr.ui-search-toolbar input {margin: 1px 0 0 0}
+tr.ui-search-toolbar select {margin: 1px 0 0 0}
+/* body */
+.ui-jqgrid .ui-jqgrid-bdiv {position: relative; margin: 0; padding:0; overflow: auto; text-align:left;}
+.ui-jqgrid .ui-jqgrid-btable {table-layout:fixed; margin:0; outline-style: none; }
+.ui-jqgrid tr.jqgrow { outline-style: none; }
+.ui-jqgrid tr.jqgroup { outline-style: none; }
+.ui-jqgrid tr.jqgrow td {font-weight: normal; overflow: hidden; white-space: pre; height: 22px;padding: 0 2px 0 2px;border-bottom-width: 1px; border-bottom-color: inherit; border-bottom-style: solid;}
+.ui-jqgrid tr.jqgfirstrow td {padding: 0 2px 0 2px;border-right-width: 1px; border-right-style: solid;}
+.ui-jqgrid tr.jqgroup td {font-weight: normal; overflow: hidden; white-space: pre; height: 22px;padding: 0 2px 0 2px;border-bottom-width: 1px; border-bottom-color: inherit; border-bottom-style: solid;}
+.ui-jqgrid tr.jqfoot td {font-weight: bold; overflow: hidden; white-space: pre; height: 22px;padding: 0 2px 0 2px;border-bottom-width: 1px; border-bottom-color: inherit; border-bottom-style: solid;}
+.ui-jqgrid tr.ui-row-ltr td {text-align:left;border-right-width: 1px; border-right-color: inherit; border-right-style: solid;}
+.ui-jqgrid tr.ui-row-rtl td {text-align:right;border-left-width: 1px; border-left-color: inherit; border-left-style: solid;}
+.ui-jqgrid td.jqgrid-rownum { padding: 0 2px 0 2px; margin: 0; border: 0 none;}
+.ui-jqgrid .ui-jqgrid-resize-mark { width:2px; left:0; background-color:#777; cursor: e-resize; cursor: col-resize; position:absolute; top:0; height:100px; overflow:hidden; display:none; border:0 none; z-index: 99999;}
+/* footer */
+.ui-jqgrid .ui-jqgrid-sdiv {position: relative; margin: 0;padding: 0; overflow: hidden; border-left: 0 none !important; border-top : 0 none !important; border-right : 0 none !important;}
+.ui-jqgrid .ui-jqgrid-ftable {table-layout:fixed; margin-bottom:0;}
+.ui-jqgrid tr.footrow td {font-weight: bold; overflow: hidden; white-space:nowrap; height: 21px;padding: 0 2px 0 2px;border-top-width: 1px; border-top-color: inherit; border-top-style: solid;}
+.ui-jqgrid tr.footrow-ltr td {text-align:left;border-right-width: 1px; border-right-color: inherit; border-right-style: solid;}
+.ui-jqgrid tr.footrow-rtl td {text-align:right;border-left-width: 1px; border-left-color: inherit; border-left-style: solid;}
+/* Pager*/
+.ui-jqgrid .ui-jqgrid-pager { border-left: 0 none !important;border-right: 0 none !important; border-bottom: 0 none !important; margin: 0 !important; padding: 0 !important; position: relative; height: 25px;white-space: nowrap;overflow: hidden;font-size:11px;}
+.ui-jqgrid .ui-pager-control {position: relative;}
+.ui-jqgrid .ui-pg-table {position: relative; padding-bottom:2px; width:auto; margin: 0;}
+.ui-jqgrid .ui-pg-table td {font-weight:normal; vertical-align:middle; padding:1px;}
+.ui-jqgrid .ui-pg-button { height:19px !important;}
+.ui-jqgrid .ui-pg-button span { display: block; margin: 1px; float:left;}
+.ui-jqgrid .ui-pg-button:hover { padding: 0; }
+.ui-jqgrid .ui-state-disabled:hover {padding:1px;}
+.ui-jqgrid .ui-pg-input { height:13px;font-size:.8em; margin: 0;}
+.ui-jqgrid .ui-pg-selbox {font-size:.8em; line-height:18px; display:block; height:18px; margin: 0;}
+.ui-jqgrid .ui-separator {height: 18px; border-left: 1px solid #ccc ; border-right: 1px solid #ccc ; margin: 1px; float: right;}
+.ui-jqgrid .ui-paging-info {font-weight: normal;height:19px; margin-top:3px;margin-right:4px;}
+.ui-jqgrid .ui-jqgrid-pager .ui-pg-div {padding:1px 0;float:left;position:relative;}
+.ui-jqgrid .ui-jqgrid-pager .ui-pg-button { cursor:pointer; }
+.ui-jqgrid .ui-jqgrid-pager .ui-pg-div span.ui-icon {float:left;margin:0 2px;}
+.ui-jqgrid td input, .ui-jqgrid td select .ui-jqgrid td textarea { margin: 0;}
+.ui-jqgrid td textarea {width:auto;height:auto;}
+.ui-jqgrid .ui-jqgrid-toppager {border-left: 0 none !important;border-right: 0 none !important; border-top: 0 none !important; margin: 0 !important; padding: 0 !important; position: relative; height: 25px !important;white-space: nowrap;overflow: hidden;}
+.ui-jqgrid .ui-jqgrid-toppager .ui-pg-div {padding:1px 0;float:left;position:relative;}
+.ui-jqgrid .ui-jqgrid-toppager .ui-pg-button { cursor:pointer; }
+.ui-jqgrid .ui-jqgrid-toppager .ui-pg-div span.ui-icon {float:left;margin:0 2px;}
+/*subgrid*/
+.ui-jqgrid .ui-jqgrid-btable .ui-sgcollapsed span {display: block;}
+.ui-jqgrid .ui-subgrid {margin:0;padding:0; width:100%;}
+.ui-jqgrid .ui-subgrid table {table-layout: fixed;}
+.ui-jqgrid .ui-subgrid tr.ui-subtblcell td {height:18px;border-right-width: 1px; border-right-color: inherit; border-right-style: solid;border-bottom-width: 1px; border-bottom-color: inherit; border-bottom-style: solid;}
+.ui-jqgrid .ui-subgrid td.subgrid-data {border-top: 0 none !important;}
+.ui-jqgrid .ui-subgrid td.subgrid-cell {border-width: 0 0 1px 0;}
+.ui-jqgrid .ui-th-subgrid {height:20px;}
+/* loading */
+.ui-jqgrid .loading {position: absolute; top: 45%;left: 45%;width: auto;z-index:101;padding: 6px; margin: 5px;text-align: center;font-weight: bold;display: none;border-width: 2px !important; font-size:11px;}
+.ui-jqgrid .jqgrid-overlay {display:none;z-index:100;}
+* html .jqgrid-overlay {width: expression(this.parentNode.offsetWidth+'px');height: expression(this.parentNode.offsetHeight+'px');}
+* .jqgrid-overlay iframe {position:absolute;top:0;left:0;z-index:-1;width: expression(this.parentNode.offsetWidth+'px');height: expression(this.parentNode.offsetHeight+'px');}
+/* end loading div */
+/* toolbar */
+.ui-jqgrid .ui-userdata {border-left: 0 none; border-right: 0 none; height : 21px;overflow: hidden; }
+/*Modal Window */
+.ui-jqdialog { display: none; width: 300px; position: absolute; padding: .2em; font-size:11px; overflow:visible;}
+.ui-jqdialog .ui-jqdialog-titlebar { padding: .3em .2em; position: relative; }
+.ui-jqdialog .ui-jqdialog-title { margin: .1em 0 .2em; }
+.ui-jqdialog .ui-jqdialog-titlebar-close { position: absolute; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
+
+.ui-jqdialog .ui-jqdialog-titlebar-close span { display: block; margin: 1px; }
+.ui-jqdialog .ui-jqdialog-titlebar-close:hover, .ui-jqdialog .ui-jqdialog-titlebar-close:focus { padding: 0; }
+.ui-jqdialog-content, .ui-jqdialog .ui-jqdialog-content { border: 0; padding: .3em .2em; background: none; height:auto;}
+.ui-jqdialog .ui-jqconfirm {padding: .4em 1em; border-width:3px;position:absolute;bottom:10px;right:10px;overflow:visible;display:none;height:80px;width:220px;text-align:center;}
+.ui-jqdialog>.ui-resizable-se { bottom: -3px; right: -3px}
+/* end Modal window*/
+/* Form edit */
+.ui-jqdialog-content .FormGrid {margin: 0;}
+.ui-jqdialog-content .EditTable { width: 100%; margin-bottom:0;}
+.ui-jqdialog-content .DelTable { width: 100%; margin-bottom:0;}
+.EditTable td input, .EditTable td select, .EditTable td textarea {margin: 0;}
+.EditTable td textarea { width:auto; height:auto;}
+.ui-jqdialog-content td.EditButton {text-align: right;border-top: 0 none;border-left: 0 none;border-right: 0 none; padding-bottom:5px; padding-top:5px;}
+.ui-jqdialog-content td.navButton {text-align: center; border-left: 0 none;border-top: 0 none;border-right: 0 none; padding-bottom:5px; padding-top:5px;}
+.ui-jqdialog-content input.FormElement {padding:.3em}
+.ui-jqdialog-content select.FormElement {padding:.3em}
+.ui-jqdialog-content .data-line {padding-top:.1em;border: 0 none;}
+
+.ui-jqdialog-content .CaptionTD {vertical-align: middle;border: 0 none; padding: 2px;white-space: nowrap;}
+.ui-jqdialog-content .DataTD {padding: 2px; border: 0 none; vertical-align: top;}
+.ui-jqdialog-content .form-view-data {white-space:pre}
+.fm-button { display: inline-block; margin:0 4px 0 0; padding: .4em .5em; text-decoration:none !important; cursor:pointer; position: relative; text-align: center; zoom: 1; }
+.fm-button-icon-left { padding-left: 1.9em; }
+.fm-button-icon-right { padding-right: 1.9em; }
+.fm-button-icon-left .ui-icon { right: auto; left: .2em; margin-left: 0; position: absolute; top: 50%; margin-top: -8px; }
+.fm-button-icon-right .ui-icon { left: auto; right: .2em; margin-left: 0; position: absolute; top: 50%; margin-top: -8px;}
+#nData, #pData { float: left; margin:3px;padding: 0; width: 15px; }
+/* End Eorm edit */
+/*.ui-jqgrid .edit-cell {}*/
+.ui-jqgrid .selected-row, div.ui-jqgrid .selected-row td {font-style : normal;border-left: 0 none;}
+/* inline edit actions button*/
+.ui-inline-del.ui-state-hover span, .ui-inline-edit.ui-state-hover span,
+.ui-inline-save.ui-state-hover span, .ui-inline-cancel.ui-state-hover span {
+ margin: -1px;
+}
+/* Tree Grid */
+.ui-jqgrid .tree-wrap {float: left; position: relative;height: 18px;white-space: nowrap;overflow: hidden;}
+.ui-jqgrid .tree-minus {position: absolute; height: 18px; width: 18px; overflow: hidden;}
+.ui-jqgrid .tree-plus {position: absolute; height: 18px; width: 18px; overflow: hidden;}
+.ui-jqgrid .tree-leaf {position: absolute; height: 18px; width: 18px;overflow: hidden;}
+.ui-jqgrid .treeclick {cursor: pointer;}
+/* moda dialog */
+* iframe.jqm {position:absolute;top:0;left:0;z-index:-1;width: expression(this.parentNode.offsetWidth+'px');height: expression(this.parentNode.offsetHeight+'px');}
+.ui-jqgrid-dnd tr td {border-right-width: 1px; border-right-color: inherit; border-right-style: solid; height:20px}
+/* RTL Support */
+.ui-jqgrid .ui-jqgrid-title-rtl {float:right;margin: .1em 0 .2em; }
+.ui-jqgrid .ui-jqgrid-hbox-rtl {float: right; padding-left: 20px;}
+.ui-jqgrid .ui-jqgrid-resize-ltr {float: right;margin: -2px -2px -2px 0;}
+.ui-jqgrid .ui-jqgrid-resize-rtl {float: left;margin: -2px 0 -1px -3px;}
+.ui-jqgrid .ui-sort-rtl {left:0;}
+.ui-jqgrid .tree-wrap-ltr {float: left;}
+.ui-jqgrid .tree-wrap-rtl {float: right;}
+.ui-jqgrid .ui-ellipsis {text-overflow:ellipsis;}
+
+/* Toolbar Search Menu */
+.ui-search-menu { position: absolute; padding: 2px 5px;}
+.ui-jqgrid .ui-search-table { padding: 0px 0px; border: 0px none; height:20px; width:100%;}
+.ui-jqgrid .ui-search-table .ui-search-oper { width:20px; }
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/font/fontawesome-webfont.woff b/src/main/webapp/static/login/assets/font/fontawesome-webfont.woff Binary files differnew file mode 100644 index 0000000..b9bd17e --- /dev/null +++ b/src/main/webapp/static/login/assets/font/fontawesome-webfont.woff diff --git a/src/main/webapp/static/login/assets/gif/flow.gif b/src/main/webapp/static/login/assets/gif/flow.gif Binary files differnew file mode 100644 index 0000000..aa73989 --- /dev/null +++ b/src/main/webapp/static/login/assets/gif/flow.gif diff --git a/src/main/webapp/static/login/assets/gif/rubbish.gif b/src/main/webapp/static/login/assets/gif/rubbish.gif Binary files differnew file mode 100644 index 0000000..9bdd283 --- /dev/null +++ b/src/main/webapp/static/login/assets/gif/rubbish.gif diff --git a/src/main/webapp/static/login/assets/images/login/backimg.png b/src/main/webapp/static/login/assets/images/login/backimg.png Binary files differnew file mode 100644 index 0000000..7dd4533 --- /dev/null +++ b/src/main/webapp/static/login/assets/images/login/backimg.png diff --git a/src/main/webapp/static/login/assets/images/login/hc_03.png b/src/main/webapp/static/login/assets/images/login/hc_03.png Binary files differnew file mode 100644 index 0000000..995a4ee --- /dev/null +++ b/src/main/webapp/static/login/assets/images/login/hc_03.png diff --git a/src/main/webapp/static/login/assets/images/login/login_03.png b/src/main/webapp/static/login/assets/images/login/login_03.png Binary files differnew file mode 100644 index 0000000..98cfd46 --- /dev/null +++ b/src/main/webapp/static/login/assets/images/login/login_03.png diff --git a/src/main/webapp/static/login/assets/images/login/login_06.png b/src/main/webapp/static/login/assets/images/login/login_06.png Binary files differnew file mode 100644 index 0000000..b35554b --- /dev/null +++ b/src/main/webapp/static/login/assets/images/login/login_06.png diff --git a/src/main/webapp/static/login/assets/images/login/two/login_03.png b/src/main/webapp/static/login/assets/images/login/two/login_03.png Binary files differnew file mode 100644 index 0000000..e3ca9e4 --- /dev/null +++ b/src/main/webapp/static/login/assets/images/login/two/login_03.png diff --git a/src/main/webapp/static/login/assets/images/main/back.png b/src/main/webapp/static/login/assets/images/main/back.png Binary files differnew file mode 100644 index 0000000..b69bf9b --- /dev/null +++ b/src/main/webapp/static/login/assets/images/main/back.png diff --git a/src/main/webapp/static/login/assets/images/main/hc.png b/src/main/webapp/static/login/assets/images/main/hc.png Binary files differnew file mode 100644 index 0000000..aabd4f0 --- /dev/null +++ b/src/main/webapp/static/login/assets/images/main/hc.png diff --git a/src/main/webapp/static/login/assets/images/main/main_03.png b/src/main/webapp/static/login/assets/images/main/main_03.png Binary files differnew file mode 100644 index 0000000..fa919d0 --- /dev/null +++ b/src/main/webapp/static/login/assets/images/main/main_03.png diff --git a/src/main/webapp/static/login/assets/images/main/two/main_01.png b/src/main/webapp/static/login/assets/images/main/two/main_01.png Binary files differnew file mode 100644 index 0000000..9bd1366 --- /dev/null +++ b/src/main/webapp/static/login/assets/images/main/two/main_01.png diff --git a/src/main/webapp/static/login/assets/images/main/two/main_02.png b/src/main/webapp/static/login/assets/images/main/two/main_02.png Binary files differnew file mode 100644 index 0000000..2afd3bc --- /dev/null +++ b/src/main/webapp/static/login/assets/images/main/two/main_02.png diff --git a/src/main/webapp/static/login/assets/images/main/two/main_03.png b/src/main/webapp/static/login/assets/images/main/two/main_03.png Binary files differnew file mode 100644 index 0000000..e431ca1 --- /dev/null +++ b/src/main/webapp/static/login/assets/images/main/two/main_03.png diff --git a/src/main/webapp/static/login/assets/images/main/two/main_04.png b/src/main/webapp/static/login/assets/images/main/two/main_04.png Binary files differnew file mode 100644 index 0000000..2b4f2ed --- /dev/null +++ b/src/main/webapp/static/login/assets/images/main/two/main_04.png diff --git a/src/main/webapp/static/login/assets/images/main/two/main_1.png b/src/main/webapp/static/login/assets/images/main/two/main_1.png Binary files differnew file mode 100644 index 0000000..d14aaf1 --- /dev/null +++ b/src/main/webapp/static/login/assets/images/main/two/main_1.png diff --git a/src/main/webapp/static/login/assets/images/main/two/mainback.png b/src/main/webapp/static/login/assets/images/main/two/mainback.png Binary files differnew file mode 100644 index 0000000..19f4f26 --- /dev/null +++ b/src/main/webapp/static/login/assets/images/main/two/mainback.png diff --git a/src/main/webapp/static/login/assets/js/ace-elements.min.js b/src/main/webapp/static/login/assets/js/ace-elements.min.js new file mode 100644 index 0000000..52e19d2 --- /dev/null +++ b/src/main/webapp/static/login/assets/js/ace-elements.min.js @@ -0,0 +1 @@ +if(!("ace" in window)){window.ace={}}jQuery(function(){window.ace.click_event=$.fn.tap?"tap":"click"});(function(e,c){var d="multiple" in document.createElement("INPUT");var j="FileList" in window;var b="FileReader" in window;var f=function(l,m){var k=this;this.settings=e.extend({},e.fn.ace_file_input.defaults,m);this.$element=e(l);this.element=l;this.disabled=false;this.can_reset=true;this.$element.on("change.ace_inner_call",function(o,n){if(n===true){return}return a.call(k)});this.$element.wrap('<div class="ace-file-input" />');this.apply_settings()};f.error={FILE_LOAD_FAILED:1,IMAGE_LOAD_FAILED:2,THUMBNAIL_FAILED:3};f.prototype.apply_settings=function(){var l=this;var k=!!this.settings.icon_remove;this.multi=this.$element.attr("multiple")&&d;this.well_style=this.settings.style=="well";if(this.well_style){this.$element.parent().addClass("ace-file-multiple")}else{this.$element.parent().removeClass("ace-file-multiple")}this.$element.parent().find(":not(input[type=file])").remove();this.$element.after('<label class="file-label" data-title="'+this.settings.btn_choose+'"><span class="file-name" data-title="'+this.settings.no_file+'">'+(this.settings.no_icon?'<i class="'+this.settings.no_icon+'"></i>':"")+"</span></label>"+(k?'<a class="remove" href="#"><i class="'+this.settings.icon_remove+'"></i></a>':""));this.$label=this.$element.next();this.$label.on("click",function(){if(!this.disabled&&!l.element.disabled&&!l.$element.attr("readonly")){l.$element.click()}});if(k){this.$label.next("a").on(ace.click_event,function(){if(!l.can_reset){return false}var m=true;if(l.settings.before_remove){m=l.settings.before_remove.call(l.element)}if(!m){return false}return l.reset_input()})}if(this.settings.droppable&&j){g.call(this)}};f.prototype.show_file_list=function(k){var n=typeof k==="undefined"?this.$element.data("ace_input_files"):k;if(!n||n.length==0){return}if(this.well_style){this.$label.find(".file-name").remove();if(!this.settings.btn_change){this.$label.addClass("hide-placeholder")}}this.$label.attr("data-title",this.settings.btn_change).addClass("selected");for(var p=0;p<n.length;p++){var l=typeof n[p]==="string"?n[p]:e.trim(n[p].name);var q=l.lastIndexOf("\\")+1;if(q==0){q=l.lastIndexOf("/")+1}l=l.substr(q);var m="icon-file";if((/\.(jpe?g|png|gif|svg|bmp|tiff?)$/i).test(l)){m="icon-picture"}else{if((/\.(mpe?g|flv|mov|avi|swf|mp4|mkv|webm|wmv|3gp)$/i).test(l)){m="icon-film"}else{if((/\.(mp3|ogg|wav|wma|amr|aac)$/i).test(l)){m="icon-music"}}}if(!this.well_style){this.$label.find(".file-name").attr({"data-title":l}).find('[class*="icon-"]').attr("class",m)}else{this.$label.append('<span class="file-name" data-title="'+l+'"><i class="'+m+'"></i></span>');var r=e.trim(n[p].type);var o=b&&this.settings.thumbnail&&((r.length>0&&r.match("image"))||(r.length==0&&m=="icon-picture"));if(o){var s=this;e.when(i.call(this,n[p])).fail(function(t){if(s.settings.preview_error){s.settings.preview_error.call(s,l,t.code)}})}}}return true};f.prototype.reset_input=function(){this.$label.attr({"data-title":this.settings.btn_choose,"class":"file-label"}).find(".file-name:first").attr({"data-title":this.settings.no_file,"class":"file-name"}).find('[class*="icon-"]').attr("class",this.settings.no_icon).prev("img").remove();if(!this.settings.no_icon){this.$label.find('[class*="icon-"]').remove()}this.$label.find(".file-name").not(":first").remove();if(this.$element.data("ace_input_files")){this.$element.removeData("ace_input_files");this.$element.removeData("ace_input_method")}this.reset_input_field();return false};f.prototype.reset_input_field=function(){this.$element.wrap("<form>").closest("form").get(0).reset();this.$element.unwrap()};f.prototype.enable_reset=function(k){this.can_reset=k};f.prototype.disable=function(){this.disabled=true;this.$element.attr("disabled","disabled").addClass("disabled")};f.prototype.enable=function(){this.disabled=false;this.$element.removeAttr("disabled").removeClass("disabled")};f.prototype.files=function(){return e(this).data("ace_input_files")||null};f.prototype.method=function(){return e(this).data("ace_input_method")||""};f.prototype.update_settings=function(k){this.settings=e.extend({},this.settings,k);this.apply_settings()};var g=function(){var l=this;var k=this.element.parentNode;e(k).on("dragenter",function(m){m.preventDefault();m.stopPropagation()}).on("dragover",function(m){m.preventDefault();m.stopPropagation()}).on("drop",function(q){q.preventDefault();q.stopPropagation();var p=q.originalEvent.dataTransfer;var o=p.files;if(!l.multi&&o.length>1){var n=[];n.push(o[0]);o=n}var m=true;if(l.settings.before_change){m=l.settings.before_change.call(l.element,o,true)}if(!m||m.length==0){return false}if(m instanceof Array||(j&&m instanceof FileList)){o=m}l.$element.data("ace_input_files",o);l.$element.data("ace_input_method","drop");l.show_file_list(o);l.$element.triggerHandler("change",[true]);return true})};var a=function(){var l=true;if(this.settings.before_change){l=this.settings.before_change.call(this.element,this.element.files||[this.element.value],false)}if(!l||l.length==0){if(!this.$element.data("ace_input_files")){this.reset_input_field()}return false}var m=!j?null:((l instanceof Array||l instanceof FileList)?l:this.element.files);this.$element.data("ace_input_method","select");if(m&&m.length>0){this.$element.data("ace_input_files",m)}else{var k=e.trim(this.element.value);if(k&&k.length>0){m=[];m.push(k);this.$element.data("ace_input_files",m)}}if(!m||m.length==0){return false}this.show_file_list(m);return true};var i=function(o){var n=this;var l=n.$label.find(".file-name:last");var m=new e.Deferred;var k=new FileReader();k.onload=function(q){l.prepend("<img class='middle' style='display:none;' />");var p=l.find("img:last").get(0);e(p).one("load",function(){var t=50;if(n.settings.thumbnail=="large"){t=150}else{if(n.settings.thumbnail=="fit"){t=l.width()}}l.addClass(t>50?"large":"");var s=h(p,t,o.type);if(s==null){e(this).remove();m.reject({code:f.error.THUMBNAIL_FAILED});return}var r=s.w,u=s.h;if(n.settings.thumbnail=="small"){r=u=t}e(p).css({"background-image":"url("+s.src+")",width:r,height:u}).data("thumb",s.src).attr({src:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWNgYGBgAAAABQABh6FO1AAAAABJRU5ErkJggg=="}).show();m.resolve()}).one("error",function(){l.find("img").remove();m.reject({code:f.error.IMAGE_LOAD_FAILED})});p.src=q.target.result};k.onerror=function(p){m.reject({code:f.error.FILE_LOAD_FAILED})};k.readAsDataURL(o);return m.promise()};var h=function(n,s,q){var r=n.width,o=n.height;if(r>s||o>s){if(r>o){o=parseInt(s/r*o);r=s}else{r=parseInt(s/o*r);o=s}}var m;try{var l=document.createElement("canvas");l.width=r;l.height=o;var k=l.getContext("2d");k.drawImage(n,0,0,n.width,n.height,0,0,r,o);m=l.toDataURL()}catch(p){m=null}if(!(/^data\:image\/(png|jpe?g|gif);base64,[0-9A-Za-z\+\/\=]+$/.test(m))){m=null}if(!m){return null}return{src:m,w:r,h:o}};e.fn.ace_file_input=function(m,n){var l;var k=this.each(function(){var q=e(this);var p=q.data("ace_file_input");var o=typeof m==="object"&&m;if(!p){q.data("ace_file_input",(p=new f(this,o)))}if(typeof m==="string"){l=p[m](n)}});return(l===c)?k:l};e.fn.ace_file_input.defaults={style:false,no_file:"No File ...",no_icon:"icon-upload-alt",btn_choose:"Choose",btn_change:"Change",icon_remove:"icon-remove",droppable:false,thumbnail:false,before_change:null,before_remove:null,preview_error:null}})(window.jQuery);(function(a,b){a.fn.ace_spinner=function(c){this.each(function(){var f=c.icon_up||"icon-chevron-up";var j=c.icon_down||"icon-chevron-down";var h=c.on_sides||false;var e=c.btn_up_class||"";var g=c.btn_down_class||"";var d=c.max||999;d=(""+d).length;a(this).addClass("spinner-input form-control").wrap('<div class="ace-spinner">');var k=a(this).closest(".ace-spinner").spinner(c).wrapInner("<div class='input-group'></div>");if(h){a(this).before('<div class="spinner-buttons input-group-btn"> <button type="button" class="btn spinner-down btn-xs '+g+'"> <i class="'+j+'"></i> </button> </div>').after('<div class="spinner-buttons input-group-btn"> <button type="button" class="btn spinner-up btn-xs '+e+'"> <i class="'+f+'"></i> </button> </div>');k.addClass("touch-spinner");k.css("width",(d*20+40)+"px")}else{a(this).after('<div class="spinner-buttons input-group-btn"> <button type="button" class="btn spinner-up btn-xs '+e+'"> <i class="'+f+'"></i> </button> <button type="button" class="btn spinner-down btn-xs '+g+'"> <i class="'+j+'"></i> </button> </div>');if("ontouchend" in document||c.touch_spinner){k.addClass("touch-spinner");k.css("width",(d*20+40)+"px")}else{a(this).next().addClass("btn-group-vertical");k.css("width",(d*20+10)+"px")}}a(this).on("mousewheel DOMMouseScroll",function(l){var m=l.originalEvent.detail<0||l.originalEvent.wheelDelta>0?1:-1;k.spinner("step",m>0);k.spinner("triggerChangedEvent");return false});var i=a(this);k.on("changed",function(){i.trigger("change")})});return this}})(window.jQuery);(function(a,b){a.fn.ace_wizard=function(c){this.each(function(){var e=a(this);e.wizard();var d=e.siblings(".wizard-actions").eq(0);var f=e.data("wizard");f.$prevBtn.remove();f.$nextBtn.remove();f.$prevBtn=d.find(".btn-prev").eq(0).on(ace.click_event,function(){e.wizard("previous")}).attr("disabled","disabled");f.$nextBtn=d.find(".btn-next").eq(0).on(ace.click_event,function(){e.wizard("next")}).removeAttr("disabled");f.nextText=f.$nextBtn.text()});return this}})(window.jQuery);(function(a,b){a.fn.ace_colorpicker=function(c){var d=a.extend({pull_right:false,caret:true},c);this.each(function(){var g=a(this);var e="";var f="";a(this).hide().find("option").each(function(){var h="colorpick-btn";if(this.selected){h+=" selected";f=this.value}e+='<li><a class="'+h+'" href="#" style="background-color:'+this.value+';" data-color="'+this.value+'"></a></li>'}).end().on("change.ace_inner_call",function(){a(this).next().find(".btn-colorpicker").css("background-color",this.value)}).after('<div class="dropdown dropdown-colorpicker"><a data-toggle="dropdown" class="dropdown-toggle" href="#"><span class="btn-colorpicker" style="background-color:'+f+'"></span></a><ul class="dropdown-menu'+(d.caret?" dropdown-caret":"")+(d.pull_right?" pull-right":"")+'">'+e+"</ul></div>").next().find(".dropdown-menu").on(ace.click_event,function(j){var h=a(j.target);if(!h.is(".colorpick-btn")){return false}h.closest("ul").find(".selected").removeClass("selected");h.addClass("selected");var i=h.data("color");g.val(i).change();j.preventDefault();return true})});return this}})(window.jQuery);(function(a,b){a.fn.ace_tree=function(d){var c={"open-icon":"icon-folder-open","close-icon":"icon-folder-close",selectable:true,"selected-icon":"icon-ok","unselected-icon":"tree-dot"};c=a.extend({},c,d);this.each(function(){var e=a(this);e.html('<div class = "tree-folder" style="display:none;"> <div class="tree-folder-header"> <i class="'+c["close-icon"]+'"></i> <div class="tree-folder-name"></div> </div> <div class="tree-folder-content"></div> <div class="tree-loader" style="display:none"></div> </div> <div class="tree-item" style="display:none;"> '+(c["unselected-icon"]==null?"":'<i class="'+c["unselected-icon"]+'"></i>')+' <div class="tree-item-name"></div> </div>');e.addClass(c.selectable==true?"tree-selectable":"tree-unselectable");e.tree(c)});return this}})(window.jQuery);(function(a,b){a.fn.ace_wysiwyg=function(c,h){var d=a.extend({speech_button:true,wysiwyg:{}},c);var e=["#ac725e","#d06b64","#f83a22","#fa573c","#ff7537","#ffad46","#42d692","#16a765","#7bd148","#b3dc6c","#fbe983","#fad165","#92e1c0","#9fe1e7","#9fc6e7","#4986e7","#9a9cff","#b99aff","#c2c2c2","#cabdbf","#cca6ac","#f691b2","#cd74e6","#a47ae2","#444444"];var g={font:{values:["Arial","Courier","Comic Sans MS","Helvetica","Open Sans","Tahoma","Verdana"],icon:"icon-font",title:"Font"},fontSize:{values:{5:"Huge",3:"Normal",1:"Small"},icon:"icon-text-height",title:"Font Size"},bold:{icon:"icon-bold",title:"Bold (Ctrl/Cmd+B)"},italic:{icon:"icon-italic",title:"Italic (Ctrl/Cmd+I)"},strikethrough:{icon:"icon-strikethrough",title:"Strikethrough"},underline:{icon:"icon-underline",title:"Underline"},insertunorderedlist:{icon:"icon-list-ul",title:"Bullet list"},insertorderedlist:{icon:"icon-list-ol",title:"Number list"},outdent:{icon:"icon-indent-left",title:"Reduce indent (Shift+Tab)"},indent:{icon:"icon-indent-right",title:"Indent (Tab)"},justifyleft:{icon:"icon-align-left",title:"Align Left (Ctrl/Cmd+L)"},justifycenter:{icon:"icon-align-center",title:"Center (Ctrl/Cmd+E)"},justifyright:{icon:"icon-align-right",title:"Align Right (Ctrl/Cmd+R)"},justifyfull:{icon:"icon-align-justify",title:"Justify (Ctrl/Cmd+J)"},createLink:{icon:"icon-link",title:"Hyperlink",button_text:"Add",placeholder:"URL",button_class:"btn-primary"},unlink:{icon:"icon-unlink",title:"Remove Hyperlink"},insertImage:{icon:"icon-picture",title:"Insert picture",button_text:'<i class="icon-file"></i> Choose Image …',placeholder:"Image URL",button_insert:"Insert",button_class:"btn-success",button_insert_class:"btn-primary",choose_file:true},foreColor:{values:e,title:"Change Color"},backColor:{values:e,title:"Change Background Color"},undo:{icon:"icon-undo",title:"Undo (Ctrl/Cmd+Z)"},redo:{icon:"icon-repeat",title:"Redo (Ctrl/Cmd+Y)"},viewSource:{icon:"icon-code",title:"View Source"}};var f=d.toolbar||["font",null,"fontSize",null,"bold","italic","strikethrough","underline",null,"insertunorderedlist","insertorderedlist","outdent","indent",null,"justifyleft","justifycenter","justifyright","justifyfull",null,"createLink","unlink",null,"insertImage",null,"foreColor",null,"undo","redo",null,"viewSource"];this.each(function(){var r=' <div class="wysiwyg-toolbar btn-toolbar center"> <div class="btn-group"> ';for(var n in f){if(f.hasOwnProperty(n)){var p=f[n];if(p===null){r+=' </div> <div class="btn-group"> ';continue}if(typeof p=="string"&&p in g){p=g[p];p.name=f[n]}else{if(typeof p=="object"&&p.name in g){p=a.extend(g[p.name],p)}else{continue}}var q="className" in p?p.className:"";switch(p.name){case"font":r+=' <a class="btn btn-sm '+q+' dropdown-toggle" data-toggle="dropdown" title="'+p.title+'"><i class="'+p.icon+'"></i><i class="icon-angle-down icon-on-right"></i></a> ';r+=' <ul class="dropdown-menu dropdown-light">';for(var j in p.values){if(p.values.hasOwnProperty(j)){r+=' <li><a data-edit="fontName '+p.values[j]+'" style="font-family:\''+p.values[j]+"'\">"+p.values[j]+"</a></li> "}}r+=" </ul>";break;case"fontSize":r+=' <a class="btn btn-sm '+q+' dropdown-toggle" data-toggle="dropdown" title="'+p.title+'"><i class="'+p.icon+'"></i> <i class="icon-angle-down icon-on-right"></i></a> ';r+=' <ul class="dropdown-menu dropdown-light"> ';for(var t in p.values){if(p.values.hasOwnProperty(t)){r+=' <li><a data-edit="fontSize '+t+'"><font size="'+t+'">'+p.values[t]+"</font></a></li> "}}r+=" </ul> ";break;case"createLink":r+=' <div class="inline position-relative"> <a class="btn btn-sm '+q+' dropdown-toggle" data-toggle="dropdown" title="'+p.title+'"><i class="'+p.icon+'"></i></a> ';r+=' <div class="dropdown-menu dropdown-caret pull-right"> <div class="input-group"> <input class="form-control" placeholder="'+p.placeholder+'" type="text" data-edit="'+p.name+'" /> <span class="input-group-btn"> <button class="btn btn-sm '+p.button_class+'" type="button">'+p.button_text+"</button> </span> </div> </div> </div>";break;case"insertImage":r+=' <div class="inline position-relative"> <a class="btn btn-sm '+q+' dropdown-toggle" data-toggle="dropdown" title="'+p.title+'"><i class="'+p.icon+'"></i></a> ';r+=' <div class="dropdown-menu dropdown-caret pull-right"> <div class="input-group"> <input class="form-control" placeholder="'+p.placeholder+'" type="text" data-edit="'+p.name+'" /> <span class="input-group-btn"> <button class="btn btn-sm '+p.button_insert_class+'" type="button">'+p.button_insert+"</button> </span> </div>";if(p.choose_file&&"FileReader" in window){r+='<div class="space-2"></div> <div class="center"> <button class="btn btn-sm '+p.button_class+' wysiwyg-choose-file" type="button">'+p.button_text+'</button> <input type="file" data-edit="'+p.name+'" /> </div>'}r+=" </div> </div>";break;case"foreColor":case"backColor":r+=' <select class="hide wysiwyg_colorpicker" title="'+p.title+'"> ';for(var m in p.values){r+=' <option value="'+p.values[m]+'">'+p.values[m]+"</option> "}r+=" </select> ";r+=' <input style="display:none;" disabled class="hide" type="text" data-edit="'+p.name+'" /> ';break;case"viewSource":r+=' <a class="btn btn-sm '+q+'" data-view="source" title="'+p.title+'"><i class="'+p.icon+'"></i></a> ';break;default:r+=' <a class="btn btn-sm '+q+'" data-edit="'+p.name+'" title="'+p.title+'"><i class="'+p.icon+'"></i></a> ';break}}}r+=" </div> </div> ";if(d.toolbar_place){r=d.toolbar_place.call(this,r)}else{r=a(this).before(r).prev()}r.find("a[title]").tooltip({animation:false,container:"body"});r.find(".dropdown-menu input:not([type=file])").on(ace.click_event,function(){return false}).on("change",function(){a(this).closest(".dropdown-menu").siblings(".dropdown-toggle").dropdown("toggle")}).on("keydown",function(u){if(u.which==27){this.value="";a(this).change()}});r.find("input[type=file]").prev().on(ace.click_event,function(u){a(this).next().click()});r.find(".wysiwyg_colorpicker").each(function(){a(this).ace_colorpicker({pull_right:true}).change(function(){a(this).nextAll("input").eq(0).val(this.value).change()}).next().find(".btn-colorpicker").tooltip({title:this.title,animation:false,container:"body"})});var k;if(d.speech_button&&"onwebkitspeechchange" in (k=document.createElement("input"))){var i=a(this).offset();r.append(k);a(k).attr({type:"text","data-edit":"inserttext","x-webkit-speech":""}).addClass("wysiwyg-speech-input").css({position:"absolute"}).offset({top:i.top,left:i.left+a(this).innerWidth()-35})}else{k=null}var s=a(this);var l=false;r.find("a[data-view=source]").on("click",function(v){v.preventDefault();if(!l){a("<textarea />").css({width:s.outerWidth(),height:s.outerHeight()}).val(s.html()).insertAfter(s);s.hide();a(this).addClass("active")}else{var u=s.next();s.html(u.val()).show();u.remove();a(this).removeClass("active")}l=!l});var o=a.extend({},{activeToolbarClass:"active",toolbarSelector:r},d.wysiwyg||{});a(this).wysiwyg(o)});return this}})(window.jQuery);
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/js/ace-extra.min.js b/src/main/webapp/static/login/assets/js/ace-extra.min.js new file mode 100644 index 0000000..d5c9449 --- /dev/null +++ b/src/main/webapp/static/login/assets/js/ace-extra.min.js @@ -0,0 +1 @@ +if(!("ace" in window)){window.ace={}}ace.config={cookie_expiry:604800,storage_method:2};ace.settings={is:function(b,a){return(ace.data.get("settings",b+"-"+a)==1)},exists:function(b,a){return(ace.data.get("settings",b+"-"+a)!==null)},set:function(b,a){ace.data.set("settings",b+"-"+a,1)},unset:function(b,a){ace.data.set("settings",b+"-"+a,-1)},remove:function(b,a){ace.data.remove("settings",b+"-"+a)},navbar_fixed:function(a){a=a||false;if(!a&&ace.settings.is("sidebar","fixed")){ace.settings.sidebar_fixed(false)}var b=document.getElementById("navbar");if(a){if(!ace.hasClass(b,"navbar-fixed-top")){ace.addClass(b,"navbar-fixed-top")}if(!ace.hasClass(document.body,"navbar-fixed")){ace.addClass(document.body,"navbar-fixed")}ace.settings.set("navbar","fixed")}else{ace.removeClass(b,"navbar-fixed-top");ace.removeClass(document.body,"navbar-fixed");ace.settings.unset("navbar","fixed")}document.getElementById("ace-settings-navbar").checked=a},breadcrumbs_fixed:function(a){a=a||false;if(a&&!ace.settings.is("sidebar","fixed")){ace.settings.sidebar_fixed(true)}var b=document.getElementById("breadcrumbs");if(a){if(!ace.hasClass(b,"breadcrumbs-fixed")){ace.addClass(b,"breadcrumbs-fixed")}if(!ace.hasClass(document.body,"breadcrumbs-fixed")){ace.addClass(document.body,"breadcrumbs-fixed")}ace.settings.set("breadcrumbs","fixed")}else{ace.removeClass(b,"breadcrumbs-fixed");ace.removeClass(document.body,"breadcrumbs-fixed");ace.settings.unset("breadcrumbs","fixed")}document.getElementById("ace-settings-breadcrumbs").checked=a},sidebar_fixed:function(a){a=a||false;if(!a&&ace.settings.is("breadcrumbs","fixed")){ace.settings.breadcrumbs_fixed(false)}if(a&&!ace.settings.is("navbar","fixed")){ace.settings.navbar_fixed(true)}var b=document.getElementById("sidebar");if(a){if(!ace.hasClass(b,"sidebar-fixed")){ace.addClass(b,"sidebar-fixed")}ace.settings.set("sidebar","fixed")}else{ace.removeClass(b,"sidebar-fixed");ace.settings.unset("sidebar","fixed")}document.getElementById("ace-settings-sidebar").checked=a},main_container_fixed:function(a){a=a||false;var c=document.getElementById("main-container");var b=document.getElementById("navbar-container");if(a){if(!ace.hasClass(c,"container")){ace.addClass(c,"container")}if(!ace.hasClass(b,"container")){ace.addClass(b,"container")}ace.settings.set("main-container","fixed")}else{ace.removeClass(c,"container");ace.removeClass(b,"container");ace.settings.unset("main-container","fixed")}document.getElementById("ace-settings-add-container").checked=a;if(navigator.userAgent.match(/webkit/i)){var d=document.getElementById("sidebar");ace.toggleClass(d,"menu-min");setTimeout(function(){ace.toggleClass(d,"menu-min")},0)}},sidebar_collapsed:function(c){c=c||false;var e=document.getElementById("sidebar");var d=document.getElementById("sidebar-collapse").querySelector('[class*="icon-"]');var b=d.getAttribute("data-icon1");var a=d.getAttribute("data-icon2");if(c){ace.addClass(e,"menu-min");ace.removeClass(d,b);ace.addClass(d,a);ace.settings.set("sidebar","collapsed")}else{ace.removeClass(e,"menu-min");ace.removeClass(d,a);ace.addClass(d,b);ace.settings.unset("sidebar","collapsed")}},};ace.settings.check=function(c,e){if(!ace.settings.exists(c,e)){return}var a=ace.settings.is(c,e);var b={"navbar-fixed":"navbar-fixed-top","sidebar-fixed":"sidebar-fixed","breadcrumbs-fixed":"breadcrumbs-fixed","sidebar-collapsed":"menu-min","main-container-fixed":"container"};var d=document.getElementById(c);if(a!=ace.hasClass(d,b[c+"-"+e])){ace.settings[c.replace("-","_")+"_"+e](a)}};ace.data_storage=function(e,c){var b="ace.";var d=null;var a=0;if((e==1||e===c)&&"localStorage" in window&&window.localStorage!==null){d=ace.storage;a=1}else{if(d==null&&(e==2||e===c)&&"cookie" in document&&document.cookie!==null){d=ace.cookie;a=2}}this.set=function(h,g,i,k){if(!d){return}if(i===k){i=g;g=h;if(i==null){d.remove(b+g)}else{if(a==1){d.set(b+g,i)}else{if(a==2){d.set(b+g,i,ace.config.cookie_expiry)}}}}else{if(a==1){if(i==null){d.remove(b+h+"."+g)}else{d.set(b+h+"."+g,i)}}else{if(a==2){var j=d.get(b+h);var f=j?JSON.parse(j):{};if(i==null){delete f[g];if(ace.sizeof(f)==0){d.remove(b+h);return}}else{f[g]=i}d.set(b+h,JSON.stringify(f),ace.config.cookie_expiry)}}}};this.get=function(h,g,j){if(!d){return null}if(g===j){g=h;return d.get(b+g)}else{if(a==1){return d.get(b+h+"."+g)}else{if(a==2){var i=d.get(b+h);var f=i?JSON.parse(i):{};return g in f?f[g]:null}}}};this.remove=function(g,f,h){if(!d){return}if(f===h){f=g;this.set(f,null)}else{this.set(g,f,null)}}};ace.cookie={get:function(c){var d=document.cookie,g,f=c+"=",a;if(!d){return}a=d.indexOf("; "+f);if(a==-1){a=d.indexOf(f);if(a!=0){return null}}else{a+=2}g=d.indexOf(";",a);if(g==-1){g=d.length}return decodeURIComponent(d.substring(a+f.length,g))},set:function(b,e,a,g,c,f){var h=new Date();if(typeof(a)=="object"&&a.toGMTString){a=a.toGMTString()}else{if(parseInt(a,10)){h.setTime(h.getTime()+(parseInt(a,10)*1000));a=h.toGMTString()}else{a=""}}document.cookie=b+"="+encodeURIComponent(e)+((a)?"; expires="+a:"")+((g)?"; path="+g:"")+((c)?"; domain="+c:"")+((f)?"; secure":"")},remove:function(a,b){this.set(a,"",-1000,b)}};ace.storage={get:function(a){return window.localStorage.getItem(a)},set:function(a,b){window.localStorage.setItem(a,b)},remove:function(a){window.localStorage.removeItem(a)}};ace.sizeof=function(c){var b=0;for(var a in c){if(c.hasOwnProperty(a)){b++}}return b};ace.hasClass=function(b,a){return(" "+b.className+" ").indexOf(" "+a+" ")>-1};ace.addClass=function(c,b){if(!ace.hasClass(c,b)){var a=c.className;c.className=a+(a.length?" ":"")+b}};ace.removeClass=function(b,a){ace.replaceClass(b,a)};ace.replaceClass=function(c,b,d){var a=new RegExp(("(^|\\s)"+b+"(\\s|$)"),"i");c.className=c.className.replace(a,function(e,g,f){return d?(g+d+f):" "}).replace(/^\s+|\s+$/g,"")};ace.toggleClass=function(b,a){if(ace.hasClass(b,a)){ace.removeClass(b,a)}else{ace.addClass(b,a)}};ace.data=new ace.data_storage(ace.config.storage_method);
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/js/ace.min.js b/src/main/webapp/static/login/assets/js/ace.min.js new file mode 100644 index 0000000..f91a038 --- /dev/null +++ b/src/main/webapp/static/login/assets/js/ace.min.js @@ -0,0 +1 @@ +if(!("ace" in window)){window.ace={}}jQuery(function(a){window.ace.click_event=a.fn.tap?"tap":"click"});jQuery(function(a){ace.handle_side_menu(jQuery);ace.enable_search_ahead(jQuery);ace.general_things(jQuery);ace.widget_boxes(jQuery);ace.widget_reload_handler(jQuery)});ace.handle_side_menu=function(a){a("#menu-toggler").on(ace.click_event,function(){a("#sidebar").toggleClass("display");a(this).toggleClass("display");return false});var c=a("#sidebar").hasClass("menu-min");a("#sidebar-collapse").on(ace.click_event,function(){c=a("#sidebar").hasClass("menu-min");ace.settings.sidebar_collapsed(!c)});var b=navigator.userAgent.match(/OS (5|6|7)(_\d)+ like Mac OS X/i);a(".nav-list").on(ace.click_event,function(h){var g=a(h.target).closest("a");if(!g||g.length==0){return}c=a("#sidebar").hasClass("menu-min");if(!g.hasClass("dropdown-toggle")){if(c&&ace.click_event=="tap"&&g.get(0).parentNode.parentNode==this){var i=g.find(".menu-text").get(0);if(h.target!=i&&!a.contains(i,h.target)){return false}}if(b){document.location=g.attr("href");return false}return}var f=g.next().get(0);if(!a(f).is(":visible")){var d=a(f.parentNode).closest("ul");if(c&&d.hasClass("nav-list")){return}d.find("> .open > .submenu").each(function(){if(this!=f&&!a(this.parentNode).hasClass("active")){a(this).slideUp(200).parent().removeClass("open")}})}else{}if(c&&a(f.parentNode.parentNode).hasClass("nav-list")){return false}a(f).slideToggle(200).parent().toggleClass("open");return false})};ace.general_things=function(a){a('.ace-nav [class*="icon-animated-"]').closest("a").on("click",function(){var d=a(this).find('[class*="icon-animated-"]').eq(0);var c=d.attr("class").match(/icon\-animated\-([\d\w]+)/);d.removeClass(c[0]);a(this).off("click")});a(".nav-list .badge[title],.nav-list .label[title]").tooltip({placement:"right"});a("#ace-settings-btn").on(ace.click_event,function(){a(this).toggleClass("open");a("#ace-settings-box").toggleClass("open")});a("#ace-settings-navbar").on("click",function(){ace.settings.navbar_fixed(this.checked)}).each(function(){this.checked=ace.settings.is("navbar","fixed")});a("#ace-settings-sidebar").on("click",function(){ace.settings.sidebar_fixed(this.checked)}).each(function(){this.checked=ace.settings.is("sidebar","fixed")});a("#ace-settings-breadcrumbs").on("click",function(){ace.settings.breadcrumbs_fixed(this.checked)}).each(function(){this.checked=ace.settings.is("breadcrumbs","fixed")});a("#ace-settings-add-container").on("click",function(){ace.settings.main_container_fixed(this.checked)}).each(function(){this.checked=ace.settings.is("main-container","fixed")});a("#ace-settings-rtl").removeAttr("checked").on("click",function(){ace.switch_direction(jQuery)});a("#btn-scroll-up").on(ace.click_event,function(){var c=Math.min(400,Math.max(100,parseInt(a("html").scrollTop()/3)));a("html,body").animate({scrollTop:0},c);return false});try{a("#skin-colorpicker").ace_colorpicker()}catch(b){}a("#skin-colorpicker").on("change",function(){var d=a(this).find("option:selected").data("skin");var c=a(document.body);c.removeClass("skin-1 skin-2 skin-3");if(d!="default"){c.addClass(d)}if(d=="skin-1"){a(".ace-nav > li.grey").addClass("dark")}else{a(".ace-nav > li.grey").removeClass("dark")}if(d=="skin-2"){a(".ace-nav > li").addClass("no-border margin-1");a(".ace-nav > li:not(:last-child)").addClass("light-pink").find('> a > [class*="icon-"]').addClass("pink").end().eq(0).find(".badge").addClass("badge-warning")}else{a(".ace-nav > li").removeClass("no-border margin-1");a(".ace-nav > li:not(:last-child)").removeClass("light-pink").find('> a > [class*="icon-"]').removeClass("pink").end().eq(0).find(".badge").removeClass("badge-warning")}if(d=="skin-3"){a(".ace-nav > li.grey").addClass("red").find(".badge").addClass("badge-yellow")}else{a(".ace-nav > li.grey").removeClass("red").find(".badge").removeClass("badge-yellow")}})};ace.widget_boxes=function(a){a(document).on("hide.bs.collapse show.bs.collapse",function(c){var b=c.target.getAttribute("id");a('[href*="#'+b+'"]').find('[class*="icon-"]').each(function(){var e=a(this);var d;var f=null;var g=null;if((f=e.attr("data-icon-show"))){g=e.attr("data-icon-hide")}else{if(d=e.attr("class").match(/icon\-(.*)\-(up|down)/)){f="icon-"+d[1]+"-down";g="icon-"+d[1]+"-up"}}if(f){if(c.type=="show"){e.removeClass(f).addClass(g)}else{e.removeClass(g).addClass(f)}return false}})});a(document).on("click.ace.widget","[data-action]",function(o){o.preventDefault();var n=a(this);var p=n.data("action");var b=n.closest(".widget-box");if(b.hasClass("ui-sortable-helper")){return}if(p=="collapse"){var j=b.hasClass("collapsed")?"show":"hide";var f=j=="show"?"shown":"hidden";var c;b.trigger(c=a.Event(j+".ace.widget"));if(c.isDefaultPrevented()){return}var g=b.find(".widget-body");var m=n.find("[class*=icon-]").eq(0);var h=m.attr("class").match(/icon\-(.*)\-(up|down)/);var d="icon-"+h[1]+"-down";var i="icon-"+h[1]+"-up";var l=g.find(".widget-body-inner");if(l.length==0){g=g.wrapInner('<div class="widget-body-inner"></div>').find(":first-child").eq(0)}else{g=l.eq(0)}var e=300;var k=200;if(j=="show"){if(m){m.addClass(i).removeClass(d)}b.removeClass("collapsed");g.slideUp(0,function(){g.slideDown(e,function(){b.trigger(c=a.Event(f+".ace.widget"))})})}else{if(m){m.addClass(d).removeClass(i)}g.slideUp(k,function(){b.addClass("collapsed");b.trigger(c=a.Event(f+".ace.widget"))})}}else{if(p=="close"){var c;b.trigger(c=a.Event("close.ace.widget"));if(c.isDefaultPrevented()){return}var r=parseInt(n.data("close-speed"))||300;b.hide(r,function(){b.trigger(c=a.Event("closed.ace.widget"));b.remove()})}else{if(p=="reload"){var c;b.trigger(c=a.Event("reload.ace.widget"));if(c.isDefaultPrevented()){return}n.blur();var q=false;if(b.css("position")=="static"){q=true;b.addClass("position-relative")}b.append('<div class="widget-box-overlay"><i class="icon-spinner icon-spin icon-2x white"></i></div>');b.one("reloaded.ace.widget",function(){b.find(".widget-box-overlay").remove();if(q){b.removeClass("position-relative")}})}else{if(p=="settings"){var c=a.Event("settings.ace.widget");b.trigger(c)}}}}})};ace.widget_reload_handler=function(a){a(document).on("reload.ace.widget",".widget-box",function(b){var c=a(this);setTimeout(function(){c.trigger("reloaded.ace.widget")},parseInt(Math.random()*1000+1000))})};ace.enable_search_ahead=function(a){ace.variable_US_STATES=["Alabama","Alaska","Arizona","Arkansas","California","Colorado","Connecticut","Delaware","Florida","Georgia","Hawaii","Idaho","Illinois","Indiana","Iowa","Kansas","Kentucky","Louisiana","Maine","Maryland","Massachusetts","Michigan","Minnesota","Mississippi","Missouri","Montana","Nebraska","Nevada","New Hampshire","New Jersey","New Mexico","New York","North Dakota","North Carolina","Ohio","Oklahoma","Oregon","Pennsylvania","Rhode Island","South Carolina","South Dakota","Tennessee","Texas","Utah","Vermont","Virginia","Washington","West Virginia","Wisconsin","Wyoming"];try{a("#nav-search-input").typeahead({source:ace.variable_US_STATES,updater:function(c){a("#nav-search-input").focus();return c}})}catch(b){}};ace.switch_direction=function(d){var c=d(document.body);c.toggleClass("rtl").find(".dropdown-menu:not(.datepicker-dropdown,.colorpicker)").toggleClass("pull-right").end().find(".pull-right:not(.dropdown-menu,blockquote,.profile-skills .pull-right)").removeClass("pull-right").addClass("tmp-rtl-pull-right").end().find(".pull-left:not(.dropdown-submenu,.profile-skills .pull-left)").removeClass("pull-left").addClass("pull-right").end().find(".tmp-rtl-pull-right").removeClass("tmp-rtl-pull-right").addClass("pull-left").end().find(".chosen-container").toggleClass("chosen-rtl").end();function a(h,g){c.find("."+h).removeClass(h).addClass("tmp-rtl-"+h).end().find("."+g).removeClass(g).addClass(h).end().find(".tmp-rtl-"+h).removeClass("tmp-rtl-"+h).addClass(g)}function b(h,g,i){i.each(function(){var k=d(this);var j=k.css(g);k.css(g,k.css(h));k.css(h,j)})}a("align-left","align-right");a("no-padding-left","no-padding-right");a("arrowed","arrowed-right");a("arrowed-in","arrowed-in-right");a("messagebar-item-left","messagebar-item-right");var e=d("#piechart-placeholder");if(e.size()>0){var f=d(document.body).hasClass("rtl")?"nw":"ne";e.data("draw").call(e.get(0),e,e.data("chart"),f)}};
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/js/additional-methods.min.js b/src/main/webapp/static/login/assets/js/additional-methods.min.js new file mode 100644 index 0000000..0c5539a --- /dev/null +++ b/src/main/webapp/static/login/assets/js/additional-methods.min.js @@ -0,0 +1,2 @@ +/*! jQuery Validation Plugin - v1.11.1 - 3/22/2013\n* https://github.com/jzaefferer/jquery-validation +* Copyright (c) 2013 Jörn Zaefferer; Licensed MIT */(function(){function t(t){return t.replace(/<.[^<>]*?>/g," ").replace(/ | /gi," ").replace(/[.(),;:!?%#$'"_+=\/\-]*/g,"")}jQuery.validator.addMethod("maxWords",function(e,i,a){return this.optional(i)||a>=t(e).match(/\b\w+\b/g).length},jQuery.validator.format("Please enter {0} words or less.")),jQuery.validator.addMethod("minWords",function(e,i,a){return this.optional(i)||t(e).match(/\b\w+\b/g).length>=a},jQuery.validator.format("Please enter at least {0} words.")),jQuery.validator.addMethod("rangeWords",function(e,i,a){var r=t(e),n=/\b\w+\b/g;return this.optional(i)||r.match(n).length>=a[0]&&r.match(n).length<=a[1]},jQuery.validator.format("Please enter between {0} and {1} words."))})(),jQuery.validator.addMethod("letterswithbasicpunc",function(t,e){return this.optional(e)||/^[a-z\-.,()'"\s]+$/i.test(t)},"Letters or punctuation only please"),jQuery.validator.addMethod("alphanumeric",function(t,e){return this.optional(e)||/^\w+$/i.test(t)},"Letters, numbers, and underscores only please"),jQuery.validator.addMethod("lettersonly",function(t,e){return this.optional(e)||/^[a-z]+$/i.test(t)},"Letters only please"),jQuery.validator.addMethod("nowhitespace",function(t,e){return this.optional(e)||/^\S+$/i.test(t)},"No white space please"),jQuery.validator.addMethod("ziprange",function(t,e){return this.optional(e)||/^90[2-5]\d\{2\}-\d{4}$/.test(t)},"Your ZIP-code must be in the range 902xx-xxxx to 905-xx-xxxx"),jQuery.validator.addMethod("zipcodeUS",function(t,e){return this.optional(e)||/\d{5}-\d{4}$|^\d{5}$/.test(t)},"The specified US ZIP Code is invalid"),jQuery.validator.addMethod("integer",function(t,e){return this.optional(e)||/^-?\d+$/.test(t)},"A positive or negative non-decimal number please"),jQuery.validator.addMethod("vinUS",function(t){if(17!==t.length)return!1;var e,i,a,r,n,s,u=["A","B","C","D","E","F","G","H","J","K","L","M","N","P","R","S","T","U","V","W","X","Y","Z"],d=[1,2,3,4,5,6,7,8,1,2,3,4,5,7,9,2,3,4,5,6,7,8,9],o=[8,7,6,5,4,3,2,10,0,9,8,7,6,5,4,3,2],l=0;for(e=0;17>e;e++){if(r=o[e],a=t.slice(e,e+1),8===e&&(s=a),isNaN(a)){for(i=0;u.length>i;i++)if(a.toUpperCase()===u[i]){a=d[i],a*=r,isNaN(s)&&8===i&&(s=u[i]);break}}else a*=r;l+=a}return n=l%11,10===n&&(n="X"),n===s?!0:!1},"The specified vehicle identification number (VIN) is invalid."),jQuery.validator.addMethod("dateITA",function(t,e){var i=!1,a=/^\d{1,2}\/\d{1,2}\/\d{4}$/;if(a.test(t)){var r=t.split("/"),n=parseInt(r[0],10),s=parseInt(r[1],10),u=parseInt(r[2],10),d=new Date(u,s-1,n);i=d.getFullYear()===u&&d.getMonth()===s-1&&d.getDate()===n?!0:!1}else i=!1;return this.optional(e)||i},"Please enter a correct date"),jQuery.validator.addMethod("iban",function(t,e){if(this.optional(e))return!0;if(!/^([a-zA-Z0-9]{4} ){2,8}[a-zA-Z0-9]{1,4}|[a-zA-Z0-9]{12,34}$/.test(t))return!1;var i=t.replace(/ /g,"").toUpperCase(),a=i.substring(0,2),r={AL:"\\d{8}[\\dA-Z]{16}",AD:"\\d{8}[\\dA-Z]{12}",AT:"\\d{16}",AZ:"[\\dA-Z]{4}\\d{20}",BE:"\\d{12}",BH:"[A-Z]{4}[\\dA-Z]{14}",BA:"\\d{16}",BR:"\\d{23}[A-Z][\\dA-Z]",BG:"[A-Z]{4}\\d{6}[\\dA-Z]{8}",CR:"\\d{17}",HR:"\\d{17}",CY:"\\d{8}[\\dA-Z]{16}",CZ:"\\d{20}",DK:"\\d{14}",DO:"[A-Z]{4}\\d{20}",EE:"\\d{16}",FO:"\\d{14}",FI:"\\d{14}",FR:"\\d{10}[\\dA-Z]{11}\\d{2}",GE:"[\\dA-Z]{2}\\d{16}",DE:"\\d{18}",GI:"[A-Z]{4}[\\dA-Z]{15}",GR:"\\d{7}[\\dA-Z]{16}",GL:"\\d{14}",GT:"[\\dA-Z]{4}[\\dA-Z]{20}",HU:"\\d{24}",IS:"\\d{22}",IE:"[\\dA-Z]{4}\\d{14}",IL:"\\d{19}",IT:"[A-Z]\\d{10}[\\dA-Z]{12}",KZ:"\\d{3}[\\dA-Z]{13}",KW:"[A-Z]{4}[\\dA-Z]{22}",LV:"[A-Z]{4}[\\dA-Z]{13}",LB:"\\d{4}[\\dA-Z]{20}",LI:"\\d{5}[\\dA-Z]{12}",LT:"\\d{16}",LU:"\\d{3}[\\dA-Z]{13}",MK:"\\d{3}[\\dA-Z]{10}\\d{2}",MT:"[A-Z]{4}\\d{5}[\\dA-Z]{18}",MR:"\\d{23}",MU:"[A-Z]{4}\\d{19}[A-Z]{3}",MC:"\\d{10}[\\dA-Z]{11}\\d{2}",MD:"[\\dA-Z]{2}\\d{18}",ME:"\\d{18}",NL:"[A-Z]{4}\\d{10}",NO:"\\d{11}",PK:"[\\dA-Z]{4}\\d{16}",PS:"[\\dA-Z]{4}\\d{21}",PL:"\\d{24}",PT:"\\d{21}",RO:"[A-Z]{4}[\\dA-Z]{16}",SM:"[A-Z]\\d{10}[\\dA-Z]{12}",SA:"\\d{2}[\\dA-Z]{18}",RS:"\\d{18}",SK:"\\d{20}",SI:"\\d{15}",ES:"\\d{20}",SE:"\\d{20}",CH:"\\d{5}[\\dA-Z]{12}",TN:"\\d{20}",TR:"\\d{5}[\\dA-Z]{17}",AE:"\\d{3}\\d{16}",GB:"[A-Z]{4}\\d{14}",VG:"[\\dA-Z]{4}\\d{16}"},n=r[a];if(n!==void 0){var s=RegExp("^[A-Z]{2}\\d{2}"+n+"$","");if(!s.test(i))return!1}for(var u,d=i.substring(4,i.length)+i.substring(0,4),o="",l=!0,h=0;d.length>h;h++)u=d.charAt(h),"0"!==u&&(l=!1),l||(o+="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ".indexOf(u));for(var F="",c="",m=0;o.length>m;m++){var f=o.charAt(m);c=""+F+f,F=c%97}return 1===F},"Please specify a valid IBAN"),jQuery.validator.addMethod("dateNL",function(t,e){return this.optional(e)||/^(0?[1-9]|[12]\d|3[01])[\.\/\-](0?[1-9]|1[012])[\.\/\-]([12]\d)?(\d\d)$/.test(t)},"Please enter a correct date"),jQuery.validator.addMethod("phoneNL",function(t,e){return this.optional(e)||/^((\+|00(\s|\s?\-\s?)?)31(\s|\s?\-\s?)?(\(0\)[\-\s]?)?|0)[1-9]((\s|\s?\-\s?)?[0-9]){8}$/.test(t)},"Please specify a valid phone number."),jQuery.validator.addMethod("mobileNL",function(t,e){return this.optional(e)||/^((\+|00(\s|\s?\-\s?)?)31(\s|\s?\-\s?)?(\(0\)[\-\s]?)?|0)6((\s|\s?\-\s?)?[0-9]){8}$/.test(t)},"Please specify a valid mobile number"),jQuery.validator.addMethod("postalcodeNL",function(t,e){return this.optional(e)||/^[1-9][0-9]{3}\s?[a-zA-Z]{2}$/.test(t)},"Please specify a valid postal code"),jQuery.validator.addMethod("bankaccountNL",function(t,e){if(this.optional(e))return!0;if(!/^[0-9]{9}|([0-9]{2} ){3}[0-9]{3}$/.test(t))return!1;for(var i=t.replace(/ /g,""),a=0,r=i.length,n=0;r>n;n++){var s=r-n,u=i.substring(n,n+1);a+=s*u}return 0===a%11},"Please specify a valid bank account number"),jQuery.validator.addMethod("giroaccountNL",function(t,e){return this.optional(e)||/^[0-9]{1,7}$/.test(t)},"Please specify a valid giro account number"),jQuery.validator.addMethod("bankorgiroaccountNL",function(t,e){return this.optional(e)||$.validator.methods.bankaccountNL.call(this,t,e)||$.validator.methods.giroaccountNL.call(this,t,e)},"Please specify a valid bank or giro account number"),jQuery.validator.addMethod("time",function(t,e){return this.optional(e)||/^([01]\d|2[0-3])(:[0-5]\d){1,2}$/.test(t)},"Please enter a valid time, between 00:00 and 23:59"),jQuery.validator.addMethod("time12h",function(t,e){return this.optional(e)||/^((0?[1-9]|1[012])(:[0-5]\d){1,2}(\ ?[AP]M))$/i.test(t)},"Please enter a valid time in 12-hour am/pm format"),jQuery.validator.addMethod("phoneUS",function(t,e){return t=t.replace(/\s+/g,""),this.optional(e)||t.length>9&&t.match(/^(\+?1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/)},"Please specify a valid phone number"),jQuery.validator.addMethod("phoneUK",function(t,e){return t=t.replace(/\(|\)|\s+|-/g,""),this.optional(e)||t.length>9&&t.match(/^(?:(?:(?:00\s?|\+)44\s?)|(?:\(?0))(?:\d{2}\)?\s?\d{4}\s?\d{4}|\d{3}\)?\s?\d{3}\s?\d{3,4}|\d{4}\)?\s?(?:\d{5}|\d{3}\s?\d{3})|\d{5}\)?\s?\d{4,5})$/)},"Please specify a valid phone number"),jQuery.validator.addMethod("mobileUK",function(t,e){return t=t.replace(/\(|\)|\s+|-/g,""),this.optional(e)||t.length>9&&t.match(/^(?:(?:(?:00\s?|\+)44\s?|0)7(?:[45789]\d{2}|624)\s?\d{3}\s?\d{3})$/)},"Please specify a valid mobile number"),jQuery.validator.addMethod("phonesUK",function(t,e){return t=t.replace(/\(|\)|\s+|-/g,""),this.optional(e)||t.length>9&&t.match(/^(?:(?:(?:00\s?|\+)44\s?|0)(?:1\d{8,9}|[23]\d{9}|7(?:[45789]\d{8}|624\d{6})))$/)},"Please specify a valid uk phone number"),jQuery.validator.addMethod("postcodeUK",function(t,e){return this.optional(e)||/^((([A-PR-UWYZ][0-9])|([A-PR-UWYZ][0-9][0-9])|([A-PR-UWYZ][A-HK-Y][0-9])|([A-PR-UWYZ][A-HK-Y][0-9][0-9])|([A-PR-UWYZ][0-9][A-HJKSTUW])|([A-PR-UWYZ][A-HK-Y][0-9][ABEHMNPRVWXY]))\s?([0-9][ABD-HJLNP-UW-Z]{2})|(GIR)\s?(0AA))$/i.test(t)},"Please specify a valid UK postcode"),jQuery.validator.addMethod("strippedminlength",function(t,e,i){return jQuery(t).text().length>=i},jQuery.validator.format("Please enter at least {0} characters")),jQuery.validator.addMethod("email2",function(t,e){return this.optional(e)||/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)*(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(t)},jQuery.validator.messages.email),jQuery.validator.addMethod("url2",function(t,e){return this.optional(e)||/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)*(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(t)},jQuery.validator.messages.url),jQuery.validator.addMethod("creditcardtypes",function(t,e,i){if(/[^0-9\-]+/.test(t))return!1;t=t.replace(/\D/g,"");var a=0;return i.mastercard&&(a|=1),i.visa&&(a|=2),i.amex&&(a|=4),i.dinersclub&&(a|=8),i.enroute&&(a|=16),i.discover&&(a|=32),i.jcb&&(a|=64),i.unknown&&(a|=128),i.all&&(a=255),1&a&&/^(5[12345])/.test(t)?16===t.length:2&a&&/^(4)/.test(t)?16===t.length:4&a&&/^(3[47])/.test(t)?15===t.length:8&a&&/^(3(0[012345]|[68]))/.test(t)?14===t.length:16&a&&/^(2(014|149))/.test(t)?15===t.length:32&a&&/^(6011)/.test(t)?16===t.length:64&a&&/^(3)/.test(t)?16===t.length:64&a&&/^(2131|1800)/.test(t)?15===t.length:128&a?!0:!1},"Please enter a valid credit card number."),jQuery.validator.addMethod("ipv4",function(t,e){return this.optional(e)||/^(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)$/i.test(t)},"Please enter a valid IP v4 address."),jQuery.validator.addMethod("ipv6",function(t,e){return this.optional(e)||/^((([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(([0-9A-Fa-f]{1,4}:){0,5}:((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(::([0-9A-Fa-f]{1,4}:){0,5}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))$/i.test(t)},"Please enter a valid IP v6 address."),jQuery.validator.addMethod("pattern",function(t,e,i){return this.optional(e)?!0:("string"==typeof i&&(i=RegExp("^(?:"+i+")$")),i.test(t))},"Invalid format."),jQuery.validator.addMethod("require_from_group",function(t,e,i){var a=this,r=i[1],n=$(r,e.form).filter(function(){return a.elementValue(this)}).length>=i[0];if(!$(e).data("being_validated")){var s=$(r,e.form);s.data("being_validated",!0),s.valid(),s.data("being_validated",!1)}return n},jQuery.format("Please fill at least {0} of these fields.")),jQuery.validator.addMethod("skip_or_fill_minimum",function(t,e,i){var a=this,r=i[0],n=i[1],s=$(n,e.form).filter(function(){return a.elementValue(this)}).length,u=s>=r||0===s;if(!$(e).data("being_validated")){var d=$(n,e.form);d.data("being_validated",!0),d.valid(),d.data("being_validated",!1)}return u},jQuery.format("Please either skip these fields or fill at least {0} of them.")),jQuery.validator.addMethod("accept",function(t,e,i){var a,r,n="string"==typeof i?i.replace(/\s/g,"").replace(/,/g,"|"):"image/*",s=this.optional(e);if(s)return s;if("file"===$(e).attr("type")&&(n=n.replace(/\*/g,".*"),e.files&&e.files.length))for(a=0;e.files.length>a;a++)if(r=e.files[a],!r.type.match(RegExp(".?("+n+")$","i")))return!1;return!0},jQuery.format("Please enter a value with a valid mimetype.")),jQuery.validator.addMethod("extension",function(t,e,i){return i="string"==typeof i?i.replace(/,/g,"|"):"png|jpe?g|gif",this.optional(e)||t.match(RegExp(".("+i+")$","i"))},jQuery.format("Please enter a value with a valid extension."));
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/js/bootbox.min.js b/src/main/webapp/static/login/assets/js/bootbox.min.js new file mode 100644 index 0000000..bd1d368 --- /dev/null +++ b/src/main/webapp/static/login/assets/js/bootbox.min.js @@ -0,0 +1,6 @@ +/** + * bootbox.js v4.0.0 + * + * http://bootboxjs.com/license.txt + */ +window.bootbox=window.bootbox||function a(b,c){"use strict";function d(a){var b=s[q.locale];return b?b[a]:s.en[a]}function e(a,c,d){a.preventDefault();var e=b.isFunction(d)&&d(a)===!1;e||c.modal("hide")}function f(a){var b,c=0;for(b in a)c++;return c}function g(a,c){var d=0;b.each(a,function(a,b){c(a,b,d++)})}function h(a){var c,d;if("object"!=typeof a)throw new Error("Please supply an object of options");if(!a.message)throw new Error("Please specify a message");return a=b.extend({},q,a),a.buttons||(a.buttons={}),a.backdrop=a.backdrop?"static":!1,c=a.buttons,d=f(c),g(c,function(a,e,f){if(b.isFunction(e)&&(e=c[a]={callback:e}),"object"!==b.type(e))throw new Error("button with key "+a+" must be an object");e.label||(e.label=a),e.className||(e.className=2>=d&&f===d-1?"btn-primary":"btn-default")}),a}function i(a,b){var c=a.length,d={};if(1>c||c>2)throw new Error("Invalid argument length");return 2===c||"string"==typeof a[0]?(d[b[0]]=a[0],d[b[1]]=a[1]):d=a[0],d}function j(a,c,d){return b.extend(!0,{},a,i(c,d))}function k(a,b,c){return n(j(m.apply(null,a),b,c),a)}function l(){for(var a={},b=0,c=arguments.length;c>b;b++){var e=arguments[b],f=e.toLowerCase(),g=e.toUpperCase();a[f]={label:d(g)}}return a}function m(){return{buttons:l.apply(null,arguments)}}function n(a,b){var d={};return g(b,function(a,b){d[b]=!0}),g(a.buttons,function(a){if(d[a]===c)throw new Error("button key "+a+" is not allowed (options are "+b.join("\n")+")")}),a}var o={dialog:"<div class='bootbox modal' tabindex='-1' role='dialog'><div class='modal-dialog'><div class='modal-content'><div class='modal-body'><div class='bootbox-body'></div></div></div></div></div>",header:"<div class='modal-header'><h4 class='modal-title'></h4></div>",footer:"<div class='modal-footer'></div>",closeButton:"<button type='button' class='bootbox-close-button close'>×</button>",form:"<form class='bootbox-form'></form>",inputs:{text:"<input class='bootbox-input form-control' autocomplete=off type=text />"}},p=b("body"),q={locale:"en",backdrop:!0,animate:!0,className:null,closeButton:!0,show:!0},r={};r.alert=function(){var a;if(a=k(["ok"],arguments,["message","callback"]),a.callback&&!b.isFunction(a.callback))throw new Error("alert requires callback property to be a function when provided");return a.buttons.ok.callback=a.onEscape=function(){return b.isFunction(a.callback)?a.callback():!0},r.dialog(a)},r.confirm=function(){var a;if(a=k(["cancel","confirm"],arguments,["message","callback"]),a.buttons.cancel.callback=a.onEscape=function(){return a.callback(!1)},a.buttons.confirm.callback=function(){return a.callback(!0)},!b.isFunction(a.callback))throw new Error("confirm requires a callback");return r.dialog(a)},r.prompt=function(){var a,d,e,f,g,h;if(f=b(o.form),d={buttons:l("cancel","confirm"),value:""},a=n(j(d,arguments,["title","callback"]),["cancel","confirm"]),h=a.show===c?!0:a.show,a.message=f,a.buttons.cancel.callback=a.onEscape=function(){return a.callback(null)},a.buttons.confirm.callback=function(){return a.callback(g.val())},a.show=!1,!a.title)throw new Error("prompt requires a title");if(!b.isFunction(a.callback))throw new Error("prompt requires a callback");return g=b(o.inputs.text),g.val(a.value),f.append(g),f.on("submit",function(a){a.preventDefault(),e.find(".btn-primary").click()}),e=r.dialog(a),e.off("shown.bs.modal"),e.on("shown.bs.modal",function(){g.focus()}),h===!0&&e.modal("show"),e},r.dialog=function(a){a=h(a);var c=b(o.dialog),d=c.find(".modal-body"),f=a.buttons,i="",j={onEscape:a.onEscape};if(g(f,function(a,b){i+="<button data-bb-handler='"+a+"' type='button' class='btn "+b.className+"'>"+b.label+"</button>",j[a]=b.callback}),d.find(".bootbox-body").html(a.message),a.animate===!0&&c.addClass("fade"),a.className&&c.addClass(a.className),a.title&&d.before(o.header),a.closeButton){var k=b(o.closeButton);a.title?c.find(".modal-header").prepend(k):k.css("margin-top","-10px").prependTo(d)}return a.title&&c.find(".modal-title").html(a.title),i.length&&(d.after(o.footer),c.find(".modal-footer").html(i)),c.on("hidden.bs.modal",function(a){a.target===this&&c.remove()}),c.on("shown.bs.modal",function(){c.find(".btn-primary:first").focus()}),c.on("escape.close.bb",function(a){j.onEscape&&e(a,c,j.onEscape)}),c.on("click",".modal-footer button",function(a){var d=b(this).data("bb-handler");e(a,c,j[d])}),c.on("click",".bootbox-close-button",function(a){e(a,c,j.onEscape)}),c.on("keyup",function(a){27===a.which&&c.trigger("escape.close.bb")}),p.append(c),c.modal({backdrop:a.backdrop,keyboard:!1,show:!1}),a.show&&c.modal("show"),c},r.setDefaults=function(a){b.extend(q,a)},r.hideAll=function(){b(".bootbox").modal("hide")};var s={br:{OK:"OK",CANCEL:"Cancelar",CONFIRM:"Sim"},da:{OK:"OK",CANCEL:"Annuller",CONFIRM:"Accepter"},de:{OK:"OK",CANCEL:"Abbrechen",CONFIRM:"Akzeptieren"},en:{OK:"OK",CANCEL:"Cancel",CONFIRM:"OK"},es:{OK:"OK",CANCEL:"Cancelar",CONFIRM:"Aceptar"},fi:{OK:"OK",CANCEL:"Peruuta",CONFIRM:"OK"},fr:{OK:"OK",CANCEL:"Annuler",CONFIRM:"D'accord"},it:{OK:"OK",CANCEL:"Annulla",CONFIRM:"Conferma"},nl:{OK:"OK",CANCEL:"Annuleren",CONFIRM:"Accepteren"},pl:{OK:"OK",CANCEL:"Anuluj",CONFIRM:"Potwierdź"},ru:{OK:"OK",CANCEL:"Отмена",CONFIRM:"Применить"},zh_CN:{OK:"OK",CANCEL:"取消",CONFIRM:"确认"},zh_TW:{OK:"OK",CANCEL:"取消",CONFIRM:"確認"}};return r.init=function(c){window.bootbox=a(c||b)},r}(window.jQuery);
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/js/bootstrap-colorpicker.min.js b/src/main/webapp/static/login/assets/js/bootstrap-colorpicker.min.js new file mode 100644 index 0000000..fa2bf2e --- /dev/null +++ b/src/main/webapp/static/login/assets/js/bootstrap-colorpicker.min.js @@ -0,0 +1,19 @@ +/* =========================================================
+ * bootstrap-colorpicker.js
+ * http://www.eyecon.ro/bootstrap-colorpicker
+ * =========================================================
+ * Copyright 2012 Stefan Petre
+ *
+ * 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.
+ * ========================================================= */
+!function($){var Color=function(val){this.value={h:1,s:1,b:1,a:1};this.setColor(val)};Color.prototype={constructor:Color,setColor:function(val){val=val.toLowerCase();var that=this;$.each(CPGlobal.stringParsers,function(i,parser){var match=parser.re.exec(val),values=match&&parser.parse(match),space=parser.space||"rgba";if(values){if(space==="hsla"){that.value=CPGlobal.RGBtoHSB.apply(null,CPGlobal.HSLtoRGB.apply(null,values))}else{that.value=CPGlobal.RGBtoHSB.apply(null,values)}return false}})},setHue:function(h){this.value.h=1-h},setSaturation:function(s){this.value.s=s},setLightness:function(b){this.value.b=1-b},setAlpha:function(a){this.value.a=parseInt((1-a)*100,10)/100},toRGB:function(h,s,b,a){if(!h){h=this.value.h;s=this.value.s;b=this.value.b}h*=360;var R,G,B,X,C;h=h%360/60;C=b*s;X=C*(1-Math.abs(h%2-1));R=G=B=b-C;h=~~h;R+=[C,X,0,0,X,C][h];G+=[X,C,C,X,0,0][h];B+=[0,0,X,C,C,X][h];return{r:Math.round(R*255),g:Math.round(G*255),b:Math.round(B*255),a:a||this.value.a}},toHex:function(h,s,b,a){var rgb=this.toRGB(h,s,b,a);return"#"+(1<<24|parseInt(rgb.r)<<16|parseInt(rgb.g)<<8|parseInt(rgb.b)).toString(16).substr(1)},toHSL:function(h,s,b,a){if(!h){h=this.value.h;s=this.value.s;b=this.value.b}var H=h,L=(2-s)*b,S=s*b;if(L>0&&L<=1){S/=L}else{S/=2-L}L/=2;if(S>1){S=1}return{h:H,s:S,l:L,a:a||this.value.a}}};var Colorpicker=function(element,options){this.element=$(element);var format=options.format||this.element.data("color-format")||"hex";this.format=CPGlobal.translateFormats[format];this.isInput=this.element.is("input");this.component=this.element.is(".color")?this.element.find(".add-on"):false;this.picker=$(CPGlobal.template).appendTo("body").on("mousedown",$.proxy(this.mousedown,this));if(this.isInput){this.element.on({focus:$.proxy(this.show,this),keyup:$.proxy(this.update,this)})}else if(this.component){this.component.on({click:$.proxy(this.show,this)})}else{this.element.on({click:$.proxy(this.show,this)})}if(format==="rgba"||format==="hsla"){this.picker.addClass("alpha");this.alpha=this.picker.find(".colorpicker-alpha")[0].style}if(this.component){this.picker.find(".colorpicker-color").hide();this.preview=this.element.find("i")[0].style}else{this.preview=this.picker.find("div:last")[0].style}this.base=this.picker.find("div:first")[0].style;this.update()};Colorpicker.prototype={constructor:Colorpicker,show:function(e){this.picker.show();this.height=this.component?this.component.outerHeight():this.element.outerHeight();this.place();$(window).on("resize",$.proxy(this.place,this));if(!this.isInput){if(e){e.stopPropagation();e.preventDefault()}}$(document).on({mousedown:$.proxy(this.hide,this)});this.element.trigger({type:"show",color:this.color})},update:function(){this.color=new Color(this.isInput?this.element.prop("value"):this.element.data("color"));this.picker.find("i").eq(0).css({left:this.color.value.s*100,top:100-this.color.value.b*100}).end().eq(1).css("top",100*(1-this.color.value.h)).end().eq(2).css("top",100*(1-this.color.value.a));this.previewColor()},setValue:function(newColor){this.color=new Color(newColor);this.picker.find("i").eq(0).css({left:this.color.value.s*100,top:100-this.color.value.b*100}).end().eq(1).css("top",100*(1-this.color.value.h)).end().eq(2).css("top",100*(1-this.color.value.a));this.previewColor();this.element.trigger({type:"changeColor",color:this.color})},hide:function(){this.picker.hide();$(window).off("resize",this.place);if(!this.isInput){$(document).off({mousedown:this.hide});if(this.component){this.element.find("input").prop("value",this.format.call(this))}this.element.data("color",this.format.call(this))}else{this.element.prop("value",this.format.call(this))}this.element.trigger({type:"hide",color:this.color})},place:function(){var offset=this.component?this.component.offset():this.element.offset();this.picker.css({top:offset.top+this.height,left:offset.left})},previewColor:function(){try{this.preview.backgroundColor=this.format.call(this)}catch(e){this.preview.backgroundColor=this.color.toHex()}this.base.backgroundColor=this.color.toHex(this.color.value.h,1,1,1);if(this.alpha){this.alpha.backgroundColor=this.color.toHex()}},pointer:null,slider:null,mousedown:function(e){e.stopPropagation();e.preventDefault();var target=$(e.target);var zone=target.closest("div");if(!zone.is(".colorpicker")){if(zone.is(".colorpicker-saturation")){this.slider=$.extend({},CPGlobal.sliders.saturation)}else if(zone.is(".colorpicker-hue")){this.slider=$.extend({},CPGlobal.sliders.hue)}else if(zone.is(".colorpicker-alpha")){this.slider=$.extend({},CPGlobal.sliders.alpha)}else{return false}var offset=zone.offset();this.slider.knob=zone.find("i")[0].style;this.slider.left=e.pageX-offset.left;this.slider.top=e.pageY-offset.top;this.pointer={left:e.pageX,top:e.pageY};$(document).on({mousemove:$.proxy(this.mousemove,this),mouseup:$.proxy(this.mouseup,this)}).trigger("mousemove")}return false},mousemove:function(e){e.stopPropagation();e.preventDefault();var left=Math.max(0,Math.min(this.slider.maxLeft,this.slider.left+((e.pageX||this.pointer.left)-this.pointer.left)));var top=Math.max(0,Math.min(this.slider.maxTop,this.slider.top+((e.pageY||this.pointer.top)-this.pointer.top)));this.slider.knob.left=left+"px";this.slider.knob.top=top+"px";if(this.slider.callLeft){this.color[this.slider.callLeft].call(this.color,left/100)}if(this.slider.callTop){this.color[this.slider.callTop].call(this.color,top/100)}this.previewColor();this.element.trigger({type:"changeColor",color:this.color});return false},mouseup:function(e){e.stopPropagation();e.preventDefault();$(document).off({mousemove:this.mousemove,mouseup:this.mouseup});return false}};$.fn.colorpicker=function(option,val){return this.each(function(){var $this=$(this),data=$this.data("colorpicker"),options=typeof option==="object"&&option;if(!data){$this.data("colorpicker",data=new Colorpicker(this,$.extend({},$.fn.colorpicker.defaults,options)))}if(typeof option==="string")data[option](val)})};$.fn.colorpicker.defaults={};$.fn.colorpicker.Constructor=Colorpicker;var CPGlobal={translateFormats:{rgb:function(){var rgb=this.color.toRGB();return"rgb("+rgb.r+","+rgb.g+","+rgb.b+")"},rgba:function(){var rgb=this.color.toRGB();return"rgba("+rgb.r+","+rgb.g+","+rgb.b+","+rgb.a+")"},hsl:function(){var hsl=this.color.toHSL();return"hsl("+Math.round(hsl.h*360)+","+Math.round(hsl.s*100)+"%,"+Math.round(hsl.l*100)+"%)"},hsla:function(){var hsl=this.color.toHSL();return"hsla("+Math.round(hsl.h*360)+","+Math.round(hsl.s*100)+"%,"+Math.round(hsl.l*100)+"%,"+hsl.a+")"},hex:function(){return this.color.toHex()}},sliders:{saturation:{maxLeft:100,maxTop:100,callLeft:"setSaturation",callTop:"setLightness"},hue:{maxLeft:0,maxTop:100,callLeft:false,callTop:"setHue"},alpha:{maxLeft:0,maxTop:100,callLeft:false,callTop:"setAlpha"}},RGBtoHSB:function(r,g,b,a){r/=255;g/=255;b/=255;var H,S,V,C;V=Math.max(r,g,b);C=V-Math.min(r,g,b);H=C===0?null:V==r?(g-b)/C:V==g?(b-r)/C+2:(r-g)/C+4;H=(H+360)%6*60/360;S=C===0?0:C/V;return{h:H||1,s:S,b:V,a:a||1}},HueToRGB:function(p,q,h){if(h<0)h+=1;else if(h>1)h-=1;if(h*6<1)return p+(q-p)*h*6;else if(h*2<1)return q;else if(h*3<2)return p+(q-p)*(2/3-h)*6;else return p},HSLtoRGB:function(h,s,l,a){if(s<0){s=0}var q;if(l<=.5){q=l*(1+s)}else{q=l+s-l*s}var p=2*l-q;var tr=h+1/3;var tg=h;var tb=h-1/3;var r=Math.round(CPGlobal.HueToRGB(p,q,tr)*255);var g=Math.round(CPGlobal.HueToRGB(p,q,tg)*255);var b=Math.round(CPGlobal.HueToRGB(p,q,tb)*255);return[r,g,b,a||1]},stringParsers:[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/,parse:function(execResult){return[execResult[1],execResult[2],execResult[3],execResult[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/,parse:function(execResult){return[2.55*execResult[1],2.55*execResult[2],2.55*execResult[3],execResult[4]]}},{re:/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,parse:function(execResult){return[parseInt(execResult[1],16),parseInt(execResult[2],16),parseInt(execResult[3],16)]}},{re:/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/,parse:function(execResult){return[parseInt(execResult[1]+execResult[1],16),parseInt(execResult[2]+execResult[2],16),parseInt(execResult[3]+execResult[3],16)]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function(execResult){return[execResult[1]/360,execResult[2]/100,execResult[3]/100,execResult[4]]}}],template:'<div class="colorpicker dropdown-menu">'+'<div class="colorpicker-saturation"><i><b></b></i></div>'+'<div class="colorpicker-hue"><i></i></div>'+'<div class="colorpicker-alpha"><i></i></div>'+'<div class="colorpicker-color"><div /></div>'+"</div>"}}(window.jQuery);
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/js/bootstrap-tag.min.js b/src/main/webapp/static/login/assets/js/bootstrap-tag.min.js new file mode 100644 index 0000000..1dc7fc6 --- /dev/null +++ b/src/main/webapp/static/login/assets/js/bootstrap-tag.min.js @@ -0,0 +1 @@ +!function(c){var b=function(e,d){this.element=c(e);this.options=c.extend(true,{},c.fn.tag.defaults,d);this.values=c.grep(c.map(this.element.val().split(","),c.trim),function(f){return f.length>0});this.show()};b.prototype={constructor:b,show:function(){var d=this;d.element.parent().prepend(d.element.detach().hide());d.element.wrap(c('<div class="tags">')).parent().on("click",function(){d.input.focus()});if(d.values.length){c.each(d.values,function(){d.createBadge(this)})}d.input=c('<input type="text">').attr("placeholder",d.options.placeholder).insertAfter(d.element).on("focus",function(){d.element.parent().addClass("tags-hover")}).on("blur",function(){if(!d.skip){d.process();d.element.parent().removeClass("tags-hover");d.element.siblings(".tag").removeClass("tag-important")}d.skip=false}).on("keydown",function(g){if(g.keyCode==188||g.keyCode==13||g.keyCode==9){if(c.trim(c(this).val())&&(!d.element.siblings(".typeahead").length||d.element.siblings(".typeahead").is(":hidden"))){if(g.keyCode!=9){g.preventDefault()}d.process()}else{if(g.keyCode==188){if(!d.element.siblings(".typeahead").length||d.element.siblings(".typeahead").is(":hidden")){g.preventDefault()}else{d.input.data("typeahead").select();g.stopPropagation();g.preventDefault()}}}}else{if(!c.trim(c(this).val())&&g.keyCode==8){var f=d.element.siblings(".tag").length;if(f){var e=d.element.siblings(".tag:eq("+(f-1)+")");if(e.hasClass("tag-important")){d.remove(f-1)}else{e.addClass("tag-important")}}}else{d.element.siblings(".tag").removeClass("tag-important")}}}).typeahead({source:d.options.source,matcher:function(e){return ~e.toLowerCase().indexOf(this.query.toLowerCase())&&(d.inValues(e)==-1||d.options.allowDuplicates)},updater:c.proxy(d.add,d)});c(d.input.data("typeahead").$menu).on("mousedown",function(){d.skip=true});this.element.trigger("shown")},inValues:function(e){if(this.options.caseInsensitive){var d=-1;c.each(this.values,function(f,g){if(g.toLowerCase()==e.toLowerCase()){d=f;return false}});return d}else{return c.inArray(e,this.values)}},createBadge:function(e){var d=this;c("<span/>",{"class":"tag"}).text(e).append(c('<button type="button" class="close">×</button>').on("click",function(){d.remove(d.element.siblings(".tag").index(c(this).closest(".tag")))})).insertBefore(d.element)},add:function(g){var f=this;if(!f.options.allowDuplicates){var e=f.inValues(g);if(e!=-1){var d=f.element.siblings(".tag:eq("+e+")");d.addClass("tag-warning");setTimeout(function(){c(d).removeClass("tag-warning")},500);return}}this.values.push(g);this.createBadge(g);this.element.val(this.values.join(", "));this.element.trigger("added",[g])},remove:function(d){if(d>=0){var e=this.values.splice(d,1);this.element.siblings(".tag:eq("+d+")").remove();this.element.val(this.values.join(", "));this.element.trigger("removed",[e])}},process:function(){var d=c.grep(c.map(this.input.val().split(","),c.trim),function(f){return f.length>0}),e=this;c.each(d,function(){e.add(this)});this.input.val("")},skip:false};var a=c.fn.tag;c.fn.tag=function(d){return this.each(function(){var f=c(this),g=f.data("tag"),e=typeof d=="object"&&d;if(!g){f.data("tag",(g=new b(this,e)))}if(typeof d=="string"){g[d]()}})};c.fn.tag.defaults={allowDuplicates:false,caseInsensitive:true,placeholder:"",source:[]};c.fn.tag.Constructor=b;c.fn.tag.noConflict=function(){c.fn.tag=a;return this};c(window).on("load",function(){c('[data-provide="tag"]').each(function(){var d=c(this);if(d.data("tag")){return}d.tag(d.data())})})}(window.jQuery);
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/js/bootstrap-wysiwyg.min.js b/src/main/webapp/static/login/assets/js/bootstrap-wysiwyg.min.js new file mode 100644 index 0000000..ab1faa9 --- /dev/null +++ b/src/main/webapp/static/login/assets/js/bootstrap-wysiwyg.min.js @@ -0,0 +1 @@ +(function(b){var a=function(e){var c=b.Deferred(),d=new FileReader();d.onload=function(f){c.resolve(f.target.result)};d.onerror=c.reject;d.onprogress=c.notify;d.readAsDataURL(e);return c.promise()};b.fn.cleanHtml=function(){var c=b(this).html();return c&&c.replace(/(<br>|\s|<div><br><\/div>| )*$/,"")};b.fn.wysiwyg=function(k){var l=this,h,q,d,p=function(){if(q.activeToolbarClass){b(q.toolbarSelector).find(d).each(function(){try{var s=b(this).data(q.commandRole);if(document.queryCommandState(s)){b(this).addClass(q.activeToolbarClass)}else{b(this).removeClass(q.activeToolbarClass)}}catch(r){}})}},o=function(r,s){var u=r.split(" "),v=u.shift(),t=u.join(" ")+(s||"");document.execCommand(v,0,t);p()},f=function(r){b.each(r,function(s,t){l.keydown(s,function(u){if(l.attr("contenteditable")&&l.is(":visible")){u.preventDefault();u.stopPropagation();o(t)}}).keyup(s,function(u){if(l.attr("contenteditable")&&l.is(":visible")){u.preventDefault();u.stopPropagation()}})})},g=function(){try{var r=window.getSelection();if(r.getRangeAt&&r.rangeCount){return r.getRangeAt(0)}}catch(s){}},i=function(){h=g()},e=function(){try{var s=window.getSelection();if(h){try{s.removeAllRanges()}catch(r){document.body.createTextRange().select();document.selection.empty()}s.addRange(h)}}catch(t){}},j=function(r){l.focus();b.each(r,function(s,t){if(/^image\//.test(t.type)){b.when(a(t)).done(function(u){o("insertimage",u)}).fail(function(u){q.fileUploadError("file-reader",u)})}else{q.fileUploadError("unsupported-file-type",t.type)}})},c=function(s,r){e();if(document.queryCommandSupported("hiliteColor")){document.execCommand("hiliteColor",0,r||"transparent")}i();s.data(q.selectionMarker,r)},m=function(s,r){s.find(d).click(function(){e();l.focus();o(b(this).data(r.commandRole));i()});s.find("[data-toggle=dropdown]").click(e);s.find("input[type=text][data-"+r.commandRole+"]").on("webkitspeechchange change",function(){var t=this.value;this.value="";e();if(t){l.focus();o(b(this).data(r.commandRole),t)}i()}).on("focus",function(){var t=b(this);if(!t.data(r.selectionMarker)){c(t,r.selectionColor);t.focus()}}).on("blur",function(){var t=b(this);if(t.data(r.selectionMarker)){c(t,false)}});s.find("input[type=file][data-"+r.commandRole+"]").change(function(){e();if(this.type==="file"&&this.files&&this.files.length>0){j(this.files)}i();this.value=""})},n=function(){l.on("dragenter dragover",false).on("drop",function(s){var r=s.originalEvent.dataTransfer;s.stopPropagation();s.preventDefault();if(r&&r.files&&r.files.length>0){j(r.files)}})};q=b.extend({},b.fn.wysiwyg.defaults,k);d="a[data-"+q.commandRole+"],button[data-"+q.commandRole+"],input[type=button][data-"+q.commandRole+"]";f(q.hotKeys);if(q.dragAndDropImages){n()}m(b(q.toolbarSelector),q);l.attr("contenteditable",true).on("mouseup keyup mouseout",function(){i();p()});b(window).bind("touchend",function(u){var t=(l.is(u.target)||l.has(u.target).length>0),s=g(),r=s&&(s.startContainer===s.endContainer&&s.startOffset===s.endOffset);if(!r||t){i();p()}});return this};b.fn.wysiwyg.defaults={hotKeys:{"ctrl+b meta+b":"bold","ctrl+i meta+i":"italic","ctrl+u meta+u":"underline","ctrl+z meta+z":"undo","ctrl+y meta+y meta+shift+z":"redo","ctrl+l meta+l":"justifyleft","ctrl+r meta+r":"justifyright","ctrl+e meta+e":"justifycenter","ctrl+j meta+j":"justifyfull","shift+tab":"outdent",tab:"indent"},toolbarSelector:"[data-role=editor-toolbar]",commandRole:"edit",activeToolbarClass:"btn-info",selectionMarker:"edit-focus-marker",selectionColor:"darkgrey",dragAndDropImages:true,fileUploadError:function(d,c){console.log("File upload error",d,c)}}}(window.jQuery));
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/js/bootstrap.min.js b/src/main/webapp/static/login/assets/js/bootstrap.min.js new file mode 100644 index 0000000..ff9de15 --- /dev/null +++ b/src/main/webapp/static/login/assets/js/bootstrap.min.js @@ -0,0 +1,6 @@ +/**
+* bootstrap.js v3.0.0 by @fat and @mdo
+* Copyright 2013 Twitter Inc.
+* http://www.apache.org/licenses/LICENSE-2.0
+*/
+if(!jQuery)throw new Error("Bootstrap requires jQuery");+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]}}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one(a.support.transition.end,function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b()})}(window.jQuery),+function(a){"use strict";var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype.close=function(b){function c(){f.trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one(a.support.transition.end,c).emulateTransitionEnd(150):c())};var d=a.fn.alert;a.fn.alert=function(b){return this.each(function(){var d=a(this),e=d.data("bs.alert");e||d.data("bs.alert",e=new c(this)),"string"==typeof b&&e[b].call(d)})},a.fn.alert.Constructor=c,a.fn.alert.noConflict=function(){return a.fn.alert=d,this},a(document).on("click.bs.alert.data-api",b,c.prototype.close)}(window.jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d)};b.DEFAULTS={loadingText:"loading..."},b.prototype.setState=function(a){var b="disabled",c=this.$element,d=c.is("input")?"val":"html",e=c.data();a+="Text",e.resetText||c.data("resetText",c[d]()),c[d](e[a]||this.options[a]),setTimeout(function(){"loadingText"==a?c.addClass(b).attr(b,b):c.removeClass(b).removeAttr(b)},0)},b.prototype.toggle=function(){var a=this.$element.closest('[data-toggle="buttons"]');if(a.length){var b=this.$element.find("input").prop("checked",!this.$element.hasClass("active")).trigger("change");"radio"===b.prop("type")&&a.find(".active").removeClass("active")}this.$element.toggleClass("active")};var c=a.fn.button;a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof c&&c;e||d.data("bs.button",e=new b(this,f)),"toggle"==c?e.toggle():c&&e.setState(c)})},a.fn.button.Constructor=b,a.fn.button.noConflict=function(){return a.fn.button=c,this},a(document).on("click.bs.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle"),b.preventDefault()})}(window.jQuery),+function(a){"use strict";var b=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.options.pause&&this.$element.on("mouseenter",a.proxy(this.pause,this)).on("mouseleave",a.proxy(this.cycle,this))};b.DEFAULTS={interval:5e3,pause:"hover",wrap:!0},b.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},b.prototype.getActiveIndex=function(){return this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},b.prototype.to=function(b){var c=this,d=this.getActiveIndex();return b>this.$items.length-1||0>b?void 0:this.sliding?this.$element.one("slid",function(){c.to(b)}):d==b?this.pause().cycle():this.slide(b>d?"next":"prev",a(this.$items[b]))},b.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition.end&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},b.prototype.next=function(){return this.sliding?void 0:this.slide("next")},b.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},b.prototype.slide=function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g="next"==b?"left":"right",h="next"==b?"first":"last",i=this;if(!e.length){if(!this.options.wrap)return;e=this.$element.find(".item")[h]()}this.sliding=!0,f&&this.pause();var j=a.Event("slide.bs.carousel",{relatedTarget:e[0],direction:g});if(!e.hasClass("active")){if(this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid",function(){var b=a(i.$indicators.children()[i.getActiveIndex()]);b&&b.addClass("active")})),a.support.transition&&this.$element.hasClass("slide")){if(this.$element.trigger(j),j.isDefaultPrevented())return;e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),d.one(a.support.transition.end,function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger("slid")},0)}).emulateTransitionEnd(600)}else{if(this.$element.trigger(j),j.isDefaultPrevented())return;d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger("slid")}return f&&this.cycle(),this}};var c=a.fn.carousel;a.fn.carousel=function(c){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c),g="string"==typeof c?c:f.slide;e||d.data("bs.carousel",e=new b(this,f)),"number"==typeof c?e.to(c):g?e[g]():f.interval&&e.pause().cycle()})},a.fn.carousel.Constructor=b,a.fn.carousel.noConflict=function(){return a.fn.carousel=c,this},a(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(b){var c,d=a(this),e=a(d.attr("data-target")||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"")),f=a.extend({},e.data(),d.data()),g=d.attr("data-slide-to");g&&(f.interval=!1),e.carousel(f),(g=d.attr("data-slide-to"))&&e.data("bs.carousel").to(g),b.preventDefault()}),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var b=a(this);b.carousel(b.data())})})}(window.jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};b.DEFAULTS={toggle:!0},b.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},b.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b=a.Event("show.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.$parent&&this.$parent.find("> .panel > .in");if(c&&c.length){var d=c.data("bs.collapse");if(d&&d.transitioning)return;c.collapse("hide"),d||c.data("bs.collapse",null)}var e=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[e](0),this.transitioning=1;var f=function(){this.$element.removeClass("collapsing").addClass("in")[e]("auto"),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return f.call(this);var g=a.camelCase(["scroll",e].join("-"));this.$element.one(a.support.transition.end,a.proxy(f,this)).emulateTransitionEnd(350)[e](this.$element[0][g])}}},b.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return a.support.transition?(this.$element[c](0).one(a.support.transition.end,a.proxy(d,this)).emulateTransitionEnd(350),void 0):d.call(this)}}},b.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var c=a.fn.collapse;a.fn.collapse=function(c){return this.each(function(){var d=a(this),e=d.data("bs.collapse"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c);e||d.data("bs.collapse",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.collapse.Constructor=b,a.fn.collapse.noConflict=function(){return a.fn.collapse=c,this},a(document).on("click.bs.collapse.data-api","[data-toggle=collapse]",function(b){var c,d=a(this),e=d.attr("data-target")||b.preventDefault()||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,""),f=a(e),g=f.data("bs.collapse"),h=g?"toggle":d.data(),i=d.attr("data-parent"),j=i&&a(i);g&&g.transitioning||(j&&j.find('[data-toggle=collapse][data-parent="'+i+'"]').not(d).addClass("collapsed"),d[f.hasClass("in")?"addClass":"removeClass"]("collapsed")),f.collapse(h)})}(window.jQuery),+function(a){"use strict";function b(){a(d).remove(),a(e).each(function(b){var d=c(a(this));d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown")),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown"))})}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}var d=".dropdown-backdrop",e="[data-toggle=dropdown]",f=function(b){a(b).on("click.bs.dropdown",this.toggle)};f.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){if("ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('<div class="dropdown-backdrop"/>').insertAfter(a(this)).on("click",b),f.trigger(d=a.Event("show.bs.dropdown")),d.isDefaultPrevented())return;f.toggleClass("open").trigger("shown.bs.dropdown"),e.focus()}return!1}},f.prototype.keydown=function(b){if(/(38|40|27)/.test(b.keyCode)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var f=c(d),g=f.hasClass("open");if(!g||g&&27==b.keyCode)return 27==b.which&&f.find(e).focus(),d.click();var h=a("[role=menu] li:not(.divider):visible a",f);if(h.length){var i=h.index(h.filter(":focus"));38==b.keyCode&&i>0&&i--,40==b.keyCode&&i<h.length-1&&i++,~i||(i=0),h.eq(i).focus()}}}};var g=a.fn.dropdown;a.fn.dropdown=function(b){return this.each(function(){var c=a(this),d=c.data("dropdown");d||c.data("dropdown",d=new f(this)),"string"==typeof b&&d[b].call(c)})},a.fn.dropdown.Constructor=f,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=g,this},a(document).on("click.bs.dropdown.data-api",b).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",e,f.prototype.toggle).on("keydown.bs.dropdown.data-api",e+", [role=menu]",f.prototype.keydown)}(window.jQuery),+function(a){"use strict";var b=function(b,c){this.options=c,this.$element=a(b),this.$backdrop=this.isShown=null,this.options.remote&&this.$element.load(this.options.remote)};b.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},b.prototype.toggle=function(a){return this[this.isShown?"hide":"show"](a)},b.prototype.show=function(b){var c=this,d=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(d),this.isShown||d.isDefaultPrevented()||(this.isShown=!0,this.escape(),this.$element.on("click.dismiss.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.backdrop(function(){var d=a.support.transition&&c.$element.hasClass("fade");c.$element.parent().length||c.$element.appendTo(document.body),c.$element.show(),d&&c.$element[0].offsetWidth,c.$element.addClass("in").attr("aria-hidden",!1),c.enforceFocus();var e=a.Event("shown.bs.modal",{relatedTarget:b});d?c.$element.find(".modal-dialog").one(a.support.transition.end,function(){c.$element.focus().trigger(e)}).emulateTransitionEnd(300):c.$element.focus().trigger(e)}))},b.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").attr("aria-hidden",!0).off("click.dismiss.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one(a.support.transition.end,a.proxy(this.hideModal,this)).emulateTransitionEnd(300):this.hideModal())},b.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.focus()},this))},b.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keyup.dismiss.bs.modal")},b.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.removeBackdrop(),a.$element.trigger("hidden.bs.modal")})},b.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},b.prototype.backdrop=function(b){var c=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var d=a.support.transition&&c;if(this.$backdrop=a('<div class="modal-backdrop '+c+'" />').appendTo(document.body),this.$element.on("click.dismiss.modal",a.proxy(function(a){a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus.call(this.$element[0]):this.hide.call(this))},this)),d&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;d?this.$backdrop.one(a.support.transition.end,b).emulateTransitionEnd(150):b()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(a.support.transition.end,b).emulateTransitionEnd(150):b()):b&&b()};var c=a.fn.modal;a.fn.modal=function(c,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},b.DEFAULTS,e.data(),"object"==typeof c&&c);f||e.data("bs.modal",f=new b(this,g)),"string"==typeof c?f[c](d):g.show&&f.show(d)})},a.fn.modal.Constructor=b,a.fn.modal.noConflict=function(){return a.fn.modal=c,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(b){var c=a(this),d=c.attr("href"),e=a(c.attr("data-target")||d&&d.replace(/.*(?=#[^\s]+$)/,"")),f=e.data("modal")?"toggle":a.extend({remote:!/#/.test(d)&&d},e.data(),c.data());b.preventDefault(),e.modal(f,this).one("hide",function(){c.is(":visible")&&c.focus()})}),a(document).on("show.bs.modal",".modal",function(){a(document.body).addClass("modal-open")}).on("hidden.bs.modal",".modal",function(){a(document.body).removeClass("modal-open")})}(window.jQuery),+function(a){"use strict";var b=function(a,b){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null,this.init("tooltip",a,b)};b.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1},b.prototype.init=function(b,c,d){this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d);for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focus",i="hover"==g?"mouseleave":"blur";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},b.prototype.getDefaults=function(){return b.DEFAULTS},b.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},b.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},b.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type);return clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show),void 0):c.show()},b.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type);return clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide),void 0):c.hide()},b.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){if(this.$element.trigger(b),b.isDefaultPrevented())return;var c=this.tip();this.setContent(),this.options.animation&&c.addClass("fade");var d="function"==typeof this.options.placement?this.options.placement.call(this,c[0],this.$element[0]):this.options.placement,e=/\s?auto?\s?/i,f=e.test(d);f&&(d=d.replace(e,"")||"top"),c.detach().css({top:0,left:0,display:"block"}).addClass(d),this.options.container?c.appendTo(this.options.container):c.insertAfter(this.$element);var g=this.getPosition(),h=c[0].offsetWidth,i=c[0].offsetHeight;if(f){var j=this.$element.parent(),k=d,l=document.documentElement.scrollTop||document.body.scrollTop,m="body"==this.options.container?window.innerWidth:j.outerWidth(),n="body"==this.options.container?window.innerHeight:j.outerHeight(),o="body"==this.options.container?0:j.offset().left;d="bottom"==d&&g.top+g.height+i-l>n?"top":"top"==d&&g.top-l-i<0?"bottom":"right"==d&&g.right+h>m?"left":"left"==d&&g.left-h<o?"right":d,c.removeClass(k).addClass(d)}var p=this.getCalculatedOffset(d,g,h,i);this.applyPlacement(p,d),this.$element.trigger("shown.bs."+this.type)}},b.prototype.applyPlacement=function(a,b){var c,d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),a.top=a.top+g,a.left=a.left+h,d.offset(a).addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;if("top"==b&&j!=f&&(c=!0,a.top=a.top+f-j),/bottom|top/.test(b)){var k=0;a.left<0&&(k=-2*a.left,a.left=0,d.offset(a),i=d[0].offsetWidth,j=d[0].offsetHeight),this.replaceArrow(k-e+i,i,"left")}else this.replaceArrow(j-f,j,"top");c&&d.offset(a)},b.prototype.replaceArrow=function(a,b,c){this.arrow().css(c,a?50*(1-a/b)+"%":"")},b.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},b.prototype.hide=function(){function b(){"in"!=c.hoverState&&d.detach()}var c=this,d=this.tip(),e=a.Event("hide.bs."+this.type);return this.$element.trigger(e),e.isDefaultPrevented()?void 0:(d.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?d.one(a.support.transition.end,b).emulateTransitionEnd(150):b(),this.$element.trigger("hidden.bs."+this.type),this)},b.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},b.prototype.hasContent=function(){return this.getTitle()},b.prototype.getPosition=function(){var b=this.$element[0];return a.extend({},"function"==typeof b.getBoundingClientRect?b.getBoundingClientRect():{width:b.offsetWidth,height:b.offsetHeight},this.$element.offset())},b.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},b.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},b.prototype.tip=function(){return this.$tip=this.$tip||a(this.options.template)},b.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},b.prototype.validate=function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},b.prototype.enable=function(){this.enabled=!0},b.prototype.disable=function(){this.enabled=!1},b.prototype.toggleEnabled=function(){this.enabled=!this.enabled},b.prototype.toggle=function(b){var c=b?a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type):this;c.tip().hasClass("in")?c.leave(c):c.enter(c)},b.prototype.destroy=function(){this.hide().$element.off("."+this.type).removeData("bs."+this.type)};var c=a.fn.tooltip;a.fn.tooltip=function(c){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof c&&c;e||d.data("bs.tooltip",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.tooltip.Constructor=b,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=c,this}}(window.jQuery),+function(a){"use strict";var b=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");b.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),b.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),b.prototype.constructor=b,b.prototype.getDefaults=function(){return b.DEFAULTS},b.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content")[this.options.html?"html":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},b.prototype.hasContent=function(){return this.getTitle()||this.getContent()},b.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},b.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},b.prototype.tip=function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip};var c=a.fn.popover;a.fn.popover=function(c){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof c&&c;e||d.data("bs.popover",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.popover.Constructor=b,a.fn.popover.noConflict=function(){return a.fn.popover=c,this}}(window.jQuery),+function(a){"use strict";function b(c,d){var e,f=a.proxy(this.process,this);this.$element=a(c).is("body")?a(window):a(c),this.$body=a("body"),this.$scrollElement=this.$element.on("scroll.bs.scroll-spy.data-api",f),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||(e=a(c).attr("href"))&&e.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.offsets=a([]),this.targets=a([]),this.activeTarget=null,this.refresh(),this.process()}b.DEFAULTS={offset:10},b.prototype.refresh=function(){var b=this.$element[0]==window?"offset":"position";this.offsets=a([]),this.targets=a([]);var c=this;this.$body.find(this.selector).map(function(){var d=a(this),e=d.data("target")||d.attr("href"),f=/^#\w/.test(e)&&a(e);return f&&f.length&&[[f[b]().top+(!a.isWindow(c.$scrollElement.get(0))&&c.$scrollElement.scrollTop()),e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){c.offsets.push(this[0]),c.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,d=c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(b>=d)return g!=(a=f.last()[0])&&this.activate(a);for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(!e[a+1]||b<=e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,a(this.selector).parents(".active").removeClass("active");var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate")};var c=a.fn.scrollspy;a.fn.scrollspy=function(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=c,this},a(window).on("load",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);b.scrollspy(b.data())})})}(window.jQuery),+function(a){"use strict";var b=function(b){this.element=a(b)};b.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.attr("data-target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a")[0],f=a.Event("show.bs.tab",{relatedTarget:e});if(b.trigger(f),!f.isDefaultPrevented()){var g=a(d);this.activate(b.parent("li"),c),this.activate(g,g.parent(),function(){b.trigger({type:"shown.bs.tab",relatedTarget:e})})}}},b.prototype.activate=function(b,c,d){function e(){f.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),b.addClass("active"),g?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active"),d&&d()}var f=c.find("> .active"),g=d&&a.support.transition&&f.hasClass("fade");g?f.one(a.support.transition.end,e).emulateTransitionEnd(150):e(),f.removeClass("in")};var c=a.fn.tab;a.fn.tab=function(c){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new b(this)),"string"==typeof c&&e[c]()})},a.fn.tab.Constructor=b,a.fn.tab.noConflict=function(){return a.fn.tab=c,this},a(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(b){b.preventDefault(),a(this).tab("show")})}(window.jQuery),+function(a){"use strict";var b=function(c,d){this.options=a.extend({},b.DEFAULTS,d),this.$window=a(window).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(c),this.affixed=this.unpin=null,this.checkPosition()};b.RESET="affix affix-top affix-bottom",b.DEFAULTS={offset:0},b.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},b.prototype.checkPosition=function(){if(this.$element.is(":visible")){var c=a(document).height(),d=this.$window.scrollTop(),e=this.$element.offset(),f=this.options.offset,g=f.top,h=f.bottom;"object"!=typeof f&&(h=g=f),"function"==typeof g&&(g=f.top()),"function"==typeof h&&(h=f.bottom());var i=null!=this.unpin&&d+this.unpin<=e.top?!1:null!=h&&e.top+this.$element.height()>=c-h?"bottom":null!=g&&g>=d?"top":!1;this.affixed!==i&&(this.unpin&&this.$element.css("top",""),this.affixed=i,this.unpin="bottom"==i?e.top-d:null,this.$element.removeClass(b.RESET).addClass("affix"+(i?"-"+i:"")),"bottom"==i&&this.$element.offset({top:document.body.offsetHeight-h-this.$element.height()}))}};var c=a.fn.affix;a.fn.affix=function(c){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof c&&c;e||d.data("bs.affix",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.affix.Constructor=b,a.fn.affix.noConflict=function(){return a.fn.affix=c,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var b=a(this),c=b.data();c.offset=c.offset||{},c.offsetBottom&&(c.offset.bottom=c.offsetBottom),c.offsetTop&&(c.offset.top=c.offsetTop),b.affix(c)})})}(window.jQuery);
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/js/chosen.jquery.min.js b/src/main/webapp/static/login/assets/js/chosen.jquery.min.js new file mode 100644 index 0000000..ad430c4 --- /dev/null +++ b/src/main/webapp/static/login/assets/js/chosen.jquery.min.js @@ -0,0 +1,2 @@ +/* Chosen v1.0.0 | (c) 2011-2013 by Harvest | MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md */ +!function(){var a,AbstractChosen,Chosen,SelectParser,b,c={}.hasOwnProperty,d=function(a,b){function d(){this.constructor=a}for(var e in b)c.call(b,e)&&(a[e]=b[e]);return d.prototype=b.prototype,a.prototype=new d,a.__super__=b.prototype,a};SelectParser=function(){function SelectParser(){this.options_index=0,this.parsed=[]}return SelectParser.prototype.add_node=function(a){return"OPTGROUP"===a.nodeName.toUpperCase()?this.add_group(a):this.add_option(a)},SelectParser.prototype.add_group=function(a){var b,c,d,e,f,g;for(b=this.parsed.length,this.parsed.push({array_index:b,group:!0,label:this.escapeExpression(a.label),children:0,disabled:a.disabled}),f=a.childNodes,g=[],d=0,e=f.length;e>d;d++)c=f[d],g.push(this.add_option(c,b,a.disabled));return g},SelectParser.prototype.add_option=function(a,b,c){return"OPTION"===a.nodeName.toUpperCase()?(""!==a.text?(null!=b&&(this.parsed[b].children+=1),this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,value:a.value,text:a.text,html:a.innerHTML,selected:a.selected,disabled:c===!0?c:a.disabled,group_array_index:b,classes:a.className,style:a.style.cssText})):this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,empty:!0}),this.options_index+=1):void 0},SelectParser.prototype.escapeExpression=function(a){var b,c;return null==a||a===!1?"":/[\&\<\>\"\'\`]/.test(a)?(b={"<":"<",">":">",'"':""","'":"'","`":"`"},c=/&(?!\w+;)|[\<\>\"\'\`]/g,a.replace(c,function(a){return b[a]||"&"})):a},SelectParser}(),SelectParser.select_to_array=function(a){var b,c,d,e,f;for(c=new SelectParser,f=a.childNodes,d=0,e=f.length;e>d;d++)b=f[d],c.add_node(b);return c.parsed},AbstractChosen=function(){function AbstractChosen(a,b){this.form_field=a,this.options=null!=b?b:{},AbstractChosen.browser_is_supported()&&(this.is_multiple=this.form_field.multiple,this.set_default_text(),this.set_default_values(),this.setup(),this.set_up_html(),this.register_observers())}return AbstractChosen.prototype.set_default_values=function(){var a=this;return this.click_test_action=function(b){return a.test_active_click(b)},this.activate_action=function(b){return a.activate_field(b)},this.active_field=!1,this.mouse_on_container=!1,this.results_showing=!1,this.result_highlighted=null,this.result_single_selected=null,this.allow_single_deselect=null!=this.options.allow_single_deselect&&null!=this.form_field.options[0]&&""===this.form_field.options[0].text?this.options.allow_single_deselect:!1,this.disable_search_threshold=this.options.disable_search_threshold||0,this.disable_search=this.options.disable_search||!1,this.enable_split_word_search=null!=this.options.enable_split_word_search?this.options.enable_split_word_search:!0,this.group_search=null!=this.options.group_search?this.options.group_search:!0,this.search_contains=this.options.search_contains||!1,this.single_backstroke_delete=null!=this.options.single_backstroke_delete?this.options.single_backstroke_delete:!0,this.max_selected_options=this.options.max_selected_options||1/0,this.inherit_select_classes=this.options.inherit_select_classes||!1,this.display_selected_options=null!=this.options.display_selected_options?this.options.display_selected_options:!0,this.display_disabled_options=null!=this.options.display_disabled_options?this.options.display_disabled_options:!0},AbstractChosen.prototype.set_default_text=function(){return this.default_text=this.form_field.getAttribute("data-placeholder")?this.form_field.getAttribute("data-placeholder"):this.is_multiple?this.options.placeholder_text_multiple||this.options.placeholder_text||AbstractChosen.default_multiple_text:this.options.placeholder_text_single||this.options.placeholder_text||AbstractChosen.default_single_text,this.results_none_found=this.form_field.getAttribute("data-no_results_text")||this.options.no_results_text||AbstractChosen.default_no_result_text},AbstractChosen.prototype.mouse_enter=function(){return this.mouse_on_container=!0},AbstractChosen.prototype.mouse_leave=function(){return this.mouse_on_container=!1},AbstractChosen.prototype.input_focus=function(){var a=this;if(this.is_multiple){if(!this.active_field)return setTimeout(function(){return a.container_mousedown()},50)}else if(!this.active_field)return this.activate_field()},AbstractChosen.prototype.input_blur=function(){var a=this;return this.mouse_on_container?void 0:(this.active_field=!1,setTimeout(function(){return a.blur_test()},100))},AbstractChosen.prototype.results_option_build=function(a){var b,c,d,e,f;for(b="",f=this.results_data,d=0,e=f.length;e>d;d++)c=f[d],b+=c.group?this.result_add_group(c):this.result_add_option(c),(null!=a?a.first:void 0)&&(c.selected&&this.is_multiple?this.choice_build(c):c.selected&&!this.is_multiple&&this.single_set_selected_text(c.text));return b},AbstractChosen.prototype.result_add_option=function(a){var b,c;return a.search_match?this.include_option_in_results(a)?(b=[],a.disabled||a.selected&&this.is_multiple||b.push("active-result"),!a.disabled||a.selected&&this.is_multiple||b.push("disabled-result"),a.selected&&b.push("result-selected"),null!=a.group_array_index&&b.push("group-option"),""!==a.classes&&b.push(a.classes),c=""!==a.style.cssText?' style="'+a.style+'"':"",'<li class="'+b.join(" ")+'"'+c+' data-option-array-index="'+a.array_index+'">'+a.search_text+"</li>"):"":""},AbstractChosen.prototype.result_add_group=function(a){return a.search_match||a.group_match?a.active_options>0?'<li class="group-result">'+a.search_text+"</li>":"":""},AbstractChosen.prototype.results_update_field=function(){return this.set_default_text(),this.is_multiple||this.results_reset_cleanup(),this.result_clear_highlight(),this.result_single_selected=null,this.results_build(),this.results_showing?this.winnow_results():void 0},AbstractChosen.prototype.results_toggle=function(){return this.results_showing?this.results_hide():this.results_show()},AbstractChosen.prototype.results_search=function(){return this.results_showing?this.winnow_results():this.results_show()},AbstractChosen.prototype.winnow_results=function(){var a,b,c,d,e,f,g,h,i,j,k,l,m;for(this.no_results_clear(),e=0,g=this.get_search_text(),a=g.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),d=this.search_contains?"":"^",c=new RegExp(d+a,"i"),j=new RegExp(a,"i"),m=this.results_data,k=0,l=m.length;l>k;k++)b=m[k],b.search_match=!1,f=null,this.include_option_in_results(b)&&(b.group&&(b.group_match=!1,b.active_options=0),null!=b.group_array_index&&this.results_data[b.group_array_index]&&(f=this.results_data[b.group_array_index],0===f.active_options&&f.search_match&&(e+=1),f.active_options+=1),(!b.group||this.group_search)&&(b.search_text=b.group?b.label:b.html,b.search_match=this.search_string_match(b.search_text,c),b.search_match&&!b.group&&(e+=1),b.search_match?(g.length&&(h=b.search_text.search(j),i=b.search_text.substr(0,h+g.length)+"</em>"+b.search_text.substr(h+g.length),b.search_text=i.substr(0,h)+"<em>"+i.substr(h)),null!=f&&(f.group_match=!0)):null!=b.group_array_index&&this.results_data[b.group_array_index].search_match&&(b.search_match=!0)));return this.result_clear_highlight(),1>e&&g.length?(this.update_results_content(""),this.no_results(g)):(this.update_results_content(this.results_option_build()),this.winnow_results_set_highlight())},AbstractChosen.prototype.search_string_match=function(a,b){var c,d,e,f;if(b.test(a))return!0;if(this.enable_split_word_search&&(a.indexOf(" ")>=0||0===a.indexOf("["))&&(d=a.replace(/\[|\]/g,"").split(" "),d.length))for(e=0,f=d.length;f>e;e++)if(c=d[e],b.test(c))return!0},AbstractChosen.prototype.choices_count=function(){var a,b,c,d;if(null!=this.selected_option_count)return this.selected_option_count;for(this.selected_option_count=0,d=this.form_field.options,b=0,c=d.length;c>b;b++)a=d[b],a.selected&&(this.selected_option_count+=1);return this.selected_option_count},AbstractChosen.prototype.choices_click=function(a){return a.preventDefault(),this.results_showing||this.is_disabled?void 0:this.results_show()},AbstractChosen.prototype.keyup_checker=function(a){var b,c;switch(b=null!=(c=a.which)?c:a.keyCode,this.search_field_scale(),b){case 8:if(this.is_multiple&&this.backstroke_length<1&&this.choices_count()>0)return this.keydown_backstroke();if(!this.pending_backstroke)return this.result_clear_highlight(),this.results_search();break;case 13:if(a.preventDefault(),this.results_showing)return this.result_select(a);break;case 27:return this.results_showing&&this.results_hide(),!0;case 9:case 38:case 40:case 16:case 91:case 17:break;default:return this.results_search()}},AbstractChosen.prototype.container_width=function(){return null!=this.options.width?this.options.width:""+this.form_field.offsetWidth+"px"},AbstractChosen.prototype.include_option_in_results=function(a){return this.is_multiple&&!this.display_selected_options&&a.selected?!1:!this.display_disabled_options&&a.disabled?!1:a.empty?!1:!0},AbstractChosen.browser_is_supported=function(){return"Microsoft Internet Explorer"===window.navigator.appName?document.documentMode>=8:/iP(od|hone)/i.test(window.navigator.userAgent)?!1:/Android/i.test(window.navigator.userAgent)&&/Mobile/i.test(window.navigator.userAgent)?!1:!0},AbstractChosen.default_multiple_text="Select Some Options",AbstractChosen.default_single_text="Select an Option",AbstractChosen.default_no_result_text="No results match",AbstractChosen}(),a=jQuery,a.fn.extend({chosen:function(b){return AbstractChosen.browser_is_supported()?this.each(function(){var c,d;c=a(this),d=c.data("chosen"),"destroy"===b&&d?d.destroy():d||c.data("chosen",new Chosen(this,b))}):this}}),Chosen=function(c){function Chosen(){return b=Chosen.__super__.constructor.apply(this,arguments)}return d(Chosen,c),Chosen.prototype.setup=function(){return this.form_field_jq=a(this.form_field),this.current_selectedIndex=this.form_field.selectedIndex,this.is_rtl=this.form_field_jq.hasClass("chosen-rtl")},Chosen.prototype.set_up_html=function(){var b,c;return b=["chosen-container"],b.push("chosen-container-"+(this.is_multiple?"multi":"single")),this.inherit_select_classes&&this.form_field.className&&b.push(this.form_field.className),this.is_rtl&&b.push("chosen-rtl"),c={"class":b.join(" "),style:"width: "+this.container_width()+";",title:this.form_field.title},this.form_field.id.length&&(c.id=this.form_field.id.replace(/[^\w]/g,"_")+"_chosen"),this.container=a("<div />",c),this.is_multiple?this.container.html('<ul class="chosen-choices"><li class="search-field"><input type="text" value="'+this.default_text+'" class="default" autocomplete="off" style="width:25px;" /></li></ul><div class="chosen-drop"><ul class="chosen-results"></ul></div>'):this.container.html('<a class="chosen-single chosen-default" tabindex="-1"><span>'+this.default_text+'</span><div><b></b></div></a><div class="chosen-drop"><div class="chosen-search"><input type="text" autocomplete="off" /></div><ul class="chosen-results"></ul></div>'),this.form_field_jq.hide().after(this.container),this.dropdown=this.container.find("div.chosen-drop").first(),this.search_field=this.container.find("input").first(),this.search_results=this.container.find("ul.chosen-results").first(),this.search_field_scale(),this.search_no_results=this.container.find("li.no-results").first(),this.is_multiple?(this.search_choices=this.container.find("ul.chosen-choices").first(),this.search_container=this.container.find("li.search-field").first()):(this.search_container=this.container.find("div.chosen-search").first(),this.selected_item=this.container.find(".chosen-single").first()),this.results_build(),this.set_tab_index(),this.set_label_behavior(),this.form_field_jq.trigger("chosen:ready",{chosen:this})},Chosen.prototype.register_observers=function(){var a=this;return this.container.bind("mousedown.chosen",function(b){a.container_mousedown(b)}),this.container.bind("mouseup.chosen",function(b){a.container_mouseup(b)}),this.container.bind("mouseenter.chosen",function(b){a.mouse_enter(b)}),this.container.bind("mouseleave.chosen",function(b){a.mouse_leave(b)}),this.search_results.bind("mouseup.chosen",function(b){a.search_results_mouseup(b)}),this.search_results.bind("mouseover.chosen",function(b){a.search_results_mouseover(b)}),this.search_results.bind("mouseout.chosen",function(b){a.search_results_mouseout(b)}),this.search_results.bind("mousewheel.chosen DOMMouseScroll.chosen",function(b){a.search_results_mousewheel(b)}),this.form_field_jq.bind("chosen:updated.chosen",function(b){a.results_update_field(b)}),this.form_field_jq.bind("chosen:activate.chosen",function(b){a.activate_field(b)}),this.form_field_jq.bind("chosen:open.chosen",function(b){a.container_mousedown(b)}),this.search_field.bind("blur.chosen",function(b){a.input_blur(b)}),this.search_field.bind("keyup.chosen",function(b){a.keyup_checker(b)}),this.search_field.bind("keydown.chosen",function(b){a.keydown_checker(b)}),this.search_field.bind("focus.chosen",function(b){a.input_focus(b)}),this.is_multiple?this.search_choices.bind("click.chosen",function(b){a.choices_click(b)}):this.container.bind("click.chosen",function(a){a.preventDefault()})},Chosen.prototype.destroy=function(){return a(document).unbind("click.chosen",this.click_test_action),this.search_field[0].tabIndex&&(this.form_field_jq[0].tabIndex=this.search_field[0].tabIndex),this.container.remove(),this.form_field_jq.removeData("chosen"),this.form_field_jq.show()},Chosen.prototype.search_field_disabled=function(){return this.is_disabled=this.form_field_jq[0].disabled,this.is_disabled?(this.container.addClass("chosen-disabled"),this.search_field[0].disabled=!0,this.is_multiple||this.selected_item.unbind("focus.chosen",this.activate_action),this.close_field()):(this.container.removeClass("chosen-disabled"),this.search_field[0].disabled=!1,this.is_multiple?void 0:this.selected_item.bind("focus.chosen",this.activate_action))},Chosen.prototype.container_mousedown=function(b){return this.is_disabled||(b&&"mousedown"===b.type&&!this.results_showing&&b.preventDefault(),null!=b&&a(b.target).hasClass("search-choice-close"))?void 0:(this.active_field?this.is_multiple||!b||a(b.target)[0]!==this.selected_item[0]&&!a(b.target).parents("a.chosen-single").length||(b.preventDefault(),this.results_toggle()):(this.is_multiple&&this.search_field.val(""),a(document).bind("click.chosen",this.click_test_action),this.results_show()),this.activate_field())},Chosen.prototype.container_mouseup=function(a){return"ABBR"!==a.target.nodeName||this.is_disabled?void 0:this.results_reset(a)},Chosen.prototype.search_results_mousewheel=function(a){var b,c,d;return b=-(null!=(c=a.originalEvent)?c.wheelDelta:void 0)||(null!=(d=a.originialEvent)?d.detail:void 0),null!=b?(a.preventDefault(),"DOMMouseScroll"===a.type&&(b=40*b),this.search_results.scrollTop(b+this.search_results.scrollTop())):void 0},Chosen.prototype.blur_test=function(){return!this.active_field&&this.container.hasClass("chosen-container-active")?this.close_field():void 0},Chosen.prototype.close_field=function(){return a(document).unbind("click.chosen",this.click_test_action),this.active_field=!1,this.results_hide(),this.container.removeClass("chosen-container-active"),this.clear_backstroke(),this.show_search_field_default(),this.search_field_scale()},Chosen.prototype.activate_field=function(){return this.container.addClass("chosen-container-active"),this.active_field=!0,this.search_field.val(this.search_field.val()),this.search_field.focus()},Chosen.prototype.test_active_click=function(b){return this.container.is(a(b.target).closest(".chosen-container"))?this.active_field=!0:this.close_field()},Chosen.prototype.results_build=function(){return this.parsing=!0,this.selected_option_count=null,this.results_data=SelectParser.select_to_array(this.form_field),this.is_multiple?this.search_choices.find("li.search-choice").remove():this.is_multiple||(this.single_set_selected_text(),this.disable_search||this.form_field.options.length<=this.disable_search_threshold?(this.search_field[0].readOnly=!0,this.container.addClass("chosen-container-single-nosearch")):(this.search_field[0].readOnly=!1,this.container.removeClass("chosen-container-single-nosearch"))),this.update_results_content(this.results_option_build({first:!0})),this.search_field_disabled(),this.show_search_field_default(),this.search_field_scale(),this.parsing=!1},Chosen.prototype.result_do_highlight=function(a){var b,c,d,e,f;if(a.length){if(this.result_clear_highlight(),this.result_highlight=a,this.result_highlight.addClass("highlighted"),d=parseInt(this.search_results.css("maxHeight"),10),f=this.search_results.scrollTop(),e=d+f,c=this.result_highlight.position().top+this.search_results.scrollTop(),b=c+this.result_highlight.outerHeight(),b>=e)return this.search_results.scrollTop(b-d>0?b-d:0);if(f>c)return this.search_results.scrollTop(c)}},Chosen.prototype.result_clear_highlight=function(){return this.result_highlight&&this.result_highlight.removeClass("highlighted"),this.result_highlight=null},Chosen.prototype.results_show=function(){return this.is_multiple&&this.max_selected_options<=this.choices_count()?(this.form_field_jq.trigger("chosen:maxselected",{chosen:this}),!1):(this.container.addClass("chosen-with-drop"),this.form_field_jq.trigger("chosen:showing_dropdown",{chosen:this}),this.results_showing=!0,this.search_field.focus(),this.search_field.val(this.search_field.val()),this.winnow_results())},Chosen.prototype.update_results_content=function(a){return this.search_results.html(a)},Chosen.prototype.results_hide=function(){return this.results_showing&&(this.result_clear_highlight(),this.container.removeClass("chosen-with-drop"),this.form_field_jq.trigger("chosen:hiding_dropdown",{chosen:this})),this.results_showing=!1},Chosen.prototype.set_tab_index=function(){var a;return this.form_field.tabIndex?(a=this.form_field.tabIndex,this.form_field.tabIndex=-1,this.search_field[0].tabIndex=a):void 0},Chosen.prototype.set_label_behavior=function(){var b=this;return this.form_field_label=this.form_field_jq.parents("label"),!this.form_field_label.length&&this.form_field.id.length&&(this.form_field_label=a("label[for='"+this.form_field.id+"']")),this.form_field_label.length>0?this.form_field_label.bind("click.chosen",function(a){return b.is_multiple?b.container_mousedown(a):b.activate_field()}):void 0},Chosen.prototype.show_search_field_default=function(){return this.is_multiple&&this.choices_count()<1&&!this.active_field?(this.search_field.val(this.default_text),this.search_field.addClass("default")):(this.search_field.val(""),this.search_field.removeClass("default"))},Chosen.prototype.search_results_mouseup=function(b){var c;return c=a(b.target).hasClass("active-result")?a(b.target):a(b.target).parents(".active-result").first(),c.length?(this.result_highlight=c,this.result_select(b),this.search_field.focus()):void 0},Chosen.prototype.search_results_mouseover=function(b){var c;return c=a(b.target).hasClass("active-result")?a(b.target):a(b.target).parents(".active-result").first(),c?this.result_do_highlight(c):void 0},Chosen.prototype.search_results_mouseout=function(b){return a(b.target).hasClass("active-result")?this.result_clear_highlight():void 0},Chosen.prototype.choice_build=function(b){var c,d,e=this;return c=a("<li />",{"class":"search-choice"}).html("<span>"+b.html+"</span>"),b.disabled?c.addClass("search-choice-disabled"):(d=a("<a />",{"class":"search-choice-close","data-option-array-index":b.array_index}),d.bind("click.chosen",function(a){return e.choice_destroy_link_click(a)}),c.append(d)),this.search_container.before(c)},Chosen.prototype.choice_destroy_link_click=function(b){return b.preventDefault(),b.stopPropagation(),this.is_disabled?void 0:this.choice_destroy(a(b.target))},Chosen.prototype.choice_destroy=function(a){return this.result_deselect(a[0].getAttribute("data-option-array-index"))?(this.show_search_field_default(),this.is_multiple&&this.choices_count()>0&&this.search_field.val().length<1&&this.results_hide(),a.parents("li").first().remove(),this.search_field_scale()):void 0},Chosen.prototype.results_reset=function(){return this.form_field.options[0].selected=!0,this.selected_option_count=null,this.single_set_selected_text(),this.show_search_field_default(),this.results_reset_cleanup(),this.form_field_jq.trigger("change"),this.active_field?this.results_hide():void 0},Chosen.prototype.results_reset_cleanup=function(){return this.current_selectedIndex=this.form_field.selectedIndex,this.selected_item.find("abbr").remove()},Chosen.prototype.result_select=function(a){var b,c,d;return this.result_highlight?(b=this.result_highlight,this.result_clear_highlight(),this.is_multiple&&this.max_selected_options<=this.choices_count()?(this.form_field_jq.trigger("chosen:maxselected",{chosen:this}),!1):(this.is_multiple?b.removeClass("active-result"):(this.result_single_selected&&(this.result_single_selected.removeClass("result-selected"),d=this.result_single_selected[0].getAttribute("data-option-array-index"),this.results_data[d].selected=!1),this.result_single_selected=b),b.addClass("result-selected"),c=this.results_data[b[0].getAttribute("data-option-array-index")],c.selected=!0,this.form_field.options[c.options_index].selected=!0,this.selected_option_count=null,this.is_multiple?this.choice_build(c):this.single_set_selected_text(c.text),(a.metaKey||a.ctrlKey)&&this.is_multiple||this.results_hide(),this.search_field.val(""),(this.is_multiple||this.form_field.selectedIndex!==this.current_selectedIndex)&&this.form_field_jq.trigger("change",{selected:this.form_field.options[c.options_index].value}),this.current_selectedIndex=this.form_field.selectedIndex,this.search_field_scale())):void 0},Chosen.prototype.single_set_selected_text=function(a){return null==a&&(a=this.default_text),a===this.default_text?this.selected_item.addClass("chosen-default"):(this.single_deselect_control_build(),this.selected_item.removeClass("chosen-default")),this.selected_item.find("span").text(a)},Chosen.prototype.result_deselect=function(a){var b;return b=this.results_data[a],this.form_field.options[b.options_index].disabled?!1:(b.selected=!1,this.form_field.options[b.options_index].selected=!1,this.selected_option_count=null,this.result_clear_highlight(),this.results_showing&&this.winnow_results(),this.form_field_jq.trigger("change",{deselected:this.form_field.options[b.options_index].value}),this.search_field_scale(),!0)},Chosen.prototype.single_deselect_control_build=function(){return this.allow_single_deselect?(this.selected_item.find("abbr").length||this.selected_item.find("span").first().after('<abbr class="search-choice-close"></abbr>'),this.selected_item.addClass("chosen-single-with-deselect")):void 0},Chosen.prototype.get_search_text=function(){return this.search_field.val()===this.default_text?"":a("<div/>").text(a.trim(this.search_field.val())).html()},Chosen.prototype.winnow_results_set_highlight=function(){var a,b;return b=this.is_multiple?[]:this.search_results.find(".result-selected.active-result"),a=b.length?b.first():this.search_results.find(".active-result").first(),null!=a?this.result_do_highlight(a):void 0},Chosen.prototype.no_results=function(b){var c;return c=a('<li class="no-results">'+this.results_none_found+' "<span></span>"</li>'),c.find("span").first().html(b),this.search_results.append(c)},Chosen.prototype.no_results_clear=function(){return this.search_results.find(".no-results").remove()},Chosen.prototype.keydown_arrow=function(){var a;return this.results_showing&&this.result_highlight?(a=this.result_highlight.nextAll("li.active-result").first())?this.result_do_highlight(a):void 0:this.results_show()},Chosen.prototype.keyup_arrow=function(){var a;return this.results_showing||this.is_multiple?this.result_highlight?(a=this.result_highlight.prevAll("li.active-result"),a.length?this.result_do_highlight(a.first()):(this.choices_count()>0&&this.results_hide(),this.result_clear_highlight())):void 0:this.results_show()},Chosen.prototype.keydown_backstroke=function(){var a;return this.pending_backstroke?(this.choice_destroy(this.pending_backstroke.find("a").first()),this.clear_backstroke()):(a=this.search_container.siblings("li.search-choice").last(),a.length&&!a.hasClass("search-choice-disabled")?(this.pending_backstroke=a,this.single_backstroke_delete?this.keydown_backstroke():this.pending_backstroke.addClass("search-choice-focus")):void 0)},Chosen.prototype.clear_backstroke=function(){return this.pending_backstroke&&this.pending_backstroke.removeClass("search-choice-focus"),this.pending_backstroke=null},Chosen.prototype.keydown_checker=function(a){var b,c;switch(b=null!=(c=a.which)?c:a.keyCode,this.search_field_scale(),8!==b&&this.pending_backstroke&&this.clear_backstroke(),b){case 8:this.backstroke_length=this.search_field.val().length;break;case 9:this.results_showing&&!this.is_multiple&&this.result_select(a),this.mouse_on_container=!1;break;case 13:a.preventDefault();break;case 38:a.preventDefault(),this.keyup_arrow();break;case 40:a.preventDefault(),this.keydown_arrow()}},Chosen.prototype.search_field_scale=function(){var b,c,d,e,f,g,h,i,j;if(this.is_multiple){for(d=0,h=0,f="position:absolute; left: -1000px; top: -1000px; display:none;",g=["font-size","font-style","font-weight","font-family","line-height","text-transform","letter-spacing"],i=0,j=g.length;j>i;i++)e=g[i],f+=e+":"+this.search_field.css(e)+";";return b=a("<div />",{style:f}),b.text(this.search_field.val()),a("body").append(b),h=b.width()+25,b.remove(),c=this.container.outerWidth(),h>c-10&&(h=c-10),this.search_field.css({width:h+"px"})}},Chosen}(AbstractChosen)}.call(this);
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/js/date-time/bootstrap-datepicker.min.js b/src/main/webapp/static/login/assets/js/date-time/bootstrap-datepicker.min.js new file mode 100644 index 0000000..8cb3177 --- /dev/null +++ b/src/main/webapp/static/login/assets/js/date-time/bootstrap-datepicker.min.js @@ -0,0 +1 @@ +!function(d){function f(){return new Date(Date.UTC.apply(Date,arguments))}function b(){var g=new Date();return f(g.getUTCFullYear(),g.getUTCMonth(),g.getUTCDate())}var a=function(h,g){var i=this;this.element=d(h);this.language=g.language||this.element.data("date-language")||"en";this.language=this.language in e?this.language:this.language.split("-")[0];this.language=this.language in e?this.language:"en";this.isRTL=e[this.language].rtl||false;this.format=c.parseFormat(g.format||this.element.data("date-format")||e[this.language].format||"mm/dd/yyyy");this.isInline=false;this.isInput=this.element.is("input");this.component=this.element.is(".date")?this.element.find(".add-on, .btn"):false;this.hasInput=this.component&&this.element.find("input").length;if(this.component&&this.component.length===0){this.component=false}this._attachEvents();this.forceParse=true;if("forceParse" in g){this.forceParse=g.forceParse}else{if("dateForceParse" in this.element.data()){this.forceParse=this.element.data("date-force-parse")}}this.picker=d(c.template).appendTo(this.isInline?this.element:"body").on({click:d.proxy(this.click,this),mousedown:d.proxy(this.mousedown,this)});if(this.isInline){this.picker.addClass("datepicker-inline")}else{this.picker.addClass("datepicker-dropdown dropdown-menu")}if(this.isRTL){this.picker.addClass("datepicker-rtl");this.picker.find(".prev i, .next i").toggleClass("icon-arrow-left icon-arrow-right")}d(document).on("mousedown",function(j){if(d(j.target).closest(".datepicker.datepicker-inline, .datepicker.datepicker-dropdown").length===0){i.hide()}});this.autoclose=false;if("autoclose" in g){this.autoclose=g.autoclose}else{if("dateAutoclose" in this.element.data()){this.autoclose=this.element.data("date-autoclose")}}this.keyboardNavigation=true;if("keyboardNavigation" in g){this.keyboardNavigation=g.keyboardNavigation}else{if("dateKeyboardNavigation" in this.element.data()){this.keyboardNavigation=this.element.data("date-keyboard-navigation")}}this.viewMode=this.startViewMode=0;switch(g.startView||this.element.data("date-start-view")){case 2:case"decade":this.viewMode=this.startViewMode=2;break;case 1:case"year":this.viewMode=this.startViewMode=1;break}this.minViewMode=g.minViewMode||this.element.data("date-min-view-mode")||0;if(typeof this.minViewMode==="string"){switch(this.minViewMode){case"months":this.minViewMode=1;break;case"years":this.minViewMode=2;break;default:this.minViewMode=0;break}}this.viewMode=this.startViewMode=Math.max(this.startViewMode,this.minViewMode);this.todayBtn=(g.todayBtn||this.element.data("date-today-btn")||false);this.todayHighlight=(g.todayHighlight||this.element.data("date-today-highlight")||false);this.calendarWeeks=false;if("calendarWeeks" in g){this.calendarWeeks=g.calendarWeeks}else{if("dateCalendarWeeks" in this.element.data()){this.calendarWeeks=this.element.data("date-calendar-weeks")}}if(this.calendarWeeks){this.picker.find("tfoot th.today").attr("colspan",function(j,k){return parseInt(k)+1})}this.weekStart=((g.weekStart||this.element.data("date-weekstart")||e[this.language].weekStart||0)%7);this.weekEnd=((this.weekStart+6)%7);this.startDate=-Infinity;this.endDate=Infinity;this.daysOfWeekDisabled=[];this.setStartDate(g.startDate||this.element.data("date-startdate"));this.setEndDate(g.endDate||this.element.data("date-enddate"));this.setDaysOfWeekDisabled(g.daysOfWeekDisabled||this.element.data("date-days-of-week-disabled"));this.fillDow();this.fillMonths();this.update();this.showMode();if(this.isInline){this.show()}};a.prototype={constructor:a,_events:[],_attachEvents:function(){this._detachEvents();if(this.isInput){this._events=[[this.element,{focus:d.proxy(this.show,this),keyup:d.proxy(this.update,this),keydown:d.proxy(this.keydown,this)}]]}else{if(this.component&&this.hasInput){this._events=[[this.element.find("input"),{focus:d.proxy(this.show,this),keyup:d.proxy(this.update,this),keydown:d.proxy(this.keydown,this)}],[this.component,{click:d.proxy(this.show,this)}]]}else{if(this.element.is("div")){this.isInline=true}else{this._events=[[this.element,{click:d.proxy(this.show,this)}]]}}}for(var g=0,h,j;g<this._events.length;g++){h=this._events[g][0];j=this._events[g][1];h.on(j)}},_detachEvents:function(){for(var g=0,h,j;g<this._events.length;g++){h=this._events[g][0];j=this._events[g][1];h.off(j)}this._events=[]},show:function(g){this.picker.show();this.height=this.component?this.component.outerHeight():this.element.outerHeight();this.update();this.place();d(window).on("resize",d.proxy(this.place,this));if(g){g.preventDefault()}this.element.trigger({type:"show",date:this.date})},hide:function(g){if(this.isInline){return}if(!this.picker.is(":visible")){return}this.picker.hide();d(window).off("resize",this.place);this.viewMode=this.startViewMode;this.showMode();if(!this.isInput){d(document).off("mousedown",this.hide)}if(this.forceParse&&(this.isInput&&this.element.val()||this.hasInput&&this.element.find("input").val())){this.setValue()}this.element.trigger({type:"hide",date:this.date})},remove:function(){this._detachEvents();this.picker.remove();delete this.element.data().datepicker;if(!this.isInput){delete this.element.data().date}},getDate:function(){var g=this.getUTCDate();return new Date(g.getTime()+(g.getTimezoneOffset()*60000))},getUTCDate:function(){return this.date},setDate:function(g){this.setUTCDate(new Date(g.getTime()-(g.getTimezoneOffset()*60000)))},setUTCDate:function(g){this.date=g;this.setValue()},setValue:function(){var g=this.getFormattedDate();if(!this.isInput){if(this.component){this.element.find("input").val(g)}this.element.data("date",g)}else{this.element.val(g)}},getFormattedDate:function(g){if(g===undefined){g=this.format}return c.formatDate(this.date,g,this.language)},setStartDate:function(g){this.startDate=g||-Infinity;if(this.startDate!==-Infinity){this.startDate=c.parseDate(this.startDate,this.format,this.language)}this.update();this.updateNavArrows()},setEndDate:function(g){this.endDate=g||Infinity;if(this.endDate!==Infinity){this.endDate=c.parseDate(this.endDate,this.format,this.language)}this.update();this.updateNavArrows()},setDaysOfWeekDisabled:function(g){this.daysOfWeekDisabled=g||[];if(!d.isArray(this.daysOfWeekDisabled)){this.daysOfWeekDisabled=this.daysOfWeekDisabled.split(/,\s*/)}this.daysOfWeekDisabled=d.map(this.daysOfWeekDisabled,function(h){return parseInt(h,10)});this.update();this.updateNavArrows()},place:function(){if(this.isInline){return}var i=parseInt(this.element.parents().filter(function(){return d(this).css("z-index")!="auto"}).first().css("z-index"))+10;var h=this.component?this.component.parent().offset():this.element.offset();var g=this.component?this.component.outerHeight(true):this.element.outerHeight(true);this.picker.css({top:h.top+g,left:h.left,zIndex:i})},update:function(){var g,h=false;if(arguments&&arguments.length&&(typeof arguments[0]==="string"||arguments[0] instanceof Date)){g=arguments[0];h=true}else{g=this.isInput?this.element.val():this.element.data("date")||this.element.find("input").val()}this.date=c.parseDate(g,this.format,this.language);if(h){this.setValue()}if(this.date<this.startDate){this.viewDate=new Date(this.startDate)}else{if(this.date>this.endDate){this.viewDate=new Date(this.endDate)}else{this.viewDate=new Date(this.date)}}this.fill()},fillDow:function(){var h=this.weekStart,i="<tr>";if(this.calendarWeeks){var g='<th class="cw"> </th>';i+=g;this.picker.find(".datepicker-days thead tr:first-child").prepend(g)}while(h<this.weekStart+7){i+='<th class="dow">'+e[this.language].daysMin[(h++)%7]+"</th>"}i+="</tr>";this.picker.find(".datepicker-days thead").append(i)},fillMonths:function(){var h="",g=0;while(g<12){h+='<span class="month">'+e[this.language].monthsShort[g++]+"</span>"}this.picker.find(".datepicker-months td").html(h)},fill:function(){var y=new Date(this.viewDate),p=y.getUTCFullYear(),z=y.getUTCMonth(),s=this.startDate!==-Infinity?this.startDate.getUTCFullYear():-Infinity,w=this.startDate!==-Infinity?this.startDate.getUTCMonth():-Infinity,m=this.endDate!==Infinity?this.endDate.getUTCFullYear():Infinity,t=this.endDate!==Infinity?this.endDate.getUTCMonth():Infinity,n=this.date&&this.date.valueOf(),x=new Date();this.picker.find(".datepicker-days thead th.switch").text(e[this.language].months[z]+" "+p);this.picker.find("tfoot th.today").text(e[this.language].today).toggle(this.todayBtn!==false);this.updateNavArrows();this.fillMonths();var B=f(p,z-1,28,0,0,0,0),v=c.getDaysInMonth(B.getUTCFullYear(),B.getUTCMonth());B.setUTCDate(v);B.setUTCDate(v-(B.getUTCDay()-this.weekStart+7)%7);var g=new Date(B);g.setUTCDate(g.getUTCDate()+42);g=g.valueOf();var o=[];var r;while(B.valueOf()<g){if(B.getUTCDay()==this.weekStart){o.push("<tr>");if(this.calendarWeeks){var h=new Date(+B+(this.weekStart-B.getUTCDay()-7)%7*86400000),k=new Date(+h+(7+4-h.getUTCDay())%7*86400000),j=new Date(+(j=f(k.getUTCFullYear(),0,1))+(7+4-j.getUTCDay())%7*86400000),q=(k-j)/86400000/7+1;o.push('<td class="cw">'+q+"</td>")}}r="";if(B.getUTCFullYear()<p||(B.getUTCFullYear()==p&&B.getUTCMonth()<z)){r+=" old"}else{if(B.getUTCFullYear()>p||(B.getUTCFullYear()==p&&B.getUTCMonth()>z)){r+=" new"}}if(this.todayHighlight&&B.getUTCFullYear()==x.getFullYear()&&B.getUTCMonth()==x.getMonth()&&B.getUTCDate()==x.getDate()){r+=" today"}if(n&&B.valueOf()==n){r+=" active"}if(B.valueOf()<this.startDate||B.valueOf()>this.endDate||d.inArray(B.getUTCDay(),this.daysOfWeekDisabled)!==-1){r+=" disabled"}o.push('<td class="day'+r+'">'+B.getUTCDate()+"</td>");if(B.getUTCDay()==this.weekEnd){o.push("</tr>")}B.setUTCDate(B.getUTCDate()+1)}this.picker.find(".datepicker-days tbody").empty().append(o.join(""));var C=this.date&&this.date.getUTCFullYear();var l=this.picker.find(".datepicker-months").find("th:eq(1)").text(p).end().find("span").removeClass("active");if(C&&C==p){l.eq(this.date.getUTCMonth()).addClass("active")}if(p<s||p>m){l.addClass("disabled")}if(p==s){l.slice(0,w).addClass("disabled")}if(p==m){l.slice(t+1).addClass("disabled")}o="";p=parseInt(p/10,10)*10;var A=this.picker.find(".datepicker-years").find("th:eq(1)").text(p+"-"+(p+9)).end().find("td");p-=1;for(var u=-1;u<11;u++){o+='<span class="year'+(u==-1||u==10?" old":"")+(C==p?" active":"")+(p<s||p>m?" disabled":"")+'">'+p+"</span>";p+=1}A.html(o)},updateNavArrows:function(){var i=new Date(this.viewDate),g=i.getUTCFullYear(),h=i.getUTCMonth();switch(this.viewMode){case 0:if(this.startDate!==-Infinity&&g<=this.startDate.getUTCFullYear()&&h<=this.startDate.getUTCMonth()){this.picker.find(".prev").css({visibility:"hidden"})}else{this.picker.find(".prev").css({visibility:"visible"})}if(this.endDate!==Infinity&&g>=this.endDate.getUTCFullYear()&&h>=this.endDate.getUTCMonth()){this.picker.find(".next").css({visibility:"hidden"})}else{this.picker.find(".next").css({visibility:"visible"})}break;case 1:case 2:if(this.startDate!==-Infinity&&g<=this.startDate.getUTCFullYear()){this.picker.find(".prev").css({visibility:"hidden"})}else{this.picker.find(".prev").css({visibility:"visible"})}if(this.endDate!==Infinity&&g>=this.endDate.getUTCFullYear()){this.picker.find(".next").css({visibility:"hidden"})}else{this.picker.find(".next").css({visibility:"visible"})}break}},click:function(m){m.preventDefault();var l=d(m.target).closest("span, td, th");if(l.length==1){switch(l[0].nodeName.toLowerCase()){case"th":switch(l[0].className){case"switch":this.showMode(1);break;case"prev":case"next":var i=c.modes[this.viewMode].navStep*(l[0].className=="prev"?-1:1);switch(this.viewMode){case 0:this.viewDate=this.moveMonth(this.viewDate,i);break;case 1:case 2:this.viewDate=this.moveYear(this.viewDate,i);break}this.fill();break;case"today":var h=new Date();h=f(h.getFullYear(),h.getMonth(),h.getDate(),0,0,0);this.showMode(-2);var n=this.todayBtn=="linked"?null:"view";this._setDate(h,n);break}break;case"span":if(!l.is(".disabled")){this.viewDate.setUTCDate(1);if(l.is(".month")){var g=1;var k=l.parent().find("span").index(l);var j=this.viewDate.getUTCFullYear();this.viewDate.setUTCMonth(k);this.element.trigger({type:"changeMonth",date:this.viewDate});if(this.minViewMode==1){this._setDate(f(j,k,g,0,0,0,0))}}else{var j=parseInt(l.text(),10)||0;var g=1;var k=0;this.viewDate.setUTCFullYear(j);this.element.trigger({type:"changeYear",date:this.viewDate});if(this.minViewMode==2){this._setDate(f(j,k,g,0,0,0,0))}}this.showMode(-1);this.fill()}break;case"td":if(l.is(".day")&&!l.is(".disabled")){var g=parseInt(l.text(),10)||1;var j=this.viewDate.getUTCFullYear(),k=this.viewDate.getUTCMonth();if(l.is(".old")){if(k===0){k=11;j-=1}else{k-=1}}else{if(l.is(".new")){if(k==11){k=0;j+=1}else{k+=1}}}this._setDate(f(j,k,g,0,0,0,0))}break}}},_setDate:function(g,i){if(!i||i=="date"){this.date=g}if(!i||i=="view"){this.viewDate=g}this.fill();this.setValue();this.element.trigger({type:"changeDate",date:this.date});var h;if(this.isInput){h=this.element}else{if(this.component){h=this.element.find("input")}}if(h){h.change();if(this.autoclose&&(!i||i=="date")){this.hide()}}},moveMonth:function(g,h){if(!h){return g}var l=new Date(g.valueOf()),p=l.getUTCDate(),m=l.getUTCMonth(),k=Math.abs(h),o,n;h=h>0?1:-1;if(k==1){n=h==-1?function(){return l.getUTCMonth()==m}:function(){return l.getUTCMonth()!=o};o=m+h;l.setUTCMonth(o);if(o<0||o>11){o=(o+12)%12}}else{for(var j=0;j<k;j++){l=this.moveMonth(l,h)}o=l.getUTCMonth();l.setUTCDate(p);n=function(){return o!=l.getUTCMonth()}}while(n()){l.setUTCDate(--p);l.setUTCMonth(o)}return l},moveYear:function(h,g){return this.moveMonth(h,g*12)},dateWithinRange:function(g){return g>=this.startDate&&g<=this.endDate},keydown:function(n){if(this.picker.is(":not(:visible)")){if(n.keyCode==27){this.show()}return}var j=false,i,h,m,g,l;switch(n.keyCode){case 27:this.hide();n.preventDefault();break;case 37:case 39:if(!this.keyboardNavigation){break}i=n.keyCode==37?-1:1;if(n.ctrlKey){g=this.moveYear(this.date,i);l=this.moveYear(this.viewDate,i)}else{if(n.shiftKey){g=this.moveMonth(this.date,i);l=this.moveMonth(this.viewDate,i)}else{g=new Date(this.date);g.setUTCDate(this.date.getUTCDate()+i);l=new Date(this.viewDate);l.setUTCDate(this.viewDate.getUTCDate()+i)}}if(this.dateWithinRange(g)){this.date=g;this.viewDate=l;this.setValue();this.update();n.preventDefault();j=true}break;case 38:case 40:if(!this.keyboardNavigation){break}i=n.keyCode==38?-1:1;if(n.ctrlKey){g=this.moveYear(this.date,i);l=this.moveYear(this.viewDate,i)}else{if(n.shiftKey){g=this.moveMonth(this.date,i);l=this.moveMonth(this.viewDate,i)}else{g=new Date(this.date);g.setUTCDate(this.date.getUTCDate()+i*7);l=new Date(this.viewDate);l.setUTCDate(this.viewDate.getUTCDate()+i*7)}}if(this.dateWithinRange(g)){this.date=g;this.viewDate=l;this.setValue();this.update();n.preventDefault();j=true}break;case 13:this.hide();n.preventDefault();break;case 9:this.hide();break}if(j){this.element.trigger({type:"changeDate",date:this.date});var k;if(this.isInput){k=this.element}else{if(this.component){k=this.element.find("input")}}if(k){k.change()}}},showMode:function(g){if(g){this.viewMode=Math.max(this.minViewMode,Math.min(2,this.viewMode+g))}this.picker.find(">div").hide().filter(".datepicker-"+c.modes[this.viewMode].clsName).css("display","block");this.updateNavArrows()}};d.fn.datepicker=function(h){var g=Array.apply(null,arguments);g.shift();return this.each(function(){var k=d(this),j=k.data("datepicker"),i=typeof h=="object"&&h;if(!j){k.data("datepicker",(j=new a(this,d.extend({},d.fn.datepicker.defaults,i))))}if(typeof h=="string"&&typeof j[h]=="function"){j[h].apply(j,g)}})};d.fn.datepicker.defaults={};d.fn.datepicker.Constructor=a;var e=d.fn.datepicker.dates={en:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sun"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa","Su"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today"}};var c={modes:[{clsName:"days",navFnc:"Month",navStep:1},{clsName:"months",navFnc:"FullYear",navStep:1},{clsName:"years",navFnc:"FullYear",navStep:10}],isLeapYear:function(g){return(((g%4===0)&&(g%100!==0))||(g%400===0))},getDaysInMonth:function(g,h){return[31,(c.isLeapYear(g)?29:28),31,30,31,30,31,31,30,31,30,31][h]},validParts:/dd?|DD?|mm?|MM?|yy(?:yy)?/g,nonpunctuation:/[^ -\/:-@\[\u3400-\u9fff-`{-~\t\n\r]+/g,parseFormat:function(i){var g=i.replace(this.validParts,"\0").split("\0"),h=i.match(this.validParts);if(!g||!g.length||!h||h.length===0){throw new Error("Invalid date format.")}return{separators:g,parts:h}},parseDate:function(k,u,n){if(k instanceof Date){return k}if(/^[\-+]\d+[dmwy]([\s,]+[\-+]\d+[dmwy])*$/.test(k)){var w=/([\-+]\d+)([dmwy])/,m=k.match(/([\-+]\d+)([dmwy])/g),g,l;k=new Date();for(var o=0;o<m.length;o++){g=w.exec(m[o]);l=parseInt(g[1]);switch(g[2]){case"d":k.setUTCDate(k.getUTCDate()+l);break;case"m":k=a.prototype.moveMonth.call(a.prototype,k,l);break;case"w":k.setUTCDate(k.getUTCDate()+l*7);break;case"y":k=a.prototype.moveYear.call(a.prototype,k,l);break}}return f(k.getUTCFullYear(),k.getUTCMonth(),k.getUTCDate(),0,0,0)}var m=k&&k.match(this.nonpunctuation)||[],k=new Date(),r={},t=["yyyy","yy","M","MM","m","mm","d","dd"],v={yyyy:function(s,i){return s.setUTCFullYear(i)},yy:function(s,i){return s.setUTCFullYear(2000+i)},m:function(s,i){i-=1;while(i<0){i+=12}i%=12;s.setUTCMonth(i);while(s.getUTCMonth()!=i){s.setUTCDate(s.getUTCDate()-1)}return s},d:function(s,i){return s.setUTCDate(i)}},j,p,g;v.M=v.MM=v.mm=v.m;v.dd=v.d;k=f(k.getFullYear(),k.getMonth(),k.getDate(),0,0,0);var q=u.parts.slice();if(m.length!=q.length){q=d(q).filter(function(s,y){return d.inArray(y,t)!==-1}).toArray()}if(m.length==q.length){for(var o=0,h=q.length;o<h;o++){j=parseInt(m[o],10);g=q[o];if(isNaN(j)){switch(g){case"MM":p=d(e[n].months).filter(function(){var i=this.slice(0,m[o].length),s=m[o].slice(0,i.length);return i==s});j=d.inArray(p[0],e[n].months)+1;break;case"M":p=d(e[n].monthsShort).filter(function(){var i=this.slice(0,m[o].length),s=m[o].slice(0,i.length);return i==s});j=d.inArray(p[0],e[n].monthsShort)+1;break}}r[g]=j}for(var o=0,x;o<t.length;o++){x=t[o];if(x in r&&!isNaN(r[x])){v[x](k,r[x])}}}return k},formatDate:function(g,l,n){var m={d:g.getUTCDate(),D:e[n].daysShort[g.getUTCDay()],DD:e[n].days[g.getUTCDay()],m:g.getUTCMonth()+1,M:e[n].monthsShort[g.getUTCMonth()],MM:e[n].months[g.getUTCMonth()],yy:g.getUTCFullYear().toString().substring(2),yyyy:g.getUTCFullYear()};m.dd=(m.d<10?"0":"")+m.d;m.mm=(m.m<10?"0":"")+m.m;var g=[],k=d.extend([],l.separators);for(var j=0,h=l.parts.length;j<h;j++){if(k.length){g.push(k.shift())}g.push(m[l.parts[j]])}return g.join("")},headTemplate:'<thead><tr><th class="prev"><i class="icon-arrow-left"/></th><th colspan="5" class="switch"></th><th class="next"><i class="icon-arrow-right"/></th></tr></thead>',contTemplate:'<tbody><tr><td colspan="7"></td></tr></tbody>',footTemplate:'<tfoot><tr><th colspan="7" class="today"></th></tr></tfoot>'};c.template='<div class="datepicker"><div class="datepicker-days"><table class=" table-condensed">'+c.headTemplate+"<tbody></tbody>"+c.footTemplate+'</table></div><div class="datepicker-months"><table class="table-condensed">'+c.headTemplate+c.contTemplate+c.footTemplate+'</table></div><div class="datepicker-years"><table class="table-condensed">'+c.headTemplate+c.contTemplate+c.footTemplate+"</table></div></div>";d.fn.datepicker.DPGlobal=c}(window.jQuery);
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/js/date-time/bootstrap-timepicker.min.js b/src/main/webapp/static/login/assets/js/date-time/bootstrap-timepicker.min.js new file mode 100644 index 0000000..fdbb608 --- /dev/null +++ b/src/main/webapp/static/login/assets/js/date-time/bootstrap-timepicker.min.js @@ -0,0 +1,5 @@ +/*! bootstrap-timepicker v0.2.3 +* http://jdewit.github.com/bootstrap-timepicker +* Copyright (c) 2013 Joris de Wit +* MIT License +*/(function(t,i,e,s){"use strict";var h=function(i,e){this.widget="",this.$element=t(i),this.defaultTime=e.defaultTime,this.disableFocus=e.disableFocus,this.isOpen=e.isOpen,this.minuteStep=e.minuteStep,this.modalBackdrop=e.modalBackdrop,this.secondStep=e.secondStep,this.showInputs=e.showInputs,this.showMeridian=e.showMeridian,this.showSeconds=e.showSeconds,this.template=e.template,this.appendWidgetTo=e.appendWidgetTo,this._init()};h.prototype={constructor:h,_init:function(){var i=this;this.$element.parent().hasClass("input-append")||this.$element.parent().hasClass("input-prepend")?(this.$element.parent(".input-append, .input-prepend").find(".add-on").on({"click.timepicker":t.proxy(this.showWidget,this)}),this.$element.on({"focus.timepicker":t.proxy(this.highlightUnit,this),"click.timepicker":t.proxy(this.highlightUnit,this),"keydown.timepicker":t.proxy(this.elementKeydown,this),"blur.timepicker":t.proxy(this.blurElement,this)})):this.template?this.$element.on({"focus.timepicker":t.proxy(this.showWidget,this),"click.timepicker":t.proxy(this.showWidget,this),"blur.timepicker":t.proxy(this.blurElement,this)}):this.$element.on({"focus.timepicker":t.proxy(this.highlightUnit,this),"click.timepicker":t.proxy(this.highlightUnit,this),"keydown.timepicker":t.proxy(this.elementKeydown,this),"blur.timepicker":t.proxy(this.blurElement,this)}),this.$widget=this.template!==!1?t(this.getTemplate()).prependTo(this.$element.parents(this.appendWidgetTo)).on("click",t.proxy(this.widgetClick,this)):!1,this.showInputs&&this.$widget!==!1&&this.$widget.find("input").each(function(){t(this).on({"click.timepicker":function(){t(this).select()},"keydown.timepicker":t.proxy(i.widgetKeydown,i)})}),this.setDefaultTime(this.defaultTime)},blurElement:function(){this.highlightedUnit=s,this.updateFromElementVal()},decrementHour:function(){if(this.showMeridian)if(1===this.hour)this.hour=12;else{if(12===this.hour)return this.hour--,this.toggleMeridian();if(0===this.hour)return this.hour=11,this.toggleMeridian();this.hour--}else 0===this.hour?this.hour=23:this.hour--;this.update()},decrementMinute:function(t){var i;i=t?this.minute-t:this.minute-this.minuteStep,0>i?(this.decrementHour(),this.minute=i+60):this.minute=i,this.update()},decrementSecond:function(){var t=this.second-this.secondStep;0>t?(this.decrementMinute(!0),this.second=t+60):this.second=t,this.update()},elementKeydown:function(t){switch(t.keyCode){case 9:switch(this.updateFromElementVal(),this.highlightedUnit){case"hour":t.preventDefault(),this.highlightNextUnit();break;case"minute":(this.showMeridian||this.showSeconds)&&(t.preventDefault(),this.highlightNextUnit());break;case"second":this.showMeridian&&(t.preventDefault(),this.highlightNextUnit())}break;case 27:this.updateFromElementVal();break;case 37:t.preventDefault(),this.highlightPrevUnit(),this.updateFromElementVal();break;case 38:switch(t.preventDefault(),this.highlightedUnit){case"hour":this.incrementHour(),this.highlightHour();break;case"minute":this.incrementMinute(),this.highlightMinute();break;case"second":this.incrementSecond(),this.highlightSecond();break;case"meridian":this.toggleMeridian(),this.highlightMeridian()}break;case 39:t.preventDefault(),this.updateFromElementVal(),this.highlightNextUnit();break;case 40:switch(t.preventDefault(),this.highlightedUnit){case"hour":this.decrementHour(),this.highlightHour();break;case"minute":this.decrementMinute(),this.highlightMinute();break;case"second":this.decrementSecond(),this.highlightSecond();break;case"meridian":this.toggleMeridian(),this.highlightMeridian()}}},formatTime:function(t,i,e,s){return t=10>t?"0"+t:t,i=10>i?"0"+i:i,e=10>e?"0"+e:e,t+":"+i+(this.showSeconds?":"+e:"")+(this.showMeridian?" "+s:"")},getCursorPosition:function(){var t=this.$element.get(0);if("selectionStart"in t)return t.selectionStart;if(e.selection){t.focus();var i=e.selection.createRange(),s=e.selection.createRange().text.length;return i.moveStart("character",-t.value.length),i.text.length-s}},getTemplate:function(){var t,i,e,s,h,n;switch(this.showInputs?(i='<input type="text" name="hour" class="bootstrap-timepicker-hour" maxlength="2"/>',e='<input type="text" name="minute" class="bootstrap-timepicker-minute" maxlength="2"/>',s='<input type="text" name="second" class="bootstrap-timepicker-second" maxlength="2"/>',h='<input type="text" name="meridian" class="bootstrap-timepicker-meridian" maxlength="2"/>'):(i='<span class="bootstrap-timepicker-hour"></span>',e='<span class="bootstrap-timepicker-minute"></span>',s='<span class="bootstrap-timepicker-second"></span>',h='<span class="bootstrap-timepicker-meridian"></span>'),n='<table><tr><td><a href="#" data-action="incrementHour"><i class="icon-chevron-up"></i></a></td><td class="separator"> </td><td><a href="#" data-action="incrementMinute"><i class="icon-chevron-up"></i></a></td>'+(this.showSeconds?'<td class="separator"> </td><td><a href="#" data-action="incrementSecond"><i class="icon-chevron-up"></i></a></td>':"")+(this.showMeridian?'<td class="separator"> </td><td class="meridian-column"><a href="#" data-action="toggleMeridian"><i class="icon-chevron-up"></i></a></td>':"")+"</tr>"+"<tr>"+"<td>"+i+"</td> "+'<td class="separator">:</td>'+"<td>"+e+"</td> "+(this.showSeconds?'<td class="separator">:</td><td>'+s+"</td>":"")+(this.showMeridian?'<td class="separator"> </td><td>'+h+"</td>":"")+"</tr>"+"<tr>"+'<td><a href="#" data-action="decrementHour"><i class="icon-chevron-down"></i></a></td>'+'<td class="separator"></td>'+'<td><a href="#" data-action="decrementMinute"><i class="icon-chevron-down"></i></a></td>'+(this.showSeconds?'<td class="separator"> </td><td><a href="#" data-action="decrementSecond"><i class="icon-chevron-down"></i></a></td>':"")+(this.showMeridian?'<td class="separator"> </td><td><a href="#" data-action="toggleMeridian"><i class="icon-chevron-down"></i></a></td>':"")+"</tr>"+"</table>",this.template){case"modal":t='<div class="bootstrap-timepicker-widget modal hide fade in" data-backdrop="'+(this.modalBackdrop?"true":"false")+'">'+'<div class="modal-header">'+'<a href="#" class="close" data-dismiss="modal">×</a>'+"<h3>Pick a Time</h3>"+"</div>"+'<div class="modal-content">'+n+"</div>"+'<div class="modal-footer">'+'<a href="#" class="btn btn-primary" data-dismiss="modal">OK</a>'+"</div>"+"</div>";break;case"dropdown":t='<div class="bootstrap-timepicker-widget dropdown-menu">'+n+"</div>"}return t},getTime:function(){return this.formatTime(this.hour,this.minute,this.second,this.meridian)},hideWidget:function(){this.isOpen!==!1&&(this.showInputs&&this.updateFromWidgetInputs(),this.$element.trigger({type:"hide.timepicker",time:{value:this.getTime(),hours:this.hour,minutes:this.minute,seconds:this.second,meridian:this.meridian}}),"modal"===this.template?this.$widget.modal("hide"):this.$widget.removeClass("open"),t(e).off("mousedown.timepicker"),this.isOpen=!1)},highlightUnit:function(){this.position=this.getCursorPosition(),this.position>=0&&2>=this.position?this.highlightHour():this.position>=3&&5>=this.position?this.highlightMinute():this.position>=6&&8>=this.position?this.showSeconds?this.highlightSecond():this.highlightMeridian():this.position>=9&&11>=this.position&&this.highlightMeridian()},highlightNextUnit:function(){switch(this.highlightedUnit){case"hour":this.highlightMinute();break;case"minute":this.showSeconds?this.highlightSecond():this.showMeridian?this.highlightMeridian():this.highlightHour();break;case"second":this.showMeridian?this.highlightMeridian():this.highlightHour();break;case"meridian":this.highlightHour()}},highlightPrevUnit:function(){switch(this.highlightedUnit){case"hour":this.highlightMeridian();break;case"minute":this.highlightHour();break;case"second":this.highlightMinute();break;case"meridian":this.showSeconds?this.highlightSecond():this.highlightMinute()}},highlightHour:function(){var t=this.$element.get(0);this.highlightedUnit="hour",t.setSelectionRange&&setTimeout(function(){t.setSelectionRange(0,2)},0)},highlightMinute:function(){var t=this.$element.get(0);this.highlightedUnit="minute",t.setSelectionRange&&setTimeout(function(){t.setSelectionRange(3,5)},0)},highlightSecond:function(){var t=this.$element.get(0);this.highlightedUnit="second",t.setSelectionRange&&setTimeout(function(){t.setSelectionRange(6,8)},0)},highlightMeridian:function(){var t=this.$element.get(0);this.highlightedUnit="meridian",t.setSelectionRange&&(this.showSeconds?setTimeout(function(){t.setSelectionRange(9,11)},0):setTimeout(function(){t.setSelectionRange(6,8)},0))},incrementHour:function(){if(this.showMeridian){if(11===this.hour)return this.hour++,this.toggleMeridian();12===this.hour&&(this.hour=0)}return 23===this.hour?(this.hour=0,s):(this.hour++,this.update(),s)},incrementMinute:function(t){var i;i=t?this.minute+t:this.minute+this.minuteStep-this.minute%this.minuteStep,i>59?(this.incrementHour(),this.minute=i-60):this.minute=i,this.update()},incrementSecond:function(){var t=this.second+this.secondStep-this.second%this.secondStep;t>59?(this.incrementMinute(!0),this.second=t-60):this.second=t,this.update()},remove:function(){t("document").off(".timepicker"),this.$widget&&this.$widget.remove(),delete this.$element.data().timepicker},setDefaultTime:function(t){if(this.$element.val())this.updateFromElementVal();else if("current"===t){var i=new Date,e=i.getHours(),s=Math.floor(i.getMinutes()/this.minuteStep)*this.minuteStep,h=Math.floor(i.getSeconds()/this.secondStep)*this.secondStep,n="AM";this.showMeridian&&(0===e?e=12:e>=12?(e>12&&(e-=12),n="PM"):n="AM"),this.hour=e,this.minute=s,this.second=h,this.meridian=n,this.update()}else t===!1?(this.hour=0,this.minute=0,this.second=0,this.meridian="AM"):this.setTime(t)},setTime:function(t){var i,e;this.showMeridian?(i=t.split(" "),e=i[0].split(":"),this.meridian=i[1]):e=t.split(":"),this.hour=parseInt(e[0],10),this.minute=parseInt(e[1],10),this.second=parseInt(e[2],10),isNaN(this.hour)&&(this.hour=0),isNaN(this.minute)&&(this.minute=0),this.showMeridian?(this.hour>12?this.hour=12:1>this.hour&&(this.hour=12),"am"===this.meridian||"a"===this.meridian?this.meridian="AM":("pm"===this.meridian||"p"===this.meridian)&&(this.meridian="PM"),"AM"!==this.meridian&&"PM"!==this.meridian&&(this.meridian="AM")):this.hour>=24?this.hour=23:0>this.hour&&(this.hour=0),0>this.minute?this.minute=0:this.minute>=60&&(this.minute=59),this.showSeconds&&(isNaN(this.second)?this.second=0:0>this.second?this.second=0:this.second>=60&&(this.second=59)),this.update()},showWidget:function(){if(!this.isOpen&&!this.$element.is(":disabled")){var i=this;t(e).on("mousedown.timepicker",function(e){0===t(e.target).closest(".bootstrap-timepicker-widget").length&&i.hideWidget()}),this.$element.trigger({type:"show.timepicker",time:{value:this.getTime(),hours:this.hour,minutes:this.minute,seconds:this.second,meridian:this.meridian}}),this.disableFocus&&this.$element.blur(),this.updateFromElementVal(),"modal"===this.template?this.$widget.modal("show").on("hidden",t.proxy(this.hideWidget,this)):this.isOpen===!1&&this.$widget.addClass("open"),this.isOpen=!0}},toggleMeridian:function(){this.meridian="AM"===this.meridian?"PM":"AM",this.update()},update:function(){this.$element.trigger({type:"changeTime.timepicker",time:{value:this.getTime(),hours:this.hour,minutes:this.minute,seconds:this.second,meridian:this.meridian}}),this.updateElement(),this.updateWidget()},updateElement:function(){this.$element.val(this.getTime()).change()},updateFromElementVal:function(){var t=this.$element.val();t&&this.setTime(t)},updateWidget:function(){if(this.$widget!==!1){var t=10>this.hour?"0"+this.hour:this.hour,i=10>this.minute?"0"+this.minute:this.minute,e=10>this.second?"0"+this.second:this.second;this.showInputs?(this.$widget.find("input.bootstrap-timepicker-hour").val(t),this.$widget.find("input.bootstrap-timepicker-minute").val(i),this.showSeconds&&this.$widget.find("input.bootstrap-timepicker-second").val(e),this.showMeridian&&this.$widget.find("input.bootstrap-timepicker-meridian").val(this.meridian)):(this.$widget.find("span.bootstrap-timepicker-hour").text(t),this.$widget.find("span.bootstrap-timepicker-minute").text(i),this.showSeconds&&this.$widget.find("span.bootstrap-timepicker-second").text(e),this.showMeridian&&this.$widget.find("span.bootstrap-timepicker-meridian").text(this.meridian))}},updateFromWidgetInputs:function(){if(this.$widget!==!1){var i=t("input.bootstrap-timepicker-hour",this.$widget).val()+":"+t("input.bootstrap-timepicker-minute",this.$widget).val()+(this.showSeconds?":"+t("input.bootstrap-timepicker-second",this.$widget).val():"")+(this.showMeridian?" "+t("input.bootstrap-timepicker-meridian",this.$widget).val():"");this.setTime(i)}},widgetClick:function(i){i.stopPropagation(),i.preventDefault();var e=t(i.target).closest("a").data("action");e&&this[e]()},widgetKeydown:function(i){var e=t(i.target).closest("input"),s=e.attr("name");switch(i.keyCode){case 9:if(this.showMeridian){if("meridian"===s)return this.hideWidget()}else if(this.showSeconds){if("second"===s)return this.hideWidget()}else if("minute"===s)return this.hideWidget();this.updateFromWidgetInputs();break;case 27:this.hideWidget();break;case 38:switch(i.preventDefault(),s){case"hour":this.incrementHour();break;case"minute":this.incrementMinute();break;case"second":this.incrementSecond();break;case"meridian":this.toggleMeridian()}break;case 40:switch(i.preventDefault(),s){case"hour":this.decrementHour();break;case"minute":this.decrementMinute();break;case"second":this.decrementSecond();break;case"meridian":this.toggleMeridian()}}}},t.fn.timepicker=function(i){var e=Array.apply(null,arguments);return e.shift(),this.each(function(){var s=t(this),n=s.data("timepicker"),o="object"==typeof i&&i;n||s.data("timepicker",n=new h(this,t.extend({},t.fn.timepicker.defaults,o,t(this).data()))),"string"==typeof i&&n[i].apply(n,e)})},t.fn.timepicker.defaults={defaultTime:"current",disableFocus:!1,isOpen:!1,minuteStep:15,modalBackdrop:!1,secondStep:15,showSeconds:!1,showInputs:!0,showMeridian:!0,template:"dropdown",appendWidgetTo:".bootstrap-timepicker"},t.fn.timepicker.Constructor=h})(jQuery,window,document);
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/js/date-time/daterangepicker.min.js b/src/main/webapp/static/login/assets/js/date-time/daterangepicker.min.js new file mode 100644 index 0000000..b3a496d --- /dev/null +++ b/src/main/webapp/static/login/assets/js/date-time/daterangepicker.min.js @@ -0,0 +1 @@ +!function(b){var a=function(k,s,i){var q=typeof s=="object";var f;this.startDate=moment().startOf("day");this.endDate=moment().startOf("day");this.minDate=false;this.maxDate=false;this.dateLimit=false;this.showDropdowns=false;this.showWeekNumbers=false;this.timePicker=false;this.timePickerIncrement=30;this.timePicker12Hour=true;this.ranges={};this.opens="right";this.buttonClasses=["btn","btn-sm"];this.applyClass="btn-success";this.cancelClass="btn-default";this.format="MM/DD/YYYY";this.separator=" - ";this.locale={applyLabel:"Apply",cancelLabel:"Cancel",fromLabel:"From",toLabel:"To",weekLabel:"W",customRangeLabel:"Custom Range",daysOfWeek:moment()._lang._weekdaysMin.slice(),monthNames:moment()._lang._monthsShort.slice(),firstDay:0};this.cb=function(){};this.element=b(k);if(this.element.hasClass("pull-right")){this.opens="left"}if(this.element.is("input")){this.element.on({click:b.proxy(this.show,this),focus:b.proxy(this.show,this)})}else{this.element.on("click",b.proxy(this.show,this))}f=this.locale;if(q){if(typeof s.locale=="object"){b.each(f,function(t,c){f[t]=s.locale[t]||c})}if(s.applyClass){this.applyClass=s.applyClass}if(s.cancelClass){this.cancelClass=s.cancelClass}}var d='<div class="daterangepicker dropdown-menu"><div class="calendar left"></div><div class="calendar right"></div><div class="ranges"><div class="range_inputs"><div class="daterangepicker_start_input" style="float: left"><label for="daterangepicker_start">'+this.locale.fromLabel+'</label><input class="input-mini" type="text" name="daterangepicker_start" value="" disabled="disabled" /></div><div class="daterangepicker_end_input" style="float: left; padding-left: 11px"><label for="daterangepicker_end">'+this.locale.toLabel+'</label><input class="input-mini" type="text" name="daterangepicker_end" value="" disabled="disabled" /></div><button class="'+this.applyClass+' applyBtn" disabled="disabled">'+this.locale.applyLabel+'</button> <button class="'+this.cancelClass+' cancelBtn">'+this.locale.cancelLabel+"</button></div></div></div>";this.container=b(d).appendTo("body");if(q){if(typeof s.format=="string"){this.format=s.format}if(typeof s.separator=="string"){this.separator=s.separator}if(typeof s.startDate=="string"){this.startDate=moment(s.startDate,this.format)}if(typeof s.endDate=="string"){this.endDate=moment(s.endDate,this.format)}if(typeof s.minDate=="string"){this.minDate=moment(s.minDate,this.format)}if(typeof s.maxDate=="string"){this.maxDate=moment(s.maxDate,this.format)}if(typeof s.startDate=="object"){this.startDate=moment(s.startDate)}if(typeof s.endDate=="object"){this.endDate=moment(s.endDate)}if(typeof s.minDate=="object"){this.minDate=moment(s.minDate)}if(typeof s.maxDate=="object"){this.maxDate=moment(s.maxDate)}if(typeof s.ranges=="object"){for(var m in s.ranges){var e=moment(s.ranges[m][0]);var j=moment(s.ranges[m][1]);if(this.minDate&&e.isBefore(this.minDate)){e=moment(this.minDate)}if(this.maxDate&&j.isAfter(this.maxDate)){j=moment(this.maxDate)}if((this.minDate&&j.isBefore(this.minDate))||(this.maxDate&&e.isAfter(this.maxDate))){continue}this.ranges[m]=[e,j]}var n="<ul>";for(var m in this.ranges){n+="<li>"+m+"</li>"}n+="<li>"+this.locale.customRangeLabel+"</li>";n+="</ul>";this.container.find(".ranges").prepend(n)}if(typeof s.dateLimit=="object"){this.dateLimit=s.dateLimit}if(typeof s.locale=="object"){if(typeof s.locale.firstDay=="number"){this.locale.firstDay=s.locale.firstDay;var l=s.locale.firstDay;while(l>0){this.locale.daysOfWeek.push(this.locale.daysOfWeek.shift());l--}}}if(typeof s.opens=="string"){this.opens=s.opens}if(typeof s.showWeekNumbers=="boolean"){this.showWeekNumbers=s.showWeekNumbers}if(typeof s.buttonClasses=="string"){this.buttonClasses=[s.buttonClasses]}if(typeof s.buttonClasses=="object"){this.buttonClasses=s.buttonClasses}if(typeof s.showDropdowns=="boolean"){this.showDropdowns=s.showDropdowns}if(typeof s.timePicker=="boolean"){this.timePicker=s.timePicker}if(typeof s.timePickerIncrement=="number"){this.timePickerIncrement=s.timePickerIncrement}if(typeof s.timePicker12Hour=="boolean"){this.timePicker12Hour=s.timePicker12Hour}}if(!this.timePicker){this.startDate=this.startDate.startOf("day");this.endDate=this.endDate.startOf("day")}var p=this.container;b.each(this.buttonClasses,function(c,t){p.find("button").addClass(t)});if(this.opens=="right"){var h=this.container.find(".calendar.left");var r=this.container.find(".calendar.right");h.removeClass("left").addClass("right");r.removeClass("right").addClass("left")}if(typeof s=="undefined"||typeof s.ranges=="undefined"){this.container.find(".calendar").show();this.move()}if(typeof i=="function"){this.cb=i}this.container.addClass("opens"+this.opens);if(!q||(typeof s.startDate=="undefined"&&typeof s.endDate=="undefined")){if(b(this.element).is("input[type=text]")){var g=b(this.element).val();var o=g.split(this.separator);var e,j;if(o.length==2){e=moment(o[0],this.format);j=moment(o[1],this.format)}if(e!=null&&j!=null){this.startDate=e;this.endDate=j}}}this.oldStartDate=this.startDate.clone();this.oldEndDate=this.endDate.clone();this.leftCalendar={month:moment([this.startDate.year(),this.startDate.month(),1,this.startDate.hour(),this.startDate.minute()]),calendar:[]};this.rightCalendar={month:moment([this.endDate.year(),this.endDate.month(),1,this.endDate.hour(),this.endDate.minute()]),calendar:[]};this.container.on("mousedown",b.proxy(this.mousedown,this));this.container.find(".calendar").on("click",".prev",b.proxy(this.clickPrev,this));this.container.find(".calendar").on("click",".next",b.proxy(this.clickNext,this));this.container.find(".ranges").on("click","button.applyBtn",b.proxy(this.clickApply,this));this.container.find(".ranges").on("click","button.cancelBtn",b.proxy(this.clickCancel,this));this.container.find(".ranges").on("click",".daterangepicker_start_input",b.proxy(this.showCalendars,this));this.container.find(".ranges").on("click",".daterangepicker_end_input",b.proxy(this.showCalendars,this));this.container.find(".calendar").on("click","td.available",b.proxy(this.clickDate,this));this.container.find(".calendar").on("mouseenter","td.available",b.proxy(this.enterDate,this));this.container.find(".calendar").on("mouseleave","td.available",b.proxy(this.updateView,this));this.container.find(".ranges").on("click","li",b.proxy(this.clickRange,this));this.container.find(".ranges").on("mouseenter","li",b.proxy(this.enterRange,this));this.container.find(".ranges").on("mouseleave","li",b.proxy(this.updateView,this));this.container.find(".calendar").on("change","select.yearselect",b.proxy(this.updateMonthYear,this));this.container.find(".calendar").on("change","select.monthselect",b.proxy(this.updateMonthYear,this));this.container.find(".calendar").on("change","select.hourselect",b.proxy(this.updateTime,this));this.container.find(".calendar").on("change","select.minuteselect",b.proxy(this.updateTime,this));this.container.find(".calendar").on("change","select.ampmselect",b.proxy(this.updateTime,this));this.element.on("keyup",b.proxy(this.updateFromControl,this));this.updateView();this.updateCalendars()};a.prototype={constructor:a,mousedown:function(c){c.stopPropagation()},updateView:function(){this.leftCalendar.month.month(this.startDate.month()).year(this.startDate.year());this.rightCalendar.month.month(this.endDate.month()).year(this.endDate.year());this.container.find("input[name=daterangepicker_start]").val(this.startDate.format(this.format));this.container.find("input[name=daterangepicker_end]").val(this.endDate.format(this.format));if(this.startDate.isSame(this.endDate)||this.startDate.isBefore(this.endDate)){this.container.find("button.applyBtn").removeAttr("disabled")}else{this.container.find("button.applyBtn").attr("disabled","disabled")}},updateFromControl:function(){if(!this.element.is("input")){return}if(!this.element.val().length){return}var d=this.element.val().split(this.separator);var e=moment(d[0],this.format);var c=moment(d[1],this.format);if(e==null||c==null){return}if(c.isBefore(e)){return}this.startDate=e;this.endDate=c;this.notify();this.updateCalendars()},notify:function(){this.updateView();this.cb(this.startDate,this.endDate)},move:function(){var c=b(this.container).find(".ranges").outerWidth();if(b(this.container).find(".calendar").is(":visible")){var d=24;c+=b(this.container).find(".calendar").outerWidth()*2+d}if(this.opens=="left"){this.container.css({top:this.element.offset().top+this.element.outerHeight(),right:b(window).width()-this.element.offset().left-this.element.outerWidth(),left:"auto","min-width":c});if(this.container.offset().left<0){this.container.css({right:"auto",left:9})}}else{this.container.css({top:this.element.offset().top+this.element.outerHeight(),left:this.element.offset().left,right:"auto","min-width":c});if(this.container.offset().left+this.container.outerWidth()>b(window).width()){this.container.css({left:"auto",right:0})}}},show:function(c){this.container.show();this.move();if(c){c.stopPropagation();c.preventDefault()}b(document).on("mousedown",b.proxy(this.hide,this));this.element.trigger("shown",{target:c.target,picker:this})},hide:function(c){this.container.hide();if(!this.startDate.isSame(this.oldStartDate)||!this.endDate.isSame(this.oldEndDate)){this.notify()}this.oldStartDate=this.startDate.clone();this.oldEndDate=this.endDate.clone();b(document).off("mousedown",this.hide);this.element.trigger("hidden",{picker:this})},enterRange:function(f){var c=f.target.innerHTML;if(c==this.locale.customRangeLabel){this.updateView()}else{var d=this.ranges[c];this.container.find("input[name=daterangepicker_start]").val(d[0].format(this.format));this.container.find("input[name=daterangepicker_end]").val(d[1].format(this.format))}},showCalendars:function(){this.container.find(".calendar").show();this.move()},updateInputText:function(){if(this.element.is("input")){this.element.val(this.startDate.format(this.format)+this.separator+this.endDate.format(this.format))}},clickRange:function(f){var c=f.target.innerHTML;if(c==this.locale.customRangeLabel){this.showCalendars()}else{var d=this.ranges[c];this.startDate=d[0];this.endDate=d[1];if(!this.timePicker){this.startDate.startOf("day");this.endDate.startOf("day")}this.leftCalendar.month.month(this.startDate.month()).year(this.startDate.year()).hour(this.startDate.hour()).minute(this.startDate.minute());this.rightCalendar.month.month(this.endDate.month()).year(this.endDate.year()).hour(this.endDate.hour()).minute(this.endDate.minute());this.updateCalendars();this.updateInputText();this.container.find(".calendar").hide();this.hide()}},clickPrev:function(d){var c=b(d.target).parents(".calendar");if(c.hasClass("left")){this.leftCalendar.month.subtract("month",1)}else{this.rightCalendar.month.subtract("month",1)}this.updateCalendars()},clickNext:function(d){var c=b(d.target).parents(".calendar");if(c.hasClass("left")){this.leftCalendar.month.add("month",1)}else{this.rightCalendar.month.add("month",1)}this.updateCalendars()},enterDate:function(f){var h=b(f.target).attr("data-title");var g=h.substr(1,1);var c=h.substr(3,1);var d=b(f.target).parents(".calendar");if(d.hasClass("left")){this.container.find("input[name=daterangepicker_start]").val(this.leftCalendar.calendar[g][c].format(this.format))}else{this.container.find("input[name=daterangepicker_end]").val(this.rightCalendar.calendar[g][c].format(this.format))}},clickDate:function(j){var k=b(j.target).attr("data-title");var l=k.substr(1,1);var g=k.substr(3,1);var d=b(j.target).parents(".calendar");if(d.hasClass("left")){var f=this.leftCalendar.calendar[l][g];var i=this.endDate;if(typeof this.dateLimit=="object"){var c=moment(f).add(this.dateLimit).startOf("day");if(i.isAfter(c)){i=c}}}else{var f=this.startDate;var i=this.rightCalendar.calendar[l][g];if(typeof this.dateLimit=="object"){var h=moment(i).subtract(this.dateLimit).startOf("day");if(f.isBefore(h)){f=h}}}d.find("td").removeClass("active");if(f.isSame(i)||f.isBefore(i)){b(j.target).addClass("active");this.startDate=f;this.endDate=i}else{if(f.isAfter(i)){b(j.target).addClass("active");this.startDate=f;this.endDate=moment(f).add("day",1).startOf("day")}}this.leftCalendar.month.month(this.startDate.month()).year(this.startDate.year());this.rightCalendar.month.month(this.endDate.month()).year(this.endDate.year());this.updateCalendars()},clickApply:function(c){this.updateInputText();this.hide()},clickCancel:function(c){this.startDate=this.oldStartDate;this.endDate=this.oldEndDate;this.updateView();this.updateCalendars();this.hide()},updateMonthYear:function(g){var h=b(g.target).closest(".calendar").hasClass("left");var f=this.container.find(".calendar.left");if(!h){f=this.container.find(".calendar.right")}var d=f.find(".monthselect").val();var c=f.find(".yearselect").val();if(h){this.leftCalendar.month.month(d).year(c)}else{this.rightCalendar.month.month(d).year(c)}this.updateCalendars()},updateTime:function(h){var j=b(h.target).closest(".calendar").hasClass("left");var g=this.container.find(".calendar.left");if(!j){g=this.container.find(".calendar.right")}var d=parseInt(g.find(".hourselect").val());var i=parseInt(g.find(".minuteselect").val());if(this.timePicker12Hour){var f=g.find(".ampmselect").val();if(f=="PM"&&d<12){d+=12}if(f=="AM"&&d==12){d=0}}if(j){var k=this.startDate;k.hour(d);k.minute(i);this.startDate=k;this.leftCalendar.month.hour(d).minute(i)}else{var c=this.endDate;c.hour(d);c.minute(i);this.endDate=c;this.rightCalendar.month.hour(d).minute(i)}this.updateCalendars()},updateCalendars:function(){this.leftCalendar.calendar=this.buildCalendar(this.leftCalendar.month.month(),this.leftCalendar.month.year(),this.leftCalendar.month.hour(),this.leftCalendar.month.minute(),"left");this.rightCalendar.calendar=this.buildCalendar(this.rightCalendar.month.month(),this.rightCalendar.month.year(),this.rightCalendar.month.hour(),this.rightCalendar.month.minute(),"right");this.container.find(".calendar.left").html(this.renderCalendar(this.leftCalendar.calendar,this.startDate,this.minDate,this.maxDate));this.container.find(".calendar.right").html(this.renderCalendar(this.rightCalendar.calendar,this.endDate,this.startDate,this.maxDate));this.container.find(".ranges li").removeClass("active");var c=true;var e=0;for(var d in this.ranges){if(this.timePicker){if(this.startDate.isSame(this.ranges[d][0])&&this.endDate.isSame(this.ranges[d][1])){c=false;this.container.find(".ranges li:eq("+e+")").addClass("active")}}else{if(this.startDate.format("YYYY-MM-DD")==this.ranges[d][0].format("YYYY-MM-DD")&&this.endDate.format("YYYY-MM-DD")==this.ranges[d][1].format("YYYY-MM-DD")){c=false;this.container.find(".ranges li:eq("+e+")").addClass("active")}}e++}if(c){this.container.find(".ranges li:last").addClass("active")}},buildCalendar:function(o,q,h,g,p){var c=moment([q,o,1]);var m=moment(c).subtract("month",1).month();var l=moment(c).subtract("month",1).year();var r=moment([l,m]).daysInMonth();var e=c.day();var k=[];for(var j=0;j<6;j++){k[j]=[]}var n=r-e+this.locale.firstDay+1;if(n>r){n-=7}if(e==this.locale.firstDay){n=r-6}var f=moment([l,m,n,h,g]);for(var j=0,d=0,s=0;j<42;j++,d++,f=moment(f).add("day",1)){if(j>0&&d%7==0){d=0;s++}k[s][d]=f}return k},renderDropdowns:function(h,g,c){var k=h.month();var f='<select class="monthselect">';var d=false;var p=false;for(var e=0;e<12;e++){if((!d||e>=g.month())&&(!p||e<=c.month())){f+="<option value='"+e+"'"+(e===k?" selected='selected'":"")+">"+this.locale.monthNames[e]+"</option>"}}f+="</select>";var j=h.year();var i=(c&&c.year())||(j+5);var o=(g&&g.year())||(j-50);var n='<select class="yearselect">';for(var l=o;l<=i;l++){n+='<option value="'+l+'"'+(l===j?' selected="selected"':"")+">"+l+"</option>"}n+="</select>";return f+n},renderCalendar:function(m,k,j,d){var p='<div class="calendar-date">';p+='<table class="table-condensed">';p+="<thead>";p+="<tr>";if(this.showWeekNumbers){p+="<th></th>"}if(!j||j.isBefore(m[1][1])){p+='<th class="prev available"><i class="icon-arrow-left glyphicon glyphicon-arrow-left"></i></th>'}else{p+="<th></th>"}var f=this.locale.monthNames[m[1][1].month()]+m[1][1].format(" YYYY");if(this.showDropdowns){f=this.renderDropdowns(m[1][1],j,d)}p+='<th colspan="5" style="width: auto">'+f+"</th>";if(!d||d.isAfter(m[1][1])){p+='<th class="next available"><i class="icon-arrow-right glyphicon glyphicon-arrow-right"></i></th>'}else{p+="<th></th>"}p+="</tr>";p+="<tr>";if(this.showWeekNumbers){p+='<th class="week">'+this.locale.weekLabel+"</th>"}b.each(this.locale.daysOfWeek,function(s,i){p+="<th>"+i+"</th>"});p+="</tr>";p+="</thead>";p+="<tbody>";for(var r=0;r<6;r++){p+="<tr>";if(this.showWeekNumbers){p+='<td class="week">'+m[r][0].week()+"</td>"}for(var g=0;g<7;g++){var o="available ";o+=(m[r][g].month()==m[1][1].month())?"":"off";if((j&&m[r][g].isBefore(j))||(d&&m[r][g].isAfter(d))){o=" off disabled "}else{if(m[r][g].format("YYYY-MM-DD")==k.format("YYYY-MM-DD")){o+=" active ";if(m[r][g].format("YYYY-MM-DD")==this.startDate.format("YYYY-MM-DD")){o+=" start-date "}if(m[r][g].format("YYYY-MM-DD")==this.endDate.format("YYYY-MM-DD")){o+=" end-date "}}else{if(m[r][g]>=this.startDate&&m[r][g]<=this.endDate){o+=" in-range ";if(m[r][g].isSame(this.startDate)){o+=" start-date "}if(m[r][g].isSame(this.endDate)){o+=" end-date "}}}}var q="r"+r+"c"+g;p+='<td class="'+o.replace(/\s+/g," ").replace(/^\s?(.*?)\s?$/,"$1")+'" data-title="'+q+'">'+m[r][g].date()+"</td>"}p+="</tr>"}p+="</tbody>";p+="</table>";p+="</div>";if(this.timePicker){p+='<div class="calendar-time">';p+='<select class="hourselect">';var e=0;var h=23;var c=k.hour();if(this.timePicker12Hour){e=1;h=12;if(c>=12){c-=12}if(c==0){c=12}}for(var l=e;l<=h;l++){if(l==c){p+='<option value="'+l+'" selected="selected">'+l+"</option>"}else{p+='<option value="'+l+'">'+l+"</option>"}}p+="</select> : ";p+='<select class="minuteselect">';for(var l=0;l<60;l+=this.timePickerIncrement){var n=l;if(n<10){n="0"+n}if(l==k.minute()){p+='<option value="'+l+'" selected="selected">'+n+"</option>"}else{p+='<option value="'+l+'">'+n+"</option>"}}p+="</select> ";if(this.timePicker12Hour){p+='<select class="ampmselect">';if(k.hour()>=12){p+='<option value="AM">AM</option><option value="PM" selected="selected">PM</option>'}else{p+='<option value="AM" selected="selected">AM</option><option value="PM">PM</option>'}p+="</select>"}p+="</div>"}return p}};b.fn.daterangepicker=function(d,c){this.each(function(){var e=b(this);if(!e.data("daterangepicker")){e.data("daterangepicker",new a(e,d,c))}});return this}}(window.jQuery);
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/js/date-time/moment.min.js b/src/main/webapp/static/login/assets/js/date-time/moment.min.js new file mode 100644 index 0000000..4e8497a --- /dev/null +++ b/src/main/webapp/static/login/assets/js/date-time/moment.min.js @@ -0,0 +1,6 @@ +// moment.js +// version : 2.0.0 +// author : Tim Wood +// license : MIT +// momentjs.com +(function(e){function O(e,t){return function(n){return j(e.call(this,n),t)}}function M(e){return function(t){return this.lang().ordinal(e.call(this,t))}}function _(){}function D(e){H(this,e)}function P(e){var t=this._data={},n=e.years||e.year||e.y||0,r=e.months||e.month||e.M||0,i=e.weeks||e.week||e.w||0,s=e.days||e.day||e.d||0,o=e.hours||e.hour||e.h||0,u=e.minutes||e.minute||e.m||0,a=e.seconds||e.second||e.s||0,f=e.milliseconds||e.millisecond||e.ms||0;this._milliseconds=f+a*1e3+u*6e4+o*36e5,this._days=s+i*7,this._months=r+n*12,t.milliseconds=f%1e3,a+=B(f/1e3),t.seconds=a%60,u+=B(a/60),t.minutes=u%60,o+=B(u/60),t.hours=o%24,s+=B(o/24),s+=i*7,t.days=s%30,r+=B(s/30),t.months=r%12,n+=B(r/12),t.years=n}function H(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e}function B(e){return e<0?Math.ceil(e):Math.floor(e)}function j(e,t){var n=e+"";while(n.length<t)n="0"+n;return n}function F(e,t,n){var r=t._milliseconds,i=t._days,s=t._months,o;r&&e._d.setTime(+e+r*n),i&&e.date(e.date()+i*n),s&&(o=e.date(),e.date(1).month(e.month()+s*n).date(Math.min(o,e.daysInMonth())))}function I(e){return Object.prototype.toString.call(e)==="[object Array]"}function q(e,t){var n=Math.min(e.length,t.length),r=Math.abs(e.length-t.length),i=0,s;for(s=0;s<n;s++)~~e[s]!==~~t[s]&&i++;return i+r}function R(e,t){return t.abbr=e,s[e]||(s[e]=new _),s[e].set(t),s[e]}function U(e){return e?(!s[e]&&o&&require("./lang/"+e),s[e]):t.fn._lang}function z(e){return e.match(/\[.*\]/)?e.replace(/^\[|\]$/g,""):e.replace(/\\/g,"")}function W(e){var t=e.match(a),n,r;for(n=0,r=t.length;n<r;n++)A[t[n]]?t[n]=A[t[n]]:t[n]=z(t[n]);return function(i){var s="";for(n=0;n<r;n++)s+=typeof t[n].call=="function"?t[n].call(i,e):t[n];return s}}function X(e,t){function r(t){return e.lang().longDateFormat(t)||t}var n=5;while(n--&&f.test(t))t=t.replace(f,r);return C[t]||(C[t]=W(t)),C[t](e)}function V(e){switch(e){case"DDDD":return p;case"YYYY":return d;case"YYYYY":return v;case"S":case"SS":case"SSS":case"DDD":return h;case"MMM":case"MMMM":case"dd":case"ddd":case"dddd":case"a":case"A":return m;case"X":return b;case"Z":case"ZZ":return g;case"T":return y;case"MM":case"DD":case"YY":case"HH":case"hh":case"mm":case"ss":case"M":case"D":case"d":case"H":case"h":case"m":case"s":return c;default:return new RegExp(e.replace("\\",""))}}function $(e,t,n){var r,i,s=n._a;switch(e){case"M":case"MM":s[1]=t==null?0:~~t-1;break;case"MMM":case"MMMM":r=U(n._l).monthsParse(t),r!=null?s[1]=r:n._isValid=!1;break;case"D":case"DD":case"DDD":case"DDDD":t!=null&&(s[2]=~~t);break;case"YY":s[0]=~~t+(~~t>68?1900:2e3);break;case"YYYY":case"YYYYY":s[0]=~~t;break;case"a":case"A":n._isPm=(t+"").toLowerCase()==="pm";break;case"H":case"HH":case"h":case"hh":s[3]=~~t;break;case"m":case"mm":s[4]=~~t;break;case"s":case"ss":s[5]=~~t;break;case"S":case"SS":case"SSS":s[6]=~~(("0."+t)*1e3);break;case"X":n._d=new Date(parseFloat(t)*1e3);break;case"Z":case"ZZ":n._useUTC=!0,r=(t+"").match(x),r&&r[1]&&(n._tzh=~~r[1]),r&&r[2]&&(n._tzm=~~r[2]),r&&r[0]==="+"&&(n._tzh=-n._tzh,n._tzm=-n._tzm)}t==null&&(n._isValid=!1)}function J(e){var t,n,r=[];if(e._d)return;for(t=0;t<7;t++)e._a[t]=r[t]=e._a[t]==null?t===2?1:0:e._a[t];r[3]+=e._tzh||0,r[4]+=e._tzm||0,n=new Date(0),e._useUTC?(n.setUTCFullYear(r[0],r[1],r[2]),n.setUTCHours(r[3],r[4],r[5],r[6])):(n.setFullYear(r[0],r[1],r[2]),n.setHours(r[3],r[4],r[5],r[6])),e._d=n}function K(e){var t=e._f.match(a),n=e._i,r,i;e._a=[];for(r=0;r<t.length;r++)i=(V(t[r]).exec(n)||[])[0],i&&(n=n.slice(n.indexOf(i)+i.length)),A[t[r]]&&$(t[r],i,e);e._isPm&&e._a[3]<12&&(e._a[3]+=12),e._isPm===!1&&e._a[3]===12&&(e._a[3]=0),J(e)}function Q(e){var t,n,r,i=99,s,o,u;while(e._f.length){t=H({},e),t._f=e._f.pop(),K(t),n=new D(t);if(n.isValid()){r=n;break}u=q(t._a,n.toArray()),u<i&&(i=u,r=n)}H(e,r)}function G(e){var t,n=e._i;if(w.exec(n)){e._f="YYYY-MM-DDT";for(t=0;t<4;t++)if(S[t][1].exec(n)){e._f+=S[t][0];break}g.exec(n)&&(e._f+=" Z"),K(e)}else e._d=new Date(n)}function Y(t){var n=t._i,r=u.exec(n);n===e?t._d=new Date:r?t._d=new Date(+r[1]):typeof n=="string"?G(t):I(n)?(t._a=n.slice(0),J(t)):t._d=n instanceof Date?new Date(+n):new Date(n)}function Z(e,t,n,r,i){return i.relativeTime(t||1,!!n,e,r)}function et(e,t,n){var i=r(Math.abs(e)/1e3),s=r(i/60),o=r(s/60),u=r(o/24),a=r(u/365),f=i<45&&["s",i]||s===1&&["m"]||s<45&&["mm",s]||o===1&&["h"]||o<22&&["hh",o]||u===1&&["d"]||u<=25&&["dd",u]||u<=45&&["M"]||u<345&&["MM",r(u/30)]||a===1&&["y"]||["yy",a];return f[2]=t,f[3]=e>0,f[4]=n,Z.apply({},f)}function tt(e,n,r){var i=r-n,s=r-e.day();return s>i&&(s-=7),s<i-7&&(s+=7),Math.ceil(t(e).add("d",s).dayOfYear()/7)}function nt(e){var n=e._i,r=e._f;return n===null||n===""?null:(typeof n=="string"&&(e._i=n=U().preparse(n)),t.isMoment(n)?(e=H({},n),e._d=new Date(+n._d)):r?I(r)?Q(e):K(e):Y(e),new D(e))}function rt(e,n){t.fn[e]=t.fn[e+"s"]=function(e){var t=this._isUTC?"UTC":"";return e!=null?(this._d["set"+t+n](e),this):this._d["get"+t+n]()}}function it(e){t.duration.fn[e]=function(){return this._data[e]}}function st(e,n){t.duration.fn["as"+e]=function(){return+this/n}}var t,n="2.0.0",r=Math.round,i,s={},o=typeof module!="undefined"&&module.exports,u=/^\/?Date\((\-?\d+)/i,a=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|YYYYY|YYYY|YY|a|A|hh?|HH?|mm?|ss?|SS?S?|X|zz?|ZZ?|.)/g,f=/(\[[^\[]*\])|(\\)?(LT|LL?L?L?|l{1,4})/g,l=/([0-9a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+)/gi,c=/\d\d?/,h=/\d{1,3}/,p=/\d{3}/,d=/\d{1,4}/,v=/[+\-]?\d{1,6}/,m=/[0-9]*[a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF]+\s*?[\u0600-\u06FF]+/i,g=/Z|[\+\-]\d\d:?\d\d/i,y=/T/i,b=/[\+\-]?\d+(\.\d{1,3})?/,w=/^\s*\d{4}-\d\d-\d\d((T| )(\d\d(:\d\d(:\d\d(\.\d\d?\d?)?)?)?)?([\+\-]\d\d:?\d\d)?)?/,E="YYYY-MM-DDTHH:mm:ssZ",S=[["HH:mm:ss.S",/(T| )\d\d:\d\d:\d\d\.\d{1,3}/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],x=/([\+\-]|\d\d)/gi,T="Month|Date|Hours|Minutes|Seconds|Milliseconds".split("|"),N={Milliseconds:1,Seconds:1e3,Minutes:6e4,Hours:36e5,Days:864e5,Months:2592e6,Years:31536e6},C={},k="DDD w W M D d".split(" "),L="M D H h m s w W".split(" "),A={M:function(){return this.month()+1},MMM:function(e){return this.lang().monthsShort(this,e)},MMMM:function(e){return this.lang().months(this,e)},D:function(){return this.date()},DDD:function(){return this.dayOfYear()},d:function(){return this.day()},dd:function(e){return this.lang().weekdaysMin(this,e)},ddd:function(e){return this.lang().weekdaysShort(this,e)},dddd:function(e){return this.lang().weekdays(this,e)},w:function(){return this.week()},W:function(){return this.isoWeek()},YY:function(){return j(this.year()%100,2)},YYYY:function(){return j(this.year(),4)},YYYYY:function(){return j(this.year(),5)},a:function(){return this.lang().meridiem(this.hours(),this.minutes(),!0)},A:function(){return this.lang().meridiem(this.hours(),this.minutes(),!1)},H:function(){return this.hours()},h:function(){return this.hours()%12||12},m:function(){return this.minutes()},s:function(){return this.seconds()},S:function(){return~~(this.milliseconds()/100)},SS:function(){return j(~~(this.milliseconds()/10),2)},SSS:function(){return j(this.milliseconds(),3)},Z:function(){var e=-this.zone(),t="+";return e<0&&(e=-e,t="-"),t+j(~~(e/60),2)+":"+j(~~e%60,2)},ZZ:function(){var e=-this.zone(),t="+";return e<0&&(e=-e,t="-"),t+j(~~(10*e/6),4)},X:function(){return this.unix()}};while(k.length)i=k.pop(),A[i+"o"]=M(A[i]);while(L.length)i=L.pop(),A[i+i]=O(A[i],2);A.DDDD=O(A.DDD,3),_.prototype={set:function(e){var t,n;for(n in e)t=e[n],typeof t=="function"?this[n]=t:this["_"+n]=t},_months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),months:function(e){return this._months[e.month()]},_monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),monthsShort:function(e){return this._monthsShort[e.month()]},monthsParse:function(e){var n,r,i,s;this._monthsParse||(this._monthsParse=[]);for(n=0;n<12;n++){this._monthsParse[n]||(r=t([2e3,n]),i="^"+this.months(r,"")+"|^"+this.monthsShort(r,""),this._monthsParse[n]=new RegExp(i.replace(".",""),"i"));if(this._monthsParse[n].test(e))return n}},_weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdays:function(e){return this._weekdays[e.day()]},_weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysShort:function(e){return this._weekdaysShort[e.day()]},_weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),weekdaysMin:function(e){return this._weekdaysMin[e.day()]},_longDateFormat:{LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D YYYY",LLL:"MMMM D YYYY LT",LLLL:"dddd, MMMM D YYYY LT"},longDateFormat:function(e){var t=this._longDateFormat[e];return!t&&this._longDateFormat[e.toUpperCase()]&&(t=this._longDateFormat[e.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(e){return e.slice(1)}),this._longDateFormat[e]=t),t},meridiem:function(e,t,n){return e>11?n?"pm":"PM":n?"am":"AM"},_calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[last] dddd [at] LT",sameElse:"L"},calendar:function(e,t){var n=this._calendar[e];return typeof n=="function"?n.apply(t):n},_relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},relativeTime:function(e,t,n,r){var i=this._relativeTime[n];return typeof i=="function"?i(e,t,n,r):i.replace(/%d/i,e)},pastFuture:function(e,t){var n=this._relativeTime[e>0?"future":"past"];return typeof n=="function"?n(t):n.replace(/%s/i,t)},ordinal:function(e){return this._ordinal.replace("%d",e)},_ordinal:"%d",preparse:function(e){return e},postformat:function(e){return e},week:function(e){return tt(e,this._week.dow,this._week.doy)},_week:{dow:0,doy:6}},t=function(e,t,n){return nt({_i:e,_f:t,_l:n,_isUTC:!1})},t.utc=function(e,t,n){return nt({_useUTC:!0,_isUTC:!0,_l:n,_i:e,_f:t})},t.unix=function(e){return t(e*1e3)},t.duration=function(e,n){var r=t.isDuration(e),i=typeof e=="number",s=r?e._data:i?{}:e,o;return i&&(n?s[n]=e:s.milliseconds=e),o=new P(s),r&&e.hasOwnProperty("_lang")&&(o._lang=e._lang),o},t.version=n,t.defaultFormat=E,t.lang=function(e,n){var r;if(!e)return t.fn._lang._abbr;n?R(e,n):s[e]||U(e),t.duration.fn._lang=t.fn._lang=U(e)},t.langData=function(e){return e&&e._lang&&e._lang._abbr&&(e=e._lang._abbr),U(e)},t.isMoment=function(e){return e instanceof D},t.isDuration=function(e){return e instanceof P},t.fn=D.prototype={clone:function(){return t(this)},valueOf:function(){return+this._d},unix:function(){return Math.floor(+this._d/1e3)},toString:function(){return this.format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},toDate:function(){return this._d},toJSON:function(){return t.utc(this).format("YYYY-MM-DD[T]HH:mm:ss.SSS[Z]")},toArray:function(){var e=this;return[e.year(),e.month(),e.date(),e.hours(),e.minutes(),e.seconds(),e.milliseconds()]},isValid:function(){return this._isValid==null&&(this._a?this._isValid=!q(this._a,(this._isUTC?t.utc(this._a):t(this._a)).toArray()):this._isValid=!isNaN(this._d.getTime())),!!this._isValid},utc:function(){return this._isUTC=!0,this},local:function(){return this._isUTC=!1,this},format:function(e){var n=X(this,e||t.defaultFormat);return this.lang().postformat(n)},add:function(e,n){var r;return typeof e=="string"?r=t.duration(+n,e):r=t.duration(e,n),F(this,r,1),this},subtract:function(e,n){var r;return typeof e=="string"?r=t.duration(+n,e):r=t.duration(e,n),F(this,r,-1),this},diff:function(e,n,r){var i=this._isUTC?t(e).utc():t(e).local(),s=(this.zone()-i.zone())*6e4,o,u;return n&&(n=n.replace(/s$/,"")),n==="year"||n==="month"?(o=(this.daysInMonth()+i.daysInMonth())*432e5,u=(this.year()-i.year())*12+(this.month()-i.month()),u+=(this-t(this).startOf("month")-(i-t(i).startOf("month")))/o,n==="year"&&(u/=12)):(o=this-i-s,u=n==="second"?o/1e3:n==="minute"?o/6e4:n==="hour"?o/36e5:n==="day"?o/864e5:n==="week"?o/6048e5:o),r?u:B(u)},from:function(e,n){return t.duration(this.diff(e)).lang(this.lang()._abbr).humanize(!n)},fromNow:function(e){return this.from(t(),e)},calendar:function(){var e=this.diff(t().startOf("day"),"days",!0),n=e<-6?"sameElse":e<-1?"lastWeek":e<0?"lastDay":e<1?"sameDay":e<2?"nextDay":e<7?"nextWeek":"sameElse";return this.format(this.lang().calendar(n,this))},isLeapYear:function(){var e=this.year();return e%4===0&&e%100!==0||e%400===0},isDST:function(){return this.zone()<t([this.year()]).zone()||this.zone()<t([this.year(),5]).zone()},day:function(e){var t=this._isUTC?this._d.getUTCDay():this._d.getDay();return e==null?t:this.add({d:e-t})},startOf:function(e){e=e.replace(/s$/,"");switch(e){case"year":this.month(0);case"month":this.date(1);case"week":case"day":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return e==="week"&&this.day(0),this},endOf:function(e){return this.startOf(e).add(e.replace(/s?$/,"s"),1).subtract("ms",1)},isAfter:function(e,n){return n=typeof n!="undefined"?n:"millisecond",+this.clone().startOf(n)>+t(e).startOf(n)},isBefore:function(e,n){return n=typeof n!="undefined"?n:"millisecond",+this.clone().startOf(n)<+t(e).startOf(n)},isSame:function(e,n){return n=typeof n!="undefined"?n:"millisecond",+this.clone().startOf(n)===+t(e).startOf(n)},zone:function(){return this._isUTC?0:this._d.getTimezoneOffset()},daysInMonth:function(){return t.utc([this.year(),this.month()+1,0]).date()},dayOfYear:function(e){var n=r((t(this).startOf("day")-t(this).startOf("year"))/864e5)+1;return e==null?n:this.add("d",e-n)},isoWeek:function(e){var t=tt(this,1,4);return e==null?t:this.add("d",(e-t)*7)},week:function(e){var t=this.lang().week(this);return e==null?t:this.add("d",(e-t)*7)},lang:function(t){return t===e?this._lang:(this._lang=U(t),this)}};for(i=0;i<T.length;i++)rt(T[i].toLowerCase().replace(/s$/,""),T[i]);rt("year","FullYear"),t.fn.days=t.fn.day,t.fn.weeks=t.fn.week,t.fn.isoWeeks=t.fn.isoWeek,t.duration.fn=P.prototype={weeks:function(){return B(this.days()/7)},valueOf:function(){return this._milliseconds+this._days*864e5+this._months*2592e6},humanize:function(e){var t=+this,n=et(t,!e,this.lang());return e&&(n=this.lang().pastFuture(t,n)),this.lang().postformat(n)},lang:t.fn.lang};for(i in N)N.hasOwnProperty(i)&&(st(i,N[i]),it(i.toLowerCase()));st("Weeks",6048e5),t.lang("en",{ordinal:function(e){var t=e%10,n=~~(e%100/10)===1?"th":t===1?"st":t===2?"nd":t===3?"rd":"th";return e+n}}),o&&(module.exports=t),typeof ender=="undefined"&&(this.moment=t),typeof define=="function"&&define.amd&&define("moment",[],function(){return t})}).call(this);
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/js/dropzone.min.js b/src/main/webapp/static/login/assets/js/dropzone.min.js new file mode 100644 index 0000000..77b0204 --- /dev/null +++ b/src/main/webapp/static/login/assets/js/dropzone.min.js @@ -0,0 +1 @@ +(function(){function a(f,d,g){var b=a.resolve(f);if(null==b){g=g||f;d=d||"root";var e=new Error('Failed to require "'+g+'" from "'+d+'"');e.path=g;e.parent=d;e.require=true;throw e}var c=a.modules[b];if(!c.exports){c.exports={};c.client=c.component=true;c.call(this,c.exports,a.relative(b),c)}return c.exports}a.modules={};a.aliases={};a.resolve=function(c){if(c.charAt(0)==="/"){c=c.slice(1)}var d=[c,c+".js",c+".json",c+"/index.js",c+"/index.json"];for(var b=0;b<d.length;b++){var c=d[b];if(a.modules.hasOwnProperty(c)){return c}if(a.aliases.hasOwnProperty(c)){return a.aliases[c]}}};a.normalize=function(e,d){var b=[];if("."!=d.charAt(0)){return d}e=e.split("/");d=d.split("/");for(var c=0;c<d.length;++c){if(".."==d[c]){e.pop()}else{if("."!=d[c]&&""!=d[c]){b.push(d[c])}}}return e.concat(b).join("/")};a.register=function(c,b){a.modules[c]=b};a.alias=function(c,b){if(!a.modules.hasOwnProperty(c)){throw new Error('Failed to alias "'+c+'", it does not exist')}a.aliases[b]=c};a.relative=function(c){var e=a.normalize(c,"..");function b(f,h){var g=f.length;while(g--){if(f[g]===h){return g}}return -1}function d(g){var f=d.resolve(g);return a(f,c,g)}d.resolve=function(h){var j=h.charAt(0);if("/"==j){return h.slice(1)}if("."==j){return a.normalize(e,h)}var f=c.split("/");var g=b(f,"deps")+1;if(!g){g=0}h=f.slice(0,g+1).join("/")+"/deps/"+h;return h};d.exists=function(f){return a.modules.hasOwnProperty(d.resolve(f))};return d};a.register("component-emitter/index.js",function(c,d,e){e.exports=f;function f(g){if(g){return b(g)}}function b(h){for(var g in f.prototype){h[g]=f.prototype[g]}return h}f.prototype.on=function(h,g){this._callbacks=this._callbacks||{};(this._callbacks[h]=this._callbacks[h]||[]).push(g);return this};f.prototype.once=function(j,i){var h=this;this._callbacks=this._callbacks||{};function g(){h.off(j,g);i.apply(this,arguments)}i._off=g;this.on(j,g);return this};f.prototype.off=f.prototype.removeListener=f.prototype.removeAllListeners=function(k,h){this._callbacks=this._callbacks||{};var j=this._callbacks[k];if(!j){return this}if(1==arguments.length){delete this._callbacks[k];return this}var g=j.indexOf(h._off||h);if(~g){j.splice(g,1)}return this};f.prototype.emit=function(l){this._callbacks=this._callbacks||{};var h=[].slice.call(arguments,1),k=this._callbacks[l];if(k){k=k.slice(0);for(var j=0,g=k.length;j<g;++j){k[j].apply(this,h)}}return this};f.prototype.listeners=function(g){this._callbacks=this._callbacks||{};return this._callbacks[g]||[]};f.prototype.hasListeners=function(g){return !!this.listeners(g).length}});a.register("dropzone/index.js",function(b,c,d){d.exports=c("./lib/dropzone.js")});a.register("dropzone/lib/dropzone.js",function(b,c,d){(function(){var j,f,e,g,m,l,k={}.hasOwnProperty,h=function(q,o){for(var n in o){if(k.call(o,n)){q[n]=o[n]}}function p(){this.constructor=q}p.prototype=o.prototype;q.prototype=new p();q.__super__=o.prototype;return q},i=[].slice;f=typeof Emitter!=="undefined"&&Emitter!==null?Emitter:c("emitter");m=function(){};j=(function(o){var p;h(n,o);n.prototype.events=["drop","dragstart","dragend","dragenter","dragover","dragleave","selectedfiles","addedfile","removedfile","thumbnail","error","processing","processingmultiple","uploadprogress","totaluploadprogress","sending","sendingmultiple","success","successmultiple","canceled","canceledmultiple","complete","completemultiple","reset","maxfilesexceeded"];n.prototype.defaultOptions={url:null,method:"post",withCredentials:false,parallelUploads:2,uploadMultiple:false,maxFilesize:256,paramName:"file",createImageThumbnails:true,maxThumbnailFilesize:10,thumbnailWidth:100,thumbnailHeight:100,maxFiles:null,params:{},clickable:true,ignoreHiddenFiles:true,acceptedFiles:null,acceptedMimeTypes:null,autoProcessQueue:true,addRemoveLinks:false,previewsContainer:null,dictDefaultMessage:"Drop files here to upload",dictFallbackMessage:"Your browser does not support drag'n'drop file uploads.",dictFallbackText:"Please use the fallback form below to upload your files like in the olden days.",dictFileTooBig:"File is too big ({{filesize}}MB). Max filesize: {{maxFilesize}}MB.",dictInvalidFileType:"You can't upload files of this type.",dictResponseError:"Server responded with {{statusCode}} code.",dictCancelUpload:"Cancel upload",dictCancelUploadConfirmation:"Are you sure you want to cancel this upload?",dictRemoveFile:"Remove file",dictRemoveFileConfirmation:null,dictMaxFilesExceeded:"You can only upload {{maxFiles}} files.",accept:function(r,q){return q()},init:function(){return m},forceFallback:false,fallback:function(){var v,r,s,u,q,t;this.element.className=""+this.element.className+" dz-browser-not-supported";t=this.element.getElementsByTagName("div");for(u=0,q=t.length;u<q;u++){v=t[u];if(/(^| )dz-message($| )/.test(v.className)){r=v;v.className="dz-message";continue}}if(!r){r=n.createElement('<div class="dz-message"><span></span></div>');this.element.appendChild(r)}s=r.getElementsByTagName("span")[0];if(s){s.textContent=this.options.dictFallbackMessage}return this.element.appendChild(this.getFallbackForm())},resize:function(r){var t,s,q;t={srcX:0,srcY:0,srcWidth:r.width,srcHeight:r.height};s=r.width/r.height;q=this.options.thumbnailWidth/this.options.thumbnailHeight;if(r.height<this.options.thumbnailHeight||r.width<this.options.thumbnailWidth){t.trgHeight=t.srcHeight;t.trgWidth=t.srcWidth}else{if(s>q){t.srcHeight=r.height;t.srcWidth=t.srcHeight*q}else{t.srcWidth=r.width;t.srcHeight=t.srcWidth/q}}t.srcX=(r.width-t.srcWidth)/2;t.srcY=(r.height-t.srcHeight)/2;return t},drop:function(q){return this.element.classList.remove("dz-drag-hover")},dragstart:m,dragend:function(q){return this.element.classList.remove("dz-drag-hover")},dragenter:function(q){return this.element.classList.add("dz-drag-hover")},dragover:function(q){return this.element.classList.add("dz-drag-hover")},dragleave:function(q){return this.element.classList.remove("dz-drag-hover")},selectedfiles:function(q){if(this.element===this.previewsContainer){return this.element.classList.add("dz-started")}},reset:function(){return this.element.classList.remove("dz-started")},addedfile:function(q){var r=this;q.previewElement=n.createElement(this.options.previewTemplate);q.previewTemplate=q.previewElement;this.previewsContainer.appendChild(q.previewElement);q.previewElement.querySelector("[data-dz-name]").textContent=q.name;q.previewElement.querySelector("[data-dz-size]").innerHTML=this.filesize(q.size);if(this.options.addRemoveLinks){q._removeLink=n.createElement('<a class="dz-remove" href="javascript:undefined;">'+this.options.dictRemoveFile+"</a>");q._removeLink.addEventListener("click",function(s){s.preventDefault();s.stopPropagation();if(q.status===n.UPLOADING){return n.confirm(r.options.dictCancelUploadConfirmation,function(){return r.removeFile(q)})}else{if(r.options.dictRemoveFileConfirmation){return n.confirm(r.options.dictRemoveFileConfirmation,function(){return r.removeFile(q)})}else{return r.removeFile(q)}}});q.previewElement.appendChild(q._removeLink)}return this._updateMaxFilesReachedClass()},removedfile:function(q){var r;if((r=q.previewElement)!=null){r.parentNode.removeChild(q.previewElement)}return this._updateMaxFilesReachedClass()},thumbnail:function(r,s){var q;r.previewElement.classList.remove("dz-file-preview");r.previewElement.classList.add("dz-image-preview");q=r.previewElement.querySelector("[data-dz-thumbnail]");q.alt=r.name;return q.src=s},error:function(q,r){q.previewElement.classList.add("dz-error");return q.previewElement.querySelector("[data-dz-errormessage]").textContent=r},processing:function(q){q.previewElement.classList.add("dz-processing");if(q._removeLink){return q._removeLink.textContent=this.options.dictCancelUpload}},processingmultiple:m,uploadprogress:function(s,q,r){return s.previewElement.querySelector("[data-dz-uploadprogress]").style.width=""+q+"%"},totaluploadprogress:m,sending:m,sendingmultiple:m,success:function(q){return q.previewElement.classList.add("dz-success")},successmultiple:m,canceled:function(q){return this.emit("error",q,"Upload canceled.")},canceledmultiple:m,complete:function(q){if(q._removeLink){return q._removeLink.textContent=this.options.dictRemoveFile}},completemultiple:m,maxfilesexceeded:m,previewTemplate:'<div class="dz-preview dz-file-preview">\n <div class="dz-details">\n <div class="dz-filename"><span data-dz-name></span></div>\n <div class="dz-size" data-dz-size></div>\n <img data-dz-thumbnail />\n </div>\n <div class="dz-progress"><span class="dz-upload" data-dz-uploadprogress></span></div>\n <div class="dz-success-mark"><span>✔</span></div>\n <div class="dz-error-mark"><span>✘</span></div>\n <div class="dz-error-message"><span data-dz-errormessage></span></div>\n</div>'};p=function(){var s,r,u,v,w,t,q;v=arguments[0],u=2<=arguments.length?i.call(arguments,1):[];for(t=0,q=u.length;t<q;t++){r=u[t];for(s in r){w=r[s];v[s]=w}}return v};function n(s,r){var q,u,t;this.element=s;this.version=n.version;this.defaultOptions.previewTemplate=this.defaultOptions.previewTemplate.replace(/\n*/g,"");this.clickableElements=[];this.listeners=[];this.files=[];if(typeof this.element==="string"){this.element=document.querySelector(this.element)}if(!(this.element&&(this.element.nodeType!=null))){throw new Error("Invalid dropzone element.")}if(this.element.dropzone){throw new Error("Dropzone already attached.")}n.instances.push(this);s.dropzone=this;q=(t=n.optionsForElement(this.element))!=null?t:{};this.options=p({},this.defaultOptions,q,r!=null?r:{});if(this.options.forceFallback||!n.isBrowserSupported()){return this.options.fallback.call(this)}if(this.options.url==null){this.options.url=this.element.getAttribute("action")}if(!this.options.url){throw new Error("No URL provided.")}if(this.options.acceptedFiles&&this.options.acceptedMimeTypes){throw new Error("You can't provide both 'acceptedFiles' and 'acceptedMimeTypes'. 'acceptedMimeTypes' is deprecated.")}if(this.options.acceptedMimeTypes){this.options.acceptedFiles=this.options.acceptedMimeTypes;delete this.options.acceptedMimeTypes}this.options.method=this.options.method.toUpperCase();if((u=this.getExistingFallback())&&u.parentNode){u.parentNode.removeChild(u)}if(this.options.previewsContainer){this.previewsContainer=n.getElement(this.options.previewsContainer,"previewsContainer")}else{this.previewsContainer=this.element}if(this.options.clickable){if(this.options.clickable===true){this.clickableElements=[this.element]}else{this.clickableElements=n.getElements(this.options.clickable,"clickable")}}this.init()}n.prototype.getAcceptedFiles=function(){var s,u,r,t,q;t=this.files;q=[];for(u=0,r=t.length;u<r;u++){s=t[u];if(s.accepted){q.push(s)}}return q};n.prototype.getRejectedFiles=function(){var s,u,r,t,q;t=this.files;q=[];for(u=0,r=t.length;u<r;u++){s=t[u];if(!s.accepted){q.push(s)}}return q};n.prototype.getQueuedFiles=function(){var s,u,r,t,q;t=this.files;q=[];for(u=0,r=t.length;u<r;u++){s=t[u];if(s.status===n.QUEUED){q.push(s)}}return q};n.prototype.getUploadingFiles=function(){var s,u,r,t,q;t=this.files;q=[];for(u=0,r=t.length;u<r;u++){s=t[u];if(s.status===n.UPLOADING){q.push(s)}}return q};n.prototype.init=function(){var s,w,v,u,r,t,q,x=this;if(this.element.tagName==="form"){this.element.setAttribute("enctype","multipart/form-data")}if(this.element.classList.contains("dropzone")&&!this.element.querySelector(".dz-message")){this.element.appendChild(n.createElement('<div class="dz-default dz-message"><span>'+this.options.dictDefaultMessage+"</span></div>"))}if(this.clickableElements.length){v=function(){if(x.hiddenFileInput){document.body.removeChild(x.hiddenFileInput)}x.hiddenFileInput=document.createElement("input");x.hiddenFileInput.setAttribute("type","file");x.hiddenFileInput.setAttribute("multiple","multiple");if(x.options.acceptedFiles!=null){x.hiddenFileInput.setAttribute("accept",x.options.acceptedFiles)}x.hiddenFileInput.style.visibility="hidden";x.hiddenFileInput.style.position="absolute";x.hiddenFileInput.style.top="0";x.hiddenFileInput.style.left="0";x.hiddenFileInput.style.height="0";x.hiddenFileInput.style.width="0";document.body.appendChild(x.hiddenFileInput);return x.hiddenFileInput.addEventListener("change",function(){var y;y=x.hiddenFileInput.files;if(y.length){x.emit("selectedfiles",y);x.handleFiles(y)}return v()})};v()}this.URL=(t=window.URL)!=null?t:window.webkitURL;q=this.events;for(u=0,r=q.length;u<r;u++){s=q[u];this.on(s,this.options[s])}this.on("uploadprogress",function(){return x.updateTotalUploadProgress()});this.on("removedfile",function(){return x.updateTotalUploadProgress()});this.on("canceled",function(y){return x.emit("complete",y)});w=function(y){y.stopPropagation();if(y.preventDefault){return y.preventDefault()}else{return y.returnValue=false}};this.listeners=[{element:this.element,events:{dragstart:function(y){return x.emit("dragstart",y)},dragenter:function(y){w(y);return x.emit("dragenter",y)},dragover:function(y){w(y);return x.emit("dragover",y)},dragleave:function(y){return x.emit("dragleave",y)},drop:function(y){w(y);x.drop(y);return x.emit("drop",y)},dragend:function(y){return x.emit("dragend",y)}}}];this.clickableElements.forEach(function(y){return x.listeners.push({element:y,events:{click:function(z){if((y!==x.element)||(z.target===x.element||n.elementInside(z.target,x.element.querySelector(".dz-message")))){return x.hiddenFileInput.click()}}}})});this.enable();return this.options.init.call(this)};n.prototype.destroy=function(){var q;this.disable();this.removeAllFiles(true);if((q=this.hiddenFileInput)!=null?q.parentNode:void 0){this.hiddenFileInput.parentNode.removeChild(this.hiddenFileInput);this.hiddenFileInput=null}return delete this.element.dropzone};n.prototype.updateTotalUploadProgress=function(){var r,t,x,q,w,v,s,u;q=0;x=0;r=this.getAcceptedFiles();if(r.length){u=this.getAcceptedFiles();for(v=0,s=u.length;v<s;v++){t=u[v];q+=t.upload.bytesSent;x+=t.upload.total}w=100*q/x}else{w=100}return this.emit("totaluploadprogress",w,x,q)};n.prototype.getFallbackForm=function(){var r,q,t,s;if(r=this.getExistingFallback()){return r}t='<div class="dz-fallback">';if(this.options.dictFallbackText){t+="<p>"+this.options.dictFallbackText+"</p>"}t+='<input type="file" name="'+this.options.paramName+(this.options.uploadMultiple?"[]":"")+'" '+(this.options.uploadMultiple?'multiple="multiple"':void 0)+' /><button type="submit">Upload!</button></div>';q=n.createElement(t);if(this.element.tagName!=="FORM"){s=n.createElement('<form action="'+this.options.url+'" enctype="multipart/form-data" method="'+this.options.method+'"></form>');s.appendChild(q)}else{this.element.setAttribute("enctype","multipart/form-data");this.element.setAttribute("method",this.options.method)}return s!=null?s:q};n.prototype.getExistingFallback=function(){var v,s,r,u,q,t;s=function(z){var x,y,w;for(y=0,w=z.length;y<w;y++){x=z[y];if(/(^| )fallback($| )/.test(x.className)){return x}}};t=["div","form"];for(u=0,q=t.length;u<q;u++){r=t[u];if(v=s(this.element.getElementsByTagName(r))){return v}}};n.prototype.setupEventListeners=function(){var t,s,w,v,r,u,q;u=this.listeners;q=[];for(v=0,r=u.length;v<r;v++){t=u[v];q.push((function(){var x,y;x=t.events;y=[];for(s in x){w=x[s];y.push(t.element.addEventListener(s,w,false))}return y})())}return q};n.prototype.removeEventListeners=function(){var t,s,w,v,r,u,q;u=this.listeners;q=[];for(v=0,r=u.length;v<r;v++){t=u[v];q.push((function(){var x,y;x=t.events;y=[];for(s in x){w=x[s];y.push(t.element.removeEventListener(s,w,false))}return y})())}return q};n.prototype.disable=function(){var s,u,r,t,q;this.clickableElements.forEach(function(v){return v.classList.remove("dz-clickable")});this.removeEventListeners();t=this.files;q=[];for(u=0,r=t.length;u<r;u++){s=t[u];q.push(this.cancelUpload(s))}return q};n.prototype.enable=function(){this.clickableElements.forEach(function(q){return q.classList.add("dz-clickable")});return this.setupEventListeners()};n.prototype.filesize=function(r){var q;if(r>=100000000000){r=r/100000000000;q="TB"}else{if(r>=100000000){r=r/100000000;q="GB"}else{if(r>=100000){r=r/100000;q="MB"}else{if(r>=100){r=r/100;q="KB"}else{r=r*10;q="b"}}}}return"<strong>"+(Math.round(r)/10)+"</strong> "+q};n.prototype._updateMaxFilesReachedClass=function(){if(this.options.maxFiles&&this.getAcceptedFiles().length>=this.options.maxFiles){return this.element.classList.add("dz-max-files-reached")}else{return this.element.classList.remove("dz-max-files-reached")}};n.prototype.drop=function(s){var r,q;if(!s.dataTransfer){return}r=s.dataTransfer.files;this.emit("selectedfiles",r);if(r.length){q=s.dataTransfer.items;if(q&&q.length&&((q[0].webkitGetAsEntry!=null)||(q[0].getAsEntry!=null))){this.handleItems(q)}else{this.handleFiles(r)}}};n.prototype.handleFiles=function(t){var s,u,r,q;q=[];for(u=0,r=t.length;u<r;u++){s=t[u];q.push(this.addFile(s))}return q};n.prototype.handleItems=function(r){var t,s,u,q;for(u=0,q=r.length;u<q;u++){s=r[u];if(s.webkitGetAsEntry!=null){t=s.webkitGetAsEntry();if(t.isFile){this.addFile(s.getAsFile())}else{if(t.isDirectory){this.addDirectory(t,t.name)}}}else{this.addFile(s.getAsFile())}}};n.prototype.accept=function(r,q){if(r.size>this.options.maxFilesize*1024*1024){return q(this.options.dictFileTooBig.replace("{{filesize}}",Math.round(r.size/1024/10.24)/100).replace("{{maxFilesize}}",this.options.maxFilesize))}else{if(!n.isValidFile(r,this.options.acceptedFiles)){return q(this.options.dictInvalidFileType)}else{if(this.options.maxFiles&&this.getAcceptedFiles().length>=this.options.maxFiles){q(this.options.dictMaxFilesExceeded.replace("{{maxFiles}}",this.options.maxFiles));return this.emit("maxfilesexceeded",r)}else{return this.options.accept.call(this,r,q)}}}};n.prototype.addFile=function(q){var r=this;q.upload={progress:0,total:q.size,bytesSent:0};this.files.push(q);q.status=n.ADDED;this.emit("addedfile",q);if(this.options.createImageThumbnails&&q.type.match(/image.*/)&&q.size<=this.options.maxThumbnailFilesize*1024*1024){this.createThumbnail(q)}return this.accept(q,function(s){if(s){q.accepted=false;return r._errorProcessing([q],s)}else{return r.enqueueFile(q)}})};n.prototype.enqueueFiles=function(s){var r,t,q;for(t=0,q=s.length;t<q;t++){r=s[t];this.enqueueFile(r)}return null};n.prototype.enqueueFile=function(q){var r=this;q.accepted=true;if(q.status===n.ADDED){q.status=n.QUEUED;if(this.options.autoProcessQueue){return setTimeout((function(){return r.processQueue()}),1)}}else{throw new Error("This file can't be queued because it has already been processed or was rejected.")}};n.prototype.addDirectory=function(r,s){var q,u,t=this;q=r.createReader();u=function(v){var x,w;for(x=0,w=v.length;x<w;x++){r=v[x];if(r.isFile){r.file(function(y){if(t.options.ignoreHiddenFiles&&y.name.substring(0,1)==="."){return}y.fullPath=""+s+"/"+y.name;return t.addFile(y)})}else{if(r.isDirectory){t.addDirectory(r,""+s+"/"+r.name)}}}};return q.readEntries(u,function(v){return typeof console!=="undefined"&&console!==null?typeof console.log==="function"?console.log(v):void 0:void 0})};n.prototype.removeFile=function(q){if(q.status===n.UPLOADING){this.cancelUpload(q)}this.files=l(this.files,q);this.emit("removedfile",q);if(this.files.length===0){return this.emit("reset")}};n.prototype.removeAllFiles=function(u){var r,t,q,s;if(u==null){u=false}s=this.files.slice();for(t=0,q=s.length;t<q;t++){r=s[t];if(r.status!==n.UPLOADING||u){this.removeFile(r)}}return null};n.prototype.createThumbnail=function(r){var q,s=this;q=new FileReader;q.onload=function(){var t;t=new Image;t.onload=function(){var w,v,z,B,x,u,A,y;r.width=t.width;r.height=t.height;z=s.options.resize.call(s,r);if(z.trgWidth==null){z.trgWidth=s.options.thumbnailWidth}if(z.trgHeight==null){z.trgHeight=s.options.thumbnailHeight}w=document.createElement("canvas");v=w.getContext("2d");w.width=z.trgWidth;w.height=z.trgHeight;v.drawImage(t,(x=z.srcX)!=null?x:0,(u=z.srcY)!=null?u:0,z.srcWidth,z.srcHeight,(A=z.trgX)!=null?A:0,(y=z.trgY)!=null?y:0,z.trgWidth,z.trgHeight);B=w.toDataURL("image/png");return s.emit("thumbnail",r,B)};return t.src=q.result};return q.readAsDataURL(r)};n.prototype.processQueue=function(){var r,t,q,s;t=this.options.parallelUploads;q=this.getUploadingFiles().length;r=q;if(q>=t){return}s=this.getQueuedFiles();if(!(s.length>0)){return}if(this.options.uploadMultiple){return this.processFiles(s.slice(0,t-q))}else{while(r<t){if(!s.length){return}this.processFile(s.shift());r++}}};n.prototype.processFile=function(q){return this.processFiles([q])};n.prototype.processFiles=function(s){var r,t,q;for(t=0,q=s.length;t<q;t++){r=s[t];r.processing=true;r.status=n.UPLOADING;this.emit("processing",r)}if(this.options.uploadMultiple){this.emit("processingmultiple",s)}return this.uploadFiles(s)};n.prototype._getFilesWithXhr=function(s){var q,r;return r=(function(){var w,u,v,t;v=this.files;t=[];for(w=0,u=v.length;w<u;w++){q=v[w];if(q.xhr===s){t.push(q)}}return t}).call(this)};n.prototype.cancelUpload=function(u){var s,t,x,v,r,q,w;if(u.status===n.UPLOADING){t=this._getFilesWithXhr(u.xhr);for(x=0,r=t.length;x<r;x++){s=t[x];s.status=n.CANCELED}u.xhr.abort();for(v=0,q=t.length;v<q;v++){s=t[v];this.emit("canceled",s)}if(this.options.uploadMultiple){this.emit("canceledmultiple",t)}}else{if((w=u.status)===n.ADDED||w===n.QUEUED){u.status=n.CANCELED;this.emit("canceled",u);if(this.options.uploadMultiple){this.emit("canceledmultiple",[u])}}}if(this.options.autoProcessQueue){return this.processQueue()}};n.prototype.uploadFile=function(q){return this.uploadFiles([q])};n.prototype.uploadFiles=function(z){var N,M,E,I,B,w,H,D,J,S,A,r,F,K,C,v,t,s,q,P,R,Q,O,G,y,x,u,L=this;C=new XMLHttpRequest();for(v=0,P=z.length;v<P;v++){N=z[v];N.xhr=C}C.open(this.options.method,this.options.url,true);C.withCredentials=!!this.options.withCredentials;r=null;E=function(){var V,U,T;T=[];for(V=0,U=z.length;V<U;V++){N=z[V];T.push(L._errorProcessing(z,r||L.options.dictResponseError.replace("{{statusCode}}",C.status),C))}return T};F=function(ac){var X,U,ab,Z,Y,W,V,T,aa;if(ac!=null){U=100*ac.loaded/ac.total;for(ab=0,W=z.length;ab<W;ab++){N=z[ab];N.upload={progress:U,total:ac.total,bytesSent:ac.loaded}}}else{X=true;U=100;for(Z=0,V=z.length;Z<V;Z++){N=z[Z];if(!(N.upload.progress===100&&N.upload.bytesSent===N.upload.total)){X=false}N.upload.progress=U;N.upload.bytesSent=N.upload.total}if(X){return}}aa=[];for(Y=0,T=z.length;Y<T;Y++){N=z[Y];aa.push(L.emit("uploadprogress",N,U,N.upload.bytesSent))}return aa};C.onload=function(U){var T;if(z[0].status===n.CANCELED){return}if(C.readyState!==4){return}r=C.responseText;if(C.getResponseHeader("content-type")&&~C.getResponseHeader("content-type").indexOf("application/json")){try{r=JSON.parse(r)}catch(V){U=V;r="Invalid JSON response from server."}}F();if(!((200<=(T=C.status)&&T<300))){return E()}else{return L._finished(z,r,U)}};C.onerror=function(){if(z[0].status===n.CANCELED){return}return E()};A=(G=C.upload)!=null?G:C;A.onprogress=F;w={Accept:"application/json","Cache-Control":"no-cache","X-Requested-With":"XMLHttpRequest"};if(this.options.headers){p(w,this.options.headers)}for(I in w){B=w[I];C.setRequestHeader(I,B)}M=new FormData();if(this.options.params){y=this.options.params;for(S in y){K=y[S];M.append(S,K)}}for(t=0,R=z.length;t<R;t++){N=z[t];this.emit("sending",N,C,M)}if(this.options.uploadMultiple){this.emit("sendingmultiple",z,C,M)}if(this.element.tagName==="FORM"){x=this.element.querySelectorAll("input, textarea, select, button");for(s=0,Q=x.length;s<Q;s++){H=x[s];D=H.getAttribute("name");J=H.getAttribute("type");if(!J||((u=J.toLowerCase())!=="checkbox"&&u!=="radio")||H.checked){M.append(D,H.value)}}}for(q=0,O=z.length;q<O;q++){N=z[q];M.append(""+this.options.paramName+(this.options.uploadMultiple?"[]":""),N,N.name)}return C.send(M)};n.prototype._finished=function(s,u,v){var r,t,q;for(t=0,q=s.length;t<q;t++){r=s[t];r.status=n.SUCCESS;this.emit("success",r,u,v);this.emit("complete",r)}if(this.options.uploadMultiple){this.emit("successmultiple",s,u,v);this.emit("completemultiple",s)}if(this.options.autoProcessQueue){return this.processQueue()}};n.prototype._errorProcessing=function(t,s,v){var r,u,q;for(u=0,q=t.length;u<q;u++){r=t[u];r.status=n.ERROR;this.emit("error",r,s,v);this.emit("complete",r)}if(this.options.uploadMultiple){this.emit("errormultiple",t,s,v);this.emit("completemultiple",t)}if(this.options.autoProcessQueue){return this.processQueue()}};return n})(f);j.version="3.7.0";j.options={};j.optionsForElement=function(n){if(n.id){return j.options[e(n.id)]}else{return void 0}};j.instances=[];j.forElement=function(n){if(typeof n==="string"){n=document.querySelector(n)}if((n!=null?n.dropzone:void 0)==null){throw new Error("No Dropzone found for given element. This is probably because you're trying to access it before Dropzone had the time to initialize. Use the `init` option to setup any additional observers on your Dropzone.")}return n.dropzone};j.autoDiscover=true;j.discover=function(){var s,p,q,r,o,n;if(document.querySelectorAll){q=document.querySelectorAll(".dropzone")}else{q=[];s=function(x){var v,w,u,t;t=[];for(w=0,u=x.length;w<u;w++){v=x[w];if(/(^| )dropzone($| )/.test(v.className)){t.push(q.push(v))}else{t.push(void 0)}}return t};s(document.getElementsByTagName("div"));s(document.getElementsByTagName("form"))}n=[];for(r=0,o=q.length;r<o;r++){p=q[r];if(j.optionsForElement(p)!==false){n.push(new j(p))}else{n.push(void 0)}}return n};j.blacklistedBrowsers=[/opera.*Macintosh.*version\/12/i];j.isBrowserSupported=function(){var o,p,r,n,q;o=true;if(window.File&&window.FileReader&&window.FileList&&window.Blob&&window.FormData&&document.querySelector){if(!("classList" in document.createElement("a"))){o=false}else{q=j.blacklistedBrowsers;for(r=0,n=q.length;r<n;r++){p=q[r];if(p.test(navigator.userAgent)){o=false;continue}}}}else{o=false}return o};l=function(s,p){var q,r,o,n;n=[];for(r=0,o=s.length;r<o;r++){q=s[r];if(q!==p){n.push(q)}}return n};e=function(n){return n.replace(/[\-_](\w)/g,function(o){return o[1].toUpperCase()})};j.createElement=function(n){var o;o=document.createElement("div");o.innerHTML=n;return o.childNodes[0]};j.elementInside=function(o,n){if(o===n){return true}while(o=o.parentNode){if(o===n){return true}}return false};j.getElement=function(p,n){var o;if(typeof p==="string"){o=document.querySelector(p)}else{if(p.nodeType!=null){o=p}}if(o==null){throw new Error("Invalid `"+n+"` option provided. Please provide a CSS selector or a plain HTML element.")}return o};j.getElements=function(t,o){var v,q,n,s,r,w,p,u;if(t instanceof Array){n=[];try{for(s=0,w=t.length;s<w;s++){q=t[s];n.push(this.getElement(q,o))}}catch(x){v=x;n=null}}else{if(typeof t==="string"){n=[];u=document.querySelectorAll(t);for(r=0,p=u.length;r<p;r++){q=u[r];n.push(q)}}else{if(t.nodeType!=null){n=[t]}}}if(!((n!=null)&&n.length)){throw new Error("Invalid `"+o+"` option provided. Please provide a CSS selector, a plain HTML element or a list of those.")}return n};j.confirm=function(n,p,o){if(window.confirm(n)){return p()}else{if(o!=null){return o()}}};j.isValidFile=function(q,n){var p,t,r,s,o;if(!n){return true}n=n.split(",");t=q.type;p=t.replace(/\/.*$/,"");for(s=0,o=n.length;s<o;s++){r=n[s];r=r.trim();if(r.charAt(0)==="."){if(q.name.indexOf(r,q.name.length-r.length)!==-1){return true}}else{if(/\/\*$/.test(r)){if(p===r.replace(/\/.*$/,"")){return true}}else{if(t===r){return true}}}}return false};if(typeof jQuery!=="undefined"&&jQuery!==null){jQuery.fn.dropzone=function(n){return this.each(function(){return new j(this,n)})}}if(typeof d!=="undefined"&&d!==null){d.exports=j}else{window.Dropzone=j}j.ADDED="added";j.QUEUED="queued";j.ACCEPTED=j.QUEUED;j.UPLOADING="uploading";j.PROCESSING=j.UPLOADING;j.CANCELED="canceled";j.ERROR="error";j.SUCCESS="success";g=function(p,t){var y,u,o,x,q,n,w,s,r;o=false;r=true;u=p.document;s=u.documentElement;y=(u.addEventListener?"addEventListener":"attachEvent");w=(u.addEventListener?"removeEventListener":"detachEvent");n=(u.addEventListener?"":"on");x=function(z){if(z.type==="readystatechange"&&u.readyState!=="complete"){return}(z.type==="load"?p:u)[w](n+z.type,x,false);if(!o&&(o=true)){return t.call(p,z.type||z)}};q=function(){var z;try{s.doScroll("left")}catch(A){z=A;setTimeout(q,50);return}return x("poll")};if(u.readyState!=="complete"){if(u.createEventObject&&s.doScroll){try{r=!p.frameElement}catch(v){}if(r){q()}}u[y](n+"DOMContentLoaded",x,false);u[y](n+"readystatechange",x,false);return p[y](n+"load",x,false)}};j._autoDiscoverFunction=function(){if(j.autoDiscover){return j.discover()}};g(window,j._autoDiscoverFunction)}).call(this)});a.alias("component-emitter/index.js","dropzone/deps/emitter/index.js");a.alias("component-emitter/index.js","emitter/index.js");if(typeof exports=="object"){module.exports=a("dropzone")}else{if(typeof define=="function"&&define.amd){define(function(){return a("dropzone")})}else{this["Dropzone"]=a("dropzone")}}})();
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/js/excanvas.min.js b/src/main/webapp/static/login/assets/js/excanvas.min.js new file mode 100644 index 0000000..fcf876c --- /dev/null +++ b/src/main/webapp/static/login/assets/js/excanvas.min.js @@ -0,0 +1 @@ +if(!document.createElement("canvas").getContext){(function(){var ab=Math;var n=ab.round;var l=ab.sin;var A=ab.cos;var H=ab.abs;var N=ab.sqrt;var d=10;var f=d/2;var z=+navigator.userAgent.match(/MSIE ([\d.]+)?/)[1];function y(){return this.context_||(this.context_=new D(this))}var t=Array.prototype.slice;function g(j,m,p){var i=t.call(arguments,2);return function(){return j.apply(m,i.concat(t.call(arguments)))}}function af(i){return String(i).replace(/&/g,"&").replace(/"/g,""")}function Y(m,j,i){if(!m.namespaces[j]){m.namespaces.add(j,i,"#default#VML")}}function R(j){Y(j,"g_vml_","urn:schemas-microsoft-com:vml");Y(j,"g_o_","urn:schemas-microsoft-com:office:office");if(!j.styleSheets.ex_canvas_){var i=j.createStyleSheet();i.owningElement.id="ex_canvas_";i.cssText="canvas{display:inline-block;overflow:hidden;text-align:left;width:300px;height:150px}"}}R(document);var e={init:function(i){var j=i||document;j.createElement("canvas");j.attachEvent("onreadystatechange",g(this.init_,this,j))},init_:function(p){var m=p.getElementsByTagName("canvas");for(var j=0;j<m.length;j++){this.initElement(m[j])}},initElement:function(j){if(!j.getContext){j.getContext=y;R(j.ownerDocument);j.innerHTML="";j.attachEvent("onpropertychange",x);j.attachEvent("onresize",W);var i=j.attributes;if(i.width&&i.width.specified){j.style.width=i.width.nodeValue+"px"}else{j.width=j.clientWidth}if(i.height&&i.height.specified){j.style.height=i.height.nodeValue+"px"}else{j.height=j.clientHeight}}return j}};function x(j){var i=j.srcElement;switch(j.propertyName){case"width":i.getContext().clearRect();i.style.width=i.attributes.width.nodeValue+"px";i.firstChild.style.width=i.clientWidth+"px";break;case"height":i.getContext().clearRect();i.style.height=i.attributes.height.nodeValue+"px";i.firstChild.style.height=i.clientHeight+"px";break}}function W(j){var i=j.srcElement;if(i.firstChild){i.firstChild.style.width=i.clientWidth+"px";i.firstChild.style.height=i.clientHeight+"px"}}e.init();var k=[];for(var ae=0;ae<16;ae++){for(var ad=0;ad<16;ad++){k[ae*16+ad]=ae.toString(16)+ad.toString(16)}}function B(){return[[1,0,0],[0,1,0],[0,0,1]]}function J(p,m){var j=B();for(var i=0;i<3;i++){for(var ah=0;ah<3;ah++){var Z=0;for(var ag=0;ag<3;ag++){Z+=p[i][ag]*m[ag][ah]}j[i][ah]=Z}}return j}function v(j,i){i.fillStyle=j.fillStyle;i.lineCap=j.lineCap;i.lineJoin=j.lineJoin;i.lineWidth=j.lineWidth;i.miterLimit=j.miterLimit;i.shadowBlur=j.shadowBlur;i.shadowColor=j.shadowColor;i.shadowOffsetX=j.shadowOffsetX;i.shadowOffsetY=j.shadowOffsetY;i.strokeStyle=j.strokeStyle;i.globalAlpha=j.globalAlpha;i.font=j.font;i.textAlign=j.textAlign;i.textBaseline=j.textBaseline;i.arcScaleX_=j.arcScaleX_;i.arcScaleY_=j.arcScaleY_;i.lineScale_=j.lineScale_}var b={aliceblue:"#F0F8FF",antiquewhite:"#FAEBD7",aquamarine:"#7FFFD4",azure:"#F0FFFF",beige:"#F5F5DC",bisque:"#FFE4C4",black:"#000000",blanchedalmond:"#FFEBCD",blueviolet:"#8A2BE2",brown:"#A52A2A",burlywood:"#DEB887",cadetblue:"#5F9EA0",chartreuse:"#7FFF00",chocolate:"#D2691E",coral:"#FF7F50",cornflowerblue:"#6495ED",cornsilk:"#FFF8DC",crimson:"#DC143C",cyan:"#00FFFF",darkblue:"#00008B",darkcyan:"#008B8B",darkgoldenrod:"#B8860B",darkgray:"#A9A9A9",darkgreen:"#006400",darkgrey:"#A9A9A9",darkkhaki:"#BDB76B",darkmagenta:"#8B008B",darkolivegreen:"#556B2F",darkorange:"#FF8C00",darkorchid:"#9932CC",darkred:"#8B0000",darksalmon:"#E9967A",darkseagreen:"#8FBC8F",darkslateblue:"#483D8B",darkslategray:"#2F4F4F",darkslategrey:"#2F4F4F",darkturquoise:"#00CED1",darkviolet:"#9400D3",deeppink:"#FF1493",deepskyblue:"#00BFFF",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1E90FF",firebrick:"#B22222",floralwhite:"#FFFAF0",forestgreen:"#228B22",gainsboro:"#DCDCDC",ghostwhite:"#F8F8FF",gold:"#FFD700",goldenrod:"#DAA520",grey:"#808080",greenyellow:"#ADFF2F",honeydew:"#F0FFF0",hotpink:"#FF69B4",indianred:"#CD5C5C",indigo:"#4B0082",ivory:"#FFFFF0",khaki:"#F0E68C",lavender:"#E6E6FA",lavenderblush:"#FFF0F5",lawngreen:"#7CFC00",lemonchiffon:"#FFFACD",lightblue:"#ADD8E6",lightcoral:"#F08080",lightcyan:"#E0FFFF",lightgoldenrodyellow:"#FAFAD2",lightgreen:"#90EE90",lightgrey:"#D3D3D3",lightpink:"#FFB6C1",lightsalmon:"#FFA07A",lightseagreen:"#20B2AA",lightskyblue:"#87CEFA",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#B0C4DE",lightyellow:"#FFFFE0",limegreen:"#32CD32",linen:"#FAF0E6",magenta:"#FF00FF",mediumaquamarine:"#66CDAA",mediumblue:"#0000CD",mediumorchid:"#BA55D3",mediumpurple:"#9370DB",mediumseagreen:"#3CB371",mediumslateblue:"#7B68EE",mediumspringgreen:"#00FA9A",mediumturquoise:"#48D1CC",mediumvioletred:"#C71585",midnightblue:"#191970",mintcream:"#F5FFFA",mistyrose:"#FFE4E1",moccasin:"#FFE4B5",navajowhite:"#FFDEAD",oldlace:"#FDF5E6",olivedrab:"#6B8E23",orange:"#FFA500",orangered:"#FF4500",orchid:"#DA70D6",palegoldenrod:"#EEE8AA",palegreen:"#98FB98",paleturquoise:"#AFEEEE",palevioletred:"#DB7093",papayawhip:"#FFEFD5",peachpuff:"#FFDAB9",peru:"#CD853F",pink:"#FFC0CB",plum:"#DDA0DD",powderblue:"#B0E0E6",rosybrown:"#BC8F8F",royalblue:"#4169E1",saddlebrown:"#8B4513",salmon:"#FA8072",sandybrown:"#F4A460",seagreen:"#2E8B57",seashell:"#FFF5EE",sienna:"#A0522D",skyblue:"#87CEEB",slateblue:"#6A5ACD",slategray:"#708090",slategrey:"#708090",snow:"#FFFAFA",springgreen:"#00FF7F",steelblue:"#4682B4",tan:"#D2B48C",thistle:"#D8BFD8",tomato:"#FF6347",turquoise:"#40E0D0",violet:"#EE82EE",wheat:"#F5DEB3",whitesmoke:"#F5F5F5",yellowgreen:"#9ACD32"};function M(j){var p=j.indexOf("(",3);var i=j.indexOf(")",p+1);var m=j.substring(p+1,i).split(",");if(m.length!=4||j.charAt(3)!="a"){m[3]=1}return m}function c(i){return parseFloat(i)/100}function r(j,m,i){return Math.min(i,Math.max(m,j))}function I(ag){var i,ai,aj,ah,ak,Z;ah=parseFloat(ag[0])/360%360;if(ah<0){ah++}ak=r(c(ag[1]),0,1);Z=r(c(ag[2]),0,1);if(ak==0){i=ai=aj=Z}else{var j=Z<0.5?Z*(1+ak):Z+ak-Z*ak;var m=2*Z-j;i=a(m,j,ah+1/3);ai=a(m,j,ah);aj=a(m,j,ah-1/3)}return"#"+k[Math.floor(i*255)]+k[Math.floor(ai*255)]+k[Math.floor(aj*255)]}function a(j,i,m){if(m<0){m++}if(m>1){m--}if(6*m<1){return j+(i-j)*6*m}else{if(2*m<1){return i}else{if(3*m<2){return j+(i-j)*(2/3-m)*6}else{return j}}}}var C={};function F(j){if(j in C){return C[j]}var ag,Z=1;j=String(j);if(j.charAt(0)=="#"){ag=j}else{if(/^rgb/.test(j)){var p=M(j);var ag="#",ah;for(var m=0;m<3;m++){if(p[m].indexOf("%")!=-1){ah=Math.floor(c(p[m])*255)}else{ah=+p[m]}ag+=k[r(ah,0,255)]}Z=+p[3]}else{if(/^hsl/.test(j)){var p=M(j);ag=I(p);Z=p[3]}else{ag=b[j]||j}}}return C[j]={color:ag,alpha:Z}}var o={style:"normal",variant:"normal",weight:"normal",size:10,family:"sans-serif"};var L={};function E(i){if(L[i]){return L[i]}var p=document.createElement("div");var m=p.style;try{m.font=i}catch(j){}return L[i]={style:m.fontStyle||o.style,variant:m.fontVariant||o.variant,weight:m.fontWeight||o.weight,size:m.fontSize||o.size,family:m.fontFamily||o.family}}function u(m,j){var i={};for(var ah in m){i[ah]=m[ah]}var ag=parseFloat(j.currentStyle.fontSize),Z=parseFloat(m.size);if(typeof m.size=="number"){i.size=m.size}else{if(m.size.indexOf("px")!=-1){i.size=Z}else{if(m.size.indexOf("em")!=-1){i.size=ag*Z}else{if(m.size.indexOf("%")!=-1){i.size=(ag/100)*Z}else{if(m.size.indexOf("pt")!=-1){i.size=Z/0.75}else{i.size=ag}}}}}i.size*=0.981;return i}function ac(i){return i.style+" "+i.variant+" "+i.weight+" "+i.size+"px "+i.family}var s={butt:"flat",round:"round"};function S(i){return s[i]||"square"}function D(i){this.m_=B();this.mStack_=[];this.aStack_=[];this.currentPath_=[];this.strokeStyle="#000";this.fillStyle="#000";this.lineWidth=1;this.lineJoin="miter";this.lineCap="butt";this.miterLimit=d*1;this.globalAlpha=1;this.font="10px sans-serif";this.textAlign="left";this.textBaseline="alphabetic";this.canvas=i;var m="width:"+i.clientWidth+"px;height:"+i.clientHeight+"px;overflow:hidden;position:absolute";var j=i.ownerDocument.createElement("div");j.style.cssText=m;i.appendChild(j);var p=j.cloneNode(false);p.style.backgroundColor="red";p.style.filter="alpha(opacity=0)";i.appendChild(p);this.element_=j;this.arcScaleX_=1;this.arcScaleY_=1;this.lineScale_=1}var q=D.prototype;q.clearRect=function(){if(this.textMeasureEl_){this.textMeasureEl_.removeNode(true);this.textMeasureEl_=null}this.element_.innerHTML=""};q.beginPath=function(){this.currentPath_=[]};q.moveTo=function(j,i){var m=V(this,j,i);this.currentPath_.push({type:"moveTo",x:m.x,y:m.y});this.currentX_=m.x;this.currentY_=m.y};q.lineTo=function(j,i){var m=V(this,j,i);this.currentPath_.push({type:"lineTo",x:m.x,y:m.y});this.currentX_=m.x;this.currentY_=m.y};q.bezierCurveTo=function(m,j,ak,aj,ai,ag){var i=V(this,ai,ag);var ah=V(this,m,j);var Z=V(this,ak,aj);K(this,ah,Z,i)};function K(i,Z,m,j){i.currentPath_.push({type:"bezierCurveTo",cp1x:Z.x,cp1y:Z.y,cp2x:m.x,cp2y:m.y,x:j.x,y:j.y});i.currentX_=j.x;i.currentY_=j.y}q.quadraticCurveTo=function(ai,m,j,i){var ah=V(this,ai,m);var ag=V(this,j,i);var aj={x:this.currentX_+2/3*(ah.x-this.currentX_),y:this.currentY_+2/3*(ah.y-this.currentY_)};var Z={x:aj.x+(ag.x-this.currentX_)/3,y:aj.y+(ag.y-this.currentY_)/3};K(this,aj,Z,ag)};q.arc=function(al,aj,ak,ag,j,m){ak*=d;var ap=m?"at":"wa";var am=al+A(ag)*ak-f;var ao=aj+l(ag)*ak-f;var i=al+A(j)*ak-f;var an=aj+l(j)*ak-f;if(am==i&&!m){am+=0.125}var Z=V(this,al,aj);var ai=V(this,am,ao);var ah=V(this,i,an);this.currentPath_.push({type:ap,x:Z.x,y:Z.y,radius:ak,xStart:ai.x,yStart:ai.y,xEnd:ah.x,yEnd:ah.y})};q.rect=function(m,j,i,p){this.moveTo(m,j);this.lineTo(m+i,j);this.lineTo(m+i,j+p);this.lineTo(m,j+p);this.closePath()};q.strokeRect=function(m,j,i,p){var Z=this.currentPath_;this.beginPath();this.moveTo(m,j);this.lineTo(m+i,j);this.lineTo(m+i,j+p);this.lineTo(m,j+p);this.closePath();this.stroke();this.currentPath_=Z};q.fillRect=function(m,j,i,p){var Z=this.currentPath_;this.beginPath();this.moveTo(m,j);this.lineTo(m+i,j);this.lineTo(m+i,j+p);this.lineTo(m,j+p);this.closePath();this.fill();this.currentPath_=Z};q.createLinearGradient=function(j,p,i,m){var Z=new U("gradient");Z.x0_=j;Z.y0_=p;Z.x1_=i;Z.y1_=m;return Z};q.createRadialGradient=function(p,ag,m,j,Z,i){var ah=new U("gradientradial");ah.x0_=p;ah.y0_=ag;ah.r0_=m;ah.x1_=j;ah.y1_=Z;ah.r1_=i;return ah};q.drawImage=function(aq,m){var aj,ah,al,ay,ao,am,at,aA;var ak=aq.runtimeStyle.width;var ap=aq.runtimeStyle.height;aq.runtimeStyle.width="auto";aq.runtimeStyle.height="auto";var ai=aq.width;var aw=aq.height;aq.runtimeStyle.width=ak;aq.runtimeStyle.height=ap;if(arguments.length==3){aj=arguments[1];ah=arguments[2];ao=am=0;at=al=ai;aA=ay=aw}else{if(arguments.length==5){aj=arguments[1];ah=arguments[2];al=arguments[3];ay=arguments[4];ao=am=0;at=ai;aA=aw}else{if(arguments.length==9){ao=arguments[1];am=arguments[2];at=arguments[3];aA=arguments[4];aj=arguments[5];ah=arguments[6];al=arguments[7];ay=arguments[8]}else{throw Error("Invalid number of arguments")}}}var az=V(this,aj,ah);var p=at/2;var j=aA/2;var ax=[];var i=10;var ag=10;ax.push(" <g_vml_:group",' coordsize="',d*i,",",d*ag,'"',' coordorigin="0,0"',' style="width:',i,"px;height:",ag,"px;position:absolute;");if(this.m_[0][0]!=1||this.m_[0][1]||this.m_[1][1]!=1||this.m_[1][0]){var Z=[];Z.push("M11=",this.m_[0][0],",","M12=",this.m_[1][0],",","M21=",this.m_[0][1],",","M22=",this.m_[1][1],",","Dx=",n(az.x/d),",","Dy=",n(az.y/d),"");var av=az;var au=V(this,aj+al,ah);var ar=V(this,aj,ah+ay);var an=V(this,aj+al,ah+ay);av.x=ab.max(av.x,au.x,ar.x,an.x);av.y=ab.max(av.y,au.y,ar.y,an.y);ax.push("padding:0 ",n(av.x/d),"px ",n(av.y/d),"px 0;filter:progid:DXImageTransform.Microsoft.Matrix(",Z.join(""),", sizingmethod='clip');")}else{ax.push("top:",n(az.y/d),"px;left:",n(az.x/d),"px;")}ax.push(' ">','<g_vml_:image src="',aq.src,'"',' style="width:',d*al,"px;"," height:",d*ay,'px"',' cropleft="',ao/ai,'"',' croptop="',am/aw,'"',' cropright="',(ai-ao-at)/ai,'"',' cropbottom="',(aw-am-aA)/aw,'"'," />","</g_vml_:group>");this.element_.insertAdjacentHTML("BeforeEnd",ax.join(""))};q.stroke=function(ao){var Z=10;var ap=10;var ag=5000;var ai={x:null,y:null};var an={x:null,y:null};for(var aj=0;aj<this.currentPath_.length;aj+=ag){var am=[];var ah=false;am.push("<g_vml_:shape",' filled="',!!ao,'"',' style="position:absolute;width:',Z,"px;height:",ap,'px;"',' coordorigin="0,0"',' coordsize="',d*Z,",",d*ap,'"',' stroked="',!ao,'"',' path="');var aq=false;for(var ak=aj;ak<Math.min(aj+ag,this.currentPath_.length);ak++){if(ak%ag==0&&ak>0){am.push(" m ",n(this.currentPath_[ak-1].x),",",n(this.currentPath_[ak-1].y))}var m=this.currentPath_[ak];var al;switch(m.type){case"moveTo":al=m;am.push(" m ",n(m.x),",",n(m.y));break;case"lineTo":am.push(" l ",n(m.x),",",n(m.y));break;case"close":am.push(" x ");m=null;break;case"bezierCurveTo":am.push(" c ",n(m.cp1x),",",n(m.cp1y),",",n(m.cp2x),",",n(m.cp2y),",",n(m.x),",",n(m.y));break;case"at":case"wa":am.push(" ",m.type," ",n(m.x-this.arcScaleX_*m.radius),",",n(m.y-this.arcScaleY_*m.radius)," ",n(m.x+this.arcScaleX_*m.radius),",",n(m.y+this.arcScaleY_*m.radius)," ",n(m.xStart),",",n(m.yStart)," ",n(m.xEnd),",",n(m.yEnd));break}if(m){if(ai.x==null||m.x<ai.x){ai.x=m.x}if(an.x==null||m.x>an.x){an.x=m.x}if(ai.y==null||m.y<ai.y){ai.y=m.y}if(an.y==null||m.y>an.y){an.y=m.y}}}am.push(' ">');if(!ao){w(this,am)}else{G(this,am,ai,an)}am.push("</g_vml_:shape>");this.element_.insertAdjacentHTML("beforeEnd",am.join(""))}};function w(m,ag){var j=F(m.strokeStyle);var p=j.color;var Z=j.alpha*m.globalAlpha;var i=m.lineScale_*m.lineWidth;if(i<1){Z*=i}ag.push("<g_vml_:stroke",' opacity="',Z,'"',' joinstyle="',m.lineJoin,'"',' miterlimit="',m.miterLimit,'"',' endcap="',S(m.lineCap),'"',' weight="',i,'px"',' color="',p,'" />')}function G(aq,ai,aK,ar){var aj=aq.fillStyle;var aB=aq.arcScaleX_;var aA=aq.arcScaleY_;var j=ar.x-aK.x;var p=ar.y-aK.y;if(aj instanceof U){var an=0;var aF={x:0,y:0};var ax=0;var am=1;if(aj.type_=="gradient"){var al=aj.x0_/aB;var m=aj.y0_/aA;var ak=aj.x1_/aB;var aM=aj.y1_/aA;var aJ=V(aq,al,m);var aI=V(aq,ak,aM);var ag=aI.x-aJ.x;var Z=aI.y-aJ.y;an=Math.atan2(ag,Z)*180/Math.PI;if(an<0){an+=360}if(an<0.000001){an=0}}else{var aJ=V(aq,aj.x0_,aj.y0_);aF={x:(aJ.x-aK.x)/j,y:(aJ.y-aK.y)/p};j/=aB*d;p/=aA*d;var aD=ab.max(j,p);ax=2*aj.r0_/aD;am=2*aj.r1_/aD-ax}var av=aj.colors_;av.sort(function(aN,i){return aN.offset-i.offset});var ap=av.length;var au=av[0].color;var at=av[ap-1].color;var az=av[0].alpha*aq.globalAlpha;var ay=av[ap-1].alpha*aq.globalAlpha;var aE=[];for(var aH=0;aH<ap;aH++){var ao=av[aH];aE.push(ao.offset*am+ax+" "+ao.color)}ai.push('<g_vml_:fill type="',aj.type_,'"',' method="none" focus="100%"',' color="',au,'"',' color2="',at,'"',' colors="',aE.join(","),'"',' opacity="',ay,'"',' g_o_:opacity2="',az,'"',' angle="',an,'"',' focusposition="',aF.x,",",aF.y,'" />')}else{if(aj instanceof T){if(j&&p){var ah=-aK.x;var aC=-aK.y;ai.push("<g_vml_:fill",' position="',ah/j*aB*aB,",",aC/p*aA*aA,'"',' type="tile"',' src="',aj.src_,'" />')}}else{var aL=F(aq.fillStyle);var aw=aL.color;var aG=aL.alpha*aq.globalAlpha;ai.push('<g_vml_:fill color="',aw,'" opacity="',aG,'" />')}}}q.fill=function(){this.stroke(true)};q.closePath=function(){this.currentPath_.push({type:"close"})};function V(j,Z,p){var i=j.m_;return{x:d*(Z*i[0][0]+p*i[1][0]+i[2][0])-f,y:d*(Z*i[0][1]+p*i[1][1]+i[2][1])-f}}q.save=function(){var i={};v(this,i);this.aStack_.push(i);this.mStack_.push(this.m_);this.m_=J(B(),this.m_)};q.restore=function(){if(this.aStack_.length){v(this.aStack_.pop(),this);this.m_=this.mStack_.pop()}};function h(i){return isFinite(i[0][0])&&isFinite(i[0][1])&&isFinite(i[1][0])&&isFinite(i[1][1])&&isFinite(i[2][0])&&isFinite(i[2][1])}function aa(j,i,p){if(!h(i)){return}j.m_=i;if(p){var Z=i[0][0]*i[1][1]-i[0][1]*i[1][0];j.lineScale_=N(H(Z))}}q.translate=function(m,j){var i=[[1,0,0],[0,1,0],[m,j,1]];aa(this,J(i,this.m_),false)};q.rotate=function(j){var p=A(j);var m=l(j);var i=[[p,m,0],[-m,p,0],[0,0,1]];aa(this,J(i,this.m_),false)};q.scale=function(m,j){this.arcScaleX_*=m;this.arcScaleY_*=j;var i=[[m,0,0],[0,j,0],[0,0,1]];aa(this,J(i,this.m_),true)};q.transform=function(Z,p,ah,ag,j,i){var m=[[Z,p,0],[ah,ag,0],[j,i,1]];aa(this,J(m,this.m_),true)};q.setTransform=function(ag,Z,ai,ah,p,j){var i=[[ag,Z,0],[ai,ah,0],[p,j,1]];aa(this,i,true)};q.drawText_=function(am,ak,aj,ap,ai){var ao=this.m_,at=1000,j=0,ar=at,ah={x:0,y:0},ag=[];var i=u(E(this.font),this.element_);var p=ac(i);var au=this.element_.currentStyle;var Z=this.textAlign.toLowerCase();switch(Z){case"left":case"center":case"right":break;case"end":Z=au.direction=="ltr"?"right":"left";break;case"start":Z=au.direction=="rtl"?"right":"left";break;default:Z="left"}switch(this.textBaseline){case"hanging":case"top":ah.y=i.size/1.75;break;case"middle":break;default:case null:case"alphabetic":case"ideographic":case"bottom":ah.y=-i.size/2.25;break}switch(Z){case"right":j=at;ar=0.05;break;case"center":j=ar=at/2;break}var aq=V(this,ak+ah.x,aj+ah.y);ag.push('<g_vml_:line from="',-j,' 0" to="',ar,' 0.05" ',' coordsize="100 100" coordorigin="0 0"',' filled="',!ai,'" stroked="',!!ai,'" style="position:absolute;width:1px;height:1px;">');if(ai){w(this,ag)}else{G(this,ag,{x:-j,y:0},{x:ar,y:i.size})}var an=ao[0][0].toFixed(3)+","+ao[1][0].toFixed(3)+","+ao[0][1].toFixed(3)+","+ao[1][1].toFixed(3)+",0,0";var al=n(aq.x/d)+","+n(aq.y/d);ag.push('<g_vml_:skew on="t" matrix="',an,'" ',' offset="',al,'" origin="',j,' 0" />','<g_vml_:path textpathok="true" />','<g_vml_:textpath on="true" string="',af(am),'" style="v-text-align:',Z,";font:",af(p),'" /></g_vml_:line>');this.element_.insertAdjacentHTML("beforeEnd",ag.join(""))};q.fillText=function(m,i,p,j){this.drawText_(m,i,p,j,false)};q.strokeText=function(m,i,p,j){this.drawText_(m,i,p,j,true)};q.measureText=function(m){if(!this.textMeasureEl_){var i='<span style="position:absolute;top:-20000px;left:0;padding:0;margin:0;border:none;white-space:pre;"></span>';this.element_.insertAdjacentHTML("beforeEnd",i);this.textMeasureEl_=this.element_.lastChild}var j=this.element_.ownerDocument;this.textMeasureEl_.innerHTML="";this.textMeasureEl_.style.font=this.font;this.textMeasureEl_.appendChild(j.createTextNode(m));return{width:this.textMeasureEl_.offsetWidth}};q.clip=function(){};q.arcTo=function(){};q.createPattern=function(j,i){return new T(j,i)};function U(i){this.type_=i;this.x0_=0;this.y0_=0;this.r0_=0;this.x1_=0;this.y1_=0;this.r1_=0;this.colors_=[]}U.prototype.addColorStop=function(j,i){i=F(i);this.colors_.push({offset:j,color:i.color,alpha:i.alpha})};function T(j,i){Q(j);switch(i){case"repeat":case null:case"":this.repetition_="repeat";break;case"repeat-x":case"repeat-y":case"no-repeat":this.repetition_=i;break;default:O("SYNTAX_ERR")}this.src_=j.src;this.width_=j.width;this.height_=j.height}function O(i){throw new P(i)}function Q(i){if(!i||i.nodeType!=1||i.tagName!="IMG"){O("TYPE_MISMATCH_ERR")}if(i.readyState!="complete"){O("INVALID_STATE_ERR")}}function P(i){this.code=this[i];this.message=i+": DOM Exception "+this.code}var X=P.prototype=new Error;X.INDEX_SIZE_ERR=1;X.DOMSTRING_SIZE_ERR=2;X.HIERARCHY_REQUEST_ERR=3;X.WRONG_DOCUMENT_ERR=4;X.INVALID_CHARACTER_ERR=5;X.NO_DATA_ALLOWED_ERR=6;X.NO_MODIFICATION_ALLOWED_ERR=7;X.NOT_FOUND_ERR=8;X.NOT_SUPPORTED_ERR=9;X.INUSE_ATTRIBUTE_ERR=10;X.INVALID_STATE_ERR=11;X.SYNTAX_ERR=12;X.INVALID_MODIFICATION_ERR=13;X.NAMESPACE_ERR=14;X.INVALID_ACCESS_ERR=15;X.VALIDATION_ERR=16;X.TYPE_MISMATCH_ERR=17;G_vmlCanvasManager=e;CanvasRenderingContext2D=D;CanvasGradient=U;CanvasPattern=T;DOMException=P})()};
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/js/flot/jquery.flot.min.js b/src/main/webapp/static/login/assets/js/flot/jquery.flot.min.js new file mode 100644 index 0000000..3706512 --- /dev/null +++ b/src/main/webapp/static/login/assets/js/flot/jquery.flot.min.js @@ -0,0 +1,29 @@ +/* Javascript plotting library for jQuery, version 0.8.1. + +Copyright (c) 2007-2013 IOLA and Ole Laursen. +Licensed under the MIT license. + +*/// first an inline dependency, jquery.colorhelpers.js, we inline it here +// for convenience +/* Plugin for jQuery for working with colors. + * + * Version 1.1. + * + * Inspiration from jQuery color animation plugin by John Resig. + * + * Released under the MIT license by Ole Laursen, October 2009. + * + * Examples: + * + * $.color.parse("#fff").scale('rgb', 0.25).add('a', -0.5).toString() + * var c = $.color.extract($("#mydiv"), 'background-color'); + * console.log(c.r, c.g, c.b, c.a); + * $.color.make(100, 50, 25, 0.4).toString() // returns "rgba(100,50,25,0.4)" + * + * Note that .scale() and .add() return the same modified object + * instead of making a new one. + * + * V. 1.1: Fix error handling so e.g. parsing an empty string does + * produce a color rather than just crashing. + */(function(e){e.color={},e.color.make=function(t,n,r,i){var s={};return s.r=t||0,s.g=n||0,s.b=r||0,s.a=i!=null?i:1,s.add=function(e,t){for(var n=0;n<e.length;++n)s[e.charAt(n)]+=t;return s.normalize()},s.scale=function(e,t){for(var n=0;n<e.length;++n)s[e.charAt(n)]*=t;return s.normalize()},s.toString=function(){return s.a>=1?"rgb("+[s.r,s.g,s.b].join(",")+")":"rgba("+[s.r,s.g,s.b,s.a].join(",")+")"},s.normalize=function(){function e(e,t,n){return t<e?e:t>n?n:t}return s.r=e(0,parseInt(s.r),255),s.g=e(0,parseInt(s.g),255),s.b=e(0,parseInt(s.b),255),s.a=e(0,s.a,1),s},s.clone=function(){return e.color.make(s.r,s.b,s.g,s.a)},s.normalize()},e.color.extract=function(t,n){var r;do{r=t.css(n).toLowerCase();if(r!=""&&r!="transparent")break;t=t.parent()}while(!e.nodeName(t.get(0),"body"));return r=="rgba(0, 0, 0, 0)"&&(r="transparent"),e.color.parse(r)},e.color.parse=function(n){var r,i=e.color.make;if(r=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(n))return i(parseInt(r[1],10),parseInt(r[2],10),parseInt(r[3],10));if(r=/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(n))return i(parseInt(r[1],10),parseInt(r[2],10),parseInt(r[3],10),parseFloat(r[4]));if(r=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(n))return i(parseFloat(r[1])*2.55,parseFloat(r[2])*2.55,parseFloat(r[3])*2.55);if(r=/rgba\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(n))return i(parseFloat(r[1])*2.55,parseFloat(r[2])*2.55,parseFloat(r[3])*2.55,parseFloat(r[4]));if(r=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(n))return i(parseInt(r[1],16),parseInt(r[2],16),parseInt(r[3],16));if(r=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(n))return i(parseInt(r[1]+r[1],16),parseInt(r[2]+r[2],16),parseInt(r[3]+r[3],16));var s=e.trim(n).toLowerCase();return s=="transparent"?i(255,255,255,0):(r=t[s]||[0,0,0],i(r[0],r[1],r[2]))};var t={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0]}})(jQuery),function(e){function n(t,n){var r=n.children("."+t)[0];if(r==null){r=document.createElement("canvas"),r.className=t,e(r).css({direction:"ltr",position:"absolute",left:0,top:0}).appendTo(n);if(!r.getContext){if(!window.G_vmlCanvasManager)throw new Error("Canvas is not available. If you're using IE with a fall-back such as Excanvas, then there's either a mistake in your conditional include, or the page has no DOCTYPE and is rendering in Quirks Mode.");r=window.G_vmlCanvasManager.initElement(r)}}this.element=r;var i=this.context=r.getContext("2d"),s=window.devicePixelRatio||1,o=i.webkitBackingStorePixelRatio||i.mozBackingStorePixelRatio||i.msBackingStorePixelRatio||i.oBackingStorePixelRatio||i.backingStorePixelRatio||1;this.pixelRatio=s/o,this.resize(n.width(),n.height()),this.textContainer=null,this.text={},this._textCache={}}function r(t,r,s,o){function E(e,t){t=[w].concat(t);for(var n=0;n<e.length;++n)e[n].apply(this,t)}function S(){var t={Canvas:n};for(var r=0;r<o.length;++r){var i=o[r];i.init(w,t),i.options&&e.extend(!0,a,i.options)}}function x(n){e.extend(!0,a,n),n&&n.colors&&(a.colors=n.colors),a.xaxis.color==null&&(a.xaxis.color=e.color.parse(a.grid.color).scale("a",.22).toString()),a.yaxis.color==null&&(a.yaxis.color=e.color.parse(a.grid.color).scale("a",.22).toString()),a.xaxis.tickColor==null&&(a.xaxis.tickColor=a.grid.tickColor||a.xaxis.color),a.yaxis.tickColor==null&&(a.yaxis.tickColor=a.grid.tickColor||a.yaxis.color),a.grid.borderColor==null&&(a.grid.borderColor=a.grid.color),a.grid.tickColor==null&&(a.grid.tickColor=e.color.parse(a.grid.color).scale("a",.22).toString());var r,i,s,o={style:t.css("font-style"),size:Math.round(.8*(+t.css("font-size").replace("px","")||13)),variant:t.css("font-variant"),weight:t.css("font-weight"),family:t.css("font-family")};o.lineHeight=o.size*1.15,s=a.xaxes.length||1;for(r=0;r<s;++r)i=a.xaxes[r],i&&!i.tickColor&&(i.tickColor=i.color),i=e.extend(!0,{},a.xaxis,i),a.xaxes[r]=i,i.font&&(i.font=e.extend({},o,i.font),i.font.color||(i.font.color=i.color));s=a.yaxes.length||1;for(r=0;r<s;++r)i=a.yaxes[r],i&&!i.tickColor&&(i.tickColor=i.color),i=e.extend(!0,{},a.yaxis,i),a.yaxes[r]=i,i.font&&(i.font=e.extend({},o,i.font),i.font.color||(i.font.color=i.color));a.xaxis.noTicks&&a.xaxis.ticks==null&&(a.xaxis.ticks=a.xaxis.noTicks),a.yaxis.noTicks&&a.yaxis.ticks==null&&(a.yaxis.ticks=a.yaxis.noTicks),a.x2axis&&(a.xaxes[1]=e.extend(!0,{},a.xaxis,a.x2axis),a.xaxes[1].position="top"),a.y2axis&&(a.yaxes[1]=e.extend(!0,{},a.yaxis,a.y2axis),a.yaxes[1].position="right"),a.grid.coloredAreas&&(a.grid.markings=a.grid.coloredAreas),a.grid.coloredAreasColor&&(a.grid.markingsColor=a.grid.coloredAreasColor),a.lines&&e.extend(!0,a.series.lines,a.lines),a.points&&e.extend(!0,a.series.points,a.points),a.bars&&e.extend(!0,a.series.bars,a.bars),a.shadowSize!=null&&(a.series.shadowSize=a.shadowSize),a.highlightColor!=null&&(a.series.highlightColor=a.highlightColor);for(r=0;r<a.xaxes.length;++r)O(d,r+1).options=a.xaxes[r];for(r=0;r<a.yaxes.length;++r)O(v,r+1).options=a.yaxes[r];for(var u in b)a.hooks[u]&&a.hooks[u].length&&(b[u]=b[u].concat(a.hooks[u]));E(b.processOptions,[a])}function T(e){u=N(e),M(),_()}function N(t){var n=[];for(var r=0;r<t.length;++r){var i=e.extend(!0,{},a.series);t[r].data!=null?(i.data=t[r].data,delete t[r].data,e.extend(!0,i,t[r]),t[r].data=i.data):i.data=t[r],n.push(i)}return n}function C(e,t){var n=e[t+"axis"];return typeof n=="object"&&(n=n.n),typeof n!="number"&&(n=1),n}function k(){return e.grep(d.concat(v),function(e){return e})}function L(e){var t={},n,r;for(n=0;n<d.length;++n)r=d[n],r&&r.used&&(t["x"+r.n]=r.c2p(e.left));for(n=0;n<v.length;++n)r=v[n],r&&r.used&&(t["y"+r.n]=r.c2p(e.top));return t.x1!==undefined&&(t.x=t.x1),t.y1!==undefined&&(t.y=t.y1),t}function A(e){var t={},n,r,i;for(n=0;n<d.length;++n){r=d[n];if(r&&r.used){i="x"+r.n,e[i]==null&&r.n==1&&(i="x");if(e[i]!=null){t.left=r.p2c(e[i]);break}}}for(n=0;n<v.length;++n){r=v[n];if(r&&r.used){i="y"+r.n,e[i]==null&&r.n==1&&(i="y");if(e[i]!=null){t.top=r.p2c(e[i]);break}}}return t}function O(t,n){return t[n-1]||(t[n-1]={n:n,direction:t==d?"x":"y",options:e.extend(!0,{},t==d?a.xaxis:a.yaxis)}),t[n-1]}function M(){var t=u.length,n=-1,r;for(r=0;r<u.length;++r){var i=u[r].color;i!=null&&(t--,typeof i=="number"&&i>n&&(n=i))}t<=n&&(t=n+1);var s,o=[],f=a.colors,l=f.length,c=0;for(r=0;r<t;r++)s=e.color.parse(f[r%l]||"#666"),r%l==0&&r&&(c>=0?c<.5?c=-c-.2:c=0:c=-c),o[r]=s.scale("rgb",1+c);var h=0,p;for(r=0;r<u.length;++r){p=u[r],p.color==null?(p.color=o[h].toString(),++h):typeof p.color=="number"&&(p.color=o[p.color].toString());if(p.lines.show==null){var m,g=!0;for(m in p)if(p[m]&&p[m].show){g=!1;break}g&&(p.lines.show=!0)}p.lines.zero==null&&(p.lines.zero=!!p.lines.fill),p.xaxis=O(d,C(p,"x")),p.yaxis=O(v,C(p,"y"))}}function _(){function x(e,t,n){t<e.datamin&&t!=-r&&(e.datamin=t),n>e.datamax&&n!=r&&(e.datamax=n)}var t=Number.POSITIVE_INFINITY,n=Number.NEGATIVE_INFINITY,r=Number.MAX_VALUE,i,s,o,a,f,l,c,h,p,d,v,m,g,y,w,S;e.each(k(),function(e,r){r.datamin=t,r.datamax=n,r.used=!1});for(i=0;i<u.length;++i)l=u[i],l.datapoints={points:[]},E(b.processRawData,[l,l.data,l.datapoints]);for(i=0;i<u.length;++i){l=u[i],w=l.data,S=l.datapoints.format;if(!S){S=[],S.push({x:!0,number:!0,required:!0}),S.push({y:!0,number:!0,required:!0});if(l.bars.show||l.lines.show&&l.lines.fill){var T=!!(l.bars.show&&l.bars.zero||l.lines.show&&l.lines.zero);S.push({y:!0,number:!0,required:!1,defaultValue:0,autoscale:T}),l.bars.horizontal&&(delete S[S.length-1].y,S[S.length-1].x=!0)}l.datapoints.format=S}if(l.datapoints.pointsize!=null)continue;l.datapoints.pointsize=S.length,h=l.datapoints.pointsize,c=l.datapoints.points;var N=l.lines.show&&l.lines.steps;l.xaxis.used=l.yaxis.used=!0;for(s=o=0;s<w.length;++s,o+=h){y=w[s];var C=y==null;if(!C)for(a=0;a<h;++a)m=y[a],g=S[a],g&&(g.number&&m!=null&&(m=+m,isNaN(m)?m=null:m==Infinity?m=r:m==-Infinity&&(m=-r)),m==null&&(g.required&&(C=!0),g.defaultValue!=null&&(m=g.defaultValue))),c[o+a]=m;if(C)for(a=0;a<h;++a)m=c[o+a],m!=null&&(g=S[a],g.autoscale&&(g.x&&x(l.xaxis,m,m),g.y&&x(l.yaxis,m,m))),c[o+a]=null;else if(N&&o>0&&c[o-h]!=null&&c[o-h]!=c[o]&&c[o-h+1]!=c[o+1]){for(a=0;a<h;++a)c[o+h+a]=c[o+a];c[o+1]=c[o-h+1],o+=h}}}for(i=0;i<u.length;++i)l=u[i],E(b.processDatapoints,[l,l.datapoints]);for(i=0;i<u.length;++i){l=u[i],c=l.datapoints.points,h=l.datapoints.pointsize,S=l.datapoints.format;var L=t,A=t,O=n,M=n;for(s=0;s<c.length;s+=h){if(c[s]==null)continue;for(a=0;a<h;++a){m=c[s+a],g=S[a];if(!g||g.autoscale===!1||m==r||m==-r)continue;g.x&&(m<L&&(L=m),m>O&&(O=m)),g.y&&(m<A&&(A=m),m>M&&(M=m))}}if(l.bars.show){var _;switch(l.bars.align){case"left":_=0;break;case"right":_=-l.bars.barWidth;break;case"center":_=-l.bars.barWidth/2;break;default:throw new Error("Invalid bar alignment: "+l.bars.align)}l.bars.horizontal?(A+=_,M+=_+l.bars.barWidth):(L+=_,O+=_+l.bars.barWidth)}x(l.xaxis,L,O),x(l.yaxis,A,M)}e.each(k(),function(e,r){r.datamin==t&&(r.datamin=null),r.datamax==n&&(r.datamax=null)})}function D(){t.css("padding",0).children(":not(.flot-base,.flot-overlay)").remove(),t.css("position")=="static"&&t.css("position","relative"),f=new n("flot-base",t),l=new n("flot-overlay",t),h=f.context,p=l.context,c=e(l.element).unbind();var r=t.data("plot");r&&(r.shutdown(),l.clear()),t.data("plot",w)}function P(){a.grid.hoverable&&(c.mousemove(at),c.bind("mouseleave",ft)),a.grid.clickable&&c.click(lt),E(b.bindEvents,[c])}function H(){ot&&clearTimeout(ot),c.unbind("mousemove",at),c.unbind("mouseleave",ft),c.unbind("click",lt),E(b.shutdown,[c])}function B(e){function t(e){return e}var n,r,i=e.options.transform||t,s=e.options.inverseTransform;e.direction=="x"?(n=e.scale=g/Math.abs(i(e.max)-i(e.min)),r=Math.min(i(e.max),i(e.min))):(n=e.scale=y/Math.abs(i(e.max)-i(e.min)),n=-n,r=Math.max(i(e.max),i(e.min))),i==t?e.p2c=function(e){return(e-r)*n}:e.p2c=function(e){return(i(e)-r)*n},s?e.c2p=function(e){return s(r+e/n)}:e.c2p=function(e){return r+e/n}}function j(e){var t=e.options,n=e.ticks||[],r=t.labelWidth||0,i=t.labelHeight||0,s=r||e.direction=="x"?Math.floor(f.width/(n.length||1)):null;legacyStyles=e.direction+"Axis "+e.direction+e.n+"Axis",layer="flot-"+e.direction+"-axis flot-"+e.direction+e.n+"-axis "+legacyStyles,font=t.font||"flot-tick-label tickLabel";for(var o=0;o<n.length;++o){var u=n[o];if(!u.label)continue;var a=f.getTextInfo(layer,u.label,font,null,s);r=Math.max(r,a.width),i=Math.max(i,a.height)}e.labelWidth=t.labelWidth||r,e.labelHeight=t.labelHeight||i}function F(t){var n=t.labelWidth,r=t.labelHeight,i=t.options.position,s=t.options.tickLength,o=a.grid.axisMargin,u=a.grid.labelMargin,l=t.direction=="x"?d:v,c,h,p=e.grep(l,function(e){return e&&e.options.position==i&&e.reserveSpace});e.inArray(t,p)==p.length-1&&(o=0);if(s==null){var g=e.grep(l,function(e){return e&&e.reserveSpace});h=e.inArray(t,g)==0,h?s="full":s=5}isNaN(+s)||(u+=+s),t.direction=="x"?(r+=u,i=="bottom"?(m.bottom+=r+o,t.box={top:f.height-m.bottom,height:r}):(t.box={top:m.top+o,height:r},m.top+=r+o)):(n+=u,i=="left"?(t.box={left:m.left+o,width:n},m.left+=n+o):(m.right+=n+o,t.box={left:f.width-m.right,width:n})),t.position=i,t.tickLength=s,t.box.padding=u,t.innermost=h}function I(e){e.direction=="x"?(e.box.left=m.left-e.labelWidth/2,e.box.width=f.width-m.left-m.right+e.labelWidth):(e.box.top=m.top-e.labelHeight/2,e.box.height=f.height-m.bottom-m.top+e.labelHeight)}function q(){var t=a.grid.minBorderMargin,n={x:0,y:0},r,i;if(t==null){t=0;for(r=0;r<u.length;++r)t=Math.max(t,2*(u[r].points.radius+u[r].points.lineWidth/2))}n.x=n.y=Math.ceil(t),e.each(k(),function(e,t){var r=t.direction;t.reserveSpace&&(n[r]=Math.ceil(Math.max(n[r],(r=="x"?t.labelWidth:t.labelHeight)/2)))}),m.left=Math.max(n.x,m.left),m.right=Math.max(n.x,m.right),m.top=Math.max(n.y,m.top),m.bottom=Math.max(n.y,m.bottom)}function R(){var t,n=k(),r=a.grid.show;for(var i in m){var s=a.grid.margin||0;m[i]=typeof s=="number"?s:s[i]||0}E(b.processOffset,[m]);for(var i in m)typeof a.grid.borderWidth=="object"?m[i]+=r?a.grid.borderWidth[i]:0:m[i]+=r?a.grid.borderWidth:0;e.each(n,function(e,t){t.show=t.options.show,t.show==null&&(t.show=t.used),t.reserveSpace=t.show||t.options.reserveSpace,U(t)});if(r){var o=e.grep(n,function(e){return e.reserveSpace});e.each(o,function(e,t){z(t),W(t),X(t,t.ticks),j(t)});for(t=o.length-1;t>=0;--t)F(o[t]);q(),e.each(o,function(e,t){I(t)})}g=f.width-m.left-m.right,y=f.height-m.bottom-m.top,e.each(n,function(e,t){B(t)}),r&&G(),it()}function U(e){var t=e.options,n=+(t.min!=null?t.min:e.datamin),r=+(t.max!=null?t.max:e.datamax),i=r-n;if(i==0){var s=r==0?1:.01;t.min==null&&(n-=s);if(t.max==null||t.min!=null)r+=s}else{var o=t.autoscaleMargin;o!=null&&(t.min==null&&(n-=i*o,n<0&&e.datamin!=null&&e.datamin>=0&&(n=0)),t.max==null&&(r+=i*o,r>0&&e.datamax!=null&&e.datamax<=0&&(r=0)))}e.min=n,e.max=r}function z(t){var n=t.options,r;typeof n.ticks=="number"&&n.ticks>0?r=n.ticks:r=.3*Math.sqrt(t.direction=="x"?f.width:f.height);var s=(t.max-t.min)/r,o=-Math.floor(Math.log(s)/Math.LN10),u=n.tickDecimals;u!=null&&o>u&&(o=u);var a=Math.pow(10,-o),l=s/a,c;l<1.5?c=1:l<3?(c=2,l>2.25&&(u==null||o+1<=u)&&(c=2.5,++o)):l<7.5?c=5:c=10,c*=a,n.minTickSize!=null&&c<n.minTickSize&&(c=n.minTickSize),t.delta=s,t.tickDecimals=Math.max(0,u!=null?u:o),t.tickSize=n.tickSize||c;if(n.mode=="time"&&!t.tickGenerator)throw new Error("Time mode requires the flot.time plugin.");t.tickGenerator||(t.tickGenerator=function(e){var t=[],n=i(e.min,e.tickSize),r=0,s=Number.NaN,o;do o=s,s=n+r*e.tickSize,t.push(s),++r;while(s<e.max&&s!=o);return t},t.tickFormatter=function(e,t){var n=t.tickDecimals?Math.pow(10,t.tickDecimals):1,r=""+Math.round(e*n)/n;if(t.tickDecimals!=null){var i=r.indexOf("."),s=i==-1?0:r.length-i-1;if(s<t.tickDecimals)return(s?r:r+".")+(""+n).substr(1,t.tickDecimals-s)}return r}),e.isFunction(n.tickFormatter)&&(t.tickFormatter=function(e,t){return""+n.tickFormatter(e,t)});if(n.alignTicksWithAxis!=null){var h=(t.direction=="x"?d:v)[n.alignTicksWithAxis-1];if(h&&h.used&&h!=t){var p=t.tickGenerator(t);p.length>0&&(n.min==null&&(t.min=Math.min(t.min,p[0])),n.max==null&&p.length>1&&(t.max=Math.max(t.max,p[p.length-1]))),t.tickGenerator=function(e){var t=[],n,r;for(r=0;r<h.ticks.length;++r)n=(h.ticks[r].v-h.min)/(h.max-h.min),n=e.min+n*(e.max-e.min),t.push(n);return t};if(!t.mode&&n.tickDecimals==null){var m=Math.max(0,-Math.floor(Math.log(t.delta)/Math.LN10)+1),g=t.tickGenerator(t);g.length>1&&/\..*0$/.test((g[1]-g[0]).toFixed(m))||(t.tickDecimals=m)}}}}function W(t){var n=t.options.ticks,r=[];n==null||typeof n=="number"&&n>0?r=t.tickGenerator(t):n&&(e.isFunction(n)?r=n(t):r=n);var i,s;t.ticks=[];for(i=0;i<r.length;++i){var o=null,u=r[i];typeof u=="object"?(s=+u[0],u.length>1&&(o=u[1])):s=+u,o==null&&(o=t.tickFormatter(s,t)),isNaN(s)||t.ticks.push({v:s,label:o})}}function X(e,t){e.options.autoscaleMargin&&t.length>0&&(e.options.min==null&&(e.min=Math.min(e.min,t[0].v)),e.options.max==null&&t.length>1&&(e.max=Math.max(e.max,t[t.length-1].v)))}function V(){f.clear(),E(b.drawBackground,[h]);var e=a.grid;e.show&&e.backgroundColor&&K(),e.show&&!e.aboveData&&Q();for(var t=0;t<u.length;++t)E(b.drawSeries,[h,u[t]]),Y(u[t]);E(b.draw,[h]),e.show&&e.aboveData&&Q(),f.render(),ht()}function J(e,t){var n,r,i,s,o=k();for(var u=0;u<o.length;++u){n=o[u];if(n.direction==t){s=t+n.n+"axis",!e[s]&&n.n==1&&(s=t+"axis");if(e[s]){r=e[s].from,i=e[s].to;break}}}e[s]||(n=t=="x"?d[0]:v[0],r=e[t+"1"],i=e[t+"2"]);if(r!=null&&i!=null&&r>i){var a=r;r=i,i=a}return{from:r,to:i,axis:n}}function K(){h.save(),h.translate(m.left,m.top),h.fillStyle=bt(a.grid.backgroundColor,y,0,"rgba(255, 255, 255, 0)"),h.fillRect(0,0,g,y),h.restore()}function Q(){var t,n,r,i;h.save(),h.translate(m.left,m.top);var s=a.grid.markings;if(s){e.isFunction(s)&&(n=w.getAxes(),n.xmin=n.xaxis.min,n.xmax=n.xaxis.max,n.ymin=n.yaxis.min,n.ymax=n.yaxis.max,s=s(n));for(t=0;t<s.length;++t){var o=s[t],u=J(o,"x"),f=J(o,"y");u.from==null&&(u.from=u.axis.min),u.to==null&&(u.to=u.axis.max),f.from==null&&(f.from=f.axis.min),f.to==null&&(f.to=f.axis.max);if(u.to<u.axis.min||u.from>u.axis.max||f.to<f.axis.min||f.from>f.axis.max)continue;u.from=Math.max(u.from,u.axis.min),u.to=Math.min(u.to,u.axis.max),f.from=Math.max(f.from,f.axis.min),f.to=Math.min(f.to,f.axis.max);if(u.from==u.to&&f.from==f.to)continue;u.from=u.axis.p2c(u.from),u.to=u.axis.p2c(u.to),f.from=f.axis.p2c(f.from),f.to=f.axis.p2c(f.to),u.from==u.to||f.from==f.to?(h.beginPath(),h.strokeStyle=o.color||a.grid.markingsColor,h.lineWidth=o.lineWidth||a.grid.markingsLineWidth,h.moveTo(u.from,f.from),h.lineTo(u.to,f.to),h.stroke()):(h.fillStyle=o.color||a.grid.markingsColor,h.fillRect(u.from,f.to,u.to-u.from,f.from-f.to))}}n=k(),r=a.grid.borderWidth;for(var l=0;l<n.length;++l){var c=n[l],p=c.box,d=c.tickLength,v,b,E,S;if(!c.show||c.ticks.length==0)continue;h.lineWidth=1,c.direction=="x"?(v=0,d=="full"?b=c.position=="top"?0:y:b=p.top-m.top+(c.position=="top"?p.height:0)):(b=0,d=="full"?v=c.position=="left"?0:g:v=p.left-m.left+(c.position=="left"?p.width:0)),c.innermost||(h.strokeStyle=c.options.color,h.beginPath(),E=S=0,c.direction=="x"?E=g+1:S=y+1,h.lineWidth==1&&(c.direction=="x"?b=Math.floor(b)+.5:v=Math.floor(v)+.5),h.moveTo(v,b),h.lineTo(v+E,b+S),h.stroke()),h.strokeStyle=c.options.tickColor,h.beginPath();for(t=0;t<c.ticks.length;++t){var x=c.ticks[t].v;E=S=0;if(isNaN(x)||x<c.min||x>c.max||d=="full"&&(typeof r=="object"&&r[c.position]>0||r>0)&&(x==c.min||x==c.max))continue;c.direction=="x"?(v=c.p2c(x),S=d=="full"?-y:d,c.position=="top"&&(S=-S)):(b=c.p2c(x),E=d=="full"?-g:d,c.position=="left"&&(E=-E)),h.lineWidth==1&&(c.direction=="x"?v=Math.floor(v)+.5:b=Math.floor(b)+.5),h.moveTo(v,b),h.lineTo(v+E,b+S)}h.stroke()}r&&(i=a.grid.borderColor,typeof r=="object"||typeof i=="object"?(typeof r!="object"&&(r={top:r,right:r,bottom:r,left:r}),typeof i!="object"&&(i={top:i,right:i,bottom:i,left:i}),r.top>0&&(h.strokeStyle=i.top,h.lineWidth=r.top,h.beginPath(),h.moveTo(0-r.left,0-r.top/2),h.lineTo(g,0-r.top/2),h.stroke()),r.right>0&&(h.strokeStyle=i.right,h.lineWidth=r.right,h.beginPath(),h.moveTo(g+r.right/2,0-r.top),h.lineTo(g+r.right/2,y),h.stroke()),r.bottom>0&&(h.strokeStyle=i.bottom,h.lineWidth=r.bottom,h.beginPath(),h.moveTo(g+r.right,y+r.bottom/2),h.lineTo(0,y+r.bottom/2),h.stroke()),r.left>0&&(h.strokeStyle=i.left,h.lineWidth=r.left,h.beginPath(),h.moveTo(0-r.left/2,y+r.bottom),h.lineTo(0-r.left/2,0),h.stroke())):(h.lineWidth=r,h.strokeStyle=a.grid.borderColor,h.strokeRect(-r/2,-r/2,g+r,y+r))),h.restore()}function G(){e.each(k(),function(e,t){if(!t.show||t.ticks.length==0)return;var n=t.box,r=t.direction+"Axis "+t.direction+t.n+"Axis",i="flot-"+t.direction+"-axis flot-"+t.direction+t.n+"-axis "+r,s=t.options.font||"flot-tick-label tickLabel",o,u,a,l,c;f.removeText(i);for(var h=0;h<t.ticks.length;++h){o=t.ticks[h];if(!o.label||o.v<t.min||o.v>t.max)continue;t.direction=="x"?(l="center",u=m.left+t.p2c(o.v),t.position=="bottom"?a=n.top+n.padding:(a=n.top+n.height-n.padding,c="bottom")):(c="middle",a=m.top+t.p2c(o.v),t.position=="left"?(u=n.left+n.width-n.padding,l="right"):u=n.left+n.padding),f.addText(i,u,a,o.label,s,null,null,l,c)}})}function Y(e){e.lines.show&&Z(e),e.bars.show&&nt(e),e.points.show&&et(e)}function Z(e){function t(e,t,n,r,i){var s=e.points,o=e.pointsize,u=null,a=null;h.beginPath();for(var f=o;f<s.length;f+=o){var l=s[f-o],c=s[f-o+1],p=s[f],d=s[f+1];if(l==null||p==null)continue;if(c<=d&&c<i.min){if(d<i.min)continue;l=(i.min-c)/(d-c)*(p-l)+l,c=i.min}else if(d<=c&&d<i.min){if(c<i.min)continue;p=(i.min-c)/(d-c)*(p-l)+l,d=i.min}if(c>=d&&c>i.max){if(d>i.max)continue;l=(i.max-c)/(d-c)*(p-l)+l,c=i.max}else if(d>=c&&d>i.max){if(c>i.max)continue;p=(i.max-c)/(d-c)*(p-l)+l,d=i.max}if(l<=p&&l<r.min){if(p<r.min)continue;c=(r.min-l)/(p-l)*(d-c)+c,l=r.min}else if(p<=l&&p<r.min){if(l<r.min)continue;d=(r.min-l)/(p-l)*(d-c)+c,p=r.min}if(l>=p&&l>r.max){if(p>r.max)continue;c=(r.max-l)/(p-l)*(d-c)+c,l=r.max}else if(p>=l&&p>r.max){if(l>r.max)continue;d=(r.max-l)/(p-l)*(d-c)+c,p=r.max}(l!=u||c!=a)&&h.moveTo(r.p2c(l)+t,i.p2c(c)+n),u=p,a=d,h.lineTo(r.p2c(p)+t,i.p2c(d)+n)}h.stroke()}function n(e,t,n){var r=e.points,i=e.pointsize,s=Math.min(Math.max(0,n.min),n.max),o=0,u,a=!1,f=1,l=0,c=0;for(;;){if(i>0&&o>r.length+i)break;o+=i;var p=r[o-i],d=r[o-i+f],v=r[o],m=r[o+f];if(a){if(i>0&&p!=null&&v==null){c=o,i=-i,f=2;continue}if(i<0&&o==l+i){h.fill(),a=!1,i=-i,f=1,o=l=c+i;continue}}if(p==null||v==null)continue;if(p<=v&&p<t.min){if(v<t.min)continue;d=(t.min-p)/(v-p)*(m-d)+d,p=t.min}else if(v<=p&&v<t.min){if(p<t.min)continue;m=(t.min-p)/(v-p)*(m-d)+d,v=t.min}if(p>=v&&p>t.max){if(v>t.max)continue;d=(t.max-p)/(v-p)*(m-d)+d,p=t.max}else if(v>=p&&v>t.max){if(p>t.max)continue;m=(t.max-p)/(v-p)*(m-d)+d,v=t.max}a||(h.beginPath(),h.moveTo(t.p2c(p),n.p2c(s)),a=!0);if(d>=n.max&&m>=n.max){h.lineTo(t.p2c(p),n.p2c(n.max)),h.lineTo(t.p2c(v),n.p2c(n.max));continue}if(d<=n.min&&m<=n.min){h.lineTo(t.p2c(p),n.p2c(n.min)),h.lineTo(t.p2c(v),n.p2c(n.min));continue}var g=p,y=v;d<=m&&d<n.min&&m>=n.min?(p=(n.min-d)/(m-d)*(v-p)+p,d=n.min):m<=d&&m<n.min&&d>=n.min&&(v=(n.min-d)/(m-d)*(v-p)+p,m=n.min),d>=m&&d>n.max&&m<=n.max?(p=(n.max-d)/(m-d)*(v-p)+p,d=n.max):m>=d&&m>n.max&&d<=n.max&&(v=(n.max-d)/(m-d)*(v-p)+p,m=n.max),p!=g&&h.lineTo(t.p2c(g),n.p2c(d)),h.lineTo(t.p2c(p),n.p2c(d)),h.lineTo(t.p2c(v),n.p2c(m)),v!=y&&(h.lineTo(t.p2c(v),n.p2c(m)),h.lineTo(t.p2c(y),n.p2c(m)))}}h.save(),h.translate(m.left,m.top),h.lineJoin="round";var r=e.lines.lineWidth,i=e.shadowSize;if(r>0&&i>0){h.lineWidth=i,h.strokeStyle="rgba(0,0,0,0.1)";var s=Math.PI/18;t(e.datapoints,Math.sin(s)*(r/2+i/2),Math.cos(s)*(r/2+i/2),e.xaxis,e.yaxis),h.lineWidth=i/2,t(e.datapoints,Math.sin(s)*(r/2+i/4),Math.cos(s)*(r/2+i/4),e.xaxis,e.yaxis)}h.lineWidth=r,h.strokeStyle=e.color;var o=rt(e.lines,e.color,0,y);o&&(h.fillStyle=o,n(e.datapoints,e.xaxis,e.yaxis)),r>0&&t(e.datapoints,0,0,e.xaxis,e.yaxis),h.restore()}function et(e){function t(e,t,n,r,i,s,o,u){var a=e.points,f=e.pointsize;for(var l=0;l<a.length;l+=f){var c=a[l],p=a[l+1];if(c==null||c<s.min||c>s.max||p<o.min||p>o.max)continue;h.beginPath(),c=s.p2c(c),p=o.p2c(p)+r,u=="circle"?h.arc(c,p,t,0,i?Math.PI:Math.PI*2,!1):u(h,c,p,t,i),h.closePath(),n&&(h.fillStyle=n,h.fill()),h.stroke()}}h.save(),h.translate(m.left,m.top);var n=e.points.lineWidth,r=e.shadowSize,i=e.points.radius,s=e.points.symbol;n==0&&(n=1e-4);if(n>0&&r>0){var o=r/2;h.lineWidth=o,h.strokeStyle="rgba(0,0,0,0.1)",t(e.datapoints,i,null,o+o/2,!0,e.xaxis,e.yaxis,s),h.strokeStyle="rgba(0,0,0,0.2)",t(e.datapoints,i,null,o/2,!0,e.xaxis,e.yaxis,s)}h.lineWidth=n,h.strokeStyle=e.color,t(e.datapoints,i,rt(e.points,e.color),0,!1,e.xaxis,e.yaxis,s),h.restore()}function tt(e,t,n,r,i,s,o,u,a,f,l,c){var h,p,d,v,m,g,y,b,w;l?(b=g=y=!0,m=!1,h=n,p=e,v=t+r,d=t+i,p<h&&(w=p,p=h,h=w,m=!0,g=!1)):(m=g=y=!0,b=!1,h=e+r,p=e+i,d=n,v=t,v<d&&(w=v,v=d,d=w,b=!0,y=!1));if(p<u.min||h>u.max||v<a.min||d>a.max)return;h<u.min&&(h=u.min,m=!1),p>u.max&&(p=u.max,g=!1),d<a.min&&(d=a.min,b=!1),v>a.max&&(v=a.max,y=!1),h=u.p2c(h),d=a.p2c(d),p=u.p2c(p),v=a.p2c(v),o&&(f.beginPath(),f.moveTo(h,d),f.lineTo(h,v),f.lineTo(p,v),f.lineTo(p,d),f.fillStyle=o(d,v),f.fill()),c>0&&(m||g||y||b)&&(f.beginPath(),f.moveTo(h,d+s),m?f.lineTo(h,v+s):f.moveTo(h,v+s),y?f.lineTo(p,v+s):f.moveTo(p,v+s),g?f.lineTo(p,d+s):f.moveTo(p,d+s),b?f.lineTo(h,d+s):f.moveTo(h,d+s),f.stroke())}function nt(e){function t(t,n,r,i,s,o,u){var a=t.points,f=t.pointsize;for(var l=0;l<a.length;l+=f){if(a[l]==null)continue;tt(a[l],a[l+1],a[l+2],n,r,i,s,o,u,h,e.bars.horizontal,e.bars.lineWidth)}}h.save(),h.translate(m.left,m.top),h.lineWidth=e.bars.lineWidth,h.strokeStyle=e.color;var n;switch(e.bars.align){case"left":n=0;break;case"right":n=-e.bars.barWidth;break;case"center":n=-e.bars.barWidth/2;break;default:throw new Error("Invalid bar alignment: "+e.bars.align)}var r=e.bars.fill?function(t,n){return rt(e.bars,e.color,t,n)}:null;t(e.datapoints,n,n+e.bars.barWidth,0,r,e.xaxis,e.yaxis),h.restore()}function rt(t,n,r,i){var s=t.fill;if(!s)return null;if(t.fillColor)return bt(t.fillColor,r,i,n);var o=e.color.parse(n);return o.a=typeof s=="number"?s:.4,o.normalize(),o.toString()}function it(){t.find(".legend").remove();if(!a.legend.show)return;var n=[],r=[],i=!1,s=a.legend.labelFormatter,o,f;for(var l=0;l<u.length;++l)o=u[l],o.label&&(f=s?s(o.label,o):o.label,f&&r.push({label:f,color:o.color}));if(a.legend.sorted)if(e.isFunction(a.legend.sorted))r.sort(a.legend.sorted);else if(a.legend.sorted=="reverse")r.reverse();else{var c=a.legend.sorted!="descending";r.sort(function(e,t){return e.label==t.label?0:e.label<t.label!=c?1:-1})}for(var l=0;l<r.length;++l){var h=r[l];l%a.legend.noColumns==0&&(i&&n.push("</tr>"),n.push("<tr>"),i=!0),n.push('<td class="legendColorBox"><div style="border:1px solid '+a.legend.labelBoxBorderColor+';padding:1px"><div style="width:4px;height:0;border:5px solid '+h.color+';overflow:hidden"></div></div></td>'+'<td class="legendLabel">'+h.label+"</td>")}i&&n.push("</tr>");if(n.length==0)return;var p='<table style="font-size:smaller;color:'+a.grid.color+'">'+n.join("")+"</table>";if(a.legend.container!=null)e(a.legend.container).html(p);else{var d="",v=a.legend.position,g=a.legend.margin;g[0]==null&&(g=[g,g]),v.charAt(0)=="n"?d+="top:"+(g[1]+m.top)+"px;":v.charAt(0)=="s"&&(d+="bottom:"+(g[1]+m.bottom)+"px;"),v.charAt(1)=="e"?d+="right:"+(g[0]+m.right)+"px;":v.charAt(1)=="w"&&(d+="left:"+(g[0]+m.left)+"px;");var y=e('<div class="legend">'+p.replace('style="','style="position:absolute;'+d+";")+"</div>").appendTo(t);if(a.legend.backgroundOpacity!=0){var b=a.legend.backgroundColor;b==null&&(b=a.grid.backgroundColor,b&&typeof b=="string"?b=e.color.parse(b):b=e.color.extract(y,"background-color"),b.a=1,b=b.toString());var w=y.children();e('<div style="position:absolute;width:'+w.width()+"px;height:"+w.height()+"px;"+d+"background-color:"+b+';"> </div>').prependTo(y).css("opacity",a.legend.backgroundOpacity)}}}function ut(e,t,n){var r=a.grid.mouseActiveRadius,i=r*r+1,s=null,o=!1,f,l,c;for(f=u.length-1;f>=0;--f){if(!n(u[f]))continue;var h=u[f],p=h.xaxis,d=h.yaxis,v=h.datapoints.points,m=p.c2p(e),g=d.c2p(t),y=r/p.scale,b=r/d.scale;c=h.datapoints.pointsize,p.options.inverseTransform&&(y=Number.MAX_VALUE),d.options.inverseTransform&&(b=Number.MAX_VALUE);if(h.lines.show||h.points.show)for(l=0;l<v.length;l+=c){var w=v[l],E=v[l+1];if(w==null)continue;if(w-m>y||w-m<-y||E-g>b||E-g<-b)continue;var S=Math.abs(p.p2c(w)-e),x=Math.abs(d.p2c(E)-t),T=S*S+x*x;T<i&&(i=T,s=[f,l/c])}if(h.bars.show&&!s){var N=h.bars.align=="left"?0:-h.bars.barWidth/2,C=N+h.bars.barWidth;for(l=0;l<v.length;l+=c){var w=v[l],E=v[l+1],k=v[l+2];if(w==null)continue;if(u[f].bars.horizontal?m<=Math.max(k,w)&&m>=Math.min(k,w)&&g>=E+N&&g<=E+C:m>=w+N&&m<=w+C&&g>=Math.min(k,E)&&g<=Math.max(k,E))s=[f,l/c]}}}return s?(f=s[0],l=s[1],c=u[f].datapoints.pointsize,{datapoint:u[f].datapoints.points.slice(l*c,(l+1)*c),dataIndex:l,series:u[f],seriesIndex:f}):null}function at(e){a.grid.hoverable&&ct("plothover",e,function(e){return e["hoverable"]!=0})}function ft(e){a.grid.hoverable&&ct("plothover",e,function(e){return!1})}function lt(e){ct("plotclick",e,function(e){return e["clickable"]!=0})}function ct(e,n,r){var i=c.offset(),s=n.pageX-i.left-m.left,o=n.pageY-i.top-m.top,u=L({left:s,top:o});u.pageX=n.pageX,u.pageY=n.pageY;var f=ut(s,o,r);f&&(f.pageX=parseInt(f.series.xaxis.p2c(f.datapoint[0])+i.left+m.left,10),f.pageY=parseInt(f.series.yaxis.p2c(f.datapoint[1])+i.top+m.top,10));if(a.grid.autoHighlight){for(var l=0;l<st.length;++l){var h=st[l];h.auto==e&&(!f||h.series!=f.series||h.point[0]!=f.datapoint[0]||h.point[1]!=f.datapoint[1])&&vt(h.series,h.point)}f&&dt(f.series,f.datapoint,e)}t.trigger(e,[u,f])}function ht(){var e=a.interaction.redrawOverlayInterval;if(e==-1){pt();return}ot||(ot=setTimeout(pt,e))}function pt(){ot=null,p.save(),l.clear(),p.translate(m.left,m.top);var e,t;for(e=0;e<st.length;++e)t=st[e],t.series.bars.show?yt(t.series,t.point):gt(t.series,t.point);p.restore(),E(b.drawOverlay,[p])}function dt(e,t,n){typeof e=="number"&&(e=u[e]);if(typeof t=="number"){var r=e.datapoints.pointsize;t=e.datapoints.points.slice(r*t,r*(t+1))}var i=mt(e,t);i==-1?(st.push({series:e,point:t,auto:n}),ht()):n||(st[i].auto=!1)}function vt(e,t){if(e==null&&t==null){st=[],ht();return}typeof e=="number"&&(e=u[e]);if(typeof t=="number"){var n=e.datapoints.pointsize;t=e.datapoints.points.slice(n*t,n*(t+1))}var r=mt(e,t);r!=-1&&(st.splice(r,1),ht())}function mt(e,t){for(var n=0;n<st.length;++n){var r=st[n];if(r.series==e&&r.point[0]==t[0]&&r.point[1]==t[1])return n}return-1}function gt(t,n){var r=n[0],i=n[1],s=t.xaxis,o=t.yaxis,u=typeof t.highlightColor=="string"?t.highlightColor:e.color.parse(t.color).scale("a",.5).toString();if(r<s.min||r>s.max||i<o.min||i>o.max)return;var a=t.points.radius+t.points.lineWidth/2;p.lineWidth=a,p.strokeStyle=u;var f=1.5*a;r=s.p2c(r),i=o.p2c(i),p.beginPath(),t.points.symbol=="circle"?p.arc(r,i,f,0,2*Math.PI,!1):t.points.symbol(p,r,i,f,!1),p.closePath(),p.stroke()}function yt(t,n){var r=typeof t.highlightColor=="string"?t.highlightColor:e.color.parse(t.color).scale("a",.5).toString(),i=r,s=t.bars.align=="left"?0:-t.bars.barWidth/2;p.lineWidth=t.bars.lineWidth,p.strokeStyle=r,tt(n[0],n[1],n[2]||0,s,s+t.bars.barWidth,0,function(){return i},t.xaxis,t.yaxis,p,t.bars.horizontal,t.bars.lineWidth)}function bt(t,n,r,i){if(typeof t=="string")return t;var s=h.createLinearGradient(0,r,0,n);for(var o=0,u=t.colors.length;o<u;++o){var a=t.colors[o];if(typeof a!="string"){var f=e.color.parse(i);a.brightness!=null&&(f=f.scale("rgb",a.brightness)),a.opacity!=null&&(f.a*=a.opacity),a=f.toString()}s.addColorStop(o/(u-1),a)}return s}var u=[],a={colors:["#edc240","#afd8f8","#cb4b4b","#4da74d","#9440ed"],legend:{show:!0,noColumns:1,labelFormatter:null,labelBoxBorderColor:"#ccc",container:null,position:"ne",margin:5,backgroundColor:null,backgroundOpacity:.85,sorted:null},xaxis:{show:null,position:"bottom",mode:null,font:null,color:null,tickColor:null,transform:null,inverseTransform:null,min:null,max:null,autoscaleMargin:null,ticks:null,tickFormatter:null,labelWidth:null,labelHeight:null,reserveSpace:null,tickLength:null,alignTicksWithAxis:null,tickDecimals:null,tickSize:null,minTickSize:null},yaxis:{autoscaleMargin:.02,position:"left"},xaxes:[],yaxes:[],series:{points:{show:!1,radius:3,lineWidth:2,fill:!0,fillColor:"#ffffff",symbol:"circle"},lines:{lineWidth:2,fill:!1,fillColor:null,steps:!1},bars:{show:!1,lineWidth:2,barWidth:1,fill:!0,fillColor:null,align:"left",horizontal:!1,zero:!0},shadowSize:3,highlightColor:null},grid:{show:!0,aboveData:!1,color:"#545454",backgroundColor:null,borderColor:null,tickColor:null,margin:0,labelMargin:5,axisMargin:8,borderWidth:2,minBorderMargin:null,markings:null,markingsColor:"#f4f4f4",markingsLineWidth:2,clickable:!1,hoverable:!1,autoHighlight:!0,mouseActiveRadius:10},interaction:{redrawOverlayInterval:1e3/60},hooks:{}},f=null,l=null,c=null,h=null,p=null,d=[],v=[],m={left:0,right:0,top:0,bottom +:0},g=0,y=0,b={processOptions:[],processRawData:[],processDatapoints:[],processOffset:[],drawBackground:[],drawSeries:[],draw:[],bindEvents:[],drawOverlay:[],shutdown:[]},w=this;w.setData=T,w.setupGrid=R,w.draw=V,w.getPlaceholder=function(){return t},w.getCanvas=function(){return f.element},w.getPlotOffset=function(){return m},w.width=function(){return g},w.height=function(){return y},w.offset=function(){var e=c.offset();return e.left+=m.left,e.top+=m.top,e},w.getData=function(){return u},w.getAxes=function(){var t={},n;return e.each(d.concat(v),function(e,n){n&&(t[n.direction+(n.n!=1?n.n:"")+"axis"]=n)}),t},w.getXAxes=function(){return d},w.getYAxes=function(){return v},w.c2p=L,w.p2c=A,w.getOptions=function(){return a},w.highlight=dt,w.unhighlight=vt,w.triggerRedrawOverlay=ht,w.pointOffset=function(e){return{left:parseInt(d[C(e,"x")-1].p2c(+e.x)+m.left,10),top:parseInt(v[C(e,"y")-1].p2c(+e.y)+m.top,10)}},w.shutdown=H,w.resize=function(){var e=t.width(),n=t.height();f.resize(e,n),l.resize(e,n)},w.hooks=b,S(w),x(s),D(),T(r),R(),V(),P();var st=[],ot=null}function i(e,t){return t*Math.floor(e/t)}var t=Object.prototype.hasOwnProperty;n.prototype.resize=function(e,t){if(e<=0||t<=0)throw new Error("Invalid dimensions for plot, width = "+e+", height = "+t);var n=this.element,r=this.context,i=this.pixelRatio;this.width!=e&&(n.width=e*i,n.style.width=e+"px",this.width=e),this.height!=t&&(n.height=t*i,n.style.height=t+"px",this.height=t),r.restore(),r.save(),r.scale(i,i)},n.prototype.clear=function(){this.context.clearRect(0,0,this.width,this.height)},n.prototype.render=function(){var e=this._textCache;for(var n in e)if(t.call(e,n)){var r=this.getTextLayer(n),i=e[n];r.hide();for(var s in i)if(t.call(i,s)){var o=i[s];for(var u in o)if(t.call(o,u)){var a=o[u].positions;for(var f=0,l;l=a[f];f++)l.active?l.rendered||(r.append(l.element),l.rendered=!0):(a.splice(f--,1),l.rendered&&l.element.detach());a.length==0&&delete o[u]}}r.show()}},n.prototype.getTextLayer=function(t){var n=this.text[t];return n==null&&(this.textContainer==null&&(this.textContainer=e("<div class='flot-text'></div>").css({position:"absolute",top:0,left:0,bottom:0,right:0,"font-size":"smaller",color:"#545454"}).insertAfter(this.element)),n=this.text[t]=e("<div></div>").addClass(t).css({position:"absolute",top:0,left:0,bottom:0,right:0}).appendTo(this.textContainer)),n},n.prototype.getTextInfo=function(t,n,r,i,s){var o,u,a,f;n=""+n,typeof r=="object"?o=r.style+" "+r.variant+" "+r.weight+" "+r.size+"px/"+r.lineHeight+"px "+r.family:o=r,u=this._textCache[t],u==null&&(u=this._textCache[t]={}),a=u[o],a==null&&(a=u[o]={}),f=a[n];if(f==null){var l=e("<div></div>").html(n).css({position:"absolute","max-width":s,top:-9999}).appendTo(this.getTextLayer(t));typeof r=="object"?l.css({font:o,color:r.color}):typeof r=="string"&&l.addClass(r),f=a[n]={width:l.outerWidth(!0),height:l.outerHeight(!0),element:l,positions:[]},l.detach()}return f},n.prototype.addText=function(e,t,n,r,i,s,o,u,a){var f=this.getTextInfo(e,r,i,s,o),l=f.positions;u=="center"?t-=f.width/2:u=="right"&&(t-=f.width),a=="middle"?n-=f.height/2:a=="bottom"&&(n-=f.height);for(var c=0,h;h=l[c];c++)if(h.x==t&&h.y==n){h.active=!0;return}h={active:!0,rendered:!1,element:l.length?f.element.clone():f.element,x:t,y:n},l.push(h),h.element.css({top:Math.round(n),left:Math.round(t),"text-align":u})},n.prototype.removeText=function(e,n,r,i,s,o){if(i==null){var u=this._textCache[e];if(u!=null)for(var a in u)if(t.call(u,a)){var f=u[a];for(var l in f)if(t.call(f,l)){var c=f[l].positions;for(var h=0,p;p=c[h];h++)p.active=!1}}}else{var c=this.getTextInfo(e,i,s,o).positions;for(var h=0,p;p=c[h];h++)p.x==n&&p.y==r&&(p.active=!1)}},e.plot=function(t,n,i){var s=new r(e(t),n,i,e.plot.plugins);return s},e.plot.version="0.8.1",e.plot.plugins=[],e.fn.plot=function(t,n){return this.each(function(){e.plot(this,t,n)})}}(jQuery);
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/js/flot/jquery.flot.pie.min.js b/src/main/webapp/static/login/assets/js/flot/jquery.flot.pie.min.js new file mode 100644 index 0000000..3de8f44 --- /dev/null +++ b/src/main/webapp/static/login/assets/js/flot/jquery.flot.pie.min.js @@ -0,0 +1,56 @@ +/* Flot plugin for rendering pie charts. + +Copyright (c) 2007-2013 IOLA and Ole Laursen. +Licensed under the MIT license. + +The plugin assumes that each series has a single data value, and that each +value is a positive integer or zero. Negative numbers don't make sense for a +pie chart, and have unpredictable results. The values do NOT need to be +passed in as percentages; the plugin will calculate the total and per-slice +percentages internally. + +* Created by Brian Medendorp + +* Updated with contributions from btburnett3, Anthony Aragues and Xavi Ivars + +The plugin supports these options: + + series: { + pie: { + show: true/false + radius: 0-1 for percentage of fullsize, or a specified pixel length, or 'auto' + innerRadius: 0-1 for percentage of fullsize or a specified pixel length, for creating a donut effect + startAngle: 0-2 factor of PI used for starting angle (in radians) i.e 3/2 starts at the top, 0 and 2 have the same result + tilt: 0-1 for percentage to tilt the pie, where 1 is no tilt, and 0 is completely flat (nothing will show) + offset: { + top: integer value to move the pie up or down + left: integer value to move the pie left or right, or 'auto' + }, + stroke: { + color: any hexidecimal color value (other formats may or may not work, so best to stick with something like '#FFF') + width: integer pixel width of the stroke + }, + label: { + show: true/false, or 'auto' + formatter: a user-defined function that modifies the text/style of the label text + radius: 0-1 for percentage of fullsize, or a specified pixel length + background: { + color: any hexidecimal color value (other formats may or may not work, so best to stick with something like '#000') + opacity: 0-1 + }, + threshold: 0-1 for the percentage value at which to hide labels (if they're too small) + }, + combine: { + threshold: 0-1 for the percentage value at which to combine slices (if they're too small) + color: any hexidecimal color value (other formats may or may not work, so best to stick with something like '#CCC'), if null, the plugin will automatically use the color of the first slice to be combined + label: any text value of what the combined slice should be labeled + } + highlight: { + opacity: 0-1 + } + } + } + +More detail and specific examples can be found in the included HTML file. + +*/(function(e){function r(r){function p(t,n,r){l||(l=!0,s=t.getCanvas(),o=e(s).parent(),i=t.getOptions(),t.setData(d(t.getData())))}function d(t){var n=0,r=0,s=0,o=i.series.pie.combine.color,u=[];for(var a=0;a<t.length;++a){var f=t[a].data;e.isArray(f)&&f.length==1&&(f=f[0]),e.isArray(f)?!isNaN(parseFloat(f[1]))&&isFinite(f[1])?f[1]=+f[1]:f[1]=0:!isNaN(parseFloat(f))&&isFinite(f)?f=[1,+f]:f=[1,0],t[a].data=[f]}for(var a=0;a<t.length;++a)n+=t[a].data[0][1];for(var a=0;a<t.length;++a){var f=t[a].data[0][1];f/n<=i.series.pie.combine.threshold&&(r+=f,s++,o||(o=t[a].color))}for(var a=0;a<t.length;++a){var f=t[a].data[0][1];(s<2||f/n>i.series.pie.combine.threshold)&&u.push({data:[[1,f]],color:t[a].color,label:t[a].label,angle:f*Math.PI*2/n,percent:f/(n/100)})}return s>1&&u.push({data:[[1,r]],color:o,label:i.series.pie.combine.label,angle:r*Math.PI*2/n,percent:r/(n/100)}),u}function v(r,s){function y(){c.clearRect(0,0,h,p),o.children().filter(".pieLabel, .pieLabelBackground").remove()}function b(){var e=i.series.pie.shadow.left,t=i.series.pie.shadow.top,n=10,r=i.series.pie.shadow.alpha,s=i.series.pie.radius>1?i.series.pie.radius:u*i.series.pie.radius;if(s>=h/2-e||s*i.series.pie.tilt>=p/2-t||s<=n)return;c.save(),c.translate(e,t),c.globalAlpha=r,c.fillStyle="#000",c.translate(a,f),c.scale(1,i.series.pie.tilt);for(var o=1;o<=n;o++)c.beginPath(),c.arc(0,0,s,0,Math.PI*2,!1),c.fill(),s-=o;c.restore()}function w(){function l(e,t,i){if(e<=0||isNaN(e))return;i?c.fillStyle=t:(c.strokeStyle=t,c.lineJoin="round"),c.beginPath(),Math.abs(e-Math.PI*2)>1e-9&&c.moveTo(0,0),c.arc(0,0,n,r,r+e/2,!1),c.arc(0,0,n,r+e/2,r+e,!1),c.closePath(),r+=e,i?c.fill():c.stroke()}function d(){function l(t,n,s){if(t.data[0][1]==0)return!0;var u=i.legend.labelFormatter,l,c=i.series.pie.label.formatter;u?l=u(t.label,t):l=t.label,c&&(l=c(l,t));var d=(n+t.angle+n)/2,v=a+Math.round(Math.cos(d)*r),m=f+Math.round(Math.sin(d)*r)*i.series.pie.tilt,g="<span class='pieLabel' id='pieLabel"+s+"' style='position:absolute;top:"+m+"px;left:"+v+"px;'>"+l+"</span>";o.append(g);var y=o.children("#pieLabel"+s),b=m-y.height()/2,w=v-y.width()/2;y.css("top",b),y.css("left",w);if(0-b>0||0-w>0||p-(b+y.height())<0||h-(w+y.width())<0)return!1;if(i.series.pie.label.background.opacity!=0){var E=i.series.pie.label.background.color;E==null&&(E=t.color);var S="top:"+b+"px;left:"+w+"px;";e("<div class='pieLabelBackground' style='position:absolute;width:"+y.width()+"px;height:"+y.height()+"px;"+S+"background-color:"+E+";'></div>").css("opacity",i.series.pie.label.background.opacity).insertBefore(y)}return!0}var n=t,r=i.series.pie.label.radius>1?i.series.pie.label.radius:u*i.series.pie.label.radius;for(var s=0;s<v.length;++s){if(v[s].percent>=i.series.pie.label.threshold*100&&!l(v[s],n,s))return!1;n+=v[s].angle}return!0}var t=Math.PI*i.series.pie.startAngle,n=i.series.pie.radius>1?i.series.pie.radius:u*i.series.pie.radius;c.save(),c.translate(a,f),c.scale(1,i.series.pie.tilt),c.save();var r=t;for(var s=0;s<v.length;++s)v[s].startAngle=r,l(v[s].angle,v[s].color,!0);c.restore();if(i.series.pie.stroke.width>0){c.save(),c.lineWidth=i.series.pie.stroke.width,r=t;for(var s=0;s<v.length;++s)l(v[s].angle,i.series.pie.stroke.color,!1);c.restore()}return m(c),c.restore(),i.series.pie.label.show?d():!0}if(!o)return;var h=r.getPlaceholder().width(),p=r.getPlaceholder().height(),d=o.children().filter(".legend").children().width()||0;c=s,l=!1,u=Math.min(h,p/i.series.pie.tilt)/2,f=p/2+i.series.pie.offset.top,a=h/2,i.series.pie.offset.left=="auto"?i.legend.position.match("w")?a+=d/2:a-=d/2:a+=i.series.pie.offset.left,a<u?a=u:a>h-u&&(a=h-u);var v=r.getData(),g=0;do g>0&&(u*=n),g+=1,y(),i.series.pie.tilt<=.8&&b();while(!w()&&g<t);g>=t&&(y(),o.prepend("<div class='error'>Could not draw pie with labels contained inside canvas</div>")),r.setSeries&&r.insertLegend&&(r.setSeries(v),r.insertLegend())}function m(e){if(i.series.pie.innerRadius>0){e.save();var t=i.series.pie.innerRadius>1?i.series.pie.innerRadius:u*i.series.pie.innerRadius;e.globalCompositeOperation="destination-out",e.beginPath(),e.fillStyle=i.series.pie.stroke.color,e.arc(0,0,t,0,Math.PI*2,!1),e.fill(),e.closePath(),e.restore(),e.save(),e.beginPath(),e.strokeStyle=i.series.pie.stroke.color,e.arc(0,0,t,0,Math.PI*2,!1),e.stroke(),e.closePath(),e.restore()}}function g(e,t){for(var n=!1,r=-1,i=e.length,s=i-1;++r<i;s=r)(e[r][1]<=t[1]&&t[1]<e[s][1]||e[s][1]<=t[1]&&t[1]<e[r][1])&&t[0]<(e[s][0]-e[r][0])*(t[1]-e[r][1])/(e[s][1]-e[r][1])+e[r][0]&&(n=!n);return n}function y(e,t){var n=r.getData(),i=r.getOptions(),s=i.series.pie.radius>1?i.series.pie.radius:u*i.series.pie.radius,o,l;for(var h=0;h<n.length;++h){var p=n[h];if(p.pie.show){c.save(),c.beginPath(),c.moveTo(0,0),c.arc(0,0,s,p.startAngle,p.startAngle+p.angle/2,!1),c.arc(0,0,s,p.startAngle+p.angle/2,p.startAngle+p.angle,!1),c.closePath(),o=e-a,l=t-f;if(c.isPointInPath){if(c.isPointInPath(e-a,t-f))return c.restore(),{datapoint:[p.percent,p.data],dataIndex:0,series:p,seriesIndex:h}}else{var d=s*Math.cos(p.startAngle),v=s*Math.sin(p.startAngle),m=s*Math.cos(p.startAngle+p.angle/4),y=s*Math.sin(p.startAngle+p.angle/4),b=s*Math.cos(p.startAngle+p.angle/2),w=s*Math.sin(p.startAngle+p.angle/2),E=s*Math.cos(p.startAngle+p.angle/1.5),S=s*Math.sin(p.startAngle+p.angle/1.5),x=s*Math.cos(p.startAngle+p.angle),T=s*Math.sin(p.startAngle+p.angle),N=[[0,0],[d,v],[m,y],[b,w],[E,S],[x,T]],C=[o,l];if(g(N,C))return c.restore(),{datapoint:[p.percent,p.data],dataIndex:0,series:p,seriesIndex:h}}c.restore()}}return null}function b(e){E("plothover",e)}function w(e){E("plotclick",e)}function E(e,t){var n=r.offset(),s=parseInt(t.pageX-n.left),u=parseInt(t.pageY-n.top),a=y(s,u);if(i.grid.autoHighlight)for(var f=0;f<h.length;++f){var l=h[f];l.auto==e&&(!a||l.series!=a.series)&&x(l.series)}a&&S(a.series,e);var c={pageX:t.pageX,pageY:t.pageY};o.trigger(e,[c,a])}function S(e,t){var n=T(e);n==-1?(h.push({series:e,auto:t}),r.triggerRedrawOverlay()):t||(h[n].auto=!1)}function x(e){e==null&&(h=[],r.triggerRedrawOverlay());var t=T(e);t!=-1&&(h.splice(t,1),r.triggerRedrawOverlay())}function T(e){for(var t=0;t<h.length;++t){var n=h[t];if(n.series==e)return t}return-1}function N(e,t){function s(e){if(e.angle<=0||isNaN(e.angle))return;t.fillStyle="rgba(255, 255, 255, "+n.series.pie.highlight.opacity+")",t.beginPath(),Math.abs(e.angle-Math.PI*2)>1e-9&&t.moveTo(0,0),t.arc(0,0,r,e.startAngle,e.startAngle+e.angle/2,!1),t.arc(0,0,r,e.startAngle+e.angle/2,e.startAngle+e.angle,!1),t.closePath(),t.fill()}var n=e.getOptions(),r=n.series.pie.radius>1?n.series.pie.radius:u*n.series.pie.radius;t.save(),t.translate(a,f),t.scale(1,n.series.pie.tilt);for(var i=0;i<h.length;++i)s(h[i].series);m(t),t.restore()}var s=null,o=null,u=null,a=null,f=null,l=!1,c=null,h=[];r.hooks.processOptions.push(function(e,t){t.series.pie.show&&(t.grid.show=!1,t.series.pie.label.show=="auto"&&(t.legend.show?t.series.pie.label.show=!1:t.series.pie.label.show=!0),t.series.pie.radius=="auto"&&(t.series.pie.label.show?t.series.pie.radius=.75:t.series.pie.radius=1),t.series.pie.tilt>1?t.series.pie.tilt=1:t.series.pie.tilt<0&&(t.series.pie.tilt=0))}),r.hooks.bindEvents.push(function(e,t){var n=e.getOptions();n.series.pie.show&&(n.grid.hoverable&&t.unbind("mousemove").mousemove(b),n.grid.clickable&&t.unbind("click").click(w))}),r.hooks.processDatapoints.push(function(e,t,n,r){var i=e.getOptions();i.series.pie.show&&p(e,t,n,r)}),r.hooks.drawOverlay.push(function(e,t){var n=e.getOptions();n.series.pie.show&&N(e,t)}),r.hooks.draw.push(function(e,t){var n=e.getOptions();n.series.pie.show&&v(e,t)})}var t=10,n=.95,i={series:{pie:{show:!1,radius:"auto",innerRadius:0,startAngle:1.5,tilt:1,shadow:{left:5,top:15,alpha:.02},offset:{top:0,left:"auto"},stroke:{color:"#fff",width:1},label:{show:"auto",formatter:function(e,t){return"<div style='font-size:x-small;text-align:center;padding:2px;color:"+t.color+";'>"+e+"<br/>"+Math.round(t.percent)+"%</div>"},radius:1,background:{color:null,opacity:0},threshold:0},combine:{threshold:-1,color:null,label:"Other"},highlight:{opacity:.5}}}};e.plot.plugins.push({init:r,options:i,name:"pie",version:"1.1"})})(jQuery);
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/js/flot/jquery.flot.resize.min.js b/src/main/webapp/static/login/assets/js/flot/jquery.flot.resize.min.js new file mode 100644 index 0000000..b2ddec1 --- /dev/null +++ b/src/main/webapp/static/login/assets/js/flot/jquery.flot.resize.min.js @@ -0,0 +1,19 @@ +/* Flot plugin for automatically redrawing plots as the placeholder resizes. + +Copyright (c) 2007-2013 IOLA and Ole Laursen. +Licensed under the MIT license. + +It works by listening for changes on the placeholder div (through the jQuery +resize event plugin) - if the size changes, it will redraw the plot. + +There are no options. If you need to disable the plugin for some plots, you +can just fix the size of their placeholders. + +*//* Inline dependency: + * jQuery resize event - v1.1 - 3/14/2010 + * http://benalman.com/projects/jquery-resize-plugin/ + * + * Copyright (c) 2010 "Cowboy" Ben Alman + * Dual licensed under the MIT and GPL licenses. + * http://benalman.com/about/license/ + */(function(e,t,n){function c(){s=t[o](function(){r.each(function(){var t=e(this),n=t.width(),r=t.height(),i=e.data(this,a);(n!==i.w||r!==i.h)&&t.trigger(u,[i.w=n,i.h=r])}),c()},i[f])}var r=e([]),i=e.resize=e.extend(e.resize,{}),s,o="setTimeout",u="resize",a=u+"-special-event",f="delay",l="throttleWindow";i[f]=250,i[l]=!0,e.event.special[u]={setup:function(){if(!i[l]&&this[o])return!1;var t=e(this);r=r.add(t),e.data(this,a,{w:t.width(),h:t.height()}),r.length===1&&c()},teardown:function(){if(!i[l]&&this[o])return!1;var t=e(this);r=r.not(t),t.removeData(a),r.length||clearTimeout(s)},add:function(t){function s(t,i,s){var o=e(this),u=e.data(this,a);u.w=i!==n?i:o.width(),u.h=s!==n?s:o.height(),r.apply(this,arguments)}if(!i[l]&&this[o])return!1;var r;if(e.isFunction(t))return r=t,s;r=t.handler,t.handler=s}}})(jQuery,this),function(e){function n(e){function t(){var t=e.getPlaceholder();if(t.width()==0||t.height()==0)return;e.resize(),e.setupGrid(),e.draw()}function n(e,n){e.getPlaceholder().resize(t)}function r(e,n){e.getPlaceholder().unbind("resize",t)}e.hooks.bindEvents.push(n),e.hooks.shutdown.push(r)}var t={};e.plot.plugins.push({init:n,options:t,name:"resize",version:"1.0"})}(jQuery);
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/js/fuelux/data/fuelux.tree-sampledata.js b/src/main/webapp/static/login/assets/js/fuelux/data/fuelux.tree-sampledata.js new file mode 100644 index 0000000..d7cba4e --- /dev/null +++ b/src/main/webapp/static/login/assets/js/fuelux/data/fuelux.tree-sampledata.js @@ -0,0 +1,176 @@ +var DataSourceTree = function(options) {
+ this._data = options.data;
+ this._delay = options.delay;
+}
+
+DataSourceTree.prototype.data = function(options, callback) {
+ var self = this;
+ var $data = null;
+
+ if(!("name" in options) && !("type" in options)){
+ $data = this._data;//the root tree
+ callback({ data: $data });
+ return;
+ }
+ else if("type" in options && options.type == "folder") {
+ if("additionalParameters" in options && "children" in options.additionalParameters)
+ $data = options.additionalParameters.children;
+ else $data = {}//no data
+ }
+
+ if($data != null)//this setTimeout is only for mimicking some random delay
+ setTimeout(function(){callback({ data: $data });} , parseInt(Math.random() * 500) + 200);
+
+ //we have used static data here
+ //but you can retrieve your data dynamically from a server using ajax call
+ //checkout examples/treeview.html and examples/treeview.js for more info
+};
+
+var tree_data = {
+ 'for-sale' : {name: 'For Sale', type: 'folder'} ,
+ 'vehicles' : {name: 'Vehicles', type: 'folder'} ,
+ 'rentals' : {name: 'Rentals', type: 'folder'} ,
+ 'real-estate' : {name: 'Real Estate', type: 'folder'} ,
+ 'pets' : {name: 'Pets', type: 'folder'} ,
+ 'tickets' : {name: 'Tickets', type: 'item'} ,
+ 'services' : {name: 'Services', type: 'item'} ,
+ 'personals' : {name: 'Personals', type: 'item'}
+}
+tree_data['for-sale']['additionalParameters'] = {
+ 'children' : {
+ 'appliances' : {name: 'Appliances', type: 'item'},
+ 'arts-crafts' : {name: 'Arts & Crafts', type: 'item'},
+ 'clothing' : {name: 'Clothing', type: 'item'},
+ 'computers' : {name: 'Computers', type: 'item'},
+ 'jewelry' : {name: 'Jewelry', type: 'item'},
+ 'office-business' : {name: 'Office & Business', type: 'item'},
+ 'sports-fitness' : {name: 'Sports & Fitness', type: 'item'}
+ }
+}
+tree_data['vehicles']['additionalParameters'] = {
+ 'children' : {
+ 'cars' : {name: 'Cars', type: 'folder'},
+ 'motorcycles' : {name: 'Motorcycles', type: 'item'},
+ 'boats' : {name: 'Boats', type: 'item'}
+ }
+}
+tree_data['vehicles']['additionalParameters']['children']['cars']['additionalParameters'] = {
+ 'children' : {
+ 'classics' : {name: 'Classics', type: 'item'},
+ 'convertibles' : {name: 'Convertibles', type: 'item'},
+ 'coupes' : {name: 'Coupes', type: 'item'},
+ 'hatchbacks' : {name: 'Hatchbacks', type: 'item'},
+ 'hybrids' : {name: 'Hybrids', type: 'item'},
+ 'suvs' : {name: 'SUVs', type: 'item'},
+ 'sedans' : {name: 'Sedans', type: 'item'},
+ 'trucks' : {name: 'Trucks', type: 'item'}
+ }
+}
+
+tree_data['rentals']['additionalParameters'] = {
+ 'children' : {
+ 'apartments-rentals' : {name: 'Apartments', type: 'item'},
+ 'office-space-rentals' : {name: 'Office Space', type: 'item'},
+ 'vacation-rentals' : {name: 'Vacation Rentals', type: 'item'}
+ }
+}
+tree_data['real-estate']['additionalParameters'] = {
+ 'children' : {
+ 'apartments' : {name: 'Apartments', type: 'item'},
+ 'villas' : {name: 'Villas', type: 'item'},
+ 'plots' : {name: 'Plots', type: 'item'}
+ }
+}
+tree_data['pets']['additionalParameters'] = {
+ 'children' : {
+ 'cats' : {name: 'Cats', type: 'item'},
+ 'dogs' : {name: 'Dogs', type: 'item'},
+ 'horses' : {name: 'Horses', type: 'item'},
+ 'reptiles' : {name: 'Reptiles', type: 'item'}
+ }
+}
+
+var treeDataSource = new DataSourceTree({data: tree_data});
+
+
+
+
+
+
+
+
+
+
+
+var tree_data_2 = {
+ 'pictures' : {name: 'Pictures', type: 'folder', 'icon-class':'red'} ,
+ 'music' : {name: 'Music', type: 'folder', 'icon-class':'orange'} ,
+ 'video' : {name: 'Video', type: 'folder', 'icon-class':'blue'} ,
+ 'documents' : {name: 'Documents', type: 'folder', 'icon-class':'green'} ,
+ 'backup' : {name: 'Backup', type: 'folder'} ,
+ 'readme' : {name: '<i class="icon-file-text grey"></i> ReadMe.txt', type: 'item'},
+ 'manual' : {name: '<i class="icon-book blue"></i> Manual.html', type: 'item'}
+}
+tree_data_2['music']['additionalParameters'] = {
+ 'children' : [
+ {name: '<i class="icon-music blue"></i> song1.ogg', type: 'item'},
+ {name: '<i class="icon-music blue"></i> song2.ogg', type: 'item'},
+ {name: '<i class="icon-music blue"></i> song3.ogg', type: 'item'},
+ {name: '<i class="icon-music blue"></i> song4.ogg', type: 'item'},
+ {name: '<i class="icon-music blue"></i> song5.ogg', type: 'item'}
+ ]
+}
+tree_data_2['video']['additionalParameters'] = {
+ 'children' : [
+ {name: '<i class="icon-film blue"></i> movie1.avi', type: 'item'},
+ {name: '<i class="icon-film blue"></i> movie2.avi', type: 'item'},
+ {name: '<i class="icon-film blue"></i> movie3.avi', type: 'item'},
+ {name: '<i class="icon-film blue"></i> movie4.avi', type: 'item'},
+ {name: '<i class="icon-film blue"></i> movie5.avi', type: 'item'}
+ ]
+}
+tree_data_2['pictures']['additionalParameters'] = {
+ 'children' : {
+ 'wallpapers' : {name: 'Wallpapers', type: 'folder', 'icon-class':'pink'},
+ 'camera' : {name: 'Camera', type: 'folder', 'icon-class':'pink'}
+ }
+}
+tree_data_2['pictures']['additionalParameters']['children']['wallpapers']['additionalParameters'] = {
+ 'children' : [
+ {name: '<i class="icon-picture green"></i> wallpaper1.jpg', type: 'item'},
+ {name: '<i class="icon-picture green"></i> wallpaper2.jpg', type: 'item'},
+ {name: '<i class="icon-picture green"></i> wallpaper3.jpg', type: 'item'},
+ {name: '<i class="icon-picture green"></i> wallpaper4.jpg', type: 'item'}
+ ]
+}
+tree_data_2['pictures']['additionalParameters']['children']['camera']['additionalParameters'] = {
+ 'children' : [
+ {name: '<i class="icon-picture green"></i> photo1.jpg', type: 'item'},
+ {name: '<i class="icon-picture green"></i> photo2.jpg', type: 'item'},
+ {name: '<i class="icon-picture green"></i> photo3.jpg', type: 'item'},
+ {name: '<i class="icon-picture green"></i> photo4.jpg', type: 'item'},
+ {name: '<i class="icon-picture green"></i> photo5.jpg', type: 'item'},
+ {name: '<i class="icon-picture green"></i> photo6.jpg', type: 'item'}
+ ]
+}
+
+
+tree_data_2['documents']['additionalParameters'] = {
+ 'children' : [
+ {name: '<i class="icon-file-text red"></i> document1.pdf', type: 'item'},
+ {name: '<i class="icon-file-text grey"></i> document2.doc', type: 'item'},
+ {name: '<i class="icon-file-text grey"></i> document3.doc', type: 'item'},
+ {name: '<i class="icon-file-text red"></i> document4.pdf', type: 'item'},
+ {name: '<i class="icon-file-text grey"></i> document5.doc', type: 'item'}
+ ]
+}
+
+tree_data_2['backup']['additionalParameters'] = {
+ 'children' : [
+ {name: '<i class="icon-archive brown"></i> backup1.zip', type: 'item'},
+ {name: '<i class="icon-archive brown"></i> backup2.zip', type: 'item'},
+ {name: '<i class="icon-archive brown"></i> backup3.zip', type: 'item'},
+ {name: '<i class="icon-archive brown"></i> backup4.zip', type: 'item'}
+ ]
+}
+var treeDataSource2 = new DataSourceTree({data: tree_data_2});
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/js/fuelux/fuelux.spinner.min.js b/src/main/webapp/static/login/assets/js/fuelux/fuelux.spinner.min.js new file mode 100644 index 0000000..faa05ab --- /dev/null +++ b/src/main/webapp/static/login/assets/js/fuelux/fuelux.spinner.min.js @@ -0,0 +1 @@ +(function(b,c){var a=function(e,d){this.$element=b(e);this.options=b.extend({},b.fn.spinner.defaults,d);this.$input=this.$element.find(".spinner-input");this.$element.on("keyup",this.$input,b.proxy(this.change,this));if(this.options.hold){this.$element.on("mousedown",".spinner-up",b.proxy(function(){this.startSpin(true)},this));this.$element.on("mouseup",".spinner-up, .spinner-down",b.proxy(this.stopSpin,this));this.$element.on("mouseout",".spinner-up, .spinner-down",b.proxy(this.stopSpin,this));this.$element.on("mousedown",".spinner-down",b.proxy(function(){this.startSpin(false)},this))}else{this.$element.on("click",".spinner-up",b.proxy(function(){this.step(true)},this));this.$element.on("click",".spinner-down",b.proxy(function(){this.step(false)},this))}this.switches={count:1,enabled:true};if(this.options.speed==="medium"){this.switches.speed=300}else{if(this.options.speed==="fast"){this.switches.speed=100}else{this.switches.speed=500}}this.lastValue=null;this.render();if(this.options.disabled){this.disable()}};a.prototype={constructor:a,render:function(){this.$input.val(this.options.value);this.$input.attr("maxlength",(this.options.max+"").split("").length)},change:function(){var d=this.$input.val();if(d/1){this.options.value=d/1}else{d=d.replace(/[^0-9]/g,"");this.$input.val(d);this.options.value=d/1}this.triggerChangedEvent()},stopSpin:function(){clearTimeout(this.switches.timeout);this.switches.count=1;this.triggerChangedEvent()},triggerChangedEvent:function(){var d=this.value();if(d===this.lastValue){return}this.lastValue=d;this.$element.trigger("changed",d);this.$element.trigger("change")},startSpin:function(d){if(!this.options.disabled){var e=this.switches.count;if(e===1){this.step(d);e=1}else{if(e<3){e=1.5}else{if(e<8){e=2.5}else{e=4}}}this.switches.timeout=setTimeout(b.proxy(function(){this.iterator(d)},this),this.switches.speed/e);this.switches.count++}},iterator:function(d){this.step(d);this.startSpin(d)},step:function(e){var g=this.options.value;var f=e?this.options.max:this.options.min;if((e?g<f:g>f)){var d=g+(e?1:-1)*this.options.step;if(e?d>f:d<f){this.value(f)}else{this.value(d)}}},value:function(d){if(!isNaN(parseFloat(d))&&isFinite(d)){d=parseFloat(d);this.options.value=d;this.$input.val(d);return this}else{return this.options.value}},disable:function(){this.options.disabled=true;this.$input.attr("disabled","");this.$element.find("button").addClass("disabled")},enable:function(){this.options.disabled=false;this.$input.removeAttr("disabled");this.$element.find("button").removeClass("disabled")}};b.fn.spinner=function(e,g){var f;var d=this.each(function(){var j=b(this);var i=j.data("spinner");var h=typeof e==="object"&&e;if(!i){j.data("spinner",(i=new a(this,h)))}if(typeof e==="string"){f=i[e](g)}});return(f===c)?d:f};b.fn.spinner.defaults={value:1,min:1,max:999,step:1,hold:true,speed:"medium",disabled:false};b.fn.spinner.Constructor=a;b(function(){b("body").on("mousedown.spinner.data-api",".spinner",function(f){var d=b(this);if(d.data("spinner")){return}d.spinner(d.data())})})})(window.jQuery);
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/js/fuelux/fuelux.tree.min.js b/src/main/webapp/static/login/assets/js/fuelux/fuelux.tree.min.js new file mode 100644 index 0000000..4558e4f --- /dev/null +++ b/src/main/webapp/static/login/assets/js/fuelux/fuelux.tree.min.js @@ -0,0 +1 @@ +(function(a,c){var b=function(e,d){this.$element=a(e);this.options=a.extend({},a.fn.tree.defaults,d);this.$element.on("click",".tree-item",a.proxy(function(f){this.selectItem(f.currentTarget)},this));this.$element.on("click",".tree-folder-header",a.proxy(function(f){this.selectFolder(f.currentTarget)},this));this.render()};b.prototype={constructor:b,render:function(){this.populate(this.$element)},populate:function(f){var e=this;var d=f.parent().find(".tree-loader:eq(0)");d.show();this.options.dataSource.data(f.data(),function(g){d.hide();a.each(g.data,function(h,j){var i;if(j.type==="folder"){i=e.$element.find(".tree-folder:eq(0)").clone().show();i.find(".tree-folder-name").html(j.name);i.find(".tree-loader").html(e.options.loadingHTML);var k=i.find(".tree-folder-header");k.data(j);if("icon-class" in j){k.find('[class*="icon-"]').addClass(j["icon-class"])}}else{if(j.type==="item"){i=e.$element.find(".tree-item:eq(0)").clone().show();i.find(".tree-item-name").html(j.name);i.data(j);if("additionalParameters" in j&&"item-selected" in j.additionalParameters&&j.additionalParameters["item-selected"]==true){i.addClass("tree-selected");i.find("i").removeClass(e.options["unselected-icon"]).addClass(e.options["selected-icon"])}}}if(f.hasClass("tree-folder-header")){f.parent().find(".tree-folder-content:eq(0)").append(i)}else{f.append(i)}});e.$element.trigger("loaded")})},selectItem:function(e){if(this.options.selectable==false){return}var d=a(e);var g=this.$element.find(".tree-selected");var f=[];if(this.options.multiSelect){a.each(g,function(i,j){var h=a(j);if(h[0]!==d[0]){f.push(a(j).data())}})}else{if(g[0]!==d[0]){g.removeClass("tree-selected").find("i").removeClass(this.options["selected-icon"]).addClass(this.options["unselected-icon"]);f.push(d.data())}}if(d.hasClass("tree-selected")){d.removeClass("tree-selected");d.find("i").removeClass(this.options["selected-icon"]).addClass(this.options["unselected-icon"])}else{d.addClass("tree-selected");d.find("i").removeClass(this.options["unselected-icon"]).addClass(this.options["selected-icon"]);if(this.options.multiSelect){f.push(d.data())}}if(f.length){this.$element.trigger("selected",{info:f})}},selectFolder:function(e){var d=a(e);var f=d.parent();if(d.find("."+this.options["close-icon"]).length){if(f.find(".tree-folder-content").children().length){f.find(".tree-folder-content:eq(0)").show()}else{this.populate(d)}f.find("."+this.options["close-icon"]+":eq(0)").removeClass(this.options["close-icon"]).addClass(this.options["open-icon"]);this.$element.trigger("opened",d.data())}else{if(this.options.cacheItems){f.find(".tree-folder-content:eq(0)").hide()}else{f.find(".tree-folder-content:eq(0)").empty()}f.find("."+this.options["open-icon"]+":eq(0)").removeClass(this.options["open-icon"]).addClass(this.options["close-icon"]);this.$element.trigger("closed",d.data())}},selectedItems:function(){var e=this.$element.find(".tree-selected");var d=[];a.each(e,function(f,g){d.push(a(g).data())});return d}};a.fn.tree=function(e,g){var f;var d=this.each(function(){var j=a(this);var i=j.data("tree");var h=typeof e==="object"&&e;if(!i){j.data("tree",(i=new b(this,h)))}if(typeof e==="string"){f=i[e](g)}});return(f===c)?d:f};a.fn.tree.defaults={multiSelect:false,loadingHTML:"<div>Loading...</div>",cacheItems:true};a.fn.tree.Constructor=b})(window.jQuery);
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/js/fuelux/fuelux.wizard.min.js b/src/main/webapp/static/login/assets/js/fuelux/fuelux.wizard.min.js new file mode 100644 index 0000000..1d6966d --- /dev/null +++ b/src/main/webapp/static/login/assets/js/fuelux/fuelux.wizard.min.js @@ -0,0 +1 @@ +(function(b,c){var a=function(f,e){var d;this.$element=b(f);this.options=b.extend({},b.fn.wizard.defaults,e);this.currentStep=1;this.numSteps=this.$element.find("li").length;this.$prevBtn=this.$element.find("button.btn-prev");this.$nextBtn=this.$element.find("button.btn-next");d=this.$nextBtn.children().detach();this.nextText=b.trim(this.$nextBtn.text());this.$nextBtn.append(d);this.$prevBtn.on("click",b.proxy(this.previous,this));this.$nextBtn.on("click",b.proxy(this.next,this));this.$element.on("click","li.complete",b.proxy(this.stepclicked,this));this.$stepContainer=this.$element.data("target")||"body";this.$stepContainer=b(this.$stepContainer)};a.prototype={constructor:a,setState:function(){var n=(this.currentStep>1);var o=(this.currentStep===1);var d=(this.currentStep===this.numSteps);this.$prevBtn.attr("disabled",(o===true||n===false));var h=this.$nextBtn.data();if(h&&h.last){this.lastText=h.last;if(typeof this.lastText!=="undefined"){var l=(d!==true)?this.nextText:this.lastText;var f=this.$nextBtn.children().detach();this.$nextBtn.text(l).append(f)}}var j=this.$element.find("li");j.removeClass("active").removeClass("complete");j.find("span.badge").removeClass("badge-info").removeClass("badge-success");var m="li:lt("+(this.currentStep-1)+")";var g=this.$element.find(m);g.addClass("complete");g.find("span.badge").addClass("badge-success");var e="li:eq("+(this.currentStep-1)+")";var k=this.$element.find(e);k.addClass("active");k.find("span.badge").addClass("badge-info");var i=k.data().target;this.$stepContainer.find(".step-pane").removeClass("active");b(i).addClass("active");this.$element.trigger("changed")},stepclicked:function(h){var d=b(h.currentTarget);var g=this.$element.find("li").index(d);var f=b.Event("stepclick");this.$element.trigger(f,{step:g+1});if(f.isDefaultPrevented()){return}this.currentStep=(g+1);this.setState()},previous:function(){var d=(this.currentStep>1);if(d){var f=b.Event("change");this.$element.trigger(f,{step:this.currentStep,direction:"previous"});if(f.isDefaultPrevented()){return}this.currentStep-=1;this.setState()}},next:function(){var g=(this.currentStep+1<=this.numSteps);var d=(this.currentStep===this.numSteps);if(g){var f=b.Event("change");this.$element.trigger(f,{step:this.currentStep,direction:"next"});if(f.isDefaultPrevented()){return}this.currentStep+=1;this.setState()}else{if(d){this.$element.trigger("finished")}}},selectedItem:function(d){return{step:this.currentStep}}};b.fn.wizard=function(e,g){var f;var d=this.each(function(){var j=b(this);var i=j.data("wizard");var h=typeof e==="object"&&e;if(!i){j.data("wizard",(i=new a(this,h)))}if(typeof e==="string"){f=i[e](g)}});return(f===c)?d:f};b.fn.wizard.defaults={};b.fn.wizard.Constructor=a;b(function(){b("body").on("mousedown.wizard.data-api",".wizard",function(){var d=b(this);if(d.data("wizard")){return}d.wizard(d.data())})})})(window.jQuery);
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/js/fullcalendar.min.js b/src/main/webapp/static/login/assets/js/fullcalendar.min.js new file mode 100644 index 0000000..da4b984 --- /dev/null +++ b/src/main/webapp/static/login/assets/js/fullcalendar.min.js @@ -0,0 +1,7 @@ +/*! + * FullCalendar v1.6.4 + * Docs & License: http://arshaw.com/fullcalendar/ + * (c) 2013 Adam Shaw + */ +(function(t,e){function n(e){t.extend(!0,Ce,e)}function r(n,r,c){function u(t){ae?p()&&(S(),M(t)):f()}function f(){oe=r.theme?"ui":"fc",n.addClass("fc"),r.isRTL?n.addClass("fc-rtl"):n.addClass("fc-ltr"),r.theme&&n.addClass("ui-widget"),ae=t("<div class='fc-content' style='position:relative'/>").prependTo(n),ne=new a(ee,r),re=ne.render(),re&&n.prepend(re),y(r.defaultView),r.handleWindowResize&&t(window).resize(x),m()||v()}function v(){setTimeout(function(){!ie.start&&m()&&C()},0)}function h(){ie&&(te("viewDestroy",ie,ie,ie.element),ie.triggerEventDestroy()),t(window).unbind("resize",x),ne.destroy(),ae.remove(),n.removeClass("fc fc-rtl ui-widget")}function p(){return n.is(":visible")}function m(){return t("body").is(":visible")}function y(t){ie&&t==ie.name||D(t)}function D(e){he++,ie&&(te("viewDestroy",ie,ie,ie.element),Y(),ie.triggerEventDestroy(),G(),ie.element.remove(),ne.deactivateButton(ie.name)),ne.activateButton(e),ie=new Se[e](t("<div class='fc-view fc-view-"+e+"' style='position:relative'/>").appendTo(ae),ee),C(),$(),he--}function C(t){(!ie.start||t||ie.start>ge||ge>=ie.end)&&p()&&M(t)}function M(t){he++,ie.start&&(te("viewDestroy",ie,ie,ie.element),Y(),N()),G(),ie.render(ge,t||0),T(),$(),(ie.afterRender||A)(),_(),P(),te("viewRender",ie,ie,ie.element),ie.trigger("viewDisplay",de),he--,z()}function E(){p()&&(Y(),N(),S(),T(),F())}function S(){le=r.contentHeight?r.contentHeight:r.height?r.height-(re?re.height():0)-R(ae):Math.round(ae.width()/Math.max(r.aspectRatio,.5))}function T(){le===e&&S(),he++,ie.setHeight(le),ie.setWidth(ae.width()),he--,se=n.outerWidth()}function x(){if(!he)if(ie.start){var t=++ve;setTimeout(function(){t==ve&&!he&&p()&&se!=(se=n.outerWidth())&&(he++,E(),ie.trigger("windowResize",de),he--)},200)}else v()}function k(){N(),W()}function H(t){N(),F(t)}function F(t){p()&&(ie.setEventData(pe),ie.renderEvents(pe,t),ie.trigger("eventAfterAllRender"))}function N(){ie.triggerEventDestroy(),ie.clearEvents(),ie.clearEventData()}function z(){!r.lazyFetching||ue(ie.visStart,ie.visEnd)?W():F()}function W(){fe(ie.visStart,ie.visEnd)}function O(t){pe=t,F()}function L(t){H(t)}function _(){ne.updateTitle(ie.title)}function P(){var t=new Date;t>=ie.start&&ie.end>t?ne.disableButton("today"):ne.enableButton("today")}function q(t,n,r){ie.select(t,n,r===e?!0:r)}function Y(){ie&&ie.unselect()}function B(){C(-1)}function j(){C(1)}function I(){i(ge,-1),C()}function X(){i(ge,1),C()}function J(){ge=new Date,C()}function V(t,e,n){t instanceof Date?ge=d(t):g(ge,t,e,n),C()}function U(t,n,r){t!==e&&i(ge,t),n!==e&&s(ge,n),r!==e&&l(ge,r),C()}function Z(){return d(ge)}function G(){ae.css({width:"100%",height:ae.height(),overflow:"hidden"})}function $(){ae.css({width:"",height:"",overflow:""})}function Q(){return ie}function K(t,n){return n===e?r[t]:(("height"==t||"contentHeight"==t||"aspectRatio"==t)&&(r[t]=n,E()),e)}function te(t,n){return r[t]?r[t].apply(n||de,Array.prototype.slice.call(arguments,2)):e}var ee=this;ee.options=r,ee.render=u,ee.destroy=h,ee.refetchEvents=k,ee.reportEvents=O,ee.reportEventChange=L,ee.rerenderEvents=H,ee.changeView=y,ee.select=q,ee.unselect=Y,ee.prev=B,ee.next=j,ee.prevYear=I,ee.nextYear=X,ee.today=J,ee.gotoDate=V,ee.incrementDate=U,ee.formatDate=function(t,e){return w(t,e,r)},ee.formatDates=function(t,e,n){return b(t,e,n,r)},ee.getDate=Z,ee.getView=Q,ee.option=K,ee.trigger=te,o.call(ee,r,c);var ne,re,ae,oe,ie,se,le,ce,ue=ee.isFetchNeeded,fe=ee.fetchEvents,de=n[0],ve=0,he=0,ge=new Date,pe=[];g(ge,r.year,r.month,r.date),r.droppable&&t(document).bind("dragstart",function(e,n){var a=e.target,o=t(a);if(!o.parents(".fc").length){var i=r.dropAccept;(t.isFunction(i)?i.call(a,o):o.is(i))&&(ce=a,ie.dragStart(ce,e,n))}}).bind("dragstop",function(t,e){ce&&(ie.dragStop(ce,t,e),ce=null)})}function a(n,r){function a(){v=r.theme?"ui":"fc";var n=r.header;return n?h=t("<table class='fc-header' style='width:100%'/>").append(t("<tr/>").append(i("left")).append(i("center")).append(i("right"))):e}function o(){h.remove()}function i(e){var a=t("<td class='fc-header-"+e+"'/>"),o=r.header[e];return o&&t.each(o.split(" "),function(e){e>0&&a.append("<span class='fc-header-space'/>");var o;t.each(this.split(","),function(e,i){if("title"==i)a.append("<span class='fc-header-title'><h2> </h2></span>"),o&&o.addClass(v+"-corner-right"),o=null;else{var s;if(n[i]?s=n[i]:Se[i]&&(s=function(){u.removeClass(v+"-state-hover"),n.changeView(i)}),s){var l=r.theme?P(r.buttonIcons,i):null,c=P(r.buttonText,i),u=t("<span class='fc-button fc-button-"+i+" "+v+"-state-default'>"+(l?"<span class='fc-icon-wrap'><span class='ui-icon ui-icon-"+l+"'/>"+"</span>":c)+"</span>").click(function(){u.hasClass(v+"-state-disabled")||s()}).mousedown(function(){u.not("."+v+"-state-active").not("."+v+"-state-disabled").addClass(v+"-state-down")}).mouseup(function(){u.removeClass(v+"-state-down")}).hover(function(){u.not("."+v+"-state-active").not("."+v+"-state-disabled").addClass(v+"-state-hover")},function(){u.removeClass(v+"-state-hover").removeClass(v+"-state-down")}).appendTo(a);Y(u),o||u.addClass(v+"-corner-left"),o=u}}}),o&&o.addClass(v+"-corner-right")}),a}function s(t){h.find("h2").html(t)}function l(t){h.find("span.fc-button-"+t).addClass(v+"-state-active")}function c(t){h.find("span.fc-button-"+t).removeClass(v+"-state-active")}function u(t){h.find("span.fc-button-"+t).addClass(v+"-state-disabled")}function f(t){h.find("span.fc-button-"+t).removeClass(v+"-state-disabled")}var d=this;d.render=a,d.destroy=o,d.updateTitle=s,d.activateButton=l,d.deactivateButton=c,d.disableButton=u,d.enableButton=f;var v,h=t([])}function o(n,r){function a(t,e){return!E||E>t||e>S}function o(t,e){E=t,S=e,W=[];var n=++R,r=F.length;N=r;for(var a=0;r>a;a++)i(F[a],n)}function i(e,r){s(e,function(a){if(r==R){if(a){n.eventDataTransform&&(a=t.map(a,n.eventDataTransform)),e.eventDataTransform&&(a=t.map(a,e.eventDataTransform));for(var o=0;a.length>o;o++)a[o].source=e,w(a[o]);W=W.concat(a)}N--,N||k(W)}})}function s(r,a){var o,i,l=Ee.sourceFetchers;for(o=0;l.length>o;o++){if(i=l[o](r,E,S,a),i===!0)return;if("object"==typeof i)return s(i,a),e}var c=r.events;if(c)t.isFunction(c)?(m(),c(d(E),d(S),function(t){a(t),y()})):t.isArray(c)?a(c):a();else{var u=r.url;if(u){var f,v=r.success,h=r.error,g=r.complete;f=t.isFunction(r.data)?r.data():r.data;var p=t.extend({},f||{}),w=X(r.startParam,n.startParam),b=X(r.endParam,n.endParam);w&&(p[w]=Math.round(+E/1e3)),b&&(p[b]=Math.round(+S/1e3)),m(),t.ajax(t.extend({},Te,r,{data:p,success:function(e){e=e||[];var n=I(v,this,arguments);t.isArray(n)&&(e=n),a(e)},error:function(){I(h,this,arguments),a()},complete:function(){I(g,this,arguments),y()}}))}else a()}}function l(t){t=c(t),t&&(N++,i(t,R))}function c(n){return t.isFunction(n)||t.isArray(n)?n={events:n}:"string"==typeof n&&(n={url:n}),"object"==typeof n?(b(n),F.push(n),n):e}function u(e){F=t.grep(F,function(t){return!D(t,e)}),W=t.grep(W,function(t){return!D(t.source,e)}),k(W)}function f(t){var e,n,r=W.length,a=x().defaultEventEnd,o=t.start-t._start,i=t.end?t.end-(t._end||a(t)):0;for(e=0;r>e;e++)n=W[e],n._id==t._id&&n!=t&&(n.start=new Date(+n.start+o),n.end=t.end?n.end?new Date(+n.end+i):new Date(+a(n)+i):null,n.title=t.title,n.url=t.url,n.allDay=t.allDay,n.className=t.className,n.editable=t.editable,n.color=t.color,n.backgroundColor=t.backgroundColor,n.borderColor=t.borderColor,n.textColor=t.textColor,w(n));w(t),k(W)}function v(t,e){w(t),t.source||(e&&(H.events.push(t),t.source=H),W.push(t)),k(W)}function h(e){if(e){if(!t.isFunction(e)){var n=e+"";e=function(t){return t._id==n}}W=t.grep(W,e,!0);for(var r=0;F.length>r;r++)t.isArray(F[r].events)&&(F[r].events=t.grep(F[r].events,e,!0))}else{W=[];for(var r=0;F.length>r;r++)t.isArray(F[r].events)&&(F[r].events=[])}k(W)}function g(e){return t.isFunction(e)?t.grep(W,e):e?(e+="",t.grep(W,function(t){return t._id==e})):W}function m(){z++||T("loading",null,!0,x())}function y(){--z||T("loading",null,!1,x())}function w(t){var r=t.source||{},a=X(r.ignoreTimezone,n.ignoreTimezone);t._id=t._id||(t.id===e?"_fc"+xe++:t.id+""),t.date&&(t.start||(t.start=t.date),delete t.date),t._start=d(t.start=p(t.start,a)),t.end=p(t.end,a),t.end&&t.end<=t.start&&(t.end=null),t._end=t.end?d(t.end):null,t.allDay===e&&(t.allDay=X(r.allDayDefault,n.allDayDefault)),t.className?"string"==typeof t.className&&(t.className=t.className.split(/\s+/)):t.className=[]}function b(t){t.className?"string"==typeof t.className&&(t.className=t.className.split(/\s+/)):t.className=[];for(var e=Ee.sourceNormalizers,n=0;e.length>n;n++)e[n](t)}function D(t,e){return t&&e&&C(t)==C(e)}function C(t){return("object"==typeof t?t.events||t.url:"")||t}var M=this;M.isFetchNeeded=a,M.fetchEvents=o,M.addEventSource=l,M.removeEventSource=u,M.updateEvent=f,M.renderEvent=v,M.removeEvents=h,M.clientEvents=g,M.normalizeEvent=w;for(var E,S,T=M.trigger,x=M.getView,k=M.reportEvents,H={events:[]},F=[H],R=0,N=0,z=0,W=[],A=0;r.length>A;A++)c(r[A])}function i(t,e,n){return t.setFullYear(t.getFullYear()+e),n||f(t),t}function s(t,e,n){if(+t){var r=t.getMonth()+e,a=d(t);for(a.setDate(1),a.setMonth(r),t.setMonth(r),n||f(t);t.getMonth()!=a.getMonth();)t.setDate(t.getDate()+(a>t?1:-1))}return t}function l(t,e,n){if(+t){var r=t.getDate()+e,a=d(t);a.setHours(9),a.setDate(r),t.setDate(r),n||f(t),c(t,a)}return t}function c(t,e){if(+t)for(;t.getDate()!=e.getDate();)t.setTime(+t+(e>t?1:-1)*Fe)}function u(t,e){return t.setMinutes(t.getMinutes()+e),t}function f(t){return t.setHours(0),t.setMinutes(0),t.setSeconds(0),t.setMilliseconds(0),t}function d(t,e){return e?f(new Date(+t)):new Date(+t)}function v(){var t,e=0;do t=new Date(1970,e++,1);while(t.getHours());return t}function h(t,e){return Math.round((d(t,!0)-d(e,!0))/He)}function g(t,n,r,a){n!==e&&n!=t.getFullYear()&&(t.setDate(1),t.setMonth(0),t.setFullYear(n)),r!==e&&r!=t.getMonth()&&(t.setDate(1),t.setMonth(r)),a!==e&&t.setDate(a)}function p(t,n){return"object"==typeof t?t:"number"==typeof t?new Date(1e3*t):"string"==typeof t?t.match(/^\d+(\.\d+)?$/)?new Date(1e3*parseFloat(t)):(n===e&&(n=!0),m(t,n)||(t?new Date(t):null)):null}function m(t,e){var n=t.match(/^([0-9]{4})(-([0-9]{2})(-([0-9]{2})([T ]([0-9]{2}):([0-9]{2})(:([0-9]{2})(\.([0-9]+))?)?(Z|(([-+])([0-9]{2})(:?([0-9]{2}))?))?)?)?)?$/);if(!n)return null;var r=new Date(n[1],0,1);if(e||!n[13]){var a=new Date(n[1],0,1,9,0);n[3]&&(r.setMonth(n[3]-1),a.setMonth(n[3]-1)),n[5]&&(r.setDate(n[5]),a.setDate(n[5])),c(r,a),n[7]&&r.setHours(n[7]),n[8]&&r.setMinutes(n[8]),n[10]&&r.setSeconds(n[10]),n[12]&&r.setMilliseconds(1e3*Number("0."+n[12])),c(r,a)}else if(r.setUTCFullYear(n[1],n[3]?n[3]-1:0,n[5]||1),r.setUTCHours(n[7]||0,n[8]||0,n[10]||0,n[12]?1e3*Number("0."+n[12]):0),n[14]){var o=60*Number(n[16])+(n[18]?Number(n[18]):0);o*="-"==n[15]?1:-1,r=new Date(+r+1e3*60*o)}return r}function y(t){if("number"==typeof t)return 60*t;if("object"==typeof t)return 60*t.getHours()+t.getMinutes();var e=t.match(/(\d+)(?::(\d+))?\s*(\w+)?/);if(e){var n=parseInt(e[1],10);return e[3]&&(n%=12,"p"==e[3].toLowerCase().charAt(0)&&(n+=12)),60*n+(e[2]?parseInt(e[2],10):0)}}function w(t,e,n){return b(t,null,e,n)}function b(t,e,n,r){r=r||Ce;var a,o,i,s,l=t,c=e,u=n.length,f="";for(a=0;u>a;a++)if(o=n.charAt(a),"'"==o){for(i=a+1;u>i;i++)if("'"==n.charAt(i)){l&&(f+=i==a+1?"'":n.substring(a+1,i),a=i);break}}else if("("==o){for(i=a+1;u>i;i++)if(")"==n.charAt(i)){var d=w(l,n.substring(a+1,i),r);parseInt(d.replace(/\D/,""),10)&&(f+=d),a=i;break}}else if("["==o){for(i=a+1;u>i;i++)if("]"==n.charAt(i)){var v=n.substring(a+1,i),d=w(l,v,r);d!=w(c,v,r)&&(f+=d),a=i;break}}else if("{"==o)l=e,c=t;else if("}"==o)l=t,c=e;else{for(i=u;i>a;i--)if(s=Ne[n.substring(a,i)]){l&&(f+=s(l,r)),a=i-1;break}i==a&&l&&(f+=o)}return f}function D(t){var e,n=new Date(t.getTime());return n.setDate(n.getDate()+4-(n.getDay()||7)),e=n.getTime(),n.setMonth(0),n.setDate(1),Math.floor(Math.round((e-n)/864e5)/7)+1}function C(t){return t.end?M(t.end,t.allDay):l(d(t.start),1)}function M(t,e){return t=d(t),e||t.getHours()||t.getMinutes()?l(t,1):f(t)}function E(n,r,a){n.unbind("mouseover").mouseover(function(n){for(var o,i,s,l=n.target;l!=this;)o=l,l=l.parentNode;(i=o._fci)!==e&&(o._fci=e,s=r[i],a(s.event,s.element,s),t(n.target).trigger(n)),n.stopPropagation()})}function S(e,n,r){for(var a,o=0;e.length>o;o++)a=t(e[o]),a.width(Math.max(0,n-x(a,r)))}function T(e,n,r){for(var a,o=0;e.length>o;o++)a=t(e[o]),a.height(Math.max(0,n-R(a,r)))}function x(t,e){return k(t)+F(t)+(e?H(t):0)}function k(e){return(parseFloat(t.css(e[0],"paddingLeft",!0))||0)+(parseFloat(t.css(e[0],"paddingRight",!0))||0)}function H(e){return(parseFloat(t.css(e[0],"marginLeft",!0))||0)+(parseFloat(t.css(e[0],"marginRight",!0))||0)}function F(e){return(parseFloat(t.css(e[0],"borderLeftWidth",!0))||0)+(parseFloat(t.css(e[0],"borderRightWidth",!0))||0)}function R(t,e){return N(t)+W(t)+(e?z(t):0)}function N(e){return(parseFloat(t.css(e[0],"paddingTop",!0))||0)+(parseFloat(t.css(e[0],"paddingBottom",!0))||0)}function z(e){return(parseFloat(t.css(e[0],"marginTop",!0))||0)+(parseFloat(t.css(e[0],"marginBottom",!0))||0)}function W(e){return(parseFloat(t.css(e[0],"borderTopWidth",!0))||0)+(parseFloat(t.css(e[0],"borderBottomWidth",!0))||0)}function A(){}function O(t,e){return t-e}function L(t){return Math.max.apply(Math,t)}function _(t){return(10>t?"0":"")+t}function P(t,n){if(t[n]!==e)return t[n];for(var r,a=n.split(/(?=[A-Z])/),o=a.length-1;o>=0;o--)if(r=t[a[o].toLowerCase()],r!==e)return r;return t[""]}function q(t){return t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/'/g,"'").replace(/"/g,""").replace(/\n/g,"<br />")}function Y(t){t.attr("unselectable","on").css("MozUserSelect","none").bind("selectstart.ui",function(){return!1})}function B(t){t.children().removeClass("fc-first fc-last").filter(":first-child").addClass("fc-first").end().filter(":last-child").addClass("fc-last")}function j(t,e){var n=t.source||{},r=t.color,a=n.color,o=e("eventColor"),i=t.backgroundColor||r||n.backgroundColor||a||e("eventBackgroundColor")||o,s=t.borderColor||r||n.borderColor||a||e("eventBorderColor")||o,l=t.textColor||n.textColor||e("eventTextColor"),c=[];return i&&c.push("background-color:"+i),s&&c.push("border-color:"+s),l&&c.push("color:"+l),c.join(";")}function I(e,n,r){if(t.isFunction(e)&&(e=[e]),e){var a,o;for(a=0;e.length>a;a++)o=e[a].apply(n,r)||o;return o}}function X(){for(var t=0;arguments.length>t;t++)if(arguments[t]!==e)return arguments[t]}function J(t,e){function n(t,e){e&&(s(t,e),t.setDate(1));var n=a("firstDay"),f=d(t,!0);f.setDate(1);var v=s(d(f),1),g=d(f);l(g,-((g.getDay()-n+7)%7)),i(g);var p=d(v);l(p,(7-p.getDay()+n)%7),i(p,-1,!0);var m=c(),y=Math.round(h(p,g)/7);"fixed"==a("weekMode")&&(l(p,7*(6-y)),y=6),r.title=u(f,a("titleFormat")),r.start=f,r.end=v,r.visStart=g,r.visEnd=p,o(y,m,!0)}var r=this;r.render=n,Z.call(r,t,e,"month");var a=r.opt,o=r.renderBasic,i=r.skipHiddenDays,c=r.getCellsPerWeek,u=e.formatDate}function V(t,e){function n(t,e){e&&l(t,7*e);var n=l(d(t),-((t.getDay()-a("firstDay")+7)%7)),u=l(d(n),7),f=d(n);i(f);var v=d(u);i(v,-1,!0);var h=s();r.start=n,r.end=u,r.visStart=f,r.visEnd=v,r.title=c(f,l(d(v),-1),a("titleFormat")),o(1,h,!1)}var r=this;r.render=n,Z.call(r,t,e,"basicWeek");var a=r.opt,o=r.renderBasic,i=r.skipHiddenDays,s=r.getCellsPerWeek,c=e.formatDates}function U(t,e){function n(t,e){e&&l(t,e),i(t,0>e?-1:1);var n=d(t,!0),c=l(d(n),1);r.title=s(t,a("titleFormat")),r.start=r.visStart=n,r.end=r.visEnd=c,o(1,1,!1)}var r=this;r.render=n,Z.call(r,t,e,"basicDay");var a=r.opt,o=r.renderBasic,i=r.skipHiddenDays,s=e.formatDate}function Z(e,n,r){function a(t,e,n){ee=t,ne=e,re=n,o(),j||i(),s()}function o(){le=he("theme")?"ui":"fc",ce=he("columnFormat"),ue=he("weekNumbers"),de=he("weekNumberTitle"),ve="iso"!=he("weekNumberCalculation")?"w":"W"}function i(){Z=t("<div class='fc-event-container' style='position:absolute;z-index:8;top:0;left:0'/>").appendTo(e)}function s(){var n=c();L&&L.remove(),L=t(n).appendTo(e),_=L.find("thead"),P=_.find(".fc-day-header"),j=L.find("tbody"),I=j.find("tr"),X=j.find(".fc-day"),J=I.find("td:first-child"),V=I.eq(0).find(".fc-day > div"),U=I.eq(0).find(".fc-day-content > div"),B(_.add(_.find("tr"))),B(I),I.eq(0).addClass("fc-first"),I.filter(":last").addClass("fc-last"),X.each(function(e,n){var r=Ee(Math.floor(e/ne),e%ne);ge("dayRender",O,r,t(n))}),y(X)}function c(){var t="<table class='fc-border-separate' style='width:100%' cellspacing='0'>"+u()+v()+"</table>";return t}function u(){var t,e,n=le+"-widget-header",r="";for(r+="<thead><tr>",ue&&(r+="<th class='fc-week-number "+n+"'>"+q(de)+"</th>"),t=0;ne>t;t++)e=Ee(0,t),r+="<th class='fc-day-header fc-"+ke[e.getDay()]+" "+n+"'>"+q(xe(e,ce))+"</th>";return r+="</tr></thead>"}function v(){var t,e,n,r=le+"-widget-content",a="";for(a+="<tbody>",t=0;ee>t;t++){for(a+="<tr class='fc-week'>",ue&&(n=Ee(t,0),a+="<td class='fc-week-number "+r+"'>"+"<div>"+q(xe(n,ve))+"</div>"+"</td>"),e=0;ne>e;e++)n=Ee(t,e),a+=h(n);a+="</tr>"}return a+="</tbody>"}function h(t){var e=le+"-widget-content",n=O.start.getMonth(),r=f(new Date),a="",o=["fc-day","fc-"+ke[t.getDay()],e];return t.getMonth()!=n&&o.push("fc-other-month"),+t==+r?o.push("fc-today",le+"-state-highlight"):r>t?o.push("fc-past"):o.push("fc-future"),a+="<td class='"+o.join(" ")+"'"+" data-date='"+xe(t,"yyyy-MM-dd")+"'"+">"+"<div>",re&&(a+="<div class='fc-day-number'>"+t.getDate()+"</div>"),a+="<div class='fc-day-content'><div style='position:relative'> </div></div></div></td>"}function g(e){Q=e;var n,r,a,o=Q-_.height();"variable"==he("weekMode")?n=r=Math.floor(o/(1==ee?2:6)):(n=Math.floor(o/ee),r=o-n*(ee-1)),J.each(function(e,o){ee>e&&(a=t(o),a.find("> div").css("min-height",(e==ee-1?r:n)-R(a)))})}function p(t){$=t,ie.clear(),se.clear(),te=0,ue&&(te=_.find("th.fc-week-number").outerWidth()),K=Math.floor(($-te)/ne),S(P.slice(0,-1),K)}function y(t){t.click(w).mousedown(Me)}function w(e){if(!he("selectable")){var n=m(t(this).data("date"));ge("dayClick",this,n,!0,e)}}function b(t,e,n){n&&ae.build();for(var r=Te(t,e),a=0;r.length>a;a++){var o=r[a];y(D(o.row,o.leftCol,o.row,o.rightCol))}}function D(t,n,r,a){var o=ae.rect(t,n,r,a,e);return be(o,e)}function C(t){return d(t)}function M(t,e){b(t,l(d(e),1),!0)}function E(){Ce()}function T(t,e,n){var r=Se(t),a=X[r.row*ne+r.col];ge("dayClick",a,t,e,n)}function x(t,e){oe.start(function(t){Ce(),t&&D(t.row,t.col,t.row,t.col)},e)}function k(t,e,n){var r=oe.stop();if(Ce(),r){var a=Ee(r);ge("drop",t,a,!0,e,n)}}function H(t){return d(t.start)}function F(t){return ie.left(t)}function N(t){return ie.right(t)}function z(t){return se.left(t)}function W(t){return se.right(t)}function A(t){return I.eq(t)}var O=this;O.renderBasic=a,O.setHeight=g,O.setWidth=p,O.renderDayOverlay=b,O.defaultSelectionEnd=C,O.renderSelection=M,O.clearSelection=E,O.reportDayClick=T,O.dragStart=x,O.dragStop=k,O.defaultEventEnd=H,O.getHoverListener=function(){return oe},O.colLeft=F,O.colRight=N,O.colContentLeft=z,O.colContentRight=W,O.getIsCellAllDay=function(){return!0},O.allDayRow=A,O.getRowCnt=function(){return ee},O.getColCnt=function(){return ne},O.getColWidth=function(){return K},O.getDaySegmentContainer=function(){return Z},fe.call(O,e,n,r),me.call(O),pe.call(O),G.call(O);var L,_,P,j,I,X,J,V,U,Z,$,Q,K,te,ee,ne,re,ae,oe,ie,se,le,ce,ue,de,ve,he=O.opt,ge=O.trigger,be=O.renderOverlay,Ce=O.clearOverlays,Me=O.daySelectionMousedown,Ee=O.cellToDate,Se=O.dateToCell,Te=O.rangeToSegments,xe=n.formatDate;Y(e.addClass("fc-grid")),ae=new ye(function(e,n){var r,a,o;P.each(function(e,i){r=t(i),a=r.offset().left,e&&(o[1]=a),o=[a],n[e]=o}),o[1]=a+r.outerWidth(),I.each(function(n,i){ee>n&&(r=t(i),a=r.offset().top,n&&(o[1]=a),o=[a],e[n]=o)}),o[1]=a+r.outerHeight()}),oe=new we(ae),ie=new De(function(t){return V.eq(t)}),se=new De(function(t){return U.eq(t)})}function G(){function t(t,e){n.renderDayEvents(t,e)}function e(){n.getDaySegmentContainer().empty()}var n=this;n.renderEvents=t,n.clearEvents=e,de.call(n)}function $(t,e){function n(t,e){e&&l(t,7*e);var n=l(d(t),-((t.getDay()-a("firstDay")+7)%7)),u=l(d(n),7),f=d(n);i(f);var v=d(u);i(v,-1,!0);var h=s();r.title=c(f,l(d(v),-1),a("titleFormat")),r.start=n,r.end=u,r.visStart=f,r.visEnd=v,o(h)}var r=this;r.render=n,K.call(r,t,e,"agendaWeek");var a=r.opt,o=r.renderAgenda,i=r.skipHiddenDays,s=r.getCellsPerWeek,c=e.formatDates}function Q(t,e){function n(t,e){e&&l(t,e),i(t,0>e?-1:1);var n=d(t,!0),c=l(d(n),1);r.title=s(t,a("titleFormat")),r.start=r.visStart=n,r.end=r.visEnd=c,o(1)}var r=this;r.render=n,K.call(r,t,e,"agendaDay");var a=r.opt,o=r.renderAgenda,i=r.skipHiddenDays,s=e.formatDate}function K(n,r,a){function o(t){We=t,i(),K?c():s()}function i(){qe=Ue("theme")?"ui":"fc",Ye=Ue("isRTL"),Be=y(Ue("minTime")),je=y(Ue("maxTime")),Ie=Ue("columnFormat"),Xe=Ue("weekNumbers"),Je=Ue("weekNumberTitle"),Ve="iso"!=Ue("weekNumberCalculation")?"w":"W",Re=Ue("snapMinutes")||Ue("slotMinutes")}function s(){var e,r,a,o,i,s=qe+"-widget-header",l=qe+"-widget-content",f=0==Ue("slotMinutes")%15;for(c(),ce=t("<div style='position:absolute;z-index:2;left:0;width:100%'/>").appendTo(n),Ue("allDaySlot")?(ue=t("<div class='fc-event-container' style='position:absolute;z-index:8;top:0;left:0'/>").appendTo(ce),e="<table style='width:100%' class='fc-agenda-allday' cellspacing='0'><tr><th class='"+s+" fc-agenda-axis'>"+Ue("allDayText")+"</th>"+"<td>"+"<div class='fc-day-content'><div style='position:relative'/></div>"+"</td>"+"<th class='"+s+" fc-agenda-gutter'> </th>"+"</tr>"+"</table>",de=t(e).appendTo(ce),ve=de.find("tr"),C(ve.find("td")),ce.append("<div class='fc-agenda-divider "+s+"'>"+"<div class='fc-agenda-divider-inner'/>"+"</div>")):ue=t([]),he=t("<div style='position:absolute;width:100%;overflow-x:hidden;overflow-y:auto'/>").appendTo(ce),ge=t("<div style='position:relative;width:100%;overflow:hidden'/>").appendTo(he),be=t("<div class='fc-event-container' style='position:absolute;z-index:8;top:0;left:0'/>").appendTo(ge),e="<table class='fc-agenda-slots' style='width:100%' cellspacing='0'><tbody>",r=v(),o=u(d(r),je),u(r,Be),Ae=0,a=0;o>r;a++)i=r.getMinutes(),e+="<tr class='fc-slot"+a+" "+(i?"fc-minor":"")+"'>"+"<th class='fc-agenda-axis "+s+"'>"+(f&&i?" ":on(r,Ue("axisFormat")))+"</th>"+"<td class='"+l+"'>"+"<div style='position:relative'> </div>"+"</td>"+"</tr>",u(r,Ue("slotMinutes")),Ae++;e+="</tbody></table>",Ce=t(e).appendTo(ge),M(Ce.find("td"))}function c(){var e=h();K&&K.remove(),K=t(e).appendTo(n),ee=K.find("thead"),ne=ee.find("th").slice(1,-1),re=K.find("tbody"),ae=re.find("td").slice(0,-1),oe=ae.find("> div"),ie=ae.find(".fc-day-content > div"),se=ae.eq(0),le=oe.eq(0),B(ee.add(ee.find("tr"))),B(re.add(re.find("tr")))}function h(){var t="<table style='width:100%' class='fc-agenda-days fc-border-separate' cellspacing='0'>"+g()+p()+"</table>";return t}function g(){var t,e,n,r=qe+"-widget-header",a="";for(a+="<thead><tr>",Xe?(t=nn(0,0),e=on(t,Ve),Ye?e+=Je:e=Je+e,a+="<th class='fc-agenda-axis fc-week-number "+r+"'>"+q(e)+"</th>"):a+="<th class='fc-agenda-axis "+r+"'> </th>",n=0;We>n;n++)t=nn(0,n),a+="<th class='fc-"+ke[t.getDay()]+" fc-col"+n+" "+r+"'>"+q(on(t,Ie))+"</th>";return a+="<th class='fc-agenda-gutter "+r+"'> </th>"+"</tr>"+"</thead>"}function p(){var t,e,n,r,a,o=qe+"-widget-header",i=qe+"-widget-content",s=f(new Date),l="";for(l+="<tbody><tr><th class='fc-agenda-axis "+o+"'> </th>",n="",e=0;We>e;e++)t=nn(0,e),a=["fc-col"+e,"fc-"+ke[t.getDay()],i],+t==+s?a.push(qe+"-state-highlight","fc-today"):s>t?a.push("fc-past"):a.push("fc-future"),r="<td class='"+a.join(" ")+"'>"+"<div>"+"<div class='fc-day-content'>"+"<div style='position:relative'> </div>"+"</div>"+"</div>"+"</td>",n+=r;return l+=n,l+="<td class='fc-agenda-gutter "+i+"'> </td>"+"</tr>"+"</tbody>"}function m(t){t===e&&(t=Se),Se=t,sn={};var n=re.position().top,r=he.position().top,a=Math.min(t-n,Ce.height()+r+1);le.height(a-R(se)),ce.css("top",n),he.height(a-r-1),Fe=Ce.find("tr:first").height()+1,Ne=Ue("slotMinutes")/Re,ze=Fe/Ne}function w(e){Ee=e,_e.clear(),Pe.clear();var n=ee.find("th:first");de&&(n=n.add(de.find("th:first"))),n=n.add(Ce.find("th:first")),Te=0,S(n.width("").each(function(e,n){Te=Math.max(Te,t(n).outerWidth())}),Te);var r=K.find(".fc-agenda-gutter");de&&(r=r.add(de.find("th.fc-agenda-gutter")));var a=he[0].clientWidth;He=he.width()-a,He?(S(r,He),r.show().prev().removeClass("fc-last")):r.hide().prev().addClass("fc-last"),xe=Math.floor((a-Te)/We),S(ne.slice(0,-1),xe)}function b(){function t(){he.scrollTop(r)}var e=v(),n=d(e);n.setHours(Ue("firstHour"));var r=_(e,n)+1;t(),setTimeout(t,0)}function D(){b()}function C(t){t.click(E).mousedown(tn)}function M(t){t.click(E).mousedown(U)}function E(t){if(!Ue("selectable")){var e=Math.min(We-1,Math.floor((t.pageX-K.offset().left-Te)/xe)),n=nn(0,e),r=this.parentNode.className.match(/fc-slot(\d+)/);if(r){var a=parseInt(r[1])*Ue("slotMinutes"),o=Math.floor(a/60);n.setHours(o),n.setMinutes(a%60+Be),Ze("dayClick",ae[e],n,!1,t)}else Ze("dayClick",ae[e],n,!0,t)}}function x(t,e,n){n&&Oe.build();for(var r=an(t,e),a=0;r.length>a;a++){var o=r[a];C(k(o.row,o.leftCol,o.row,o.rightCol))}}function k(t,e,n,r){var a=Oe.rect(t,e,n,r,ce);return Ge(a,ce)}function H(t,e){for(var n=0;We>n;n++){var r=nn(0,n),a=l(d(r),1),o=new Date(Math.max(r,t)),i=new Date(Math.min(a,e));if(i>o){var s=Oe.rect(0,n,0,n,ge),c=_(r,o),u=_(r,i);s.top=c,s.height=u-c,M(Ge(s,ge))}}}function F(t){return _e.left(t)}function N(t){return Pe.left(t)}function z(t){return _e.right(t)}function W(t){return Pe.right(t)}function A(t){return Ue("allDaySlot")&&!t.row}function L(t){var e=nn(0,t.col),n=t.row;return Ue("allDaySlot")&&n--,n>=0&&u(e,Be+n*Re),e}function _(t,n){if(t=d(t,!0),u(d(t),Be)>n)return 0;if(n>=u(d(t),je))return Ce.height();var r=Ue("slotMinutes"),a=60*n.getHours()+n.getMinutes()-Be,o=Math.floor(a/r),i=sn[o];return i===e&&(i=sn[o]=Ce.find("tr").eq(o).find("td div")[0].offsetTop),Math.max(0,Math.round(i-1+Fe*(a%r/r)))}function P(){return ve}function j(t){var e=d(t.start);return t.allDay?e:u(e,Ue("defaultEventMinutes"))}function I(t,e){return e?d(t):u(d(t),Ue("slotMinutes"))}function X(t,e,n){n?Ue("allDaySlot")&&x(t,l(d(e),1),!0):J(t,e)}function J(e,n){var r=Ue("selectHelper");if(Oe.build(),r){var a=rn(e).col;if(a>=0&&We>a){var o=Oe.rect(0,a,0,a,ge),i=_(e,e),s=_(e,n);if(s>i){if(o.top=i,o.height=s-i,o.left+=2,o.width-=5,t.isFunction(r)){var l=r(e,n);l&&(o.position="absolute",Me=t(l).css(o).appendTo(ge))}else o.isStart=!0,o.isEnd=!0,Me=t(en({title:"",start:e,end:n,className:["fc-select-helper"],editable:!1},o)),Me.css("opacity",Ue("dragOpacity"));Me&&(M(Me),ge.append(Me),S(Me,o.width,!0),T(Me,o.height,!0))}}}else H(e,n)}function V(){$e(),Me&&(Me.remove(),Me=null)}function U(e){if(1==e.which&&Ue("selectable")){Ke(e);var n;Le.start(function(t,e){if(V(),t&&t.col==e.col&&!A(t)){var r=L(e),a=L(t);n=[r,u(d(r),Re),a,u(d(a),Re)].sort(O),J(n[0],n[3])}else n=null},e),t(document).one("mouseup",function(t){Le.stop(),n&&(+n[0]==+n[1]&&Z(n[0],!1,t),Qe(n[0],n[3],!1,t))})}}function Z(t,e,n){Ze("dayClick",ae[rn(t).col],t,e,n)}function G(t,e){Le.start(function(t){if($e(),t)if(A(t))k(t.row,t.col,t.row,t.col);else{var e=L(t),n=u(d(e),Ue("defaultEventMinutes"));H(e,n)}},e)}function $(t,e,n){var r=Le.stop();$e(),r&&Ze("drop",t,L(r),A(r),e,n)}var Q=this;Q.renderAgenda=o,Q.setWidth=w,Q.setHeight=m,Q.afterRender=D,Q.defaultEventEnd=j,Q.timePosition=_,Q.getIsCellAllDay=A,Q.allDayRow=P,Q.getCoordinateGrid=function(){return Oe},Q.getHoverListener=function(){return Le},Q.colLeft=F,Q.colRight=z,Q.colContentLeft=N,Q.colContentRight=W,Q.getDaySegmentContainer=function(){return ue},Q.getSlotSegmentContainer=function(){return be},Q.getMinMinute=function(){return Be},Q.getMaxMinute=function(){return je},Q.getSlotContainer=function(){return ge},Q.getRowCnt=function(){return 1},Q.getColCnt=function(){return We},Q.getColWidth=function(){return xe},Q.getSnapHeight=function(){return ze},Q.getSnapMinutes=function(){return Re},Q.defaultSelectionEnd=I,Q.renderDayOverlay=x,Q.renderSelection=X,Q.clearSelection=V,Q.reportDayClick=Z,Q.dragStart=G,Q.dragStop=$,fe.call(Q,n,r,a),me.call(Q),pe.call(Q),te.call(Q);var K,ee,ne,re,ae,oe,ie,se,le,ce,ue,de,ve,he,ge,be,Ce,Me,Ee,Se,Te,xe,He,Fe,Re,Ne,ze,We,Ae,Oe,Le,_e,Pe,qe,Ye,Be,je,Ie,Xe,Je,Ve,Ue=Q.opt,Ze=Q.trigger,Ge=Q.renderOverlay,$e=Q.clearOverlays,Qe=Q.reportSelection,Ke=Q.unselect,tn=Q.daySelectionMousedown,en=Q.slotSegHtml,nn=Q.cellToDate,rn=Q.dateToCell,an=Q.rangeToSegments,on=r.formatDate,sn={};Y(n.addClass("fc-agenda")),Oe=new ye(function(e,n){function r(t){return Math.max(l,Math.min(c,t))}var a,o,i;ne.each(function(e,r){a=t(r),o=a.offset().left,e&&(i[1]=o),i=[o],n[e]=i}),i[1]=o+a.outerWidth(),Ue("allDaySlot")&&(a=ve,o=a.offset().top,e[0]=[o,o+a.outerHeight()]);for(var s=ge.offset().top,l=he.offset().top,c=l+he.outerHeight(),u=0;Ae*Ne>u;u++)e.push([r(s+ze*u),r(s+ze*(u+1))])}),Le=new we(Oe),_e=new De(function(t){return oe.eq(t)}),Pe=new De(function(t){return ie.eq(t)})}function te(){function n(t,e){var n,r=t.length,o=[],i=[];for(n=0;r>n;n++)t[n].allDay?o.push(t[n]):i.push(t[n]);y("allDaySlot")&&(te(o,e),k()),s(a(i),e)}function r(){H().empty(),F().empty()}function a(e){var n,r,a,s,l,c=Y(),f=W(),v=z(),h=t.map(e,i),g=[];for(r=0;c>r;r++)for(n=P(0,r),u(n,f),l=o(e,h,n,u(d(n),v-f)),l=ee(l),a=0;l.length>a;a++)s=l[a],s.col=r,g.push(s);return g}function o(t,e,n,r){var a,o,i,s,l,c,u,f,v=[],h=t.length;for(a=0;h>a;a++)o=t[a],i=o.start,s=e[a],s>n&&r>i&&(n>i?(l=d(n),u=!1):(l=i,u=!0),s>r?(c=d(r),f=!1):(c=s,f=!0),v.push({event:o,start:l,end:c,isStart:u,isEnd:f}));return v.sort(ue)}function i(t){return t.end?d(t.end):u(d(t.start),y("defaultEventMinutes"))}function s(n,r){var a,o,i,s,l,u,d,v,h,g,p,m,b,D,C,M,S=n.length,T="",k=F(),H=y("isRTL");for(a=0;S>a;a++)o=n[a],i=o.event,s=A(o.start,o.start),l=A(o.start,o.end),u=L(o.col),d=_(o.col),v=d-u,d-=.025*v,v=d-u,h=v*(o.forwardCoord-o.backwardCoord),y("slotEventOverlap")&&(h=Math.max(2*(h-10),h)),H?(p=d-o.backwardCoord*v,g=p-h):(g=u+o.backwardCoord*v,p=g+h),g=Math.max(g,u),p=Math.min(p,d),h=p-g,o.top=s,o.left=g,o.outerWidth=h,o.outerHeight=l-s,T+=c(i,o);for(k[0].innerHTML=T,m=k.children(),a=0;S>a;a++)o=n[a],i=o.event,b=t(m[a]),D=w("eventRender",i,i,b),D===!1?b.remove():(D&&D!==!0&&(b.remove(),b=t(D).css({position:"absolute",top:o.top,left:o.left}).appendTo(k)),o.element=b,i._id===r?f(i,b,o):b[0]._fci=a,V(i,b));for(E(k,n,f),a=0;S>a;a++)o=n[a],(b=o.element)&&(o.vsides=R(b,!0),o.hsides=x(b,!0),C=b.find(".fc-event-title"),C.length&&(o.contentTop=C[0].offsetTop));for(a=0;S>a;a++)o=n[a],(b=o.element)&&(b[0].style.width=Math.max(0,o.outerWidth-o.hsides)+"px",M=Math.max(0,o.outerHeight-o.vsides),b[0].style.height=M+"px",i=o.event,o.contentTop!==e&&10>M-o.contentTop&&(b.find("div.fc-event-time").text(re(i.start,y("timeFormat"))+" - "+i.title),b.find("div.fc-event-title").remove()),w("eventAfterRender",i,i,b))}function c(t,e){var n="<",r=t.url,a=j(t,y),o=["fc-event","fc-event-vert"];return b(t)&&o.push("fc-event-draggable"),e.isStart&&o.push("fc-event-start"),e.isEnd&&o.push("fc-event-end"),o=o.concat(t.className),t.source&&(o=o.concat(t.source.className||[])),n+=r?"a href='"+q(t.url)+"'":"div",n+=" class='"+o.join(" ")+"'"+" style="+"'"+"position:absolute;"+"top:"+e.top+"px;"+"left:"+e.left+"px;"+a+"'"+">"+"<div class='fc-event-inner'>"+"<div class='fc-event-time'>"+q(ae(t.start,t.end,y("timeFormat")))+"</div>"+"<div class='fc-event-title'>"+q(t.title||"")+"</div>"+"</div>"+"<div class='fc-event-bg'></div>",e.isEnd&&D(t)&&(n+="<div class='ui-resizable-handle ui-resizable-s'>=</div>"),n+="</"+(r?"a":"div")+">"}function f(t,e,n){var r=e.find("div.fc-event-time");b(t)&&g(t,e,r),n.isEnd&&D(t)&&p(t,e,r),S(t,e)}function v(t,e,n){function r(){c||(e.width(a).height("").draggable("option","grid",null),c=!0)}var a,o,i,s=n.isStart,c=!0,u=N(),f=B(),v=I(),g=X(),p=W();e.draggable({opacity:y("dragOpacity","month"),revertDuration:y("dragRevertDuration"),start:function(n,p){w("eventDragStart",e,t,n,p),Z(t,e),a=e.width(),u.start(function(n,a){if(K(),n){o=!1;var u=P(0,a.col),p=P(0,n.col);i=h(p,u),n.row?s?c&&(e.width(f-10),T(e,v*Math.round((t.end?(t.end-t.start)/Re:y("defaultEventMinutes"))/g)),e.draggable("option","grid",[f,1]),c=!1):o=!0:(Q(l(d(t.start),i),l(C(t),i)),r()),o=o||c&&!i +}else r(),o=!0;e.draggable("option","revert",o)},n,"drag")},stop:function(n,a){if(u.stop(),K(),w("eventDragStop",e,t,n,a),o)r(),e.css("filter",""),U(t,e);else{var s=0;c||(s=Math.round((e.offset().top-J().offset().top)/v)*g+p-(60*t.start.getHours()+t.start.getMinutes())),G(this,t,i,s,c,n,a)}}})}function g(t,e,n){function r(){K(),s&&(f?(n.hide(),e.draggable("option","grid",null),Q(l(d(t.start),b),l(C(t),b))):(a(D),n.css("display",""),e.draggable("option","grid",[T,x])))}function a(e){var r,a=u(d(t.start),e);t.end&&(r=u(d(t.end),e)),n.text(ae(a,r,y("timeFormat")))}var o,i,s,c,f,v,g,p,b,D,M,E=m.getCoordinateGrid(),S=Y(),T=B(),x=I(),k=X();e.draggable({scroll:!1,grid:[T,x],axis:1==S?"y":!1,opacity:y("dragOpacity"),revertDuration:y("dragRevertDuration"),start:function(n,r){w("eventDragStart",e,t,n,r),Z(t,e),E.build(),o=e.position(),i=E.cell(n.pageX,n.pageY),s=c=!0,f=v=O(i),g=p=0,b=0,D=M=0},drag:function(t,n){var a=E.cell(t.pageX,t.pageY);if(s=!!a){if(f=O(a),g=Math.round((n.position.left-o.left)/T),g!=p){var l=P(0,i.col),u=i.col+g;u=Math.max(0,u),u=Math.min(S-1,u);var d=P(0,u);b=h(d,l)}f||(D=Math.round((n.position.top-o.top)/x)*k)}(s!=c||f!=v||g!=p||D!=M)&&(r(),c=s,v=f,p=g,M=D),e.draggable("option","revert",!s)},stop:function(n,a){K(),w("eventDragStop",e,t,n,a),s&&(f||b||D)?G(this,t,b,f?0:D,f,n,a):(s=!0,f=!1,g=0,b=0,D=0,r(),e.css("filter",""),e.css(o),U(t,e))}})}function p(t,e,n){var r,a,o=I(),i=X();e.resizable({handles:{s:".ui-resizable-handle"},grid:o,start:function(n,o){r=a=0,Z(t,e),w("eventResizeStart",this,t,n,o)},resize:function(s,l){r=Math.round((Math.max(o,e.height())-l.originalSize.height)/o),r!=a&&(n.text(ae(t.start,r||t.end?u(M(t),i*r):null,y("timeFormat"))),a=r)},stop:function(n,a){w("eventResizeStop",this,t,n,a),r?$(this,t,0,i*r,n,a):U(t,e)}})}var m=this;m.renderEvents=n,m.clearEvents=r,m.slotSegHtml=c,de.call(m);var y=m.opt,w=m.trigger,b=m.isEventDraggable,D=m.isEventResizable,M=m.eventEnd,S=m.eventElementHandlers,k=m.setHeight,H=m.getDaySegmentContainer,F=m.getSlotSegmentContainer,N=m.getHoverListener,z=m.getMaxMinute,W=m.getMinMinute,A=m.timePosition,O=m.getIsCellAllDay,L=m.colContentLeft,_=m.colContentRight,P=m.cellToDate,Y=m.getColCnt,B=m.getColWidth,I=m.getSnapHeight,X=m.getSnapMinutes,J=m.getSlotContainer,V=m.reportEventElement,U=m.showEvents,Z=m.hideEvents,G=m.eventDrop,$=m.eventResize,Q=m.renderDayOverlay,K=m.clearOverlays,te=m.renderDayEvents,ne=m.calendar,re=ne.formatDate,ae=ne.formatDates;m.draggableDayEvent=v}function ee(t){var e,n=ne(t),r=n[0];if(re(n),r){for(e=0;r.length>e;e++)ae(r[e]);for(e=0;r.length>e;e++)oe(r[e],0,0)}return ie(n)}function ne(t){var e,n,r,a=[];for(e=0;t.length>e;e++){for(n=t[e],r=0;a.length>r&&se(n,a[r]).length;r++);(a[r]||(a[r]=[])).push(n)}return a}function re(t){var e,n,r,a,o;for(e=0;t.length>e;e++)for(n=t[e],r=0;n.length>r;r++)for(a=n[r],a.forwardSegs=[],o=e+1;t.length>o;o++)se(a,t[o],a.forwardSegs)}function ae(t){var n,r,a=t.forwardSegs,o=0;if(t.forwardPressure===e){for(n=0;a.length>n;n++)r=a[n],ae(r),o=Math.max(o,1+r.forwardPressure);t.forwardPressure=o}}function oe(t,n,r){var a,o=t.forwardSegs;if(t.forwardCoord===e)for(o.length?(o.sort(ce),oe(o[0],n+1,r),t.forwardCoord=o[0].backwardCoord):t.forwardCoord=1,t.backwardCoord=t.forwardCoord-(t.forwardCoord-r)/(n+1),a=0;o.length>a;a++)oe(o[a],0,t.forwardCoord)}function ie(t){var e,n,r,a=[];for(e=0;t.length>e;e++)for(n=t[e],r=0;n.length>r;r++)a.push(n[r]);return a}function se(t,e,n){n=n||[];for(var r=0;e.length>r;r++)le(t,e[r])&&n.push(e[r]);return n}function le(t,e){return t.end>e.start&&t.start<e.end}function ce(t,e){return e.forwardPressure-t.forwardPressure||(t.backwardCoord||0)-(e.backwardCoord||0)||ue(t,e)}function ue(t,e){return t.start-e.start||e.end-e.start-(t.end-t.start)||(t.event.title||"").localeCompare(e.event.title)}function fe(n,r,a){function o(e,n){var r=V[e];return t.isPlainObject(r)?P(r,n||a):r}function i(t,e){return r.trigger.apply(r,[t,e||_].concat(Array.prototype.slice.call(arguments,2),[_]))}function s(t){var e=t.source||{};return X(t.startEditable,e.startEditable,o("eventStartEditable"),t.editable,e.editable,o("editable"))&&!o("disableDragging")}function c(t){var e=t.source||{};return X(t.durationEditable,e.durationEditable,o("eventDurationEditable"),t.editable,e.editable,o("editable"))&&!o("disableResizing")}function f(t){j={};var e,n,r=t.length;for(e=0;r>e;e++)n=t[e],j[n._id]?j[n._id].push(n):j[n._id]=[n]}function v(){j={},I={},J=[]}function g(t){return t.end?d(t.end):q(t)}function p(t,e){J.push({event:t,element:e}),I[t._id]?I[t._id].push(e):I[t._id]=[e]}function m(){t.each(J,function(t,e){_.trigger("eventDestroy",e.event,e.event,e.element)})}function y(t,n){n.click(function(r){return n.hasClass("ui-draggable-dragging")||n.hasClass("ui-resizable-resizing")?e:i("eventClick",this,t,r)}).hover(function(e){i("eventMouseover",this,t,e)},function(e){i("eventMouseout",this,t,e)})}function w(t,e){D(t,e,"show")}function b(t,e){D(t,e,"hide")}function D(t,e,n){var r,a=I[t._id],o=a.length;for(r=0;o>r;r++)e&&a[r][0]==e[0]||a[r][n]()}function C(t,e,n,r,a,o,s){var l=e.allDay,c=e._id;E(j[c],n,r,a),i("eventDrop",t,e,n,r,a,function(){E(j[c],-n,-r,l),B(c)},o,s),B(c)}function M(t,e,n,r,a,o){var s=e._id;S(j[s],n,r),i("eventResize",t,e,n,r,function(){S(j[s],-n,-r),B(s)},a,o),B(s)}function E(t,n,r,a){r=r||0;for(var o,i=t.length,s=0;i>s;s++)o=t[s],a!==e&&(o.allDay=a),u(l(o.start,n,!0),r),o.end&&(o.end=u(l(o.end,n,!0),r)),Y(o,V)}function S(t,e,n){n=n||0;for(var r,a=t.length,o=0;a>o;o++)r=t[o],r.end=u(l(g(r),e,!0),n),Y(r,V)}function T(t){return"object"==typeof t&&(t=t.getDay()),G[t]}function x(){return U}function k(t,e,n){for(e=e||1;G[(t.getDay()+(n?e:0)+7)%7];)l(t,e)}function H(){var t=F.apply(null,arguments),e=R(t),n=N(e);return n}function F(t,e){var n=_.getColCnt(),r=K?-1:1,a=K?n-1:0;"object"==typeof t&&(e=t.col,t=t.row);var o=t*n+(e*r+a);return o}function R(t){var e=_.visStart.getDay();return t+=$[e],7*Math.floor(t/U)+Q[(t%U+U)%U]-e}function N(t){var e=d(_.visStart);return l(e,t),e}function z(t){var e=W(t),n=A(e),r=O(n);return r}function W(t){return h(t,_.visStart)}function A(t){var e=_.visStart.getDay();return t+=e,Math.floor(t/7)*U+$[(t%7+7)%7]-$[e]}function O(t){var e=_.getColCnt(),n=K?-1:1,r=K?e-1:0,a=Math.floor(t/e),o=(t%e+e)%e*n+r;return{row:a,col:o}}function L(t,e){for(var n=_.getRowCnt(),r=_.getColCnt(),a=[],o=W(t),i=W(e),s=A(o),l=A(i)-1,c=0;n>c;c++){var u=c*r,f=u+r-1,d=Math.max(s,u),v=Math.min(l,f);if(v>=d){var h=O(d),g=O(v),p=[h.col,g.col].sort(),m=R(d)==o,y=R(v)+1==i;a.push({row:c,leftCol:p[0],rightCol:p[1],isStart:m,isEnd:y})}}return a}var _=this;_.element=n,_.calendar=r,_.name=a,_.opt=o,_.trigger=i,_.isEventDraggable=s,_.isEventResizable=c,_.setEventData=f,_.clearEventData=v,_.eventEnd=g,_.reportEventElement=p,_.triggerEventDestroy=m,_.eventElementHandlers=y,_.showEvents=w,_.hideEvents=b,_.eventDrop=C,_.eventResize=M;var q=_.defaultEventEnd,Y=r.normalizeEvent,B=r.reportEventChange,j={},I={},J=[],V=r.options;_.isHiddenDay=T,_.skipHiddenDays=k,_.getCellsPerWeek=x,_.dateToCell=z,_.dateToDayOffset=W,_.dayOffsetToCellOffset=A,_.cellOffsetToCell=O,_.cellToDate=H,_.cellToCellOffset=F,_.cellOffsetToDayOffset=R,_.dayOffsetToDate=N,_.rangeToSegments=L;var U,Z=o("hiddenDays")||[],G=[],$=[],Q=[],K=o("isRTL");(function(){o("weekends")===!1&&Z.push(0,6);for(var e=0,n=0;7>e;e++)$[e]=n,G[e]=-1!=t.inArray(e,Z),G[e]||(Q[n]=e,n++);if(U=n,!U)throw"invalid hiddenDays"})()}function de(){function e(t,e){var n=r(t,!1,!0);he(n,function(t,e){N(t.event,e)}),w(n,e),he(n,function(t,e){k("eventAfterRender",t.event,t.event,e)})}function n(t,e,n){var a=r([t],!0,!1),o=[];return he(a,function(t,r){t.row===e&&r.css("top",n),o.push(r[0])}),o}function r(e,n,r){var o,l,c=Z(),d=n?t("<div/>"):c,v=a(e);return i(v),o=s(v),d[0].innerHTML=o,l=d.children(),n&&c.append(l),u(v,l),he(v,function(t,e){t.hsides=x(e,!0)}),he(v,function(t,e){e.width(Math.max(0,t.outerWidth-t.hsides))}),he(v,function(t,e){t.outerHeight=e.outerHeight(!0)}),f(v,r),v}function a(t){for(var e=[],n=0;t.length>n;n++){var r=o(t[n]);e.push.apply(e,r)}return e}function o(t){for(var e=t.start,n=C(t),r=ee(e,n),a=0;r.length>a;a++)r[a].event=t;return r}function i(t){for(var e=T("isRTL"),n=0;t.length>n;n++){var r=t[n],a=(e?r.isEnd:r.isStart)?V:X,o=(e?r.isStart:r.isEnd)?U:J,i=a(r.leftCol),s=o(r.rightCol);r.left=i,r.outerWidth=s-i}}function s(t){for(var e="",n=0;t.length>n;n++)e+=c(t[n]);return e}function c(t){var e="",n=T("isRTL"),r=t.event,a=r.url,o=["fc-event","fc-event-hori"];H(r)&&o.push("fc-event-draggable"),t.isStart&&o.push("fc-event-start"),t.isEnd&&o.push("fc-event-end"),o=o.concat(r.className),r.source&&(o=o.concat(r.source.className||[]));var i=j(r,T);return e+=a?"<a href='"+q(a)+"'":"<div",e+=" class='"+o.join(" ")+"'"+" style="+"'"+"position:absolute;"+"left:"+t.left+"px;"+i+"'"+">"+"<div class='fc-event-inner'>",!r.allDay&&t.isStart&&(e+="<span class='fc-event-time'>"+q(G(r.start,r.end,T("timeFormat")))+"</span>"),e+="<span class='fc-event-title'>"+q(r.title||"")+"</span>"+"</div>",t.isEnd&&F(r)&&(e+="<div class='ui-resizable-handle ui-resizable-"+(n?"w":"e")+"'>"+" "+"</div>"),e+="</"+(a?"a":"div")+">"}function u(e,n){for(var r=0;e.length>r;r++){var a=e[r],o=a.event,i=n.eq(r),s=k("eventRender",o,o,i);s===!1?i.remove():(s&&s!==!0&&(s=t(s).css({position:"absolute",left:a.left}),i.replaceWith(s),i=s),a.element=i)}}function f(t,e){var n=v(t),r=y(),a=[];if(e)for(var o=0;r.length>o;o++)r[o].height(n[o]);for(var o=0;r.length>o;o++)a.push(r[o].position().top);he(t,function(t,e){e.css("top",a[t.row]+t.top)})}function v(t){for(var e=P(),n=B(),r=[],a=g(t),o=0;e>o;o++){for(var i=a[o],s=[],l=0;n>l;l++)s.push(0);for(var c=0;i.length>c;c++){var u=i[c];u.top=L(s.slice(u.leftCol,u.rightCol+1));for(var l=u.leftCol;u.rightCol>=l;l++)s[l]=u.top+u.outerHeight}r.push(L(s))}return r}function g(t){var e,n,r,a=P(),o=[];for(e=0;t.length>e;e++)n=t[e],r=n.row,n.element&&(o[r]?o[r].push(n):o[r]=[n]);for(r=0;a>r;r++)o[r]=p(o[r]||[]);return o}function p(t){for(var e=[],n=m(t),r=0;n.length>r;r++)e.push.apply(e,n[r]);return e}function m(t){t.sort(ge);for(var e=[],n=0;t.length>n;n++){for(var r=t[n],a=0;e.length>a&&ve(r,e[a]);a++);e[a]?e[a].push(r):e[a]=[r]}return e}function y(){var t,e=P(),n=[];for(t=0;e>t;t++)n[t]=I(t).find("div.fc-day-content > div");return n}function w(t,e){var n=Z();he(t,function(t,n,r){var a=t.event;a._id===e?b(a,n,t):n[0]._fci=r}),E(n,t,b)}function b(t,e,n){H(t)&&S.draggableDayEvent(t,e,n),n.isEnd&&F(t)&&S.resizableDayEvent(t,e,n),z(t,e)}function D(t,e){var n,r=te();e.draggable({delay:50,opacity:T("dragOpacity"),revertDuration:T("dragRevertDuration"),start:function(a,o){k("eventDragStart",e,t,a,o),A(t,e),r.start(function(r,a,o,i){if(e.draggable("option","revert",!r||!o&&!i),Q(),r){var s=ne(a),c=ne(r);n=h(c,s),$(l(d(t.start),n),l(C(t),n))}else n=0},a,"drag")},stop:function(a,o){r.stop(),Q(),k("eventDragStop",e,t,a,o),n?O(this,t,n,0,t.allDay,a,o):(e.css("filter",""),W(t,e))}})}function M(e,r,a){var o=T("isRTL"),i=o?"w":"e",s=r.find(".ui-resizable-"+i),c=!1;Y(r),r.mousedown(function(t){t.preventDefault()}).click(function(t){c&&(t.preventDefault(),t.stopImmediatePropagation())}),s.mousedown(function(o){function s(n){k("eventResizeStop",this,e,n),t("body").css("cursor",""),u.stop(),Q(),f&&_(this,e,f,0,n),setTimeout(function(){c=!1},0)}if(1==o.which){c=!0;var u=te();P(),B();var f,d,v=r.css("top"),h=t.extend({},e),g=ie(oe(e.start));K(),t("body").css("cursor",i+"-resize").one("mouseup",s),k("eventResizeStart",this,e,o),u.start(function(r,o){if(r){var s=re(o),c=re(r);if(c=Math.max(c,g),f=ae(c)-ae(s)){h.end=l(R(e),f,!0);var u=d;d=n(h,a.row,v),d=t(d),d.find("*").css("cursor",i+"-resize"),u&&u.remove(),A(e)}else d&&(W(e),d.remove(),d=null);Q(),$(e.start,l(C(e),f))}},o)}})}var S=this;S.renderDayEvents=e,S.draggableDayEvent=D,S.resizableDayEvent=M;var T=S.opt,k=S.trigger,H=S.isEventDraggable,F=S.isEventResizable,R=S.eventEnd,N=S.reportEventElement,z=S.eventElementHandlers,W=S.showEvents,A=S.hideEvents,O=S.eventDrop,_=S.eventResize,P=S.getRowCnt,B=S.getColCnt;S.getColWidth;var I=S.allDayRow,X=S.colLeft,J=S.colRight,V=S.colContentLeft,U=S.colContentRight;S.dateToCell;var Z=S.getDaySegmentContainer,G=S.calendar.formatDates,$=S.renderDayOverlay,Q=S.clearOverlays,K=S.clearSelection,te=S.getHoverListener,ee=S.rangeToSegments,ne=S.cellToDate,re=S.cellToCellOffset,ae=S.cellOffsetToDayOffset,oe=S.dateToDayOffset,ie=S.dayOffsetToCellOffset}function ve(t,e){for(var n=0;e.length>n;n++){var r=e[n];if(r.leftCol<=t.rightCol&&r.rightCol>=t.leftCol)return!0}return!1}function he(t,e){for(var n=0;t.length>n;n++){var r=t[n],a=r.element;a&&e(r,a,n)}}function ge(t,e){return e.rightCol-e.leftCol-(t.rightCol-t.leftCol)||e.event.allDay-t.event.allDay||t.event.start-e.event.start||(t.event.title||"").localeCompare(e.event.title)}function pe(){function e(t,e,a){n(),e||(e=l(t,a)),c(t,e,a),r(t,e,a)}function n(t){f&&(f=!1,u(),s("unselect",null,t))}function r(t,e,n,r){f=!0,s("select",null,t,e,n,r)}function a(e){var a=o.cellToDate,s=o.getIsCellAllDay,l=o.getHoverListener(),f=o.reportDayClick;if(1==e.which&&i("selectable")){n(e);var d;l.start(function(t,e){u(),t&&s(t)?(d=[a(e),a(t)].sort(O),c(d[0],d[1],!0)):d=null},e),t(document).one("mouseup",function(t){l.stop(),d&&(+d[0]==+d[1]&&f(d[0],!0,t),r(d[0],d[1],!0,t))})}}var o=this;o.select=e,o.unselect=n,o.reportSelection=r,o.daySelectionMousedown=a;var i=o.opt,s=o.trigger,l=o.defaultSelectionEnd,c=o.renderSelection,u=o.clearSelection,f=!1;i("selectable")&&i("unselectAuto")&&t(document).mousedown(function(e){var r=i("unselectCancel");r&&t(e.target).parents(r).length||n(e)})}function me(){function e(e,n){var r=o.shift();return r||(r=t("<div class='fc-cell-overlay' style='position:absolute;z-index:3'/>")),r[0].parentNode!=n[0]&&r.appendTo(n),a.push(r.css(e).show()),r}function n(){for(var t;t=a.shift();)o.push(t.hide().unbind())}var r=this;r.renderOverlay=e,r.clearOverlays=n;var a=[],o=[]}function ye(t){var e,n,r=this;r.build=function(){e=[],n=[],t(e,n)},r.cell=function(t,r){var a,o=e.length,i=n.length,s=-1,l=-1;for(a=0;o>a;a++)if(r>=e[a][0]&&e[a][1]>r){s=a;break}for(a=0;i>a;a++)if(t>=n[a][0]&&n[a][1]>t){l=a;break}return s>=0&&l>=0?{row:s,col:l}:null},r.rect=function(t,r,a,o,i){var s=i.offset();return{top:e[t][0]-s.top,left:n[r][0]-s.left,width:n[o][1]-n[r][0],height:e[a][1]-e[t][0]}}}function we(e){function n(t){be(t);var n=e.cell(t.pageX,t.pageY);(!n!=!i||n&&(n.row!=i.row||n.col!=i.col))&&(n?(o||(o=n),a(n,o,n.row-o.row,n.col-o.col)):a(n,o),i=n)}var r,a,o,i,s=this;s.start=function(s,l,c){a=s,o=i=null,e.build(),n(l),r=c||"mousemove",t(document).bind(r,n)},s.stop=function(){return t(document).unbind(r,n),i}}function be(t){t.pageX===e&&(t.pageX=t.originalEvent.pageX,t.pageY=t.originalEvent.pageY)}function De(t){function n(e){return a[e]=a[e]||t(e)}var r=this,a={},o={},i={};r.left=function(t){return o[t]=o[t]===e?n(t).position().left:o[t]},r.right=function(t){return i[t]=i[t]===e?r.left(t)+n(t).width():i[t]},r.clear=function(){a={},o={},i={}}}var Ce={defaultView:"month",aspectRatio:1.35,header:{left:"title",center:"",right:"today prev,next"},weekends:!0,weekNumbers:!1,weekNumberCalculation:"iso",weekNumberTitle:"W",allDayDefault:!0,ignoreTimezone:!0,lazyFetching:!0,startParam:"start",endParam:"end",titleFormat:{month:"MMMM yyyy",week:"MMM d[ yyyy]{ '—'[ MMM] d yyyy}",day:"dddd, MMM d, yyyy"},columnFormat:{month:"ddd",week:"ddd M/d",day:"dddd M/d"},timeFormat:{"":"h(:mm)t"},isRTL:!1,firstDay:0,monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],buttonText:{prev:"<span class='fc-text-arrow'>‹</span>",next:"<span class='fc-text-arrow'>›</span>",prevYear:"<span class='fc-text-arrow'>«</span>",nextYear:"<span class='fc-text-arrow'>»</span>",today:"today",month:"month",week:"week",day:"day"},theme:!1,buttonIcons:{prev:"circle-triangle-w",next:"circle-triangle-e"},unselectAuto:!0,dropAccept:"*",handleWindowResize:!0},Me={header:{left:"next,prev today",center:"",right:"title"},buttonText:{prev:"<span class='fc-text-arrow'>›</span>",next:"<span class='fc-text-arrow'>‹</span>",prevYear:"<span class='fc-text-arrow'>»</span>",nextYear:"<span class='fc-text-arrow'>«</span>"},buttonIcons:{prev:"circle-triangle-e",next:"circle-triangle-w"}},Ee=t.fullCalendar={version:"1.6.4"},Se=Ee.views={};t.fn.fullCalendar=function(n){if("string"==typeof n){var a,o=Array.prototype.slice.call(arguments,1);return this.each(function(){var r=t.data(this,"fullCalendar");if(r&&t.isFunction(r[n])){var i=r[n].apply(r,o);a===e&&(a=i),"destroy"==n&&t.removeData(this,"fullCalendar")}}),a!==e?a:this}n=n||{};var i=n.eventSources||[];return delete n.eventSources,n.events&&(i.push(n.events),delete n.events),n=t.extend(!0,{},Ce,n.isRTL||n.isRTL===e&&Ce.isRTL?Me:{},n),this.each(function(e,a){var o=t(a),s=new r(o,n,i);o.data("fullCalendar",s),s.render()}),this},Ee.sourceNormalizers=[],Ee.sourceFetchers=[];var Te={dataType:"json",cache:!1},xe=1;Ee.addDays=l,Ee.cloneDate=d,Ee.parseDate=p,Ee.parseISO8601=m,Ee.parseTime=y,Ee.formatDate=w,Ee.formatDates=b;var ke=["sun","mon","tue","wed","thu","fri","sat"],He=864e5,Fe=36e5,Re=6e4,Ne={s:function(t){return t.getSeconds()},ss:function(t){return _(t.getSeconds())},m:function(t){return t.getMinutes()},mm:function(t){return _(t.getMinutes())},h:function(t){return t.getHours()%12||12},hh:function(t){return _(t.getHours()%12||12)},H:function(t){return t.getHours()},HH:function(t){return _(t.getHours())},d:function(t){return t.getDate()},dd:function(t){return _(t.getDate())},ddd:function(t,e){return e.dayNamesShort[t.getDay()]},dddd:function(t,e){return e.dayNames[t.getDay()]},M:function(t){return t.getMonth()+1},MM:function(t){return _(t.getMonth()+1)},MMM:function(t,e){return e.monthNamesShort[t.getMonth()]},MMMM:function(t,e){return e.monthNames[t.getMonth()]},yy:function(t){return(t.getFullYear()+"").substring(2)},yyyy:function(t){return t.getFullYear()},t:function(t){return 12>t.getHours()?"a":"p"},tt:function(t){return 12>t.getHours()?"am":"pm"},T:function(t){return 12>t.getHours()?"A":"P"},TT:function(t){return 12>t.getHours()?"AM":"PM"},u:function(t){return w(t,"yyyy-MM-dd'T'HH:mm:ss'Z'")},S:function(t){var e=t.getDate();return e>10&&20>e?"th":["st","nd","rd"][e%10-1]||"th"},w:function(t,e){return e.weekNumberCalculation(t)},W:function(t){return D(t)}};Ee.dateFormatters=Ne,Ee.applyAll=I,Se.month=J,Se.basicWeek=V,Se.basicDay=U,n({weekMode:"fixed"}),Se.agendaWeek=$,Se.agendaDay=Q,n({allDaySlot:!0,allDayText:"all-day",firstHour:6,slotMinutes:30,defaultEventMinutes:120,axisFormat:"h(:mm)tt",timeFormat:{agenda:"h:mm{ - h:mm}"},dragOpacity:{agenda:.5},minTime:0,maxTime:24,slotEventOverlap:!0})})(jQuery);
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/js/html5shiv.js b/src/main/webapp/static/login/assets/js/html5shiv.js new file mode 100644 index 0000000..df7b327 --- /dev/null +++ b/src/main/webapp/static/login/assets/js/html5shiv.js @@ -0,0 +1,301 @@ +/** +* @preserve HTML5 Shiv v3.6.2 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed +*/ +;(function(window, document) { +/*jshint evil:true */ + /** version */ + var version = '3.6.2'; + + /** Preset options */ + var options = window.html5 || {}; + + /** Used to skip problem elements */ + var reSkip = /^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i; + + /** Not all elements can be cloned in IE **/ + var saveClones = /^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i; + + /** Detect whether the browser supports default html5 styles */ + var supportsHtml5Styles; + + /** Name of the expando, to work with multiple documents or to re-shiv one document */ + var expando = '_html5shiv'; + + /** The id for the the documents expando */ + var expanID = 0; + + /** Cached data for each document */ + var expandoData = {}; + + /** Detect whether the browser supports unknown elements */ + var supportsUnknownElements; + + (function() { + try { + var a = document.createElement('a'); + a.innerHTML = '<xyz></xyz>'; + //if the hidden property is implemented we can assume, that the browser supports basic HTML5 Styles + supportsHtml5Styles = ('hidden' in a); + + supportsUnknownElements = a.childNodes.length == 1 || (function() { + // assign a false positive if unable to shiv + (document.createElement)('a'); + var frag = document.createDocumentFragment(); + return ( + typeof frag.cloneNode == 'undefined' || + typeof frag.createDocumentFragment == 'undefined' || + typeof frag.createElement == 'undefined' + ); + }()); + } catch(e) { + // assign a false positive if detection fails => unable to shiv + supportsHtml5Styles = true; + supportsUnknownElements = true; + } + + }()); + + /*--------------------------------------------------------------------------*/ + + /** + * Creates a style sheet with the given CSS text and adds it to the document. + * @private + * @param {Document} ownerDocument The document. + * @param {String} cssText The CSS text. + * @returns {StyleSheet} The style element. + */ + function addStyleSheet(ownerDocument, cssText) { + var p = ownerDocument.createElement('p'), + parent = ownerDocument.getElementsByTagName('head')[0] || ownerDocument.documentElement; + + p.innerHTML = 'x<style>' + cssText + '</style>'; + return parent.insertBefore(p.lastChild, parent.firstChild); + } + + /** + * Returns the value of `html5.elements` as an array. + * @private + * @returns {Array} An array of shived element node names. + */ + function getElements() { + var elements = html5.elements; + return typeof elements == 'string' ? elements.split(' ') : elements; + } + + /** + * Returns the data associated to the given document + * @private + * @param {Document} ownerDocument The document. + * @returns {Object} An object of data. + */ + function getExpandoData(ownerDocument) { + var data = expandoData[ownerDocument[expando]]; + if (!data) { + data = {}; + expanID++; + ownerDocument[expando] = expanID; + expandoData[expanID] = data; + } + return data; + } + + /** + * returns a shived element for the given nodeName and document + * @memberOf html5 + * @param {String} nodeName name of the element + * @param {Document} ownerDocument The context document. + * @returns {Object} The shived element. + */ + function createElement(nodeName, ownerDocument, data){ + if (!ownerDocument) { + ownerDocument = document; + } + if(supportsUnknownElements){ + return ownerDocument.createElement(nodeName); + } + if (!data) { + data = getExpandoData(ownerDocument); + } + var node; + + if (data.cache[nodeName]) { + node = data.cache[nodeName].cloneNode(); + } else if (saveClones.test(nodeName)) { + node = (data.cache[nodeName] = data.createElem(nodeName)).cloneNode(); + } else { + node = data.createElem(nodeName); + } + + // Avoid adding some elements to fragments in IE < 9 because + // * Attributes like `name` or `type` cannot be set/changed once an element + // is inserted into a document/fragment + // * Link elements with `src` attributes that are inaccessible, as with + // a 403 response, will cause the tab/window to crash + // * Script elements appended to fragments will execute when their `src` + // or `text` property is set + return node.canHaveChildren && !reSkip.test(nodeName) ? data.frag.appendChild(node) : node; + } + + /** + * returns a shived DocumentFragment for the given document + * @memberOf html5 + * @param {Document} ownerDocument The context document. + * @returns {Object} The shived DocumentFragment. + */ + function createDocumentFragment(ownerDocument, data){ + if (!ownerDocument) { + ownerDocument = document; + } + if(supportsUnknownElements){ + return ownerDocument.createDocumentFragment(); + } + data = data || getExpandoData(ownerDocument); + var clone = data.frag.cloneNode(), + i = 0, + elems = getElements(), + l = elems.length; + for(;i<l;i++){ + clone.createElement(elems[i]); + } + return clone; + } + + /** + * Shivs the `createElement` and `createDocumentFragment` methods of the document. + * @private + * @param {Document|DocumentFragment} ownerDocument The document. + * @param {Object} data of the document. + */ + function shivMethods(ownerDocument, data) { + if (!data.cache) { + data.cache = {}; + data.createElem = ownerDocument.createElement; + data.createFrag = ownerDocument.createDocumentFragment; + data.frag = data.createFrag(); + } + + + ownerDocument.createElement = function(nodeName) { + //abort shiv + if (!html5.shivMethods) { + return data.createElem(nodeName); + } + return createElement(nodeName, ownerDocument, data); + }; + + ownerDocument.createDocumentFragment = Function('h,f', 'return function(){' + + 'var n=f.cloneNode(),c=n.createElement;' + + 'h.shivMethods&&(' + + // unroll the `createElement` calls + getElements().join().replace(/[\w\-]+/g, function(nodeName) { + data.createElem(nodeName); + data.frag.createElement(nodeName); + return 'c("' + nodeName + '")'; + }) + + ');return n}' + )(html5, data.frag); + } + + /*--------------------------------------------------------------------------*/ + + /** + * Shivs the given document. + * @memberOf html5 + * @param {Document} ownerDocument The document to shiv. + * @returns {Document} The shived document. + */ + function shivDocument(ownerDocument) { + if (!ownerDocument) { + ownerDocument = document; + } + var data = getExpandoData(ownerDocument); + + if (html5.shivCSS && !supportsHtml5Styles && !data.hasCSS) { + data.hasCSS = !!addStyleSheet(ownerDocument, + // corrects block display not defined in IE6/7/8/9 + 'article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}' + + // adds styling not present in IE6/7/8/9 + 'mark{background:#FF0;color:#000}' + + // hides non-rendered elements + 'template{display:none}' + ); + } + if (!supportsUnknownElements) { + shivMethods(ownerDocument, data); + } + return ownerDocument; + } + + /*--------------------------------------------------------------------------*/ + + /** + * The `html5` object is exposed so that more elements can be shived and + * existing shiving can be detected on iframes. + * @type Object + * @example + * + * // options can be changed before the script is included + * html5 = { 'elements': 'mark section', 'shivCSS': false, 'shivMethods': false }; + */ + var html5 = { + + /** + * An array or space separated string of node names of the elements to shiv. + * @memberOf html5 + * @type Array|String + */ + 'elements': options.elements || 'abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video', + + /** + * current version of html5shiv + */ + 'version': version, + + /** + * A flag to indicate that the HTML5 style sheet should be inserted. + * @memberOf html5 + * @type Boolean + */ + 'shivCSS': (options.shivCSS !== false), + + /** + * Is equal to true if a browser supports creating unknown/HTML5 elements + * @memberOf html5 + * @type boolean + */ + 'supportsUnknownElements': supportsUnknownElements, + + /** + * A flag to indicate that the document's `createElement` and `createDocumentFragment` + * methods should be overwritten. + * @memberOf html5 + * @type Boolean + */ + 'shivMethods': (options.shivMethods !== false), + + /** + * A string to describe the type of `html5` object ("default" or "default print"). + * @memberOf html5 + * @type String + */ + 'type': 'default', + + // shivs the document according to the specified `html5` object options + 'shivDocument': shivDocument, + + //creates a shived element + createElement: createElement, + + //creates a shived documentFragment + createDocumentFragment: createDocumentFragment + }; + + /*--------------------------------------------------------------------------*/ + + // expose html5 + window.html5 = html5; + + // shiv the document + shivDocument(document); + +}(this, document)); diff --git a/src/main/webapp/static/login/assets/js/jqGrid/i18n/grid.locale-en.js b/src/main/webapp/static/login/assets/js/jqGrid/i18n/grid.locale-en.js new file mode 100644 index 0000000..1bea088 --- /dev/null +++ b/src/main/webapp/static/login/assets/js/jqGrid/i18n/grid.locale-en.js @@ -0,0 +1,168 @@ +;(function($){
+/**
+ * jqGrid English Translation
+ * Tony Tomov [email protected]
+ * http://trirand.com/blog/
+ * Dual licensed under the MIT and GPL licenses:
+ * http://www.opensource.org/licenses/mit-license.php
+ * http://www.gnu.org/licenses/gpl.html
+**/
+$.jgrid = $.jgrid || {};
+$.extend($.jgrid,{
+ defaults : {
+ recordtext: "View {0} - {1} of {2}",
+ emptyrecords: "No records to view",
+ loadtext: "Loading...",
+ pgtext : "Page {0} of {1}"
+ },
+ search : {
+ caption: "Search...",
+ Find: "Find",
+ Reset: "Reset",
+ odata: [{ oper:'eq', text:'equal'},{ oper:'ne', text:'not equal'},{ oper:'lt', text:'less'},{ oper:'le', text:'less or equal'},{ oper:'gt', text:'greater'},{ oper:'ge', text:'greater or equal'},{ oper:'bw', text:'begins with'},{ oper:'bn', text:'does not begin with'},{ oper:'in', text:'is in'},{ oper:'ni', text:'is not in'},{ oper:'ew', text:'ends with'},{ oper:'en', text:'does not end with'},{ oper:'cn', text:'contains'},{ oper:'nc', text:'does not contain'}],
+ groupOps: [ { op: "AND", text: "all" }, { op: "OR", text: "any" } ]
+ },
+ edit : {
+ addCaption: "Add Record",
+ editCaption: "Edit Record",
+ bSubmit: "Submit",
+ bCancel: "Cancel",
+ bClose: "Close",
+ saveData: "Data has been changed! Save changes?",
+ bYes : "Yes",
+ bNo : "No",
+ bExit : "Cancel",
+ msg: {
+ required:"Field is required",
+ number:"Please, enter valid number",
+ minValue:"value must be greater than or equal to ",
+ maxValue:"value must be less than or equal to",
+ email: "is not a valid e-mail",
+ integer: "Please, enter valid integer value",
+ date: "Please, enter valid date value",
+ url: "is not a valid URL. Prefix required ('http://' or 'https://')",
+ nodefined : " is not defined!",
+ novalue : " return value is required!",
+ customarray : "Custom function should return array!",
+ customfcheck : "Custom function should be present in case of custom checking!"
+
+ }
+ },
+ view : {
+ caption: "View Record",
+ bClose: "Close"
+ },
+ del : {
+ caption: "Delete",
+ msg: "Delete selected record(s)?",
+ bSubmit: "Delete",
+ bCancel: "Cancel"
+ },
+ nav : {
+ edittext: "",
+ edittitle: "Edit selected row",
+ addtext:"",
+ addtitle: "Add new row",
+ deltext: "",
+ deltitle: "Delete selected row",
+ searchtext: "",
+ searchtitle: "Find records",
+ refreshtext: "",
+ refreshtitle: "Reload Grid",
+ alertcap: "Warning",
+ alerttext: "Please, select row",
+ viewtext: "",
+ viewtitle: "View selected row"
+ },
+ col : {
+ caption: "Select columns",
+ bSubmit: "Ok",
+ bCancel: "Cancel"
+ },
+ errors : {
+ errcap : "Error",
+ nourl : "No url is set",
+ norecords: "No records to process",
+ model : "Length of colNames <> colModel!"
+ },
+ formatter : {
+ integer : {thousandsSeparator: ",", defaultValue: '0'},
+ number : {decimalSeparator:".", thousandsSeparator: ",", decimalPlaces: 2, defaultValue: '0.00'},
+ currency : {decimalSeparator:".", thousandsSeparator: ",", decimalPlaces: 2, prefix: "", suffix:"", defaultValue: '0.00'},
+ date : {
+ dayNames: [
+ "Sun", "Mon", "Tue", "Wed", "Thr", "Fri", "Sat",
+ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"
+ ],
+ monthNames: [
+ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec",
+ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"
+ ],
+ AmPm : ["am","pm","AM","PM"],
+ S: function (j) {return j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th';},
+ srcformat: 'Y-m-d',
+ newformat: 'n/j/Y',
+ parseRe : /[Tt\\\/:_;.,\t\s-]/,
+ masks : {
+ // see http://php.net/manual/en/function.date.php for PHP format used in jqGrid
+ // and see http://docs.jquery.com/UI/Datepicker/formatDate
+ // and https://github.com/jquery/globalize#dates for alternative formats used frequently
+ // one can find on https://github.com/jquery/globalize/tree/master/lib/cultures many
+ // information about date, time, numbers and currency formats used in different countries
+ // one should just convert the information in PHP format
+ ISO8601Long:"Y-m-d H:i:s",
+ ISO8601Short:"Y-m-d",
+ // short date:
+ // n - Numeric representation of a month, without leading zeros
+ // j - Day of the month without leading zeros
+ // Y - A full numeric representation of a year, 4 digits
+ // example: 3/1/2012 which means 1 March 2012
+ ShortDate: "n/j/Y", // in jQuery UI Datepicker: "M/d/yyyy"
+ // long date:
+ // l - A full textual representation of the day of the week
+ // F - A full textual representation of a month
+ // d - Day of the month, 2 digits with leading zeros
+ // Y - A full numeric representation of a year, 4 digits
+ LongDate: "l, F d, Y", // in jQuery UI Datepicker: "dddd, MMMM dd, yyyy"
+ // long date with long time:
+ // l - A full textual representation of the day of the week
+ // F - A full textual representation of a month
+ // d - Day of the month, 2 digits with leading zeros
+ // Y - A full numeric representation of a year, 4 digits
+ // g - 12-hour format of an hour without leading zeros
+ // i - Minutes with leading zeros
+ // s - Seconds, with leading zeros
+ // A - Uppercase Ante meridiem and Post meridiem (AM or PM)
+ FullDateTime: "l, F d, Y g:i:s A", // in jQuery UI Datepicker: "dddd, MMMM dd, yyyy h:mm:ss tt"
+ // month day:
+ // F - A full textual representation of a month
+ // d - Day of the month, 2 digits with leading zeros
+ MonthDay: "F d", // in jQuery UI Datepicker: "MMMM dd"
+ // short time (without seconds)
+ // g - 12-hour format of an hour without leading zeros
+ // i - Minutes with leading zeros
+ // A - Uppercase Ante meridiem and Post meridiem (AM or PM)
+ ShortTime: "g:i A", // in jQuery UI Datepicker: "h:mm tt"
+ // long time (with seconds)
+ // g - 12-hour format of an hour without leading zeros
+ // i - Minutes with leading zeros
+ // s - Seconds, with leading zeros
+ // A - Uppercase Ante meridiem and Post meridiem (AM or PM)
+ LongTime: "g:i:s A", // in jQuery UI Datepicker: "h:mm:ss tt"
+ SortableDateTime: "Y-m-d\\TH:i:s",
+ UniversalSortableDateTime: "Y-m-d H:i:sO",
+ // month with year
+ // Y - A full numeric representation of a year, 4 digits
+ // F - A full textual representation of a month
+ YearMonth: "F, Y" // in jQuery UI Datepicker: "MMMM, yyyy"
+ },
+ reformatAfterEdit : false
+ },
+ baseLinkUrl: '',
+ showAction: '',
+ target: '',
+ checkbox : {disabled:true},
+ idName : 'id'
+ }
+});
+})(jQuery);
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/js/jqGrid/jquery.jqGrid.min.js b/src/main/webapp/static/login/assets/js/jqGrid/jquery.jqGrid.min.js new file mode 100644 index 0000000..c23c4ab --- /dev/null +++ b/src/main/webapp/static/login/assets/js/jqGrid/jquery.jqGrid.min.js @@ -0,0 +1,531 @@ +/*
+* jqGrid 4.5.2 - jQuery Grid
+* Copyright (c) 2008, Tony Tomov, [email protected]
+* Dual licensed under the MIT and GPL licenses
+* http://www.opensource.org/licenses/mit-license.php
+* http://www.gnu.org/licenses/gpl-2.0.html
+* Date:2013-05-21
+* Modules: grid.base.js; jquery.fmatter.js; grid.custom.js; grid.common.js; grid.formedit.js; grid.filter.js; grid.inlinedit.js; grid.celledit.js; jqModal.js; jqDnR.js; grid.subgrid.js; grid.grouping.js; grid.treegrid.js; grid.import.js; JsonXml.js; grid.tbltogrid.js; grid.jqueryui.js;
+*/
+
+(function(b){b.jgrid=b.jgrid||{};b.extend(b.jgrid,{version:"4.5.2",htmlDecode:function(b){return b&&(" "===b||" "===b||1===b.length&&160===b.charCodeAt(0))?"":!b?b:(""+b).replace(/>/g,">").replace(/</g,"<").replace(/"/g,'"').replace(/&/g,"&")},htmlEncode:function(b){return!b?b:(""+b).replace(/&/g,"&").replace(/\"/g,""").replace(/</g,"<").replace(/>/g,">")},format:function(d){var f=b.makeArray(arguments).slice(1);null==d&&(d="");return d.replace(/\{(\d+)\}/g,
+function(b,e){return f[e]})},msie:"Microsoft Internet Explorer"===navigator.appName,msiever:function(){var b=-1;null!=/MSIE ([0-9]{1,}[.0-9]{0,})/.exec(navigator.userAgent)&&(b=parseFloat(RegExp.$1));return b},getCellIndex:function(d){d=b(d);if(d.is("tr"))return-1;d=(!d.is("td")&&!d.is("th")?d.closest("td,th"):d)[0];return b.jgrid.msie?b.inArray(d,d.parentNode.cells):d.cellIndex},stripHtml:function(b){var b=""+b,f=/<("[^"]*"|'[^']*'|[^'">])*>/gi;return b?(b=b.replace(f,""))&&" "!==b&&" "!==
+b?b.replace(/\"/g,"'"):"":b},stripPref:function(d,f){var c=b.type(d);if("string"===c||"number"===c)d=""+d,f=""!==d?(""+f).replace(""+d,""):f;return f},parse:function(d){"while(1);"===d.substr(0,9)&&(d=d.substr(9));"/*"===d.substr(0,2)&&(d=d.substr(2,d.length-4));d||(d="{}");return!0===b.jgrid.useJSON&&"object"===typeof JSON&&"function"===typeof JSON.parse?JSON.parse(d):eval("("+d+")")},parseDate:function(d,f,c,e){var a=/^\/Date\((([-+])?[0-9]+)(([-+])([0-9]{2})([0-9]{2}))?\)\/$/,j="string"===typeof f?
+f.match(a):null,a=function(a,b){a=""+a;for(b=parseInt(b,10)||2;a.length<b;)a="0"+a;return a},g={m:1,d:1,y:1970,h:0,i:0,s:0,u:0},h=0,i,k,h=function(a,b){0===a?12===b&&(b=0):12!==b&&(b+=12);return b};void 0===e&&(e=b.jgrid.formatter.date);void 0===e.parseRe&&(e.parseRe=/[Tt\\\/:_;.,\t\s-]/);e.masks.hasOwnProperty(d)&&(d=e.masks[d]);if(f&&null!=f)if(!isNaN(f-0)&&"u"===(""+d).toLowerCase())h=new Date(1E3*parseFloat(f));else if(f.constructor===Date)h=f;else if(null!==j)h=new Date(parseInt(j[1],10)),j[3]&&
+(d=60*Number(j[5])+Number(j[6]),d*="-"===j[4]?1:-1,d-=h.getTimezoneOffset(),h.setTime(Number(Number(h)+6E4*d)));else{f=(""+f).replace(/\\T/g,"T").replace(/\\t/,"t").split(e.parseRe);d=d.replace(/\\T/g,"T").replace(/\\t/,"t").split(e.parseRe);i=0;for(k=d.length;i<k;i++)"M"===d[i]&&(j=b.inArray(f[i],e.monthNames),-1!==j&&12>j&&(f[i]=j+1,g.m=f[i])),"F"===d[i]&&(j=b.inArray(f[i],e.monthNames,12),-1!==j&&11<j&&(f[i]=j+1-12,g.m=f[i])),"a"===d[i]&&(j=b.inArray(f[i],e.AmPm),-1!==j&&2>j&&f[i]===e.AmPm[j]&&
+(f[i]=j,g.h=h(f[i],g.h))),"A"===d[i]&&(j=b.inArray(f[i],e.AmPm),-1!==j&&1<j&&f[i]===e.AmPm[j]&&(f[i]=j-2,g.h=h(f[i],g.h))),"g"===d[i]&&(g.h=parseInt(f[i],10)),void 0!==f[i]&&(g[d[i].toLowerCase()]=parseInt(f[i],10));g.f&&(g.m=g.f);if(0===g.m&&0===g.y&&0===g.d)return" ";g.m=parseInt(g.m,10)-1;h=g.y;70<=h&&99>=h?g.y=1900+g.y:0<=h&&69>=h&&(g.y=2E3+g.y);h=new Date(g.y,g.m,g.d,g.h,g.i,g.s,g.u)}else h=new Date(g.y,g.m,g.d,g.h,g.i,g.s,g.u);if(void 0===c)return h;e.masks.hasOwnProperty(c)?c=e.masks[c]:
+c||(c="Y-m-d");d=h.getHours();f=h.getMinutes();g=h.getDate();j=h.getMonth()+1;i=h.getTimezoneOffset();k=h.getSeconds();var l=h.getMilliseconds(),o=h.getDay(),n=h.getFullYear(),m=(o+6)%7+1,t=(new Date(n,j-1,g)-new Date(n,0,1))/864E5,A={d:a(g),D:e.dayNames[o],j:g,l:e.dayNames[o+7],N:m,S:e.S(g),w:o,z:t,W:5>m?Math.floor((t+m-1)/7)+1:Math.floor((t+m-1)/7)||(4>((new Date(n-1,0,1)).getDay()+6)%7?53:52),F:e.monthNames[j-1+12],m:a(j),M:e.monthNames[j-1],n:j,t:"?",L:"?",o:"?",Y:n,y:(""+n).substring(2),a:12>
+d?e.AmPm[0]:e.AmPm[1],A:12>d?e.AmPm[2]:e.AmPm[3],B:"?",g:d%12||12,G:d,h:a(d%12||12),H:a(d),i:a(f),s:a(k),u:l,e:"?",I:"?",O:(0<i?"-":"+")+a(100*Math.floor(Math.abs(i)/60)+Math.abs(i)%60,4),P:"?",T:((""+h).match(/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g)||[""]).pop().replace(/[^-+\dA-Z]/g,""),Z:"?",c:"?",r:"?",U:Math.floor(h/1E3)};return c.replace(/\\.|[dDjlNSwzWFmMntLoYyaABgGhHisueIOPTZcrU]/g,function(a){return A.hasOwnProperty(a)?
+A[a]:a.substring(1)})},jqID:function(b){return(""+b).replace(/[!"#$%&'()*+,.\/:; <=>?@\[\\\]\^`{|}~]/g,"\\$&")},guid:1,uidPref:"jqg",randId:function(d){return(d||b.jgrid.uidPref)+b.jgrid.guid++},getAccessor:function(b,f){var c,e,a=[],j;if("function"===typeof f)return f(b);c=b[f];if(void 0===c)try{if("string"===typeof f&&(a=f.split(".")),j=a.length)for(c=b;c&&j--;)e=a.shift(),c=c[e]}catch(g){}return c},getXmlData:function(d,f,c){var e="string"===typeof f?f.match(/^(.*)\[(\w+)\]$/):null;if("function"===
+typeof f)return f(d);if(e&&e[2])return e[1]?b(e[1],d).attr(e[2]):b(d).attr(e[2]);d=b(f,d);return c?d:0<d.length?b(d).text():void 0},cellWidth:function(){var d=b("<div class='ui-jqgrid' style='left:10000px'><table class='ui-jqgrid-btable' style='width:5px;'><tr class='jqgrow'><td style='width:5px;'></td></tr></table></div>"),f=d.appendTo("body").find("td").width();d.remove();return 5!==f},cell_width:!0,ajaxOptions:{},from:function(d){return new function(d,c){"string"===typeof d&&(d=b.data(d));var e=
+this,a=d,j=!0,g=!1,h=c,i=/[\$,%]/g,k=null,l=null,o=0,n=!1,m="",t=[],A=!0;if("object"===typeof d&&d.push)0<d.length&&(A="object"!==typeof d[0]?!1:!0);else throw"data provides is not an array";this._hasData=function(){return null===a?!1:0===a.length?!1:!0};this._getStr=function(a){var b=[];g&&b.push("jQuery.trim(");b.push("String("+a+")");g&&b.push(")");j||b.push(".toLowerCase()");return b.join("")};this._strComp=function(a){return"string"===typeof a?".toString()":""};this._group=function(a,b){return{field:a.toString(),
+unique:b,items:[]}};this._toStr=function(a){g&&(a=b.trim(a));a=a.toString().replace(/\\/g,"\\\\").replace(/\"/g,'\\"');return j?a:a.toLowerCase()};this._funcLoop=function(e){var d=[];b.each(a,function(a,b){d.push(e(b))});return d};this._append=function(a){var b;h=null===h?"":h+(""===m?" && ":m);for(b=0;b<o;b++)h+="(";n&&(h+="!");h+="("+a+")";n=!1;m="";o=0};this._setCommand=function(a,b){k=a;l=b};this._resetNegate=function(){n=!1};this._repeatCommand=function(a,b){return null===k?e:null!==a&&null!==
+b?k(a,b):null===l||!A?k(a):k(l,a)};this._equals=function(a,b){return 0===e._compare(a,b,1)};this._compare=function(a,b,e){var d=Object.prototype.toString;void 0===e&&(e=1);void 0===a&&(a=null);void 0===b&&(b=null);if(null===a&&null===b)return 0;if(null===a&&null!==b)return 1;if(null!==a&&null===b)return-1;if("[object Date]"===d.call(a)&&"[object Date]"===d.call(b))return a<b?-e:a>b?e:0;!j&&"number"!==typeof a&&"number"!==typeof b&&(a=""+a,b=""+b);return a<b?-e:a>b?e:0};this._performSort=function(){0!==
+t.length&&(a=e._doSort(a,0))};this._doSort=function(a,b){var d=t[b].by,g=t[b].dir,j=t[b].type,c=t[b].datefmt;if(b===t.length-1)return e._getOrder(a,d,g,j,c);b++;for(var d=e._getGroup(a,d,g,j,c),g=[],f,j=0;j<d.length;j++){f=e._doSort(d[j].items,b);for(c=0;c<f.length;c++)g.push(f[c])}return g};this._getOrder=function(a,d,g,c,f){var h=[],k=[],l="a"===g?1:-1,o,n;void 0===c&&(c="text");n="float"===c||"number"===c||"currency"===c||"numeric"===c?function(a){a=parseFloat((""+a).replace(i,""));return isNaN(a)?
+0:a}:"int"===c||"integer"===c?function(a){return a?parseFloat((""+a).replace(i,"")):0}:"date"===c||"datetime"===c?function(a){return b.jgrid.parseDate(f,a).getTime()}:b.isFunction(c)?c:function(a){a=a?b.trim(""+a):"";return j?a:a.toLowerCase()};b.each(a,function(a,e){o=""!==d?b.jgrid.getAccessor(e,d):e;void 0===o&&(o="");o=n(o,e);k.push({vSort:o,index:a})});k.sort(function(a,b){a=a.vSort;b=b.vSort;return e._compare(a,b,l)});for(var c=0,m=a.length;c<m;)g=k[c].index,h.push(a[g]),c++;return h};this._getGroup=
+function(a,d,g,j,c){var f=[],h=null,i=null,k;b.each(e._getOrder(a,d,g,j,c),function(a,g){k=b.jgrid.getAccessor(g,d);null==k&&(k="");e._equals(i,k)||(i=k,null!==h&&f.push(h),h=e._group(d,k));h.items.push(g)});null!==h&&f.push(h);return f};this.ignoreCase=function(){j=!1;return e};this.useCase=function(){j=!0;return e};this.trim=function(){g=!0;return e};this.noTrim=function(){g=!1;return e};this.execute=function(){var d=h,g=[];if(null===d)return e;b.each(a,function(){eval(d)&&g.push(this)});a=g;return e};
+this.data=function(){return a};this.select=function(d){e._performSort();if(!e._hasData())return[];e.execute();if(b.isFunction(d)){var g=[];b.each(a,function(a,b){g.push(d(b))});return g}return a};this.hasMatch=function(){if(!e._hasData())return!1;e.execute();return 0<a.length};this.andNot=function(a,b,d){n=!n;return e.and(a,b,d)};this.orNot=function(a,b,d){n=!n;return e.or(a,b,d)};this.not=function(a,b,d){return e.andNot(a,b,d)};this.and=function(a,b,d){m=" && ";return void 0===a?e:e._repeatCommand(a,
+b,d)};this.or=function(a,b,d){m=" || ";return void 0===a?e:e._repeatCommand(a,b,d)};this.orBegin=function(){o++;return e};this.orEnd=function(){null!==h&&(h+=")");return e};this.isNot=function(a){n=!n;return e.is(a)};this.is=function(a){e._append("this."+a);e._resetNegate();return e};this._compareValues=function(a,d,g,j,c){var f;f=A?"jQuery.jgrid.getAccessor(this,'"+d+"')":"this";void 0===g&&(g=null);var h=g,k=void 0===c.stype?"text":c.stype;if(null!==g)switch(k){case "int":case "integer":h=isNaN(Number(h))||
+""===h?"0":h;f="parseInt("+f+",10)";h="parseInt("+h+",10)";break;case "float":case "number":case "numeric":h=(""+h).replace(i,"");h=isNaN(Number(h))||""===h?"0":h;f="parseFloat("+f+")";h="parseFloat("+h+")";break;case "date":case "datetime":h=""+b.jgrid.parseDate(c.newfmt||"Y-m-d",h).getTime();f='jQuery.jgrid.parseDate("'+c.srcfmt+'",'+f+").getTime()";break;default:f=e._getStr(f),h=e._getStr('"'+e._toStr(h)+'"')}e._append(f+" "+j+" "+h);e._setCommand(a,d);e._resetNegate();return e};this.equals=function(a,
+b,d){return e._compareValues(e.equals,a,b,"==",d)};this.notEquals=function(a,b,d){return e._compareValues(e.equals,a,b,"!==",d)};this.isNull=function(a,b,d){return e._compareValues(e.equals,a,null,"===",d)};this.greater=function(a,b,d){return e._compareValues(e.greater,a,b,">",d)};this.less=function(a,b,d){return e._compareValues(e.less,a,b,"<",d)};this.greaterOrEquals=function(a,b,d){return e._compareValues(e.greaterOrEquals,a,b,">=",d)};this.lessOrEquals=function(a,b,d){return e._compareValues(e.lessOrEquals,
+a,b,"<=",d)};this.startsWith=function(a,d){var c=null==d?a:d,c=g?b.trim(c.toString()).length:c.toString().length;A?e._append(e._getStr("jQuery.jgrid.getAccessor(this,'"+a+"')")+".substr(0,"+c+") == "+e._getStr('"'+e._toStr(d)+'"')):(c=g?b.trim(d.toString()).length:d.toString().length,e._append(e._getStr("this")+".substr(0,"+c+") == "+e._getStr('"'+e._toStr(a)+'"')));e._setCommand(e.startsWith,a);e._resetNegate();return e};this.endsWith=function(a,d){var c=null==d?a:d,c=g?b.trim(c.toString()).length:
+c.toString().length;A?e._append(e._getStr("jQuery.jgrid.getAccessor(this,'"+a+"')")+".substr("+e._getStr("jQuery.jgrid.getAccessor(this,'"+a+"')")+".length-"+c+","+c+') == "'+e._toStr(d)+'"'):e._append(e._getStr("this")+".substr("+e._getStr("this")+'.length-"'+e._toStr(a)+'".length,"'+e._toStr(a)+'".length) == "'+e._toStr(a)+'"');e._setCommand(e.endsWith,a);e._resetNegate();return e};this.contains=function(a,b){A?e._append(e._getStr("jQuery.jgrid.getAccessor(this,'"+a+"')")+'.indexOf("'+e._toStr(b)+
+'",0) > -1'):e._append(e._getStr("this")+'.indexOf("'+e._toStr(a)+'",0) > -1');e._setCommand(e.contains,a);e._resetNegate();return e};this.groupBy=function(b,d,g,c){return!e._hasData()?null:e._getGroup(a,b,d,g,c)};this.orderBy=function(a,d,g,c){d=null==d?"a":b.trim(d.toString().toLowerCase());null==g&&(g="text");null==c&&(c="Y-m-d");if("desc"===d||"descending"===d)d="d";if("asc"===d||"ascending"===d)d="a";t.push({by:a,dir:d,type:g,datefmt:c});return e};return e}(d,null)},getMethod:function(d){return this.getAccessor(b.fn.jqGrid,
+d)},extend:function(d){b.extend(b.fn.jqGrid,d);this.no_legacy_api||b.fn.extend(d)}});b.fn.jqGrid=function(d){if("string"===typeof d){var f=b.jgrid.getMethod(d);if(!f)throw"jqGrid - No such method: "+d;var c=b.makeArray(arguments).slice(1);return f.apply(this,c)}return this.each(function(){if(!this.grid){var e=b.extend(!0,{url:"",height:150,page:1,rowNum:20,rowTotal:null,records:0,pager:"",pgbuttons:!0,pginput:!0,colModel:[],rowList:[],colNames:[],sortorder:"asc",sortname:"",datatype:"xml",mtype:"GET",
+altRows:!1,selarrrow:[],savedRow:[],shrinkToFit:!0,xmlReader:{},jsonReader:{},subGrid:!1,subGridModel:[],reccount:0,lastpage:0,lastsort:0,selrow:null,beforeSelectRow:null,onSelectRow:null,onSortCol:null,ondblClickRow:null,onRightClickRow:null,onPaging:null,onSelectAll:null,onInitGrid:null,loadComplete:null,gridComplete:null,loadError:null,loadBeforeSend:null,afterInsertRow:null,beforeRequest:null,beforeProcessing:null,onHeaderClick:null,viewrecords:!1,loadonce:!1,multiselect:!1,multikey:!1,editurl:null,
+search:!1,caption:"",hidegrid:!0,hiddengrid:!1,postData:{},userData:{},treeGrid:!1,treeGridModel:"nested",treeReader:{},treeANode:-1,ExpandColumn:null,tree_root_level:0,prmNames:{page:"page",rows:"rows",sort:"sidx",order:"sord",search:"_search",nd:"nd",id:"id",oper:"oper",editoper:"edit",addoper:"add",deloper:"del",subgridid:"id",npage:null,totalrows:"totalrows"},forceFit:!1,gridstate:"visible",cellEdit:!1,cellsubmit:"remote",nv:0,loadui:"enable",toolbar:[!1,""],scroll:!1,multiboxonly:!1,deselectAfterSort:!0,
+scrollrows:!1,autowidth:!1,scrollOffset:18,cellLayout:5,subGridWidth:20,multiselectWidth:20,gridview:!1,rownumWidth:25,rownumbers:!1,pagerpos:"center",recordpos:"right",footerrow:!1,userDataOnFooter:!1,hoverrows:!0,altclass:"ui-priority-secondary",viewsortcols:[!1,"vertical",!0],resizeclass:"",autoencode:!1,remapColumns:[],ajaxGridOptions:{},direction:"ltr",toppager:!1,headertitles:!1,scrollTimeout:40,data:[],_index:{},grouping:!1,groupingView:{groupField:[],groupOrder:[],groupText:[],groupColumnShow:[],
+groupSummary:[],showSummaryOnHide:!1,sortitems:[],sortnames:[],summary:[],summaryval:[],plusicon:"ui-icon-circlesmall-plus",minusicon:"ui-icon-circlesmall-minus",displayField:[]},ignoreCase:!1,cmTemplate:{},idPrefix:"",multiSort:!1},b.jgrid.defaults,d||{}),a=this,c={headers:[],cols:[],footers:[],dragStart:function(c,d,g){this.resizing={idx:c,startX:d.clientX,sOL:g[0]};this.hDiv.style.cursor="col-resize";this.curGbox=b("#rs_m"+b.jgrid.jqID(e.id),"#gbox_"+b.jgrid.jqID(e.id));this.curGbox.css({display:"block",
+left:g[0],top:g[1],height:g[2]});b(a).triggerHandler("jqGridResizeStart",[d,c]);b.isFunction(e.resizeStart)&&e.resizeStart.call(a,d,c);document.onselectstart=function(){return!1}},dragMove:function(a){if(this.resizing){var b=a.clientX-this.resizing.startX,a=this.headers[this.resizing.idx],c="ltr"===e.direction?a.width+b:a.width-b,d;33<c&&(this.curGbox.css({left:this.resizing.sOL+b}),!0===e.forceFit?(d=this.headers[this.resizing.idx+e.nv],b="ltr"===e.direction?d.width-b:d.width+b,33<b&&(a.newWidth=
+c,d.newWidth=b)):(this.newWidth="ltr"===e.direction?e.tblwidth+b:e.tblwidth-b,a.newWidth=c))}},dragEnd:function(){this.hDiv.style.cursor="default";if(this.resizing){var c=this.resizing.idx,d=this.headers[c].newWidth||this.headers[c].width,d=parseInt(d,10);this.resizing=!1;b("#rs_m"+b.jgrid.jqID(e.id)).css("display","none");e.colModel[c].width=d;this.headers[c].width=d;this.headers[c].el.style.width=d+"px";this.cols[c].style.width=d+"px";0<this.footers.length&&(this.footers[c].style.width=d+"px");
+!0===e.forceFit?(d=this.headers[c+e.nv].newWidth||this.headers[c+e.nv].width,this.headers[c+e.nv].width=d,this.headers[c+e.nv].el.style.width=d+"px",this.cols[c+e.nv].style.width=d+"px",0<this.footers.length&&(this.footers[c+e.nv].style.width=d+"px"),e.colModel[c+e.nv].width=d):(e.tblwidth=this.newWidth||e.tblwidth,b("table:first",this.bDiv).css("width",e.tblwidth+"px"),b("table:first",this.hDiv).css("width",e.tblwidth+"px"),this.hDiv.scrollLeft=this.bDiv.scrollLeft,e.footerrow&&(b("table:first",
+this.sDiv).css("width",e.tblwidth+"px"),this.sDiv.scrollLeft=this.bDiv.scrollLeft));b(a).triggerHandler("jqGridResizeStop",[d,c]);b.isFunction(e.resizeStop)&&e.resizeStop.call(a,d,c)}this.curGbox=null;document.onselectstart=function(){return!0}},populateVisible:function(){c.timer&&clearTimeout(c.timer);c.timer=null;var a=b(c.bDiv).height();if(a){var d=b("table:first",c.bDiv),g,f;if(d[0].rows.length)try{f=(g=d[0].rows[1])?b(g).outerHeight()||c.prevRowHeight:c.prevRowHeight}catch(ua){f=c.prevRowHeight}if(f){c.prevRowHeight=
+f;var h=e.rowNum;g=c.scrollTop=c.bDiv.scrollTop;var i=Math.round(d.position().top)-g,k=i+d.height();f*=h;var z,F,y;if(k<a&&0>=i&&(void 0===e.lastpage||parseInt((k+g+f-1)/f,10)<=e.lastpage))F=parseInt((a-k+f-1)/f,10),0<=k||2>F||!0===e.scroll?(z=Math.round((k+g)/f)+1,i=-1):i=1;0<i&&(z=parseInt(g/f,10)+1,F=parseInt((g+a)/f,10)+2-z,y=!0);if(F&&(!e.lastpage||!(z>e.lastpage||1===e.lastpage||z===e.page&&z===e.lastpage)))c.hDiv.loading?c.timer=setTimeout(c.populateVisible,e.scrollTimeout):(e.page=z,y&&(c.selectionPreserver(d[0]),
+c.emptyRows.call(d[0],!1,!1)),c.populate(F))}}},scrollGrid:function(a){if(e.scroll){var b=c.bDiv.scrollTop;void 0===c.scrollTop&&(c.scrollTop=0);b!==c.scrollTop&&(c.scrollTop=b,c.timer&&clearTimeout(c.timer),c.timer=setTimeout(c.populateVisible,e.scrollTimeout))}c.hDiv.scrollLeft=c.bDiv.scrollLeft;e.footerrow&&(c.sDiv.scrollLeft=c.bDiv.scrollLeft);a&&a.stopPropagation()},selectionPreserver:function(a){var c=a.p,d=c.selrow,e=c.selarrrow?b.makeArray(c.selarrrow):null,g=a.grid.bDiv.scrollLeft,f=function(){var h;
+c.selrow=null;c.selarrrow=[];if(c.multiselect&&e&&0<e.length)for(h=0;h<e.length;h++)e[h]!==d&&b(a).jqGrid("setSelection",e[h],!1,null);d&&b(a).jqGrid("setSelection",d,!1,null);a.grid.bDiv.scrollLeft=g;b(a).unbind(".selectionPreserver",f)};b(a).bind("jqGridGridComplete.selectionPreserver",f)}};if("TABLE"!==this.tagName.toUpperCase())alert("Element is not a table");else if(void 0!==document.documentMode&&5>=document.documentMode)alert("Grid can not be used in this ('quirks') mode!");else{b(this).empty().attr("tabindex",
+"0");this.p=e;this.p.useProp=!!b.fn.prop;var g,f;if(0===this.p.colNames.length)for(g=0;g<this.p.colModel.length;g++)this.p.colNames[g]=this.p.colModel[g].label||this.p.colModel[g].name;if(this.p.colNames.length!==this.p.colModel.length)alert(b.jgrid.errors.model);else{var i=b("<div class='ui-jqgrid-view'></div>"),k=b.jgrid.msie;a.p.direction=b.trim(a.p.direction.toLowerCase());-1===b.inArray(a.p.direction,["ltr","rtl"])&&(a.p.direction="ltr");f=a.p.direction;b(i).insertBefore(this);b(this).removeClass("scroll").appendTo(i);
+var l=b("<div class='ui-jqgrid ui-widget ui-widget-content ui-corner-all'></div>");b(l).attr({id:"gbox_"+this.id,dir:f}).insertBefore(i);b(i).attr("id","gview_"+this.id).appendTo(l);b("<div class='ui-widget-overlay jqgrid-overlay' id='lui_"+this.id+"'></div>").insertBefore(i);b("<div class='loading ui-state-default ui-state-active' id='load_"+this.id+"'>"+this.p.loadtext+"</div>").insertBefore(i);b(this).attr({cellspacing:"0",cellpadding:"0",border:"0",role:"grid","aria-multiselectable":!!this.p.multiselect,
+"aria-labelledby":"gbox_"+this.id});var o=function(a,b){a=parseInt(a,10);return isNaN(a)?b||0:a},n=function(d,e,g,f,h,i){var R=a.p.colModel[d],k=R.align,z='style="',F=R.classes,y=R.name,G=[];k&&(z=z+("text-align:"+k+";"));R.hidden===true&&(z=z+"display:none;");if(e===0)z=z+("width: "+c.headers[d].width+"px;");else if(R.cellattr&&b.isFunction(R.cellattr))if((d=R.cellattr.call(a,h,g,f,R,i))&&typeof d==="string"){d=d.replace(/style/i,"style").replace(/title/i,"title");if(d.indexOf("title")>-1)R.title=
+false;d.indexOf("class")>-1&&(F=void 0);G=d.split(/[^-]style/);if(G.length===2){G[1]=b.trim(G[1].replace("=",""));if(G[1].indexOf("'")===0||G[1].indexOf('"')===0)G[1]=G[1].substring(1);z=z+G[1].replace(/'/gi,'"')}else z=z+'"'}if(!G.length){G[0]="";z=z+'"'}z=z+((F!==void 0?' class="'+F+'"':"")+(R.title&&g?' title="'+b.jgrid.stripHtml(g)+'"':""));z=z+(' aria-describedby="'+a.p.id+"_"+y+'"');return z+G[0]},m=function(c){return c==null||c===""?" ":a.p.autoencode?b.jgrid.htmlEncode(c):""+c},t=function(c,
+d,e,g,f){var h=a.p.colModel[e];if(h.formatter!==void 0){c=""+a.p.idPrefix!==""?b.jgrid.stripPref(a.p.idPrefix,c):c;c={rowId:c,colModel:h,gid:a.p.id,pos:e};d=b.isFunction(h.formatter)?h.formatter.call(a,d,c,g,f):b.fmatter?b.fn.fmatter.call(a,h.formatter,d,c,g,f):m(d)}else d=m(d);return d},A=function(a,b,c,d,e,g){b=t(a,b,c,e,"add");return'<td role="gridcell" '+n(c,d,b,e,a,g)+">"+b+"</td>"},T=function(b,c,d,e){e='<input role="checkbox" type="checkbox" id="jqg_'+a.p.id+"_"+b+'" class="cbox" name="jqg_'+
+a.p.id+"_"+b+'"'+(e?'checked="checked"':"")+"/>";return'<td role="gridcell" '+n(c,d,"",null,b,true)+">"+e+"</td>"},M=function(a,b,c,d){c=(parseInt(c,10)-1)*parseInt(d,10)+1+b;return'<td role="gridcell" class="ui-state-default jqgrid-rownum" '+n(a,b,c,null,b,true)+">"+c+"</td>"},$=function(b){var c,d=[],e=0,g;for(g=0;g<a.p.colModel.length;g++){c=a.p.colModel[g];if(c.name!=="cb"&&c.name!=="subgrid"&&c.name!=="rn"){d[e]=b==="local"?c.name:b==="xml"||b==="xmlstring"?c.xmlmap||c.name:c.jsonmap||c.name;
+e++}}return d},U=function(c){var d=a.p.remapColumns;if(!d||!d.length)d=b.map(a.p.colModel,function(a,b){return b});c&&(d=b.map(d,function(a){return a<c?null:a-c}));return d},V=function(a,c){var d;if(this.p.deepempty)b(this.rows).slice(1).remove();else{d=this.rows.length>0?this.rows[0]:null;b(this.firstChild).empty().append(d)}if(a&&this.p.scroll){b(this.grid.bDiv.firstChild).css({height:"auto"});b(this.grid.bDiv.firstChild.firstChild).css({height:0,display:"none"});if(this.grid.bDiv.scrollTop!==0)this.grid.bDiv.scrollTop=
+0}if(c===true&&this.p.treeGrid){this.p.data=[];this.p._index={}}},N=function(){var c=a.p.data.length,d,e,g;d=a.p.rownumbers===true?1:0;e=a.p.multiselect===true?1:0;g=a.p.subGrid===true?1:0;d=a.p.keyIndex===false||a.p.loadonce===true?a.p.localReader.id:a.p.colModel[a.p.keyIndex+e+g+d].name;for(e=0;e<c;e++){g=b.jgrid.getAccessor(a.p.data[e],d);g===void 0&&(g=""+(e+1));a.p._index[g]=e}},X=function(c,d,e,g,f,h){var j="-1",i="",k,d=d?"display:none;":"",e="ui-widget-content jqgrow ui-row-"+a.p.direction+
+(e?" "+e:"")+(h?" ui-state-highlight":""),h=b(a).triggerHandler("jqGridRowAttr",[g,f,c]);typeof h!=="object"&&(h=b.isFunction(a.p.rowattr)?a.p.rowattr.call(a,g,f,c):{});if(!b.isEmptyObject(h)){if(h.hasOwnProperty("id")){c=h.id;delete h.id}if(h.hasOwnProperty("tabindex")){j=h.tabindex;delete h.tabindex}if(h.hasOwnProperty("style")){d=d+h.style;delete h.style}if(h.hasOwnProperty("class")){e=e+(" "+h["class"]);delete h["class"]}try{delete h.role}catch(F){}for(k in h)h.hasOwnProperty(k)&&(i=i+(" "+k+
+"="+h[k]))}return'<tr role="row" id="'+c+'" tabindex="'+j+'" class="'+e+'"'+(d===""?"":' style="'+d+'"')+i+">"},J=function(c,d,e,g,f){var h=new Date,j=a.p.datatype!=="local"&&a.p.loadonce||a.p.datatype==="xmlstring",i=a.p.xmlReader,k=a.p.datatype==="local"?"local":"xml";if(j){a.p.data=[];a.p._index={};a.p.localReader.id="_id_"}a.p.reccount=0;if(b.isXMLDoc(c)){if(a.p.treeANode===-1&&!a.p.scroll){V.call(a,false,true);e=1}else e=e>1?e:1;var F=b(a),y,G,l=0,o,s=a.p.multiselect===true?1:0,u=0,n,m=a.p.rownumbers===
+true?1:0,t,p=[],E,q={},x,D,r=[],K=a.p.altRows===true?a.p.altclass:"",v;if(a.p.subGrid===true){u=1;n=b.jgrid.getMethod("addSubGridCell")}i.repeatitems||(p=$(k));t=a.p.keyIndex===false?b.isFunction(i.id)?i.id.call(a,c):i.id:a.p.keyIndex;if(p.length>0&&!isNaN(t)){a.p.remapColumns&&a.p.remapColumns.length&&(t=b.inArray(t,a.p.remapColumns));t=p[t]}k=(""+t).indexOf("[")===-1?p.length?function(a,c){return b(t,a).text()||c}:function(a,c){return b(i.cell,a).eq(t).text()||c}:function(a,b){return a.getAttribute(t.replace(/[\[\]]/g,
+""))||b};a.p.userData={};a.p.page=b.jgrid.getXmlData(c,i.page)||a.p.page||0;a.p.lastpage=b.jgrid.getXmlData(c,i.total);if(a.p.lastpage===void 0)a.p.lastpage=1;a.p.records=b.jgrid.getXmlData(c,i.records)||0;b.isFunction(i.userdata)?a.p.userData=i.userdata.call(a,c)||{}:b.jgrid.getXmlData(c,i.userdata,true).each(function(){a.p.userData[this.getAttribute("name")]=b(this).text()});c=b.jgrid.getXmlData(c,i.root,true);(c=b.jgrid.getXmlData(c,i.row,true))||(c=[]);var w=c.length,L=0,B=[],C=parseInt(a.p.rowNum,
+10),H=a.p.scroll?b.jgrid.randId():1;if(w>0&&a.p.page<=0)a.p.page=1;if(c&&w){f&&(C=C*(f+1));var f=b.isFunction(a.p.afterInsertRow),J=false,I;if(a.p.grouping){J=a.p.groupingView.groupCollapse===true;I=b.jgrid.getMethod("groupingPrepare")}for(;L<w;){x=c[L];D=k(x,H+L);D=a.p.idPrefix+D;y=e===0?0:e+1;v=(y+L)%2===1?K:"";var O=r.length;r.push("");m&&r.push(M(0,L,a.p.page,a.p.rowNum));s&&r.push(T(D,m,L,false));u&&r.push(n.call(F,s+m,L+e));if(i.repeatitems){E||(E=U(s+u+m));var N=b.jgrid.getXmlData(x,i.cell,
+true);b.each(E,function(b){var c=N[this];if(!c)return false;o=c.textContent||c.text;q[a.p.colModel[b+s+u+m].name]=o;r.push(A(D,o,b+s+u+m,L+e,x,q))})}else for(y=0;y<p.length;y++){o=b.jgrid.getXmlData(x,p[y]);q[a.p.colModel[y+s+u+m].name]=o;r.push(A(D,o,y+s+u+m,L+e,x,q))}r[O]=X(D,J,v,q,x,false);r.push("</tr>");if(a.p.grouping){B=I.call(F,r,B,q,L);r=[]}if(j||a.p.treeGrid===true){q._id_=b.jgrid.stripPref(a.p.idPrefix,D);a.p.data.push(q);a.p._index[q._id_]=a.p.data.length-1}if(a.p.gridview===false){b("tbody:first",
+d).append(r.join(""));F.triggerHandler("jqGridAfterInsertRow",[D,q,x]);f&&a.p.afterInsertRow.call(a,D,q,x);r=[]}q={};l++;L++;if(l===C)break}}if(a.p.gridview===true){G=a.p.treeANode>-1?a.p.treeANode:0;if(a.p.grouping){F.jqGrid("groupingRender",B,a.p.colModel.length);B=null}else a.p.treeGrid===true&&G>0?b(a.rows[G]).after(r.join("")):b("tbody:first",d).append(r.join(""))}if(a.p.subGrid===true)try{F.jqGrid("addSubGrid",s+m)}catch(Q){}a.p.totaltime=new Date-h;if(l>0&&a.p.records===0)a.p.records=w;r=null;
+if(a.p.treeGrid===true)try{F.jqGrid("setTreeNode",G+1,l+G+1)}catch(S){}if(!a.p.treeGrid&&!a.p.scroll)a.grid.bDiv.scrollTop=0;a.p.reccount=l;a.p.treeANode=-1;a.p.userDataOnFooter&&F.jqGrid("footerData","set",a.p.userData,true);if(j){a.p.records=w;a.p.lastpage=Math.ceil(w/C)}g||a.updatepager(false,true);if(j)for(;l<w;){x=c[l];D=k(x,l+H);D=a.p.idPrefix+D;if(i.repeatitems){E||(E=U(s+u+m));var P=b.jgrid.getXmlData(x,i.cell,true);b.each(E,function(b){var c=P[this];if(!c)return false;o=c.textContent||c.text;
+q[a.p.colModel[b+s+u+m].name]=o})}else for(y=0;y<p.length;y++){o=b.jgrid.getXmlData(x,p[y]);q[a.p.colModel[y+s+u+m].name]=o}q._id_=b.jgrid.stripPref(a.p.idPrefix,D);a.p.data.push(q);a.p._index[q._id_]=a.p.data.length-1;q={};l++}}},S=function(c,d,e,g,f){var h=new Date;if(c){if(a.p.treeANode===-1&&!a.p.scroll){V.call(a,false,true);e=1}else e=e>1?e:1;var i,j=a.p.datatype!=="local"&&a.p.loadonce||a.p.datatype==="jsonstring";if(j){a.p.data=[];a.p._index={};a.p.localReader.id="_id_"}a.p.reccount=0;if(a.p.datatype===
+"local"){d=a.p.localReader;i="local"}else{d=a.p.jsonReader;i="json"}var k=b(a),l=0,y,o,n,m=[],s=a.p.multiselect?1:0,u=a.p.subGrid===true?1:0,t,p=a.p.rownumbers===true?1:0,w=U(s+u+p);i=$(i);var v,E,q,x={},D,r,K=[],B=a.p.altRows===true?a.p.altclass:"",C;a.p.page=b.jgrid.getAccessor(c,d.page)||a.p.page||0;E=b.jgrid.getAccessor(c,d.total);u&&(t=b.jgrid.getMethod("addSubGridCell"));a.p.lastpage=E===void 0?1:E;a.p.records=b.jgrid.getAccessor(c,d.records)||0;a.p.userData=b.jgrid.getAccessor(c,d.userdata)||
+{};q=a.p.keyIndex===false?b.isFunction(d.id)?d.id.call(a,c):d.id:a.p.keyIndex;if(!d.repeatitems){m=i;if(m.length>0&&!isNaN(q)){a.p.remapColumns&&a.p.remapColumns.length&&(q=b.inArray(q,a.p.remapColumns));q=m[q]}}E=b.jgrid.getAccessor(c,d.root);E==null&&b.isArray(c)&&(E=c);E||(E=[]);c=E.length;o=0;if(c>0&&a.p.page<=0)a.p.page=1;var L=parseInt(a.p.rowNum,10),H=a.p.scroll?b.jgrid.randId():1,J=false,I;f&&(L=L*(f+1));a.p.datatype==="local"&&!a.p.deselectAfterSort&&(J=true);var O=b.isFunction(a.p.afterInsertRow),
+N=[],P=false,Q;if(a.p.grouping){P=a.p.groupingView.groupCollapse===true;Q=b.jgrid.getMethod("groupingPrepare")}for(;o<c;){f=E[o];r=b.jgrid.getAccessor(f,q);if(r===void 0){typeof q==="number"&&a.p.colModel[q+s+u+p]!=null&&(r=b.jgrid.getAccessor(f,a.p.colModel[q+s+u+p].name));if(r===void 0){r=H+o;if(m.length===0&&d.cell){y=b.jgrid.getAccessor(f,d.cell)||f;r=y!=null&&y[q]!==void 0?y[q]:r}}}r=a.p.idPrefix+r;y=e===1?0:e;C=(y+o)%2===1?B:"";J&&(I=a.p.multiselect?b.inArray(r,a.p.selarrrow)!==-1:r===a.p.selrow);
+var S=K.length;K.push("");p&&K.push(M(0,o,a.p.page,a.p.rowNum));s&&K.push(T(r,p,o,I));u&&K.push(t.call(k,s+p,o+e));v=i;if(d.repeatitems){d.cell&&(f=b.jgrid.getAccessor(f,d.cell)||f);b.isArray(f)&&(v=w)}for(n=0;n<v.length;n++){y=b.jgrid.getAccessor(f,v[n]);x[a.p.colModel[n+s+u+p].name]=y;K.push(A(r,y,n+s+u+p,o+e,f,x))}K[S]=X(r,P,C,x,f,I);K.push("</tr>");if(a.p.grouping){N=Q.call(k,K,N,x,o);K=[]}if(j||a.p.treeGrid===true){x._id_=b.jgrid.stripPref(a.p.idPrefix,r);a.p.data.push(x);a.p._index[x._id_]=
+a.p.data.length-1}if(a.p.gridview===false){b("#"+b.jgrid.jqID(a.p.id)+" tbody:first").append(K.join(""));k.triggerHandler("jqGridAfterInsertRow",[r,x,f]);O&&a.p.afterInsertRow.call(a,r,x,f);K=[]}x={};l++;o++;if(l===L)break}if(a.p.gridview===true){D=a.p.treeANode>-1?a.p.treeANode:0;a.p.grouping?k.jqGrid("groupingRender",N,a.p.colModel.length):a.p.treeGrid===true&&D>0?b(a.rows[D]).after(K.join("")):b("#"+b.jgrid.jqID(a.p.id)+" tbody:first").append(K.join(""))}if(a.p.subGrid===true)try{k.jqGrid("addSubGrid",
+s+p)}catch(aa){}a.p.totaltime=new Date-h;if(l>0&&a.p.records===0)a.p.records=c;if(a.p.treeGrid===true)try{k.jqGrid("setTreeNode",D+1,l+D+1)}catch(W){}if(!a.p.treeGrid&&!a.p.scroll)a.grid.bDiv.scrollTop=0;a.p.reccount=l;a.p.treeANode=-1;a.p.userDataOnFooter&&k.jqGrid("footerData","set",a.p.userData,true);if(j){a.p.records=c;a.p.lastpage=Math.ceil(c/L)}g||a.updatepager(false,true);if(j)for(;l<c&&E[l];){f=E[l];r=b.jgrid.getAccessor(f,q);if(r===void 0){typeof q==="number"&&a.p.colModel[q+s+u+p]!=null&&
+(r=b.jgrid.getAccessor(f,a.p.colModel[q+s+u+p].name));if(r===void 0){r=H+l;if(m.length===0&&d.cell){e=b.jgrid.getAccessor(f,d.cell)||f;r=e!=null&&e[q]!==void 0?e[q]:r}}}if(f){r=a.p.idPrefix+r;v=i;if(d.repeatitems){d.cell&&(f=b.jgrid.getAccessor(f,d.cell)||f);b.isArray(f)&&(v=w)}for(n=0;n<v.length;n++)x[a.p.colModel[n+s+u+p].name]=b.jgrid.getAccessor(f,v[n]);x._id_=b.jgrid.stripPref(a.p.idPrefix,r);a.p.data.push(x);a.p._index[x._id_]=a.p.data.length-1;x={}}l++}}},ja=function(){function c(a){var b=
+0,d,e,g,h,i;if(a.groups!=null){(e=a.groups.length&&a.groupOp.toString().toUpperCase()==="OR")&&s.orBegin();for(d=0;d<a.groups.length;d++){b>0&&e&&s.or();try{c(a.groups[d])}catch(j){alert(j)}b++}e&&s.orEnd()}if(a.rules!=null)try{(g=a.rules.length&&a.groupOp.toString().toUpperCase()==="OR")&&s.orBegin();for(d=0;d<a.rules.length;d++){i=a.rules[d];h=a.groupOp.toString().toUpperCase();if(p[i.op]&&i.field){b>0&&h&&h==="OR"&&(s=s.or());s=p[i.op](s,h)(i.field,i.data,f[i.field])}b++}g&&s.orEnd()}catch(qa){alert(qa)}}
+var d=a.p.multiSort?[]:"",e=[],g=false,f={},h=[],i=[],j,k,l;if(b.isArray(a.p.data)){var o=a.p.grouping?a.p.groupingView:false,n,m;b.each(a.p.colModel,function(){k=this.sorttype||"text";if(k==="date"||k==="datetime"){if(this.formatter&&typeof this.formatter==="string"&&this.formatter==="date"){j=this.formatoptions&&this.formatoptions.srcformat?this.formatoptions.srcformat:b.jgrid.formatter.date.srcformat;l=this.formatoptions&&this.formatoptions.newformat?this.formatoptions.newformat:b.jgrid.formatter.date.newformat}else j=
+l=this.datefmt||"Y-m-d";f[this.name]={stype:k,srcfmt:j,newfmt:l}}else f[this.name]={stype:k,srcfmt:"",newfmt:""};if(a.p.grouping){m=0;for(n=o.groupField.length;m<n;m++)if(this.name===o.groupField[m]){var c=this.name;if(this.index)c=this.index;h[m]=f[c];i[m]=c}}if(a.p.multiSort){if(this.lso){d.push(this.name);c=this.lso.split("-");e.push(c[c.length-1])}}else if(!g&&(this.index===a.p.sortname||this.name===a.p.sortname)){d=this.name;g=true}});if(a.p.treeGrid)b(a).jqGrid("SortTree",d,a.p.sortorder,f[d].stype,
+f[d].srcfmt);else{var p={eq:function(a){return a.equals},ne:function(a){return a.notEquals},lt:function(a){return a.less},le:function(a){return a.lessOrEquals},gt:function(a){return a.greater},ge:function(a){return a.greaterOrEquals},cn:function(a){return a.contains},nc:function(a,b){return b==="OR"?a.orNot().contains:a.andNot().contains},bw:function(a){return a.startsWith},bn:function(a,b){return b==="OR"?a.orNot().startsWith:a.andNot().startsWith},en:function(a,b){return b==="OR"?a.orNot().endsWith:
+a.andNot().endsWith},ew:function(a){return a.endsWith},ni:function(a,b){return b==="OR"?a.orNot().equals:a.andNot().equals},"in":function(a){return a.equals},nu:function(a){return a.isNull},nn:function(a,b){return b==="OR"?a.orNot().isNull:a.andNot().isNull}},s=b.jgrid.from(a.p.data);a.p.ignoreCase&&(s=s.ignoreCase());if(a.p.search===true){var u=a.p.postData.filters;if(u){typeof u==="string"&&(u=b.jgrid.parse(u));c(u)}else try{s=p[a.p.postData.searchOper](s)(a.p.postData.searchField,a.p.postData.searchString,
+f[a.p.postData.searchField])}catch(t){}}if(a.p.grouping)for(m=0;m<n;m++)s.orderBy(i[m],o.groupOrder[m],h[m].stype,h[m].srcfmt);a.p.multiSort?b.each(d,function(a){s.orderBy(this,e[a],f[this].stype,f[this].srcfmt)}):d&&a.p.sortorder&&g&&(a.p.sortorder.toUpperCase()==="DESC"?s.orderBy(a.p.sortname,"d",f[d].stype,f[d].srcfmt):s.orderBy(a.p.sortname,"a",f[d].stype,f[d].srcfmt));var u=s.select(),v=parseInt(a.p.rowNum,10),w=u.length,A=parseInt(a.p.page,10),B=Math.ceil(w/v),q={},u=u.slice((A-1)*v,A*v),f=
+s=null;q[a.p.localReader.total]=B;q[a.p.localReader.page]=A;q[a.p.localReader.records]=w;q[a.p.localReader.root]=u;q[a.p.localReader.userdata]=a.p.userData;u=null;return q}}},aa=function(){a.grid.hDiv.loading=true;if(!a.p.hiddengrid)switch(a.p.loadui){case "enable":b("#load_"+b.jgrid.jqID(a.p.id)).show();break;case "block":b("#lui_"+b.jgrid.jqID(a.p.id)).show();b("#load_"+b.jgrid.jqID(a.p.id)).show()}},P=function(){a.grid.hDiv.loading=false;switch(a.p.loadui){case "enable":b("#load_"+b.jgrid.jqID(a.p.id)).hide();
+break;case "block":b("#lui_"+b.jgrid.jqID(a.p.id)).hide();b("#load_"+b.jgrid.jqID(a.p.id)).hide()}},O=function(c){if(!a.grid.hDiv.loading){var d=a.p.scroll&&c===false,e={},g,f=a.p.prmNames;if(a.p.page<=0)a.p.page=1;if(f.search!==null)e[f.search]=a.p.search;f.nd!==null&&(e[f.nd]=(new Date).getTime());if(f.rows!==null)e[f.rows]=a.p.rowNum;if(f.page!==null)e[f.page]=a.p.page;if(f.sort!==null)e[f.sort]=a.p.sortname;if(f.order!==null)e[f.order]=a.p.sortorder;if(a.p.rowTotal!==null&&f.totalrows!==null)e[f.totalrows]=
+a.p.rowTotal;var h=b.isFunction(a.p.loadComplete),i=h?a.p.loadComplete:null,j=0,c=c||1;if(c>1)if(f.npage!==null){e[f.npage]=c;j=c-1;c=1}else i=function(b){a.p.page++;a.grid.hDiv.loading=false;h&&a.p.loadComplete.call(a,b);O(c-1)};else f.npage!==null&&delete a.p.postData[f.npage];if(a.p.grouping){b(a).jqGrid("groupingSetup");var k=a.p.groupingView,l,o="";for(l=0;l<k.groupField.length;l++){var m=k.groupField[l];b.each(a.p.colModel,function(a,b){if(b.name===m&&b.index)m=b.index});o=o+(m+" "+k.groupOrder[l]+
+", ")}e[f.sort]=o+e[f.sort]}b.extend(a.p.postData,e);var n=!a.p.scroll?1:a.rows.length-1,e=b(a).triggerHandler("jqGridBeforeRequest");if(!(e===false||e==="stop"))if(b.isFunction(a.p.datatype))a.p.datatype.call(a,a.p.postData,"load_"+a.p.id);else{if(b.isFunction(a.p.beforeRequest)){e=a.p.beforeRequest.call(a);e===void 0&&(e=true);if(e===false)return}g=a.p.datatype.toLowerCase();switch(g){case "json":case "jsonp":case "xml":case "script":b.ajax(b.extend({url:a.p.url,type:a.p.mtype,dataType:g,data:b.isFunction(a.p.serializeGridData)?
+a.p.serializeGridData.call(a,a.p.postData):a.p.postData,success:function(e,f,h){if(b.isFunction(a.p.beforeProcessing)&&a.p.beforeProcessing.call(a,e,f,h)===false)P();else{g==="xml"?J(e,a.grid.bDiv,n,c>1,j):S(e,a.grid.bDiv,n,c>1,j);b(a).triggerHandler("jqGridLoadComplete",[e]);i&&i.call(a,e);b(a).triggerHandler("jqGridAfterLoadComplete",[e]);d&&a.grid.populateVisible();if(a.p.loadonce||a.p.treeGrid)a.p.datatype="local";c===1&&P()}},error:function(d,e,f){b.isFunction(a.p.loadError)&&a.p.loadError.call(a,
+d,e,f);c===1&&P()},beforeSend:function(c,d){var e=true;b.isFunction(a.p.loadBeforeSend)&&(e=a.p.loadBeforeSend.call(a,c,d));e===void 0&&(e=true);if(e===false)return false;aa()}},b.jgrid.ajaxOptions,a.p.ajaxGridOptions));break;case "xmlstring":aa();e=typeof a.p.datastr!=="string"?a.p.datastr:b.parseXML(a.p.datastr);J(e,a.grid.bDiv);b(a).triggerHandler("jqGridLoadComplete",[e]);h&&a.p.loadComplete.call(a,e);b(a).triggerHandler("jqGridAfterLoadComplete",[e]);a.p.datatype="local";a.p.datastr=null;P();
+break;case "jsonstring":aa();e=typeof a.p.datastr==="string"?b.jgrid.parse(a.p.datastr):a.p.datastr;S(e,a.grid.bDiv);b(a).triggerHandler("jqGridLoadComplete",[e]);h&&a.p.loadComplete.call(a,e);b(a).triggerHandler("jqGridAfterLoadComplete",[e]);a.p.datatype="local";a.p.datastr=null;P();break;case "local":case "clientside":aa();a.p.datatype="local";e=ja();S(e,a.grid.bDiv,n,c>1,j);b(a).triggerHandler("jqGridLoadComplete",[e]);i&&i.call(a,e);b(a).triggerHandler("jqGridAfterLoadComplete",[e]);d&&a.grid.populateVisible();
+P()}}}},ca=function(c){b("#cb_"+b.jgrid.jqID(a.p.id),a.grid.hDiv)[a.p.useProp?"prop":"attr"]("checked",c);if(a.p.frozenColumns&&a.p.id+"_frozen")b("#cb_"+b.jgrid.jqID(a.p.id),a.grid.fhDiv)[a.p.useProp?"prop":"attr"]("checked",c)},ka=function(c,d){var e="",g="<table cellspacing='0' cellpadding='0' border='0' style='table-layout:auto;' class='ui-pg-table'><tbody><tr>",i="",j,k,l,m,n=function(c){var d;b.isFunction(a.p.onPaging)&&(d=a.p.onPaging.call(a,c));a.p.selrow=null;if(a.p.multiselect){a.p.selarrrow=
+[];ca(false)}a.p.savedRow=[];return d==="stop"?false:true},c=c.substr(1),d=d+("_"+c);j="pg_"+c;k=c+"_left";l=c+"_center";m=c+"_right";b("#"+b.jgrid.jqID(c)).append("<div id='"+j+"' class='ui-pager-control' role='group'><table cellspacing='0' cellpadding='0' border='0' class='ui-pg-table' style='width:100%;table-layout:fixed;height:100%;' role='row'><tbody><tr><td id='"+k+"' align='left'></td><td id='"+l+"' align='center' style='white-space:pre;'></td><td id='"+m+"' align='right'></td></tr></tbody></table></div>").attr("dir",
+"ltr");if(a.p.rowList.length>0){i="<td dir='"+f+"'>";i=i+"<select class='ui-pg-selbox' role='listbox'>";for(k=0;k<a.p.rowList.length;k++)i=i+('<option role="option" value="'+a.p.rowList[k]+'"'+(a.p.rowNum===a.p.rowList[k]?' selected="selected"':"")+">"+a.p.rowList[k]+"</option>");i=i+"</select></td>"}f==="rtl"&&(g=g+i);a.p.pginput===true&&(e="<td dir='"+f+"'>"+b.jgrid.format(a.p.pgtext||"","<input class='ui-pg-input' type='text' size='2' maxlength='7' value='0' role='textbox'/>","<span id='sp_1_"+
+b.jgrid.jqID(c)+"'></span>")+"</td>");if(a.p.pgbuttons===true){k=["first"+d,"prev"+d,"next"+d,"last"+d];f==="rtl"&&k.reverse();g=g+("<td id='"+k[0]+"' class='ui-pg-button ui-corner-all'><span class='ui-icon ui-icon-seek-first'></span></td>");g=g+("<td id='"+k[1]+"' class='ui-pg-button ui-corner-all'><span class='ui-icon ui-icon-seek-prev'></span></td>");g=g+(e!==""?"<td class='ui-pg-button ui-state-disabled' style='width:4px;'><span class='ui-separator'></span></td>"+e+"<td class='ui-pg-button ui-state-disabled' style='width:4px;'><span class='ui-separator'></span></td>":
+"")+("<td id='"+k[2]+"' class='ui-pg-button ui-corner-all'><span class='ui-icon ui-icon-seek-next'></span></td>");g=g+("<td id='"+k[3]+"' class='ui-pg-button ui-corner-all'><span class='ui-icon ui-icon-seek-end'></span></td>")}else e!==""&&(g=g+e);f==="ltr"&&(g=g+i);g=g+"</tr></tbody></table>";a.p.viewrecords===true&&b("td#"+c+"_"+a.p.recordpos,"#"+j).append("<div dir='"+f+"' style='text-align:"+a.p.recordpos+"' class='ui-paging-info'></div>");b("td#"+c+"_"+a.p.pagerpos,"#"+j).append(g);i=b(".ui-jqgrid").css("font-size")||
+"11px";b(document.body).append("<div id='testpg' class='ui-jqgrid ui-widget ui-widget-content' style='font-size:"+i+";visibility:hidden;' ></div>");g=b(g).clone().appendTo("#testpg").width();b("#testpg").remove();if(g>0){e!==""&&(g=g+50);b("td#"+c+"_"+a.p.pagerpos,"#"+j).width(g)}a.p._nvtd=[];a.p._nvtd[0]=g?Math.floor((a.p.width-g)/2):Math.floor(a.p.width/3);a.p._nvtd[1]=0;g=null;b(".ui-pg-selbox","#"+j).bind("change",function(){if(!n("records"))return false;a.p.page=Math.round(a.p.rowNum*(a.p.page-
+1)/this.value-0.5)+1;a.p.rowNum=this.value;a.p.pager&&b(".ui-pg-selbox",a.p.pager).val(this.value);a.p.toppager&&b(".ui-pg-selbox",a.p.toppager).val(this.value);O();return false});if(a.p.pgbuttons===true){b(".ui-pg-button","#"+j).hover(function(){if(b(this).hasClass("ui-state-disabled"))this.style.cursor="default";else{b(this).addClass("ui-state-hover");this.style.cursor="pointer"}},function(){if(!b(this).hasClass("ui-state-disabled")){b(this).removeClass("ui-state-hover");this.style.cursor="default"}});
+b("#first"+b.jgrid.jqID(d)+", #prev"+b.jgrid.jqID(d)+", #next"+b.jgrid.jqID(d)+", #last"+b.jgrid.jqID(d)).click(function(){var b=o(a.p.page,1),c=o(a.p.lastpage,1),e=false,g=true,f=true,h=true,i=true;if(c===0||c===1)i=h=f=g=false;else if(c>1&&b>=1)if(b===1)f=g=false;else{if(b===c)i=h=false}else if(c>1&&b===0){i=h=false;b=c-1}if(!n(this.id))return false;if(this.id==="first"+d&&g){a.p.page=1;e=true}if(this.id==="prev"+d&&f){a.p.page=b-1;e=true}if(this.id==="next"+d&&h){a.p.page=b+1;e=true}if(this.id===
+"last"+d&&i){a.p.page=c;e=true}e&&O();return false})}a.p.pginput===true&&b("input.ui-pg-input","#"+j).keypress(function(c){if((c.charCode||c.keyCode||0)===13){if(!n("user"))return false;b(this).val(o(b(this).val(),1));a.p.page=b(this).val()>0?b(this).val():a.p.page;O();return false}return this})},ra=function(c,d){var e,g="",f=a.p.colModel,h=false,i;i=a.p.frozenColumns?d:a.grid.headers[c].el;var j="";b("span.ui-grid-ico-sort",i).addClass("ui-state-disabled");b(i).attr("aria-selected","false");if(f[c].lso)if(f[c].lso===
+"asc"){f[c].lso=f[c].lso+"-desc";j="desc"}else if(f[c].lso==="desc"){f[c].lso=f[c].lso+"-asc";j="asc"}else{if(f[c].lso==="asc-desc"||f[c].lso==="desc-asc")f[c].lso=""}else f[c].lso=j=f.firstsortorder||"asc";if(j){b("span.s-ico",i).show();b("span.ui-icon-"+j,i).removeClass("ui-state-disabled");b(i).attr("aria-selected","true")}else a.p.viewsortcols[0]||b("span.s-ico",i).hide();a.p.sortorder="";b.each(f,function(b){if(this.lso){b>0&&h&&(g=g+", ");e=this.lso.split("-");g=g+(f[b].index||f[b].name);g=
+g+(" "+e[e.length-1]);h=true;a.p.sortorder=e[e.length-1]}});i=g.lastIndexOf(a.p.sortorder);g=g.substring(0,i);a.p.sortname=g},la=function(c,d,e,g,f){if(a.p.colModel[d].sortable){var h;if(!(a.p.savedRow.length>0)){if(!e){if(a.p.lastsort===d)if(a.p.sortorder==="asc")a.p.sortorder="desc";else{if(a.p.sortorder==="desc")a.p.sortorder="asc"}else a.p.sortorder=a.p.colModel[d].firstsortorder||"asc";a.p.page=1}if(a.p.multiSort)ra(d,f);else{if(g){if(a.p.lastsort===d&&a.p.sortorder===g&&!e)return;a.p.sortorder=
+g}e=a.grid.headers[a.p.lastsort].el;f=a.p.frozenColumns?f:a.grid.headers[d].el;b("span.ui-grid-ico-sort",e).addClass("ui-state-disabled");b(e).attr("aria-selected","false");if(a.p.frozenColumns){a.grid.fhDiv.find("span.ui-grid-ico-sort").addClass("ui-state-disabled");a.grid.fhDiv.find("th").attr("aria-selected","false")}b("span.ui-icon-"+a.p.sortorder,f).removeClass("ui-state-disabled");b(f).attr("aria-selected","true");if(!a.p.viewsortcols[0]&&a.p.lastsort!==d){a.p.frozenColumns&&a.grid.fhDiv.find("span.s-ico").hide();
+b("span.s-ico",e).hide();b("span.s-ico",f).show()}c=c.substring(5+a.p.id.length+1);a.p.sortname=a.p.colModel[d].index||c;h=a.p.sortorder}if(b(a).triggerHandler("jqGridSortCol",[c,d,h])==="stop")a.p.lastsort=d;else if(b.isFunction(a.p.onSortCol)&&a.p.onSortCol.call(a,c,d,h)==="stop")a.p.lastsort=d;else{if(a.p.datatype==="local")a.p.deselectAfterSort&&b(a).jqGrid("resetSelection");else{a.p.selrow=null;a.p.multiselect&&ca(false);a.p.selarrrow=[];a.p.savedRow=[]}if(a.p.scroll){f=a.grid.bDiv.scrollLeft;
+V.call(a,true,false);a.grid.hDiv.scrollLeft=f}a.p.subGrid&&a.p.datatype==="local"&&b("td.sgexpanded","#"+b.jgrid.jqID(a.p.id)).each(function(){b(this).trigger("click")});O();a.p.lastsort=d;if(a.p.sortname!==c&&d)a.p.lastsort=d}}}},sa=function(c){c=b(a.grid.headers[c].el);c=[c.position().left+c.outerWidth()];a.p.direction==="rtl"&&(c[0]=a.p.width-c[0]);c[0]=c[0]-a.grid.bDiv.scrollLeft;c.push(b(a.grid.hDiv).position().top);c.push(b(a.grid.bDiv).offset().top-b(a.grid.hDiv).offset().top+b(a.grid.bDiv).height());
+return c},ma=function(c){var d,e=a.grid.headers,g=b.jgrid.getCellIndex(c);for(d=0;d<e.length;d++)if(c===e[d].el){g=d;break}return g};this.p.id=this.id;-1===b.inArray(a.p.multikey,["shiftKey","altKey","ctrlKey"])&&(a.p.multikey=!1);a.p.keyIndex=!1;for(g=0;g<a.p.colModel.length;g++)a.p.colModel[g]=b.extend(!0,{},a.p.cmTemplate,a.p.colModel[g].template||{},a.p.colModel[g]),!1===a.p.keyIndex&&!0===a.p.colModel[g].key&&(a.p.keyIndex=g);a.p.sortorder=a.p.sortorder.toLowerCase();b.jgrid.cell_width=b.jgrid.cellWidth();
+!0===a.p.grouping&&(a.p.scroll=!1,a.p.rownumbers=!1,a.p.treeGrid=!1,a.p.gridview=!0);if(!0===this.p.treeGrid){try{b(this).jqGrid("setTreeGrid")}catch(va){}"local"!==a.p.datatype&&(a.p.localReader={id:"_id_"})}if(this.p.subGrid)try{b(a).jqGrid("setSubGrid")}catch(wa){}this.p.multiselect&&(this.p.colNames.unshift("<input role='checkbox' id='cb_"+this.p.id+"' class='cbox' type='checkbox'/>"),this.p.colModel.unshift({name:"cb",width:b.jgrid.cell_width?a.p.multiselectWidth+a.p.cellLayout:a.p.multiselectWidth,
+sortable:!1,resizable:!1,hidedlg:!0,search:!1,align:"center",fixed:!0}));this.p.rownumbers&&(this.p.colNames.unshift(""),this.p.colModel.unshift({name:"rn",width:a.p.rownumWidth,sortable:!1,resizable:!1,hidedlg:!0,search:!1,align:"center",fixed:!0}));a.p.xmlReader=b.extend(!0,{root:"rows",row:"row",page:"rows>page",total:"rows>total",records:"rows>records",repeatitems:!0,cell:"cell",id:"[id]",userdata:"userdata",subgrid:{root:"rows",row:"row",repeatitems:!0,cell:"cell"}},a.p.xmlReader);a.p.jsonReader=
+b.extend(!0,{root:"rows",page:"page",total:"total",records:"records",repeatitems:!0,cell:"cell",id:"id",userdata:"userdata",subgrid:{root:"rows",repeatitems:!0,cell:"cell"}},a.p.jsonReader);a.p.localReader=b.extend(!0,{root:"rows",page:"page",total:"total",records:"records",repeatitems:!1,cell:"cell",id:"id",userdata:"userdata",subgrid:{root:"rows",repeatitems:!0,cell:"cell"}},a.p.localReader);a.p.scroll&&(a.p.pgbuttons=!1,a.p.pginput=!1,a.p.rowList=[]);a.p.data.length&&N();var B="<thead><tr class='ui-jqgrid-labels' role='rowheader'>",
+na,C,da,ea,fa,v,p,W,oa=W="",ba=[],pa=[];C=[];if(!0===a.p.shrinkToFit&&!0===a.p.forceFit)for(g=a.p.colModel.length-1;0<=g;g--)if(!a.p.colModel[g].hidden){a.p.colModel[g].resizable=!1;break}"horizontal"===a.p.viewsortcols[1]&&(W=" ui-i-asc",oa=" ui-i-desc");na=k?"class='ui-th-div-ie'":"";W="<span class='s-ico' style='display:none'><span sort='asc' class='ui-grid-ico-sort ui-icon-asc"+W+" ui-state-disabled ui-icon ui-icon-triangle-1-n ui-sort-"+f+"'></span>"+("<span sort='desc' class='ui-grid-ico-sort ui-icon-desc"+
+oa+" ui-state-disabled ui-icon ui-icon-triangle-1-s ui-sort-"+f+"'></span></span>");if(a.p.multiSort){ba=a.p.sortname.split(",");for(g=0;g<ba.length;g++)C=b.trim(ba[g]).split(" "),ba[g]=b.trim(C[0]),pa[g]=C[1]?b.trim(C[1]):a.p.sortorder||"asc"}for(g=0;g<this.p.colNames.length;g++)C=a.p.headertitles?' title="'+b.jgrid.stripHtml(a.p.colNames[g])+'"':"",B+="<th id='"+a.p.id+"_"+a.p.colModel[g].name+"' role='columnheader' class='ui-state-default ui-th-column ui-th-"+f+"'"+C+">",C=a.p.colModel[g].index||
+a.p.colModel[g].name,B+="<div id='jqgh_"+a.p.id+"_"+a.p.colModel[g].name+"' "+na+">"+a.p.colNames[g],a.p.colModel[g].width=a.p.colModel[g].width?parseInt(a.p.colModel[g].width,10):150,"boolean"!==typeof a.p.colModel[g].title&&(a.p.colModel[g].title=!0),a.p.colModel[g].lso="",C===a.p.sortname&&(a.p.lastsort=g),a.p.multiSort&&(C=b.inArray(C,ba),-1!==C&&(a.p.colModel[g].lso=pa[C])),B+=W+"</div></th>";W=null;b(this).append(B+"</tr></thead>");b("thead tr:first th",this).hover(function(){b(this).addClass("ui-state-hover")},
+function(){b(this).removeClass("ui-state-hover")});if(this.p.multiselect){var ga=[],Y;b("#cb_"+b.jgrid.jqID(a.p.id),this).bind("click",function(){a.p.selarrrow=[];var c=a.p.frozenColumns===true?a.p.id+"_frozen":"";if(this.checked){b(a.rows).each(function(d){if(d>0&&!b(this).hasClass("ui-subgrid")&&!b(this).hasClass("jqgroup")&&!b(this).hasClass("ui-state-disabled")){b("#jqg_"+b.jgrid.jqID(a.p.id)+"_"+b.jgrid.jqID(this.id))[a.p.useProp?"prop":"attr"]("checked",true);b(this).addClass("ui-state-highlight").attr("aria-selected",
+"true");a.p.selarrrow.push(this.id);a.p.selrow=this.id;if(c){b("#jqg_"+b.jgrid.jqID(a.p.id)+"_"+b.jgrid.jqID(this.id),a.grid.fbDiv)[a.p.useProp?"prop":"attr"]("checked",true);b("#"+b.jgrid.jqID(this.id),a.grid.fbDiv).addClass("ui-state-highlight")}}});Y=true;ga=[]}else{b(a.rows).each(function(d){if(d>0&&!b(this).hasClass("ui-subgrid")&&!b(this).hasClass("ui-state-disabled")){b("#jqg_"+b.jgrid.jqID(a.p.id)+"_"+b.jgrid.jqID(this.id))[a.p.useProp?"prop":"attr"]("checked",false);b(this).removeClass("ui-state-highlight").attr("aria-selected",
+"false");ga.push(this.id);if(c){b("#jqg_"+b.jgrid.jqID(a.p.id)+"_"+b.jgrid.jqID(this.id),a.grid.fbDiv)[a.p.useProp?"prop":"attr"]("checked",false);b("#"+b.jgrid.jqID(this.id),a.grid.fbDiv).removeClass("ui-state-highlight")}}});a.p.selrow=null;Y=false}b(a).triggerHandler("jqGridSelectAll",[Y?a.p.selarrrow:ga,Y]);b.isFunction(a.p.onSelectAll)&&a.p.onSelectAll.call(a,Y?a.p.selarrrow:ga,Y)})}!0===a.p.autowidth&&(B=b(l).innerWidth(),a.p.width=0<B?B:"nw");(function(){var d=0,e=b.jgrid.cell_width?0:o(a.p.cellLayout,
+0),g=0,f,h=o(a.p.scrollOffset,0),i,k=false,l,m=0,n;b.each(a.p.colModel,function(){if(this.hidden===void 0)this.hidden=false;if(a.p.grouping&&a.p.autowidth){var c=b.inArray(this.name,a.p.groupingView.groupField);if(c>=0&&a.p.groupingView.groupColumnShow.length>c)this.hidden=!a.p.groupingView.groupColumnShow[c]}this.widthOrg=i=o(this.width,0);if(this.hidden===false){d=d+(i+e);this.fixed?m=m+(i+e):g++}});if(isNaN(a.p.width))a.p.width=d+(a.p.shrinkToFit===false&&!isNaN(a.p.height)?h:0);c.width=a.p.width;
+a.p.tblwidth=d;if(a.p.shrinkToFit===false&&a.p.forceFit===true)a.p.forceFit=false;if(a.p.shrinkToFit===true&&g>0){l=c.width-e*g-m;if(!isNaN(a.p.height)){l=l-h;k=true}d=0;b.each(a.p.colModel,function(b){if(this.hidden===false&&!this.fixed){this.width=i=Math.round(l*this.width/(a.p.tblwidth-e*g-m));d=d+i;f=b}});n=0;k?c.width-m-(d+e*g)!==h&&(n=c.width-m-(d+e*g)-h):!k&&Math.abs(c.width-m-(d+e*g))!==1&&(n=c.width-m-(d+e*g));a.p.colModel[f].width=a.p.colModel[f].width+n;a.p.tblwidth=d+n+e*g+m;if(a.p.tblwidth>
+a.p.width){a.p.colModel[f].width=a.p.colModel[f].width-(a.p.tblwidth-parseInt(a.p.width,10));a.p.tblwidth=a.p.width}}})();b(l).css("width",c.width+"px").append("<div class='ui-jqgrid-resize-mark' id='rs_m"+a.p.id+"'> </div>");b(i).css("width",c.width+"px");var B=b("thead:first",a).get(0),Q="";a.p.footerrow&&(Q+="<table role='grid' style='width:"+a.p.tblwidth+"px' class='ui-jqgrid-ftable' cellspacing='0' cellpadding='0' border='0'><tbody><tr role='row' class='ui-widget-content footrow footrow-"+
+f+"'>");var i=b("tr:first",B),Z="<tr class='jqgfirstrow' role='row' style='height:auto'>";a.p.disableClick=!1;b("th",i).each(function(d){da=a.p.colModel[d].width;if(a.p.colModel[d].resizable===void 0)a.p.colModel[d].resizable=true;if(a.p.colModel[d].resizable){ea=document.createElement("span");b(ea).html(" ").addClass("ui-jqgrid-resize ui-jqgrid-resize-"+f).css("cursor","col-resize");b(this).addClass(a.p.resizeclass)}else ea="";b(this).css("width",da+"px").prepend(ea);var e="";if(a.p.colModel[d].hidden){b(this).css("display",
+"none");e="display:none;"}Z=Z+("<td role='gridcell' style='height:0px;width:"+da+"px;"+e+"'></td>");c.headers[d]={width:da,el:this};fa=a.p.colModel[d].sortable;if(typeof fa!=="boolean")fa=a.p.colModel[d].sortable=true;e=a.p.colModel[d].name;e==="cb"||e==="subgrid"||e==="rn"||a.p.viewsortcols[2]&&b(">div",this).addClass("ui-jqgrid-sortable");if(fa)if(a.p.multiSort)if(a.p.viewsortcols[0]){b("div span.s-ico",this).show();a.p.colModel[d].lso&&b("div span.ui-icon-"+a.p.colModel[d].lso,this).removeClass("ui-state-disabled")}else{if(a.p.colModel[d].lso){b("div span.s-ico",
+this).show();b("div span.ui-icon-"+a.p.colModel[d].lso,this).removeClass("ui-state-disabled")}}else if(a.p.viewsortcols[0]){b("div span.s-ico",this).show();d===a.p.lastsort&&b("div span.ui-icon-"+a.p.sortorder,this).removeClass("ui-state-disabled")}else if(d===a.p.lastsort){b("div span.s-ico",this).show();b("div span.ui-icon-"+a.p.sortorder,this).removeClass("ui-state-disabled")}a.p.footerrow&&(Q=Q+("<td role='gridcell' "+n(d,0,"",null,"",false)+"> </td>"))}).mousedown(function(d){if(b(d.target).closest("th>span.ui-jqgrid-resize").length===
+1){var e=ma(this);if(a.p.forceFit===true){var g=a.p,f=e,h;for(h=e+1;h<a.p.colModel.length;h++)if(a.p.colModel[h].hidden!==true){f=h;break}g.nv=f-e}c.dragStart(e,d,sa(e));return false}}).click(function(c){if(a.p.disableClick)return a.p.disableClick=false;var d="th>div.ui-jqgrid-sortable",e,g;a.p.viewsortcols[2]||(d="th>div>span>span.ui-grid-ico-sort");c=b(c.target).closest(d);if(c.length===1){var f;if(a.p.frozenColumns){var h=b(this)[0].id.substring(5);b(a.p.colModel).each(function(a){if(this.name===
+h){f=a;return false}})}else f=ma(this);if(!a.p.viewsortcols[2]){e=true;g=c.attr("sort")}f!=null&&la(b("div",this)[0].id,f,e,g,this);return false}});if(a.p.sortable&&b.fn.sortable)try{b(a).jqGrid("sortableColumns",i)}catch(xa){}a.p.footerrow&&(Q+="</tr></tbody></table>");Z+="</tr>";this.appendChild(document.createElement("tbody"));b(this).addClass("ui-jqgrid-btable").append(Z);var Z=null,i=b("<table class='ui-jqgrid-htable' style='width:"+a.p.tblwidth+"px' role='grid' aria-labelledby='gbox_"+this.id+
+"' cellspacing='0' cellpadding='0' border='0'></table>").append(B),H=a.p.caption&&!0===a.p.hiddengrid?!0:!1;g=b("<div class='ui-jqgrid-hbox"+("rtl"===f?"-rtl":"")+"'></div>");B=null;c.hDiv=document.createElement("div");b(c.hDiv).css({width:c.width+"px"}).addClass("ui-state-default ui-jqgrid-hdiv").append(g);b(g).append(i);i=null;H&&b(c.hDiv).hide();a.p.pager&&("string"===typeof a.p.pager?"#"!==a.p.pager.substr(0,1)&&(a.p.pager="#"+a.p.pager):a.p.pager="#"+b(a.p.pager).attr("id"),b(a.p.pager).css({width:c.width+
+"px"}).addClass("ui-state-default ui-jqgrid-pager ui-corner-bottom").appendTo(l),H&&b(a.p.pager).hide(),ka(a.p.pager,""));!1===a.p.cellEdit&&!0===a.p.hoverrows&&b(a).bind("mouseover",function(a){p=b(a.target).closest("tr.jqgrow");b(p).attr("class")!=="ui-subgrid"&&b(p).addClass("ui-state-hover")}).bind("mouseout",function(a){p=b(a.target).closest("tr.jqgrow");b(p).removeClass("ui-state-hover")});var w,I,ha;b(a).before(c.hDiv).click(function(c){v=c.target;p=b(v,a.rows).closest("tr.jqgrow");if(b(p).length===
+0||p[0].className.indexOf("ui-state-disabled")>-1||(b(v,a).closest("table.ui-jqgrid-btable").attr("id")||"").replace("_frozen","")!==a.id)return this;var d=b(v).hasClass("cbox"),e=b(a).triggerHandler("jqGridBeforeSelectRow",[p[0].id,c]);(e=e===false||e==="stop"?false:true)&&b.isFunction(a.p.beforeSelectRow)&&(e=a.p.beforeSelectRow.call(a,p[0].id,c));if(!(v.tagName==="A"||(v.tagName==="INPUT"||v.tagName==="TEXTAREA"||v.tagName==="OPTION"||v.tagName==="SELECT")&&!d)&&e===true){w=p[0].id;I=b.jgrid.getCellIndex(v);
+ha=b(v).closest("td,th").html();b(a).triggerHandler("jqGridCellSelect",[w,I,ha,c]);b.isFunction(a.p.onCellSelect)&&a.p.onCellSelect.call(a,w,I,ha,c);if(a.p.cellEdit===true)if(a.p.multiselect&&d)b(a).jqGrid("setSelection",w,true,c);else{w=p[0].rowIndex;try{b(a).jqGrid("editCell",w,I,true)}catch(g){}}else if(a.p.multikey)if(c[a.p.multikey])b(a).jqGrid("setSelection",w,true,c);else{if(a.p.multiselect&&d){d=b("#jqg_"+b.jgrid.jqID(a.p.id)+"_"+w).is(":checked");b("#jqg_"+b.jgrid.jqID(a.p.id)+"_"+w)[a.p.useProp?
+"prop":"attr"]("checked",d)}}else{if(a.p.multiselect&&a.p.multiboxonly&&!d){var f=a.p.frozenColumns?a.p.id+"_frozen":"";b(a.p.selarrrow).each(function(c,d){var e=a.rows.namedItem(d);b(e).removeClass("ui-state-highlight");b("#jqg_"+b.jgrid.jqID(a.p.id)+"_"+b.jgrid.jqID(d))[a.p.useProp?"prop":"attr"]("checked",false);if(f){b("#"+b.jgrid.jqID(d),"#"+b.jgrid.jqID(f)).removeClass("ui-state-highlight");b("#jqg_"+b.jgrid.jqID(a.p.id)+"_"+b.jgrid.jqID(d),"#"+b.jgrid.jqID(f))[a.p.useProp?"prop":"attr"]("checked",
+false)}});a.p.selarrrow=[]}b(a).jqGrid("setSelection",w,true,c)}}}).bind("reloadGrid",function(c,d){if(a.p.treeGrid===true)a.p.datatype=a.p.treedatatype;d&&d.current&&a.grid.selectionPreserver(a);if(a.p.datatype==="local"){b(a).jqGrid("resetSelection");a.p.data.length&&N()}else if(!a.p.treeGrid){a.p.selrow=null;if(a.p.multiselect){a.p.selarrrow=[];ca(false)}a.p.savedRow=[]}a.p.scroll&&V.call(a,true,false);if(d&&d.page){var e=d.page;if(e>a.p.lastpage)e=a.p.lastpage;e<1&&(e=1);a.p.page=e;a.grid.bDiv.scrollTop=
+a.grid.prevRowHeight?(e-1)*a.grid.prevRowHeight*a.p.rowNum:0}if(a.grid.prevRowHeight&&a.p.scroll){delete a.p.lastpage;a.grid.populateVisible()}else a.grid.populate();a.p._inlinenav===true&&b(a).jqGrid("showAddEditButtons");return false}).dblclick(function(c){v=c.target;p=b(v,a.rows).closest("tr.jqgrow");if(b(p).length!==0){w=p[0].rowIndex;I=b.jgrid.getCellIndex(v);b(a).triggerHandler("jqGridDblClickRow",[b(p).attr("id"),w,I,c]);b.isFunction(a.p.ondblClickRow)&&a.p.ondblClickRow.call(a,b(p).attr("id"),
+w,I,c)}}).bind("contextmenu",function(c){v=c.target;p=b(v,a.rows).closest("tr.jqgrow");if(b(p).length!==0){a.p.multiselect||b(a).jqGrid("setSelection",p[0].id,true,c);w=p[0].rowIndex;I=b.jgrid.getCellIndex(v);b(a).triggerHandler("jqGridRightClickRow",[b(p).attr("id"),w,I,c]);b.isFunction(a.p.onRightClickRow)&&a.p.onRightClickRow.call(a,b(p).attr("id"),w,I,c)}});c.bDiv=document.createElement("div");k&&"auto"===(""+a.p.height).toLowerCase()&&(a.p.height="100%");b(c.bDiv).append(b('<div style="position:relative;'+
+(k&&8>b.jgrid.msiever()?"height:0.01%;":"")+'"></div>').append("<div></div>").append(this)).addClass("ui-jqgrid-bdiv").css({height:a.p.height+(isNaN(a.p.height)?"":"px"),width:c.width+"px"}).scroll(c.scrollGrid);b("table:first",c.bDiv).css({width:a.p.tblwidth+"px"});b.support.tbody||2===b("tbody",this).length&&b("tbody:gt(0)",this).remove();a.p.multikey&&(b.jgrid.msie?b(c.bDiv).bind("selectstart",function(){return false}):b(c.bDiv).bind("mousedown",function(){return false}));H&&b(c.bDiv).hide();c.cDiv=
+document.createElement("div");var ia=!0===a.p.hidegrid?b("<a role='link' href='javascript:void(0)'/>").addClass("ui-jqgrid-titlebar-close HeaderButton").hover(function(){ia.addClass("ui-state-hover")},function(){ia.removeClass("ui-state-hover")}).append("<span class='ui-icon ui-icon-circle-triangle-n'></span>").css("rtl"===f?"left":"right","0px"):"";b(c.cDiv).append(ia).append("<span class='ui-jqgrid-title"+("rtl"===f?"-rtl":"")+"'>"+a.p.caption+"</span>").addClass("ui-jqgrid-titlebar ui-widget-header ui-corner-top ui-helper-clearfix");
+b(c.cDiv).insertBefore(c.hDiv);a.p.toolbar[0]&&(c.uDiv=document.createElement("div"),"top"===a.p.toolbar[1]?b(c.uDiv).insertBefore(c.hDiv):"bottom"===a.p.toolbar[1]&&b(c.uDiv).insertAfter(c.hDiv),"both"===a.p.toolbar[1]?(c.ubDiv=document.createElement("div"),b(c.uDiv).addClass("ui-userdata ui-state-default").attr("id","t_"+this.id).insertBefore(c.hDiv),b(c.ubDiv).addClass("ui-userdata ui-state-default").attr("id","tb_"+this.id).insertAfter(c.hDiv),H&&b(c.ubDiv).hide()):b(c.uDiv).width(c.width).addClass("ui-userdata ui-state-default").attr("id",
+"t_"+this.id),H&&b(c.uDiv).hide());a.p.toppager&&(a.p.toppager=b.jgrid.jqID(a.p.id)+"_toppager",c.topDiv=b("<div id='"+a.p.toppager+"'></div>")[0],a.p.toppager="#"+a.p.toppager,b(c.topDiv).addClass("ui-state-default ui-jqgrid-toppager").width(c.width).insertBefore(c.hDiv),ka(a.p.toppager,"_t"));a.p.footerrow&&(c.sDiv=b("<div class='ui-jqgrid-sdiv'></div>")[0],g=b("<div class='ui-jqgrid-hbox"+("rtl"===f?"-rtl":"")+"'></div>"),b(c.sDiv).append(g).width(c.width).insertAfter(c.hDiv),b(g).append(Q),c.footers=
+b(".ui-jqgrid-ftable",c.sDiv)[0].rows[0].cells,a.p.rownumbers&&(c.footers[0].className="ui-state-default jqgrid-rownum"),H&&b(c.sDiv).hide());g=null;if(a.p.caption){var ta=a.p.datatype;!0===a.p.hidegrid&&(b(".ui-jqgrid-titlebar-close",c.cDiv).click(function(d){var e=b.isFunction(a.p.onHeaderClick),g=".ui-jqgrid-bdiv, .ui-jqgrid-hdiv, .ui-jqgrid-pager, .ui-jqgrid-sdiv",f,h=this;if(a.p.toolbar[0]===true){a.p.toolbar[1]==="both"&&(g=g+(", #"+b(c.ubDiv).attr("id")));g=g+(", #"+b(c.uDiv).attr("id"))}f=
+b(g,"#gview_"+b.jgrid.jqID(a.p.id)).length;a.p.gridstate==="visible"?b(g,"#gbox_"+b.jgrid.jqID(a.p.id)).slideUp("fast",function(){f--;if(f===0){b("span",h).removeClass("ui-icon-circle-triangle-n").addClass("ui-icon-circle-triangle-s");a.p.gridstate="hidden";b("#gbox_"+b.jgrid.jqID(a.p.id)).hasClass("ui-resizable")&&b(".ui-resizable-handle","#gbox_"+b.jgrid.jqID(a.p.id)).hide();b(a).triggerHandler("jqGridHeaderClick",[a.p.gridstate,d]);e&&(H||a.p.onHeaderClick.call(a,a.p.gridstate,d))}}):a.p.gridstate===
+"hidden"&&b(g,"#gbox_"+b.jgrid.jqID(a.p.id)).slideDown("fast",function(){f--;if(f===0){b("span",h).removeClass("ui-icon-circle-triangle-s").addClass("ui-icon-circle-triangle-n");if(H){a.p.datatype=ta;O();H=false}a.p.gridstate="visible";b("#gbox_"+b.jgrid.jqID(a.p.id)).hasClass("ui-resizable")&&b(".ui-resizable-handle","#gbox_"+b.jgrid.jqID(a.p.id)).show();b(a).triggerHandler("jqGridHeaderClick",[a.p.gridstate,d]);e&&(H||a.p.onHeaderClick.call(a,a.p.gridstate,d))}});return false}),H&&(a.p.datatype=
+"local",b(".ui-jqgrid-titlebar-close",c.cDiv).trigger("click")))}else b(c.cDiv).hide();b(c.hDiv).after(c.bDiv).mousemove(function(a){if(c.resizing){c.dragMove(a);return false}});b(".ui-jqgrid-labels",c.hDiv).bind("selectstart",function(){return false});b(document).mouseup(function(){if(c.resizing){c.dragEnd();return false}return true});a.formatCol=n;a.sortData=la;a.updatepager=function(c,d){var e,g,f,h,i,j,k,l="",m=a.p.pager?"_"+b.jgrid.jqID(a.p.pager.substr(1)):"",n=a.p.toppager?"_"+a.p.toppager.substr(1):
+"";f=parseInt(a.p.page,10)-1;f<0&&(f=0);f=f*parseInt(a.p.rowNum,10);i=f+a.p.reccount;if(a.p.scroll){e=b("tbody:first > tr:gt(0)",a.grid.bDiv);f=i-e.length;a.p.reccount=e.length;if(e=e.outerHeight()||a.grid.prevRowHeight){g=f*e;k=parseInt(a.p.records,10)*e;b(">div:first",a.grid.bDiv).css({height:k}).children("div:first").css({height:g,display:g?"":"none"});if(a.grid.bDiv.scrollTop==0&&a.p.page>1)a.grid.bDiv.scrollTop=a.p.rowNum*(a.p.page-1)*e}a.grid.bDiv.scrollLeft=a.grid.hDiv.scrollLeft}l=a.p.pager||
+"";if(l=l+(a.p.toppager?l?","+a.p.toppager:a.p.toppager:"")){k=b.jgrid.formatter.integer||{};e=o(a.p.page);g=o(a.p.lastpage);b(".selbox",l)[this.p.useProp?"prop":"attr"]("disabled",false);if(a.p.pginput===true){b(".ui-pg-input",l).val(a.p.page);h=a.p.toppager?"#sp_1"+m+",#sp_1"+n:"#sp_1"+m;b(h).html(b.fmatter?b.fmatter.util.NumberFormat(a.p.lastpage,k):a.p.lastpage)}if(a.p.viewrecords)if(a.p.reccount===0)b(".ui-paging-info",l).html(a.p.emptyrecords);else{h=f+1;j=a.p.records;if(b.fmatter){h=b.fmatter.util.NumberFormat(h,
+k);i=b.fmatter.util.NumberFormat(i,k);j=b.fmatter.util.NumberFormat(j,k)}b(".ui-paging-info",l).html(b.jgrid.format(a.p.recordtext,h,i,j))}if(a.p.pgbuttons===true){e<=0&&(e=g=0);if(e===1||e===0){b("#first"+m+", #prev"+m).addClass("ui-state-disabled").removeClass("ui-state-hover");a.p.toppager&&b("#first_t"+n+", #prev_t"+n).addClass("ui-state-disabled").removeClass("ui-state-hover")}else{b("#first"+m+", #prev"+m).removeClass("ui-state-disabled");a.p.toppager&&b("#first_t"+n+", #prev_t"+n).removeClass("ui-state-disabled")}if(e===
+g||e===0){b("#next"+m+", #last"+m).addClass("ui-state-disabled").removeClass("ui-state-hover");a.p.toppager&&b("#next_t"+n+", #last_t"+n).addClass("ui-state-disabled").removeClass("ui-state-hover")}else{b("#next"+m+", #last"+m).removeClass("ui-state-disabled");a.p.toppager&&b("#next_t"+n+", #last_t"+n).removeClass("ui-state-disabled")}}}c===true&&a.p.rownumbers===true&&b(">td.jqgrid-rownum",a.rows).each(function(a){b(this).html(f+1+a)});d&&a.p.jqgdnd&&b(a).jqGrid("gridDnD","updateDnD");b(a).triggerHandler("jqGridGridComplete");
+b.isFunction(a.p.gridComplete)&&a.p.gridComplete.call(a);b(a).triggerHandler("jqGridAfterGridComplete")};a.refreshIndex=N;a.setHeadCheckBox=ca;a.constructTr=X;a.formatter=function(a,b,c,d,e){return t(a,b,c,d,e)};b.extend(c,{populate:O,emptyRows:V});this.grid=c;a.addXmlData=function(b){J(b,a.grid.bDiv)};a.addJSONData=function(b){S(b,a.grid.bDiv)};this.grid.cols=this.rows[0].cells;b(a).triggerHandler("jqGridInitGrid");b.isFunction(a.p.onInitGrid)&&a.p.onInitGrid.call(a);O();a.p.hiddengrid=!1}}}})};
+b.jgrid.extend({getGridParam:function(b){var f=this[0];return!f||!f.grid?void 0:!b?f.p:void 0!==f.p[b]?f.p[b]:null},setGridParam:function(d){return this.each(function(){this.grid&&"object"===typeof d&&b.extend(!0,this.p,d)})},getDataIDs:function(){var d=[],f=0,c,e=0;this.each(function(){if((c=this.rows.length)&&0<c)for(;f<c;)b(this.rows[f]).hasClass("jqgrow")&&(d[e]=this.rows[f].id,e++),f++});return d},setSelection:function(d,f,c){return this.each(function(){var e,a,j,g,h,i;if(void 0!==d&&(f=!1===
+f?!1:!0,(a=this.rows.namedItem(""+d))&&a.className&&!(-1<a.className.indexOf("ui-state-disabled"))))if(!0===this.p.scrollrows&&(j=this.rows.namedItem(d).rowIndex,0<=j&&(e=b(this.grid.bDiv)[0].clientHeight,g=b(this.grid.bDiv)[0].scrollTop,h=b(this.rows[j]).position().top,j=this.rows[j].clientHeight,h+j>=e+g?b(this.grid.bDiv)[0].scrollTop=h-(e+g)+j+g:h<e+g&&h<g&&(b(this.grid.bDiv)[0].scrollTop=h))),!0===this.p.frozenColumns&&(i=this.p.id+"_frozen"),this.p.multiselect){if(this.setHeadCheckBox(!1),this.p.selrow=
+a.id,g=b.inArray(this.p.selrow,this.p.selarrrow),-1===g?("ui-subgrid"!==a.className&&b(a).addClass("ui-state-highlight").attr("aria-selected","true"),e=!0,this.p.selarrrow.push(this.p.selrow)):("ui-subgrid"!==a.className&&b(a).removeClass("ui-state-highlight").attr("aria-selected","false"),e=!1,this.p.selarrrow.splice(g,1),h=this.p.selarrrow[0],this.p.selrow=void 0===h?null:h),b("#jqg_"+b.jgrid.jqID(this.p.id)+"_"+b.jgrid.jqID(a.id))[this.p.useProp?"prop":"attr"]("checked",e),i&&(-1===g?b("#"+b.jgrid.jqID(d),
+"#"+b.jgrid.jqID(i)).addClass("ui-state-highlight"):b("#"+b.jgrid.jqID(d),"#"+b.jgrid.jqID(i)).removeClass("ui-state-highlight"),b("#jqg_"+b.jgrid.jqID(this.p.id)+"_"+b.jgrid.jqID(d),"#"+b.jgrid.jqID(i))[this.p.useProp?"prop":"attr"]("checked",e)),f)b(this).triggerHandler("jqGridSelectRow",[a.id,e,c]),this.p.onSelectRow&&this.p.onSelectRow.call(this,a.id,e,c)}else if("ui-subgrid"!==a.className&&(this.p.selrow!==a.id?(b(this.rows.namedItem(this.p.selrow)).removeClass("ui-state-highlight").attr({"aria-selected":"false",
+tabindex:"-1"}),b(a).addClass("ui-state-highlight").attr({"aria-selected":"true",tabindex:"0"}),i&&(b("#"+b.jgrid.jqID(this.p.selrow),"#"+b.jgrid.jqID(i)).removeClass("ui-state-highlight"),b("#"+b.jgrid.jqID(d),"#"+b.jgrid.jqID(i)).addClass("ui-state-highlight")),e=!0):e=!1,this.p.selrow=a.id,f))b(this).triggerHandler("jqGridSelectRow",[a.id,e,c]),this.p.onSelectRow&&this.p.onSelectRow.call(this,a.id,e,c)})},resetSelection:function(d){return this.each(function(){var f=this,c,e,a;!0===f.p.frozenColumns&&
+(a=f.p.id+"_frozen");if(void 0!==d){e=d===f.p.selrow?f.p.selrow:d;b("#"+b.jgrid.jqID(f.p.id)+" tbody:first tr#"+b.jgrid.jqID(e)).removeClass("ui-state-highlight").attr("aria-selected","false");a&&b("#"+b.jgrid.jqID(e),"#"+b.jgrid.jqID(a)).removeClass("ui-state-highlight");if(f.p.multiselect){b("#jqg_"+b.jgrid.jqID(f.p.id)+"_"+b.jgrid.jqID(e),"#"+b.jgrid.jqID(f.p.id))[f.p.useProp?"prop":"attr"]("checked",!1);if(a)b("#jqg_"+b.jgrid.jqID(f.p.id)+"_"+b.jgrid.jqID(e),"#"+b.jgrid.jqID(a))[f.p.useProp?"prop":
+"attr"]("checked",!1);f.setHeadCheckBox(!1)}e=null}else f.p.multiselect?(b(f.p.selarrrow).each(function(d,e){c=f.rows.namedItem(e);b(c).removeClass("ui-state-highlight").attr("aria-selected","false");b("#jqg_"+b.jgrid.jqID(f.p.id)+"_"+b.jgrid.jqID(e))[f.p.useProp?"prop":"attr"]("checked",!1);a&&(b("#"+b.jgrid.jqID(e),"#"+b.jgrid.jqID(a)).removeClass("ui-state-highlight"),b("#jqg_"+b.jgrid.jqID(f.p.id)+"_"+b.jgrid.jqID(e),"#"+b.jgrid.jqID(a))[f.p.useProp?"prop":"attr"]("checked",!1))}),f.setHeadCheckBox(!1),
+f.p.selarrrow=[]):f.p.selrow&&(b("#"+b.jgrid.jqID(f.p.id)+" tbody:first tr#"+b.jgrid.jqID(f.p.selrow)).removeClass("ui-state-highlight").attr("aria-selected","false"),a&&b("#"+b.jgrid.jqID(f.p.selrow),"#"+b.jgrid.jqID(a)).removeClass("ui-state-highlight"),f.p.selrow=null);!0===f.p.cellEdit&&0<=parseInt(f.p.iCol,10)&&0<=parseInt(f.p.iRow,10)&&(b("td:eq("+f.p.iCol+")",f.rows[f.p.iRow]).removeClass("edit-cell ui-state-highlight"),b(f.rows[f.p.iRow]).removeClass("selected-row ui-state-hover"));f.p.savedRow=
+[]})},getRowData:function(d){var f={},c,e=!1,a,j=0;this.each(function(){var g=this,h,i;if(void 0===d)e=!0,c=[],a=g.rows.length;else{i=g.rows.namedItem(d);if(!i)return f;a=2}for(;j<a;)e&&(i=g.rows[j]),b(i).hasClass("jqgrow")&&(b('td[role="gridcell"]',i).each(function(a){h=g.p.colModel[a].name;if("cb"!==h&&"subgrid"!==h&&"rn"!==h)if(!0===g.p.treeGrid&&h===g.p.ExpandColumn)f[h]=b.jgrid.htmlDecode(b("span:first",this).html());else try{f[h]=b.unformat.call(g,this,{rowId:i.id,colModel:g.p.colModel[a]},
+a)}catch(c){f[h]=b.jgrid.htmlDecode(b(this).html())}}),e&&(c.push(f),f={})),j++});return c||f},delRowData:function(d){var f=!1,c,e;this.each(function(){c=this.rows.namedItem(d);if(!c)return!1;b(c).remove();this.p.records--;this.p.reccount--;this.updatepager(!0,!1);f=!0;this.p.multiselect&&(e=b.inArray(d,this.p.selarrrow),-1!==e&&this.p.selarrrow.splice(e,1));this.p.selrow=this.p.multiselect&&0<this.p.selarrrow.length?this.p.selarrrow[this.p.selarrrow.length-1]:null;if("local"===this.p.datatype){var a=
+this.p._index[b.jgrid.stripPref(this.p.idPrefix,d)];void 0!==a&&(this.p.data.splice(a,1),this.refreshIndex())}if(!0===this.p.altRows&&f){var j=this.p.altclass;b(this.rows).each(function(a){a%2===1?b(this).addClass(j):b(this).removeClass(j)})}});return f},setRowData:function(d,f,c){var e,a=!0,j;this.each(function(){if(!this.grid)return!1;var g=this,h,i,k=typeof c,l={};i=g.rows.namedItem(d);if(!i)return!1;if(f)try{if(b(this.p.colModel).each(function(a){e=this.name;var c=b.jgrid.getAccessor(f,e);void 0!==
+c&&(l[e]=this.formatter&&"string"===typeof this.formatter&&"date"===this.formatter?b.unformat.date.call(g,c,this):c,h=g.formatter(d,c,a,f,"edit"),j=this.title?{title:b.jgrid.stripHtml(h)}:{},!0===g.p.treeGrid&&e===g.p.ExpandColumn?b("td[role='gridcell']:eq("+a+") > span:first",i).html(h).attr(j):b("td[role='gridcell']:eq("+a+")",i).html(h).attr(j))}),"local"===g.p.datatype){var o=b.jgrid.stripPref(g.p.idPrefix,d),n=g.p._index[o],m;if(g.p.treeGrid)for(m in g.p.treeReader)g.p.treeReader.hasOwnProperty(m)&&
+delete l[g.p.treeReader[m]];void 0!==n&&(g.p.data[n]=b.extend(!0,g.p.data[n],l));l=null}}catch(t){a=!1}a&&("string"===k?b(i).addClass(c):"object"===k&&b(i).css(c),b(g).triggerHandler("jqGridAfterGridComplete"))});return a},addRowData:function(d,f,c,e){c||(c="last");var a=!1,j,g,h,i,k,l,o,n,m="",t,A,T,M,$,U;f&&(b.isArray(f)?(t=!0,c="last",A=d):(f=[f],t=!1),this.each(function(){var V=f.length;k=this.p.rownumbers===true?1:0;h=this.p.multiselect===true?1:0;i=this.p.subGrid===true?1:0;if(!t)if(d!==void 0)d=
+""+d;else{d=b.jgrid.randId();if(this.p.keyIndex!==false){A=this.p.colModel[this.p.keyIndex+h+i+k].name;f[0][A]!==void 0&&(d=f[0][A])}}T=this.p.altclass;for(var N=0,X="",J={},S=b.isFunction(this.p.afterInsertRow)?true:false;N<V;){M=f[N];g=[];if(t){try{d=M[A];d===void 0&&(d=b.jgrid.randId())}catch(ja){d=b.jgrid.randId()}X=this.p.altRows===true?(this.rows.length-1)%2===0?T:"":""}U=d;d=this.p.idPrefix+d;if(k){m=this.formatCol(0,1,"",null,d,true);g[g.length]='<td role="gridcell" class="ui-state-default jqgrid-rownum" '+
+m+">0</td>"}if(h){n='<input role="checkbox" type="checkbox" id="jqg_'+this.p.id+"_"+d+'" class="cbox"/>';m=this.formatCol(k,1,"",null,d,true);g[g.length]='<td role="gridcell" '+m+">"+n+"</td>"}i&&(g[g.length]=b(this).jqGrid("addSubGridCell",h+k,1));for(o=h+i+k;o<this.p.colModel.length;o++){$=this.p.colModel[o];j=$.name;J[j]=M[j];n=this.formatter(d,b.jgrid.getAccessor(M,j),o,M);m=this.formatCol(o,1,n,M,d,J);g[g.length]='<td role="gridcell" '+m+">"+n+"</td>"}g.unshift(this.constructTr(d,false,X,J,M,
+false));g[g.length]="</tr>";if(this.rows.length===0)b("table:first",this.grid.bDiv).append(g.join(""));else switch(c){case "last":b(this.rows[this.rows.length-1]).after(g.join(""));l=this.rows.length-1;break;case "first":b(this.rows[0]).after(g.join(""));l=1;break;case "after":(l=this.rows.namedItem(e))&&(b(this.rows[l.rowIndex+1]).hasClass("ui-subgrid")?b(this.rows[l.rowIndex+1]).after(g):b(l).after(g.join("")));l++;break;case "before":if(l=this.rows.namedItem(e)){b(l).before(g.join(""));l=l.rowIndex}l--}this.p.subGrid===
+true&&b(this).jqGrid("addSubGrid",h+k,l);this.p.records++;this.p.reccount++;b(this).triggerHandler("jqGridAfterInsertRow",[d,M,M]);S&&this.p.afterInsertRow.call(this,d,M,M);N++;if(this.p.datatype==="local"){J[this.p.localReader.id]=U;this.p._index[U]=this.p.data.length;this.p.data.push(J);J={}}}this.p.altRows===true&&!t&&(c==="last"?(this.rows.length-1)%2===1&&b(this.rows[this.rows.length-1]).addClass(T):b(this.rows).each(function(a){a%2===1?b(this).addClass(T):b(this).removeClass(T)}));this.updatepager(true,
+true);a=true}));return a},footerData:function(d,f,c){function e(a){for(var b in a)if(a.hasOwnProperty(b))return!1;return!0}var a,j=!1,g={},h;void 0===d&&(d="get");"boolean"!==typeof c&&(c=!0);d=d.toLowerCase();this.each(function(){var i=this,k;if(!i.grid||!i.p.footerrow||"set"===d&&e(f))return!1;j=!0;b(this.p.colModel).each(function(e){a=this.name;"set"===d?void 0!==f[a]&&(k=c?i.formatter("",f[a],e,f,"edit"):f[a],h=this.title?{title:b.jgrid.stripHtml(k)}:{},b("tr.footrow td:eq("+e+")",i.grid.sDiv).html(k).attr(h),
+j=!0):"get"===d&&(g[a]=b("tr.footrow td:eq("+e+")",i.grid.sDiv).html())})});return"get"===d?g:j},showHideCol:function(d,f){return this.each(function(){var c=this,e=!1,a=b.jgrid.cell_width?0:c.p.cellLayout,j;if(c.grid){"string"===typeof d&&(d=[d]);f="none"!==f?"":"none";var g=""===f?!0:!1,h=c.p.groupHeader&&("object"===typeof c.p.groupHeader||b.isFunction(c.p.groupHeader));h&&b(c).jqGrid("destroyGroupHeader",!1);b(this.p.colModel).each(function(h){if(-1!==b.inArray(this.name,d)&&this.hidden===g){if(!0===
+c.p.frozenColumns&&!0===this.frozen)return!0;b("tr",c.grid.hDiv).each(function(){b(this.cells[h]).css("display",f)});b(c.rows).each(function(){b(this).hasClass("jqgroup")||b(this.cells[h]).css("display",f)});c.p.footerrow&&b("tr.footrow td:eq("+h+")",c.grid.sDiv).css("display",f);j=parseInt(this.width,10);c.p.tblwidth="none"===f?c.p.tblwidth-(j+a):c.p.tblwidth+(j+a);this.hidden=!g;e=!0;b(c).triggerHandler("jqGridShowHideCol",[g,this.name,h])}});!0===e&&(!0===c.p.shrinkToFit&&!isNaN(c.p.height)&&(c.p.tblwidth+=
+parseInt(c.p.scrollOffset,10)),b(c).jqGrid("setGridWidth",!0===c.p.shrinkToFit?c.p.tblwidth:c.p.width));h&&b(c).jqGrid("setGroupHeaders",c.p.groupHeader)}})},hideCol:function(d){return this.each(function(){b(this).jqGrid("showHideCol",d,"none")})},showCol:function(d){return this.each(function(){b(this).jqGrid("showHideCol",d,"")})},remapColumns:function(d,f,c){function e(a){var c;c=a.length?b.makeArray(a):b.extend({},a);b.each(d,function(b){a[b]=c[this]})}function a(a,c){b(">tr"+(c||""),a).each(function(){var a=
+this,c=b.makeArray(a.cells);b.each(d,function(){var b=c[this];b&&a.appendChild(b)})})}var j=this.get(0);e(j.p.colModel);e(j.p.colNames);e(j.grid.headers);a(b("thead:first",j.grid.hDiv),c&&":not(.ui-jqgrid-labels)");f&&a(b("#"+b.jgrid.jqID(j.p.id)+" tbody:first"),".jqgfirstrow, tr.jqgrow, tr.jqfoot");j.p.footerrow&&a(b("tbody:first",j.grid.sDiv));j.p.remapColumns&&(j.p.remapColumns.length?e(j.p.remapColumns):j.p.remapColumns=b.makeArray(d));j.p.lastsort=b.inArray(j.p.lastsort,d);j.p.treeGrid&&(j.p.expColInd=
+b.inArray(j.p.expColInd,d));b(j).triggerHandler("jqGridRemapColumns",[d,f,c])},setGridWidth:function(d,f){return this.each(function(){if(this.grid){var c=this,e,a=0,j=b.jgrid.cell_width?0:c.p.cellLayout,g,h=0,i=!1,k=c.p.scrollOffset,l,o=0,n;"boolean"!==typeof f&&(f=c.p.shrinkToFit);if(!isNaN(d)){d=parseInt(d,10);c.grid.width=c.p.width=d;b("#gbox_"+b.jgrid.jqID(c.p.id)).css("width",d+"px");b("#gview_"+b.jgrid.jqID(c.p.id)).css("width",d+"px");b(c.grid.bDiv).css("width",d+"px");b(c.grid.hDiv).css("width",
+d+"px");c.p.pager&&b(c.p.pager).css("width",d+"px");c.p.toppager&&b(c.p.toppager).css("width",d+"px");!0===c.p.toolbar[0]&&(b(c.grid.uDiv).css("width",d+"px"),"both"===c.p.toolbar[1]&&b(c.grid.ubDiv).css("width",d+"px"));c.p.footerrow&&b(c.grid.sDiv).css("width",d+"px");!1===f&&!0===c.p.forceFit&&(c.p.forceFit=!1);if(!0===f){b.each(c.p.colModel,function(){if(this.hidden===false){e=this.widthOrg;a=a+(e+j);this.fixed?o=o+(e+j):h++}});if(0===h)return;c.p.tblwidth=a;l=d-j*h-o;if(!isNaN(c.p.height)&&(b(c.grid.bDiv)[0].clientHeight<
+b(c.grid.bDiv)[0].scrollHeight||1===c.rows.length))i=!0,l-=k;var a=0,m=0<c.grid.cols.length;b.each(c.p.colModel,function(b){if(this.hidden===false&&!this.fixed){e=this.widthOrg;e=Math.round(l*e/(c.p.tblwidth-j*h-o));if(!(e<0)){this.width=e;a=a+e;c.grid.headers[b].width=e;c.grid.headers[b].el.style.width=e+"px";if(c.p.footerrow)c.grid.footers[b].style.width=e+"px";if(m)c.grid.cols[b].style.width=e+"px";g=b}}});if(!g)return;n=0;i?d-o-(a+j*h)!==k&&(n=d-o-(a+j*h)-k):1!==Math.abs(d-o-(a+j*h))&&(n=d-o-
+(a+j*h));c.p.colModel[g].width+=n;c.p.tblwidth=a+n+j*h+o;c.p.tblwidth>d?(i=c.p.tblwidth-parseInt(d,10),c.p.tblwidth=d,e=c.p.colModel[g].width-=i):e=c.p.colModel[g].width;c.grid.headers[g].width=e;c.grid.headers[g].el.style.width=e+"px";m&&(c.grid.cols[g].style.width=e+"px");c.p.footerrow&&(c.grid.footers[g].style.width=e+"px")}c.p.tblwidth&&(b("table:first",c.grid.bDiv).css("width",c.p.tblwidth+"px"),b("table:first",c.grid.hDiv).css("width",c.p.tblwidth+"px"),c.grid.hDiv.scrollLeft=c.grid.bDiv.scrollLeft,
+c.p.footerrow&&b("table:first",c.grid.sDiv).css("width",c.p.tblwidth+"px"))}}})},setGridHeight:function(d){return this.each(function(){if(this.grid){var f=b(this.grid.bDiv);f.css({height:d+(isNaN(d)?"":"px")});!0===this.p.frozenColumns&&b("#"+b.jgrid.jqID(this.p.id)+"_frozen").parent().height(f.height()-16);this.p.height=d;this.p.scroll&&this.grid.populateVisible()}})},setCaption:function(d){return this.each(function(){this.p.caption=d;b("span.ui-jqgrid-title, span.ui-jqgrid-title-rtl",this.grid.cDiv).html(d);
+b(this.grid.cDiv).show()})},setLabel:function(d,f,c,e){return this.each(function(){var a=-1;if(this.grid&&void 0!==d&&(b(this.p.colModel).each(function(b){if(this.name===d)return a=b,!1}),0<=a)){var j=b("tr.ui-jqgrid-labels th:eq("+a+")",this.grid.hDiv);if(f){var g=b(".s-ico",j);b("[id^=jqgh_]",j).empty().html(f).append(g);this.p.colNames[a]=f}c&&("string"===typeof c?b(j).addClass(c):b(j).css(c));"object"===typeof e&&b(j).attr(e)}})},setCell:function(d,f,c,e,a,j){return this.each(function(){var g=
+-1,h,i;if(this.grid&&(isNaN(f)?b(this.p.colModel).each(function(a){if(this.name===f)return g=a,!1}):g=parseInt(f,10),0<=g&&(h=this.rows.namedItem(d)))){var k=b("td:eq("+g+")",h);if(""!==c||!0===j)h=this.formatter(d,c,g,h,"edit"),i=this.p.colModel[g].title?{title:b.jgrid.stripHtml(h)}:{},this.p.treeGrid&&0<b(".tree-wrap",b(k)).length?b("span",b(k)).html(h).attr(i):b(k).html(h).attr(i),"local"===this.p.datatype&&(h=this.p.colModel[g],c=h.formatter&&"string"===typeof h.formatter&&"date"===h.formatter?
+b.unformat.date.call(this,c,h):c,i=this.p._index[b.jgrid.stripPref(this.p.idPrefix,d)],void 0!==i&&(this.p.data[i][h.name]=c));"string"===typeof e?b(k).addClass(e):e&&b(k).css(e);"object"===typeof a&&b(k).attr(a)}})},getCell:function(d,f){var c=!1;this.each(function(){var e=-1;if(this.grid&&(isNaN(f)?b(this.p.colModel).each(function(a){if(this.name===f)return e=a,!1}):e=parseInt(f,10),0<=e)){var a=this.rows.namedItem(d);if(a)try{c=b.unformat.call(this,b("td:eq("+e+")",a),{rowId:a.id,colModel:this.p.colModel[e]},
+e)}catch(j){c=b.jgrid.htmlDecode(b("td:eq("+e+")",a).html())}}});return c},getCol:function(d,f,c){var e=[],a,j=0,g,h,i,f="boolean"!==typeof f?!1:f;void 0===c&&(c=!1);this.each(function(){var k=-1;if(this.grid&&(isNaN(d)?b(this.p.colModel).each(function(a){if(this.name===d)return k=a,!1}):k=parseInt(d,10),0<=k)){var l=this.rows.length,o=0;if(l&&0<l){for(;o<l;){if(b(this.rows[o]).hasClass("jqgrow")){try{a=b.unformat.call(this,b(this.rows[o].cells[k]),{rowId:this.rows[o].id,colModel:this.p.colModel[k]},
+k)}catch(n){a=b.jgrid.htmlDecode(this.rows[o].cells[k].innerHTML)}c?(i=parseFloat(a),j+=i,void 0===h&&(h=g=i),g=Math.min(g,i),h=Math.max(h,i)):f?e.push({id:this.rows[o].id,value:a}):e.push(a)}o++}if(c)switch(c.toLowerCase()){case "sum":e=j;break;case "avg":e=j/l;break;case "count":e=l;break;case "min":e=g;break;case "max":e=h}}}});return e},clearGridData:function(d){return this.each(function(){if(this.grid){"boolean"!==typeof d&&(d=!1);if(this.p.deepempty)b("#"+b.jgrid.jqID(this.p.id)+" tbody:first tr:gt(0)").remove();
+else{var f=b("#"+b.jgrid.jqID(this.p.id)+" tbody:first tr:first")[0];b("#"+b.jgrid.jqID(this.p.id)+" tbody:first").empty().append(f)}this.p.footerrow&&d&&b(".ui-jqgrid-ftable td",this.grid.sDiv).html(" ");this.p.selrow=null;this.p.selarrrow=[];this.p.savedRow=[];this.p.records=0;this.p.page=1;this.p.lastpage=0;this.p.reccount=0;this.p.data=[];this.p._index={};this.updatepager(!0,!1)}})},getInd:function(b,f){var c=!1,e;this.each(function(){(e=this.rows.namedItem(b))&&(c=!0===f?e:e.rowIndex)});
+return c},bindKeys:function(d){var f=b.extend({onEnter:null,onSpace:null,onLeftKey:null,onRightKey:null,scrollingRows:!0},d||{});return this.each(function(){var c=this;b("body").is("[role]")||b("body").attr("role","application");c.p.scrollrows=f.scrollingRows;b(c).keydown(function(d){var a=b(c).find("tr[tabindex=0]")[0],j,g,h,i=c.p.treeReader.expanded_field;if(a)if(h=c.p._index[b.jgrid.stripPref(c.p.idPrefix,a.id)],37===d.keyCode||38===d.keyCode||39===d.keyCode||40===d.keyCode){if(38===d.keyCode){g=
+a.previousSibling;j="";if(g)if(b(g).is(":hidden"))for(;g;){if(g=g.previousSibling,!b(g).is(":hidden")&&b(g).hasClass("jqgrow")){j=g.id;break}}else j=g.id;b(c).jqGrid("setSelection",j,!0,d);d.preventDefault()}if(40===d.keyCode){g=a.nextSibling;j="";if(g)if(b(g).is(":hidden"))for(;g;){if(g=g.nextSibling,!b(g).is(":hidden")&&b(g).hasClass("jqgrow")){j=g.id;break}}else j=g.id;b(c).jqGrid("setSelection",j,!0,d);d.preventDefault()}37===d.keyCode&&(c.p.treeGrid&&c.p.data[h][i]&&b(a).find("div.treeclick").trigger("click"),
+b(c).triggerHandler("jqGridKeyLeft",[c.p.selrow]),b.isFunction(f.onLeftKey)&&f.onLeftKey.call(c,c.p.selrow));39===d.keyCode&&(c.p.treeGrid&&!c.p.data[h][i]&&b(a).find("div.treeclick").trigger("click"),b(c).triggerHandler("jqGridKeyRight",[c.p.selrow]),b.isFunction(f.onRightKey)&&f.onRightKey.call(c,c.p.selrow))}else 13===d.keyCode?(b(c).triggerHandler("jqGridKeyEnter",[c.p.selrow]),b.isFunction(f.onEnter)&&f.onEnter.call(c,c.p.selrow)):32===d.keyCode&&(b(c).triggerHandler("jqGridKeySpace",[c.p.selrow]),
+b.isFunction(f.onSpace)&&f.onSpace.call(c,c.p.selrow))})})},unbindKeys:function(){return this.each(function(){b(this).unbind("keydown")})},getLocalRow:function(d){var f=!1,c;this.each(function(){void 0!==d&&(c=this.p._index[b.jgrid.stripPref(this.p.idPrefix,d)],0<=c&&(f=this.p.data[c]))});return f}})})(jQuery);
+(function(a){a.fmatter={};a.extend(a.fmatter,{isBoolean:function(a){return"boolean"===typeof a},isObject:function(c){return c&&("object"===typeof c||a.isFunction(c))||!1},isString:function(a){return"string"===typeof a},isNumber:function(a){return"number"===typeof a&&isFinite(a)},isValue:function(a){return this.isObject(a)||this.isString(a)||this.isNumber(a)||this.isBoolean(a)},isEmpty:function(c){if(!this.isString(c)&&this.isValue(c))return!1;if(!this.isValue(c))return!0;c=a.trim(c).replace(/\ \;/ig,
+"").replace(/\ \;/ig,"");return""===c}});a.fn.fmatter=function(c,b,d,e,f){var g=b,d=a.extend({},a.jgrid.formatter,d);try{g=a.fn.fmatter[c].call(this,b,d,e,f)}catch(h){}return g};a.fmatter.util={NumberFormat:function(c,b){a.fmatter.isNumber(c)||(c*=1);if(a.fmatter.isNumber(c)){var d=0>c,e=""+c,f=b.decimalSeparator||".",g;if(a.fmatter.isNumber(b.decimalPlaces)){var h=b.decimalPlaces,e=Math.pow(10,h),e=""+Math.round(c*e)/e;g=e.lastIndexOf(".");if(0<h){0>g?(e+=f,g=e.length-1):"."!==f&&(e=e.replace(".",
+f));for(;e.length-1-g<h;)e+="0"}}if(b.thousandsSeparator){h=b.thousandsSeparator;g=e.lastIndexOf(f);g=-1<g?g:e.length;var f=e.substring(g),j=-1,i;for(i=g;0<i;i--){j++;if(0===j%3&&i!==g&&(!d||1<i))f=h+f;f=e.charAt(i-1)+f}e=f}e=b.prefix?b.prefix+e:e;return e=b.suffix?e+b.suffix:e}return c}};a.fn.fmatter.defaultFormat=function(c,b){return a.fmatter.isValue(c)&&""!==c?c:b.defaultValue||" "};a.fn.fmatter.email=function(c,b){return!a.fmatter.isEmpty(c)?'<a href="mailto:'+c+'">'+c+"</a>":a.fn.fmatter.defaultFormat(c,
+b)};a.fn.fmatter.checkbox=function(c,b){var d=a.extend({},b.checkbox),e;void 0!==b.colModel&&void 0!==b.colModel.formatoptions&&(d=a.extend({},d,b.colModel.formatoptions));e=!0===d.disabled?'disabled="disabled"':"";if(a.fmatter.isEmpty(c)||void 0===c)c=a.fn.fmatter.defaultFormat(c,d);c=(""+c).toLowerCase();return'<input type="checkbox" '+(0>c.search(/(false|f|0|no|n|off|undefined)/i)?" checked='checked' ":"")+' value="'+c+'" offval="no" '+e+"/>"};a.fn.fmatter.link=function(c,b){var d={target:b.target},
+e="";void 0!==b.colModel&&void 0!==b.colModel.formatoptions&&(d=a.extend({},d,b.colModel.formatoptions));d.target&&(e="target="+d.target);return!a.fmatter.isEmpty(c)?"<a "+e+' href="'+c+'">'+c+"</a>":a.fn.fmatter.defaultFormat(c,b)};a.fn.fmatter.showlink=function(c,b){var d={baseLinkUrl:b.baseLinkUrl,showAction:b.showAction,addParam:b.addParam||"",target:b.target,idName:b.idName},e="";void 0!==b.colModel&&void 0!==b.colModel.formatoptions&&(d=a.extend({},d,b.colModel.formatoptions));d.target&&(e=
+"target="+d.target);d=d.baseLinkUrl+d.showAction+"?"+d.idName+"="+b.rowId+d.addParam;return a.fmatter.isString(c)||a.fmatter.isNumber(c)?"<a "+e+' href="'+d+'">'+c+"</a>":a.fn.fmatter.defaultFormat(c,b)};a.fn.fmatter.integer=function(c,b){var d=a.extend({},b.integer);void 0!==b.colModel&&void 0!==b.colModel.formatoptions&&(d=a.extend({},d,b.colModel.formatoptions));return a.fmatter.isEmpty(c)?d.defaultValue:a.fmatter.util.NumberFormat(c,d)};a.fn.fmatter.number=function(c,b){var d=a.extend({},b.number);
+void 0!==b.colModel&&void 0!==b.colModel.formatoptions&&(d=a.extend({},d,b.colModel.formatoptions));return a.fmatter.isEmpty(c)?d.defaultValue:a.fmatter.util.NumberFormat(c,d)};a.fn.fmatter.currency=function(c,b){var d=a.extend({},b.currency);void 0!==b.colModel&&void 0!==b.colModel.formatoptions&&(d=a.extend({},d,b.colModel.formatoptions));return a.fmatter.isEmpty(c)?d.defaultValue:a.fmatter.util.NumberFormat(c,d)};a.fn.fmatter.date=function(c,b,d,e){d=a.extend({},b.date);void 0!==b.colModel&&void 0!==
+b.colModel.formatoptions&&(d=a.extend({},d,b.colModel.formatoptions));return!d.reformatAfterEdit&&"edit"===e?a.fn.fmatter.defaultFormat(c,b):!a.fmatter.isEmpty(c)?a.jgrid.parseDate(d.srcformat,c,d.newformat,d):a.fn.fmatter.defaultFormat(c,b)};a.fn.fmatter.select=function(c,b){var c=""+c,d=!1,e=[],f,g;void 0!==b.colModel.formatoptions?(d=b.colModel.formatoptions.value,f=void 0===b.colModel.formatoptions.separator?":":b.colModel.formatoptions.separator,g=void 0===b.colModel.formatoptions.delimiter?
+";":b.colModel.formatoptions.delimiter):void 0!==b.colModel.editoptions&&(d=b.colModel.editoptions.value,f=void 0===b.colModel.editoptions.separator?":":b.colModel.editoptions.separator,g=void 0===b.colModel.editoptions.delimiter?";":b.colModel.editoptions.delimiter);if(d){var h=!0===b.colModel.editoptions.multiple?!0:!1,j=[];h&&(j=c.split(","),j=a.map(j,function(b){return a.trim(b)}));if(a.fmatter.isString(d)){var i=d.split(g),k=0,l;for(l=0;l<i.length;l++)if(g=i[l].split(f),2<g.length&&(g[1]=a.map(g,
+function(a,b){if(b>0)return a}).join(f)),h)-1<a.inArray(g[0],j)&&(e[k]=g[1],k++);else if(a.trim(g[0])===a.trim(c)){e[0]=g[1];break}}else a.fmatter.isObject(d)&&(h?e=a.map(j,function(a){return d[a]}):e[0]=d[c]||"")}c=e.join(", ");return""===c?a.fn.fmatter.defaultFormat(c,b):c};a.fn.fmatter.rowactions=function(c){var b=a(this).closest("tr.jqgrow"),d=b.attr("id"),e=a(this).closest("table.ui-jqgrid-btable").attr("id").replace(/_frozen([^_]*)$/,"$1"),e=a("#"+e),f=e[0],g=f.p,h=g.colModel[a.jgrid.getCellIndex(this)],
+j=h.frozen?a("tr#"+d+" td:eq("+a.jgrid.getCellIndex(this)+") > div",e):a(this).parent(),i={keys:!1,onEdit:null,onSuccess:null,afterSave:null,onError:null,afterRestore:null,extraparam:{},url:null,restoreAfterError:!0,mtype:"POST",delOptions:{},editOptions:{}},k=function(b){a.isFunction(i.afterRestore)&&i.afterRestore.call(f,b);j.find("div.ui-inline-edit,div.ui-inline-del").show();j.find("div.ui-inline-save,div.ui-inline-cancel").hide()};void 0!==h.formatoptions&&(i=a.extend(i,h.formatoptions));void 0!==
+g.editOptions&&(i.editOptions=g.editOptions);void 0!==g.delOptions&&(i.delOptions=g.delOptions);b.hasClass("jqgrid-new-row")&&(i.extraparam[g.prmNames.oper]=g.prmNames.addoper);b={keys:i.keys,oneditfunc:i.onEdit,successfunc:i.onSuccess,url:i.url,extraparam:i.extraparam,aftersavefunc:function(b,c){a.isFunction(i.afterSave)&&i.afterSave.call(f,b,c);j.find("div.ui-inline-edit,div.ui-inline-del").show();j.find("div.ui-inline-save,div.ui-inline-cancel").hide()},errorfunc:i.onError,afterrestorefunc:k,restoreAfterError:i.restoreAfterError,
+mtype:i.mtype};switch(c){case "edit":e.jqGrid("editRow",d,b);j.find("div.ui-inline-edit,div.ui-inline-del").hide();j.find("div.ui-inline-save,div.ui-inline-cancel").show();e.triggerHandler("jqGridAfterGridComplete");break;case "save":e.jqGrid("saveRow",d,b)&&(j.find("div.ui-inline-edit,div.ui-inline-del").show(),j.find("div.ui-inline-save,div.ui-inline-cancel").hide(),e.triggerHandler("jqGridAfterGridComplete"));break;case "cancel":e.jqGrid("restoreRow",d,k);j.find("div.ui-inline-edit,div.ui-inline-del").show();
+j.find("div.ui-inline-save,div.ui-inline-cancel").hide();e.triggerHandler("jqGridAfterGridComplete");break;case "del":e.jqGrid("delGridRow",d,i.delOptions);break;case "formedit":e.jqGrid("setSelection",d),e.jqGrid("editGridRow",d,i.editOptions)}};a.fn.fmatter.actions=function(c,b){var d={keys:!1,editbutton:!0,delbutton:!0,editformbutton:!1},e=b.rowId,f="";void 0!==b.colModel.formatoptions&&(d=a.extend(d,b.colModel.formatoptions));if(void 0===e||a.fmatter.isEmpty(e))return"";d.editformbutton?f+="<div title='"+
+a.jgrid.nav.edittitle+"' style='float:left;cursor:pointer;' class='ui-pg-div ui-inline-edit' "+("id='jEditButton_"+e+"' onclick=jQuery.fn.fmatter.rowactions.call(this,'formedit'); onmouseover=jQuery(this).addClass('ui-state-hover'); onmouseout=jQuery(this).removeClass('ui-state-hover'); ")+"><span class='ui-icon ui-icon-pencil'></span></div>":d.editbutton&&(f+="<div title='"+a.jgrid.nav.edittitle+"' style='float:left;cursor:pointer;' class='ui-pg-div ui-inline-edit' "+("id='jEditButton_"+e+"' onclick=jQuery.fn.fmatter.rowactions.call(this,'edit'); onmouseover=jQuery(this).addClass('ui-state-hover'); onmouseout=jQuery(this).removeClass('ui-state-hover') ")+
+"><span class='ui-icon ui-icon-pencil'></span></div>");d.delbutton&&(f+="<div title='"+a.jgrid.nav.deltitle+"' style='float:left;margin-left:5px;' class='ui-pg-div ui-inline-del' "+("id='jDeleteButton_"+e+"' onclick=jQuery.fn.fmatter.rowactions.call(this,'del'); onmouseover=jQuery(this).addClass('ui-state-hover'); onmouseout=jQuery(this).removeClass('ui-state-hover'); ")+"><span class='ui-icon ui-icon-trash'></span></div>");f+="<div title='"+a.jgrid.edit.bSubmit+"' style='float:left;display:none' class='ui-pg-div ui-inline-save' "+
+("id='jSaveButton_"+e+"' onclick=jQuery.fn.fmatter.rowactions.call(this,'save'); onmouseover=jQuery(this).addClass('ui-state-hover'); onmouseout=jQuery(this).removeClass('ui-state-hover'); ")+"><span class='ui-icon ui-icon-disk'></span></div>";f+="<div title='"+a.jgrid.edit.bCancel+"' style='float:left;display:none;margin-left:5px;' class='ui-pg-div ui-inline-cancel' "+("id='jCancelButton_"+e+"' onclick=jQuery.fn.fmatter.rowactions.call(this,'cancel'); onmouseover=jQuery(this).addClass('ui-state-hover'); onmouseout=jQuery(this).removeClass('ui-state-hover'); ")+
+"><span class='ui-icon ui-icon-cancel'></span></div>";return"<div style='margin-left:8px;'>"+f+"</div>"};a.unformat=function(c,b,d,e){var f,g=b.colModel.formatter,h=b.colModel.formatoptions||{},j=/([\.\*\_\'\(\)\{\}\+\?\\])/g,i=b.colModel.unformat||a.fn.fmatter[g]&&a.fn.fmatter[g].unformat;if(void 0!==i&&a.isFunction(i))f=i.call(this,a(c).text(),b,c);else if(void 0!==g&&a.fmatter.isString(g))switch(f=a.jgrid.formatter||{},g){case "integer":h=a.extend({},f.integer,h);b=h.thousandsSeparator.replace(j,
+"\\$1");f=a(c).text().replace(RegExp(b,"g"),"");break;case "number":h=a.extend({},f.number,h);b=h.thousandsSeparator.replace(j,"\\$1");f=a(c).text().replace(RegExp(b,"g"),"").replace(h.decimalSeparator,".");break;case "currency":h=a.extend({},f.currency,h);b=h.thousandsSeparator.replace(j,"\\$1");b=RegExp(b,"g");f=a(c).text();h.prefix&&h.prefix.length&&(f=f.substr(h.prefix.length));h.suffix&&h.suffix.length&&(f=f.substr(0,f.length-h.suffix.length));f=f.replace(b,"").replace(h.decimalSeparator,".");
+break;case "checkbox":h=b.colModel.editoptions?b.colModel.editoptions.value.split(":"):["Yes","No"];f=a("input",c).is(":checked")?h[0]:h[1];break;case "select":f=a.unformat.select(c,b,d,e);break;case "actions":return"";default:f=a(c).text()}return void 0!==f?f:!0===e?a(c).text():a.jgrid.htmlDecode(a(c).html())};a.unformat.select=function(c,b,d,e){d=[];c=a(c).text();if(!0===e)return c;var e=a.extend({},void 0!==b.colModel.formatoptions?b.colModel.formatoptions:b.colModel.editoptions),b=void 0===e.separator?
+":":e.separator,f=void 0===e.delimiter?";":e.delimiter;if(e.value){var g=e.value,e=!0===e.multiple?!0:!1,h=[];e&&(h=c.split(","),h=a.map(h,function(b){return a.trim(b)}));if(a.fmatter.isString(g)){var j=g.split(f),i=0,k;for(k=0;k<j.length;k++)if(f=j[k].split(b),2<f.length&&(f[1]=a.map(f,function(a,b){if(b>0)return a}).join(b)),e)-1<a.inArray(f[1],h)&&(d[i]=f[0],i++);else if(a.trim(f[1])===a.trim(c)){d[0]=f[0];break}}else if(a.fmatter.isObject(g)||a.isArray(g))e||(h[0]=c),d=a.map(h,function(b){var c;
+a.each(g,function(a,d){if(d===b){c=a;return false}});if(c!==void 0)return c});return d.join(", ")}return c||""};a.unformat.date=function(c,b){var d=a.jgrid.formatter.date||{};void 0!==b.formatoptions&&(d=a.extend({},d,b.formatoptions));return!a.fmatter.isEmpty(c)?a.jgrid.parseDate(d.newformat,c,d.srcformat,d):a.fn.fmatter.defaultFormat(c,b)}})(jQuery);
+(function(a){a.jgrid.extend({getColProp:function(a){var c={},f=this[0];if(!f.grid)return!1;var f=f.p.colModel,g;for(g=0;g<f.length;g++)if(f[g].name===a){c=f[g];break}return c},setColProp:function(b,c){return this.each(function(){if(this.grid&&c){var f=this.p.colModel,g;for(g=0;g<f.length;g++)if(f[g].name===b){a.extend(!0,this.p.colModel[g],c);break}}})},sortGrid:function(a,c,f){return this.each(function(){var g=-1,j;if(this.grid){a||(a=this.p.sortname);for(j=0;j<this.p.colModel.length;j++)if(this.p.colModel[j].index===
+a||this.p.colModel[j].name===a){g=j;break}-1!==g&&(j=this.p.colModel[g].sortable,"boolean"!==typeof j&&(j=!0),"boolean"!==typeof c&&(c=!1),j&&this.sortData("jqgh_"+this.p.id+"_"+a,g,c,f))}})},clearBeforeUnload:function(){return this.each(function(){var b=this.grid;b.emptyRows.call(this,!0,!0);a(b.hDiv).unbind("mousemove");a(this).unbind();b.dragEnd=null;b.dragMove=null;b.dragStart=null;b.emptyRows=null;b.populate=null;b.populateVisible=null;b.scrollGrid=null;b.selectionPreserver=null;b.bDiv=null;
+b.cDiv=null;b.hDiv=null;b.cols=null;var c,f=b.headers.length;for(c=0;c<f;c++)b.headers[c].el=null;this.addJSONData=this.addXmlData=this.formatter=this.constructTr=this.setHeadCheckBox=this.refreshIndex=this.updatepager=this.sortData=this.formatCol=null})},GridDestroy:function(){return this.each(function(){if(this.grid){this.p.pager&&a(this.p.pager).remove();try{a(this).jqGrid("clearBeforeUnload"),a("#gbox_"+a.jgrid.jqID(this.id)).remove()}catch(b){}}})},GridUnload:function(){return this.each(function(){if(this.grid){var b=
+a(this).attr("id"),c=a(this).attr("class");this.p.pager&&a(this.p.pager).empty().removeClass("ui-state-default ui-jqgrid-pager corner-bottom");var f=document.createElement("table");a(f).attr({id:b});f.className=c;b=a.jgrid.jqID(this.id);a(f).removeClass("ui-jqgrid-btable");1===a(this.p.pager).parents("#gbox_"+b).length?(a(f).insertBefore("#gbox_"+b).show(),a(this.p.pager).insertBefore("#gbox_"+b)):a(f).insertBefore("#gbox_"+b).show();a(this).jqGrid("clearBeforeUnload");a("#gbox_"+b).remove()}})},
+setGridState:function(b){return this.each(function(){this.grid&&("hidden"===b?(a(".ui-jqgrid-bdiv, .ui-jqgrid-hdiv","#gview_"+a.jgrid.jqID(this.p.id)).slideUp("fast"),this.p.pager&&a(this.p.pager).slideUp("fast"),this.p.toppager&&a(this.p.toppager).slideUp("fast"),!0===this.p.toolbar[0]&&("both"===this.p.toolbar[1]&&a(this.grid.ubDiv).slideUp("fast"),a(this.grid.uDiv).slideUp("fast")),this.p.footerrow&&a(".ui-jqgrid-sdiv","#gbox_"+a.jgrid.jqID(this.p.id)).slideUp("fast"),a(".ui-jqgrid-titlebar-close span",
+this.grid.cDiv).removeClass("ui-icon-circle-triangle-n").addClass("ui-icon-circle-triangle-s"),this.p.gridstate="hidden"):"visible"===b&&(a(".ui-jqgrid-hdiv, .ui-jqgrid-bdiv","#gview_"+a.jgrid.jqID(this.p.id)).slideDown("fast"),this.p.pager&&a(this.p.pager).slideDown("fast"),this.p.toppager&&a(this.p.toppager).slideDown("fast"),!0===this.p.toolbar[0]&&("both"===this.p.toolbar[1]&&a(this.grid.ubDiv).slideDown("fast"),a(this.grid.uDiv).slideDown("fast")),this.p.footerrow&&a(".ui-jqgrid-sdiv","#gbox_"+
+a.jgrid.jqID(this.p.id)).slideDown("fast"),a(".ui-jqgrid-titlebar-close span",this.grid.cDiv).removeClass("ui-icon-circle-triangle-s").addClass("ui-icon-circle-triangle-n"),this.p.gridstate="visible"))})},filterToolbar:function(b){b=a.extend({autosearch:!0,searchOnEnter:!0,beforeSearch:null,afterSearch:null,beforeClear:null,afterClear:null,searchurl:"",stringResult:!1,groupOp:"AND",defaultSearch:"bw",searchOperators:!1,operandTitle:"Click to select search operation.",operands:{eq:"==",ne:"!",lt:"<",
+le:"<=",gt:">",ge:">=",bw:"^",bn:"!^","in":"=",ni:"!=",ew:"|",en:"!@",cn:"~",nc:"!~",nu:"#",nn:"!#"}},a.jgrid.search,b||{});return this.each(function(){var c=this;if(!this.ftoolbar){var f=function(){var e={},d=0,f,l,j={},n;a.each(c.p.colModel,function(){var i=a("#gs_"+a.jgrid.jqID(this.name),!0===this.frozen&&!0===c.p.frozenColumns?c.grid.fhDiv:c.grid.hDiv);l=this.index||this.name;n=b.searchOperators?i.parent().prev().children("a").attr("soper")||b.defaultSearch:this.searchoptions&&this.searchoptions.sopt?
+this.searchoptions.sopt[0]:"select"===this.stype?"eq":b.defaultSearch;if((f="custom"===this.stype&&a.isFunction(this.searchoptions.custom_value)&&0<i.length&&"SPAN"===i[0].nodeName.toUpperCase()?this.searchoptions.custom_value.call(c,i.children(".customelement:first"),"get"):i.val())||"nu"===n||"nn"===n)e[l]=f,j[l]=n,d++;else try{delete c.p.postData[l]}catch(k){}});var i=0<d?!0:!1;if(!0===b.stringResult||"local"===c.p.datatype){var k='{"groupOp":"'+b.groupOp+'","rules":[',h=0;a.each(e,function(a,
+b){0<h&&(k+=",");k+='{"field":"'+a+'",';k+='"op":"'+j[a]+'",';k+='"data":"'+(b+"").replace(/\\/g,"\\\\").replace(/\"/g,'\\"')+'"}';h++});k+="]}";a.extend(c.p.postData,{filters:k});a.each(["searchField","searchString","searchOper"],function(a,b){c.p.postData.hasOwnProperty(b)&&delete c.p.postData[b]})}else a.extend(c.p.postData,e);var g;c.p.searchurl&&(g=c.p.url,a(c).jqGrid("setGridParam",{url:c.p.searchurl}));var o="stop"===a(c).triggerHandler("jqGridToolbarBeforeSearch")?!0:!1;!o&&a.isFunction(b.beforeSearch)&&
+(o=b.beforeSearch.call(c));o||a(c).jqGrid("setGridParam",{search:i}).trigger("reloadGrid",[{page:1}]);g&&a(c).jqGrid("setGridParam",{url:g});a(c).triggerHandler("jqGridToolbarAfterSearch");a.isFunction(b.afterSearch)&&b.afterSearch.call(c)},g=function(e,d,j){a("#sopt_menu").remove();var d=parseInt(d,10),j=parseInt(j,10)+18,d='<ul id="sopt_menu" class="ui-search-menu" role="menu" tabindex="0" style="font-size:'+(a(".ui-jqgrid-view").css("font-size")||"11px")+";left:"+d+"px;top:"+j+'px;">',j=a(e).attr("soper"),
+l,h=[],n,i=0,k=a(e).attr("colname");for(l=c.p.colModel.length;i<l&&c.p.colModel[i].name!==k;)i++;i=c.p.colModel[i];k=a.extend({},i.searchoptions);k.sopt||(k.sopt=[],k.sopt[0]="select"===i.stype?"eq":b.defaultSearch);a.each(b.odata,function(){h.push(this.oper)});for(i=0;i<k.sopt.length;i++)n=a.inArray(k.sopt[i],h),-1!==n&&(l=j===b.odata[n].oper?"ui-state-highlight":"",d+='<li class="ui-menu-item '+l+'" role="presentation"><a class="ui-corner-all g-menu-item" tabindex="0" role="menuitem" value="'+b.odata[n].oper+
+'" oper="'+b.operands[b.odata[n].oper]+'"><table cellspacing="0" cellpadding="0" border="0"><tr><td width="25px">'+b.operands[b.odata[n].oper]+"</td><td>"+b.odata[n].text+"</td></tr></table></a></li>");a("body").append(d+"</ul>");a("#sopt_menu").addClass("ui-menu ui-widget ui-widget-content ui-corner-all");a("#sopt_menu > li > a").hover(function(){a(this).addClass("ui-state-hover")},function(){a(this).removeClass("ui-state-hover")}).click(function(){var d=a(this).attr("value"),i=a(this).attr("oper");
+a(c).triggerHandler("jqGridToolbarSelectOper",[d,i,e]);a("#sopt_menu").hide();a(e).text(i).attr("soper",d);if(b.autosearch===true){i=a(e).parent().next().children()[0];(a(i).val()||d==="nu"||d==="nn")&&f()}})},j=a("<tr class='ui-search-toolbar' role='rowheader'></tr>"),h;a.each(c.p.colModel,function(){var e=this,d,g;g="";var l="=",s,n=a("<th role='columnheader' class='ui-state-default ui-th-column ui-th-"+c.p.direction+"'></th>"),i=a("<div style='position:relative;height:100%;padding-right:0.3em;padding-left:0.3em;'></div>"),
+k=a("<table class='ui-search-table' cellspacing='0'><tr><td class='ui-search-oper'></td><td class='ui-search-input'></td></tr></table>");!0===this.hidden&&a(n).css("display","none");this.search=!1===this.search?!1:!0;void 0===this.stype&&(this.stype="text");d=a.extend({},this.searchoptions||{});if(this.search){if(b.searchOperators){g=d.sopt?d.sopt[0]:"select"===e.stype?"eq":b.defaultSearch;for(s=0;s<b.odata.length;s++)if(b.odata[s].oper===g){l=b.operands[g]||"";break}g="<a title='"+(null!=d.searchtitle?
+d.searchtitle:b.operandTitle)+"' style='padding-right: 0.5em;' soper='"+g+"' class='soptclass' colname='"+this.name+"'>"+l+"</a>"}a("td:eq(0)",k).append(g);switch(this.stype){case "select":if(g=this.surl||d.dataUrl)a.ajax(a.extend({url:g,dataType:"html",success:function(g){if(d.buildSelect!==void 0){if(g=d.buildSelect(g)){a("td:eq(1)",k).append(g);a(i).append(k)}}else{a("td:eq(1)",k).append(g);a(i).append(k)}d.defaultValue!==void 0&&a("select",i).val(d.defaultValue);a("select",i).attr({name:e.index||
+e.name,id:"gs_"+e.name});d.attr&&a("select",i).attr(d.attr);a("select",i).css({width:"100%"});a.jgrid.bindEv.call(c,a("select",i)[0],d);b.autosearch===true&&a("select",i).change(function(){f();return false});g=null}},a.jgrid.ajaxOptions,c.p.ajaxSelectOptions||{}));else{var m,r,o;e.searchoptions?(m=void 0===e.searchoptions.value?"":e.searchoptions.value,r=void 0===e.searchoptions.separator?":":e.searchoptions.separator,o=void 0===e.searchoptions.delimiter?";":e.searchoptions.delimiter):e.editoptions&&
+(m=void 0===e.editoptions.value?"":e.editoptions.value,r=void 0===e.editoptions.separator?":":e.editoptions.separator,o=void 0===e.editoptions.delimiter?";":e.editoptions.delimiter);if(m){l=document.createElement("select");l.style.width="100%";a(l).attr({name:e.index||e.name,id:"gs_"+e.name});var q;if("string"===typeof m){g=m.split(o);for(q=0;q<g.length;q++)m=g[q].split(r),o=document.createElement("option"),o.value=m[0],o.innerHTML=m[1],l.appendChild(o)}else if("object"===typeof m)for(q in m)m.hasOwnProperty(q)&&
+(o=document.createElement("option"),o.value=q,o.innerHTML=m[q],l.appendChild(o));void 0!==d.defaultValue&&a(l).val(d.defaultValue);d.attr&&a(l).attr(d.attr);a.jgrid.bindEv.call(c,l,d);a("td:eq(1)",k).append(l);a(i).append(k);!0===b.autosearch&&a(l).change(function(){f();return false})}}break;case "text":r=void 0!==d.defaultValue?d.defaultValue:"";a("td:eq(1)",k).append("<input type='text' style='width:100%;padding:0px;' name='"+(e.index||e.name)+"' id='gs_"+e.name+"' value='"+r+"'/>");a(i).append(k);
+d.attr&&a("input",i).attr(d.attr);a.jgrid.bindEv.call(c,a("input",i)[0],d);!0===b.autosearch&&(b.searchOnEnter?a("input",i).keypress(function(a){if((a.charCode||a.keyCode||0)===13){f();return false}return this}):a("input",i).keydown(function(a){switch(a.which){case 13:return false;case 9:case 16:case 37:case 38:case 39:case 40:case 27:break;default:h&&clearTimeout(h);h=setTimeout(function(){f()},500)}}));break;case "custom":a("td:eq(1)",k).append("<span style='width:95%;padding:0px;' name='"+(e.index||
+e.name)+"' id='gs_"+e.name+"'/>");a(i).append(k);try{if(a.isFunction(d.custom_element)){var u=d.custom_element.call(c,void 0!==d.defaultValue?d.defaultValue:"",d);if(u)u=a(u).addClass("customelement"),a(i).find(">span").append(u);else throw"e2";}else throw"e1";}catch(t){"e1"===t&&a.jgrid.info_dialog(a.jgrid.errors.errcap,"function 'custom_element' "+a.jgrid.edit.msg.nodefined,a.jgrid.edit.bClose),"e2"===t?a.jgrid.info_dialog(a.jgrid.errors.errcap,"function 'custom_element' "+a.jgrid.edit.msg.novalue,
+a.jgrid.edit.bClose):a.jgrid.info_dialog(a.jgrid.errors.errcap,"string"===typeof t?t:t.message,a.jgrid.edit.bClose)}}}a(n).append(i);a(j).append(n);b.searchOperators||a("td:eq(0)",k).hide()});a("table thead",c.grid.hDiv).append(j);b.searchOperators&&(a(".soptclass").click(function(b){var c=a(this).offset();g(this,c.left,c.top);b.stopPropagation()}),a("body").on("click",function(b){"soptclass"!==b.target.className&&a("#sopt_menu").hide()}));this.ftoolbar=!0;this.triggerToolbar=f;this.clearToolbar=
+function(e){var d={},f=0,g,e=typeof e!=="boolean"?true:e;a.each(c.p.colModel,function(){var b,e=a("#gs_"+a.jgrid.jqID(this.name),this.frozen===true&&c.p.frozenColumns===true?c.grid.fhDiv:c.grid.hDiv);if(this.searchoptions&&this.searchoptions.defaultValue!==void 0)b=this.searchoptions.defaultValue;g=this.index||this.name;switch(this.stype){case "select":e.find("option").each(function(c){if(c===0)this.selected=true;if(a(this).val()===b){this.selected=true;return false}});if(b!==void 0){d[g]=b;f++}else try{delete c.p.postData[g]}catch(i){}break;
+case "text":e.val(b);if(b!==void 0){d[g]=b;f++}else try{delete c.p.postData[g]}catch(h){}break;case "custom":a.isFunction(this.searchoptions.custom_value)&&e.length>0&&e[0].nodeName.toUpperCase()==="SPAN"&&this.searchoptions.custom_value.call(c,e.children(".customelement:first"),"set",b)}});var j=f>0?true:false;if(b.stringResult===true||c.p.datatype==="local"){var h='{"groupOp":"'+b.groupOp+'","rules":[',i=0;a.each(d,function(a,b){i>0&&(h=h+",");h=h+('{"field":"'+a+'",');h=h+'"op":"eq",';h=h+('"data":"'+
+(b+"").replace(/\\/g,"\\\\").replace(/\"/g,'\\"')+'"}');i++});h=h+"]}";a.extend(c.p.postData,{filters:h});a.each(["searchField","searchString","searchOper"],function(a,b){c.p.postData.hasOwnProperty(b)&&delete c.p.postData[b]})}else a.extend(c.p.postData,d);var k;if(c.p.searchurl){k=c.p.url;a(c).jqGrid("setGridParam",{url:c.p.searchurl})}var m=a(c).triggerHandler("jqGridToolbarBeforeClear")==="stop"?true:false;!m&&a.isFunction(b.beforeClear)&&(m=b.beforeClear.call(c));m||e&&a(c).jqGrid("setGridParam",
+{search:j}).trigger("reloadGrid",[{page:1}]);k&&a(c).jqGrid("setGridParam",{url:k});a(c).triggerHandler("jqGridToolbarAfterClear");a.isFunction(b.afterClear)&&b.afterClear()};this.toggleToolbar=function(){var b=a("tr.ui-search-toolbar",c.grid.hDiv),d=c.p.frozenColumns===true?a("tr.ui-search-toolbar",c.grid.fhDiv):false;if(b.css("display")==="none"){b.show();d&&d.show()}else{b.hide();d&&d.hide()}}}})},destroyFilterToolbar:function(){return this.each(function(){this.ftoolbar&&(this.toggleToolbar=this.clearToolbar=
+this.triggerToolbar=null,this.ftoolbar=!1,a(this.grid.hDiv).find("table thead tr.ui-search-toolbar").remove())})},destroyGroupHeader:function(b){void 0===b&&(b=!0);return this.each(function(){var c,f,g,j,h,e;f=this.grid;var d=a("table.ui-jqgrid-htable thead",f.hDiv),p=this.p.colModel;if(f){a(this).unbind(".setGroupHeaders");c=a("<tr>",{role:"rowheader"}).addClass("ui-jqgrid-labels");j=f.headers;f=0;for(g=j.length;f<g;f++){h=p[f].hidden?"none":"";h=a(j[f].el).width(j[f].width).css("display",h);try{h.removeAttr("rowSpan")}catch(l){h.attr("rowSpan",
+1)}c.append(h);e=h.children("span.ui-jqgrid-resize");0<e.length&&(e[0].style.height="");h.children("div")[0].style.top=""}a(d).children("tr.ui-jqgrid-labels").remove();a(d).prepend(c);!0===b&&a(this).jqGrid("setGridParam",{groupHeader:null})}})},setGroupHeaders:function(b){b=a.extend({useColSpanStyle:!1,groupHeaders:[]},b||{});return this.each(function(){this.p.groupHeader=b;var c,f,g=0,j,h,e,d,p,l=this.p.colModel,s=l.length,n=this.grid.headers,i=a("table.ui-jqgrid-htable",this.grid.hDiv),k=i.children("thead").children("tr.ui-jqgrid-labels:last").addClass("jqg-second-row-header");
+j=i.children("thead");var m=i.find(".jqg-first-row-header");void 0===m[0]?m=a("<tr>",{role:"row","aria-hidden":"true"}).addClass("jqg-first-row-header").css("height","auto"):m.empty();var r,o=function(a,b){var c=b.length,d;for(d=0;d<c;d++)if(b[d].startColumnName===a)return d;return-1};a(this).prepend(j);j=a("<tr>",{role:"rowheader"}).addClass("ui-jqgrid-labels jqg-third-row-header");for(c=0;c<s;c++)if(e=n[c].el,d=a(e),f=l[c],h={height:"0px",width:n[c].width+"px",display:f.hidden?"none":""},a("<th>",
+{role:"gridcell"}).css(h).addClass("ui-first-th-"+this.p.direction).appendTo(m),e.style.width="",h=o(f.name,b.groupHeaders),0<=h){h=b.groupHeaders[h];g=h.numberOfColumns;p=h.titleText;for(h=f=0;h<g&&c+h<s;h++)l[c+h].hidden||f++;h=a("<th>").attr({role:"columnheader"}).addClass("ui-state-default ui-th-column-header ui-th-"+this.p.direction).css({height:"22px","border-top":"0px none"}).html(p);0<f&&h.attr("colspan",""+f);this.p.headertitles&&h.attr("title",h.text());0===f&&h.hide();d.before(h);j.append(e);
+g-=1}else 0===g?b.useColSpanStyle?d.attr("rowspan","2"):(a("<th>",{role:"columnheader"}).addClass("ui-state-default ui-th-column-header ui-th-"+this.p.direction).css({display:f.hidden?"none":"","border-top":"0px none"}).insertBefore(d),j.append(e)):(j.append(e),g--);l=a(this).children("thead");l.prepend(m);j.insertAfter(k);i.append(l);b.useColSpanStyle&&(i.find("span.ui-jqgrid-resize").each(function(){var b=a(this).parent();b.is(":visible")&&(this.style.cssText="height: "+b.height()+"px !important; cursor: col-resize;")}),
+i.find("div.ui-jqgrid-sortable").each(function(){var b=a(this),c=b.parent();c.is(":visible")&&c.is(":has(span.ui-jqgrid-resize)")&&b.css("top",(c.height()-b.outerHeight())/2+"px")}));r=l.find("tr.jqg-first-row-header");a(this).bind("jqGridResizeStop.setGroupHeaders",function(a,b,c){r.find("th").eq(c).width(b)})})},setFrozenColumns:function(){return this.each(function(){if(this.grid){var b=this,c=b.p.colModel,f=0,g=c.length,j=-1,h=!1;if(!(!0===b.p.subGrid||!0===b.p.treeGrid||!0===b.p.cellEdit||b.p.sortable||
+b.p.scroll||b.p.grouping)){b.p.rownumbers&&f++;for(b.p.multiselect&&f++;f<g;){if(!0===c[f].frozen)h=!0,j=f;else break;f++}if(0<=j&&h){c=b.p.caption?a(b.grid.cDiv).outerHeight():0;f=a(".ui-jqgrid-htable","#gview_"+a.jgrid.jqID(b.p.id)).height();b.p.toppager&&(c+=a(b.grid.topDiv).outerHeight());!0===b.p.toolbar[0]&&"bottom"!==b.p.toolbar[1]&&(c+=a(b.grid.uDiv).outerHeight());b.grid.fhDiv=a('<div style="position:absolute;left:0px;top:'+c+"px;height:"+f+'px;" class="frozen-div ui-state-default ui-jqgrid-hdiv"></div>');
+b.grid.fbDiv=a('<div style="position:absolute;left:0px;top:'+(parseInt(c,10)+parseInt(f,10)+1)+'px;overflow-y:hidden" class="frozen-bdiv ui-jqgrid-bdiv"></div>');a("#gview_"+a.jgrid.jqID(b.p.id)).append(b.grid.fhDiv);c=a(".ui-jqgrid-htable","#gview_"+a.jgrid.jqID(b.p.id)).clone(!0);if(b.p.groupHeader){a("tr.jqg-first-row-header, tr.jqg-third-row-header",c).each(function(){a("th:gt("+j+")",this).remove()});var e=-1,d=-1,p,l;a("tr.jqg-second-row-header th",c).each(function(){p=parseInt(a(this).attr("colspan"),
+10);if(l=parseInt(a(this).attr("rowspan"),10))e++,d++;p&&(e+=p,d++);if(e===j)return!1});e!==j&&(d=j);a("tr.jqg-second-row-header",c).each(function(){a("th:gt("+d+")",this).remove()})}else a("tr",c).each(function(){a("th:gt("+j+")",this).remove()});a(c).width(1);a(b.grid.fhDiv).append(c).mousemove(function(a){if(b.grid.resizing)return b.grid.dragMove(a),!1});a(b).bind("jqGridResizeStop.setFrozenColumns",function(c,d,e){c=a(".ui-jqgrid-htable",b.grid.fhDiv);a("th:eq("+e+")",c).width(d);c=a(".ui-jqgrid-btable",
+b.grid.fbDiv);a("tr:first td:eq("+e+")",c).width(d)});a(b).bind("jqGridOnSortCol.setFrozenColumns",function(c,d,e){c=a("tr.ui-jqgrid-labels:last th:eq("+b.p.lastsort+")",b.grid.fhDiv);d=a("tr.ui-jqgrid-labels:last th:eq("+e+")",b.grid.fhDiv);a("span.ui-grid-ico-sort",c).addClass("ui-state-disabled");a(c).attr("aria-selected","false");a("span.ui-icon-"+b.p.sortorder,d).removeClass("ui-state-disabled");a(d).attr("aria-selected","true");!b.p.viewsortcols[0]&&b.p.lastsort!==e&&(a("span.s-ico",c).hide(),
+a("span.s-ico",d).show())});a("#gview_"+a.jgrid.jqID(b.p.id)).append(b.grid.fbDiv);a(b.grid.bDiv).scroll(function(){a(b.grid.fbDiv).scrollTop(a(this).scrollTop())});!0===b.p.hoverrows&&a("#"+a.jgrid.jqID(b.p.id)).unbind("mouseover").unbind("mouseout");a(b).bind("jqGridAfterGridComplete.setFrozenColumns",function(){a("#"+a.jgrid.jqID(b.p.id)+"_frozen").remove();a(b.grid.fbDiv).height(a(b.grid.bDiv).height()-16);var c=a("#"+a.jgrid.jqID(b.p.id)).clone(!0);a("tr",c).each(function(){a("td:gt("+j+")",
+this).remove()});a(c).width(1).attr("id",b.p.id+"_frozen");a(b.grid.fbDiv).append(c);!0===b.p.hoverrows&&(a("tr.jqgrow",c).hover(function(){a(this).addClass("ui-state-hover");a("#"+a.jgrid.jqID(this.id),"#"+a.jgrid.jqID(b.p.id)).addClass("ui-state-hover")},function(){a(this).removeClass("ui-state-hover");a("#"+a.jgrid.jqID(this.id),"#"+a.jgrid.jqID(b.p.id)).removeClass("ui-state-hover")}),a("tr.jqgrow","#"+a.jgrid.jqID(b.p.id)).hover(function(){a(this).addClass("ui-state-hover");a("#"+a.jgrid.jqID(this.id),
+"#"+a.jgrid.jqID(b.p.id)+"_frozen").addClass("ui-state-hover")},function(){a(this).removeClass("ui-state-hover");a("#"+a.jgrid.jqID(this.id),"#"+a.jgrid.jqID(b.p.id)+"_frozen").removeClass("ui-state-hover")}));c=null});b.p.frozenColumns=!0}}}})},destroyFrozenColumns:function(){return this.each(function(){if(this.grid&&!0===this.p.frozenColumns){a(this.grid.fhDiv).remove();a(this.grid.fbDiv).remove();this.grid.fhDiv=null;this.grid.fbDiv=null;a(this).unbind(".setFrozenColumns");if(!0===this.p.hoverrows){var b;
+a("#"+a.jgrid.jqID(this.p.id)).bind("mouseover",function(c){b=a(c.target).closest("tr.jqgrow");"ui-subgrid"!==a(b).attr("class")&&a(b).addClass("ui-state-hover")}).bind("mouseout",function(c){b=a(c.target).closest("tr.jqgrow");a(b).removeClass("ui-state-hover")})}this.p.frozenColumns=!1}})}})})(jQuery);
+(function(a){a.extend(a.jgrid,{showModal:function(a){a.w.show()},closeModal:function(a){a.w.hide().attr("aria-hidden","true");a.o&&a.o.remove()},hideModal:function(d,b){b=a.extend({jqm:!0,gb:""},b||{});if(b.onClose){var c=b.gb&&"string"===typeof b.gb&&"#gbox_"===b.gb.substr(0,6)?b.onClose.call(a("#"+b.gb.substr(6))[0],d):b.onClose(d);if("boolean"===typeof c&&!c)return}if(a.fn.jqm&&!0===b.jqm)a(d).attr("aria-hidden","true").jqmHide();else{if(""!==b.gb)try{a(".jqgrid-overlay:first",b.gb).hide()}catch(g){}a(d).hide().attr("aria-hidden",
+"true")}},findPos:function(a){var b=0,c=0;if(a.offsetParent){do b+=a.offsetLeft,c+=a.offsetTop;while(a=a.offsetParent)}return[b,c]},createModal:function(d,b,c,g,e,h,f){var c=a.extend(!0,{},a.jgrid.jqModal||{},c),i=document.createElement("div"),j,n=this,f=a.extend({},f||{});j="rtl"===a(c.gbox).attr("dir")?!0:!1;i.className="ui-widget ui-widget-content ui-corner-all ui-jqdialog";i.id=d.themodal;var k=document.createElement("div");k.className="ui-jqdialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix";
+k.id=d.modalhead;a(k).append("<span class='ui-jqdialog-title'>"+c.caption+"</span>");var l=a("<a href='javascript:void(0)' class='ui-jqdialog-titlebar-close ui-corner-all'></a>").hover(function(){l.addClass("ui-state-hover")},function(){l.removeClass("ui-state-hover")}).append("<span class='ui-icon ui-icon-closethick'></span>");a(k).append(l);j?(i.dir="rtl",a(".ui-jqdialog-title",k).css("float","right"),a(".ui-jqdialog-titlebar-close",k).css("left","0.3em")):(i.dir="ltr",a(".ui-jqdialog-title",k).css("float",
+"left"),a(".ui-jqdialog-titlebar-close",k).css("right","0.3em"));var m=document.createElement("div");a(m).addClass("ui-jqdialog-content ui-widget-content").attr("id",d.modalcontent);a(m).append(b);i.appendChild(m);a(i).prepend(k);!0===h?a("body").append(i):"string"===typeof h?a(h).append(i):a(i).insertBefore(g);a(i).css(f);void 0===c.jqModal&&(c.jqModal=!0);b={};if(a.fn.jqm&&!0===c.jqModal)0===c.left&&0===c.top&&c.overlay&&(f=[],f=a.jgrid.findPos(e),c.left=f[0]+4,c.top=f[1]+4),b.top=c.top+"px",b.left=
+c.left;else if(0!==c.left||0!==c.top)b.left=c.left,b.top=c.top+"px";a("a.ui-jqdialog-titlebar-close",k).click(function(){var b=a("#"+a.jgrid.jqID(d.themodal)).data("onClose")||c.onClose,e=a("#"+a.jgrid.jqID(d.themodal)).data("gbox")||c.gbox;n.hideModal("#"+a.jgrid.jqID(d.themodal),{gb:e,jqm:c.jqModal,onClose:b});return false});if(0===c.width||!c.width)c.width=300;if(0===c.height||!c.height)c.height=200;c.zIndex||(g=a(g).parents("*[role=dialog]").filter(":first").css("z-index"),c.zIndex=g?parseInt(g,
+10)+2:950);g=0;j&&b.left&&!h&&(g=a(c.gbox).width()-(!isNaN(c.width)?parseInt(c.width,10):0)-8,b.left=parseInt(b.left,10)+parseInt(g,10));b.left&&(b.left+="px");a(i).css(a.extend({width:isNaN(c.width)?"auto":c.width+"px",height:isNaN(c.height)?"auto":c.height+"px",zIndex:c.zIndex,overflow:"hidden"},b)).attr({tabIndex:"-1",role:"dialog","aria-labelledby":d.modalhead,"aria-hidden":"true"});void 0===c.drag&&(c.drag=!0);void 0===c.resize&&(c.resize=!0);if(c.drag)if(a(k).css("cursor","move"),a.fn.jqDrag)a(i).jqDrag(k);
+else try{a(i).draggable({handle:a("#"+a.jgrid.jqID(k.id))})}catch(o){}if(c.resize)if(a.fn.jqResize)a(i).append("<div class='jqResize ui-resizable-handle ui-resizable-se ui-icon ui-icon-gripsmall-diagonal-se'></div>"),a("#"+a.jgrid.jqID(d.themodal)).jqResize(".jqResize",d.scrollelm?"#"+a.jgrid.jqID(d.scrollelm):!1);else try{a(i).resizable({handles:"se, sw",alsoResize:d.scrollelm?"#"+a.jgrid.jqID(d.scrollelm):!1})}catch(p){}!0===c.closeOnEscape&&a(i).keydown(function(b){if(b.which==27){b=a("#"+a.jgrid.jqID(d.themodal)).data("onClose")||
+c.onClose;n.hideModal("#"+a.jgrid.jqID(d.themodal),{gb:c.gbox,jqm:c.jqModal,onClose:b})}})},viewModal:function(d,b){b=a.extend({toTop:!0,overlay:10,modal:!1,overlayClass:"ui-widget-overlay",onShow:a.jgrid.showModal,onHide:a.jgrid.closeModal,gbox:"",jqm:!0,jqM:!0},b||{});if(a.fn.jqm&&!0===b.jqm)b.jqM?a(d).attr("aria-hidden","false").jqm(b).jqmShow():a(d).attr("aria-hidden","false").jqmShow();else{""!==b.gbox&&(a(".jqgrid-overlay:first",b.gbox).show(),a(d).data("gbox",b.gbox));a(d).show().attr("aria-hidden",
+"false");try{a(":input:visible",d)[0].focus()}catch(c){}}},info_dialog:function(d,b,c,g){var e={width:290,height:"auto",dataheight:"auto",drag:!0,resize:!1,left:250,top:170,zIndex:1E3,jqModal:!0,modal:!1,closeOnEscape:!0,align:"center",buttonalign:"center",buttons:[]};a.extend(!0,e,a.jgrid.jqModal||{},{caption:"<b>"+d+"</b>"},g||{});var h=e.jqModal,f=this;a.fn.jqm&&!h&&(h=!1);d="";if(0<e.buttons.length)for(g=0;g<e.buttons.length;g++)void 0===e.buttons[g].id&&(e.buttons[g].id="info_button_"+g),d+=
+"<a href='javascript:void(0)' id='"+e.buttons[g].id+"' class='fm-button ui-state-default ui-corner-all'>"+e.buttons[g].text+"</a>";g=isNaN(e.dataheight)?e.dataheight:e.dataheight+"px";b="<div id='info_id'>"+("<div id='infocnt' style='margin:0px;padding-bottom:1em;width:100%;overflow:auto;position:relative;height:"+g+";"+("text-align:"+e.align+";")+"'>"+b+"</div>");b+=c?"<div class='ui-widget-content ui-helper-clearfix' style='text-align:"+e.buttonalign+";padding-bottom:0.8em;padding-top:0.5em;background-image: none;border-width: 1px 0 0 0;'><a href='javascript:void(0)' id='closedialog' class='fm-button ui-state-default ui-corner-all'>"+
+c+"</a>"+d+"</div>":""!==d?"<div class='ui-widget-content ui-helper-clearfix' style='text-align:"+e.buttonalign+";padding-bottom:0.8em;padding-top:0.5em;background-image: none;border-width: 1px 0 0 0;'>"+d+"</div>":"";b+="</div>";try{"false"===a("#info_dialog").attr("aria-hidden")&&a.jgrid.hideModal("#info_dialog",{jqm:h}),a("#info_dialog").remove()}catch(i){}a.jgrid.createModal({themodal:"info_dialog",modalhead:"info_head",modalcontent:"info_content",scrollelm:"infocnt"},b,e,"","",!0);d&&a.each(e.buttons,
+function(d){a("#"+a.jgrid.jqID(this.id),"#info_id").bind("click",function(){e.buttons[d].onClick.call(a("#info_dialog"));return!1})});a("#closedialog","#info_id").click(function(){f.hideModal("#info_dialog",{jqm:h,onClose:a("#info_dialog").data("onClose")||e.onClose,gb:a("#info_dialog").data("gbox")||e.gbox});return!1});a(".fm-button","#info_dialog").hover(function(){a(this).addClass("ui-state-hover")},function(){a(this).removeClass("ui-state-hover")});a.isFunction(e.beforeOpen)&&e.beforeOpen();a.jgrid.viewModal("#info_dialog",
+{onHide:function(a){a.w.hide().remove();a.o&&a.o.remove()},modal:e.modal,jqm:h});a.isFunction(e.afterOpen)&&e.afterOpen();try{a("#info_dialog").focus()}catch(j){}},bindEv:function(d,b){a.isFunction(b.dataInit)&&b.dataInit.call(this,d);b.dataEvents&&a.each(b.dataEvents,function(){void 0!==this.data?a(d).bind(this.type,this.data,this.fn):a(d).bind(this.type,this.fn)})},createEl:function(d,b,c,g,e){function h(d,b,c){var e="dataInit,dataEvents,dataUrl,buildSelect,sopt,searchhidden,defaultValue,attr,custom_element,custom_value".split(",");
+void 0!==c&&a.isArray(c)&&a.merge(e,c);a.each(b,function(b,c){-1===a.inArray(b,e)&&a(d).attr(b,c)});b.hasOwnProperty("id")||a(d).attr("id",a.jgrid.randId())}var f="",i=this;switch(d){case "textarea":f=document.createElement("textarea");g?b.cols||a(f).css({width:"98%"}):b.cols||(b.cols=20);b.rows||(b.rows=2);if(" "===c||" "===c||1===c.length&&160===c.charCodeAt(0))c="";f.value=c;h(f,b);a(f).attr({role:"textbox",multiline:"true"});break;case "checkbox":f=document.createElement("input");f.type=
+"checkbox";b.value?(d=b.value.split(":"),c===d[0]&&(f.checked=!0,f.defaultChecked=!0),f.value=d[0],a(f).attr("offval",d[1])):(d=c.toLowerCase(),0>d.search(/(false|f|0|no|n|off|undefined)/i)&&""!==d?(f.checked=!0,f.defaultChecked=!0,f.value=c):f.value="on",a(f).attr("offval","off"));h(f,b,["value"]);a(f).attr("role","checkbox");break;case "select":f=document.createElement("select");f.setAttribute("role","select");g=[];!0===b.multiple?(d=!0,f.multiple="multiple",a(f).attr("aria-multiselectable","true")):
+d=!1;if(void 0!==b.dataUrl)d=b.name?(""+b.id).substring(0,(""+b.id).length-(""+b.name).length-1):""+b.id,g=b.postData||e.postData,i.p&&i.p.idPrefix?d=a.jgrid.stripPref(i.p.idPrefix,d):g=void 0,a.ajax(a.extend({url:b.dataUrl,type:"GET",dataType:"html",data:a.isFunction(g)?g.call(i,d,c,""+b.name):g,context:{elem:f,options:b,vl:c},success:function(d){var b=[],c=this.elem,e=this.vl,f=a.extend({},this.options),g=f.multiple===true,d=a.isFunction(f.buildSelect)?f.buildSelect.call(i,d):d;typeof d==="string"&&
+(d=a(a.trim(d)).html());if(d){a(c).append(d);h(c,f);if(f.size===void 0)f.size=g?3:1;if(g){b=e.split(",");b=a.map(b,function(d){return a.trim(d)})}else b[0]=a.trim(e);setTimeout(function(){a("option",c).each(function(d){if(d===0&&c.multiple)this.selected=false;a(this).attr("role","option");if(a.inArray(a.trim(a(this).text()),b)>-1||a.inArray(a.trim(a(this).val()),b)>-1)this.selected="selected"})},0)}}},e||{}));else if(b.value){var j;void 0===b.size&&(b.size=d?3:1);d&&(g=c.split(","),g=a.map(g,function(d){return a.trim(d)}));
+"function"===typeof b.value&&(b.value=b.value());var n,k,l=void 0===b.separator?":":b.separator,e=void 0===b.delimiter?";":b.delimiter;if("string"===typeof b.value){n=b.value.split(e);for(j=0;j<n.length;j++){k=n[j].split(l);2<k.length&&(k[1]=a.map(k,function(a,d){if(d>0)return a}).join(l));e=document.createElement("option");e.setAttribute("role","option");e.value=k[0];e.innerHTML=k[1];f.appendChild(e);if(!d&&(a.trim(k[0])===a.trim(c)||a.trim(k[1])===a.trim(c)))e.selected="selected";if(d&&(-1<a.inArray(a.trim(k[1]),
+g)||-1<a.inArray(a.trim(k[0]),g)))e.selected="selected"}}else if("object"===typeof b.value)for(j in l=b.value,l)if(l.hasOwnProperty(j)){e=document.createElement("option");e.setAttribute("role","option");e.value=j;e.innerHTML=l[j];f.appendChild(e);if(!d&&(a.trim(j)===a.trim(c)||a.trim(l[j])===a.trim(c)))e.selected="selected";if(d&&(-1<a.inArray(a.trim(l[j]),g)||-1<a.inArray(a.trim(j),g)))e.selected="selected"}h(f,b,["value"])}break;case "text":case "password":case "button":j="button"===d?"button":
+"textbox";f=document.createElement("input");f.type=d;f.value=c;h(f,b);"button"!==d&&(g?b.size||a(f).css({width:"98%"}):b.size||(b.size=20));a(f).attr("role",j);break;case "image":case "file":f=document.createElement("input");f.type=d;h(f,b);break;case "custom":f=document.createElement("span");try{if(a.isFunction(b.custom_element))if(l=b.custom_element.call(i,c,b))l=a(l).addClass("customelement").attr({id:b.id,name:b.name}),a(f).empty().append(l);else throw"e2";else throw"e1";}catch(m){"e1"===m&&a.jgrid.info_dialog(a.jgrid.errors.errcap,
+"function 'custom_element' "+a.jgrid.edit.msg.nodefined,a.jgrid.edit.bClose),"e2"===m?a.jgrid.info_dialog(a.jgrid.errors.errcap,"function 'custom_element' "+a.jgrid.edit.msg.novalue,a.jgrid.edit.bClose):a.jgrid.info_dialog(a.jgrid.errors.errcap,"string"===typeof m?m:m.message,a.jgrid.edit.bClose)}}return f},checkDate:function(a,b){var c={},g,a=a.toLowerCase();g=-1!==a.indexOf("/")?"/":-1!==a.indexOf("-")?"-":-1!==a.indexOf(".")?".":"/";a=a.split(g);b=b.split(g);if(3!==b.length)return!1;g=-1;var e,
+h=-1,f=-1,i;for(i=0;i<a.length;i++)e=isNaN(b[i])?0:parseInt(b[i],10),c[a[i]]=e,e=a[i],-1!==e.indexOf("y")&&(g=i),-1!==e.indexOf("m")&&(f=i),-1!==e.indexOf("d")&&(h=i);e="y"===a[g]||"yyyy"===a[g]?4:"yy"===a[g]?2:-1;i=[0,31,29,31,30,31,30,31,31,30,31,30,31];var j;if(-1===g)return!1;j=c[a[g]].toString();2===e&&1===j.length&&(e=1);if(j.length!==e||0===c[a[g]]&&"00"!==b[g]||-1===f)return!1;j=c[a[f]].toString();if(1>j.length||1>c[a[f]]||12<c[a[f]]||-1===h)return!1;j=c[a[h]].toString();return 1>j.length||
+1>c[a[h]]||31<c[a[h]]||2===c[a[f]]&&c[a[h]]>(0===c[a[g]]%4&&(0!==c[a[g]]%100||0===c[a[g]]%400)?29:28)||c[a[h]]>i[c[a[f]]]?!1:!0},isEmpty:function(a){return a.match(/^\s+$/)||""===a?!0:!1},checkTime:function(d){var b=/^(\d{1,2}):(\d{2})([apAP][Mm])?$/;if(!a.jgrid.isEmpty(d))if(d=d.match(b)){if(d[3]){if(1>d[1]||12<d[1])return!1}else if(23<d[1])return!1;if(59<d[2])return!1}else return!1;return!0},checkValues:function(d,b,c,g){var e,h,f;f=this.p.colModel;if(void 0===c)if("string"===typeof b){c=0;for(g=
+f.length;c<g;c++)if(f[c].name===b){e=f[c].editrules;b=c;null!=f[c].formoptions&&(h=f[c].formoptions.label);break}}else 0<=b&&(e=f[b].editrules);else e=c,h=void 0===g?"_":g;if(e){h||(h=null!=this.p.colNames?this.p.colNames[b]:f[b].label);if(!0===e.required&&a.jgrid.isEmpty(d))return[!1,h+": "+a.jgrid.edit.msg.required,""];c=!1===e.required?!1:!0;if(!0===e.number&&!(!1===c&&a.jgrid.isEmpty(d))&&isNaN(d))return[!1,h+": "+a.jgrid.edit.msg.number,""];if(void 0!==e.minValue&&!isNaN(e.minValue)&&parseFloat(d)<
+parseFloat(e.minValue))return[!1,h+": "+a.jgrid.edit.msg.minValue+" "+e.minValue,""];if(void 0!==e.maxValue&&!isNaN(e.maxValue)&&parseFloat(d)>parseFloat(e.maxValue))return[!1,h+": "+a.jgrid.edit.msg.maxValue+" "+e.maxValue,""];if(!0===e.email&&!(!1===c&&a.jgrid.isEmpty(d))&&(g=/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i,
+!g.test(d)))return[!1,h+": "+a.jgrid.edit.msg.email,""];if(!0===e.integer&&!(!1===c&&a.jgrid.isEmpty(d))&&(isNaN(d)||0!==d%1||-1!==d.indexOf(".")))return[!1,h+": "+a.jgrid.edit.msg.integer,""];if(!0===e.date&&!(!1===c&&a.jgrid.isEmpty(d))&&(f[b].formatoptions&&f[b].formatoptions.newformat?(f=f[b].formatoptions.newformat,a.jgrid.formatter.date.masks.hasOwnProperty(f)&&(f=a.jgrid.formatter.date.masks[f])):f=f[b].datefmt||"Y-m-d",!a.jgrid.checkDate(f,d)))return[!1,h+": "+a.jgrid.edit.msg.date+" - "+
+f,""];if(!0===e.time&&!(!1===c&&a.jgrid.isEmpty(d))&&!a.jgrid.checkTime(d))return[!1,h+": "+a.jgrid.edit.msg.date+" - hh:mm (am/pm)",""];if(!0===e.url&&!(!1===c&&a.jgrid.isEmpty(d))&&(g=/^(((https?)|(ftp)):\/\/([\-\w]+\.)+\w{2,3}(\/[%\-\w]+(\.\w{2,})?)*(([\w\-\.\?\\\/+@&#;`~=%!]*)(\.\w{2,})?)*\/?)/i,!g.test(d)))return[!1,h+": "+a.jgrid.edit.msg.url,""];if(!0===e.custom&&!(!1===c&&a.jgrid.isEmpty(d)))return a.isFunction(e.custom_func)?(d=e.custom_func.call(this,d,h,b),a.isArray(d)?d:[!1,a.jgrid.edit.msg.customarray,
+""]):[!1,a.jgrid.edit.msg.customfcheck,""]}return[!0,"",""]}})})(jQuery);
+(function(a){var b={};a.jgrid.extend({searchGrid:function(b){b=a.extend(!0,{recreateFilter:!1,drag:!0,sField:"searchField",sValue:"searchString",sOper:"searchOper",sFilter:"filters",loadDefaults:!0,beforeShowSearch:null,afterShowSearch:null,onInitializeSearch:null,afterRedraw:null,afterChange:null,closeAfterSearch:!1,closeAfterReset:!1,closeOnEscape:!1,searchOnEnter:!1,multipleSearch:!1,multipleGroup:!1,top:0,left:0,jqModal:!0,modal:!1,resize:!0,width:450,height:"auto",dataheight:"auto",showQuery:!1,
+errorcheck:!0,sopt:null,stringResult:void 0,onClose:null,onSearch:null,onReset:null,toTop:!0,overlay:30,columns:[],tmplNames:null,tmplFilters:null,tmplLabel:" Template: ",showOnLoad:!1,layer:null,operands:{eq:"=",ne:"<>",lt:"<",le:"<=",gt:">",ge:">=",bw:"LIKE",bn:"NOT LIKE","in":"IN",ni:"NOT IN",ew:"LIKE",en:"NOT LIKE",cn:"LIKE",nc:"NOT LIKE",nu:"IS NULL",nn:"ISNOT NULL"}},a.jgrid.search,b||{});return this.each(function(){function c(c){t=a(e).triggerHandler("jqGridFilterBeforeShow",[c]);void 0===
+t&&(t=!0);t&&a.isFunction(b.beforeShowSearch)&&(t=b.beforeShowSearch.call(e,c));t&&(a.jgrid.viewModal("#"+a.jgrid.jqID(u.themodal),{gbox:"#gbox_"+a.jgrid.jqID(i),jqm:b.jqModal,modal:b.modal,overlay:b.overlay,toTop:b.toTop}),a(e).triggerHandler("jqGridFilterAfterShow",[c]),a.isFunction(b.afterShowSearch)&&b.afterShowSearch.call(e,c))}var e=this;if(e.grid){var i="fbox_"+e.p.id,t=!0,u={themodal:"searchmod"+i,modalhead:"searchhd"+i,modalcontent:"searchcnt"+i,scrollelm:i},s=e.p.postData[b.sFilter];"string"===
+typeof s&&(s=a.jgrid.parse(s));!0===b.recreateFilter&&a("#"+a.jgrid.jqID(u.themodal)).remove();if(void 0!==a("#"+a.jgrid.jqID(u.themodal))[0])c(a("#fbox_"+a.jgrid.jqID(+e.p.id)));else{var m=a("<div><div id='"+i+"' class='searchFilter' style='overflow:auto'></div></div>").insertBefore("#gview_"+a.jgrid.jqID(e.p.id)),h="left",g="";"rtl"===e.p.direction&&(h="right",g=" style='text-align:left'",m.attr("dir","rtl"));var n=a.extend([],e.p.colModel),x="<a href='javascript:void(0)' id='"+i+"_search' class='fm-button ui-state-default ui-corner-all fm-button-icon-right ui-reset'><span class='ui-icon ui-icon-search'></span>"+
+b.Find+"</a>",d="<a href='javascript:void(0)' id='"+i+"_reset' class='fm-button ui-state-default ui-corner-all fm-button-icon-left ui-search'><span class='ui-icon ui-icon-arrowreturnthick-1-w'></span>"+b.Reset+"</a>",q="",f="",o,k=!1,p=-1;b.showQuery&&(q="<a href='javascript:void(0)' id='"+i+"_query' class='fm-button ui-state-default ui-corner-all fm-button-icon-left'><span class='ui-icon ui-icon-comment'></span>Query</a>");b.columns.length?(n=b.columns,p=0,o=n[0].index||n[0].name):a.each(n,function(a,
+b){if(!b.label)b.label=e.p.colNames[a];if(!k){var c=b.search===void 0?true:b.search,d=b.hidden===true;if(b.searchoptions&&b.searchoptions.searchhidden===true&&c||c&&!d){k=true;o=b.index||b.name;p=a}}});if(!s&&o||!1===b.multipleSearch){var y="eq";0<=p&&n[p].searchoptions&&n[p].searchoptions.sopt?y=n[p].searchoptions.sopt[0]:b.sopt&&b.sopt.length&&(y=b.sopt[0]);s={groupOp:"AND",rules:[{field:o,op:y,data:""}]}}k=!1;b.tmplNames&&b.tmplNames.length&&(k=!0,f=b.tmplLabel,f+="<select class='ui-template'>",
+f+="<option value='default'>Default</option>",a.each(b.tmplNames,function(a,b){f=f+("<option value='"+a+"'>"+b+"</option>")}),f+="</select>");h="<table class='EditTable' style='border:0px none;margin-top:5px' id='"+i+"_2'><tbody><tr><td colspan='2'><hr class='ui-widget-content' style='margin:1px'/></td></tr><tr><td class='EditButton' style='text-align:"+h+"'>"+d+f+"</td><td class='EditButton' "+g+">"+q+x+"</td></tr></tbody></table>";i=a.jgrid.jqID(i);a("#"+i).jqFilter({columns:n,filter:b.loadDefaults?
+s:null,showQuery:b.showQuery,errorcheck:b.errorcheck,sopt:b.sopt,groupButton:b.multipleGroup,ruleButtons:b.multipleSearch,afterRedraw:b.afterRedraw,ops:b.odata,operands:b.operands,ajaxSelectOptions:e.p.ajaxSelectOptions,groupOps:b.groupOps,onChange:function(){this.p.showQuery&&a(".query",this).html(this.toUserFriendlyString());a.isFunction(b.afterChange)&&b.afterChange.call(e,a("#"+i),b)},direction:e.p.direction,id:e.p.id});m.append(h);k&&b.tmplFilters&&b.tmplFilters.length&&a(".ui-template",m).bind("change",
+function(){var c=a(this).val();c==="default"?a("#"+i).jqFilter("addFilter",s):a("#"+i).jqFilter("addFilter",b.tmplFilters[parseInt(c,10)]);return false});!0===b.multipleGroup&&(b.multipleSearch=!0);a(e).triggerHandler("jqGridFilterInitialize",[a("#"+i)]);a.isFunction(b.onInitializeSearch)&&b.onInitializeSearch.call(e,a("#"+i));b.gbox="#gbox_"+i;b.layer?a.jgrid.createModal(u,m,b,"#gview_"+a.jgrid.jqID(e.p.id),a("#gbox_"+a.jgrid.jqID(e.p.id))[0],"#"+a.jgrid.jqID(b.layer),{position:"relative"}):a.jgrid.createModal(u,
+m,b,"#gview_"+a.jgrid.jqID(e.p.id),a("#gbox_"+a.jgrid.jqID(e.p.id))[0]);(b.searchOnEnter||b.closeOnEscape)&&a("#"+a.jgrid.jqID(u.themodal)).keydown(function(c){var d=a(c.target);if(b.searchOnEnter&&c.which===13&&!d.hasClass("add-group")&&!d.hasClass("add-rule")&&!d.hasClass("delete-group")&&!d.hasClass("delete-rule")&&(!d.hasClass("fm-button")||!d.is("[id$=_query]"))){a("#"+i+"_search").focus().click();return false}if(b.closeOnEscape&&c.which===27){a("#"+a.jgrid.jqID(u.modalhead)).find(".ui-jqdialog-titlebar-close").focus().click();
+return false}});q&&a("#"+i+"_query").bind("click",function(){a(".queryresult",m).toggle();return false});void 0===b.stringResult&&(b.stringResult=b.multipleSearch);a("#"+i+"_search").bind("click",function(){var c=a("#"+i),d={},f,l=c.jqFilter("filterData");if(b.errorcheck){c[0].hideError();b.showQuery||c.jqFilter("toSQLString");if(c[0].p.error){c[0].showError();return false}}if(b.stringResult){try{f=xmlJsonClass.toJson(l,"","",false)}catch(g){try{f=JSON.stringify(l)}catch(h){}}if(typeof f==="string"){d[b.sFilter]=
+f;a.each([b.sField,b.sValue,b.sOper],function(){d[this]=""})}}else if(b.multipleSearch){d[b.sFilter]=l;a.each([b.sField,b.sValue,b.sOper],function(){d[this]=""})}else{d[b.sField]=l.rules[0].field;d[b.sValue]=l.rules[0].data;d[b.sOper]=l.rules[0].op;d[b.sFilter]=""}e.p.search=true;a.extend(e.p.postData,d);a(e).triggerHandler("jqGridFilterSearch");a.isFunction(b.onSearch)&&b.onSearch.call(e);a(e).trigger("reloadGrid",[{page:1}]);b.closeAfterSearch&&a.jgrid.hideModal("#"+a.jgrid.jqID(u.themodal),{gb:"#gbox_"+
+a.jgrid.jqID(e.p.id),jqm:b.jqModal,onClose:b.onClose});return false});a("#"+i+"_reset").bind("click",function(){var c={},d=a("#"+i);e.p.search=false;b.multipleSearch===false?c[b.sField]=c[b.sValue]=c[b.sOper]="":c[b.sFilter]="";d[0].resetFilter();k&&a(".ui-template",m).val("default");a.extend(e.p.postData,c);a(e).triggerHandler("jqGridFilterReset");a.isFunction(b.onReset)&&b.onReset.call(e);a(e).trigger("reloadGrid",[{page:1}]);return false});c(a("#"+i));a(".fm-button:not(.ui-state-disabled)",m).hover(function(){a(this).addClass("ui-state-hover")},
+function(){a(this).removeClass("ui-state-hover")})}}})},editGridRow:function(r,c){c=a.extend(!0,{top:0,left:0,width:300,datawidth:"auto",height:"auto",dataheight:"auto",modal:!1,overlay:30,drag:!0,resize:!0,url:null,mtype:"POST",clearAfterAdd:!0,closeAfterEdit:!1,reloadAfterSubmit:!0,onInitializeForm:null,beforeInitData:null,beforeShowForm:null,afterShowForm:null,beforeSubmit:null,afterSubmit:null,onclickSubmit:null,afterComplete:null,onclickPgButtons:null,afterclickPgButtons:null,editData:{},recreateForm:!1,
+jqModal:!0,closeOnEscape:!1,addedrow:"first",topinfo:"",bottominfo:"",saveicon:[],closeicon:[],savekey:[!1,13],navkeys:[!1,38,40],checkOnSubmit:!1,checkOnUpdate:!1,_savedData:{},processing:!1,onClose:null,ajaxEditOptions:{},serializeEditData:null,viewPagerButtons:!0,overlayClass:"ui-widget-overlay"},a.jgrid.edit,c||{});b[a(this)[0].p.id]=c;return this.each(function(){function e(){a(k+" > tbody > tr > td > .FormElement").each(function(){var c=a(".customelement",this);if(c.length){var b=a(c[0]).attr("name");
+a.each(d.p.colModel,function(){if(this.name===b&&this.editoptions&&a.isFunction(this.editoptions.custom_value)){try{if(j[b]=this.editoptions.custom_value.call(d,a("#"+a.jgrid.jqID(b),k),"get"),void 0===j[b])throw"e1";}catch(c){"e1"===c?a.jgrid.info_dialog(a.jgrid.errors.errcap,"function 'custom_value' "+a.jgrid.edit.msg.novalue,a.jgrid.edit.bClose):a.jgrid.info_dialog(a.jgrid.errors.errcap,c.message,a.jgrid.edit.bClose)}return!0}})}else{switch(a(this).get(0).type){case "checkbox":a(this).is(":checked")?
+j[this.name]=a(this).val():(c=a(this).attr("offval"),j[this.name]=c);break;case "select-one":j[this.name]=a("option:selected",this).val();break;case "select-multiple":j[this.name]=a(this).val();j[this.name]=j[this.name]?j[this.name].join(","):"";a("option:selected",this).each(function(c,b){a(b).text()});break;case "password":case "text":case "textarea":case "button":j[this.name]=a(this).val()}d.p.autoencode&&(j[this.name]=a.jgrid.htmlEncode(j[this.name]))}});return!0}function i(c,e,l,g){var h,j,k,
+p=0,i,m,o,n=[],q=!1,z="",r;for(r=1;r<=g;r++)z+="<td class='CaptionTD'> </td><td class='DataTD'> </td>";"_empty"!==c&&(q=a(e).jqGrid("getInd",c));a(e.p.colModel).each(function(r){h=this.name;m=(j=this.editrules&&!0===this.editrules.edithidden?!1:!0===this.hidden?!0:!1)?"style='display:none'":"";if("cb"!==h&&"subgrid"!==h&&!0===this.editable&&"rn"!==h){if(!1===q)i="";else if(h===e.p.ExpandColumn&&!0===e.p.treeGrid)i=a("td[role='gridcell']:eq("+r+")",e.rows[q]).text();else{try{i=a.unformat.call(e,
+a("td[role='gridcell']:eq("+r+")",e.rows[q]),{rowId:c,colModel:this},r)}catch(t){i=this.edittype&&"textarea"===this.edittype?a("td[role='gridcell']:eq("+r+")",e.rows[q]).text():a("td[role='gridcell']:eq("+r+")",e.rows[q]).html()}if(!i||" "===i||" "===i||1===i.length&&160===i.charCodeAt(0))i=""}var v=a.extend({},this.editoptions||{},{id:h,name:h}),s=a.extend({},{elmprefix:"",elmsuffix:"",rowabove:!1,rowcontent:""},this.formoptions||{}),w=parseInt(s.rowpos,10)||p+1,u=parseInt(2*(parseInt(s.colpos,
+10)||1),10);"_empty"===c&&v.defaultValue&&(i=a.isFunction(v.defaultValue)?v.defaultValue.call(d):v.defaultValue);this.edittype||(this.edittype="text");d.p.autoencode&&(i=a.jgrid.htmlDecode(i));o=a.jgrid.createEl.call(d,this.edittype,v,i,!1,a.extend({},a.jgrid.ajaxOptions,e.p.ajaxSelectOptions||{}));if(b[d.p.id].checkOnSubmit||b[d.p.id].checkOnUpdate)b[d.p.id]._savedData[h]=i;a(o).addClass("FormElement");-1<a.inArray(this.edittype,["text","textarea","password","select"])&&a(o).addClass("ui-widget-content ui-corner-all");
+k=a(l).find("tr[rowpos="+w+"]");if(s.rowabove){var y=a("<tr><td class='contentinfo' colspan='"+2*g+"'>"+s.rowcontent+"</td></tr>");a(l).append(y);y[0].rp=w}0===k.length&&(k=a("<tr "+m+" rowpos='"+w+"'></tr>").addClass("FormData").attr("id","tr_"+h),a(k).append(z),a(l).append(k),k[0].rp=w);a("td:eq("+(u-2)+")",k[0]).html(void 0===s.label?e.p.colNames[r]:s.label);a("td:eq("+(u-1)+")",k[0]).append(s.elmprefix).append(o).append(s.elmsuffix);a.isFunction(v.custom_value)&&"_empty"!==c&&v.custom_value.call(d,
+a("#"+h,"#"+f),"set",i);a.jgrid.bindEv.call(d,o,v);n[p]=r;p++}});if(0<p&&(r=a("<tr class='FormData' style='display:none'><td class='CaptionTD'></td><td colspan='"+(2*g-1)+"' class='DataTD'><input class='FormElement' id='id_g' type='text' name='"+e.p.id+"_id' value='"+c+"'/></td></tr>"),r[0].rp=p+999,a(l).append(r),b[d.p.id].checkOnSubmit||b[d.p.id].checkOnUpdate))b[d.p.id]._savedData[e.p.id+"_id"]=c;return n}function t(c,e,f){var l,h=0,g,j,i,p,r;if(b[d.p.id].checkOnSubmit||b[d.p.id].checkOnUpdate)b[d.p.id]._savedData=
+{},b[d.p.id]._savedData[e.p.id+"_id"]=c;var m=e.p.colModel;if("_empty"===c)a(m).each(function(){l=this.name;i=a.extend({},this.editoptions||{});if((j=a("#"+a.jgrid.jqID(l),"#"+f))&&j.length&&null!==j[0])if(p="",i.defaultValue?(p=a.isFunction(i.defaultValue)?i.defaultValue.call(d):i.defaultValue,"checkbox"===j[0].type?(r=p.toLowerCase(),0>r.search(/(false|f|0|no|n|off|undefined)/i)&&""!==r?(j[0].checked=!0,j[0].defaultChecked=!0,j[0].value=p):(j[0].checked=!1,j[0].defaultChecked=!1)):j.val(p)):"checkbox"===
+j[0].type?(j[0].checked=!1,j[0].defaultChecked=!1,p=a(j).attr("offval")):j[0].type&&"select"===j[0].type.substr(0,6)?j[0].selectedIndex=0:j.val(p),!0===b[d.p.id].checkOnSubmit||b[d.p.id].checkOnUpdate)b[d.p.id]._savedData[l]=p}),a("#id_g","#"+f).val(c);else{var o=a(e).jqGrid("getInd",c,!0);o&&(a('td[role="gridcell"]',o).each(function(j){l=m[j].name;if("cb"!==l&&"subgrid"!==l&&"rn"!==l&&!0===m[j].editable){if(l===e.p.ExpandColumn&&!0===e.p.treeGrid)g=a(this).text();else try{g=a.unformat.call(e,a(this),
+{rowId:c,colModel:m[j]},j)}catch(i){g="textarea"===m[j].edittype?a(this).text():a(this).html()}d.p.autoencode&&(g=a.jgrid.htmlDecode(g));if(!0===b[d.p.id].checkOnSubmit||b[d.p.id].checkOnUpdate)b[d.p.id]._savedData[l]=g;l=a.jgrid.jqID(l);switch(m[j].edittype){case "password":case "text":case "button":case "image":case "textarea":if(" "===g||" "===g||1===g.length&&160===g.charCodeAt(0))g="";a("#"+l,"#"+f).val(g);break;case "select":var k=g.split(","),k=a.map(k,function(c){return a.trim(c)});
+a("#"+l+" option","#"+f).each(function(){this.selected=!m[j].editoptions.multiple&&(a.trim(g)===a.trim(a(this).text())||k[0]===a.trim(a(this).text())||k[0]===a.trim(a(this).val()))?!0:m[j].editoptions.multiple?-1<a.inArray(a.trim(a(this).text()),k)||-1<a.inArray(a.trim(a(this).val()),k)?!0:!1:!1});break;case "checkbox":g=""+g;if(m[j].editoptions&&m[j].editoptions.value)if(m[j].editoptions.value.split(":")[0]===g)a("#"+l,"#"+f)[d.p.useProp?"prop":"attr"]({checked:!0,defaultChecked:!0});else a("#"+
+l,"#"+f)[d.p.useProp?"prop":"attr"]({checked:!1,defaultChecked:!1});else g=g.toLowerCase(),0>g.search(/(false|f|0|no|n|off|undefined)/i)&&""!==g?(a("#"+l,"#"+f)[d.p.useProp?"prop":"attr"]("checked",!0),a("#"+l,"#"+f)[d.p.useProp?"prop":"attr"]("defaultChecked",!0)):(a("#"+l,"#"+f)[d.p.useProp?"prop":"attr"]("checked",!1),a("#"+l,"#"+f)[d.p.useProp?"prop":"attr"]("defaultChecked",!1));break;case "custom":try{if(m[j].editoptions&&a.isFunction(m[j].editoptions.custom_value))m[j].editoptions.custom_value.call(d,
+a("#"+l,"#"+f),"set",g);else throw"e1";}catch(p){"e1"===p?a.jgrid.info_dialog(a.jgrid.errors.errcap,"function 'custom_value' "+a.jgrid.edit.msg.nodefined,a.jgrid.edit.bClose):a.jgrid.info_dialog(a.jgrid.errors.errcap,p.message,a.jgrid.edit.bClose)}}h++}}),0<h&&a("#id_g",k).val(c))}}function u(){a.each(d.p.colModel,function(a,c){c.editoptions&&!0===c.editoptions.NullIfEmpty&&j.hasOwnProperty(c.name)&&""===j[c.name]&&(j[c.name]="null")})}function s(){var e,l=[!0,"",""],g={},h=d.p.prmNames,i,m,r,o,n,
+z=a(d).triggerHandler("jqGridAddEditBeforeCheckValues",[a("#"+f),v]);z&&"object"===typeof z&&(j=z);a.isFunction(b[d.p.id].beforeCheckValues)&&(z=b[d.p.id].beforeCheckValues.call(d,j,a("#"+f),v))&&"object"===typeof z&&(j=z);for(r in j)if(j.hasOwnProperty(r)&&(l=a.jgrid.checkValues.call(d,j[r],r),!1===l[0]))break;u();l[0]&&(g=a(d).triggerHandler("jqGridAddEditClickSubmit",[b[d.p.id],j,v]),void 0===g&&a.isFunction(b[d.p.id].onclickSubmit)&&(g=b[d.p.id].onclickSubmit.call(d,b[d.p.id],j,v)||{}),l=a(d).triggerHandler("jqGridAddEditBeforeSubmit",
+[j,a("#"+f),v]),void 0===l&&(l=[!0,"",""]),l[0]&&a.isFunction(b[d.p.id].beforeSubmit)&&(l=b[d.p.id].beforeSubmit.call(d,j,a("#"+f),v)));if(l[0]&&!b[d.p.id].processing){b[d.p.id].processing=!0;a("#sData",k+"_2").addClass("ui-state-active");m=h.oper;i=h.id;j[m]="_empty"===a.trim(j[d.p.id+"_id"])?h.addoper:h.editoper;j[m]!==h.addoper?j[i]=j[d.p.id+"_id"]:void 0===j[i]&&(j[i]=j[d.p.id+"_id"]);delete j[d.p.id+"_id"];j=a.extend(j,b[d.p.id].editData,g);if(!0===d.p.treeGrid)for(n in j[m]===h.addoper&&(o=
+a(d).jqGrid("getGridParam","selrow"),j["adjacency"===d.p.treeGridModel?d.p.treeReader.parent_id_field:"parent_id"]=o),d.p.treeReader)d.p.treeReader.hasOwnProperty(n)&&(g=d.p.treeReader[n],j.hasOwnProperty(g)&&!(j[m]===h.addoper&&"parent_id_field"===n)&&delete j[g]);j[i]=a.jgrid.stripPref(d.p.idPrefix,j[i]);n=a.extend({url:b[d.p.id].url||a(d).jqGrid("getGridParam","editurl"),type:b[d.p.id].mtype,data:a.isFunction(b[d.p.id].serializeEditData)?b[d.p.id].serializeEditData.call(d,j):j,complete:function(g,
+r){var n;j[i]=d.p.idPrefix+j[i];if(g.status>=300&&g.status!==304){l[0]=false;l[1]=a(d).triggerHandler("jqGridAddEditErrorTextFormat",[g,v]);l[1]=a.isFunction(b[d.p.id].errorTextFormat)?b[d.p.id].errorTextFormat.call(d,g,v):r+" Status: '"+g.statusText+"'. Error code: "+g.status}else{l=a(d).triggerHandler("jqGridAddEditAfterSubmit",[g,j,v]);l===void 0&&(l=[true,"",""]);l[0]&&a.isFunction(b[d.p.id].afterSubmit)&&(l=b[d.p.id].afterSubmit.call(d,g,j,v))}if(l[0]===false){a("#FormError>td",k).html(l[1]);
+a("#FormError",k).show()}else{d.p.autoencode&&a.each(j,function(c,b){j[c]=a.jgrid.htmlDecode(b)});if(j[m]===h.addoper){l[2]||(l[2]=a.jgrid.randId());j[i]=l[2];b[d.p.id].reloadAfterSubmit?a(d).trigger("reloadGrid"):d.p.treeGrid===true?a(d).jqGrid("addChildNode",l[2],o,j):a(d).jqGrid("addRowData",l[2],j,c.addedrow);if(b[d.p.id].closeAfterAdd){d.p.treeGrid!==true&&a(d).jqGrid("setSelection",l[2]);a.jgrid.hideModal("#"+a.jgrid.jqID(p.themodal),{gb:"#gbox_"+a.jgrid.jqID(q),jqm:c.jqModal,onClose:b[d.p.id].onClose})}else b[d.p.id].clearAfterAdd&&
+t("_empty",d,f)}else{if(b[d.p.id].reloadAfterSubmit){a(d).trigger("reloadGrid");b[d.p.id].closeAfterEdit||setTimeout(function(){a(d).jqGrid("setSelection",j[i])},1E3)}else d.p.treeGrid===true?a(d).jqGrid("setTreeRow",j[i],j):a(d).jqGrid("setRowData",j[i],j);b[d.p.id].closeAfterEdit&&a.jgrid.hideModal("#"+a.jgrid.jqID(p.themodal),{gb:"#gbox_"+a.jgrid.jqID(q),jqm:c.jqModal,onClose:b[d.p.id].onClose})}if(a.isFunction(b[d.p.id].afterComplete)){e=g;setTimeout(function(){a(d).triggerHandler("jqGridAddEditAfterComplete",
+[e,j,a("#"+f),v]);b[d.p.id].afterComplete.call(d,e,j,a("#"+f),v);e=null},500)}if(b[d.p.id].checkOnSubmit||b[d.p.id].checkOnUpdate){a("#"+f).data("disabled",false);if(b[d.p.id]._savedData[d.p.id+"_id"]!=="_empty")for(n in b[d.p.id]._savedData)b[d.p.id]._savedData.hasOwnProperty(n)&&j[n]&&(b[d.p.id]._savedData[n]=j[n])}}b[d.p.id].processing=false;a("#sData",k+"_2").removeClass("ui-state-active");try{a(":input:visible","#"+f)[0].focus()}catch(z){}}},a.jgrid.ajaxOptions,b[d.p.id].ajaxEditOptions);!n.url&&
+!b[d.p.id].useDataProxy&&(a.isFunction(d.p.dataProxy)?b[d.p.id].useDataProxy=!0:(l[0]=!1,l[1]+=" "+a.jgrid.errors.nourl));l[0]&&(b[d.p.id].useDataProxy?(g=d.p.dataProxy.call(d,n,"set_"+d.p.id),void 0===g&&(g=[!0,""]),!1===g[0]?(l[0]=!1,l[1]=g[1]||"Error deleting the selected row!"):(n.data.oper===h.addoper&&b[d.p.id].closeAfterAdd&&a.jgrid.hideModal("#"+a.jgrid.jqID(p.themodal),{gb:"#gbox_"+a.jgrid.jqID(q),jqm:c.jqModal,onClose:b[d.p.id].onClose}),n.data.oper===h.editoper&&b[d.p.id].closeAfterEdit&&
+a.jgrid.hideModal("#"+a.jgrid.jqID(p.themodal),{gb:"#gbox_"+a.jgrid.jqID(q),jqm:c.jqModal,onClose:b[d.p.id].onClose}))):a.ajax(n))}!1===l[0]&&(a("#FormError>td",k).html(l[1]),a("#FormError",k).show())}function m(a,c){var b=!1,d;for(d in a)if(a.hasOwnProperty(d)&&a[d]!=c[d]){b=!0;break}return b}function h(){var c=!0;a("#FormError",k).hide();if(b[d.p.id].checkOnUpdate&&(j={},e(),K=m(j,b[d.p.id]._savedData)))a("#"+f).data("disabled",!0),a(".confirm","#"+p.themodal).show(),c=!1;return c}function g(){var c;
+if("_empty"!==r&&void 0!==d.p.savedRow&&0<d.p.savedRow.length&&a.isFunction(a.fn.jqGrid.restoreRow))for(c=0;c<d.p.savedRow.length;c++)if(d.p.savedRow[c].id==r){a(d).jqGrid("restoreRow",r);break}}function n(c,b){var d=b[1].length-1;0===c?a("#pData",k+"_2").addClass("ui-state-disabled"):void 0!==b[1][c-1]&&a("#"+a.jgrid.jqID(b[1][c-1])).hasClass("ui-state-disabled")?a("#pData",k+"_2").addClass("ui-state-disabled"):a("#pData",k+"_2").removeClass("ui-state-disabled");c===d?a("#nData",k+"_2").addClass("ui-state-disabled"):
+void 0!==b[1][c+1]&&a("#"+a.jgrid.jqID(b[1][c+1])).hasClass("ui-state-disabled")?a("#nData",k+"_2").addClass("ui-state-disabled"):a("#nData",k+"_2").removeClass("ui-state-disabled")}function x(){var c=a(d).jqGrid("getDataIDs"),b=a("#id_g",k).val();return[a.inArray(b,c),c]}var d=this;if(d.grid&&r){var q=d.p.id,f="FrmGrid_"+q,o="TblGrid_"+q,k="#"+a.jgrid.jqID(o),p={themodal:"editmod"+q,modalhead:"edithd"+q,modalcontent:"editcnt"+q,scrollelm:f},y=a.isFunction(b[d.p.id].beforeShowForm)?b[d.p.id].beforeShowForm:
+!1,A=a.isFunction(b[d.p.id].afterShowForm)?b[d.p.id].afterShowForm:!1,w=a.isFunction(b[d.p.id].beforeInitData)?b[d.p.id].beforeInitData:!1,B=a.isFunction(b[d.p.id].onInitializeForm)?b[d.p.id].onInitializeForm:!1,l=!0,z=1,F=0,j,K,v,f=a.jgrid.jqID(f);"new"===r?(r="_empty",v="add",c.caption=b[d.p.id].addCaption):(c.caption=b[d.p.id].editCaption,v="edit");!0===c.recreateForm&&void 0!==a("#"+a.jgrid.jqID(p.themodal))[0]&&a("#"+a.jgrid.jqID(p.themodal)).remove();var G=!0;c.checkOnUpdate&&c.jqModal&&!c.modal&&
+(G=!1);if(void 0!==a("#"+a.jgrid.jqID(p.themodal))[0]){l=a(d).triggerHandler("jqGridAddEditBeforeInitData",[a("#"+a.jgrid.jqID(f)),v]);void 0===l&&(l=!0);l&&w&&(l=w.call(d,a("#"+f),v));if(!1===l)return;g();a(".ui-jqdialog-title","#"+a.jgrid.jqID(p.modalhead)).html(c.caption);a("#FormError",k).hide();b[d.p.id].topinfo?(a(".topinfo",k).html(b[d.p.id].topinfo),a(".tinfo",k).show()):a(".tinfo",k).hide();b[d.p.id].bottominfo?(a(".bottominfo",k+"_2").html(b[d.p.id].bottominfo),a(".binfo",k+"_2").show()):
+a(".binfo",k+"_2").hide();t(r,d,f);"_empty"===r||!b[d.p.id].viewPagerButtons?a("#pData, #nData",k+"_2").hide():a("#pData, #nData",k+"_2").show();!0===b[d.p.id].processing&&(b[d.p.id].processing=!1,a("#sData",k+"_2").removeClass("ui-state-active"));!0===a("#"+f).data("disabled")&&(a(".confirm","#"+a.jgrid.jqID(p.themodal)).hide(),a("#"+f).data("disabled",!1));a(d).triggerHandler("jqGridAddEditBeforeShowForm",[a("#"+f),v]);y&&y.call(d,a("#"+f),v);a("#"+a.jgrid.jqID(p.themodal)).data("onClose",b[d.p.id].onClose);
+a.jgrid.viewModal("#"+a.jgrid.jqID(p.themodal),{gbox:"#gbox_"+a.jgrid.jqID(q),jqm:c.jqModal,jqM:!1,overlay:c.overlay,modal:c.modal,overlayClass:c.overlayClass});G||a("."+a.jgrid.jqID(c.overlayClass)).click(function(){if(!h())return false;a.jgrid.hideModal("#"+a.jgrid.jqID(p.themodal),{gb:"#gbox_"+a.jgrid.jqID(q),jqm:c.jqModal,onClose:b[d.p.id].onClose});return false});a(d).triggerHandler("jqGridAddEditAfterShowForm",[a("#"+f),v]);A&&A.call(d,a("#"+f),v)}else{var E=isNaN(c.dataheight)?c.dataheight:
+c.dataheight+"px",l=isNaN(c.datawidth)?c.datawidth:c.datawidth+"px",E=a("<form name='FormPost' id='"+f+"' class='FormGrid' onSubmit='return false;' style='width:"+l+";overflow:auto;position:relative;height:"+E+";'></form>").data("disabled",!1),C=a("<table id='"+o+"' class='EditTable' cellspacing='0' cellpadding='0' border='0'><tbody></tbody></table>"),l=a(d).triggerHandler("jqGridAddEditBeforeInitData",[a("#"+f),v]);void 0===l&&(l=!0);l&&w&&(l=w.call(d,a("#"+f,v)));if(!1===l)return;g();a(d.p.colModel).each(function(){var a=
+this.formoptions;z=Math.max(z,a?a.colpos||0:0);F=Math.max(F,a?a.rowpos||0:0)});a(E).append(C);w=a("<tr id='FormError' style='display:none'><td class='ui-state-error' colspan='"+2*z+"'></td></tr>");w[0].rp=0;a(C).append(w);w=a("<tr style='display:none' class='tinfo'><td class='topinfo' colspan='"+2*z+"'>"+b[d.p.id].topinfo+"</td></tr>");w[0].rp=0;a(C).append(w);var l=(w="rtl"===d.p.direction?!0:!1)?"nData":"pData",D=w?"pData":"nData";i(r,d,C,z);var l="<a href='javascript:void(0)' id='"+l+"' class='fm-button ui-state-default ui-corner-left'><span class='ui-icon ui-icon-triangle-1-w'></span></a>",
+D="<a href='javascript:void(0)' id='"+D+"' class='fm-button ui-state-default ui-corner-right'><span class='ui-icon ui-icon-triangle-1-e'></span></a>",H="<a href='javascript:void(0)' id='sData' class='fm-button ui-state-default ui-corner-all'>"+c.bSubmit+"</a>",I="<a href='javascript:void(0)' id='cData' class='fm-button ui-state-default ui-corner-all'>"+c.bCancel+"</a>",o="<table border='0' cellspacing='0' cellpadding='0' class='EditTable' id='"+o+"_2'><tbody><tr><td colspan='2'><hr class='ui-widget-content' style='margin:1px'/></td></tr><tr id='Act_Buttons'><td class='navButton'>"+
+(w?D+l:l+D)+"</td><td class='EditButton'>"+H+I+"</td></tr>"+("<tr style='display:none' class='binfo'><td class='bottominfo' colspan='2'>"+b[d.p.id].bottominfo+"</td></tr>"),o=o+"</tbody></table>";if(0<F){var J=[];a.each(a(C)[0].rows,function(a,c){J[a]=c});J.sort(function(a,c){return a.rp>c.rp?1:a.rp<c.rp?-1:0});a.each(J,function(c,b){a("tbody",C).append(b)})}c.gbox="#gbox_"+a.jgrid.jqID(q);var L=!1;!0===c.closeOnEscape&&(c.closeOnEscape=!1,L=!0);o=a("<div></div>").append(E).append(o);a.jgrid.createModal(p,
+o,c,"#gview_"+a.jgrid.jqID(d.p.id),a("#gbox_"+a.jgrid.jqID(d.p.id))[0]);w&&(a("#pData, #nData",k+"_2").css("float","right"),a(".EditButton",k+"_2").css("text-align","left"));b[d.p.id].topinfo&&a(".tinfo",k).show();b[d.p.id].bottominfo&&a(".binfo",k+"_2").show();o=o=null;a("#"+a.jgrid.jqID(p.themodal)).keydown(function(e){var l=e.target;if(a("#"+f).data("disabled")===true)return false;if(b[d.p.id].savekey[0]===true&&e.which===b[d.p.id].savekey[1]&&l.tagName!=="TEXTAREA"){a("#sData",k+"_2").trigger("click");
+return false}if(e.which===27){if(!h())return false;L&&a.jgrid.hideModal("#"+a.jgrid.jqID(p.themodal),{gb:c.gbox,jqm:c.jqModal,onClose:b[d.p.id].onClose});return false}if(b[d.p.id].navkeys[0]===true){if(a("#id_g",k).val()==="_empty")return true;if(e.which===b[d.p.id].navkeys[1]){a("#pData",k+"_2").trigger("click");return false}if(e.which===b[d.p.id].navkeys[2]){a("#nData",k+"_2").trigger("click");return false}}});c.checkOnUpdate&&(a("a.ui-jqdialog-titlebar-close span","#"+a.jgrid.jqID(p.themodal)).removeClass("jqmClose"),
+a("a.ui-jqdialog-titlebar-close","#"+a.jgrid.jqID(p.themodal)).unbind("click").click(function(){if(!h())return false;a.jgrid.hideModal("#"+a.jgrid.jqID(p.themodal),{gb:"#gbox_"+a.jgrid.jqID(q),jqm:c.jqModal,onClose:b[d.p.id].onClose});return false}));c.saveicon=a.extend([!0,"left","ui-icon-disk"],c.saveicon);c.closeicon=a.extend([!0,"left","ui-icon-close"],c.closeicon);!0===c.saveicon[0]&&a("#sData",k+"_2").addClass("right"===c.saveicon[1]?"fm-button-icon-right":"fm-button-icon-left").append("<span class='ui-icon "+
+c.saveicon[2]+"'></span>");!0===c.closeicon[0]&&a("#cData",k+"_2").addClass("right"===c.closeicon[1]?"fm-button-icon-right":"fm-button-icon-left").append("<span class='ui-icon "+c.closeicon[2]+"'></span>");if(b[d.p.id].checkOnSubmit||b[d.p.id].checkOnUpdate)H="<a href='javascript:void(0)' id='sNew' class='fm-button ui-state-default ui-corner-all' style='z-index:1002'>"+c.bYes+"</a>",D="<a href='javascript:void(0)' id='nNew' class='fm-button ui-state-default ui-corner-all' style='z-index:1002'>"+c.bNo+
+"</a>",I="<a href='javascript:void(0)' id='cNew' class='fm-button ui-state-default ui-corner-all' style='z-index:1002'>"+c.bExit+"</a>",o=c.zIndex||999,o++,a("<div class='"+c.overlayClass+" jqgrid-overlay confirm' style='z-index:"+o+";display:none;'> </div><div class='confirm ui-widget-content ui-jqconfirm' style='z-index:"+(o+1)+"'>"+c.saveData+"<br/><br/>"+H+D+I+"</div>").insertAfter("#"+f),a("#sNew","#"+a.jgrid.jqID(p.themodal)).click(function(){s();a("#"+f).data("disabled",false);a(".confirm",
+"#"+a.jgrid.jqID(p.themodal)).hide();return false}),a("#nNew","#"+a.jgrid.jqID(p.themodal)).click(function(){a(".confirm","#"+a.jgrid.jqID(p.themodal)).hide();a("#"+f).data("disabled",false);setTimeout(function(){a(":input:visible","#"+f)[0].focus()},0);return false}),a("#cNew","#"+a.jgrid.jqID(p.themodal)).click(function(){a(".confirm","#"+a.jgrid.jqID(p.themodal)).hide();a("#"+f).data("disabled",false);a.jgrid.hideModal("#"+a.jgrid.jqID(p.themodal),{gb:"#gbox_"+a.jgrid.jqID(q),jqm:c.jqModal,onClose:b[d.p.id].onClose});
+return false});a(d).triggerHandler("jqGridAddEditInitializeForm",[a("#"+f),v]);B&&B.call(d,a("#"+f),v);"_empty"===r||!b[d.p.id].viewPagerButtons?a("#pData,#nData",k+"_2").hide():a("#pData,#nData",k+"_2").show();a(d).triggerHandler("jqGridAddEditBeforeShowForm",[a("#"+f),v]);y&&y.call(d,a("#"+f),v);a("#"+a.jgrid.jqID(p.themodal)).data("onClose",b[d.p.id].onClose);a.jgrid.viewModal("#"+a.jgrid.jqID(p.themodal),{gbox:"#gbox_"+a.jgrid.jqID(q),jqm:c.jqModal,overlay:c.overlay,modal:c.modal,overlayClass:c.overlayClass});
+G||a("."+a.jgrid.jqID(c.overlayClass)).click(function(){if(!h())return false;a.jgrid.hideModal("#"+a.jgrid.jqID(p.themodal),{gb:"#gbox_"+a.jgrid.jqID(q),jqm:c.jqModal,onClose:b[d.p.id].onClose});return false});a(d).triggerHandler("jqGridAddEditAfterShowForm",[a("#"+f),v]);A&&A.call(d,a("#"+f),v);a(".fm-button","#"+a.jgrid.jqID(p.themodal)).hover(function(){a(this).addClass("ui-state-hover")},function(){a(this).removeClass("ui-state-hover")});a("#sData",k+"_2").click(function(){j={};a("#FormError",
+k).hide();e();if(j[d.p.id+"_id"]==="_empty")s();else if(c.checkOnSubmit===true)if(K=m(j,b[d.p.id]._savedData)){a("#"+f).data("disabled",true);a(".confirm","#"+a.jgrid.jqID(p.themodal)).show()}else s();else s();return false});a("#cData",k+"_2").click(function(){if(!h())return false;a.jgrid.hideModal("#"+a.jgrid.jqID(p.themodal),{gb:"#gbox_"+a.jgrid.jqID(q),jqm:c.jqModal,onClose:b[d.p.id].onClose});return false});a("#nData",k+"_2").click(function(){if(!h())return false;a("#FormError",k).hide();var b=
+x();b[0]=parseInt(b[0],10);if(b[0]!==-1&&b[1][b[0]+1]){a(d).triggerHandler("jqGridAddEditClickPgButtons",["next",a("#"+f),b[1][b[0]]]);var e;if(a.isFunction(c.onclickPgButtons)){e=c.onclickPgButtons.call(d,"next",a("#"+f),b[1][b[0]]);if(e!==void 0&&e===false)return false}if(a("#"+a.jgrid.jqID(b[1][b[0]+1])).hasClass("ui-state-disabled"))return false;t(b[1][b[0]+1],d,f);a(d).jqGrid("setSelection",b[1][b[0]+1]);a(d).triggerHandler("jqGridAddEditAfterClickPgButtons",["next",a("#"+f),b[1][b[0]]]);a.isFunction(c.afterclickPgButtons)&&
+c.afterclickPgButtons.call(d,"next",a("#"+f),b[1][b[0]+1]);n(b[0]+1,b)}return false});a("#pData",k+"_2").click(function(){if(!h())return false;a("#FormError",k).hide();var b=x();if(b[0]!==-1&&b[1][b[0]-1]){a(d).triggerHandler("jqGridAddEditClickPgButtons",["prev",a("#"+f),b[1][b[0]]]);var e;if(a.isFunction(c.onclickPgButtons)){e=c.onclickPgButtons.call(d,"prev",a("#"+f),b[1][b[0]]);if(e!==void 0&&e===false)return false}if(a("#"+a.jgrid.jqID(b[1][b[0]-1])).hasClass("ui-state-disabled"))return false;
+t(b[1][b[0]-1],d,f);a(d).jqGrid("setSelection",b[1][b[0]-1]);a(d).triggerHandler("jqGridAddEditAfterClickPgButtons",["prev",a("#"+f),b[1][b[0]]]);a.isFunction(c.afterclickPgButtons)&&c.afterclickPgButtons.call(d,"prev",a("#"+f),b[1][b[0]-1]);n(b[0]-1,b)}return false})}y=x();n(y[0],y)}})},viewGridRow:function(r,c){c=a.extend(!0,{top:0,left:0,width:0,datawidth:"auto",height:"auto",dataheight:"auto",modal:!1,overlay:30,drag:!0,resize:!0,jqModal:!0,closeOnEscape:!1,labelswidth:"30%",closeicon:[],navkeys:[!1,
+38,40],onClose:null,beforeShowForm:null,beforeInitData:null,viewPagerButtons:!0,recreateForm:!1},a.jgrid.view,c||{});b[a(this)[0].p.id]=c;return this.each(function(){function e(){(!0===b[m.p.id].closeOnEscape||!0===b[m.p.id].navkeys[0])&&setTimeout(function(){a(".ui-jqdialog-titlebar-close","#"+a.jgrid.jqID(q.modalhead)).focus()},0)}function i(b,d,e,g){var f,h,i,k=0,p,m,n=[],r=!1,o,q="<td class='CaptionTD form-view-label ui-widget-content' width='"+c.labelswidth+"'> </td><td class='DataTD form-view-data ui-helper-reset ui-widget-content'> </td>",
+s="",t=["integer","number","currency"],w=0,u=0,y,x,A;for(o=1;o<=g;o++)s+=1===o?q:"<td class='CaptionTD form-view-label ui-widget-content'> </td><td class='DataTD form-view-data ui-widget-content'> </td>";a(d.p.colModel).each(function(){h=this.editrules&&!0===this.editrules.edithidden?!1:!0===this.hidden?!0:!1;!h&&"right"===this.align&&(this.formatter&&-1!==a.inArray(this.formatter,t)?w=Math.max(w,parseInt(this.width,10)):u=Math.max(u,parseInt(this.width,10)))});y=0!==w?w:0!==u?u:0;r=a(d).jqGrid("getInd",
+b);a(d.p.colModel).each(function(b){f=this.name;x=!1;m=(h=this.editrules&&!0===this.editrules.edithidden?!1:!0===this.hidden?!0:!1)?"style='display:none'":"";A="boolean"!==typeof this.viewable?!0:this.viewable;if("cb"!==f&&"subgrid"!==f&&"rn"!==f&&A){p=!1===r?"":f===d.p.ExpandColumn&&!0===d.p.treeGrid?a("td:eq("+b+")",d.rows[r]).text():a("td:eq("+b+")",d.rows[r]).html();x="right"===this.align&&0!==y?!0:!1;var c=a.extend({},{rowabove:!1,rowcontent:""},this.formoptions||{}),l=parseInt(c.rowpos,10)||
+k+1,o=parseInt(2*(parseInt(c.colpos,10)||1),10);if(c.rowabove){var q=a("<tr><td class='contentinfo' colspan='"+2*g+"'>"+c.rowcontent+"</td></tr>");a(e).append(q);q[0].rp=l}i=a(e).find("tr[rowpos="+l+"]");0===i.length&&(i=a("<tr "+m+" rowpos='"+l+"'></tr>").addClass("FormData").attr("id","trv_"+f),a(i).append(s),a(e).append(i),i[0].rp=l);a("td:eq("+(o-2)+")",i[0]).html("<b>"+(void 0===c.label?d.p.colNames[b]:c.label)+"</b>");a("td:eq("+(o-1)+")",i[0]).append("<span>"+p+"</span>").attr("id","v_"+f);
+x&&a("td:eq("+(o-1)+") span",i[0]).css({"text-align":"right",width:y+"px"});n[k]=b;k++}});0<k&&(b=a("<tr class='FormData' style='display:none'><td class='CaptionTD'></td><td colspan='"+(2*g-1)+"' class='DataTD'><input class='FormElement' id='id_g' type='text' name='id' value='"+b+"'/></td></tr>"),b[0].rp=k+99,a(e).append(b));return n}function t(b,c){var d,e,g=0,f,h;if(h=a(c).jqGrid("getInd",b,!0))a("td",h).each(function(b){d=c.p.colModel[b].name;e=c.p.colModel[b].editrules&&!0===c.p.colModel[b].editrules.edithidden?
+!1:!0===c.p.colModel[b].hidden?!0:!1;"cb"!==d&&"subgrid"!==d&&"rn"!==d&&(f=d===c.p.ExpandColumn&&!0===c.p.treeGrid?a(this).text():a(this).html(),d=a.jgrid.jqID("v_"+d),a("#"+d+" span","#"+n).html(f),e&&a("#"+d,"#"+n).parents("tr:first").hide(),g++)}),0<g&&a("#id_g","#"+n).val(b)}function u(b,c){var d=c[1].length-1;0===b?a("#pData","#"+n+"_2").addClass("ui-state-disabled"):void 0!==c[1][b-1]&&a("#"+a.jgrid.jqID(c[1][b-1])).hasClass("ui-state-disabled")?a("#pData",n+"_2").addClass("ui-state-disabled"):
+a("#pData","#"+n+"_2").removeClass("ui-state-disabled");b===d?a("#nData","#"+n+"_2").addClass("ui-state-disabled"):void 0!==c[1][b+1]&&a("#"+a.jgrid.jqID(c[1][b+1])).hasClass("ui-state-disabled")?a("#nData",n+"_2").addClass("ui-state-disabled"):a("#nData","#"+n+"_2").removeClass("ui-state-disabled")}function s(){var b=a(m).jqGrid("getDataIDs"),c=a("#id_g","#"+n).val();return[a.inArray(c,b),b]}var m=this;if(m.grid&&r){var h=m.p.id,g="ViewGrid_"+a.jgrid.jqID(h),n="ViewTbl_"+a.jgrid.jqID(h),x="ViewGrid_"+
+h,d="ViewTbl_"+h,q={themodal:"viewmod"+h,modalhead:"viewhd"+h,modalcontent:"viewcnt"+h,scrollelm:g},f=a.isFunction(b[m.p.id].beforeInitData)?b[m.p.id].beforeInitData:!1,o=!0,k=1,p=0;!0===c.recreateForm&&void 0!==a("#"+a.jgrid.jqID(q.themodal))[0]&&a("#"+a.jgrid.jqID(q.themodal)).remove();if(void 0!==a("#"+a.jgrid.jqID(q.themodal))[0]){f&&(o=f.call(m,a("#"+g)),void 0===o&&(o=!0));if(!1===o)return;a(".ui-jqdialog-title","#"+a.jgrid.jqID(q.modalhead)).html(c.caption);a("#FormError","#"+n).hide();t(r,
+m);a.isFunction(b[m.p.id].beforeShowForm)&&b[m.p.id].beforeShowForm.call(m,a("#"+g));a.jgrid.viewModal("#"+a.jgrid.jqID(q.themodal),{gbox:"#gbox_"+a.jgrid.jqID(h),jqm:c.jqModal,jqM:!1,overlay:c.overlay,modal:c.modal});e()}else{var y=isNaN(c.dataheight)?c.dataheight:c.dataheight+"px",A=isNaN(c.datawidth)?c.datawidth:c.datawidth+"px",x=a("<form name='FormPost' id='"+x+"' class='FormGrid' style='width:"+A+";overflow:auto;position:relative;height:"+y+";'></form>"),w=a("<table id='"+d+"' class='EditTable' cellspacing='1' cellpadding='2' border='0' style='table-layout:fixed'><tbody></tbody></table>");
+f&&(o=f.call(m,a("#"+g)),void 0===o&&(o=!0));if(!1===o)return;a(m.p.colModel).each(function(){var a=this.formoptions;k=Math.max(k,a?a.colpos||0:0);p=Math.max(p,a?a.rowpos||0:0)});a(x).append(w);i(r,m,w,k);d="rtl"===m.p.direction?!0:!1;f="<a href='javascript:void(0)' id='"+(d?"nData":"pData")+"' class='fm-button ui-state-default ui-corner-left'><span class='ui-icon ui-icon-triangle-1-w'></span></a>";o="<a href='javascript:void(0)' id='"+(d?"pData":"nData")+"' class='fm-button ui-state-default ui-corner-right'><span class='ui-icon ui-icon-triangle-1-e'></span></a>";
+y="<a href='javascript:void(0)' id='cData' class='fm-button ui-state-default ui-corner-all'>"+c.bClose+"</a>";if(0<p){var B=[];a.each(a(w)[0].rows,function(a,b){B[a]=b});B.sort(function(a,b){return a.rp>b.rp?1:a.rp<b.rp?-1:0});a.each(B,function(b,c){a("tbody",w).append(c)})}c.gbox="#gbox_"+a.jgrid.jqID(h);x=a("<div></div>").append(x).append("<table border='0' class='EditTable' id='"+n+"_2'><tbody><tr id='Act_Buttons'><td class='navButton' width='"+c.labelswidth+"'>"+(d?o+f:f+o)+"</td><td class='EditButton'>"+
+y+"</td></tr></tbody></table>");a.jgrid.createModal(q,x,c,"#gview_"+a.jgrid.jqID(m.p.id),a("#gview_"+a.jgrid.jqID(m.p.id))[0]);d&&(a("#pData, #nData","#"+n+"_2").css("float","right"),a(".EditButton","#"+n+"_2").css("text-align","left"));c.viewPagerButtons||a("#pData, #nData","#"+n+"_2").hide();x=null;a("#"+q.themodal).keydown(function(d){if(d.which===27){b[m.p.id].closeOnEscape&&a.jgrid.hideModal("#"+a.jgrid.jqID(q.themodal),{gb:c.gbox,jqm:c.jqModal,onClose:c.onClose});return false}if(c.navkeys[0]===
+true){if(d.which===c.navkeys[1]){a("#pData","#"+n+"_2").trigger("click");return false}if(d.which===c.navkeys[2]){a("#nData","#"+n+"_2").trigger("click");return false}}});c.closeicon=a.extend([!0,"left","ui-icon-close"],c.closeicon);!0===c.closeicon[0]&&a("#cData","#"+n+"_2").addClass("right"===c.closeicon[1]?"fm-button-icon-right":"fm-button-icon-left").append("<span class='ui-icon "+c.closeicon[2]+"'></span>");a.isFunction(c.beforeShowForm)&&c.beforeShowForm.call(m,a("#"+g));a.jgrid.viewModal("#"+
+a.jgrid.jqID(q.themodal),{gbox:"#gbox_"+a.jgrid.jqID(h),jqm:c.jqModal,overlay:c.overlay,modal:c.modal});a(".fm-button:not(.ui-state-disabled)","#"+n+"_2").hover(function(){a(this).addClass("ui-state-hover")},function(){a(this).removeClass("ui-state-hover")});e();a("#cData","#"+n+"_2").click(function(){a.jgrid.hideModal("#"+a.jgrid.jqID(q.themodal),{gb:"#gbox_"+a.jgrid.jqID(h),jqm:c.jqModal,onClose:c.onClose});return false});a("#nData","#"+n+"_2").click(function(){a("#FormError","#"+n).hide();var b=
+s();b[0]=parseInt(b[0],10);if(b[0]!==-1&&b[1][b[0]+1]){a.isFunction(c.onclickPgButtons)&&c.onclickPgButtons.call(m,"next",a("#"+g),b[1][b[0]]);t(b[1][b[0]+1],m);a(m).jqGrid("setSelection",b[1][b[0]+1]);a.isFunction(c.afterclickPgButtons)&&c.afterclickPgButtons.call(m,"next",a("#"+g),b[1][b[0]+1]);u(b[0]+1,b)}e();return false});a("#pData","#"+n+"_2").click(function(){a("#FormError","#"+n).hide();var b=s();if(b[0]!==-1&&b[1][b[0]-1]){a.isFunction(c.onclickPgButtons)&&c.onclickPgButtons.call(m,"prev",
+a("#"+g),b[1][b[0]]);t(b[1][b[0]-1],m);a(m).jqGrid("setSelection",b[1][b[0]-1]);a.isFunction(c.afterclickPgButtons)&&c.afterclickPgButtons.call(m,"prev",a("#"+g),b[1][b[0]-1]);u(b[0]-1,b)}e();return false})}x=s();u(x[0],x)}})},delGridRow:function(r,c){c=a.extend(!0,{top:0,left:0,width:240,height:"auto",dataheight:"auto",modal:!1,overlay:30,drag:!0,resize:!0,url:"",mtype:"POST",reloadAfterSubmit:!0,beforeShowForm:null,beforeInitData:null,afterShowForm:null,beforeSubmit:null,onclickSubmit:null,afterSubmit:null,
+jqModal:!0,closeOnEscape:!1,delData:{},delicon:[],cancelicon:[],onClose:null,ajaxDelOptions:{},processing:!1,serializeDelData:null,useDataProxy:!1},a.jgrid.del,c||{});b[a(this)[0].p.id]=c;return this.each(function(){var e=this;if(e.grid&&r){var i=a.isFunction(b[e.p.id].beforeShowForm),t=a.isFunction(b[e.p.id].afterShowForm),u=a.isFunction(b[e.p.id].beforeInitData)?b[e.p.id].beforeInitData:!1,s=e.p.id,m={},h=!0,g="DelTbl_"+a.jgrid.jqID(s),n,x,d,q,f="DelTbl_"+s,o={themodal:"delmod"+s,modalhead:"delhd"+
+s,modalcontent:"delcnt"+s,scrollelm:g};a.isArray(r)&&(r=r.join());if(void 0!==a("#"+a.jgrid.jqID(o.themodal))[0]){u&&(h=u.call(e,a("#"+g)),void 0===h&&(h=!0));if(!1===h)return;a("#DelData>td","#"+g).text(r);a("#DelError","#"+g).hide();!0===b[e.p.id].processing&&(b[e.p.id].processing=!1,a("#dData","#"+g).removeClass("ui-state-active"));i&&b[e.p.id].beforeShowForm.call(e,a("#"+g));a.jgrid.viewModal("#"+a.jgrid.jqID(o.themodal),{gbox:"#gbox_"+a.jgrid.jqID(s),jqm:b[e.p.id].jqModal,jqM:!1,overlay:b[e.p.id].overlay,
+modal:b[e.p.id].modal})}else{var k=isNaN(b[e.p.id].dataheight)?b[e.p.id].dataheight:b[e.p.id].dataheight+"px",p=isNaN(c.datawidth)?c.datawidth:c.datawidth+"px",f="<div id='"+f+"' class='formdata' style='width:"+p+";overflow:auto;position:relative;height:"+k+";'><table class='DelTable'><tbody><tr id='DelError' style='display:none'><td class='ui-state-error'></td></tr>"+("<tr id='DelData' style='display:none'><td >"+r+"</td></tr>"),f=f+('<tr><td class="delmsg" style="white-space:pre;">'+b[e.p.id].msg+
+"</td></tr><tr><td > </td></tr>"),f=f+"</tbody></table></div>"+("<table cellspacing='0' cellpadding='0' border='0' class='EditTable' id='"+g+"_2'><tbody><tr><td><hr class='ui-widget-content' style='margin:1px'/></td></tr><tr><td class='DelButton EditButton'>"+("<a href='javascript:void(0)' id='dData' class='fm-button ui-state-default ui-corner-all'>"+c.bSubmit+"</a>")+" "+("<a href='javascript:void(0)' id='eData' class='fm-button ui-state-default ui-corner-all'>"+c.bCancel+"</a>")+"</td></tr></tbody></table>");
+c.gbox="#gbox_"+a.jgrid.jqID(s);a.jgrid.createModal(o,f,c,"#gview_"+a.jgrid.jqID(e.p.id),a("#gview_"+a.jgrid.jqID(e.p.id))[0]);u&&(h=u.call(e,a("#"+g)),void 0===h&&(h=!0));if(!1===h)return;a(".fm-button","#"+g+"_2").hover(function(){a(this).addClass("ui-state-hover")},function(){a(this).removeClass("ui-state-hover")});c.delicon=a.extend([!0,"left","ui-icon-scissors"],b[e.p.id].delicon);c.cancelicon=a.extend([!0,"left","ui-icon-cancel"],b[e.p.id].cancelicon);!0===c.delicon[0]&&a("#dData","#"+g+"_2").addClass("right"===
+c.delicon[1]?"fm-button-icon-right":"fm-button-icon-left").append("<span class='ui-icon "+c.delicon[2]+"'></span>");!0===c.cancelicon[0]&&a("#eData","#"+g+"_2").addClass("right"===c.cancelicon[1]?"fm-button-icon-right":"fm-button-icon-left").append("<span class='ui-icon "+c.cancelicon[2]+"'></span>");a("#dData","#"+g+"_2").click(function(){var f=[true,""],h,i=a("#DelData>td","#"+g).text();m={};a.isFunction(b[e.p.id].onclickSubmit)&&(m=b[e.p.id].onclickSubmit.call(e,b[e.p.id],i)||{});a.isFunction(b[e.p.id].beforeSubmit)&&
+(f=b[e.p.id].beforeSubmit.call(e,i));if(f[0]&&!b[e.p.id].processing){b[e.p.id].processing=true;d=e.p.prmNames;n=a.extend({},b[e.p.id].delData,m);q=d.oper;n[q]=d.deloper;x=d.id;i=(""+i).split(",");if(!i.length)return false;for(h in i)i.hasOwnProperty(h)&&(i[h]=a.jgrid.stripPref(e.p.idPrefix,i[h]));n[x]=i.join();a(this).addClass("ui-state-active");h=a.extend({url:b[e.p.id].url||a(e).jqGrid("getGridParam","editurl"),type:b[e.p.id].mtype,data:a.isFunction(b[e.p.id].serializeDelData)?b[e.p.id].serializeDelData.call(e,
+n):n,complete:function(d,h){var k;if(d.status>=300&&d.status!==304){f[0]=false;f[1]=a.isFunction(b[e.p.id].errorTextFormat)?b[e.p.id].errorTextFormat.call(e,d):h+" Status: '"+d.statusText+"'. Error code: "+d.status}else a.isFunction(b[e.p.id].afterSubmit)&&(f=b[e.p.id].afterSubmit.call(e,d,n));if(f[0]===false){a("#DelError>td","#"+g).html(f[1]);a("#DelError","#"+g).show()}else{if(b[e.p.id].reloadAfterSubmit&&e.p.datatype!=="local")a(e).trigger("reloadGrid");else{if(e.p.treeGrid===true)try{a(e).jqGrid("delTreeNode",
+e.p.idPrefix+i[0])}catch(p){}else for(k=0;k<i.length;k++)a(e).jqGrid("delRowData",e.p.idPrefix+i[k]);e.p.selrow=null;e.p.selarrrow=[]}a.isFunction(b[e.p.id].afterComplete)&&setTimeout(function(){b[e.p.id].afterComplete.call(e,d,i)},500)}b[e.p.id].processing=false;a("#dData","#"+g+"_2").removeClass("ui-state-active");f[0]&&a.jgrid.hideModal("#"+a.jgrid.jqID(o.themodal),{gb:"#gbox_"+a.jgrid.jqID(s),jqm:c.jqModal,onClose:b[e.p.id].onClose})}},a.jgrid.ajaxOptions,b[e.p.id].ajaxDelOptions);if(!h.url&&
+!b[e.p.id].useDataProxy)if(a.isFunction(e.p.dataProxy))b[e.p.id].useDataProxy=true;else{f[0]=false;f[1]=f[1]+(" "+a.jgrid.errors.nourl)}if(f[0])if(b[e.p.id].useDataProxy){h=e.p.dataProxy.call(e,h,"del_"+e.p.id);h===void 0&&(h=[true,""]);if(h[0]===false){f[0]=false;f[1]=h[1]||"Error deleting the selected row!"}else a.jgrid.hideModal("#"+a.jgrid.jqID(o.themodal),{gb:"#gbox_"+a.jgrid.jqID(s),jqm:c.jqModal,onClose:b[e.p.id].onClose})}else a.ajax(h)}if(f[0]===false){a("#DelError>td","#"+g).html(f[1]);
+a("#DelError","#"+g).show()}return false});a("#eData","#"+g+"_2").click(function(){a.jgrid.hideModal("#"+a.jgrid.jqID(o.themodal),{gb:"#gbox_"+a.jgrid.jqID(s),jqm:b[e.p.id].jqModal,onClose:b[e.p.id].onClose});return false});i&&b[e.p.id].beforeShowForm.call(e,a("#"+g));a.jgrid.viewModal("#"+a.jgrid.jqID(o.themodal),{gbox:"#gbox_"+a.jgrid.jqID(s),jqm:b[e.p.id].jqModal,overlay:b[e.p.id].overlay,modal:b[e.p.id].modal})}t&&b[e.p.id].afterShowForm.call(e,a("#"+g));!0===b[e.p.id].closeOnEscape&&setTimeout(function(){a(".ui-jqdialog-titlebar-close",
+"#"+a.jgrid.jqID(o.modalhead)).focus()},0)}})},navGrid:function(b,c,e,i,t,u,s){c=a.extend({edit:!0,editicon:"ui-icon-pencil",add:!0,addicon:"ui-icon-plus",del:!0,delicon:"ui-icon-trash",search:!0,searchicon:"ui-icon-search",refresh:!0,refreshicon:"ui-icon-refresh",refreshstate:"firstpage",view:!1,viewicon:"ui-icon-document",position:"left",closeOnEscape:!0,beforeRefresh:null,afterRefresh:null,cloneToTop:!1,alertwidth:200,alertheight:"auto",alerttop:null,alertleft:null,alertzIndex:null},a.jgrid.nav,
+c||{});return this.each(function(){if(!this.nav){var m={themodal:"alertmod_"+this.p.id,modalhead:"alerthd_"+this.p.id,modalcontent:"alertcnt_"+this.p.id},h=this,g;if(h.grid&&"string"===typeof b){void 0===a("#"+m.themodal)[0]&&(!c.alerttop&&!c.alertleft&&(void 0!==window.innerWidth?(c.alertleft=window.innerWidth,c.alerttop=window.innerHeight):void 0!==document.documentElement&&void 0!==document.documentElement.clientWidth&&0!==document.documentElement.clientWidth?(c.alertleft=document.documentElement.clientWidth,
+c.alerttop=document.documentElement.clientHeight):(c.alertleft=1024,c.alerttop=768),c.alertleft=c.alertleft/2-parseInt(c.alertwidth,10)/2,c.alerttop=c.alerttop/2-25),a.jgrid.createModal(m,"<div>"+c.alerttext+"</div><span tabindex='0'><span tabindex='-1' id='jqg_alrt'></span></span>",{gbox:"#gbox_"+a.jgrid.jqID(h.p.id),jqModal:!0,drag:!0,resize:!0,caption:c.alertcap,top:c.alerttop,left:c.alertleft,width:c.alertwidth,height:c.alertheight,closeOnEscape:c.closeOnEscape,zIndex:c.alertzIndex},"#gview_"+
+a.jgrid.jqID(h.p.id),a("#gbox_"+a.jgrid.jqID(h.p.id))[0],!0));var n=1,x,d=function(){a(this).hasClass("ui-state-disabled")||a(this).addClass("ui-state-hover")},q=function(){a(this).removeClass("ui-state-hover")};c.cloneToTop&&h.p.toppager&&(n=2);for(x=0;x<n;x++){var f=a("<table cellspacing='0' cellpadding='0' border='0' class='ui-pg-table navtable' style='float:left;table-layout:auto;'><tbody><tr></tr></tbody></table>"),o,k;0===x?(o=b,k=h.p.id,o===h.p.toppager&&(k+="_top",n=1)):(o=h.p.toppager,k=
+h.p.id+"_top");"rtl"===h.p.direction&&a(f).attr("dir","rtl").css("float","right");c.add&&(i=i||{},g=a("<td class='ui-pg-button ui-corner-all'></td>"),a(g).append("<div class='ui-pg-div'><span class='ui-icon "+c.addicon+"'></span>"+c.addtext+"</div>"),a("tr",f).append(g),a(g,f).attr({title:c.addtitle||"",id:i.id||"add_"+k}).click(function(){a(this).hasClass("ui-state-disabled")||(a.isFunction(c.addfunc)?c.addfunc.call(h):a(h).jqGrid("editGridRow","new",i));return false}).hover(d,q),g=null);c.edit&&
+(g=a("<td class='ui-pg-button ui-corner-all'></td>"),e=e||{},a(g).append("<div class='ui-pg-div'><span class='ui-icon "+c.editicon+"'></span>"+c.edittext+"</div>"),a("tr",f).append(g),a(g,f).attr({title:c.edittitle||"",id:e.id||"edit_"+k}).click(function(){if(!a(this).hasClass("ui-state-disabled")){var b=h.p.selrow;if(b)a.isFunction(c.editfunc)?c.editfunc.call(h,b):a(h).jqGrid("editGridRow",b,e);else{a.jgrid.viewModal("#"+m.themodal,{gbox:"#gbox_"+a.jgrid.jqID(h.p.id),jqm:true});a("#jqg_alrt").focus()}}return false}).hover(d,
+q),g=null);c.view&&(g=a("<td class='ui-pg-button ui-corner-all'></td>"),s=s||{},a(g).append("<div class='ui-pg-div'><span class='ui-icon "+c.viewicon+"'></span>"+c.viewtext+"</div>"),a("tr",f).append(g),a(g,f).attr({title:c.viewtitle||"",id:s.id||"view_"+k}).click(function(){if(!a(this).hasClass("ui-state-disabled")){var b=h.p.selrow;if(b)a.isFunction(c.viewfunc)?c.viewfunc.call(h,b):a(h).jqGrid("viewGridRow",b,s);else{a.jgrid.viewModal("#"+m.themodal,{gbox:"#gbox_"+a.jgrid.jqID(h.p.id),jqm:true});
+a("#jqg_alrt").focus()}}return false}).hover(d,q),g=null);c.del&&(g=a("<td class='ui-pg-button ui-corner-all'></td>"),t=t||{},a(g).append("<div class='ui-pg-div'><span class='ui-icon "+c.delicon+"'></span>"+c.deltext+"</div>"),a("tr",f).append(g),a(g,f).attr({title:c.deltitle||"",id:t.id||"del_"+k}).click(function(){if(!a(this).hasClass("ui-state-disabled")){var b;if(h.p.multiselect){b=h.p.selarrrow;b.length===0&&(b=null)}else b=h.p.selrow;if(b)a.isFunction(c.delfunc)?c.delfunc.call(h,b):a(h).jqGrid("delGridRow",
+b,t);else{a.jgrid.viewModal("#"+m.themodal,{gbox:"#gbox_"+a.jgrid.jqID(h.p.id),jqm:true});a("#jqg_alrt").focus()}}return false}).hover(d,q),g=null);(c.add||c.edit||c.del||c.view)&&a("tr",f).append("<td class='ui-pg-button ui-state-disabled' style='width:4px;'><span class='ui-separator'></span></td>");c.search&&(g=a("<td class='ui-pg-button ui-corner-all'></td>"),u=u||{},a(g).append("<div class='ui-pg-div'><span class='ui-icon "+c.searchicon+"'></span>"+c.searchtext+"</div>"),a("tr",f).append(g),a(g,
+f).attr({title:c.searchtitle||"",id:u.id||"search_"+k}).click(function(){a(this).hasClass("ui-state-disabled")||(a.isFunction(c.searchfunc)?c.searchfunc.call(h,u):a(h).jqGrid("searchGrid",u));return false}).hover(d,q),u.showOnLoad&&!0===u.showOnLoad&&a(g,f).click(),g=null);c.refresh&&(g=a("<td class='ui-pg-button ui-corner-all'></td>"),a(g).append("<div class='ui-pg-div'><span class='ui-icon "+c.refreshicon+"'></span>"+c.refreshtext+"</div>"),a("tr",f).append(g),a(g,f).attr({title:c.refreshtitle||
+"",id:"refresh_"+k}).click(function(){if(!a(this).hasClass("ui-state-disabled")){a.isFunction(c.beforeRefresh)&&c.beforeRefresh.call(h);h.p.search=false;try{var b=h.p.id;h.p.postData.filters="";try{a("#fbox_"+a.jgrid.jqID(b)).jqFilter("resetFilter")}catch(d){}a.isFunction(h.clearToolbar)&&h.clearToolbar.call(h,false)}catch(e){}switch(c.refreshstate){case "firstpage":a(h).trigger("reloadGrid",[{page:1}]);break;case "current":a(h).trigger("reloadGrid",[{current:true}])}a.isFunction(c.afterRefresh)&&
+c.afterRefresh.call(h)}return false}).hover(d,q),g=null);g=a(".ui-jqgrid").css("font-size")||"11px";a("body").append("<div id='testpg2' class='ui-jqgrid ui-widget ui-widget-content' style='font-size:"+g+";visibility:hidden;' ></div>");g=a(f).clone().appendTo("#testpg2").width();a("#testpg2").remove();a(o+"_"+c.position,o).append(f);h.p._nvtd&&(g>h.p._nvtd[0]&&(a(o+"_"+c.position,o).width(g),h.p._nvtd[0]=g),h.p._nvtd[1]=g);f=g=g=null;this.nav=!0}}}})},navButtonAdd:function(b,c){c=a.extend({caption:"newButton",
+title:"",buttonicon:"ui-icon-newwin",onClickButton:null,position:"last",cursor:"pointer"},c||{});return this.each(function(){if(this.grid){"string"===typeof b&&0!==b.indexOf("#")&&(b="#"+a.jgrid.jqID(b));var e=a(".navtable",b)[0],i=this;if(e&&!(c.id&&void 0!==a("#"+a.jgrid.jqID(c.id),e)[0])){var t=a("<td></td>");"NONE"===c.buttonicon.toString().toUpperCase()?a(t).addClass("ui-pg-button ui-corner-all").append("<div class='ui-pg-div'>"+c.caption+"</div>"):a(t).addClass("ui-pg-button ui-corner-all").append("<div class='ui-pg-div'><span class='ui-icon "+
+c.buttonicon+"'></span>"+c.caption+"</div>");c.id&&a(t).attr("id",c.id);"first"===c.position?0===e.rows[0].cells.length?a("tr",e).append(t):a("tr td:eq(0)",e).before(t):a("tr",e).append(t);a(t,e).attr("title",c.title||"").click(function(b){a(this).hasClass("ui-state-disabled")||a.isFunction(c.onClickButton)&&c.onClickButton.call(i,b);return!1}).hover(function(){a(this).hasClass("ui-state-disabled")||a(this).addClass("ui-state-hover")},function(){a(this).removeClass("ui-state-hover")})}}})},navSeparatorAdd:function(b,
+c){c=a.extend({sepclass:"ui-separator",sepcontent:"",position:"last"},c||{});return this.each(function(){if(this.grid){"string"===typeof b&&0!==b.indexOf("#")&&(b="#"+a.jgrid.jqID(b));var e=a(".navtable",b)[0];if(e){var i="<td class='ui-pg-button ui-state-disabled' style='width:4px;'><span class='"+c.sepclass+"'></span>"+c.sepcontent+"</td>";"first"===c.position?0===e.rows[0].cells.length?a("tr",e).append(i):a("tr td:eq(0)",e).before(i):a("tr",e).append(i)}}})},GridToForm:function(b,c){return this.each(function(){var e=
+this,i;if(e.grid){var t=a(e).jqGrid("getRowData",b);if(t)for(i in t)t.hasOwnProperty(i)&&(a("[name="+a.jgrid.jqID(i)+"]",c).is("input:radio")||a("[name="+a.jgrid.jqID(i)+"]",c).is("input:checkbox")?a("[name="+a.jgrid.jqID(i)+"]",c).each(function(){if(a(this).val()==t[i])a(this)[e.p.useProp?"prop":"attr"]("checked",!0);else a(this)[e.p.useProp?"prop":"attr"]("checked",!1)}):a("[name="+a.jgrid.jqID(i)+"]",c).val(t[i]))}})},FormToGrid:function(b,c,e,i){return this.each(function(){if(this.grid){e||(e=
+"set");i||(i="first");var t=a(c).serializeArray(),u={};a.each(t,function(a,b){u[b.name]=b.value});"add"===e?a(this).jqGrid("addRowData",b,u,i):"set"===e&&a(this).jqGrid("setRowData",b,u)}})}})})(jQuery);
+(function(a){a.fn.jqFilter=function(d){if("string"===typeof d){var l=a.fn.jqFilter[d];if(!l)throw"jqFilter - No such method: "+d;var v=a.makeArray(arguments).slice(1);return l.apply(this,v)}var n=a.extend(!0,{filter:null,columns:[],onChange:null,afterRedraw:null,checkValues:null,error:!1,errmsg:"",errorcheck:!0,showQuery:!0,sopt:null,ops:[],operands:null,numopts:"eq,ne,lt,le,gt,ge,nu,nn,in,ni".split(","),stropts:"eq,ne,bw,bn,ew,en,cn,nc,nu,nn,in,ni".split(","),strarr:["text","string","blob"],groupOps:[{op:"AND",
+text:"AND"},{op:"OR",text:"OR"}],groupButton:!0,ruleButtons:!0,direction:"ltr"},a.jgrid.filter,d||{});return this.each(function(){if(!this.filter){this.p=n;if(null===this.p.filter||void 0===this.p.filter)this.p.filter={groupOp:this.p.groupOps[0].op,rules:[],groups:[]};var d,l=this.p.columns.length,f,t=/msie/i.test(navigator.userAgent)&&!window.opera;this.p.initFilter=a.extend(!0,{},this.p.filter);if(l){for(d=0;d<l;d++)if(f=this.p.columns[d],f.stype?f.inputtype=f.stype:f.inputtype||(f.inputtype="text"),
+f.sorttype?f.searchtype=f.sorttype:f.searchtype||(f.searchtype="string"),void 0===f.hidden&&(f.hidden=!1),f.label||(f.label=f.name),f.index&&(f.name=f.index),f.hasOwnProperty("searchoptions")||(f.searchoptions={}),!f.hasOwnProperty("searchrules"))f.searchrules={};this.p.showQuery&&a(this).append("<table class='queryresult ui-widget ui-widget-content' style='display:block;max-width:440px;border:0px none;' dir='"+this.p.direction+"'><tbody><tr><td class='query'></td></tr></tbody></table>");var u=function(){return a("#"+
+a.jgrid.jqID(n.id))[0]||null},r=function(g,j){var b=[!0,""],c=u();if(a.isFunction(j.searchrules))b=j.searchrules.call(c,g,j);else if(a.jgrid&&a.jgrid.checkValues)try{b=a.jgrid.checkValues.call(c,g,-1,j.searchrules,j.label)}catch(k){}b&&b.length&&!1===b[0]&&(n.error=!b[0],n.errmsg=b[1])};this.onchange=function(){this.p.error=!1;this.p.errmsg="";return a.isFunction(this.p.onChange)?this.p.onChange.call(this,this.p):!1};this.reDraw=function(){a("table.group:first",this).remove();var g=this.createTableForGroup(n.filter,
+null);a(this).append(g);a.isFunction(this.p.afterRedraw)&&this.p.afterRedraw.call(this,this.p)};this.createTableForGroup=function(g,j){var b=this,c,k=a("<table class='group ui-widget ui-widget-content' style='border:0px none;'><tbody></tbody></table>"),e="left";"rtl"===this.p.direction&&(e="right",k.attr("dir","rtl"));null===j&&k.append("<tr class='error' style='display:none;'><th colspan='5' class='ui-state-error' align='"+e+"'></th></tr>");var h=a("<tr></tr>");k.append(h);e=a("<th colspan='5' align='"+
+e+"'></th>");h.append(e);if(!0===this.p.ruleButtons){var d=a("<select class='opsel'></select>");e.append(d);var h="",i;for(c=0;c<n.groupOps.length;c++)i=g.groupOp===b.p.groupOps[c].op?" selected='selected'":"",h+="<option value='"+b.p.groupOps[c].op+"'"+i+">"+b.p.groupOps[c].text+"</option>";d.append(h).bind("change",function(){g.groupOp=a(d).val();b.onchange()})}h="<span></span>";this.p.groupButton&&(h=a("<input type='button' value='+ {}' title='Add subgroup' class='add-group'/>"),h.bind("click",
+function(){if(g.groups===void 0)g.groups=[];g.groups.push({groupOp:n.groupOps[0].op,rules:[],groups:[]});b.reDraw();b.onchange();return false}));e.append(h);if(!0===this.p.ruleButtons){var h=a("<input type='button' value='+' title='Add rule' class='add-rule ui-add'/>"),f;h.bind("click",function(){if(g.rules===void 0)g.rules=[];for(c=0;c<b.p.columns.length;c++){var e=b.p.columns[c].search===void 0?true:b.p.columns[c].search,j=b.p.columns[c].hidden===true;if(b.p.columns[c].searchoptions.searchhidden===
+true&&e||e&&!j){f=b.p.columns[c];break}}e=f.searchoptions.sopt?f.searchoptions.sopt:b.p.sopt?b.p.sopt:a.inArray(f.searchtype,b.p.strarr)!==-1?b.p.stropts:b.p.numopts;g.rules.push({field:f.name,op:e[0],data:""});b.reDraw();return false});e.append(h)}null!==j&&(h=a("<input type='button' value='-' title='Delete group' class='delete-group'/>"),e.append(h),h.bind("click",function(){for(c=0;c<j.groups.length;c++)if(j.groups[c]===g){j.groups.splice(c,1);break}b.reDraw();b.onchange();return false}));if(void 0!==
+g.groups)for(c=0;c<g.groups.length;c++)e=a("<tr></tr>"),k.append(e),h=a("<td class='first'></td>"),e.append(h),h=a("<td colspan='4'></td>"),h.append(this.createTableForGroup(g.groups[c],g)),e.append(h);void 0===g.groupOp&&(g.groupOp=b.p.groupOps[0].op);if(void 0!==g.rules)for(c=0;c<g.rules.length;c++)k.append(this.createTableRowForRule(g.rules[c],g));return k};this.createTableRowForRule=function(g,j){var b=this,c=u(),k=a("<tr></tr>"),e,h,f,i,d="",p;k.append("<td class='first'></td>");var m=a("<td class='columns'></td>");
+k.append(m);var l=a("<select></select>"),o,q=[];m.append(l);l.bind("change",function(){g.field=a(l).val();f=a(this).parents("tr:first");for(e=0;e<b.p.columns.length;e++)if(b.p.columns[e].name===g.field){i=b.p.columns[e];break}if(i){i.searchoptions.id=a.jgrid.randId();t&&"text"===i.inputtype&&!i.searchoptions.size&&(i.searchoptions.size=10);var d=a.jgrid.createEl.call(c,i.inputtype,i.searchoptions,"",!0,b.p.ajaxSelectOptions,!0);a(d).addClass("input-elm");h=i.searchoptions.sopt?i.searchoptions.sopt:
+b.p.sopt?b.p.sopt:-1!==a.inArray(i.searchtype,b.p.strarr)?b.p.stropts:b.p.numopts;var j="",k=0;q=[];a.each(b.p.ops,function(){q.push(this.oper)});for(e=0;e<h.length;e++)o=a.inArray(h[e],q),-1!==o&&(0===k&&(g.op=b.p.ops[o].oper),j+="<option value='"+b.p.ops[o].oper+"'>"+b.p.ops[o].text+"</option>",k++);a(".selectopts",f).empty().append(j);a(".selectopts",f)[0].selectedIndex=0;a.jgrid.msie&&9>a.jgrid.msiever()&&(j=parseInt(a("select.selectopts",f)[0].offsetWidth,10)+1,a(".selectopts",f).width(j),a(".selectopts",
+f).css("width","auto"));a(".data",f).empty().append(d);a.jgrid.bindEv.call(c,d,i.searchoptions);a(".input-elm",f).bind("change",function(e){var d=a(this).hasClass("ui-autocomplete-input")?200:0;setTimeout(function(){var d=e.target;g.data=d.nodeName.toUpperCase()==="SPAN"&&i.searchoptions&&a.isFunction(i.searchoptions.custom_value)?i.searchoptions.custom_value.call(c,a(d).children(".customelement:first"),"get"):d.value;b.onchange()},d)});setTimeout(function(){g.data=a(d).val();b.onchange()},0)}});
+for(e=m=0;e<b.p.columns.length;e++){p=void 0===b.p.columns[e].search?!0:b.p.columns[e].search;var r=!0===b.p.columns[e].hidden;if(!0===b.p.columns[e].searchoptions.searchhidden&&p||p&&!r)p="",g.field===b.p.columns[e].name&&(p=" selected='selected'",m=e),d+="<option value='"+b.p.columns[e].name+"'"+p+">"+b.p.columns[e].label+"</option>"}l.append(d);d=a("<td class='operators'></td>");k.append(d);i=n.columns[m];i.searchoptions.id=a.jgrid.randId();t&&"text"===i.inputtype&&!i.searchoptions.size&&(i.searchoptions.size=
+10);m=a.jgrid.createEl.call(c,i.inputtype,i.searchoptions,g.data,!0,b.p.ajaxSelectOptions,!0);if("nu"===g.op||"nn"===g.op)a(m).attr("readonly","true"),a(m).attr("disabled","true");var s=a("<select class='selectopts'></select>");d.append(s);s.bind("change",function(){g.op=a(s).val();f=a(this).parents("tr:first");var c=a(".input-elm",f)[0];if(g.op==="nu"||g.op==="nn"){g.data="";c.value="";c.setAttribute("readonly","true");c.setAttribute("disabled","true")}else{c.removeAttribute("readonly");c.removeAttribute("disabled")}b.onchange()});
+h=i.searchoptions.sopt?i.searchoptions.sopt:b.p.sopt?b.p.sopt:-1!==a.inArray(i.searchtype,b.p.strarr)?b.p.stropts:b.p.numopts;d="";a.each(b.p.ops,function(){q.push(this.oper)});for(e=0;e<h.length;e++)o=a.inArray(h[e],q),-1!==o&&(p=g.op===b.p.ops[o].oper?" selected='selected'":"",d+="<option value='"+b.p.ops[o].oper+"'"+p+">"+b.p.ops[o].text+"</option>");s.append(d);d=a("<td class='data'></td>");k.append(d);d.append(m);a.jgrid.bindEv.call(c,m,i.searchoptions);a(m).addClass("input-elm").bind("change",
+function(){g.data=i.inputtype==="custom"?i.searchoptions.custom_value.call(c,a(this).children(".customelement:first"),"get"):a(this).val();b.onchange()});d=a("<td></td>");k.append(d);!0===this.p.ruleButtons&&(m=a("<input type='button' value='-' title='Delete rule' class='delete-rule ui-del'/>"),d.append(m),m.bind("click",function(){for(e=0;e<j.rules.length;e++)if(j.rules[e]===g){j.rules.splice(e,1);break}b.reDraw();b.onchange();return false}));return k};this.getStringForGroup=function(a){var d="(",
+b;if(void 0!==a.groups)for(b=0;b<a.groups.length;b++){1<d.length&&(d+=" "+a.groupOp+" ");try{d+=this.getStringForGroup(a.groups[b])}catch(c){alert(c)}}if(void 0!==a.rules)try{for(b=0;b<a.rules.length;b++)1<d.length&&(d+=" "+a.groupOp+" "),d+=this.getStringForRule(a.rules[b])}catch(f){alert(f)}d+=")";return"()"===d?"":d};this.getStringForRule=function(d){var f="",b="",c,k;for(c=0;c<this.p.ops.length;c++)if(this.p.ops[c].oper===d.op){f=this.p.operands.hasOwnProperty(d.op)?this.p.operands[d.op]:"";b=
+this.p.ops[c].oper;break}for(c=0;c<this.p.columns.length;c++)if(this.p.columns[c].name===d.field){k=this.p.columns[c];break}if(void 0===k)return"";c=d.data;if("bw"===b||"bn"===b)c+="%";if("ew"===b||"en"===b)c="%"+c;if("cn"===b||"nc"===b)c="%"+c+"%";if("in"===b||"ni"===b)c=" ("+c+")";n.errorcheck&&r(d.data,k);return-1!==a.inArray(k.searchtype,["int","integer","float","number","currency"])||"nn"===b||"nu"===b?d.field+" "+f+" "+c:d.field+" "+f+' "'+c+'"'};this.resetFilter=function(){this.p.filter=a.extend(!0,
+{},this.p.initFilter);this.reDraw();this.onchange()};this.hideError=function(){a("th.ui-state-error",this).html("");a("tr.error",this).hide()};this.showError=function(){a("th.ui-state-error",this).html(this.p.errmsg);a("tr.error",this).show()};this.toUserFriendlyString=function(){return this.getStringForGroup(n.filter)};this.toString=function(){function a(b){var c="(",f;if(void 0!==b.groups)for(f=0;f<b.groups.length;f++)1<c.length&&(c="OR"===b.groupOp?c+" || ":c+" && "),c+=a(b.groups[f]);if(void 0!==
+b.rules)for(f=0;f<b.rules.length;f++){1<c.length&&(c="OR"===b.groupOp?c+" || ":c+" && ");var e=b.rules[f];if(d.p.errorcheck){for(var h=void 0,l=void 0,h=0;h<d.p.columns.length;h++)if(d.p.columns[h].name===e.field){l=d.p.columns[h];break}l&&r(e.data,l)}c+=e.op+"(item."+e.field+",'"+e.data+"')"}c+=")";return"()"===c?"":c}var d=this;return a(this.p.filter)};this.reDraw();if(this.p.showQuery)this.onchange();this.filter=!0}}})};a.extend(a.fn.jqFilter,{toSQLString:function(){var a="";this.each(function(){a=
+this.toUserFriendlyString()});return a},filterData:function(){var a;this.each(function(){a=this.p.filter});return a},getParameter:function(a){return void 0!==a&&this.p.hasOwnProperty(a)?this.p[a]:this.p},resetFilter:function(){return this.each(function(){this.resetFilter()})},addFilter:function(d){"string"===typeof d&&(d=a.jgrid.parse(d));this.each(function(){this.p.filter=d;this.reDraw();this.onchange()})}})})(jQuery);
+(function(a){a.jgrid.inlineEdit=a.jgrid.inlineEdit||{};a.jgrid.extend({editRow:function(c,b,e,o,l,g,n,h,f){var j={},d=a.makeArray(arguments).slice(1);if("object"===a.type(d[0]))j=d[0];else if(void 0!==b&&(j.keys=b),a.isFunction(e)&&(j.oneditfunc=e),a.isFunction(o)&&(j.successfunc=o),void 0!==l&&(j.url=l),void 0!==g&&(j.extraparam=g),a.isFunction(n)&&(j.aftersavefunc=n),a.isFunction(h)&&(j.errorfunc=h),a.isFunction(f))j.afterrestorefunc=f;j=a.extend(!0,{keys:!1,oneditfunc:null,successfunc:null,url:null,
+extraparam:{},aftersavefunc:null,errorfunc:null,afterrestorefunc:null,restoreAfterError:!0,mtype:"POST"},a.jgrid.inlineEdit,j);return this.each(function(){var d=this,b,f,e=0,h=null,l={},g,k;if(d.grid&&(g=a(d).jqGrid("getInd",c,!0),!1!==g&&"0"===(a(g).attr("editable")||"0")&&!a(g).hasClass("not-editable-row")))k=d.p.colModel,a('td[role="gridcell"]',g).each(function(g){b=k[g].name;var j=!0===d.p.treeGrid&&b===d.p.ExpandColumn;if(j)f=a("span:first",this).html();else try{f=a.unformat.call(d,this,{rowId:c,
+colModel:k[g]},g)}catch(o){f=k[g].edittype&&"textarea"===k[g].edittype?a(this).text():a(this).html()}if("cb"!==b&&"subgrid"!==b&&"rn"!==b&&(d.p.autoencode&&(f=a.jgrid.htmlDecode(f)),l[b]=f,!0===k[g].editable)){null===h&&(h=g);j?a("span:first",this).html(""):a(this).html("");var x=a.extend({},k[g].editoptions||{},{id:c+"_"+b,name:b});k[g].edittype||(k[g].edittype="text");if(" "===f||" "===f||1===f.length&&160===f.charCodeAt(0))f="";var v=a.jgrid.createEl.call(d,k[g].edittype,x,f,!0,a.extend({},
+a.jgrid.ajaxOptions,d.p.ajaxSelectOptions||{}));a(v).addClass("editable");j?a("span:first",this).append(v):a(this).append(v);a.jgrid.bindEv.call(d,v,x);"select"===k[g].edittype&&void 0!==k[g].editoptions&&!0===k[g].editoptions.multiple&&void 0===k[g].editoptions.dataUrl&&a.jgrid.msie&&a(v).width(a(v).width());e++}}),0<e&&(l.id=c,d.p.savedRow.push(l),a(g).attr("editable","1"),a("td:eq("+h+") input",g).focus(),!0===j.keys&&a(g).bind("keydown",function(f){if(27===f.keyCode){a(d).jqGrid("restoreRow",
+c,j.afterrestorefunc);if(d.p._inlinenav)try{a(d).jqGrid("showAddEditButtons")}catch(b){}return!1}if(13===f.keyCode){if("TEXTAREA"===f.target.tagName)return!0;if(a(d).jqGrid("saveRow",c,j)&&d.p._inlinenav)try{a(d).jqGrid("showAddEditButtons")}catch(g){}return!1}}),a(d).triggerHandler("jqGridInlineEditRow",[c,j]),a.isFunction(j.oneditfunc)&&j.oneditfunc.call(d,c))})},saveRow:function(c,b,e,o,l,g,n){var h=a.makeArray(arguments).slice(1),f={};if("object"===a.type(h[0]))f=h[0];else if(a.isFunction(b)&&
+(f.successfunc=b),void 0!==e&&(f.url=e),void 0!==o&&(f.extraparam=o),a.isFunction(l)&&(f.aftersavefunc=l),a.isFunction(g)&&(f.errorfunc=g),a.isFunction(n))f.afterrestorefunc=n;var f=a.extend(!0,{successfunc:null,url:null,extraparam:{},aftersavefunc:null,errorfunc:null,afterrestorefunc:null,restoreAfterError:!0,mtype:"POST"},a.jgrid.inlineEdit,f),j=!1,d=this[0],m,i={},w={},r={},t,s,q;if(!d.grid)return j;q=a(d).jqGrid("getInd",c,!0);if(!1===q)return j;h=a(q).attr("editable");f.url=f.url||d.p.editurl;
+if("1"===h){var k;a('td[role="gridcell"]',q).each(function(c){k=d.p.colModel[c];m=k.name;if("cb"!==m&&"subgrid"!==m&&!0===k.editable&&"rn"!==m&&!a(this).hasClass("not-editable-cell")){switch(k.edittype){case "checkbox":var b=["Yes","No"];k.editoptions&&(b=k.editoptions.value.split(":"));i[m]=a("input",this).is(":checked")?b[0]:b[1];break;case "text":case "password":case "textarea":case "button":i[m]=a("input, textarea",this).val();break;case "select":if(k.editoptions.multiple){var b=a("select",this),
+g=[];i[m]=a(b).val();i[m]=i[m]?i[m].join(","):"";a("select option:selected",this).each(function(d,c){g[d]=a(c).text()});w[m]=g.join(",")}else i[m]=a("select option:selected",this).val(),w[m]=a("select option:selected",this).text();k.formatter&&"select"===k.formatter&&(w={});break;case "custom":try{if(k.editoptions&&a.isFunction(k.editoptions.custom_value)){if(i[m]=k.editoptions.custom_value.call(d,a(".customelement",this),"get"),void 0===i[m])throw"e2";}else throw"e1";}catch(e){"e1"===e&&a.jgrid.info_dialog(a.jgrid.errors.errcap,
+"function 'custom_value' "+a.jgrid.edit.msg.nodefined,a.jgrid.edit.bClose),"e2"===e?a.jgrid.info_dialog(a.jgrid.errors.errcap,"function 'custom_value' "+a.jgrid.edit.msg.novalue,a.jgrid.edit.bClose):a.jgrid.info_dialog(a.jgrid.errors.errcap,e.message,a.jgrid.edit.bClose)}}s=a.jgrid.checkValues.call(d,i[m],c);if(!1===s[0])return s[1]=i[m]+" "+s[1],!1;d.p.autoencode&&(i[m]=a.jgrid.htmlEncode(i[m]));"clientArray"!==f.url&&k.editoptions&&!0===k.editoptions.NullIfEmpty&&""===i[m]&&(r[m]="null")}});if(!1===
+s[0]){try{var u=d.rows.namedItem(c),p=a.jgrid.findPos(u);a.jgrid.info_dialog(a.jgrid.errors.errcap,s[1],a.jgrid.edit.bClose,{left:p[0],top:p[1]+a(u).outerHeight()})}catch(y){alert(s[1])}return j}h=d.p.prmNames;u=c;p=!1===d.p.keyIndex?h.id:d.p.colModel[d.p.keyIndex+(!0===d.p.rownumbers?1:0)+(!0===d.p.multiselect?1:0)+(!0===d.p.subGrid?1:0)].name;if(i){i[h.oper]=h.editoper;if(void 0===i[p]||""===i[p])i[p]=c;else if(q.id!==d.p.idPrefix+i[p]&&(h=a.jgrid.stripPref(d.p.idPrefix,c),void 0!==d.p._index[h]&&
+(d.p._index[i[p]]=d.p._index[h],delete d.p._index[h]),c=d.p.idPrefix+i[p],a(q).attr("id",c),d.p.selrow===u&&(d.p.selrow=c),a.isArray(d.p.selarrrow)&&(h=a.inArray(u,d.p.selarrrow),0<=h&&(d.p.selarrrow[h]=c)),d.p.multiselect))h="jqg_"+d.p.id+"_"+c,a("input.cbox",q).attr("id",h).attr("name",h);void 0===d.p.inlineData&&(d.p.inlineData={});i=a.extend({},i,d.p.inlineData,f.extraparam)}if("clientArray"===f.url){i=a.extend({},i,w);d.p.autoencode&&a.each(i,function(d,c){i[d]=a.jgrid.htmlDecode(c)});h=a(d).jqGrid("setRowData",
+c,i);a(q).attr("editable","0");for(p=0;p<d.p.savedRow.length;p++)if(""+d.p.savedRow[p].id===""+u){t=p;break}0<=t&&d.p.savedRow.splice(t,1);a(d).triggerHandler("jqGridInlineAfterSaveRow",[c,h,i,f]);a.isFunction(f.aftersavefunc)&&f.aftersavefunc.call(d,c,h,f);j=!0;a(q).removeClass("jqgrid-new-row").unbind("keydown")}else a("#lui_"+a.jgrid.jqID(d.p.id)).show(),r=a.extend({},i,r),r[p]=a.jgrid.stripPref(d.p.idPrefix,r[p]),a.ajax(a.extend({url:f.url,data:a.isFunction(d.p.serializeRowData)?d.p.serializeRowData.call(d,
+r):r,type:f.mtype,async:!1,complete:function(b,g){a("#lui_"+a.jgrid.jqID(d.p.id)).hide();if("success"===g){var e=!0,h;h=a(d).triggerHandler("jqGridInlineSuccessSaveRow",[b,c,f]);a.isArray(h)||(h=[!0,i]);h[0]&&a.isFunction(f.successfunc)&&(h=f.successfunc.call(d,b));a.isArray(h)?(e=h[0],i=h[1]||i):e=h;if(!0===e){d.p.autoencode&&a.each(i,function(d,c){i[d]=a.jgrid.htmlDecode(c)});i=a.extend({},i,w);a(d).jqGrid("setRowData",c,i);a(q).attr("editable","0");for(e=0;e<d.p.savedRow.length;e++)if(""+d.p.savedRow[e].id===
+""+c){t=e;break}0<=t&&d.p.savedRow.splice(t,1);a(d).triggerHandler("jqGridInlineAfterSaveRow",[c,b,i,f]);a.isFunction(f.aftersavefunc)&&f.aftersavefunc.call(d,c,b);j=!0;a(q).removeClass("jqgrid-new-row").unbind("keydown")}else a(d).triggerHandler("jqGridInlineErrorSaveRow",[c,b,g,null,f]),a.isFunction(f.errorfunc)&&f.errorfunc.call(d,c,b,g,null),!0===f.restoreAfterError&&a(d).jqGrid("restoreRow",c,f.afterrestorefunc)}},error:function(b,e,g){a("#lui_"+a.jgrid.jqID(d.p.id)).hide();a(d).triggerHandler("jqGridInlineErrorSaveRow",
+[c,b,e,g,f]);if(a.isFunction(f.errorfunc))f.errorfunc.call(d,c,b,e,g);else{b=b.responseText||b.statusText;try{a.jgrid.info_dialog(a.jgrid.errors.errcap,'<div class="ui-state-error">'+b+"</div>",a.jgrid.edit.bClose,{buttonalign:"right"})}catch(h){alert(b)}}!0===f.restoreAfterError&&a(d).jqGrid("restoreRow",c,f.afterrestorefunc)}},a.jgrid.ajaxOptions,d.p.ajaxRowOptions||{}))}return j},restoreRow:function(c,b){var e=a.makeArray(arguments).slice(1),o={};"object"===a.type(e[0])?o=e[0]:a.isFunction(b)&&
+(o.afterrestorefunc=b);o=a.extend(!0,{},a.jgrid.inlineEdit,o);return this.each(function(){var b=this,e,n,h={},f;if(b.grid){n=a(b).jqGrid("getInd",c,true);if(n!==false){for(f=0;f<b.p.savedRow.length;f++)if(""+b.p.savedRow[f].id===""+c){e=f;break}if(e>=0){if(a.isFunction(a.fn.datepicker))try{a("input.hasDatepicker","#"+a.jgrid.jqID(n.id)).datepicker("hide")}catch(j){}a.each(b.p.colModel,function(){this.editable===true&&b.p.savedRow[e].hasOwnProperty(this.name)&&(h[this.name]=b.p.savedRow[e][this.name])});
+a(b).jqGrid("setRowData",c,h);a(n).attr("editable","0").unbind("keydown");b.p.savedRow.splice(e,1);a("#"+a.jgrid.jqID(c),"#"+a.jgrid.jqID(b.p.id)).hasClass("jqgrid-new-row")&&setTimeout(function(){a(b).jqGrid("delRowData",c);a(b).jqGrid("showAddEditButtons")},0)}a(b).triggerHandler("jqGridInlineAfterRestoreRow",[c]);a.isFunction(o.afterrestorefunc)&&o.afterrestorefunc.call(b,c)}}})},addRow:function(c){c=a.extend(!0,{rowID:null,initdata:{},position:"first",useDefValues:!0,useFormatter:!1,addRowParams:{extraparam:{}}},
+c||{});return this.each(function(){if(this.grid){var b=this;c.rowID=a.isFunction(c.rowID)?c.rowID.call(b,c):null!=c.rowID?c.rowID:a.jgrid.randId();!0===c.useDefValues&&a(b.p.colModel).each(function(){if(this.editoptions&&this.editoptions.defaultValue){var e=this.editoptions.defaultValue,e=a.isFunction(e)?e.call(b):e;c.initdata[this.name]=e}});a(b).jqGrid("addRowData",c.rowID,c.initdata,c.position);c.rowID=b.p.idPrefix+c.rowID;a("#"+a.jgrid.jqID(c.rowID),"#"+a.jgrid.jqID(b.p.id)).addClass("jqgrid-new-row");
+if(c.useFormatter)a("#"+a.jgrid.jqID(c.rowID)+" .ui-inline-edit","#"+a.jgrid.jqID(b.p.id)).click();else{var e=b.p.prmNames;c.addRowParams.extraparam[e.oper]=e.addoper;a(b).jqGrid("editRow",c.rowID,c.addRowParams);a(b).jqGrid("setSelection",c.rowID)}}})},inlineNav:function(c,b){b=a.extend(!0,{edit:!0,editicon:"ui-icon-pencil",add:!0,addicon:"ui-icon-plus",save:!0,saveicon:"ui-icon-disk",cancel:!0,cancelicon:"ui-icon-cancel",addParams:{addRowParams:{extraparam:{}}},editParams:{},restoreAfterSelect:!0},
+a.jgrid.nav,b||{});return this.each(function(){if(this.grid){var e=this,o,l=a.jgrid.jqID(e.p.id);e.p._inlinenav=!0;if(!0===b.addParams.useFormatter){var g=e.p.colModel,n;for(n=0;n<g.length;n++)if(g[n].formatter&&"actions"===g[n].formatter){g[n].formatoptions&&(g=a.extend({keys:!1,onEdit:null,onSuccess:null,afterSave:null,onError:null,afterRestore:null,extraparam:{},url:null},g[n].formatoptions),b.addParams.addRowParams={keys:g.keys,oneditfunc:g.onEdit,successfunc:g.onSuccess,url:g.url,extraparam:g.extraparam,
+aftersavefunc:g.afterSave,errorfunc:g.onError,afterrestorefunc:g.afterRestore});break}}b.add&&a(e).jqGrid("navButtonAdd",c,{caption:b.addtext,title:b.addtitle,buttonicon:b.addicon,id:e.p.id+"_iladd",onClickButton:function(){a(e).jqGrid("addRow",b.addParams);b.addParams.useFormatter||(a("#"+l+"_ilsave").removeClass("ui-state-disabled"),a("#"+l+"_ilcancel").removeClass("ui-state-disabled"),a("#"+l+"_iladd").addClass("ui-state-disabled"),a("#"+l+"_iledit").addClass("ui-state-disabled"))}});b.edit&&a(e).jqGrid("navButtonAdd",
+c,{caption:b.edittext,title:b.edittitle,buttonicon:b.editicon,id:e.p.id+"_iledit",onClickButton:function(){var c=a(e).jqGrid("getGridParam","selrow");c?(a(e).jqGrid("editRow",c,b.editParams),a("#"+l+"_ilsave").removeClass("ui-state-disabled"),a("#"+l+"_ilcancel").removeClass("ui-state-disabled"),a("#"+l+"_iladd").addClass("ui-state-disabled"),a("#"+l+"_iledit").addClass("ui-state-disabled")):(a.jgrid.viewModal("#alertmod",{gbox:"#gbox_"+l,jqm:!0}),a("#jqg_alrt").focus())}});b.save&&(a(e).jqGrid("navButtonAdd",
+c,{caption:b.savetext||"",title:b.savetitle||"Save row",buttonicon:b.saveicon,id:e.p.id+"_ilsave",onClickButton:function(){var c=e.p.savedRow[0].id;if(c){var f=e.p.prmNames,g=f.oper,d={};a("#"+a.jgrid.jqID(c),"#"+l).hasClass("jqgrid-new-row")?(b.addParams.addRowParams.extraparam[g]=f.addoper,d=b.addParams.addRowParams):(b.editParams.extraparam||(b.editParams.extraparam={}),b.editParams.extraparam[g]=f.editoper,d=b.editParams);a(e).jqGrid("saveRow",c,d)&&a(e).jqGrid("showAddEditButtons")}else a.jgrid.viewModal("#alertmod",
+{gbox:"#gbox_"+l,jqm:!0}),a("#jqg_alrt").focus()}}),a("#"+l+"_ilsave").addClass("ui-state-disabled"));b.cancel&&(a(e).jqGrid("navButtonAdd",c,{caption:b.canceltext||"",title:b.canceltitle||"Cancel row editing",buttonicon:b.cancelicon,id:e.p.id+"_ilcancel",onClickButton:function(){var c=e.p.savedRow[0].id,f={};if(c){f=a("#"+a.jgrid.jqID(c),"#"+l).hasClass("jqgrid-new-row")?b.addParams.addRowParams:b.editParams;a(e).jqGrid("restoreRow",c,f);a(e).jqGrid("showAddEditButtons")}else{a.jgrid.viewModal("#alertmod",
+{gbox:"#gbox_"+l,jqm:true});a("#jqg_alrt").focus()}}}),a("#"+l+"_ilcancel").addClass("ui-state-disabled"));!0===b.restoreAfterSelect&&(o=a.isFunction(e.p.beforeSelectRow)?e.p.beforeSelectRow:!1,e.p.beforeSelectRow=function(c,f){var g=true;if(e.p.savedRow.length>0&&e.p._inlinenav===true&&c!==e.p.selrow&&e.p.selrow!==null){e.p.selrow===b.addParams.rowID?a(e).jqGrid("delRowData",e.p.selrow):a(e).jqGrid("restoreRow",e.p.selrow,b.editParams);a(e).jqGrid("showAddEditButtons")}o&&(g=o.call(e,c,f));return g})}})},
+showAddEditButtons:function(){return this.each(function(){if(this.grid){var c=a.jgrid.jqID(this.p.id);a("#"+c+"_ilsave").addClass("ui-state-disabled");a("#"+c+"_ilcancel").addClass("ui-state-disabled");a("#"+c+"_iladd").removeClass("ui-state-disabled");a("#"+c+"_iledit").removeClass("ui-state-disabled")}})}})})(jQuery);
+(function(b){b.jgrid.extend({editCell:function(d,f,a){return this.each(function(){var c=this,g,e,h,i;if(c.grid&&!0===c.p.cellEdit){f=parseInt(f,10);c.p.selrow=c.rows[d].id;c.p.knv||b(c).jqGrid("GridNav");if(0<c.p.savedRow.length){if(!0===a&&d==c.p.iRow&&f==c.p.iCol)return;b(c).jqGrid("saveCell",c.p.savedRow[0].id,c.p.savedRow[0].ic)}else window.setTimeout(function(){b("#"+b.jgrid.jqID(c.p.knv)).attr("tabindex","-1").focus()},0);i=c.p.colModel[f];g=i.name;if(!("subgrid"===g||"cb"===g||"rn"===g)){h=
+b("td:eq("+f+")",c.rows[d]);if(!0===i.editable&&!0===a&&!h.hasClass("not-editable-cell")){0<=parseInt(c.p.iCol,10)&&0<=parseInt(c.p.iRow,10)&&(b("td:eq("+c.p.iCol+")",c.rows[c.p.iRow]).removeClass("edit-cell ui-state-highlight"),b(c.rows[c.p.iRow]).removeClass("selected-row ui-state-hover"));b(h).addClass("edit-cell ui-state-highlight");b(c.rows[d]).addClass("selected-row ui-state-hover");try{e=b.unformat.call(c,h,{rowId:c.rows[d].id,colModel:i},f)}catch(k){e=i.edittype&&"textarea"===i.edittype?b(h).text():
+b(h).html()}c.p.autoencode&&(e=b.jgrid.htmlDecode(e));i.edittype||(i.edittype="text");c.p.savedRow.push({id:d,ic:f,name:g,v:e});if(" "===e||" "===e||1===e.length&&160===e.charCodeAt(0))e="";if(b.isFunction(c.p.formatCell)){var j=c.p.formatCell.call(c,c.rows[d].id,g,e,d,f);void 0!==j&&(e=j)}var j=b.extend({},i.editoptions||{},{id:d+"_"+g,name:g}),n=b.jgrid.createEl.call(c,i.edittype,j,e,!0,b.extend({},b.jgrid.ajaxOptions,c.p.ajaxSelectOptions||{}));b(c).triggerHandler("jqGridBeforeEditCell",
+[c.rows[d].id,g,e,d,f]);b.isFunction(c.p.beforeEditCell)&&c.p.beforeEditCell.call(c,c.rows[d].id,g,e,d,f);b(h).html("").append(n).attr("tabindex","0");b.jgrid.bindEv.call(c,n,j);window.setTimeout(function(){b(n).focus()},0);b("input, select, textarea",h).bind("keydown",function(a){a.keyCode===27&&(b("input.hasDatepicker",h).length>0?b(".ui-datepicker").is(":hidden")?b(c).jqGrid("restoreCell",d,f):b("input.hasDatepicker",h).datepicker("hide"):b(c).jqGrid("restoreCell",d,f));if(a.keyCode===13){b(c).jqGrid("saveCell",
+d,f);return false}if(a.keyCode===9){if(c.grid.hDiv.loading)return false;a.shiftKey?b(c).jqGrid("prevCell",d,f):b(c).jqGrid("nextCell",d,f)}a.stopPropagation()});b(c).triggerHandler("jqGridAfterEditCell",[c.rows[d].id,g,e,d,f]);b.isFunction(c.p.afterEditCell)&&c.p.afterEditCell.call(c,c.rows[d].id,g,e,d,f)}else 0<=parseInt(c.p.iCol,10)&&0<=parseInt(c.p.iRow,10)&&(b("td:eq("+c.p.iCol+")",c.rows[c.p.iRow]).removeClass("edit-cell ui-state-highlight"),b(c.rows[c.p.iRow]).removeClass("selected-row ui-state-hover")),
+h.addClass("edit-cell ui-state-highlight"),b(c.rows[d]).addClass("selected-row ui-state-hover"),e=h.html().replace(/\ \;/ig,""),b(c).triggerHandler("jqGridSelectCell",[c.rows[d].id,g,e,d,f]),b.isFunction(c.p.onSelectCell)&&c.p.onSelectCell.call(c,c.rows[d].id,g,e,d,f);c.p.iCol=f;c.p.iRow=d}}})},saveCell:function(d,f){return this.each(function(){var a=this,c;if(a.grid&&!0===a.p.cellEdit){c=1<=a.p.savedRow.length?0:null;if(null!==c){var g=b("td:eq("+f+")",a.rows[d]),e,h,i=a.p.colModel[f],k=i.name,
+j=b.jgrid.jqID(k);switch(i.edittype){case "select":if(i.editoptions.multiple){var j=b("#"+d+"_"+j,a.rows[d]),n=[];(e=b(j).val())?e.join(","):e="";b("option:selected",j).each(function(a,c){n[a]=b(c).text()});h=n.join(",")}else e=b("#"+d+"_"+j+" option:selected",a.rows[d]).val(),h=b("#"+d+"_"+j+" option:selected",a.rows[d]).text();i.formatter&&(h=e);break;case "checkbox":var l=["Yes","No"];i.editoptions&&(l=i.editoptions.value.split(":"));h=e=b("#"+d+"_"+j,a.rows[d]).is(":checked")?l[0]:l[1];break;
+case "password":case "text":case "textarea":case "button":h=e=b("#"+d+"_"+j,a.rows[d]).val();break;case "custom":try{if(i.editoptions&&b.isFunction(i.editoptions.custom_value)){e=i.editoptions.custom_value.call(a,b(".customelement",g),"get");if(void 0===e)throw"e2";h=e}else throw"e1";}catch(o){"e1"===o&&b.jgrid.info_dialog(b.jgrid.errors.errcap,"function 'custom_value' "+b.jgrid.edit.msg.nodefined,b.jgrid.edit.bClose),"e2"===o?b.jgrid.info_dialog(b.jgrid.errors.errcap,"function 'custom_value' "+b.jgrid.edit.msg.novalue,
+b.jgrid.edit.bClose):b.jgrid.info_dialog(b.jgrid.errors.errcap,o.message,b.jgrid.edit.bClose)}}if(h!==a.p.savedRow[c].v){if(c=b(a).triggerHandler("jqGridBeforeSaveCell",[a.rows[d].id,k,e,d,f]))h=e=c;if(b.isFunction(a.p.beforeSaveCell)&&(c=a.p.beforeSaveCell.call(a,a.rows[d].id,k,e,d,f)))h=e=c;var p=b.jgrid.checkValues.call(a,e,f);if(!0===p[0]){c=b(a).triggerHandler("jqGridBeforeSubmitCell",[a.rows[d].id,k,e,d,f])||{};b.isFunction(a.p.beforeSubmitCell)&&((c=a.p.beforeSubmitCell.call(a,a.rows[d].id,
+k,e,d,f))||(c={}));0<b("input.hasDatepicker",g).length&&b("input.hasDatepicker",g).datepicker("hide");if("remote"===a.p.cellsubmit)if(a.p.cellurl){var m={};a.p.autoencode&&(e=b.jgrid.htmlEncode(e));m[k]=e;l=a.p.prmNames;i=l.id;j=l.oper;m[i]=b.jgrid.stripPref(a.p.idPrefix,a.rows[d].id);m[j]=l.editoper;m=b.extend(c,m);b("#lui_"+b.jgrid.jqID(a.p.id)).show();a.grid.hDiv.loading=!0;b.ajax(b.extend({url:a.p.cellurl,data:b.isFunction(a.p.serializeCellData)?a.p.serializeCellData.call(a,m):m,type:"POST",complete:function(c,
+i){b("#lui_"+a.p.id).hide();a.grid.hDiv.loading=false;if(i==="success"){var j=b(a).triggerHandler("jqGridAfterSubmitCell",[a,c,m.id,k,e,d,f])||[true,""];j[0]===true&&b.isFunction(a.p.afterSubmitCell)&&(j=a.p.afterSubmitCell.call(a,c,m.id,k,e,d,f));if(j[0]===true){b(g).empty();b(a).jqGrid("setCell",a.rows[d].id,f,h,false,false,true);b(g).addClass("dirty-cell");b(a.rows[d]).addClass("edited");b(a).triggerHandler("jqGridAfterSaveCell",[a.rows[d].id,k,e,d,f]);b.isFunction(a.p.afterSaveCell)&&a.p.afterSaveCell.call(a,
+a.rows[d].id,k,e,d,f);a.p.savedRow.splice(0,1)}else{b.jgrid.info_dialog(b.jgrid.errors.errcap,j[1],b.jgrid.edit.bClose);b(a).jqGrid("restoreCell",d,f)}}},error:function(c,e,h){b("#lui_"+b.jgrid.jqID(a.p.id)).hide();a.grid.hDiv.loading=false;b(a).triggerHandler("jqGridErrorCell",[c,e,h]);b.isFunction(a.p.errorCell)?a.p.errorCell.call(a,c,e,h):b.jgrid.info_dialog(b.jgrid.errors.errcap,c.status+" : "+c.statusText+"<br/>"+e,b.jgrid.edit.bClose);b(a).jqGrid("restoreCell",d,f)}},b.jgrid.ajaxOptions,a.p.ajaxCellOptions||
+{}))}else try{b.jgrid.info_dialog(b.jgrid.errors.errcap,b.jgrid.errors.nourl,b.jgrid.edit.bClose),b(a).jqGrid("restoreCell",d,f)}catch(q){}"clientArray"===a.p.cellsubmit&&(b(g).empty(),b(a).jqGrid("setCell",a.rows[d].id,f,h,!1,!1,!0),b(g).addClass("dirty-cell"),b(a.rows[d]).addClass("edited"),b(a).triggerHandler("jqGridAfterSaveCell",[a.rows[d].id,k,e,d,f]),b.isFunction(a.p.afterSaveCell)&&a.p.afterSaveCell.call(a,a.rows[d].id,k,e,d,f),a.p.savedRow.splice(0,1))}else try{window.setTimeout(function(){b.jgrid.info_dialog(b.jgrid.errors.errcap,
+e+" "+p[1],b.jgrid.edit.bClose)},100),b(a).jqGrid("restoreCell",d,f)}catch(r){}}else b(a).jqGrid("restoreCell",d,f)}window.setTimeout(function(){b("#"+b.jgrid.jqID(a.p.knv)).attr("tabindex","-1").focus()},0)}})},restoreCell:function(d,f){return this.each(function(){var a=this,c;if(a.grid&&!0===a.p.cellEdit){c=1<=a.p.savedRow.length?0:null;if(null!==c){var g=b("td:eq("+f+")",a.rows[d]);if(b.isFunction(b.fn.datepicker))try{b("input.hasDatepicker",g).datepicker("hide")}catch(e){}b(g).empty().attr("tabindex",
+"-1");b(a).jqGrid("setCell",a.rows[d].id,f,a.p.savedRow[c].v,!1,!1,!0);b(a).triggerHandler("jqGridAfterRestoreCell",[a.rows[d].id,a.p.savedRow[c].v,d,f]);b.isFunction(a.p.afterRestoreCell)&&a.p.afterRestoreCell.call(a,a.rows[d].id,a.p.savedRow[c].v,d,f);a.p.savedRow.splice(0,1)}window.setTimeout(function(){b("#"+a.p.knv).attr("tabindex","-1").focus()},0)}})},nextCell:function(d,f){return this.each(function(){var a=!1,c;if(this.grid&&!0===this.p.cellEdit){for(c=f+1;c<this.p.colModel.length;c++)if(!0===
+this.p.colModel[c].editable){a=c;break}!1!==a?b(this).jqGrid("editCell",d,a,!0):0<this.p.savedRow.length&&b(this).jqGrid("saveCell",d,f)}})},prevCell:function(d,f){return this.each(function(){var a=!1,c;if(this.grid&&!0===this.p.cellEdit){for(c=f-1;0<=c;c--)if(!0===this.p.colModel[c].editable){a=c;break}!1!==a?b(this).jqGrid("editCell",d,a,!0):0<this.p.savedRow.length&&b(this).jqGrid("saveCell",d,f)}})},GridNav:function(){return this.each(function(){function d(c,d,e){if("v"===e.substr(0,1)){var f=
+b(a.grid.bDiv)[0].clientHeight,g=b(a.grid.bDiv)[0].scrollTop,l=a.rows[c].offsetTop+a.rows[c].clientHeight,o=a.rows[c].offsetTop;"vd"===e&&l>=f&&(b(a.grid.bDiv)[0].scrollTop=b(a.grid.bDiv)[0].scrollTop+a.rows[c].clientHeight);"vu"===e&&o<g&&(b(a.grid.bDiv)[0].scrollTop=b(a.grid.bDiv)[0].scrollTop-a.rows[c].clientHeight)}"h"===e&&(e=b(a.grid.bDiv)[0].clientWidth,f=b(a.grid.bDiv)[0].scrollLeft,g=a.rows[c].cells[d].offsetLeft,a.rows[c].cells[d].offsetLeft+a.rows[c].cells[d].clientWidth>=e+parseInt(f,
+10)?b(a.grid.bDiv)[0].scrollLeft=b(a.grid.bDiv)[0].scrollLeft+a.rows[c].cells[d].clientWidth:g<f&&(b(a.grid.bDiv)[0].scrollLeft=b(a.grid.bDiv)[0].scrollLeft-a.rows[c].cells[d].clientWidth))}function f(b,c){var d,e;if("lft"===c){d=b+1;for(e=b;0<=e;e--)if(!0!==a.p.colModel[e].hidden){d=e;break}}if("rgt"===c){d=b-1;for(e=b;e<a.p.colModel.length;e++)if(!0!==a.p.colModel[e].hidden){d=e;break}}return d}var a=this;if(a.grid&&!0===a.p.cellEdit){a.p.knv=a.p.id+"_kn";var c=b("<div style='position:fixed;top:0px;width:1px;height:1px;' tabindex='0'><div tabindex='-1' style='width:1px;height:1px;' id='"+
+a.p.knv+"'></div></div>"),g,e;b(c).insertBefore(a.grid.cDiv);b("#"+a.p.knv).focus().keydown(function(c){e=c.keyCode;"rtl"===a.p.direction&&(37===e?e=39:39===e&&(e=37));switch(e){case 38:0<a.p.iRow-1&&(d(a.p.iRow-1,a.p.iCol,"vu"),b(a).jqGrid("editCell",a.p.iRow-1,a.p.iCol,!1));break;case 40:a.p.iRow+1<=a.rows.length-1&&(d(a.p.iRow+1,a.p.iCol,"vd"),b(a).jqGrid("editCell",a.p.iRow+1,a.p.iCol,!1));break;case 37:0<=a.p.iCol-1&&(g=f(a.p.iCol-1,"lft"),d(a.p.iRow,g,"h"),b(a).jqGrid("editCell",a.p.iRow,g,
+!1));break;case 39:a.p.iCol+1<=a.p.colModel.length-1&&(g=f(a.p.iCol+1,"rgt"),d(a.p.iRow,g,"h"),b(a).jqGrid("editCell",a.p.iRow,g,!1));break;case 13:0<=parseInt(a.p.iCol,10)&&0<=parseInt(a.p.iRow,10)&&b(a).jqGrid("editCell",a.p.iRow,a.p.iCol,!0);break;default:return!0}return!1})}})},getChangedCells:function(d){var f=[];d||(d="all");this.each(function(){var a=this,c;a.grid&&!0===a.p.cellEdit&&b(a.rows).each(function(g){var e={};b(this).hasClass("edited")&&(b("td",this).each(function(f){c=a.p.colModel[f].name;
+if("cb"!==c&&"subgrid"!==c)if("dirty"===d){if(b(this).hasClass("dirty-cell"))try{e[c]=b.unformat.call(a,this,{rowId:a.rows[g].id,colModel:a.p.colModel[f]},f)}catch(i){e[c]=b.jgrid.htmlDecode(b(this).html())}}else try{e[c]=b.unformat.call(a,this,{rowId:a.rows[g].id,colModel:a.p.colModel[f]},f)}catch(k){e[c]=b.jgrid.htmlDecode(b(this).html())}}),e.id=this.id,f.push(e))})});return f}})})(jQuery);
+(function(c){c.fn.jqm=function(a){var i={overlay:50,closeoverlay:!0,overlayClass:"jqmOverlay",closeClass:"jqmClose",trigger:".jqModal",ajax:d,ajaxText:"",target:d,modal:d,toTop:d,onShow:d,onHide:d,onLoad:d};return this.each(function(){if(this._jqm)return j[this._jqm].c=c.extend({},j[this._jqm].c,a);l++;this._jqm=l;j[l]={c:c.extend(i,c.jqm.params,a),a:d,w:c(this).addClass("jqmID"+l),s:l};i.trigger&&c(this).jqmAddTrigger(i.trigger)})};c.fn.jqmAddClose=function(a){return o(this,a,"jqmHide")};c.fn.jqmAddTrigger=
+function(a){return o(this,a,"jqmShow")};c.fn.jqmShow=function(a){return this.each(function(){c.jqm.open(this._jqm,a)})};c.fn.jqmHide=function(a){return this.each(function(){c.jqm.close(this._jqm,a)})};c.jqm={hash:{},open:function(a,i){var b=j[a],e=b.c,h="."+e.closeClass,f=parseInt(b.w.css("z-index")),f=0<f?f:3E3,g=c("<div></div>").css({height:"100%",width:"100%",position:"fixed",left:0,top:0,"z-index":f-1,opacity:e.overlay/100});if(b.a)return d;b.t=i;b.a=!0;b.w.css("z-index",f);e.modal?(k[0]||setTimeout(function(){p("bind")},
+1),k.push(a)):0<e.overlay?e.closeoverlay&&b.w.jqmAddClose(g):g=d;b.o=g?g.addClass(e.overlayClass).prependTo("body"):d;e.ajax?(f=e.target||b.w,g=e.ajax,f="string"==typeof f?c(f,b.w):c(f),g="@"==g.substr(0,1)?c(i).attr(g.substring(1)):g,f.html(e.ajaxText).load(g,function(){e.onLoad&&e.onLoad.call(this,b);h&&b.w.jqmAddClose(c(h,b.w));m(b)})):h&&b.w.jqmAddClose(c(h,b.w));e.toTop&&b.o&&b.w.before('<span id="jqmP'+b.w[0]._jqm+'"></span>').insertAfter(b.o);e.onShow?e.onShow(b):b.w.show();m(b);return d},
+close:function(a){a=j[a];if(!a.a)return d;a.a=d;k[0]&&(k.pop(),k[0]||p("unbind"));a.c.toTop&&a.o&&c("#jqmP"+a.w[0]._jqm).after(a.w).remove();if(a.c.onHide)a.c.onHide(a);else a.w.hide(),a.o&&a.o.remove();return d},params:{}};var l=0,j=c.jqm.hash,k=[],d=!1,m=function(a){try{c(":input:visible",a.w)[0].focus()}catch(d){}},p=function(a){c(document)[a]("keypress",n)[a]("keydown",n)[a]("mousedown",n)},n=function(a){var d=j[k[k.length-1]],b=!c(a.target).parents(".jqmID"+d.s)[0];b&&(c(".jqmID"+d.s).each(function(){var d=
+c(this),h=d.offset();if(h.top<=a.pageY&&a.pageY<=h.top+d.height()&&h.left<=a.pageX&&a.pageX<=h.left+d.width())return b=!1}),m(d));return!b},o=function(a,i,b){return a.each(function(){var a=this._jqm;c(i).each(function(){this[b]||(this[b]=[],c(this).click(function(){for(var a in{jqmShow:1,jqmHide:1})for(var b in this[a])if(j[this[a][b]])j[this[a][b]].w[a](this);return d}));this[b].push(a)})})}})(jQuery);
+(function(b){b.fn.jqDrag=function(a){return h(this,a,"d")};b.fn.jqResize=function(a,b){return h(this,a,"r",b)};b.jqDnR={dnr:{},e:0,drag:function(a){"d"==d.k?e.css({left:d.X+a.pageX-d.pX,top:d.Y+a.pageY-d.pY}):(e.css({width:Math.max(a.pageX-d.pX+d.W,0),height:Math.max(a.pageY-d.pY+d.H,0)}),f&&g.css({width:Math.max(a.pageX-f.pX+f.W,0),height:Math.max(a.pageY-f.pY+f.H,0)}));return!1},stop:function(){b(document).unbind("mousemove",c.drag).unbind("mouseup",c.stop)}};var c=b.jqDnR,d=c.dnr,e=c.e,g,f,h=function(a,
+c,h,l){return a.each(function(){c=c?b(c,a):a;c.bind("mousedown",{e:a,k:h},function(a){var c=a.data,i={};e=c.e;g=l?b(l):!1;if("relative"!=e.css("position"))try{e.position(i)}catch(h){}d={X:i.left||j("left")||0,Y:i.top||j("top")||0,W:j("width")||e[0].scrollWidth||0,H:j("height")||e[0].scrollHeight||0,pX:a.pageX,pY:a.pageY,k:c.k};f=g&&"d"!=c.k?{X:i.left||k("left")||0,Y:i.top||k("top")||0,W:g[0].offsetWidth||k("width")||0,H:g[0].offsetHeight||k("height")||0,pX:a.pageX,pY:a.pageY,k:c.k}:!1;if(b("input.hasDatepicker",
+e[0])[0])try{b("input.hasDatepicker",e[0]).datepicker("hide")}catch(m){}b(document).mousemove(b.jqDnR.drag).mouseup(b.jqDnR.stop);return!1})})},j=function(a){return parseInt(e.css(a),10)||!1},k=function(a){return parseInt(g.css(a),10)||!1}})(jQuery);
+(function(b){b.jgrid.extend({setSubGrid:function(){return this.each(function(){var e,c;this.p.subGridOptions=b.extend({plusicon:"ui-icon-plus",minusicon:"ui-icon-minus",openicon:"ui-icon-carat-1-sw",expandOnLoad:!1,delayOnLoad:50,selectOnExpand:!1,reloadOnExpand:!0},this.p.subGridOptions||{});this.p.colNames.unshift("");this.p.colModel.unshift({name:"subgrid",width:b.jgrid.cell_width?this.p.subGridWidth+this.p.cellLayout:this.p.subGridWidth,sortable:!1,resizable:!1,hidedlg:!0,search:!1,fixed:!0});
+e=this.p.subGridModel;if(e[0]){e[0].align=b.extend([],e[0].align||[]);for(c=0;c<e[0].name.length;c++)e[0].align[c]=e[0].align[c]||"left"}})},addSubGridCell:function(b,c){var a="",m,l;this.each(function(){a=this.formatCol(b,c);l=this.p.id;m=this.p.subGridOptions.plusicon});return'<td role="gridcell" aria-describedby="'+l+'_subgrid" class="ui-sgcollapsed sgcollapsed" '+a+"><a href='javascript:void(0);'><span class='ui-icon "+m+"'></span></a></td>"},addSubGrid:function(e,c){return this.each(function(){var a=
+this;if(a.grid){var m=function(c,e,h){e=b("<td align='"+a.p.subGridModel[0].align[h]+"'></td>").html(e);b(c).append(e)},l=function(c,e){var h,f,n,d=b("<table cellspacing='0' cellpadding='0' border='0'><tbody></tbody></table>"),i=b("<tr></tr>");for(f=0;f<a.p.subGridModel[0].name.length;f++)h=b("<th class='ui-state-default ui-th-subgrid ui-th-column ui-th-"+a.p.direction+"'></th>"),b(h).html(a.p.subGridModel[0].name[f]),b(h).width(a.p.subGridModel[0].width[f]),b(i).append(h);b(d).append(i);c&&(n=a.p.xmlReader.subgrid,
+b(n.root+" "+n.row,c).each(function(){i=b("<tr class='ui-widget-content ui-subtblcell'></tr>");if(!0===n.repeatitems)b(n.cell,this).each(function(a){m(i,b(this).text()||" ",a)});else{var c=a.p.subGridModel[0].mapping||a.p.subGridModel[0].name;if(c)for(f=0;f<c.length;f++)m(i,b(c[f],this).text()||" ",f)}b(d).append(i)}));h=b("table:first",a.grid.bDiv).attr("id")+"_";b("#"+b.jgrid.jqID(h+e)).append(d);a.grid.hDiv.loading=!1;b("#load_"+b.jgrid.jqID(a.p.id)).hide();return!1},p=function(c,e){var h,
+f,d,g,i,k=b("<table cellspacing='0' cellpadding='0' border='0'><tbody></tbody></table>"),j=b("<tr></tr>");for(f=0;f<a.p.subGridModel[0].name.length;f++)h=b("<th class='ui-state-default ui-th-subgrid ui-th-column ui-th-"+a.p.direction+"'></th>"),b(h).html(a.p.subGridModel[0].name[f]),b(h).width(a.p.subGridModel[0].width[f]),b(j).append(h);b(k).append(j);if(c&&(g=a.p.jsonReader.subgrid,h=b.jgrid.getAccessor(c,g.root),void 0!==h))for(f=0;f<h.length;f++){d=h[f];j=b("<tr class='ui-widget-content ui-subtblcell'></tr>");
+if(!0===g.repeatitems){g.cell&&(d=d[g.cell]);for(i=0;i<d.length;i++)m(j,d[i]||" ",i)}else{var l=a.p.subGridModel[0].mapping||a.p.subGridModel[0].name;if(l.length)for(i=0;i<l.length;i++)m(j,d[l[i]]||" ",i)}b(k).append(j)}f=b("table:first",a.grid.bDiv).attr("id")+"_";b("#"+b.jgrid.jqID(f+e)).append(k);a.grid.hDiv.loading=!1;b("#load_"+b.jgrid.jqID(a.p.id)).hide();return!1},t=function(c){var e,d,f,g;e=b(c).attr("id");d={nd_:(new Date).getTime()};d[a.p.prmNames.subgridid]=e;if(!a.p.subGridModel[0])return!1;
+if(a.p.subGridModel[0].params)for(g=0;g<a.p.subGridModel[0].params.length;g++)for(f=0;f<a.p.colModel.length;f++)a.p.colModel[f].name===a.p.subGridModel[0].params[g]&&(d[a.p.colModel[f].name]=b("td:eq("+f+")",c).text().replace(/\ \;/ig,""));if(!a.grid.hDiv.loading)switch(a.grid.hDiv.loading=!0,b("#load_"+b.jgrid.jqID(a.p.id)).show(),a.p.subgridtype||(a.p.subgridtype=a.p.datatype),b.isFunction(a.p.subgridtype)?a.p.subgridtype.call(a,d):a.p.subgridtype=a.p.subgridtype.toLowerCase(),a.p.subgridtype){case "xml":case "json":b.ajax(b.extend({type:a.p.mtype,
+url:a.p.subGridUrl,dataType:a.p.subgridtype,data:b.isFunction(a.p.serializeSubGridData)?a.p.serializeSubGridData.call(a,d):d,complete:function(c){a.p.subgridtype==="xml"?l(c.responseXML,e):p(b.jgrid.parse(c.responseText),e)}},b.jgrid.ajaxOptions,a.p.ajaxSubgridOptions||{}))}return!1},d,k,q,r=0,g,j;b.each(a.p.colModel,function(){(!0===this.hidden||"rn"===this.name||"cb"===this.name)&&r++});var s=a.rows.length,o=1;void 0!==c&&0<c&&(o=c,s=c+1);for(;o<s;)b(a.rows[o]).hasClass("jqgrow")&&b(a.rows[o].cells[e]).bind("click",
+function(){var c=b(this).parent("tr")[0];j=c.nextSibling;if(b(this).hasClass("sgcollapsed")){k=a.p.id;d=c.id;if(a.p.subGridOptions.reloadOnExpand===true||a.p.subGridOptions.reloadOnExpand===false&&!b(j).hasClass("ui-subgrid")){q=e>=1?"<td colspan='"+e+"'> </td>":"";g=b(a).triggerHandler("jqGridSubGridBeforeExpand",[k+"_"+d,d]);(g=g===false||g==="stop"?false:true)&&b.isFunction(a.p.subGridBeforeExpand)&&(g=a.p.subGridBeforeExpand.call(a,k+"_"+d,d));if(g===false)return false;b(c).after("<tr role='row' class='ui-subgrid'>"+
+q+"<td class='ui-widget-content subgrid-cell'><span class='ui-icon "+a.p.subGridOptions.openicon+"'></span></td><td colspan='"+parseInt(a.p.colNames.length-1-r,10)+"' class='ui-widget-content subgrid-data'><div id="+k+"_"+d+" class='tablediv'></div></td></tr>");b(a).triggerHandler("jqGridSubGridRowExpanded",[k+"_"+d,d]);b.isFunction(a.p.subGridRowExpanded)?a.p.subGridRowExpanded.call(a,k+"_"+d,d):t(c)}else b(j).show();b(this).html("<a href='javascript:void(0);'><span class='ui-icon "+a.p.subGridOptions.minusicon+
+"'></span></a>").removeClass("sgcollapsed").addClass("sgexpanded");a.p.subGridOptions.selectOnExpand&&b(a).jqGrid("setSelection",d)}else if(b(this).hasClass("sgexpanded")){g=b(a).triggerHandler("jqGridSubGridRowColapsed",[k+"_"+d,d]);if((g=g===false||g==="stop"?false:true)&&b.isFunction(a.p.subGridRowColapsed)){d=c.id;g=a.p.subGridRowColapsed.call(a,k+"_"+d,d)}if(g===false)return false;a.p.subGridOptions.reloadOnExpand===true?b(j).remove(".ui-subgrid"):b(j).hasClass("ui-subgrid")&&b(j).hide();b(this).html("<a href='javascript:void(0);'><span class='ui-icon "+
+a.p.subGridOptions.plusicon+"'></span></a>").removeClass("sgexpanded").addClass("sgcollapsed")}return false}),o++;!0===a.p.subGridOptions.expandOnLoad&&b(a.rows).filter(".jqgrow").each(function(a,c){b(c.cells[0]).click()});a.subGridXml=function(a,b){l(a,b)};a.subGridJson=function(a,b){p(a,b)}}})},expandSubGridRow:function(e){return this.each(function(){if((this.grid||e)&&!0===this.p.subGrid){var c=b(this).jqGrid("getInd",e,!0);c&&(c=b("td.sgcollapsed",c)[0])&&b(c).trigger("click")}})},collapseSubGridRow:function(e){return this.each(function(){if((this.grid||
+e)&&!0===this.p.subGrid){var c=b(this).jqGrid("getInd",e,!0);c&&(c=b("td.sgexpanded",c)[0])&&b(c).trigger("click")}})},toggleSubGridRow:function(e){return this.each(function(){if((this.grid||e)&&!0===this.p.subGrid){var c=b(this).jqGrid("getInd",e,!0);if(c){var a=b("td.sgcollapsed",c)[0];a?b(a).trigger("click"):(a=b("td.sgexpanded",c)[0])&&b(a).trigger("click")}}})}})})(jQuery);
+(function(d){d.extend(d.jgrid,{template:function(b){var g=d.makeArray(arguments).slice(1),f,a=g.length;null==b&&(b="");return b.replace(/\{([\w\-]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?\}/g,function(e,b){if(!isNaN(parseInt(b,10)))return g[parseInt(b,10)];for(f=0;f<a;f++)if(d.isArray(g[f]))for(var c=g[f],k=c.length;k--;)if(b===c[k].nm)return c[k].v})}});d.jgrid.extend({groupingSetup:function(){return this.each(function(){var b,g,f=this.p.colModel,a=this.p.groupingView;if(null!==a&&("object"===typeof a||
+d.isFunction(a)))if(a.groupField.length){void 0===a.visibiltyOnNextGrouping&&(a.visibiltyOnNextGrouping=[]);a.lastvalues=[];a.groups=[];a.counters=[];for(b=0;b<a.groupField.length;b++)a.groupOrder[b]||(a.groupOrder[b]="asc"),a.groupText[b]||(a.groupText[b]="{0}"),"boolean"!==typeof a.groupColumnShow[b]&&(a.groupColumnShow[b]=!0),"boolean"!==typeof a.groupSummary[b]&&(a.groupSummary[b]=!1),!0===a.groupColumnShow[b]?(a.visibiltyOnNextGrouping[b]=!0,d(this).jqGrid("showCol",a.groupField[b])):(a.visibiltyOnNextGrouping[b]=
+d("#"+d.jgrid.jqID(this.p.id+"_"+a.groupField[b])).is(":visible"),d(this).jqGrid("hideCol",a.groupField[b]));a.summary=[];b=0;for(g=f.length;b<g;b++)f[b].summaryType&&a.summary.push({nm:f[b].name,st:f[b].summaryType,v:"",sr:f[b].summaryRound,srt:f[b].summaryRoundType||"round"})}else this.p.grouping=!1;else this.p.grouping=!1})},groupingPrepare:function(b,g,f,a){this.each(function(){var e=this.p.groupingView,h=this,c,k=e.groupField.length,l,j,m,q=0;for(c=0;c<k;c++)l=e.groupField[c],m=e.displayField[c],
+j=f[l],m=null==m?null:f[m],null==m&&(m=j),void 0!==j&&(0===a?(e.groups.push({idx:c,dataIndex:l,value:j,displayValue:m,startRow:a,cnt:1,summary:[]}),e.lastvalues[c]=j,e.counters[c]={cnt:1,pos:e.groups.length-1,summary:d.extend(!0,[],e.summary)}):"object"!==typeof j&&(d.isArray(e.isInTheSameGroup)&&d.isFunction(e.isInTheSameGroup[c])?!e.isInTheSameGroup[c].call(h,e.lastvalues[c],j,c,e):e.lastvalues[c]!==j)?(e.groups.push({idx:c,dataIndex:l,value:j,displayValue:m,startRow:a,cnt:1,summary:[]}),e.lastvalues[c]=
+j,q=1,e.counters[c]={cnt:1,pos:e.groups.length-1,summary:d.extend(!0,[],e.summary)}):1===q?(e.groups.push({idx:c,dataIndex:l,value:j,displayValue:m,startRow:a,cnt:1,summary:[]}),e.lastvalues[c]=j,e.counters[c]={cnt:1,pos:e.groups.length-1,summary:d.extend(!0,[],e.summary)}):(e.counters[c].cnt+=1,e.groups[e.counters[c].pos].cnt=e.counters[c].cnt),d.each(e.counters[c].summary,function(){this.v=d.isFunction(this.st)?this.st.call(h,this.v,this.nm,f):d(h).jqGrid("groupingCalculations.handler",this.st,
+this.v,this.nm,this.sr,this.srt,f)}),e.groups[e.counters[c].pos].summary=e.counters[c].summary);g.push(b)});return g},groupingToggle:function(b){this.each(function(){var g=this.p.groupingView,f=b.split("_"),a=parseInt(f[f.length-2],10);f.splice(f.length-2,2);var f=f.join("_"),e=g.minusicon,h=g.plusicon,c=d("#"+d.jgrid.jqID(b)),c=c.length?c[0].nextSibling:null,k=d("#"+d.jgrid.jqID(b)+" span.tree-wrap-"+this.p.direction),l=!1;if(k.hasClass(e)){if(g.showSummaryOnHide){if(c)for(;c&&!(d(c).hasClass("jqfoot")&&
+parseInt(d(c).attr("jqfootlevel"),10)<=a);)d(c).hide(),c=c.nextSibling}else if(c)for(;c;){g=c.className.indexOf(f);if(-1!==g&&parseInt(c.className.substring(g+f.length+1),10)<=a)break;d(c).hide();c=c.nextSibling}k.removeClass(e).addClass(h);l=!0}else{if(c)for(;c;){g=c.className.indexOf(f);if(-1!==g&&parseInt(c.className.substring(g+f.length+1),10)<=a)break;d(c).show();(g=d(c).find("span.tree-wrap-"+this.p.direction))&&d(g).hasClass(h)&&d(g).removeClass(h).addClass(e);c=c.nextSibling}k.removeClass(h).addClass(e)}d(this).triggerHandler("jqGridGroupingClickGroup",
+[b,l]);d.isFunction(this.p.onClickGroup)&&this.p.onClickGroup.call(this,b,l)});return!1},groupingRender:function(b,g){return this.each(function(){function f(a,b,c){var e=!1;if(0===b)e=c[a];else{var d=c[a].idx;if(0===d)e=c[a];else for(;0<=a;a--)if(c[a].idx===d-b){e=c[a];break}}return e}var a=this,e=a.p.groupingView,h="",c="",k,l,j=e.groupCollapse?e.plusicon:e.minusicon,m,q=[],w=e.groupField.length,j=j+(" tree-wrap-"+a.p.direction);d.each(a.p.colModel,function(a,c){var b;for(b=0;b<w;b++)if(e.groupField[b]===
+c.name){q[b]=a;break}});var t=0,x=d.makeArray(e.groupSummary);x.reverse();d.each(e.groups,function(s,i){t++;l=a.p.id+"ghead_"+i.idx;k=l+"_"+s;c="<span style='cursor:pointer;' class='ui-icon "+j+"' onclick=\"jQuery('#"+d.jgrid.jqID(a.p.id)+"').jqGrid('groupingToggle','"+k+"');return false;\"></span>";try{d.isArray(e.formatDisplayField)&&d.isFunction(e.formatDisplayField[i.idx])&&(i.displayValue=e.formatDisplayField[i.idx].call(a,i.displayValue,i.value,a.p.colModel[q[i.idx]],i.idx,e)),m=a.formatter(k,
+i.displayValue,q[i.idx],i.value)}catch(C){m=i.displayValue}h+='<tr id="'+k+'" role="row" class= "ui-widget-content jqgroup ui-row-'+a.p.direction+" "+l+'"><td style="padding-left:'+12*i.idx+'px;" colspan="'+g+'">'+c+d.jgrid.template(e.groupText[i.idx],m,i.cnt,i.summary)+"</td></tr>";if(w-1===i.idx){var o=e.groups[s+1],p,n,B=void 0!==o?e.groups[s+1].startRow:b.length;for(n=i.startRow;n<B;n++)h+=b[n].join("");var r;if(void 0!==o){for(r=0;r<e.groupField.length&&o.dataIndex!==e.groupField[r];r++);t=e.groupField.length-
+r}for(o=0;o<t;o++)if(x[o]){n="";e.groupCollapse&&!e.showSummaryOnHide&&(n=' style="display:none;"');h+="<tr"+n+' jqfootlevel="'+(i.idx-o)+'" role="row" class="ui-widget-content jqfoot ui-row-'+a.p.direction+'">';n=f(s,o,e.groups);var u=a.p.colModel,v,y=n.cnt;for(p=0;p<g;p++){var z="<td "+a.formatCol(p,1,"")+"> </td>",A="{0}";d.each(n.summary,function(){if(this.nm===u[p].name){u[p].summaryTpl&&(A=u[p].summaryTpl);"string"===typeof this.st&&"avg"===this.st.toLowerCase()&&this.v&&0<y&&(this.v/=
+y);try{v=a.formatter("",this.v,p,this)}catch(b){v=this.v}z="<td "+a.formatCol(p,1,"")+">"+d.jgrid.format(A,v)+"</td>";return!1}});h+=z}h+="</tr>"}t=r}});d("#"+d.jgrid.jqID(a.p.id)+" tbody:first").append(h);h=null})},groupingGroupBy:function(b,g){return this.each(function(){"string"===typeof b&&(b=[b]);var f=this.p.groupingView;this.p.grouping=!0;void 0===f.visibiltyOnNextGrouping&&(f.visibiltyOnNextGrouping=[]);var a;for(a=0;a<f.groupField.length;a++)!f.groupColumnShow[a]&&f.visibiltyOnNextGrouping[a]&&
+d(this).jqGrid("showCol",f.groupField[a]);for(a=0;a<b.length;a++)f.visibiltyOnNextGrouping[a]=d("#"+d.jgrid.jqID(this.p.id)+"_"+d.jgrid.jqID(b[a])).is(":visible");this.p.groupingView=d.extend(this.p.groupingView,g||{});f.groupField=b;d(this).trigger("reloadGrid")})},groupingRemove:function(b){return this.each(function(){void 0===b&&(b=!0);this.p.grouping=!1;if(!0===b){var g=this.p.groupingView,f;for(f=0;f<g.groupField.length;f++)!g.groupColumnShow[f]&&g.visibiltyOnNextGrouping[f]&&d(this).jqGrid("showCol",
+g.groupField);d("tr.jqgroup, tr.jqfoot","#"+d.jgrid.jqID(this.p.id)+" tbody:first").remove();d("tr.jqgrow:hidden","#"+d.jgrid.jqID(this.p.id)+" tbody:first").show()}else d(this).trigger("reloadGrid")})},groupingCalculations:{handler:function(b,d,f,a,e,h){var c={sum:function(){return parseFloat(d||0)+parseFloat(h[f]||0)},min:function(){return""===d?parseFloat(h[f]||0):Math.min(parseFloat(d),parseFloat(h[f]||0))},max:function(){return""===d?parseFloat(h[f]||0):Math.max(parseFloat(d),parseFloat(h[f]||
+0))},count:function(){""===d&&(d=0);return h.hasOwnProperty(f)?d+1:0},avg:function(){return c.sum()}};if(!c[b])throw"jqGrid Grouping No such method: "+b;b=c[b]();null!=a&&("fixed"===e?b=b.toFixed(a):(a=Math.pow(10,a),b=Math.round(b*a)/a));return b}}})})(jQuery);
+(function(d){d.jgrid.extend({setTreeNode:function(b,c){return this.each(function(){var a=this;if(a.grid&&a.p.treeGrid)for(var h=a.p.expColInd,e=a.p.treeReader.expanded_field,i=a.p.treeReader.leaf_field,g=a.p.treeReader.level_field,f=a.p.treeReader.icon_field,l=a.p.treeReader.loaded,k,m,n,j;b<c;)j=d.jgrid.stripPref(a.p.idPrefix,a.rows[b].id),j=a.p.data[a.p._index[j]],"nested"===a.p.treeGridModel&&!j[i]&&(k=parseInt(j[a.p.treeReader.left_field],10),m=parseInt(j[a.p.treeReader.right_field],10),j[i]=
+m===k+1?"true":"false",a.rows[b].cells[a.p._treeleafpos].innerHTML=j[i]),k=parseInt(j[g],10),0===a.p.tree_root_level?(n=k+1,m=k):(n=k,m=k-1),n="<div class='tree-wrap tree-wrap-"+a.p.direction+"' style='width:"+18*n+"px;'>",n+="<div style='"+("rtl"===a.p.direction?"right:":"left:")+18*m+"px;' class='ui-icon ",void 0!==j[l]&&(j[l]="true"===j[l]||!0===j[l]?!0:!1),"true"===j[i]||!0===j[i]?(n+=(void 0!==j[f]&&""!==j[f]?j[f]:a.p.treeIcons.leaf)+" tree-leaf treeclick",j[i]=!0,m="leaf"):(j[i]=!1,m=""),j[e]=
+("true"===j[e]||!0===j[e]?!0:!1)&&(j[l]||void 0===j[l]),n=!1===j[e]?n+(!0===j[i]?"'":a.p.treeIcons.plus+" tree-plus treeclick'"):n+(!0===j[i]?"'":a.p.treeIcons.minus+" tree-minus treeclick'"),n+="></div></div>",d(a.rows[b].cells[h]).wrapInner("<span class='cell-wrapper"+m+"'></span>").prepend(n),k!==parseInt(a.p.tree_root_level,10)&&((j=(j=d(a).jqGrid("getNodeParent",j))&&j.hasOwnProperty(e)?j[e]:!0)||d(a.rows[b]).css("display","none")),d(a.rows[b].cells[h]).find("div.treeclick").bind("click",function(b){b=
+d.jgrid.stripPref(a.p.idPrefix,d(b.target||b.srcElement,a.rows).closest("tr.jqgrow")[0].id);b=a.p._index[b];if(!a.p.data[b][i])if(a.p.data[b][e]){d(a).jqGrid("collapseRow",a.p.data[b]);d(a).jqGrid("collapseNode",a.p.data[b])}else{d(a).jqGrid("expandRow",a.p.data[b]);d(a).jqGrid("expandNode",a.p.data[b])}return false}),!0===a.p.ExpandColClick&&d(a.rows[b].cells[h]).find("span.cell-wrapper").css("cursor","pointer").bind("click",function(b){var b=d.jgrid.stripPref(a.p.idPrefix,d(b.target||b.srcElement,
+a.rows).closest("tr.jqgrow")[0].id),c=a.p._index[b];if(!a.p.data[c][i])if(a.p.data[c][e]){d(a).jqGrid("collapseRow",a.p.data[c]);d(a).jqGrid("collapseNode",a.p.data[c])}else{d(a).jqGrid("expandRow",a.p.data[c]);d(a).jqGrid("expandNode",a.p.data[c])}d(a).jqGrid("setSelection",b);return false}),b++})},setTreeGrid:function(){return this.each(function(){var b=this,c=0,a=!1,h,e,i,g=[];if(b.p.treeGrid){b.p.treedatatype||d.extend(b.p,{treedatatype:b.p.datatype});b.p.subGrid=!1;b.p.altRows=!1;b.p.pgbuttons=
+!1;b.p.pginput=!1;b.p.gridview=!0;null===b.p.rowTotal&&(b.p.rowNum=1E4);b.p.multiselect=!1;b.p.rowList=[];b.p.expColInd=0;b.p.treeIcons=d.extend({plus:"ui-icon-triangle-1-"+("rtl"===b.p.direction?"w":"e"),minus:"ui-icon-triangle-1-s",leaf:"ui-icon-radio-off"},b.p.treeIcons||{});"nested"===b.p.treeGridModel?b.p.treeReader=d.extend({level_field:"level",left_field:"lft",right_field:"rgt",leaf_field:"isLeaf",expanded_field:"expanded",loaded:"loaded",icon_field:"icon"},b.p.treeReader):"adjacency"===b.p.treeGridModel&&
+(b.p.treeReader=d.extend({level_field:"level",parent_id_field:"parent",leaf_field:"isLeaf",expanded_field:"expanded",loaded:"loaded",icon_field:"icon"},b.p.treeReader));for(e in b.p.colModel)if(b.p.colModel.hasOwnProperty(e))for(i in h=b.p.colModel[e].name,h===b.p.ExpandColumn&&!a&&(a=!0,b.p.expColInd=c),c++,b.p.treeReader)b.p.treeReader.hasOwnProperty(i)&&b.p.treeReader[i]===h&&g.push(h);d.each(b.p.treeReader,function(a,e){if(e&&d.inArray(e,g)===-1){if(a==="leaf_field")b.p._treeleafpos=c;c++;b.p.colNames.push(e);
+b.p.colModel.push({name:e,width:1,hidden:true,sortable:false,resizable:false,hidedlg:true,editable:true,search:false})}})}})},expandRow:function(b){this.each(function(){var c=this;if(c.grid&&c.p.treeGrid){var a=d(c).jqGrid("getNodeChildren",b),h=c.p.treeReader.expanded_field,e=c.rows;d(a).each(function(){var a=c.p.idPrefix+d.jgrid.getAccessor(this,c.p.localReader.id);d(e.namedItem(a)).css("display","");this[h]&&d(c).jqGrid("expandRow",this)})}})},collapseRow:function(b){this.each(function(){var c=
+this;if(c.grid&&c.p.treeGrid){var a=d(c).jqGrid("getNodeChildren",b),h=c.p.treeReader.expanded_field,e=c.rows;d(a).each(function(){var a=c.p.idPrefix+d.jgrid.getAccessor(this,c.p.localReader.id);d(e.namedItem(a)).css("display","none");this[h]&&d(c).jqGrid("collapseRow",this)})}})},getRootNodes:function(){var b=[];this.each(function(){var c=this;if(c.grid&&c.p.treeGrid)switch(c.p.treeGridModel){case "nested":var a=c.p.treeReader.level_field;d(c.p.data).each(function(){parseInt(this[a],10)===parseInt(c.p.tree_root_level,
+10)&&b.push(this)});break;case "adjacency":var h=c.p.treeReader.parent_id_field;d(c.p.data).each(function(){(null===this[h]||"null"===(""+this[h]).toLowerCase())&&b.push(this)})}});return b},getNodeDepth:function(b){var c=null;this.each(function(){if(this.grid&&this.p.treeGrid)switch(this.p.treeGridModel){case "nested":c=parseInt(b[this.p.treeReader.level_field],10)-parseInt(this.p.tree_root_level,10);break;case "adjacency":c=d(this).jqGrid("getNodeAncestors",b).length}});return c},getNodeParent:function(b){var c=
+null;this.each(function(){var a=this;if(a.grid&&a.p.treeGrid)switch(a.p.treeGridModel){case "nested":var h=a.p.treeReader.left_field,e=a.p.treeReader.right_field,i=a.p.treeReader.level_field,g=parseInt(b[h],10),f=parseInt(b[e],10),l=parseInt(b[i],10);d(this.p.data).each(function(){if(parseInt(this[i],10)===l-1&&parseInt(this[h],10)<g&&parseInt(this[e],10)>f)return c=this,!1});break;case "adjacency":var k=a.p.treeReader.parent_id_field,m=a.p.localReader.id;d(this.p.data).each(function(){if(this[m]===
+d.jgrid.stripPref(a.p.idPrefix,b[k]))return c=this,!1})}});return c},getNodeChildren:function(b){var c=[];this.each(function(){var a=this;if(a.grid&&a.p.treeGrid)switch(a.p.treeGridModel){case "nested":var h=a.p.treeReader.left_field,e=a.p.treeReader.right_field,i=a.p.treeReader.level_field,g=parseInt(b[h],10),f=parseInt(b[e],10),l=parseInt(b[i],10);d(this.p.data).each(function(){parseInt(this[i],10)===l+1&&parseInt(this[h],10)>g&&parseInt(this[e],10)<f&&c.push(this)});break;case "adjacency":var k=
+a.p.treeReader.parent_id_field,m=a.p.localReader.id;d(this.p.data).each(function(){this[k]==d.jgrid.stripPref(a.p.idPrefix,b[m])&&c.push(this)})}});return c},getFullTreeNode:function(b){var c=[];this.each(function(){var a=this,h;if(a.grid&&a.p.treeGrid)switch(a.p.treeGridModel){case "nested":var e=a.p.treeReader.left_field,i=a.p.treeReader.right_field,g=a.p.treeReader.level_field,f=parseInt(b[e],10),l=parseInt(b[i],10),k=parseInt(b[g],10);d(this.p.data).each(function(){parseInt(this[g],10)>=k&&parseInt(this[e],
+10)>=f&&parseInt(this[e],10)<=l&&c.push(this)});break;case "adjacency":if(b){c.push(b);var m=a.p.treeReader.parent_id_field,n=a.p.localReader.id;d(this.p.data).each(function(b){h=c.length;for(b=0;b<h;b++)if(d.jgrid.stripPref(a.p.idPrefix,c[b][n])===this[m]){c.push(this);break}})}}});return c},getNodeAncestors:function(b){var c=[];this.each(function(){if(this.grid&&this.p.treeGrid)for(var a=d(this).jqGrid("getNodeParent",b);a;)c.push(a),a=d(this).jqGrid("getNodeParent",a)});return c},isVisibleNode:function(b){var c=
+!0;this.each(function(){if(this.grid&&this.p.treeGrid){var a=d(this).jqGrid("getNodeAncestors",b),h=this.p.treeReader.expanded_field;d(a).each(function(){c=c&&this[h];if(!c)return!1})}});return c},isNodeLoaded:function(b){var c;this.each(function(){if(this.grid&&this.p.treeGrid){var a=this.p.treeReader.leaf_field;c=void 0!==b?void 0!==b.loaded?b.loaded:b[a]||0<d(this).jqGrid("getNodeChildren",b).length?!0:!1:!1}});return c},expandNode:function(b){return this.each(function(){if(this.grid&&this.p.treeGrid){var c=
+this.p.treeReader.expanded_field,a=this.p.treeReader.parent_id_field,h=this.p.treeReader.loaded,e=this.p.treeReader.level_field,i=this.p.treeReader.left_field,g=this.p.treeReader.right_field;if(!b[c]){var f=d.jgrid.getAccessor(b,this.p.localReader.id),l=d("#"+this.p.idPrefix+d.jgrid.jqID(f),this.grid.bDiv)[0],k=this.p._index[f];d(this).jqGrid("isNodeLoaded",this.p.data[k])?(b[c]=!0,d("div.treeclick",l).removeClass(this.p.treeIcons.plus+" tree-plus").addClass(this.p.treeIcons.minus+" tree-minus")):
+this.grid.hDiv.loading||(b[c]=!0,d("div.treeclick",l).removeClass(this.p.treeIcons.plus+" tree-plus").addClass(this.p.treeIcons.minus+" tree-minus"),this.p.treeANode=l.rowIndex,this.p.datatype=this.p.treedatatype,"nested"===this.p.treeGridModel?d(this).jqGrid("setGridParam",{postData:{nodeid:f,n_left:b[i],n_right:b[g],n_level:b[e]}}):d(this).jqGrid("setGridParam",{postData:{nodeid:f,parentid:b[a],n_level:b[e]}}),d(this).trigger("reloadGrid"),b[h]=!0,"nested"===this.p.treeGridModel?d(this).jqGrid("setGridParam",
+{postData:{nodeid:"",n_left:"",n_right:"",n_level:""}}):d(this).jqGrid("setGridParam",{postData:{nodeid:"",parentid:"",n_level:""}}))}}})},collapseNode:function(b){return this.each(function(){if(this.grid&&this.p.treeGrid){var c=this.p.treeReader.expanded_field;b[c]&&(b[c]=!1,c=d.jgrid.getAccessor(b,this.p.localReader.id),c=d("#"+this.p.idPrefix+d.jgrid.jqID(c),this.grid.bDiv)[0],d("div.treeclick",c).removeClass(this.p.treeIcons.minus+" tree-minus").addClass(this.p.treeIcons.plus+" tree-plus"))}})},
+SortTree:function(b,c,a,h){return this.each(function(){if(this.grid&&this.p.treeGrid){var e,i,g,f=[],l=this,k;e=d(this).jqGrid("getRootNodes");e=d.jgrid.from(e);e.orderBy(b,c,a,h);k=e.select();e=0;for(i=k.length;e<i;e++)g=k[e],f.push(g),d(this).jqGrid("collectChildrenSortTree",f,g,b,c,a,h);d.each(f,function(a){var b=d.jgrid.getAccessor(this,l.p.localReader.id);d("#"+d.jgrid.jqID(l.p.id)+" tbody tr:eq("+a+")").after(d("tr#"+d.jgrid.jqID(b),l.grid.bDiv))});f=k=e=null}})},collectChildrenSortTree:function(b,
+c,a,h,e,i){return this.each(function(){if(this.grid&&this.p.treeGrid){var g,f,l,k;g=d(this).jqGrid("getNodeChildren",c);g=d.jgrid.from(g);g.orderBy(a,h,e,i);k=g.select();g=0;for(f=k.length;g<f;g++)l=k[g],b.push(l),d(this).jqGrid("collectChildrenSortTree",b,l,a,h,e,i)}})},setTreeRow:function(b,c){var a=!1;this.each(function(){this.grid&&this.p.treeGrid&&(a=d(this).jqGrid("setRowData",b,c))});return a},delTreeNode:function(b){return this.each(function(){var c=this.p.localReader.id,a,h=this.p.treeReader.left_field,
+e=this.p.treeReader.right_field,i,g,f;if(this.grid&&this.p.treeGrid&&(a=this.p._index[b],void 0!==a)){i=parseInt(this.p.data[a][e],10);g=i-parseInt(this.p.data[a][h],10)+1;var l=d(this).jqGrid("getFullTreeNode",this.p.data[a]);if(0<l.length)for(a=0;a<l.length;a++)d(this).jqGrid("delRowData",l[a][c]);if("nested"===this.p.treeGridModel){c=d.jgrid.from(this.p.data).greater(h,i,{stype:"integer"}).select();if(c.length)for(f in c)c.hasOwnProperty(f)&&(c[f][h]=parseInt(c[f][h],10)-g);c=d.jgrid.from(this.p.data).greater(e,
+i,{stype:"integer"}).select();if(c.length)for(f in c)c.hasOwnProperty(f)&&(c[f][e]=parseInt(c[f][e],10)-g)}}})},addChildNode:function(b,c,a,h){var e=this[0];if(a){var i=e.p.treeReader.expanded_field,g=e.p.treeReader.leaf_field,f=e.p.treeReader.level_field,l=e.p.treeReader.parent_id_field,k=e.p.treeReader.left_field,m=e.p.treeReader.right_field,n=e.p.treeReader.loaded,j,r,q,t,p;j=0;var s=c,u;void 0===h&&(h=!1);if(void 0===b||null===b){p=e.p.data.length-1;if(0<=p)for(;0<=p;)j=Math.max(j,parseInt(e.p.data[p][e.p.localReader.id],
+10)),p--;b=j+1}var v=d(e).jqGrid("getInd",c);u=!1;if(void 0===c||null===c||""===c)s=c=null,j="last",t=e.p.tree_root_level,p=e.p.data.length+1;else if(j="after",r=e.p._index[c],q=e.p.data[r],c=q[e.p.localReader.id],t=parseInt(q[f],10)+1,p=d(e).jqGrid("getFullTreeNode",q),p.length?(s=p=p[p.length-1][e.p.localReader.id],p=d(e).jqGrid("getInd",s)+1):p=d(e).jqGrid("getInd",c)+1,q[g])u=!0,q[i]=!0,d(e.rows[v]).find("span.cell-wrapperleaf").removeClass("cell-wrapperleaf").addClass("cell-wrapper").end().find("div.tree-leaf").removeClass(e.p.treeIcons.leaf+
+" tree-leaf").addClass(e.p.treeIcons.minus+" tree-minus"),e.p.data[r][g]=!1,q[n]=!0;r=p+1;void 0===a[i]&&(a[i]=!1);void 0===a[n]&&(a[n]=!1);a[f]=t;void 0===a[g]&&(a[g]=!0);"adjacency"===e.p.treeGridModel&&(a[l]=c);if("nested"===e.p.treeGridModel){var o;if(null!==c){g=parseInt(q[m],10);f=d.jgrid.from(e.p.data);f=f.greaterOrEquals(m,g,{stype:"integer"});f=f.select();if(f.length)for(o in f)f.hasOwnProperty(o)&&(f[o][k]=f[o][k]>g?parseInt(f[o][k],10)+2:f[o][k],f[o][m]=f[o][m]>=g?parseInt(f[o][m],10)+
+2:f[o][m]);a[k]=g;a[m]=g+1}else{g=parseInt(d(e).jqGrid("getCol",m,!1,"max"),10);f=d.jgrid.from(e.p.data).greater(k,g,{stype:"integer"}).select();if(f.length)for(o in f)f.hasOwnProperty(o)&&(f[o][k]=parseInt(f[o][k],10)+2);f=d.jgrid.from(e.p.data).greater(m,g,{stype:"integer"}).select();if(f.length)for(o in f)f.hasOwnProperty(o)&&(f[o][m]=parseInt(f[o][m],10)+2);a[k]=g+1;a[m]=g+2}}if(null===c||d(e).jqGrid("isNodeLoaded",q)||u)d(e).jqGrid("addRowData",b,a,j,s),d(e).jqGrid("setTreeNode",p,r);q&&!q[i]&&
+h&&d(e.rows[v]).find("div.treeclick").click()}}})})(jQuery);
+(function(c){c.jgrid.extend({jqGridImport:function(a){a=c.extend({imptype:"xml",impstring:"",impurl:"",mtype:"GET",impData:{},xmlGrid:{config:"roots>grid",data:"roots>rows"},jsonGrid:{config:"grid",data:"data"},ajaxOptions:{}},a||{});return this.each(function(){var d=this,f=function(a,b){var e=c(b.xmlGrid.config,a)[0],h=c(b.xmlGrid.data,a)[0],f,g;if(xmlJsonClass.xml2json&&c.jgrid.parse){e=xmlJsonClass.xml2json(e," ");e=c.jgrid.parse(e);for(g in e)e.hasOwnProperty(g)&&(f=e[g]);h?(h=e.grid.datatype,
+e.grid.datatype="xmlstring",e.grid.datastr=a,c(d).jqGrid(f).jqGrid("setGridParam",{datatype:h})):c(d).jqGrid(f)}else alert("xml2json or parse are not present")},b=function(a,b){if(a&&"string"===typeof a){var e=!1;c.jgrid.useJSON&&(c.jgrid.useJSON=!1,e=!0);var f=c.jgrid.parse(a);e&&(c.jgrid.useJSON=!0);e=f[b.jsonGrid.config];if(f=f[b.jsonGrid.data]){var g=e.datatype;e.datatype="jsonstring";e.datastr=f;c(d).jqGrid(e).jqGrid("setGridParam",{datatype:g})}else c(d).jqGrid(e)}};switch(a.imptype){case "xml":c.ajax(c.extend({url:a.impurl,
+type:a.mtype,data:a.impData,dataType:"xml",complete:function(b,g){"success"===g&&(f(b.responseXML,a),c(d).triggerHandler("jqGridImportComplete",[b,a]),c.isFunction(a.importComplete)&&a.importComplete(b))}},a.ajaxOptions));break;case "xmlstring":if(a.impstring&&"string"===typeof a.impstring){var g=c.parseXML(a.impstring);g&&(f(g,a),c(d).triggerHandler("jqGridImportComplete",[g,a]),c.isFunction(a.importComplete)&&a.importComplete(g),a.impstring=null);g=null}break;case "json":c.ajax(c.extend({url:a.impurl,
+type:a.mtype,data:a.impData,dataType:"json",complete:function(f){try{b(f.responseText,a),c(d).triggerHandler("jqGridImportComplete",[f,a]),c.isFunction(a.importComplete)&&a.importComplete(f)}catch(g){}}},a.ajaxOptions));break;case "jsonstring":a.impstring&&"string"===typeof a.impstring&&(b(a.impstring,a),c(d).triggerHandler("jqGridImportComplete",[a.impstring,a]),c.isFunction(a.importComplete)&&a.importComplete(a.impstring),a.impstring=null)}})},jqGridExport:function(a){var a=c.extend({exptype:"xmlstring",
+root:"grid",ident:"\t"},a||{}),d=null;this.each(function(){if(this.grid){var f,b=c.extend(!0,{},c(this).jqGrid("getGridParam"));b.rownumbers&&(b.colNames.splice(0,1),b.colModel.splice(0,1));b.multiselect&&(b.colNames.splice(0,1),b.colModel.splice(0,1));b.subGrid&&(b.colNames.splice(0,1),b.colModel.splice(0,1));b.knv=null;if(b.treeGrid)for(f in b.treeReader)b.treeReader.hasOwnProperty(f)&&(b.colNames.splice(b.colNames.length-1),b.colModel.splice(b.colModel.length-1));switch(a.exptype){case "xmlstring":d=
+"<"+a.root+">"+xmlJsonClass.json2xml(b,a.ident)+"</"+a.root+">";break;case "jsonstring":d="{"+xmlJsonClass.toJson(b,a.root,a.ident,!1)+"}",void 0!==b.postData.filters&&(d=d.replace(/filters":"/,'filters":'),d=d.replace(/}]}"/,"}]}"))}}});return d},excelExport:function(a){a=c.extend({exptype:"remote",url:null,oper:"oper",tag:"excel",exportOptions:{}},a||{});return this.each(function(){if(this.grid){var d;"remote"===a.exptype&&(d=c.extend({},this.p.postData),d[a.oper]=a.tag,d=jQuery.param(d),d=-1!==
+a.url.indexOf("?")?a.url+"&"+d:a.url+"?"+d,window.location=d)}})}})})(jQuery);
+var xmlJsonClass={xml2json:function(a,b){9===a.nodeType&&(a=a.documentElement);var g=this.toJson(this.toObj(this.removeWhite(a)),a.nodeName,"\t");return"{\n"+b+(b?g.replace(/\t/g,b):g.replace(/\t|\n/g,""))+"\n}"},json2xml:function(a,b){var g=function(a,b,e){var d="",f,i;if(a instanceof Array)if(0===a.length)d+=e+"<"+b+">__EMPTY_ARRAY_</"+b+">\n";else{f=0;for(i=a.length;f<i;f+=1)var l=e+g(a[f],b,e+"\t")+"\n",d=d+l}else if("object"===typeof a){f=!1;d+=e+"<"+b;for(i in a)a.hasOwnProperty(i)&&("@"===
+i.charAt(0)?d+=" "+i.substr(1)+'="'+a[i].toString()+'"':f=!0);d+=f?">":"/>";if(f){for(i in a)a.hasOwnProperty(i)&&("#text"===i?d+=a[i]:"#cdata"===i?d+="<![CDATA["+a[i]+"]]\>":"@"!==i.charAt(0)&&(d+=g(a[i],i,e+"\t")));d+=("\n"===d.charAt(d.length-1)?e:"")+"</"+b+">"}}else"function"===typeof a?d+=e+"<"+b+"><![CDATA["+a+"]]\></"+b+">":(void 0===a&&(a=""),d='""'===a.toString()||0===a.toString().length?d+(e+"<"+b+">__EMPTY_STRING_</"+b+">"):d+(e+"<"+b+">"+a.toString()+"</"+b+">"));return d},f="",e;for(e in a)a.hasOwnProperty(e)&&
+(f+=g(a[e],e,""));return b?f.replace(/\t/g,b):f.replace(/\t|\n/g,"")},toObj:function(a){var b={},g=/function/i;if(1===a.nodeType){if(a.attributes.length){var f;for(f=0;f<a.attributes.length;f+=1)b["@"+a.attributes[f].nodeName]=(a.attributes[f].nodeValue||"").toString()}if(a.firstChild){var e=f=0,h=!1,c;for(c=a.firstChild;c;c=c.nextSibling)1===c.nodeType?h=!0:3===c.nodeType&&c.nodeValue.match(/[^ \f\n\r\t\v]/)?f+=1:4===c.nodeType&&(e+=1);if(h)if(2>f&&2>e){this.removeWhite(a);for(c=a.firstChild;c;c=
+c.nextSibling)3===c.nodeType?b["#text"]=this.escape(c.nodeValue):4===c.nodeType?g.test(c.nodeValue)?b[c.nodeName]=[b[c.nodeName],c.nodeValue]:b["#cdata"]=this.escape(c.nodeValue):b[c.nodeName]?b[c.nodeName]instanceof Array?b[c.nodeName][b[c.nodeName].length]=this.toObj(c):b[c.nodeName]=[b[c.nodeName],this.toObj(c)]:b[c.nodeName]=this.toObj(c)}else a.attributes.length?b["#text"]=this.escape(this.innerXml(a)):b=this.escape(this.innerXml(a));else if(f)a.attributes.length?b["#text"]=this.escape(this.innerXml(a)):
+(b=this.escape(this.innerXml(a)),"__EMPTY_ARRAY_"===b?b="[]":"__EMPTY_STRING_"===b&&(b=""));else if(e)if(1<e)b=this.escape(this.innerXml(a));else for(c=a.firstChild;c;c=c.nextSibling)if(g.test(a.firstChild.nodeValue)){b=a.firstChild.nodeValue;break}else b["#cdata"]=this.escape(c.nodeValue)}!a.attributes.length&&!a.firstChild&&(b=null)}else 9===a.nodeType?b=this.toObj(a.documentElement):alert("unhandled node type: "+a.nodeType);return b},toJson:function(a,b,g,f){void 0===f&&(f=!0);var e=b?'"'+b+'"':
+"",h="\t",c="\n";f||(c=h="");if("[]"===a)e+=b?":[]":"[]";else if(a instanceof Array){var j,d,k=[];d=0;for(j=a.length;d<j;d+=1)k[d]=this.toJson(a[d],"",g+h,f);e+=(b?":[":"[")+(1<k.length?c+g+h+k.join(","+c+g+h)+c+g:k.join(""))+"]"}else if(null===a)e+=(b&&":")+"null";else if("object"===typeof a){j=[];for(d in a)a.hasOwnProperty(d)&&(j[j.length]=this.toJson(a[d],d,g+h,f));e+=(b?":{":"{")+(1<j.length?c+g+h+j.join(","+c+g+h)+c+g:j.join(""))+"}"}else e="string"===typeof a?e+((b&&":")+'"'+a.replace(/\\/g,
+"\\\\").replace(/\"/g,'\\"')+'"'):e+((b&&":")+a.toString());return e},innerXml:function(a){var b="";if("innerHTML"in a)b=a.innerHTML;else for(var g=function(a){var b="",h;if(1===a.nodeType){b+="<"+a.nodeName;for(h=0;h<a.attributes.length;h+=1)b+=" "+a.attributes[h].nodeName+'="'+(a.attributes[h].nodeValue||"").toString()+'"';if(a.firstChild){b+=">";for(h=a.firstChild;h;h=h.nextSibling)b+=g(h);b+="</"+a.nodeName+">"}else b+="/>"}else 3===a.nodeType?b+=a.nodeValue:4===a.nodeType&&(b+="<![CDATA["+a.nodeValue+
+"]]\>");return b},a=a.firstChild;a;a=a.nextSibling)b+=g(a);return b},escape:function(a){return a.replace(/[\\]/g,"\\\\").replace(/[\"]/g,'\\"').replace(/[\n]/g,"\\n").replace(/[\r]/g,"\\r")},removeWhite:function(a){a.normalize();var b;for(b=a.firstChild;b;)if(3===b.nodeType)if(b.nodeValue.match(/[^ \f\n\r\t\v]/))b=b.nextSibling;else{var g=b.nextSibling;a.removeChild(b);b=g}else 1===b.nodeType&&this.removeWhite(b),b=b.nextSibling;return a}};
+function tableToGrid(j,k){jQuery(j).each(function(){if(!this.grid){jQuery(this).width("99%");var b=jQuery(this).width(),c=jQuery("tr td:first-child input[type=checkbox]:first",jQuery(this)),a=jQuery("tr td:first-child input[type=radio]:first",jQuery(this)),c=0<c.length,a=!c&&0<a.length,i=c||a,d=[],e=[];jQuery("th",jQuery(this)).each(function(){0===d.length&&i?(d.push({name:"__selection__",index:"__selection__",width:0,hidden:!0}),e.push("__selection__")):(d.push({name:jQuery(this).attr("id")||jQuery.trim(jQuery.jgrid.stripHtml(jQuery(this).html())).split(" ").join("_"),
+index:jQuery(this).attr("id")||jQuery.trim(jQuery.jgrid.stripHtml(jQuery(this).html())).split(" ").join("_"),width:jQuery(this).width()||150}),e.push(jQuery(this).html()))});var f=[],g=[],h=[];jQuery("tbody > tr",jQuery(this)).each(function(){var b={},a=0;jQuery("td",jQuery(this)).each(function(){if(0===a&&i){var c=jQuery("input",jQuery(this)),e=c.attr("value");g.push(e||f.length);c.is(":checked")&&h.push(e);b[d[a].name]=c.attr("value")}else b[d[a].name]=jQuery(this).html();a++});0<a&&f.push(b)});
+jQuery(this).empty();jQuery(this).addClass("scroll");jQuery(this).jqGrid(jQuery.extend({datatype:"local",width:b,colNames:e,colModel:d,multiselect:c},k||{}));for(b=0;b<f.length;b++)a=null,0<g.length&&(a=g[b])&&a.replace&&(a=encodeURIComponent(a).replace(/[.\-%]/g,"_")),null===a&&(a=b+1),jQuery(this).jqGrid("addRowData",a,f[b]);for(b=0;b<h.length;b++)jQuery(this).jqGrid("setSelection",h[b])}})};
+(function(b){b.jgrid.msie&&8===b.jgrid.msiever()&&(b.expr[":"].hidden=function(b){return 0===b.offsetWidth||0===b.offsetHeight||"none"===b.style.display});b.jgrid._multiselect=!1;if(b.ui&&b.ui.multiselect){if(b.ui.multiselect.prototype._setSelected){var o=b.ui.multiselect.prototype._setSelected;b.ui.multiselect.prototype._setSelected=function(a,d){var c=o.call(this,a,d);if(d&&this.selectedList){var e=this.element;this.selectedList.find("li").each(function(){b(this).data("optionLink")&&b(this).data("optionLink").remove().appendTo(e)})}return c}}b.ui.multiselect.prototype.destroy&&
+(b.ui.multiselect.prototype.destroy=function(){this.element.show();this.container.remove();b.Widget===void 0?b.widget.prototype.destroy.apply(this,arguments):b.Widget.prototype.destroy.apply(this,arguments)});b.jgrid._multiselect=!0}b.jgrid.extend({sortableColumns:function(a){return this.each(function(){function d(){c.p.disableClick=true}var c=this,e=b.jgrid.jqID(c.p.id),e={tolerance:"pointer",axis:"x",scrollSensitivity:"1",items:">th:not(:has(#jqgh_"+e+"_cb,#jqgh_"+e+"_rn,#jqgh_"+e+"_subgrid),:hidden)",
+placeholder:{element:function(a){return b(document.createElement(a[0].nodeName)).addClass(a[0].className+" ui-sortable-placeholder ui-state-highlight").removeClass("ui-sortable-helper")[0]},update:function(b,a){a.height(b.currentItem.innerHeight()-parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10));a.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")||0,10))}},update:function(a,
+e){var d=b(e.item).parent(),d=b(">th",d),f={},g=c.p.id+"_";b.each(c.p.colModel,function(b){f[this.name]=b});var j=[];d.each(function(){var a=b(">div",this).get(0).id.replace(/^jqgh_/,"").replace(g,"");f.hasOwnProperty(a)&&j.push(f[a])});b(c).jqGrid("remapColumns",j,true,true);b.isFunction(c.p.sortable.update)&&c.p.sortable.update(j);setTimeout(function(){c.p.disableClick=false},50)}};if(c.p.sortable.options)b.extend(e,c.p.sortable.options);else if(b.isFunction(c.p.sortable))c.p.sortable={update:c.p.sortable};
+if(e.start){var g=e.start;e.start=function(b,a){d();g.call(this,b,a)}}else e.start=d;if(c.p.sortable.exclude)e.items=e.items+(":not("+c.p.sortable.exclude+")");a.sortable(e).data("sortable").floating=true})},columnChooser:function(a){function d(a,c){a&&(typeof a==="string"?b.fn[a]&&b.fn[a].apply(c,b.makeArray(arguments).slice(2)):b.isFunction(a)&&a.apply(c,b.makeArray(arguments).slice(2)))}var c=this;if(!b("#colchooser_"+b.jgrid.jqID(c[0].p.id)).length){var e=b('<div id="colchooser_'+c[0].p.id+'" style="position:relative;overflow:hidden"><div><select multiple="multiple"></select></div></div>'),
+g=b("select",e),a=b.extend({width:420,height:240,classname:null,done:function(b){b&&c.jqGrid("remapColumns",b,true)},msel:"multiselect",dlog:"dialog",dialog_opts:{minWidth:470},dlog_opts:function(a){var c={};c[a.bSubmit]=function(){a.apply_perm();a.cleanup(false)};c[a.bCancel]=function(){a.cleanup(true)};return b.extend(true,{buttons:c,close:function(){a.cleanup(true)},modal:a.modal||false,resizable:a.resizable||true,width:a.width+20},a.dialog_opts||{})},apply_perm:function(){b("option",g).each(function(){this.selected?
+c.jqGrid("showCol",i[this.value].name):c.jqGrid("hideCol",i[this.value].name)});var e=[];b("option:selected",g).each(function(){e.push(parseInt(this.value,10))});b.each(e,function(){delete m[i[parseInt(this,10)].name]});b.each(m,function(){var b=parseInt(this,10);var a=e,c=b;if(c>=0){var d=a.slice(),i=d.splice(c,Math.max(a.length-c,c));if(c>a.length)c=a.length;d[c]=b;e=d.concat(i)}else e=void 0});a.done&&a.done.call(c,e)},cleanup:function(b){d(a.dlog,e,"destroy");d(a.msel,g,"destroy");e.remove();
+b&&a.done&&a.done.call(c)},msel_opts:{}},b.jgrid.col,a||{});if(b.ui&&b.ui.multiselect&&a.msel==="multiselect"){if(!b.jgrid._multiselect){alert("Multiselect plugin loaded after jqGrid. Please load the plugin before the jqGrid!");return}a.msel_opts=b.extend(b.ui.multiselect.defaults,a.msel_opts)}a.caption&&e.attr("title",a.caption);if(a.classname){e.addClass(a.classname);g.addClass(a.classname)}if(a.width){b(">div",e).css({width:a.width,margin:"0 auto"});g.css("width",a.width)}if(a.height){b(">div",
+e).css("height",a.height);g.css("height",a.height-10)}var i=c.jqGrid("getGridParam","colModel"),q=c.jqGrid("getGridParam","colNames"),m={},f=[];g.empty();b.each(i,function(a){m[this.name]=a;this.hidedlg?this.hidden||f.push(a):g.append("<option value='"+a+"' "+(this.hidden?"":"selected='selected'")+">"+b.jgrid.stripHtml(q[a])+"</option>")});var n=b.isFunction(a.dlog_opts)?a.dlog_opts.call(c,a):a.dlog_opts;d(a.dlog,e,n);n=b.isFunction(a.msel_opts)?a.msel_opts.call(c,a):a.msel_opts;d(a.msel,g,n)}},sortableRows:function(a){return this.each(function(){var d=
+this;if(d.grid&&!d.p.treeGrid&&b.fn.sortable){a=b.extend({cursor:"move",axis:"y",items:".jqgrow"},a||{});if(a.start&&b.isFunction(a.start)){a._start_=a.start;delete a.start}else a._start_=false;if(a.update&&b.isFunction(a.update)){a._update_=a.update;delete a.update}else a._update_=false;a.start=function(c,e){b(e.item).css("border-width","0px");b("td",e.item).each(function(b){this.style.width=d.grid.cols[b].style.width});if(d.p.subGrid){var g=b(e.item).attr("id");try{b(d).jqGrid("collapseSubGridRow",
+g)}catch(i){}}a._start_&&a._start_.apply(this,[c,e])};a.update=function(c,e){b(e.item).css("border-width","");d.p.rownumbers===true&&b("td.jqgrid-rownum",d.rows).each(function(a){b(this).html(a+1+(parseInt(d.p.page,10)-1)*parseInt(d.p.rowNum,10))});a._update_&&a._update_.apply(this,[c,e])};b("tbody:first",d).sortable(a);b("tbody:first",d).disableSelection()}})},gridDnD:function(a){return this.each(function(){function d(){var a=b.data(c,"dnd");b("tr.jqgrow:not(.ui-draggable)",c).draggable(b.isFunction(a.drag)?
+a.drag.call(b(c),a):a.drag)}var c=this,e,g;if(c.grid&&!c.p.treeGrid&&b.fn.draggable&&b.fn.droppable){b("#jqgrid_dnd")[0]===void 0&&b("body").append("<table id='jqgrid_dnd' class='ui-jqgrid-dnd'></table>");if(typeof a==="string"&&a==="updateDnD"&&c.p.jqgdnd===true)d();else{a=b.extend({drag:function(a){return b.extend({start:function(e,d){var f;if(c.p.subGrid){f=b(d.helper).attr("id");try{b(c).jqGrid("collapseSubGridRow",f)}catch(g){}}for(f=0;f<b.data(c,"dnd").connectWith.length;f++)b(b.data(c,"dnd").connectWith[f]).jqGrid("getGridParam",
+"reccount")===0&&b(b.data(c,"dnd").connectWith[f]).jqGrid("addRowData","jqg_empty_row",{});d.helper.addClass("ui-state-highlight");b("td",d.helper).each(function(b){this.style.width=c.grid.headers[b].width+"px"});a.onstart&&b.isFunction(a.onstart)&&a.onstart.call(b(c),e,d)},stop:function(e,d){var f;if(d.helper.dropped&&!a.dragcopy){f=b(d.helper).attr("id");f===void 0&&(f=b(this).attr("id"));b(c).jqGrid("delRowData",f)}for(f=0;f<b.data(c,"dnd").connectWith.length;f++)b(b.data(c,"dnd").connectWith[f]).jqGrid("delRowData",
+"jqg_empty_row");a.onstop&&b.isFunction(a.onstop)&&a.onstop.call(b(c),e,d)}},a.drag_opts||{})},drop:function(a){return b.extend({accept:function(a){if(!b(a).hasClass("jqgrow"))return a;a=b(a).closest("table.ui-jqgrid-btable");if(a.length>0&&b.data(a[0],"dnd")!==void 0){a=b.data(a[0],"dnd").connectWith;return b.inArray("#"+b.jgrid.jqID(this.id),a)!==-1?true:false}return false},drop:function(e,d){if(b(d.draggable).hasClass("jqgrow")){var f=b(d.draggable).attr("id"),f=d.draggable.parent().parent().jqGrid("getRowData",
+f);if(!a.dropbyname){var g=0,j={},h,l,p=b("#"+b.jgrid.jqID(this.id)).jqGrid("getGridParam","colModel");try{for(l in f)if(f.hasOwnProperty(l)){h=p[g].name;h==="cb"||h==="rn"||h==="subgrid"||f.hasOwnProperty(l)&&p[g]&&(j[h]=f[l]);g++}f=j}catch(o){}}d.helper.dropped=true;if(a.beforedrop&&b.isFunction(a.beforedrop)){h=a.beforedrop.call(this,e,d,f,b("#"+b.jgrid.jqID(c.p.id)),b(this));h!==void 0&&h!==null&&typeof h==="object"&&(f=h)}if(d.helper.dropped){var k;if(a.autoid)if(b.isFunction(a.autoid))k=a.autoid.call(this,
+f);else{k=Math.ceil(Math.random()*1E3);k=a.autoidprefix+k}b("#"+b.jgrid.jqID(this.id)).jqGrid("addRowData",k,f,a.droppos)}a.ondrop&&b.isFunction(a.ondrop)&&a.ondrop.call(this,e,d,f)}}},a.drop_opts||{})},onstart:null,onstop:null,beforedrop:null,ondrop:null,drop_opts:{activeClass:"ui-state-active",hoverClass:"ui-state-hover"},drag_opts:{revert:"invalid",helper:"clone",cursor:"move",appendTo:"#jqgrid_dnd",zIndex:5E3},dragcopy:false,dropbyname:false,droppos:"first",autoid:true,autoidprefix:"dnd_"},a||
+{});if(a.connectWith){a.connectWith=a.connectWith.split(",");a.connectWith=b.map(a.connectWith,function(a){return b.trim(a)});b.data(c,"dnd",a);c.p.reccount!==0&&!c.p.jqgdnd&&d();c.p.jqgdnd=true;for(e=0;e<a.connectWith.length;e++){g=a.connectWith[e];b(g).droppable(b.isFunction(a.drop)?a.drop.call(b(c),a):a.drop)}}}}})},gridResize:function(a){return this.each(function(){var d=this,c=b.jgrid.jqID(d.p.id);if(d.grid&&b.fn.resizable){a=b.extend({},a||{});if(a.alsoResize){a._alsoResize_=a.alsoResize;delete a.alsoResize}else a._alsoResize_=
+false;if(a.stop&&b.isFunction(a.stop)){a._stop_=a.stop;delete a.stop}else a._stop_=false;a.stop=function(e,g){b(d).jqGrid("setGridParam",{height:b("#gview_"+c+" .ui-jqgrid-bdiv").height()});b(d).jqGrid("setGridWidth",g.size.width,a.shrinkToFit);a._stop_&&a._stop_.call(d,e,g)};a.alsoResize=a._alsoResize_?eval("("+("{'#gview_"+c+" .ui-jqgrid-bdiv':true,'"+a._alsoResize_+"':true}")+")"):b(".ui-jqgrid-bdiv","#gview_"+c);delete a._alsoResize_;b("#gbox_"+c).resizable(a)}})}})})(jQuery);
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/js/jquery-1.10.2.min.js b/src/main/webapp/static/login/assets/js/jquery-1.10.2.min.js new file mode 100644 index 0000000..da41706 --- /dev/null +++ b/src/main/webapp/static/login/assets/js/jquery-1.10.2.min.js @@ -0,0 +1,6 @@ +/*! jQuery v1.10.2 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license +//@ sourceMappingURL=jquery-1.10.2.min.map +*/ +(function(e,t){var n,r,i=typeof t,o=e.location,a=e.document,s=a.documentElement,l=e.jQuery,u=e.$,c={},p=[],f="1.10.2",d=p.concat,h=p.push,g=p.slice,m=p.indexOf,y=c.toString,v=c.hasOwnProperty,b=f.trim,x=function(e,t){return new x.fn.init(e,t,r)},w=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=/\S+/g,C=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,k=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,E=/^[\],:{}\s]*$/,S=/(?:^|:|,)(?:\s*\[)+/g,A=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,j=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,D=/^-ms-/,L=/-([\da-z])/gi,H=function(e,t){return t.toUpperCase()},q=function(e){(a.addEventListener||"load"===e.type||"complete"===a.readyState)&&(_(),x.ready())},_=function(){a.addEventListener?(a.removeEventListener("DOMContentLoaded",q,!1),e.removeEventListener("load",q,!1)):(a.detachEvent("onreadystatechange",q),e.detachEvent("onload",q))};x.fn=x.prototype={jquery:f,constructor:x,init:function(e,n,r){var i,o;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof x?n[0]:n,x.merge(this,x.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:a,!0)),k.test(i[1])&&x.isPlainObject(n))for(i in n)x.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(o=a.getElementById(i[2]),o&&o.parentNode){if(o.id!==i[2])return r.find(e);this.length=1,this[0]=o}return this.context=a,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):x.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),x.makeArray(e,this))},selector:"",length:0,toArray:function(){return g.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=x.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return x.each(this,e,t)},ready:function(e){return x.ready.promise().done(e),this},slice:function(){return this.pushStack(g.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(x.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:h,sort:[].sort,splice:[].splice},x.fn.init.prototype=x.fn,x.extend=x.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},l=1,u=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},l=2),"object"==typeof s||x.isFunction(s)||(s={}),u===l&&(s=this,--l);u>l;l++)if(null!=(o=arguments[l]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(x.isPlainObject(r)||(n=x.isArray(r)))?(n?(n=!1,a=e&&x.isArray(e)?e:[]):a=e&&x.isPlainObject(e)?e:{},s[i]=x.extend(c,a,r)):r!==t&&(s[i]=r));return s},x.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),noConflict:function(t){return e.$===x&&(e.$=u),t&&e.jQuery===x&&(e.jQuery=l),x},isReady:!1,readyWait:1,holdReady:function(e){e?x.readyWait++:x.ready(!0)},ready:function(e){if(e===!0?!--x.readyWait:!x.isReady){if(!a.body)return setTimeout(x.ready);x.isReady=!0,e!==!0&&--x.readyWait>0||(n.resolveWith(a,[x]),x.fn.trigger&&x(a).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===x.type(e)},isArray:Array.isArray||function(e){return"array"===x.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?c[y.call(e)]||"object":typeof e},isPlainObject:function(e){var n;if(!e||"object"!==x.type(e)||e.nodeType||x.isWindow(e))return!1;try{if(e.constructor&&!v.call(e,"constructor")&&!v.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(r){return!1}if(x.support.ownLast)for(n in e)return v.call(e,n);for(n in e);return n===t||v.call(e,n)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||a;var r=k.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=x.buildFragment([e],t,i),i&&x(i).remove(),x.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=x.trim(n),n&&E.test(n.replace(A,"@").replace(j,"]").replace(S,"")))?Function("return "+n)():(x.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||x.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&x.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(D,"ms-").replace(L,H)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:b&&!b.call("\ufeff\u00a0")?function(e){return null==e?"":b.call(e)}:function(e){return null==e?"":(e+"").replace(C,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?x.merge(n,"string"==typeof e?[e]:e):h.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(m)return m.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return d.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),x.isFunction(e)?(r=g.call(arguments,2),i=function(){return e.apply(n||this,r.concat(g.call(arguments)))},i.guid=e.guid=e.guid||x.guid++,i):t},access:function(e,n,r,i,o,a,s){var l=0,u=e.length,c=null==r;if("object"===x.type(r)){o=!0;for(l in r)x.access(e,n,l,r[l],!0,a,s)}else if(i!==t&&(o=!0,x.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(x(e),n)})),n))for(;u>l;l++)n(e[l],r,s?i:i.call(e[l],l,n(e[l],r)));return o?e:c?n.call(e):u?n(e[0],r):a},now:function(){return(new Date).getTime()},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),x.ready.promise=function(t){if(!n)if(n=x.Deferred(),"complete"===a.readyState)setTimeout(x.ready);else if(a.addEventListener)a.addEventListener("DOMContentLoaded",q,!1),e.addEventListener("load",q,!1);else{a.attachEvent("onreadystatechange",q),e.attachEvent("onload",q);var r=!1;try{r=null==e.frameElement&&a.documentElement}catch(i){}r&&r.doScroll&&function o(){if(!x.isReady){try{r.doScroll("left")}catch(e){return setTimeout(o,50)}_(),x.ready()}}()}return n.promise(t)},x.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){c["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=x.type(e);return x.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=x(a),function(e,t){var n,r,i,o,a,s,l,u,c,p,f,d,h,g,m,y,v,b="sizzle"+-new Date,w=e.document,T=0,C=0,N=st(),k=st(),E=st(),S=!1,A=function(e,t){return e===t?(S=!0,0):0},j=typeof t,D=1<<31,L={}.hasOwnProperty,H=[],q=H.pop,_=H.push,M=H.push,O=H.slice,F=H.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},B="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",P="[\\x20\\t\\r\\n\\f]",R="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",W=R.replace("w","w#"),$="\\["+P+"*("+R+")"+P+"*(?:([*^$|!~]?=)"+P+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+W+")|)|)"+P+"*\\]",I=":("+R+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+$.replace(3,8)+")*)|.*)\\)|)",z=RegExp("^"+P+"+|((?:^|[^\\\\])(?:\\\\.)*)"+P+"+$","g"),X=RegExp("^"+P+"*,"+P+"*"),U=RegExp("^"+P+"*([>+~]|"+P+")"+P+"*"),V=RegExp(P+"*[+~]"),Y=RegExp("="+P+"*([^\\]'\"]*)"+P+"*\\]","g"),J=RegExp(I),G=RegExp("^"+W+"$"),Q={ID:RegExp("^#("+R+")"),CLASS:RegExp("^\\.("+R+")"),TAG:RegExp("^("+R.replace("w","w*")+")"),ATTR:RegExp("^"+$),PSEUDO:RegExp("^"+I),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+P+"*(even|odd|(([+-]|)(\\d*)n|)"+P+"*(?:([+-]|)"+P+"*(\\d+)|))"+P+"*\\)|)","i"),bool:RegExp("^(?:"+B+")$","i"),needsContext:RegExp("^"+P+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+P+"*((?:-\\d)?\\d*)"+P+"*\\)|)(?=[^-]|$)","i")},K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,et=/^(?:input|select|textarea|button)$/i,tt=/^h\d$/i,nt=/'|\\/g,rt=RegExp("\\\\([\\da-f]{1,6}"+P+"?|("+P+")|.)","ig"),it=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:0>r?String.fromCharCode(r+65536):String.fromCharCode(55296|r>>10,56320|1023&r)};try{M.apply(H=O.call(w.childNodes),w.childNodes),H[w.childNodes.length].nodeType}catch(ot){M={apply:H.length?function(e,t){_.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function at(e,t,n,i){var o,a,s,l,u,c,d,m,y,x;if((t?t.ownerDocument||t:w)!==f&&p(t),t=t||f,n=n||[],!e||"string"!=typeof e)return n;if(1!==(l=t.nodeType)&&9!==l)return[];if(h&&!i){if(o=Z.exec(e))if(s=o[1]){if(9===l){if(a=t.getElementById(s),!a||!a.parentNode)return n;if(a.id===s)return n.push(a),n}else if(t.ownerDocument&&(a=t.ownerDocument.getElementById(s))&&v(t,a)&&a.id===s)return n.push(a),n}else{if(o[2])return M.apply(n,t.getElementsByTagName(e)),n;if((s=o[3])&&r.getElementsByClassName&&t.getElementsByClassName)return M.apply(n,t.getElementsByClassName(s)),n}if(r.qsa&&(!g||!g.test(e))){if(m=d=b,y=t,x=9===l&&e,1===l&&"object"!==t.nodeName.toLowerCase()){c=mt(e),(d=t.getAttribute("id"))?m=d.replace(nt,"\\$&"):t.setAttribute("id",m),m="[id='"+m+"'] ",u=c.length;while(u--)c[u]=m+yt(c[u]);y=V.test(e)&&t.parentNode||t,x=c.join(",")}if(x)try{return M.apply(n,y.querySelectorAll(x)),n}catch(T){}finally{d||t.removeAttribute("id")}}}return kt(e.replace(z,"$1"),t,n,i)}function st(){var e=[];function t(n,r){return e.push(n+=" ")>o.cacheLength&&delete t[e.shift()],t[n]=r}return t}function lt(e){return e[b]=!0,e}function ut(e){var t=f.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function ct(e,t){var n=e.split("|"),r=e.length;while(r--)o.attrHandle[n[r]]=t}function pt(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||D)-(~e.sourceIndex||D);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function ft(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function dt(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function ht(e){return lt(function(t){return t=+t,lt(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}s=at.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},r=at.support={},p=at.setDocument=function(e){var n=e?e.ownerDocument||e:w,i=n.defaultView;return n!==f&&9===n.nodeType&&n.documentElement?(f=n,d=n.documentElement,h=!s(n),i&&i.attachEvent&&i!==i.top&&i.attachEvent("onbeforeunload",function(){p()}),r.attributes=ut(function(e){return e.className="i",!e.getAttribute("className")}),r.getElementsByTagName=ut(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),r.getElementsByClassName=ut(function(e){return e.innerHTML="<div class='a'></div><div class='a i'></div>",e.firstChild.className="i",2===e.getElementsByClassName("i").length}),r.getById=ut(function(e){return d.appendChild(e).id=b,!n.getElementsByName||!n.getElementsByName(b).length}),r.getById?(o.find.ID=function(e,t){if(typeof t.getElementById!==j&&h){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){return e.getAttribute("id")===t}}):(delete o.find.ID,o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){var n=typeof e.getAttributeNode!==j&&e.getAttributeNode("id");return n&&n.value===t}}),o.find.TAG=r.getElementsByTagName?function(e,n){return typeof n.getElementsByTagName!==j?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},o.find.CLASS=r.getElementsByClassName&&function(e,n){return typeof n.getElementsByClassName!==j&&h?n.getElementsByClassName(e):t},m=[],g=[],(r.qsa=K.test(n.querySelectorAll))&&(ut(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||g.push("\\["+P+"*(?:value|"+B+")"),e.querySelectorAll(":checked").length||g.push(":checked")}),ut(function(e){var t=n.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("t",""),e.querySelectorAll("[t^='']").length&&g.push("[*^$]="+P+"*(?:''|\"\")"),e.querySelectorAll(":enabled").length||g.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),g.push(",.*:")})),(r.matchesSelector=K.test(y=d.webkitMatchesSelector||d.mozMatchesSelector||d.oMatchesSelector||d.msMatchesSelector))&&ut(function(e){r.disconnectedMatch=y.call(e,"div"),y.call(e,"[s!='']:x"),m.push("!=",I)}),g=g.length&&RegExp(g.join("|")),m=m.length&&RegExp(m.join("|")),v=K.test(d.contains)||d.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},A=d.compareDocumentPosition?function(e,t){if(e===t)return S=!0,0;var i=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t);return i?1&i||!r.sortDetached&&t.compareDocumentPosition(e)===i?e===n||v(w,e)?-1:t===n||v(w,t)?1:c?F.call(c,e)-F.call(c,t):0:4&i?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return S=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:c?F.call(c,e)-F.call(c,t):0;if(o===a)return pt(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?pt(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},n):f},at.matches=function(e,t){return at(e,null,null,t)},at.matchesSelector=function(e,t){if((e.ownerDocument||e)!==f&&p(e),t=t.replace(Y,"='$1']"),!(!r.matchesSelector||!h||m&&m.test(t)||g&&g.test(t)))try{var n=y.call(e,t);if(n||r.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(i){}return at(t,f,null,[e]).length>0},at.contains=function(e,t){return(e.ownerDocument||e)!==f&&p(e),v(e,t)},at.attr=function(e,n){(e.ownerDocument||e)!==f&&p(e);var i=o.attrHandle[n.toLowerCase()],a=i&&L.call(o.attrHandle,n.toLowerCase())?i(e,n,!h):t;return a===t?r.attributes||!h?e.getAttribute(n):(a=e.getAttributeNode(n))&&a.specified?a.value:null:a},at.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},at.uniqueSort=function(e){var t,n=[],i=0,o=0;if(S=!r.detectDuplicates,c=!r.sortStable&&e.slice(0),e.sort(A),S){while(t=e[o++])t===e[o]&&(i=n.push(o));while(i--)e.splice(n[i],1)}return e},a=at.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=a(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=a(t);return n},o=at.selectors={cacheLength:50,createPseudo:lt,match:Q,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(rt,it),e[3]=(e[4]||e[5]||"").replace(rt,it),"~="===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]||at.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]&&at.error(e[0]),e},PSEUDO:function(e){var n,r=!e[5]&&e[2];return Q.CHILD.test(e[0])?null:(e[3]&&e[4]!==t?e[2]=e[4]:r&&J.test(r)&&(n=mt(r,!0))&&(n=r.indexOf(")",r.length-n)-r.length)&&(e[0]=e[0].slice(0,n),e[2]=r.slice(0,n)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(rt,it).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=N[e+" "];return t||(t=RegExp("(^|"+P+")"+e+"("+P+"|$)"))&&N(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==j&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=at.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,l){var u,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!l&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[b]||(m[b]={}),u=c[e]||[],d=u[0]===T&&u[1],f=u[0]===T&&u[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[T,d,f];break}}else if(v&&(u=(t[b]||(t[b]={}))[e])&&u[0]===T)f=u[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[b]||(p[b]={}))[e]=[T,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=o.pseudos[e]||o.setFilters[e.toLowerCase()]||at.error("unsupported pseudo: "+e);return r[b]?r(t):r.length>1?(n=[e,e,"",t],o.setFilters.hasOwnProperty(e.toLowerCase())?lt(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=F.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:lt(function(e){var t=[],n=[],r=l(e.replace(z,"$1"));return r[b]?lt(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:lt(function(e){return function(t){return at(e,t).length>0}}),contains:lt(function(e){return function(t){return(t.textContent||t.innerText||a(t)).indexOf(e)>-1}}),lang:lt(function(e){return G.test(e||"")||at.error("unsupported lang: "+e),e=e.replace(rt,it).toLowerCase(),function(t){var n;do if(n=h?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===d},focus:function(e){return e===f.activeElement&&(!f.hasFocus||f.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!o.pseudos.empty(e)},header:function(e){return tt.test(e.nodeName)},input:function(e){return et.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:ht(function(){return[0]}),last:ht(function(e,t){return[t-1]}),eq:ht(function(e,t,n){return[0>n?n+t:n]}),even:ht(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:ht(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:ht(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:ht(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}},o.pseudos.nth=o.pseudos.eq;for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})o.pseudos[n]=ft(n);for(n in{submit:!0,reset:!0})o.pseudos[n]=dt(n);function gt(){}gt.prototype=o.filters=o.pseudos,o.setFilters=new gt;function mt(e,t){var n,r,i,a,s,l,u,c=k[e+" "];if(c)return t?0:c.slice(0);s=e,l=[],u=o.preFilter;while(s){(!n||(r=X.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),l.push(i=[])),n=!1,(r=U.exec(s))&&(n=r.shift(),i.push({value:n,type:r[0].replace(z," ")}),s=s.slice(n.length));for(a in o.filter)!(r=Q[a].exec(s))||u[a]&&!(r=u[a](r))||(n=r.shift(),i.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?at.error(e):k(e,l).slice(0)}function yt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function vt(e,t,n){var r=t.dir,o=n&&"parentNode"===r,a=C++;return t.first?function(t,n,i){while(t=t[r])if(1===t.nodeType||o)return e(t,n,i)}:function(t,n,s){var l,u,c,p=T+" "+a;if(s){while(t=t[r])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[r])if(1===t.nodeType||o)if(c=t[b]||(t[b]={}),(u=c[r])&&u[0]===p){if((l=u[1])===!0||l===i)return l===!0}else if(u=c[r]=[p],u[1]=e(t,n,s)||i,u[1]===!0)return!0}}function bt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function xt(e,t,n,r,i){var o,a=[],s=0,l=e.length,u=null!=t;for(;l>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),u&&t.push(s));return a}function wt(e,t,n,r,i,o){return r&&!r[b]&&(r=wt(r)),i&&!i[b]&&(i=wt(i,o)),lt(function(o,a,s,l){var u,c,p,f=[],d=[],h=a.length,g=o||Nt(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:xt(g,f,e,s,l),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,l),r){u=xt(y,d),r(u,[],s,l),c=u.length;while(c--)(p=u[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){u=[],c=y.length;while(c--)(p=y[c])&&u.push(m[c]=p);i(null,y=[],u,l)}c=y.length;while(c--)(p=y[c])&&(u=i?F.call(o,p):f[c])>-1&&(o[u]=!(a[u]=p))}}else y=xt(y===a?y.splice(h,y.length):y),i?i(null,a,y,l):M.apply(a,y)})}function Tt(e){var t,n,r,i=e.length,a=o.relative[e[0].type],s=a||o.relative[" "],l=a?1:0,c=vt(function(e){return e===t},s,!0),p=vt(function(e){return F.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==u)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;i>l;l++)if(n=o.relative[e[l].type])f=[vt(bt(f),n)];else{if(n=o.filter[e[l].type].apply(null,e[l].matches),n[b]){for(r=++l;i>r;r++)if(o.relative[e[r].type])break;return wt(l>1&&bt(f),l>1&&yt(e.slice(0,l-1).concat({value:" "===e[l-2].type?"*":""})).replace(z,"$1"),n,r>l&&Tt(e.slice(l,r)),i>r&&Tt(e=e.slice(r)),i>r&&yt(e))}f.push(n)}return bt(f)}function Ct(e,t){var n=0,r=t.length>0,a=e.length>0,s=function(s,l,c,p,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,C=u,N=s||a&&o.find.TAG("*",d&&l.parentNode||l),k=T+=null==C?1:Math.random()||.1;for(w&&(u=l!==f&&l,i=n);null!=(h=N[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,l,c)){p.push(h);break}w&&(T=k,i=++n)}r&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,r&&b!==v){g=0;while(m=t[g++])m(x,y,l,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=q.call(p));y=xt(y)}M.apply(p,y),w&&!s&&y.length>0&&v+t.length>1&&at.uniqueSort(p)}return w&&(T=k,u=C),x};return r?lt(s):s}l=at.compile=function(e,t){var n,r=[],i=[],o=E[e+" "];if(!o){t||(t=mt(e)),n=t.length;while(n--)o=Tt(t[n]),o[b]?r.push(o):i.push(o);o=E(e,Ct(i,r))}return o};function Nt(e,t,n){var r=0,i=t.length;for(;i>r;r++)at(e,t[r],n);return n}function kt(e,t,n,i){var a,s,u,c,p,f=mt(e);if(!i&&1===f.length){if(s=f[0]=f[0].slice(0),s.length>2&&"ID"===(u=s[0]).type&&r.getById&&9===t.nodeType&&h&&o.relative[s[1].type]){if(t=(o.find.ID(u.matches[0].replace(rt,it),t)||[])[0],!t)return n;e=e.slice(s.shift().value.length)}a=Q.needsContext.test(e)?0:s.length;while(a--){if(u=s[a],o.relative[c=u.type])break;if((p=o.find[c])&&(i=p(u.matches[0].replace(rt,it),V.test(s[0].type)&&t.parentNode||t))){if(s.splice(a,1),e=i.length&&yt(s),!e)return M.apply(n,i),n;break}}}return l(e,f)(i,t,!h,n,V.test(e)),n}r.sortStable=b.split("").sort(A).join("")===b,r.detectDuplicates=S,p(),r.sortDetached=ut(function(e){return 1&e.compareDocumentPosition(f.createElement("div"))}),ut(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||ct("type|href|height|width",function(e,n,r){return r?t:e.getAttribute(n,"type"===n.toLowerCase()?1:2)}),r.attributes&&ut(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||ct("value",function(e,n,r){return r||"input"!==e.nodeName.toLowerCase()?t:e.defaultValue}),ut(function(e){return null==e.getAttribute("disabled")})||ct(B,function(e,n,r){var i;return r?t:(i=e.getAttributeNode(n))&&i.specified?i.value:e[n]===!0?n.toLowerCase():null}),x.find=at,x.expr=at.selectors,x.expr[":"]=x.expr.pseudos,x.unique=at.uniqueSort,x.text=at.getText,x.isXMLDoc=at.isXML,x.contains=at.contains}(e);var O={};function F(e){var t=O[e]={};return x.each(e.match(T)||[],function(e,n){t[n]=!0}),t}x.Callbacks=function(e){e="string"==typeof e?O[e]||F(e):x.extend({},e);var n,r,i,o,a,s,l=[],u=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=l.length,n=!0;l&&o>a;a++)if(l[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,l&&(u?u.length&&c(u.shift()):r?l=[]:p.disable())},p={add:function(){if(l){var t=l.length;(function i(t){x.each(t,function(t,n){var r=x.type(n);"function"===r?e.unique&&p.has(n)||l.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=l.length:r&&(s=t,c(r))}return this},remove:function(){return l&&x.each(arguments,function(e,t){var r;while((r=x.inArray(t,l,r))>-1)l.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?x.inArray(e,l)>-1:!(!l||!l.length)},empty:function(){return l=[],o=0,this},disable:function(){return l=u=r=t,this},disabled:function(){return!l},lock:function(){return u=t,r||p.disable(),this},locked:function(){return!u},fireWith:function(e,t){return!l||i&&!u||(t=t||[],t=[e,t.slice?t.slice():t],n?u.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},x.extend({Deferred:function(e){var t=[["resolve","done",x.Callbacks("once memory"),"resolved"],["reject","fail",x.Callbacks("once memory"),"rejected"],["notify","progress",x.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return x.Deferred(function(n){x.each(t,function(t,o){var a=o[0],s=x.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&x.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?x.extend(e,r):r}},i={};return r.pipe=r.then,x.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=g.call(arguments),r=n.length,i=1!==r||e&&x.isFunction(e.promise)?r:0,o=1===i?e:x.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?g.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,l,u;if(r>1)for(s=Array(r),l=Array(r),u=Array(r);r>t;t++)n[t]&&x.isFunction(n[t].promise)?n[t].promise().done(a(t,u,n)).fail(o.reject).progress(a(t,l,s)):--i;return i||o.resolveWith(u,n),o.promise()}}),x.support=function(t){var n,r,o,s,l,u,c,p,f,d=a.createElement("div");if(d.setAttribute("className","t"),d.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=d.getElementsByTagName("*")||[],r=d.getElementsByTagName("a")[0],!r||!r.style||!n.length)return t;s=a.createElement("select"),u=s.appendChild(a.createElement("option")),o=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t.getSetAttribute="t"!==d.className,t.leadingWhitespace=3===d.firstChild.nodeType,t.tbody=!d.getElementsByTagName("tbody").length,t.htmlSerialize=!!d.getElementsByTagName("link").length,t.style=/top/.test(r.getAttribute("style")),t.hrefNormalized="/a"===r.getAttribute("href"),t.opacity=/^0.5/.test(r.style.opacity),t.cssFloat=!!r.style.cssFloat,t.checkOn=!!o.value,t.optSelected=u.selected,t.enctype=!!a.createElement("form").enctype,t.html5Clone="<:nav></:nav>"!==a.createElement("nav").cloneNode(!0).outerHTML,t.inlineBlockNeedsLayout=!1,t.shrinkWrapBlocks=!1,t.pixelPosition=!1,t.deleteExpando=!0,t.noCloneEvent=!0,t.reliableMarginRight=!0,t.boxSizingReliable=!0,o.checked=!0,t.noCloneChecked=o.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!u.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}o=a.createElement("input"),o.setAttribute("value",""),t.input=""===o.getAttribute("value"),o.value="t",o.setAttribute("type","radio"),t.radioValue="t"===o.value,o.setAttribute("checked","t"),o.setAttribute("name","t"),l=a.createDocumentFragment(),l.appendChild(o),t.appendChecked=o.checked,t.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip;for(f in x(t))break;return t.ownLast="0"!==f,x(function(){var n,r,o,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",l=a.getElementsByTagName("body")[0];l&&(n=a.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",l.appendChild(n).appendChild(d),d.innerHTML="<table><tr><td></td><td>t</td></tr></table>",o=d.getElementsByTagName("td"),o[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===o[0].offsetHeight,o[0].style.display="",o[1].style.display="none",t.reliableHiddenOffsets=p&&0===o[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",x.swap(l,null!=l.style.zoom?{zoom:1}:{},function(){t.boxSizing=4===d.offsetWidth}),e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(a.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="<div></div>",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(l.style.zoom=1)),l.removeChild(n),n=d=o=r=null)}),n=s=l=u=r=o=null,t +}({});var B=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;function R(e,n,r,i){if(x.acceptData(e)){var o,a,s=x.expando,l=e.nodeType,u=l?x.cache:e,c=l?e[s]:e[s]&&s;if(c&&u[c]&&(i||u[c].data)||r!==t||"string"!=typeof n)return c||(c=l?e[s]=p.pop()||x.guid++:s),u[c]||(u[c]=l?{}:{toJSON:x.noop}),("object"==typeof n||"function"==typeof n)&&(i?u[c]=x.extend(u[c],n):u[c].data=x.extend(u[c].data,n)),a=u[c],i||(a.data||(a.data={}),a=a.data),r!==t&&(a[x.camelCase(n)]=r),"string"==typeof n?(o=a[n],null==o&&(o=a[x.camelCase(n)])):o=a,o}}function W(e,t,n){if(x.acceptData(e)){var r,i,o=e.nodeType,a=o?x.cache:e,s=o?e[x.expando]:x.expando;if(a[s]){if(t&&(r=n?a[s]:a[s].data)){x.isArray(t)?t=t.concat(x.map(t,x.camelCase)):t in r?t=[t]:(t=x.camelCase(t),t=t in r?[t]:t.split(" ")),i=t.length;while(i--)delete r[t[i]];if(n?!I(r):!x.isEmptyObject(r))return}(n||(delete a[s].data,I(a[s])))&&(o?x.cleanData([e],!0):x.support.deleteExpando||a!=a.window?delete a[s]:a[s]=null)}}}x.extend({cache:{},noData:{applet:!0,embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(e){return e=e.nodeType?x.cache[e[x.expando]]:e[x.expando],!!e&&!I(e)},data:function(e,t,n){return R(e,t,n)},removeData:function(e,t){return W(e,t)},_data:function(e,t,n){return R(e,t,n,!0)},_removeData:function(e,t){return W(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&x.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),x.fn.extend({data:function(e,n){var r,i,o=null,a=0,s=this[0];if(e===t){if(this.length&&(o=x.data(s),1===s.nodeType&&!x._data(s,"parsedAttrs"))){for(r=s.attributes;r.length>a;a++)i=r[a].name,0===i.indexOf("data-")&&(i=x.camelCase(i.slice(5)),$(s,i,o[i]));x._data(s,"parsedAttrs",!0)}return o}return"object"==typeof e?this.each(function(){x.data(this,e)}):arguments.length>1?this.each(function(){x.data(this,e,n)}):s?$(s,e,x.data(s,e)):null},removeData:function(e){return this.each(function(){x.removeData(this,e)})}});function $(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(P,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:B.test(r)?x.parseJSON(r):r}catch(o){}x.data(e,n,r)}else r=t}return r}function I(e){var t;for(t in e)if(("data"!==t||!x.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}x.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=x._data(e,n),r&&(!i||x.isArray(r)?i=x._data(e,n,x.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=x.queue(e,t),r=n.length,i=n.shift(),o=x._queueHooks(e,t),a=function(){x.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return x._data(e,n)||x._data(e,n,{empty:x.Callbacks("once memory").add(function(){x._removeData(e,t+"queue"),x._removeData(e,n)})})}}),x.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?x.queue(this[0],e):n===t?this:this.each(function(){var t=x.queue(this,e,n);x._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&x.dequeue(this,e)})},dequeue:function(e){return this.each(function(){x.dequeue(this,e)})},delay:function(e,t){return e=x.fx?x.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=x.Deferred(),a=this,s=this.length,l=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=x._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(l));return l(),o.promise(n)}});var z,X,U=/[\t\r\n\f]/g,V=/\r/g,Y=/^(?:input|select|textarea|button|object)$/i,J=/^(?:a|area)$/i,G=/^(?:checked|selected)$/i,Q=x.support.getSetAttribute,K=x.support.input;x.fn.extend({attr:function(e,t){return x.access(this,x.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){x.removeAttr(this,e)})},prop:function(e,t){return x.access(this,x.prop,e,t,arguments.length>1)},removeProp:function(e){return e=x.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,l="string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).addClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=x.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,l=0===arguments.length||"string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).removeClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?x.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):x.isFunction(e)?this.each(function(n){x(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var t,r=0,o=x(this),a=e.match(T)||[];while(t=a[r++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else(n===i||"boolean"===n)&&(this.className&&x._data(this,"__className__",this.className),this.className=this.className||e===!1?"":x._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(U," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=x.isFunction(e),this.each(function(n){var o;1===this.nodeType&&(o=i?e.call(this,n,x(this).val()):e,null==o?o="":"number"==typeof o?o+="":x.isArray(o)&&(o=x.map(o,function(e){return null==e?"":e+""})),r=x.valHooks[this.type]||x.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=x.valHooks[o.type]||x.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(V,""):null==n?"":n)}}}),x.extend({valHooks:{option:{get:function(e){var t=x.find.attr(e,"value");return null!=t?t:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,l=0>i?s:o?i:0;for(;s>l;l++)if(n=r[l],!(!n.selected&&l!==i||(x.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&x.nodeName(n.parentNode,"optgroup"))){if(t=x(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n,r,i=e.options,o=x.makeArray(t),a=i.length;while(a--)r=i[a],(r.selected=x.inArray(x(r).val(),o)>=0)&&(n=!0);return n||(e.selectedIndex=-1),o}}},attr:function(e,n,r){var o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return typeof e.getAttribute===i?x.prop(e,n,r):(1===s&&x.isXMLDoc(e)||(n=n.toLowerCase(),o=x.attrHooks[n]||(x.expr.match.bool.test(n)?X:z)),r===t?o&&"get"in o&&null!==(a=o.get(e,n))?a:(a=x.find.attr(e,n),null==a?t:a):null!==r?o&&"set"in o&&(a=o.set(e,r,n))!==t?a:(e.setAttribute(n,r+""),r):(x.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(T);if(o&&1===e.nodeType)while(n=o[i++])r=x.propFix[n]||n,x.expr.match.bool.test(n)?K&&Q||!G.test(n)?e[r]=!1:e[x.camelCase("default-"+n)]=e[r]=!1:x.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!x.support.radioValue&&"radio"===t&&x.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{"for":"htmlFor","class":"className"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!x.isXMLDoc(e),a&&(n=x.propFix[n]||n,o=x.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var t=x.find.attr(e,"tabindex");return t?parseInt(t,10):Y.test(e.nodeName)||J.test(e.nodeName)&&e.href?0:-1}}}}),X={set:function(e,t,n){return t===!1?x.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&x.propFix[n]||n,n):e[x.camelCase("default-"+n)]=e[n]=!0,n}},x.each(x.expr.match.bool.source.match(/\w+/g),function(e,n){var r=x.expr.attrHandle[n]||x.find.attr;x.expr.attrHandle[n]=K&&Q||!G.test(n)?function(e,n,i){var o=x.expr.attrHandle[n],a=i?t:(x.expr.attrHandle[n]=t)!=r(e,n,i)?n.toLowerCase():null;return x.expr.attrHandle[n]=o,a}:function(e,n,r){return r?t:e[x.camelCase("default-"+n)]?n.toLowerCase():null}}),K&&Q||(x.attrHooks.value={set:function(e,n,r){return x.nodeName(e,"input")?(e.defaultValue=n,t):z&&z.set(e,n,r)}}),Q||(z={set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},x.expr.attrHandle.id=x.expr.attrHandle.name=x.expr.attrHandle.coords=function(e,n,r){var i;return r?t:(i=e.getAttributeNode(n))&&""!==i.value?i.value:null},x.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&r.specified?r.value:t},set:z.set},x.attrHooks.contenteditable={set:function(e,t,n){z.set(e,""===t?!1:t,n)}},x.each(["width","height"],function(e,n){x.attrHooks[n]={set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}}})),x.support.hrefNormalized||x.each(["href","src"],function(e,t){x.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),x.support.style||(x.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),x.support.optSelected||(x.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}}),x.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){x.propFix[this.toLowerCase()]=this}),x.support.enctype||(x.propFix.enctype="encoding"),x.each(["radio","checkbox"],function(){x.valHooks[this]={set:function(e,n){return x.isArray(n)?e.checked=x.inArray(x(e).val(),n)>=0:t}},x.support.checkOn||(x.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}function at(){try{return a.activeElement}catch(e){}}x.event={global:{},add:function(e,n,r,o,a){var s,l,u,c,p,f,d,h,g,m,y,v=x._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=x.guid++),(l=v.events)||(l=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof x===i||e&&x.event.triggered===e.type?t:x.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(T)||[""],u=n.length;while(u--)s=rt.exec(n[u])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),g&&(p=x.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=x.event.special[g]||{},d=x.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&x.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=l[g])||(h=l[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),x.event.global[g]=!0);e=null}},remove:function(e,t,n,r,i){var o,a,s,l,u,c,p,f,d,h,g,m=x.hasData(e)&&x._data(e);if(m&&(c=m.events)){t=(t||"").match(T)||[""],u=t.length;while(u--)if(s=rt.exec(t[u])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=x.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),l=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));l&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||x.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)x.event.remove(e,d+t[u],n,r,!0);x.isEmptyObject(c)&&(delete m.handle,x._removeData(e,"events"))}},trigger:function(n,r,i,o){var s,l,u,c,p,f,d,h=[i||a],g=v.call(n,"type")?n.type:n,m=v.call(n,"namespace")?n.namespace.split("."):[];if(u=f=i=i||a,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+x.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),l=0>g.indexOf(":")&&"on"+g,n=n[x.expando]?n:new x.Event(g,"object"==typeof n&&n),n.isTrigger=o?2:3,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:x.makeArray(r,[n]),p=x.event.special[g]||{},o||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!o&&!p.noBubble&&!x.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(u=u.parentNode);u;u=u.parentNode)h.push(u),f=u;f===(i.ownerDocument||a)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((u=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(x._data(u,"events")||{})[n.type]&&x._data(u,"handle"),s&&s.apply(u,r),s=l&&u[l],s&&x.acceptData(u)&&s.apply&&s.apply(u,r)===!1&&n.preventDefault();if(n.type=g,!o&&!n.isDefaultPrevented()&&(!p._default||p._default.apply(h.pop(),r)===!1)&&x.acceptData(i)&&l&&i[g]&&!x.isWindow(i)){f=i[l],f&&(i[l]=null),x.event.triggered=g;try{i[g]()}catch(y){}x.event.triggered=t,f&&(i[l]=f)}return n.result}},dispatch:function(e){e=x.event.fix(e);var n,r,i,o,a,s=[],l=g.call(arguments),u=(x._data(this,"events")||{})[e.type]||[],c=x.event.special[e.type]||{};if(l[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=x.event.handlers.call(this,e,u),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((x.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,l),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],l=n.delegateCount,u=e.target;if(l&&u.nodeType&&(!e.button||"click"!==e.type))for(;u!=this;u=u.parentNode||this)if(1===u.nodeType&&(u.disabled!==!0||"click"!==e.type)){for(o=[],a=0;l>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?x(r,this).index(u)>=0:x.find(r,this,null,[u]).length),o[r]&&o.push(i);o.length&&s.push({elem:u,handlers:o})}return n.length>l&&s.push({elem:this,handlers:n.slice(l)}),s},fix:function(e){if(e[x.expando])return e;var t,n,r,i=e.type,o=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new x.Event(o),t=r.length;while(t--)n=r[t],e[n]=o[n];return e.target||(e.target=o.srcElement||a),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,o):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,o,s=n.button,l=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||a,o=i.documentElement,r=i.body,e.pageX=n.clientX+(o&&o.scrollLeft||r&&r.scrollLeft||0)-(o&&o.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(o&&o.scrollTop||r&&r.scrollTop||0)-(o&&o.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&l&&(e.relatedTarget=l===e.target?n.toElement:l),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==at()&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===at()&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},click:{trigger:function(){return x.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t},_default:function(e){return x.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=x.extend(new x.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?x.event.trigger(i,null,t):x.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},x.removeEvent=a.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},x.Event=function(e,n){return this instanceof x.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&x.extend(this,n),this.timeStamp=e&&e.timeStamp||x.now(),this[x.expando]=!0,t):new x.Event(e,n)},x.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},x.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){x.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return(!i||i!==r&&!x.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),x.support.submitBubbles||(x.event.special.submit={setup:function(){return x.nodeName(this,"form")?!1:(x.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=x.nodeName(n,"input")||x.nodeName(n,"button")?n.form:t;r&&!x._data(r,"submitBubbles")&&(x.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),x._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&x.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return x.nodeName(this,"form")?!1:(x.event.remove(this,"._submit"),t)}}),x.support.changeBubbles||(x.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(x.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),x.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),x.event.simulate("change",this,e,!0)})),!1):(x.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!x._data(t,"changeBubbles")&&(x.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||x.event.simulate("change",this.parentNode,e,!0)}),x._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return x.event.remove(this,"._change"),!Z.test(this.nodeName)}}),x.support.focusinBubbles||x.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){x.event.simulate(t,e.target,x.event.fix(e),!0)};x.event.special[t]={setup:function(){0===n++&&a.addEventListener(e,r,!0)},teardown:function(){0===--n&&a.removeEventListener(e,r,!0)}}}),x.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return x().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=x.guid++)),this.each(function(){x.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,x(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){x.event.remove(this,e,r,n)})},trigger:function(e,t){return this.each(function(){x.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?x.event.trigger(e,n,r,!0):t}});var st=/^.[^:#\[\.,]*$/,lt=/^(?:parents|prev(?:Until|All))/,ut=x.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};x.fn.extend({find:function(e){var t,n=[],r=this,i=r.length;if("string"!=typeof e)return this.pushStack(x(e).filter(function(){for(t=0;i>t;t++)if(x.contains(r[t],this))return!0}));for(t=0;i>t;t++)x.find(e,r[t],n);return n=this.pushStack(i>1?x.unique(n):n),n.selector=this.selector?this.selector+" "+e:e,n},has:function(e){var t,n=x(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(x.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e||[],!0))},filter:function(e){return this.pushStack(ft(this,e||[],!1))},is:function(e){return!!ft(this,"string"==typeof e&&ut.test(e)?x(e):e||[],!1).length},closest:function(e,t){var n,r=0,i=this.length,o=[],a=ut.test(e)||"string"!=typeof e?x(e,t||this.context):0;for(;i>r;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(11>n.nodeType&&(a?a.index(n)>-1:1===n.nodeType&&x.find.matchesSelector(n,e))){n=o.push(n);break}return this.pushStack(o.length>1?x.unique(o):o)},index:function(e){return e?"string"==typeof e?x.inArray(this[0],x(e)):x.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?x(e,t):x.makeArray(e&&e.nodeType?[e]:e),r=x.merge(this.get(),n);return this.pushStack(x.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}x.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return x.dir(e,"parentNode")},parentsUntil:function(e,t,n){return x.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return x.dir(e,"nextSibling")},prevAll:function(e){return x.dir(e,"previousSibling")},nextUntil:function(e,t,n){return x.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return x.dir(e,"previousSibling",n)},siblings:function(e){return x.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return x.sibling(e.firstChild)},contents:function(e){return x.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:x.merge([],e.childNodes)}},function(e,t){x.fn[e]=function(n,r){var i=x.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=x.filter(r,i)),this.length>1&&(ct[e]||(i=x.unique(i)),lt.test(e)&&(i=i.reverse())),this.pushStack(i)}}),x.extend({filter:function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?x.find.matchesSelector(r,e)?[r]:[]:x.find.matches(e,x.grep(t,function(e){return 1===e.nodeType}))},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!x(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(x.isFunction(t))return x.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return x.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(st.test(t))return x.filter(t,e,n);t=x.filter(t,e)}return x.grep(e,function(e){return x.inArray(e,t)>=0!==n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/<tbody/i,wt=/<|&#?\w+;/,Tt=/<(?:script|style|link)/i,Ct=/^(?:checkbox|radio)$/i,Nt=/checked\s*(?:[^=]|=\s*.checked.)/i,kt=/^$|\/(?:java|ecma)script/i,Et=/^true\/(.*)/,St=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,At={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:x.support.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},jt=dt(a),Dt=jt.appendChild(a.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,x.fn.extend({text:function(e){return x.access(this,function(e){return e===t?x.text(this):this.empty().append((this[0]&&this[0].ownerDocument||a).createTextNode(e))},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=e?x.filter(e,this):this,i=0;for(;null!=(n=r[i]);i++)t||1!==n.nodeType||x.cleanData(Ft(n)),n.parentNode&&(t&&x.contains(n.ownerDocument,n)&&_t(Ft(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&x.cleanData(Ft(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&x.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return x.clone(this,e,t)})},html:function(e){return x.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!x.support.htmlSerialize&&mt.test(e)||!x.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1></$2>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(x.cleanData(Ft(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=x.map(this,function(e){return[e.nextSibling,e.parentNode]}),t=0;return this.domManip(arguments,function(n){var r=e[t++],i=e[t++];i&&(r&&r.parentNode!==i&&(r=this.nextSibling),x(this).remove(),i.insertBefore(n,r))},!0),t?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(e,t,n){e=d.apply([],e);var r,i,o,a,s,l,u=0,c=this.length,p=this,f=c-1,h=e[0],g=x.isFunction(h);if(g||!(1>=c||"string"!=typeof h||x.support.checkClone)&&Nt.test(h))return this.each(function(r){var i=p.eq(r);g&&(e[0]=h.call(this,r,i.html())),i.domManip(e,t,n)});if(c&&(l=x.buildFragment(e,this[0].ownerDocument,!1,!n&&this),r=l.firstChild,1===l.childNodes.length&&(l=r),r)){for(a=x.map(Ft(l,"script"),Ht),o=a.length;c>u;u++)i=l,u!==f&&(i=x.clone(i,!0,!0),o&&x.merge(a,Ft(i,"script"))),t.call(this[u],i,u);if(o)for(s=a[a.length-1].ownerDocument,x.map(a,qt),u=0;o>u;u++)i=a[u],kt.test(i.type||"")&&!x._data(i,"globalEval")&&x.contains(s,i)&&(i.src?x._evalUrl(i.src):x.globalEval((i.text||i.textContent||i.innerHTML||"").replace(St,"")));l=r=null}return this}});function Lt(e,t){return x.nodeName(e,"table")&&x.nodeName(1===t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function Ht(e){return e.type=(null!==x.find.attr(e,"type"))+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function _t(e,t){var n,r=0;for(;null!=(n=e[r]);r++)x._data(n,"globalEval",!t||x._data(t[r],"globalEval"))}function Mt(e,t){if(1===t.nodeType&&x.hasData(e)){var n,r,i,o=x._data(e),a=x._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)x.event.add(t,n,s[n][r])}a.data&&(a.data=x.extend({},a.data))}}function Ot(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!x.support.noCloneEvent&&t[x.expando]){i=x._data(t);for(r in i.events)x.removeEvent(t,r,i.handle);t.removeAttribute(x.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),x.support.html5Clone&&e.innerHTML&&!x.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Ct.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}x.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){x.fn[e]=function(e){var n,r=0,i=[],o=x(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),x(o[r])[t](n),h.apply(i,n.get());return this.pushStack(i)}});function Ft(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||x.nodeName(o,n)?s.push(o):x.merge(s,Ft(o,n));return n===t||n&&x.nodeName(e,n)?x.merge([e],s):s}function Bt(e){Ct.test(e.type)&&(e.defaultChecked=e.checked)}x.extend({clone:function(e,t,n){var r,i,o,a,s,l=x.contains(e.ownerDocument,e);if(x.support.html5Clone||x.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(x.support.noCloneEvent&&x.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||x.isXMLDoc(e)))for(r=Ft(o),s=Ft(e),a=0;null!=(i=s[a]);++a)r[a]&&Ot(i,r[a]);if(t)if(n)for(s=s||Ft(e),r=r||Ft(o),a=0;null!=(i=s[a]);a++)Mt(i,r[a]);else Mt(e,o);return r=Ft(o,"script"),r.length>0&&_t(r,!l&&Ft(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,l,u,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===x.type(o))x.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),l=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[l]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1></$2>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!x.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!x.support.tbody){o="table"!==l||xt.test(o)?"<table>"!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)x.nodeName(u=o.childNodes[i],"tbody")&&!u.childNodes.length&&o.removeChild(u)}x.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),x.support.appendChecked||x.grep(Ft(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===x.inArray(o,r))&&(a=x.contains(o.ownerDocument,o),s=Ft(f.appendChild(o),"script"),a&&_t(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,l=x.expando,u=x.cache,c=x.support.deleteExpando,f=x.event.special;for(;null!=(n=e[s]);s++)if((t||x.acceptData(n))&&(o=n[l],a=o&&u[o])){if(a.events)for(r in a.events)f[r]?x.event.remove(n,r):x.removeEvent(n,r,a.handle); +u[o]&&(delete u[o],c?delete n[l]:typeof n.removeAttribute!==i?n.removeAttribute(l):n[l]=null,p.push(o))}},_evalUrl:function(e){return x.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})}}),x.fn.extend({wrapAll:function(e){if(x.isFunction(e))return this.each(function(t){x(this).wrapAll(e.call(this,t))});if(this[0]){var t=x(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return x.isFunction(e)?this.each(function(t){x(this).wrapInner(e.call(this,t))}):this.each(function(){var t=x(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=x.isFunction(e);return this.each(function(n){x(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){x.nodeName(this,"body")||x(this).replaceWith(this.childNodes)}).end()}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+w+")(.*)$","i"),Yt=RegExp("^("+w+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+w+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===x.css(e,"display")||!x.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=x._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=x._data(r,"olddisplay",ln(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&x._data(r,"olddisplay",i?n:x.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}x.fn.extend({css:function(e,n){return x.access(this,function(e,n,r){var i,o,a={},s=0;if(x.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=x.css(e,n[s],!1,o);return a}return r!==t?x.style(e,n,r):x.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){nn(this)?x(this).show():x(this).hide()})}}),x.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":x.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,l=x.camelCase(n),u=e.style;if(n=x.cssProps[l]||(x.cssProps[l]=tn(u,l)),s=x.cssHooks[n]||x.cssHooks[l],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:u[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(x.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||x.cssNumber[l]||(r+="px"),x.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(u[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{u[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,l=x.camelCase(n);return n=x.cssProps[l]||(x.cssProps[l]=tn(e.style,l)),s=x.cssHooks[n]||x.cssHooks[l],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||x.isNumeric(o)?o||0:a):a}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s.getPropertyValue(n)||s[n]:t,u=e.style;return s&&(""!==l||x.contains(e.ownerDocument,e)||(l=x.style(e,n)),Yt.test(l)&&Ut.test(n)&&(i=u.width,o=u.minWidth,a=u.maxWidth,u.minWidth=u.maxWidth=u.width=l,l=s.width,u.width=i,u.minWidth=o,u.maxWidth=a)),l}):a.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s[n]:t,u=e.style;return null==l&&u&&u[n]&&(l=u[n]),Yt.test(l)&&!zt.test(n)&&(i=u.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),u.left="fontSize"===n?"1em":l,l=u.pixelLeft+"px",u.left=i,a&&(o.left=a)),""===l?"auto":l});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=x.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=x.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=x.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=x.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=x.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(x.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function ln(e){var t=a,n=Gt[e];return n||(n=un(e,t),"none"!==n&&n||(Pt=(Pt||x("<iframe frameborder='0' width='0' height='0'/>").css("cssText","display:block !important")).appendTo(t.documentElement),t=(Pt[0].contentWindow||Pt[0].contentDocument).document,t.write("<!doctype html><html><body>"),t.close(),n=un(e,t),Pt.detach()),Gt[e]=n),n}function un(e,t){var n=x(t.createElement(e)).appendTo(t.body),r=x.css(n[0],"display");return n.remove(),r}x.each(["height","width"],function(e,n){x.cssHooks[n]={get:function(e,r,i){return r?0===e.offsetWidth&&Xt.test(x.css(e,"display"))?x.swap(e,Qt,function(){return sn(e,n,i)}):sn(e,n,i):t},set:function(e,t,r){var i=r&&Rt(e);return on(e,t,r?an(e,n,r,x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,i),i):0)}}}),x.support.opacity||(x.cssHooks.opacity={get:function(e,t){return It.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=x.isNumeric(t)?"alpha(opacity="+100*t+")":"",o=r&&r.filter||n.filter||"";n.zoom=1,(t>=1||""===t)&&""===x.trim(o.replace($t,""))&&n.removeAttribute&&(n.removeAttribute("filter"),""===t||r&&!r.filter)||(n.filter=$t.test(o)?o.replace($t,i):o+" "+i)}}),x(function(){x.support.reliableMarginRight||(x.cssHooks.marginRight={get:function(e,n){return n?x.swap(e,{display:"inline-block"},Wt,[e,"marginRight"]):t}}),!x.support.pixelPosition&&x.fn.position&&x.each(["top","left"],function(e,n){x.cssHooks[n]={get:function(e,r){return r?(r=Wt(e,n),Yt.test(r)?x(e).position()[n]+"px":r):t}}})}),x.expr&&x.expr.filters&&(x.expr.filters.hidden=function(e){return 0>=e.offsetWidth&&0>=e.offsetHeight||!x.support.reliableHiddenOffsets&&"none"===(e.style&&e.style.display||x.css(e,"display"))},x.expr.filters.visible=function(e){return!x.expr.filters.hidden(e)}),x.each({margin:"",padding:"",border:"Width"},function(e,t){x.cssHooks[e+t]={expand:function(n){var r=0,i={},o="string"==typeof n?n.split(" "):[n];for(;4>r;r++)i[e+Zt[r]+t]=o[r]||o[r-2]||o[0];return i}},Ut.test(e)||(x.cssHooks[e+t].set=on)});var cn=/%20/g,pn=/\[\]$/,fn=/\r?\n/g,dn=/^(?:submit|button|image|reset|file)$/i,hn=/^(?:input|select|textarea|keygen)/i;x.fn.extend({serialize:function(){return x.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=x.prop(this,"elements");return e?x.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!x(this).is(":disabled")&&hn.test(this.nodeName)&&!dn.test(e)&&(this.checked||!Ct.test(e))}).map(function(e,t){var n=x(this).val();return null==n?null:x.isArray(n)?x.map(n,function(e){return{name:t.name,value:e.replace(fn,"\r\n")}}):{name:t.name,value:n.replace(fn,"\r\n")}}).get()}}),x.param=function(e,n){var r,i=[],o=function(e,t){t=x.isFunction(t)?t():null==t?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(n===t&&(n=x.ajaxSettings&&x.ajaxSettings.traditional),x.isArray(e)||e.jquery&&!x.isPlainObject(e))x.each(e,function(){o(this.name,this.value)});else for(r in e)gn(r,e[r],n,o);return i.join("&").replace(cn,"+")};function gn(e,t,n,r){var i;if(x.isArray(t))x.each(t,function(t,i){n||pn.test(e)?r(e,i):gn(e+"["+("object"==typeof i?t:"")+"]",i,n,r)});else if(n||"object"!==x.type(t))r(e,t);else for(i in t)gn(e+"["+i+"]",t[i],n,r)}x.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){x.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),x.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}});var mn,yn,vn=x.now(),bn=/\?/,xn=/#.*$/,wn=/([?&])_=[^&]*/,Tn=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Cn=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Nn=/^(?:GET|HEAD)$/,kn=/^\/\//,En=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,Sn=x.fn.load,An={},jn={},Dn="*/".concat("*");try{yn=o.href}catch(Ln){yn=a.createElement("a"),yn.href="",yn=yn.href}mn=En.exec(yn.toLowerCase())||[];function Hn(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(T)||[];if(x.isFunction(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function qn(e,n,r,i){var o={},a=e===jn;function s(l){var u;return o[l]=!0,x.each(e[l]||[],function(e,l){var c=l(n,r,i);return"string"!=typeof c||a||o[c]?a?!(u=c):t:(n.dataTypes.unshift(c),s(c),!1)}),u}return s(n.dataTypes[0])||!o["*"]&&s("*")}function _n(e,n){var r,i,o=x.ajaxSettings.flatOptions||{};for(i in n)n[i]!==t&&((o[i]?e:r||(r={}))[i]=n[i]);return r&&x.extend(!0,e,r),e}x.fn.load=function(e,n,r){if("string"!=typeof e&&Sn)return Sn.apply(this,arguments);var i,o,a,s=this,l=e.indexOf(" ");return l>=0&&(i=e.slice(l,e.length),e=e.slice(0,l)),x.isFunction(n)?(r=n,n=t):n&&"object"==typeof n&&(a="POST"),s.length>0&&x.ajax({url:e,type:a,dataType:"html",data:n}).done(function(e){o=arguments,s.html(i?x("<div>").append(x.parseHTML(e)).find(i):e)}).complete(r&&function(e,t){s.each(r,o||[e.responseText,t,e])}),this},x.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){x.fn[t]=function(e){return this.on(t,e)}}),x.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:yn,type:"GET",isLocal:Cn.test(mn[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Dn,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":x.parseJSON,"text xml":x.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?_n(_n(e,x.ajaxSettings),t):_n(x.ajaxSettings,e)},ajaxPrefilter:Hn(An),ajaxTransport:Hn(jn),ajax:function(e,n){"object"==typeof e&&(n=e,e=t),n=n||{};var r,i,o,a,s,l,u,c,p=x.ajaxSetup({},n),f=p.context||p,d=p.context&&(f.nodeType||f.jquery)?x(f):x.event,h=x.Deferred(),g=x.Callbacks("once memory"),m=p.statusCode||{},y={},v={},b=0,w="canceled",C={readyState:0,getResponseHeader:function(e){var t;if(2===b){if(!c){c={};while(t=Tn.exec(a))c[t[1].toLowerCase()]=t[2]}t=c[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===b?a:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return b||(e=v[n]=v[n]||e,y[e]=t),this},overrideMimeType:function(e){return b||(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>b)for(t in e)m[t]=[m[t],e[t]];else C.always(e[C.status]);return this},abort:function(e){var t=e||w;return u&&u.abort(t),k(0,t),this}};if(h.promise(C).complete=g.add,C.success=C.done,C.error=C.fail,p.url=((e||p.url||yn)+"").replace(xn,"").replace(kn,mn[1]+"//"),p.type=n.method||n.type||p.method||p.type,p.dataTypes=x.trim(p.dataType||"*").toLowerCase().match(T)||[""],null==p.crossDomain&&(r=En.exec(p.url.toLowerCase()),p.crossDomain=!(!r||r[1]===mn[1]&&r[2]===mn[2]&&(r[3]||("http:"===r[1]?"80":"443"))===(mn[3]||("http:"===mn[1]?"80":"443")))),p.data&&p.processData&&"string"!=typeof p.data&&(p.data=x.param(p.data,p.traditional)),qn(An,p,n,C),2===b)return C;l=p.global,l&&0===x.active++&&x.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!Nn.test(p.type),o=p.url,p.hasContent||(p.data&&(o=p.url+=(bn.test(o)?"&":"?")+p.data,delete p.data),p.cache===!1&&(p.url=wn.test(o)?o.replace(wn,"$1_="+vn++):o+(bn.test(o)?"&":"?")+"_="+vn++)),p.ifModified&&(x.lastModified[o]&&C.setRequestHeader("If-Modified-Since",x.lastModified[o]),x.etag[o]&&C.setRequestHeader("If-None-Match",x.etag[o])),(p.data&&p.hasContent&&p.contentType!==!1||n.contentType)&&C.setRequestHeader("Content-Type",p.contentType),C.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+Dn+"; q=0.01":""):p.accepts["*"]);for(i in p.headers)C.setRequestHeader(i,p.headers[i]);if(p.beforeSend&&(p.beforeSend.call(f,C,p)===!1||2===b))return C.abort();w="abort";for(i in{success:1,error:1,complete:1})C[i](p[i]);if(u=qn(jn,p,n,C)){C.readyState=1,l&&d.trigger("ajaxSend",[C,p]),p.async&&p.timeout>0&&(s=setTimeout(function(){C.abort("timeout")},p.timeout));try{b=1,u.send(y,k)}catch(N){if(!(2>b))throw N;k(-1,N)}}else k(-1,"No Transport");function k(e,n,r,i){var c,y,v,w,T,N=n;2!==b&&(b=2,s&&clearTimeout(s),u=t,a=i||"",C.readyState=e>0?4:0,c=e>=200&&300>e||304===e,r&&(w=Mn(p,C,r)),w=On(p,w,C,c),c?(p.ifModified&&(T=C.getResponseHeader("Last-Modified"),T&&(x.lastModified[o]=T),T=C.getResponseHeader("etag"),T&&(x.etag[o]=T)),204===e||"HEAD"===p.type?N="nocontent":304===e?N="notmodified":(N=w.state,y=w.data,v=w.error,c=!v)):(v=N,(e||!N)&&(N="error",0>e&&(e=0))),C.status=e,C.statusText=(n||N)+"",c?h.resolveWith(f,[y,N,C]):h.rejectWith(f,[C,N,v]),C.statusCode(m),m=t,l&&d.trigger(c?"ajaxSuccess":"ajaxError",[C,p,c?y:v]),g.fireWith(f,[C,N]),l&&(d.trigger("ajaxComplete",[C,p]),--x.active||x.event.trigger("ajaxStop")))}return C},getJSON:function(e,t,n){return x.get(e,t,n,"json")},getScript:function(e,n){return x.get(e,t,n,"script")}}),x.each(["get","post"],function(e,n){x[n]=function(e,r,i,o){return x.isFunction(r)&&(o=o||i,i=r,r=t),x.ajax({url:e,type:n,dataType:o,data:r,success:i})}});function Mn(e,n,r){var i,o,a,s,l=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),o===t&&(o=e.mimeType||n.getResponseHeader("Content-Type"));if(o)for(s in l)if(l[s]&&l[s].test(o)){u.unshift(s);break}if(u[0]in r)a=u[0];else{for(s in r){if(!u[0]||e.converters[s+" "+u[0]]){a=s;break}i||(i=s)}a=a||i}return a?(a!==u[0]&&u.unshift(a),r[a]):t}function On(e,t,n,r){var i,o,a,s,l,u={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)u[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!l&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),l=o,o=c.shift())if("*"===o)o=l;else if("*"!==l&&l!==o){if(a=u[l+" "+o]||u["* "+o],!a)for(i in u)if(s=i.split(" "),s[1]===o&&(a=u[l+" "+s[0]]||u["* "+s[0]])){a===!0?a=u[i]:u[i]!==!0&&(o=s[0],c.unshift(s[1]));break}if(a!==!0)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(p){return{state:"parsererror",error:a?p:"No conversion from "+l+" to "+o}}}return{state:"success",data:t}}x.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return x.globalEval(e),e}}}),x.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),x.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=a.head||x("head")[0]||a.documentElement;return{send:function(t,i){n=a.createElement("script"),n.async=!0,e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,t){(t||!n.readyState||/loaded|complete/.test(n.readyState))&&(n.onload=n.onreadystatechange=null,n.parentNode&&n.parentNode.removeChild(n),n=null,t||i(200,"success"))},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(t,!0)}}}});var Fn=[],Bn=/(=)\?(?=&|$)|\?\?/;x.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Fn.pop()||x.expando+"_"+vn++;return this[e]=!0,e}}),x.ajaxPrefilter("json jsonp",function(n,r,i){var o,a,s,l=n.jsonp!==!1&&(Bn.test(n.url)?"url":"string"==typeof n.data&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Bn.test(n.data)&&"data");return l||"jsonp"===n.dataTypes[0]?(o=n.jsonpCallback=x.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,l?n[l]=n[l].replace(Bn,"$1"+o):n.jsonp!==!1&&(n.url+=(bn.test(n.url)?"&":"?")+n.jsonp+"="+o),n.converters["script json"]=function(){return s||x.error(o+" was not called"),s[0]},n.dataTypes[0]="json",a=e[o],e[o]=function(){s=arguments},i.always(function(){e[o]=a,n[o]&&(n.jsonpCallback=r.jsonpCallback,Fn.push(o)),s&&x.isFunction(a)&&a(s[0]),s=a=t}),"script"):t});var Pn,Rn,Wn=0,$n=e.ActiveXObject&&function(){var e;for(e in Pn)Pn[e](t,!0)};function In(){try{return new e.XMLHttpRequest}catch(t){}}function zn(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}x.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&In()||zn()}:In,Rn=x.ajaxSettings.xhr(),x.support.cors=!!Rn&&"withCredentials"in Rn,Rn=x.support.ajax=!!Rn,Rn&&x.ajaxTransport(function(n){if(!n.crossDomain||x.support.cors){var r;return{send:function(i,o){var a,s,l=n.xhr();if(n.username?l.open(n.type,n.url,n.async,n.username,n.password):l.open(n.type,n.url,n.async),n.xhrFields)for(s in n.xhrFields)l[s]=n.xhrFields[s];n.mimeType&&l.overrideMimeType&&l.overrideMimeType(n.mimeType),n.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");try{for(s in i)l.setRequestHeader(s,i[s])}catch(u){}l.send(n.hasContent&&n.data||null),r=function(e,i){var s,u,c,p;try{if(r&&(i||4===l.readyState))if(r=t,a&&(l.onreadystatechange=x.noop,$n&&delete Pn[a]),i)4!==l.readyState&&l.abort();else{p={},s=l.status,u=l.getAllResponseHeaders(),"string"==typeof l.responseText&&(p.text=l.responseText);try{c=l.statusText}catch(f){c=""}s||!n.isLocal||n.crossDomain?1223===s&&(s=204):s=p.text?200:404}}catch(d){i||o(-1,d)}p&&o(s,c,p,u)},n.async?4===l.readyState?setTimeout(r):(a=++Wn,$n&&(Pn||(Pn={},x(e).unload($n)),Pn[a]=r),l.onreadystatechange=r):r()},abort:function(){r&&r(t,!0)}}}});var Xn,Un,Vn=/^(?:toggle|show|hide)$/,Yn=RegExp("^(?:([+-])=|)("+w+")([a-z%]*)$","i"),Jn=/queueHooks$/,Gn=[nr],Qn={"*":[function(e,t){var n=this.createTween(e,t),r=n.cur(),i=Yn.exec(t),o=i&&i[3]||(x.cssNumber[e]?"":"px"),a=(x.cssNumber[e]||"px"!==o&&+r)&&Yn.exec(x.css(n.elem,e)),s=1,l=20;if(a&&a[3]!==o){o=o||a[3],i=i||[],a=+r||1;do s=s||".5",a/=s,x.style(n.elem,e,a+o);while(s!==(s=n.cur()/r)&&1!==s&&--l)}return i&&(a=n.start=+a||+r||0,n.unit=o,n.end=i[1]?a+(i[1]+1)*i[2]:+i[2]),n}]};function Kn(){return setTimeout(function(){Xn=t}),Xn=x.now()}function Zn(e,t,n){var r,i=(Qn[t]||[]).concat(Qn["*"]),o=0,a=i.length;for(;a>o;o++)if(r=i[o].call(n,t,e))return r}function er(e,t,n){var r,i,o=0,a=Gn.length,s=x.Deferred().always(function(){delete l.elem}),l=function(){if(i)return!1;var t=Xn||Kn(),n=Math.max(0,u.startTime+u.duration-t),r=n/u.duration||0,o=1-r,a=0,l=u.tweens.length;for(;l>a;a++)u.tweens[a].run(o);return s.notifyWith(e,[u,o,n]),1>o&&l?n:(s.resolveWith(e,[u]),!1)},u=s.promise({elem:e,props:x.extend({},t),opts:x.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:Xn||Kn(),duration:n.duration,tweens:[],createTween:function(t,n){var r=x.Tween(e,u.opts,t,n,u.opts.specialEasing[t]||u.opts.easing);return u.tweens.push(r),r},stop:function(t){var n=0,r=t?u.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)u.tweens[n].run(1);return t?s.resolveWith(e,[u,t]):s.rejectWith(e,[u,t]),this}}),c=u.props;for(tr(c,u.opts.specialEasing);a>o;o++)if(r=Gn[o].call(u,e,c,u.opts))return r;return x.map(c,Zn,u),x.isFunction(u.opts.start)&&u.opts.start.call(e,u),x.fx.timer(x.extend(l,{elem:e,anim:u,queue:u.opts.queue})),u.progress(u.opts.progress).done(u.opts.done,u.opts.complete).fail(u.opts.fail).always(u.opts.always)}function tr(e,t){var n,r,i,o,a;for(n in e)if(r=x.camelCase(n),i=t[r],o=e[n],x.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),a=x.cssHooks[r],a&&"expand"in a){o=a.expand(o),delete e[r];for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[r]=i}x.Animation=x.extend(er,{tweener:function(e,t){x.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;i>r;r++)n=e[r],Qn[n]=Qn[n]||[],Qn[n].unshift(t)},prefilter:function(e,t){t?Gn.unshift(e):Gn.push(e)}});function nr(e,t,n){var r,i,o,a,s,l,u=this,c={},p=e.style,f=e.nodeType&&nn(e),d=x._data(e,"fxshow");n.queue||(s=x._queueHooks(e,"fx"),null==s.unqueued&&(s.unqueued=0,l=s.empty.fire,s.empty.fire=function(){s.unqueued||l()}),s.unqueued++,u.always(function(){u.always(function(){s.unqueued--,x.queue(e,"fx").length||s.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[p.overflow,p.overflowX,p.overflowY],"inline"===x.css(e,"display")&&"none"===x.css(e,"float")&&(x.support.inlineBlockNeedsLayout&&"inline"!==ln(e.nodeName)?p.zoom=1:p.display="inline-block")),n.overflow&&(p.overflow="hidden",x.support.shrinkWrapBlocks||u.always(function(){p.overflow=n.overflow[0],p.overflowX=n.overflow[1],p.overflowY=n.overflow[2]}));for(r in t)if(i=t[r],Vn.exec(i)){if(delete t[r],o=o||"toggle"===i,i===(f?"hide":"show"))continue;c[r]=d&&d[r]||x.style(e,r)}if(!x.isEmptyObject(c)){d?"hidden"in d&&(f=d.hidden):d=x._data(e,"fxshow",{}),o&&(d.hidden=!f),f?x(e).show():u.done(function(){x(e).hide()}),u.done(function(){var t;x._removeData(e,"fxshow");for(t in c)x.style(e,t,c[t])});for(r in c)a=Zn(f?d[r]:0,r,u),r in d||(d[r]=a.start,f&&(a.end=a.start,a.start="width"===r||"height"===r?1:0))}}function rr(e,t,n,r,i){return new rr.prototype.init(e,t,n,r,i)}x.Tween=rr,rr.prototype={constructor:rr,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(x.cssNumber[n]?"":"px")},cur:function(){var e=rr.propHooks[this.prop];return e&&e.get?e.get(this):rr.propHooks._default.get(this)},run:function(e){var t,n=rr.propHooks[this.prop];return this.pos=t=this.options.duration?x.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):rr.propHooks._default.set(this),this}},rr.prototype.init.prototype=rr.prototype,rr.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=x.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){x.fx.step[e.prop]?x.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[x.cssProps[e.prop]]||x.cssHooks[e.prop])?x.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},rr.propHooks.scrollTop=rr.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},x.each(["toggle","show","hide"],function(e,t){var n=x.fn[t];x.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ir(t,!0),e,r,i)}}),x.fn.extend({fadeTo:function(e,t,n,r){return this.filter(nn).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=x.isEmptyObject(e),o=x.speed(t,n,r),a=function(){var t=er(this,x.extend({},e),o);(i||x._data(this,"finish"))&&t.stop(!0)};return a.finish=a,i||o.queue===!1?this.each(a):this.queue(o.queue,a)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return"string"!=typeof e&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=null!=e&&e+"queueHooks",o=x.timers,a=x._data(this);if(n)a[n]&&a[n].stop&&i(a[n]);else for(n in a)a[n]&&a[n].stop&&Jn.test(n)&&i(a[n]);for(n=o.length;n--;)o[n].elem!==this||null!=e&&o[n].queue!==e||(o[n].anim.stop(r),t=!1,o.splice(n,1));(t||!r)&&x.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=x._data(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=x.timers,a=r?r.length:0;for(n.finish=!0,x.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;a>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}});function ir(e,t){var n,r={height:e},i=0;for(t=t?1:0;4>i;i+=2-t)n=Zt[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}x.each({slideDown:ir("show"),slideUp:ir("hide"),slideToggle:ir("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){x.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),x.speed=function(e,t,n){var r=e&&"object"==typeof e?x.extend({},e):{complete:n||!n&&t||x.isFunction(e)&&e,duration:e,easing:n&&t||t&&!x.isFunction(t)&&t};return r.duration=x.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in x.fx.speeds?x.fx.speeds[r.duration]:x.fx.speeds._default,(null==r.queue||r.queue===!0)&&(r.queue="fx"),r.old=r.complete,r.complete=function(){x.isFunction(r.old)&&r.old.call(this),r.queue&&x.dequeue(this,r.queue)},r},x.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},x.timers=[],x.fx=rr.prototype.init,x.fx.tick=function(){var e,n=x.timers,r=0;for(Xn=x.now();n.length>r;r++)e=n[r],e()||n[r]!==e||n.splice(r--,1);n.length||x.fx.stop(),Xn=t},x.fx.timer=function(e){e()&&x.timers.push(e)&&x.fx.start()},x.fx.interval=13,x.fx.start=function(){Un||(Un=setInterval(x.fx.tick,x.fx.interval))},x.fx.stop=function(){clearInterval(Un),Un=null},x.fx.speeds={slow:600,fast:200,_default:400},x.fx.step={},x.expr&&x.expr.filters&&(x.expr.filters.animated=function(e){return x.grep(x.timers,function(t){return e===t.elem}).length}),x.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){x.offset.setOffset(this,e,t)});var n,r,o={top:0,left:0},a=this[0],s=a&&a.ownerDocument;if(s)return n=s.documentElement,x.contains(n,a)?(typeof a.getBoundingClientRect!==i&&(o=a.getBoundingClientRect()),r=or(s),{top:o.top+(r.pageYOffset||n.scrollTop)-(n.clientTop||0),left:o.left+(r.pageXOffset||n.scrollLeft)-(n.clientLeft||0)}):o},x.offset={setOffset:function(e,t,n){var r=x.css(e,"position");"static"===r&&(e.style.position="relative");var i=x(e),o=i.offset(),a=x.css(e,"top"),s=x.css(e,"left"),l=("absolute"===r||"fixed"===r)&&x.inArray("auto",[a,s])>-1,u={},c={},p,f;l?(c=i.position(),p=c.top,f=c.left):(p=parseFloat(a)||0,f=parseFloat(s)||0),x.isFunction(t)&&(t=t.call(e,n,o)),null!=t.top&&(u.top=t.top-o.top+p),null!=t.left&&(u.left=t.left-o.left+f),"using"in t?t.using.call(e,u):i.css(u)}},x.fn.extend({position:function(){if(this[0]){var e,t,n={top:0,left:0},r=this[0];return"fixed"===x.css(r,"position")?t=r.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),x.nodeName(e[0],"html")||(n=e.offset()),n.top+=x.css(e[0],"borderTopWidth",!0),n.left+=x.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-x.css(r,"marginTop",!0),left:t.left-n.left-x.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||s;while(e&&!x.nodeName(e,"html")&&"static"===x.css(e,"position"))e=e.offsetParent;return e||s})}}),x.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);x.fn[e]=function(i){return x.access(this,function(e,i,o){var a=or(e);return o===t?a?n in a?a[n]:a.document.documentElement[i]:e[i]:(a?a.scrollTo(r?x(a).scrollLeft():o,r?o:x(a).scrollTop()):e[i]=o,t)},e,i,arguments.length,null)}});function or(e){return x.isWindow(e)?e:9===e.nodeType?e.defaultView||e.parentWindow:!1}x.each({Height:"height",Width:"width"},function(e,n){x.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){x.fn[i]=function(i,o){var a=arguments.length&&(r||"boolean"!=typeof i),s=r||(i===!0||o===!0?"margin":"border");return x.access(this,function(n,r,i){var o;return x.isWindow(n)?n.document.documentElement["client"+e]:9===n.nodeType?(o=n.documentElement,Math.max(n.body["scroll"+e],o["scroll"+e],n.body["offset"+e],o["offset"+e],o["client"+e])):i===t?x.css(n,r,s):x.style(n,r,i,s)},n,a?i:t,a,null)}})}),x.fn.size=function(){return this.length},x.fn.andSelf=x.fn.addBack,"object"==typeof module&&module&&"object"==typeof module.exports?module.exports=x:(e.jQuery=e.$=x,"function"==typeof define&&define.amd&&define("jquery",[],function(){return x}))})(window); diff --git a/src/main/webapp/static/login/assets/js/jquery-2.0.3.min.js b/src/main/webapp/static/login/assets/js/jquery-2.0.3.min.js new file mode 100644 index 0000000..2be209d --- /dev/null +++ b/src/main/webapp/static/login/assets/js/jquery-2.0.3.min.js @@ -0,0 +1,6 @@ +/*! jQuery v2.0.3 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license +//@ sourceMappingURL=jquery-2.0.3.min.map +*/ +(function(e,undefined){var t,n,r=typeof undefined,i=e.location,o=e.document,s=o.documentElement,a=e.jQuery,u=e.$,l={},c=[],p="2.0.3",f=c.concat,h=c.push,d=c.slice,g=c.indexOf,m=l.toString,y=l.hasOwnProperty,v=p.trim,x=function(e,n){return new x.fn.init(e,n,t)},b=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,w=/\S+/g,T=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,k=/^-ms-/,N=/-([\da-z])/gi,E=function(e,t){return t.toUpperCase()},S=function(){o.removeEventListener("DOMContentLoaded",S,!1),e.removeEventListener("load",S,!1),x.ready()};x.fn=x.prototype={jquery:p,constructor:x,init:function(e,t,n){var r,i;if(!e)return this;if("string"==typeof e){if(r="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:T.exec(e),!r||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof x?t[0]:t,x.merge(this,x.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:o,!0)),C.test(r[1])&&x.isPlainObject(t))for(r in t)x.isFunction(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return i=o.getElementById(r[2]),i&&i.parentNode&&(this.length=1,this[0]=i),this.context=o,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):x.isFunction(e)?n.ready(e):(e.selector!==undefined&&(this.selector=e.selector,this.context=e.context),x.makeArray(e,this))},selector:"",length:0,toArray:function(){return d.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=x.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return x.each(this,e,t)},ready:function(e){return x.ready.promise().done(e),this},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(x.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:h,sort:[].sort,splice:[].splice},x.fn.init.prototype=x.fn,x.extend=x.fn.extend=function(){var e,t,n,r,i,o,s=arguments[0]||{},a=1,u=arguments.length,l=!1;for("boolean"==typeof s&&(l=s,s=arguments[1]||{},a=2),"object"==typeof s||x.isFunction(s)||(s={}),u===a&&(s=this,--a);u>a;a++)if(null!=(e=arguments[a]))for(t in e)n=s[t],r=e[t],s!==r&&(l&&r&&(x.isPlainObject(r)||(i=x.isArray(r)))?(i?(i=!1,o=n&&x.isArray(n)?n:[]):o=n&&x.isPlainObject(n)?n:{},s[t]=x.extend(l,o,r)):r!==undefined&&(s[t]=r));return s},x.extend({expando:"jQuery"+(p+Math.random()).replace(/\D/g,""),noConflict:function(t){return e.$===x&&(e.$=u),t&&e.jQuery===x&&(e.jQuery=a),x},isReady:!1,readyWait:1,holdReady:function(e){e?x.readyWait++:x.ready(!0)},ready:function(e){(e===!0?--x.readyWait:x.isReady)||(x.isReady=!0,e!==!0&&--x.readyWait>0||(n.resolveWith(o,[x]),x.fn.trigger&&x(o).trigger("ready").off("ready")))},isFunction:function(e){return"function"===x.type(e)},isArray:Array.isArray,isWindow:function(e){return null!=e&&e===e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[m.call(e)]||"object":typeof e},isPlainObject:function(e){if("object"!==x.type(e)||e.nodeType||x.isWindow(e))return!1;try{if(e.constructor&&!y.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||o;var r=C.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=x.buildFragment([e],t,i),i&&x(i).remove(),x.merge([],r.childNodes))},parseJSON:JSON.parse,parseXML:function(e){var t,n;if(!e||"string"!=typeof e)return null;try{n=new DOMParser,t=n.parseFromString(e,"text/xml")}catch(r){t=undefined}return(!t||t.getElementsByTagName("parsererror").length)&&x.error("Invalid XML: "+e),t},noop:function(){},globalEval:function(e){var t,n=eval;e=x.trim(e),e&&(1===e.indexOf("use strict")?(t=o.createElement("script"),t.text=e,o.head.appendChild(t).parentNode.removeChild(t)):n(e))},camelCase:function(e){return e.replace(k,"ms-").replace(N,E)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,s=j(e);if(n){if(s){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(s){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:function(e){return null==e?"":v.call(e)},makeArray:function(e,t){var n=t||[];return null!=e&&(j(Object(e))?x.merge(n,"string"==typeof e?[e]:e):h.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:g.call(t,e,n)},merge:function(e,t){var n=t.length,r=e.length,i=0;if("number"==typeof n)for(;n>i;i++)e[r++]=t[i];else while(t[i]!==undefined)e[r++]=t[i++];return e.length=r,e},grep:function(e,t,n){var r,i=[],o=0,s=e.length;for(n=!!n;s>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,s=j(e),a=[];if(s)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(a[a.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(a[a.length]=r);return f.apply([],a)},guid:1,proxy:function(e,t){var n,r,i;return"string"==typeof t&&(n=e[t],t=e,e=n),x.isFunction(e)?(r=d.call(arguments,2),i=function(){return e.apply(t||this,r.concat(d.call(arguments)))},i.guid=e.guid=e.guid||x.guid++,i):undefined},access:function(e,t,n,r,i,o,s){var a=0,u=e.length,l=null==n;if("object"===x.type(n)){i=!0;for(a in n)x.access(e,t,a,n[a],!0,o,s)}else if(r!==undefined&&(i=!0,x.isFunction(r)||(s=!0),l&&(s?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(x(e),n)})),t))for(;u>a;a++)t(e[a],n,s?r:r.call(e[a],a,t(e[a],n)));return i?e:l?t.call(e):u?t(e[0],n):o},now:Date.now,swap:function(e,t,n,r){var i,o,s={};for(o in t)s[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=s[o];return i}}),x.ready.promise=function(t){return n||(n=x.Deferred(),"complete"===o.readyState?setTimeout(x.ready):(o.addEventListener("DOMContentLoaded",S,!1),e.addEventListener("load",S,!1))),n.promise(t)},x.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function j(e){var t=e.length,n=x.type(e);return x.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}t=x(o),function(e,undefined){var t,n,r,i,o,s,a,u,l,c,p,f,h,d,g,m,y,v="sizzle"+-new Date,b=e.document,w=0,T=0,C=st(),k=st(),N=st(),E=!1,S=function(e,t){return e===t?(E=!0,0):0},j=typeof undefined,D=1<<31,A={}.hasOwnProperty,L=[],q=L.pop,H=L.push,O=L.push,F=L.slice,P=L.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",W="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",$=W.replace("w","w#"),B="\\["+M+"*("+W+")"+M+"*(?:([*^$|!~]?=)"+M+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+$+")|)|)"+M+"*\\]",I=":("+W+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+B.replace(3,8)+")*)|.*)\\)|)",z=RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=RegExp("^"+M+"*,"+M+"*"),X=RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=RegExp(M+"*[+~]"),Y=RegExp("="+M+"*([^\\]'\"]*)"+M+"*\\]","g"),V=RegExp(I),G=RegExp("^"+$+"$"),J={ID:RegExp("^#("+W+")"),CLASS:RegExp("^\\.("+W+")"),TAG:RegExp("^("+W.replace("w","w*")+")"),ATTR:RegExp("^"+B),PSEUDO:RegExp("^"+I),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:RegExp("^(?:"+R+")$","i"),needsContext:RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Q=/^[^{]+\{\s*\[native \w/,K=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,Z=/^(?:input|select|textarea|button)$/i,et=/^h\d$/i,tt=/'|\\/g,nt=RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),rt=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:0>r?String.fromCharCode(r+65536):String.fromCharCode(55296|r>>10,56320|1023&r)};try{O.apply(L=F.call(b.childNodes),b.childNodes),L[b.childNodes.length].nodeType}catch(it){O={apply:L.length?function(e,t){H.apply(e,F.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function ot(e,t,r,i){var o,s,a,u,l,f,g,m,x,w;if((t?t.ownerDocument||t:b)!==p&&c(t),t=t||p,r=r||[],!e||"string"!=typeof e)return r;if(1!==(u=t.nodeType)&&9!==u)return[];if(h&&!i){if(o=K.exec(e))if(a=o[1]){if(9===u){if(s=t.getElementById(a),!s||!s.parentNode)return r;if(s.id===a)return r.push(s),r}else if(t.ownerDocument&&(s=t.ownerDocument.getElementById(a))&&y(t,s)&&s.id===a)return r.push(s),r}else{if(o[2])return O.apply(r,t.getElementsByTagName(e)),r;if((a=o[3])&&n.getElementsByClassName&&t.getElementsByClassName)return O.apply(r,t.getElementsByClassName(a)),r}if(n.qsa&&(!d||!d.test(e))){if(m=g=v,x=t,w=9===u&&e,1===u&&"object"!==t.nodeName.toLowerCase()){f=gt(e),(g=t.getAttribute("id"))?m=g.replace(tt,"\\$&"):t.setAttribute("id",m),m="[id='"+m+"'] ",l=f.length;while(l--)f[l]=m+mt(f[l]);x=U.test(e)&&t.parentNode||t,w=f.join(",")}if(w)try{return O.apply(r,x.querySelectorAll(w)),r}catch(T){}finally{g||t.removeAttribute("id")}}}return kt(e.replace(z,"$1"),t,r,i)}function st(){var e=[];function t(n,r){return e.push(n+=" ")>i.cacheLength&&delete t[e.shift()],t[n]=r}return t}function at(e){return e[v]=!0,e}function ut(e){var t=p.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function lt(e,t){var n=e.split("|"),r=e.length;while(r--)i.attrHandle[n[r]]=t}function ct(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||D)-(~e.sourceIndex||D);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function pt(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function ft(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function ht(e){return at(function(t){return t=+t,at(function(n,r){var i,o=e([],n.length,t),s=o.length;while(s--)n[i=o[s]]&&(n[i]=!(r[i]=n[i]))})})}s=ot.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},n=ot.support={},c=ot.setDocument=function(e){var t=e?e.ownerDocument||e:b,r=t.defaultView;return t!==p&&9===t.nodeType&&t.documentElement?(p=t,f=t.documentElement,h=!s(t),r&&r.attachEvent&&r!==r.top&&r.attachEvent("onbeforeunload",function(){c()}),n.attributes=ut(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=ut(function(e){return e.appendChild(t.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=ut(function(e){return e.innerHTML="<div class='a'></div><div class='a i'></div>",e.firstChild.className="i",2===e.getElementsByClassName("i").length}),n.getById=ut(function(e){return f.appendChild(e).id=v,!t.getElementsByName||!t.getElementsByName(v).length}),n.getById?(i.find.ID=function(e,t){if(typeof t.getElementById!==j&&h){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},i.filter.ID=function(e){var t=e.replace(nt,rt);return function(e){return e.getAttribute("id")===t}}):(delete i.find.ID,i.filter.ID=function(e){var t=e.replace(nt,rt);return function(e){var n=typeof e.getAttributeNode!==j&&e.getAttributeNode("id");return n&&n.value===t}}),i.find.TAG=n.getElementsByTagName?function(e,t){return typeof t.getElementsByTagName!==j?t.getElementsByTagName(e):undefined}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},i.find.CLASS=n.getElementsByClassName&&function(e,t){return typeof t.getElementsByClassName!==j&&h?t.getElementsByClassName(e):undefined},g=[],d=[],(n.qsa=Q.test(t.querySelectorAll))&&(ut(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||d.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll(":checked").length||d.push(":checked")}),ut(function(e){var n=t.createElement("input");n.setAttribute("type","hidden"),e.appendChild(n).setAttribute("t",""),e.querySelectorAll("[t^='']").length&&d.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll(":enabled").length||d.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),d.push(",.*:")})),(n.matchesSelector=Q.test(m=f.webkitMatchesSelector||f.mozMatchesSelector||f.oMatchesSelector||f.msMatchesSelector))&&ut(function(e){n.disconnectedMatch=m.call(e,"div"),m.call(e,"[s!='']:x"),g.push("!=",I)}),d=d.length&&RegExp(d.join("|")),g=g.length&&RegExp(g.join("|")),y=Q.test(f.contains)||f.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},S=f.compareDocumentPosition?function(e,r){if(e===r)return E=!0,0;var i=r.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(r);return i?1&i||!n.sortDetached&&r.compareDocumentPosition(e)===i?e===t||y(b,e)?-1:r===t||y(b,r)?1:l?P.call(l,e)-P.call(l,r):0:4&i?-1:1:e.compareDocumentPosition?-1:1}:function(e,n){var r,i=0,o=e.parentNode,s=n.parentNode,a=[e],u=[n];if(e===n)return E=!0,0;if(!o||!s)return e===t?-1:n===t?1:o?-1:s?1:l?P.call(l,e)-P.call(l,n):0;if(o===s)return ct(e,n);r=e;while(r=r.parentNode)a.unshift(r);r=n;while(r=r.parentNode)u.unshift(r);while(a[i]===u[i])i++;return i?ct(a[i],u[i]):a[i]===b?-1:u[i]===b?1:0},t):p},ot.matches=function(e,t){return ot(e,null,null,t)},ot.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&c(e),t=t.replace(Y,"='$1']"),!(!n.matchesSelector||!h||g&&g.test(t)||d&&d.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(i){}return ot(t,p,null,[e]).length>0},ot.contains=function(e,t){return(e.ownerDocument||e)!==p&&c(e),y(e,t)},ot.attr=function(e,t){(e.ownerDocument||e)!==p&&c(e);var r=i.attrHandle[t.toLowerCase()],o=r&&A.call(i.attrHandle,t.toLowerCase())?r(e,t,!h):undefined;return o===undefined?n.attributes||!h?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null:o},ot.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},ot.uniqueSort=function(e){var t,r=[],i=0,o=0;if(E=!n.detectDuplicates,l=!n.sortStable&&e.slice(0),e.sort(S),E){while(t=e[o++])t===e[o]&&(i=r.push(o));while(i--)e.splice(r[i],1)}return e},o=ot.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=o(t);return n},i=ot.selectors={cacheLength:50,createPseudo:at,match:J,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(nt,rt),e[3]=(e[4]||e[5]||"").replace(nt,rt),"~="===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]||ot.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]&&ot.error(e[0]),e},PSEUDO:function(e){var t,n=!e[5]&&e[2];return J.CHILD.test(e[0])?null:(e[3]&&e[4]!==undefined?e[2]=e[4]:n&&V.test(n)&&(t=gt(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(nt,rt).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=C[e+" "];return t||(t=RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&C(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==j&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=ot.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),s="last"!==e.slice(-4),a="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,p,f,h,d,g=o!==s?"nextSibling":"previousSibling",m=t.parentNode,y=a&&t.nodeName.toLowerCase(),x=!u&&!a;if(m){if(o){while(g){p=t;while(p=p[g])if(a?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;d=g="only"===e&&!d&&"nextSibling"}return!0}if(d=[s?m.firstChild:m.lastChild],s&&x){c=m[v]||(m[v]={}),l=c[e]||[],h=l[0]===w&&l[1],f=l[0]===w&&l[2],p=h&&m.childNodes[h];while(p=++h&&p&&p[g]||(f=h=0)||d.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[w,h,f];break}}else if(x&&(l=(t[v]||(t[v]={}))[e])&&l[0]===w)f=l[1];else while(p=++h&&p&&p[g]||(f=h=0)||d.pop())if((a?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(x&&((p[v]||(p[v]={}))[e]=[w,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||ot.error("unsupported pseudo: "+e);return r[v]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?at(function(e,n){var i,o=r(e,t),s=o.length;while(s--)i=P.call(e,o[s]),e[i]=!(n[i]=o[s])}):function(e){return r(e,0,n)}):r}},pseudos:{not:at(function(e){var t=[],n=[],r=a(e.replace(z,"$1"));return r[v]?at(function(e,t,n,i){var o,s=r(e,null,i,[]),a=e.length;while(a--)(o=s[a])&&(e[a]=!(t[a]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:at(function(e){return function(t){return ot(e,t).length>0}}),contains:at(function(e){return function(t){return(t.textContent||t.innerText||o(t)).indexOf(e)>-1}}),lang:at(function(e){return G.test(e||"")||ot.error("unsupported lang: "+e),e=e.replace(nt,rt).toLowerCase(),function(t){var n;do if(n=h?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===f},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!i.pseudos.empty(e)},header:function(e){return et.test(e.nodeName)},input:function(e){return Z.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:ht(function(){return[0]}),last:ht(function(e,t){return[t-1]}),eq:ht(function(e,t,n){return[0>n?n+t:n]}),even:ht(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:ht(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:ht(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:ht(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}},i.pseudos.nth=i.pseudos.eq;for(t in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})i.pseudos[t]=pt(t);for(t in{submit:!0,reset:!0})i.pseudos[t]=ft(t);function dt(){}dt.prototype=i.filters=i.pseudos,i.setFilters=new dt;function gt(e,t){var n,r,o,s,a,u,l,c=k[e+" "];if(c)return t?0:c.slice(0);a=e,u=[],l=i.preFilter;while(a){(!n||(r=_.exec(a)))&&(r&&(a=a.slice(r[0].length)||a),u.push(o=[])),n=!1,(r=X.exec(a))&&(n=r.shift(),o.push({value:n,type:r[0].replace(z," ")}),a=a.slice(n.length));for(s in i.filter)!(r=J[s].exec(a))||l[s]&&!(r=l[s](r))||(n=r.shift(),o.push({value:n,type:s,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?ot.error(e):k(e,u).slice(0)}function mt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function yt(e,t,n){var i=t.dir,o=n&&"parentNode"===i,s=T++;return t.first?function(t,n,r){while(t=t[i])if(1===t.nodeType||o)return e(t,n,r)}:function(t,n,a){var u,l,c,p=w+" "+s;if(a){while(t=t[i])if((1===t.nodeType||o)&&e(t,n,a))return!0}else while(t=t[i])if(1===t.nodeType||o)if(c=t[v]||(t[v]={}),(l=c[i])&&l[0]===p){if((u=l[1])===!0||u===r)return u===!0}else if(l=c[i]=[p],l[1]=e(t,n,a)||r,l[1]===!0)return!0}}function vt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function xt(e,t,n,r,i){var o,s=[],a=0,u=e.length,l=null!=t;for(;u>a;a++)(o=e[a])&&(!n||n(o,r,i))&&(s.push(o),l&&t.push(a));return s}function bt(e,t,n,r,i,o){return r&&!r[v]&&(r=bt(r)),i&&!i[v]&&(i=bt(i,o)),at(function(o,s,a,u){var l,c,p,f=[],h=[],d=s.length,g=o||Ct(t||"*",a.nodeType?[a]:a,[]),m=!e||!o&&t?g:xt(g,f,e,a,u),y=n?i||(o?e:d||r)?[]:s:m;if(n&&n(m,y,a,u),r){l=xt(y,h),r(l,[],a,u),c=l.length;while(c--)(p=l[c])&&(y[h[c]]=!(m[h[c]]=p))}if(o){if(i||e){if(i){l=[],c=y.length;while(c--)(p=y[c])&&l.push(m[c]=p);i(null,y=[],l,u)}c=y.length;while(c--)(p=y[c])&&(l=i?P.call(o,p):f[c])>-1&&(o[l]=!(s[l]=p))}}else y=xt(y===s?y.splice(d,y.length):y),i?i(null,s,y,u):O.apply(s,y)})}function wt(e){var t,n,r,o=e.length,s=i.relative[e[0].type],a=s||i.relative[" "],l=s?1:0,c=yt(function(e){return e===t},a,!0),p=yt(function(e){return P.call(t,e)>-1},a,!0),f=[function(e,n,r){return!s&&(r||n!==u)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;o>l;l++)if(n=i.relative[e[l].type])f=[yt(vt(f),n)];else{if(n=i.filter[e[l].type].apply(null,e[l].matches),n[v]){for(r=++l;o>r;r++)if(i.relative[e[r].type])break;return bt(l>1&&vt(f),l>1&&mt(e.slice(0,l-1).concat({value:" "===e[l-2].type?"*":""})).replace(z,"$1"),n,r>l&&wt(e.slice(l,r)),o>r&&wt(e=e.slice(r)),o>r&&mt(e))}f.push(n)}return vt(f)}function Tt(e,t){var n=0,o=t.length>0,s=e.length>0,a=function(a,l,c,f,h){var d,g,m,y=[],v=0,x="0",b=a&&[],T=null!=h,C=u,k=a||s&&i.find.TAG("*",h&&l.parentNode||l),N=w+=null==C?1:Math.random()||.1;for(T&&(u=l!==p&&l,r=n);null!=(d=k[x]);x++){if(s&&d){g=0;while(m=e[g++])if(m(d,l,c)){f.push(d);break}T&&(w=N,r=++n)}o&&((d=!m&&d)&&v--,a&&b.push(d))}if(v+=x,o&&x!==v){g=0;while(m=t[g++])m(b,y,l,c);if(a){if(v>0)while(x--)b[x]||y[x]||(y[x]=q.call(f));y=xt(y)}O.apply(f,y),T&&!a&&y.length>0&&v+t.length>1&&ot.uniqueSort(f)}return T&&(w=N,u=C),b};return o?at(a):a}a=ot.compile=function(e,t){var n,r=[],i=[],o=N[e+" "];if(!o){t||(t=gt(e)),n=t.length;while(n--)o=wt(t[n]),o[v]?r.push(o):i.push(o);o=N(e,Tt(i,r))}return o};function Ct(e,t,n){var r=0,i=t.length;for(;i>r;r++)ot(e,t[r],n);return n}function kt(e,t,r,o){var s,u,l,c,p,f=gt(e);if(!o&&1===f.length){if(u=f[0]=f[0].slice(0),u.length>2&&"ID"===(l=u[0]).type&&n.getById&&9===t.nodeType&&h&&i.relative[u[1].type]){if(t=(i.find.ID(l.matches[0].replace(nt,rt),t)||[])[0],!t)return r;e=e.slice(u.shift().value.length)}s=J.needsContext.test(e)?0:u.length;while(s--){if(l=u[s],i.relative[c=l.type])break;if((p=i.find[c])&&(o=p(l.matches[0].replace(nt,rt),U.test(u[0].type)&&t.parentNode||t))){if(u.splice(s,1),e=o.length&&mt(u),!e)return O.apply(r,o),r;break}}}return a(e,f)(o,t,!h,r,U.test(e)),r}n.sortStable=v.split("").sort(S).join("")===v,n.detectDuplicates=E,c(),n.sortDetached=ut(function(e){return 1&e.compareDocumentPosition(p.createElement("div"))}),ut(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||lt("type|href|height|width",function(e,t,n){return n?undefined:e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&ut(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||lt("value",function(e,t,n){return n||"input"!==e.nodeName.toLowerCase()?undefined:e.defaultValue}),ut(function(e){return null==e.getAttribute("disabled")})||lt(R,function(e,t,n){var r;return n?undefined:(r=e.getAttributeNode(t))&&r.specified?r.value:e[t]===!0?t.toLowerCase():null}),x.find=ot,x.expr=ot.selectors,x.expr[":"]=x.expr.pseudos,x.unique=ot.uniqueSort,x.text=ot.getText,x.isXMLDoc=ot.isXML,x.contains=ot.contains}(e);var D={};function A(e){var t=D[e]={};return x.each(e.match(w)||[],function(e,n){t[n]=!0}),t}x.Callbacks=function(e){e="string"==typeof e?D[e]||A(e):x.extend({},e);var t,n,r,i,o,s,a=[],u=!e.once&&[],l=function(p){for(t=e.memory&&p,n=!0,s=i||0,i=0,o=a.length,r=!0;a&&o>s;s++)if(a[s].apply(p[0],p[1])===!1&&e.stopOnFalse){t=!1;break}r=!1,a&&(u?u.length&&l(u.shift()):t?a=[]:c.disable())},c={add:function(){if(a){var n=a.length;(function s(t){x.each(t,function(t,n){var r=x.type(n);"function"===r?e.unique&&c.has(n)||a.push(n):n&&n.length&&"string"!==r&&s(n)})})(arguments),r?o=a.length:t&&(i=n,l(t))}return this},remove:function(){return a&&x.each(arguments,function(e,t){var n;while((n=x.inArray(t,a,n))>-1)a.splice(n,1),r&&(o>=n&&o--,s>=n&&s--)}),this},has:function(e){return e?x.inArray(e,a)>-1:!(!a||!a.length)},empty:function(){return a=[],o=0,this},disable:function(){return a=u=t=undefined,this},disabled:function(){return!a},lock:function(){return u=undefined,t||c.disable(),this},locked:function(){return!u},fireWith:function(e,t){return!a||n&&!u||(t=t||[],t=[e,t.slice?t.slice():t],r?u.push(t):l(t)),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!n}};return c},x.extend({Deferred:function(e){var t=[["resolve","done",x.Callbacks("once memory"),"resolved"],["reject","fail",x.Callbacks("once memory"),"rejected"],["notify","progress",x.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return x.Deferred(function(n){x.each(t,function(t,o){var s=o[0],a=x.isFunction(e[t])&&e[t];i[o[1]](function(){var e=a&&a.apply(this,arguments);e&&x.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[s+"With"](this===r?n.promise():this,a?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?x.extend(e,r):r}},i={};return r.pipe=r.then,x.each(t,function(e,o){var s=o[2],a=o[3];r[o[1]]=s.add,a&&s.add(function(){n=a},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=s.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=d.call(arguments),r=n.length,i=1!==r||e&&x.isFunction(e.promise)?r:0,o=1===i?e:x.Deferred(),s=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?d.call(arguments):r,n===a?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},a,u,l;if(r>1)for(a=Array(r),u=Array(r),l=Array(r);r>t;t++)n[t]&&x.isFunction(n[t].promise)?n[t].promise().done(s(t,l,n)).fail(o.reject).progress(s(t,u,a)):--i;return i||o.resolveWith(l,n),o.promise()}}),x.support=function(t){var n=o.createElement("input"),r=o.createDocumentFragment(),i=o.createElement("div"),s=o.createElement("select"),a=s.appendChild(o.createElement("option"));return n.type?(n.type="checkbox",t.checkOn=""!==n.value,t.optSelected=a.selected,t.reliableMarginRight=!0,t.boxSizingReliable=!0,t.pixelPosition=!1,n.checked=!0,t.noCloneChecked=n.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!a.disabled,n=o.createElement("input"),n.value="t",n.type="radio",t.radioValue="t"===n.value,n.setAttribute("checked","t"),n.setAttribute("name","t"),r.appendChild(n),t.checkClone=r.cloneNode(!0).cloneNode(!0).lastChild.checked,t.focusinBubbles="onfocusin"in e,i.style.backgroundClip="content-box",i.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===i.style.backgroundClip,x(function(){var n,r,s="padding:0;margin:0;border:0;display:block;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box",a=o.getElementsByTagName("body")[0];a&&(n=o.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",a.appendChild(n).appendChild(i),i.innerHTML="",i.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%",x.swap(a,null!=a.style.zoom?{zoom:1}:{},function(){t.boxSizing=4===i.offsetWidth}),e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(i,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(i,null)||{width:"4px"}).width,r=i.appendChild(o.createElement("div")),r.style.cssText=i.style.cssText=s,r.style.marginRight=r.style.width="0",i.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),a.removeChild(n))}),t):t}({});var L,q,H=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,O=/([A-Z])/g;function F(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=x.expando+Math.random()}F.uid=1,F.accepts=function(e){return e.nodeType?1===e.nodeType||9===e.nodeType:!0},F.prototype={key:function(e){if(!F.accepts(e))return 0;var t={},n=e[this.expando];if(!n){n=F.uid++;try{t[this.expando]={value:n},Object.defineProperties(e,t)}catch(r){t[this.expando]=n,x.extend(e,t)}}return this.cache[n]||(this.cache[n]={}),n},set:function(e,t,n){var r,i=this.key(e),o=this.cache[i];if("string"==typeof t)o[t]=n;else if(x.isEmptyObject(o))x.extend(this.cache[i],t);else for(r in t)o[r]=t[r];return o},get:function(e,t){var n=this.cache[this.key(e)];return t===undefined?n:n[t]},access:function(e,t,n){var r;return t===undefined||t&&"string"==typeof t&&n===undefined?(r=this.get(e,t),r!==undefined?r:this.get(e,x.camelCase(t))):(this.set(e,t,n),n!==undefined?n:t)},remove:function(e,t){var n,r,i,o=this.key(e),s=this.cache[o];if(t===undefined)this.cache[o]={};else{x.isArray(t)?r=t.concat(t.map(x.camelCase)):(i=x.camelCase(t),t in s?r=[t,i]:(r=i,r=r in s?[r]:r.match(w)||[])),n=r.length;while(n--)delete s[r[n]]}},hasData:function(e){return!x.isEmptyObject(this.cache[e[this.expando]]||{})},discard:function(e){e[this.expando]&&delete this.cache[e[this.expando]]}},L=new F,q=new F,x.extend({acceptData:F.accepts,hasData:function(e){return L.hasData(e)||q.hasData(e)},data:function(e,t,n){return L.access(e,t,n)},removeData:function(e,t){L.remove(e,t)},_data:function(e,t,n){return q.access(e,t,n)},_removeData:function(e,t){q.remove(e,t)}}),x.fn.extend({data:function(e,t){var n,r,i=this[0],o=0,s=null;if(e===undefined){if(this.length&&(s=L.get(i),1===i.nodeType&&!q.get(i,"hasDataAttrs"))){for(n=i.attributes;n.length>o;o++)r=n[o].name,0===r.indexOf("data-")&&(r=x.camelCase(r.slice(5)),P(i,r,s[r]));q.set(i,"hasDataAttrs",!0)}return s}return"object"==typeof e?this.each(function(){L.set(this,e)}):x.access(this,function(t){var n,r=x.camelCase(e);if(i&&t===undefined){if(n=L.get(i,e),n!==undefined)return n;if(n=L.get(i,r),n!==undefined)return n;if(n=P(i,r,undefined),n!==undefined)return n}else this.each(function(){var n=L.get(this,r);L.set(this,r,t),-1!==e.indexOf("-")&&n!==undefined&&L.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){L.remove(this,e)})}});function P(e,t,n){var r;if(n===undefined&&1===e.nodeType)if(r="data-"+t.replace(O,"-$1").toLowerCase(),n=e.getAttribute(r),"string"==typeof n){try{n="true"===n?!0:"false"===n?!1:"null"===n?null:+n+""===n?+n:H.test(n)?JSON.parse(n):n}catch(i){}L.set(e,t,n)}else n=undefined;return n}x.extend({queue:function(e,t,n){var r;return e?(t=(t||"fx")+"queue",r=q.get(e,t),n&&(!r||x.isArray(n)?r=q.access(e,t,x.makeArray(n)):r.push(n)),r||[]):undefined},dequeue:function(e,t){t=t||"fx";var n=x.queue(e,t),r=n.length,i=n.shift(),o=x._queueHooks(e,t),s=function(){x.dequeue(e,t) +};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,s,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return q.get(e,n)||q.access(e,n,{empty:x.Callbacks("once memory").add(function(){q.remove(e,[t+"queue",n])})})}}),x.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),n>arguments.length?x.queue(this[0],e):t===undefined?this:this.each(function(){var n=x.queue(this,e,t);x._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&x.dequeue(this,e)})},dequeue:function(e){return this.each(function(){x.dequeue(this,e)})},delay:function(e,t){return e=x.fx?x.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=x.Deferred(),o=this,s=this.length,a=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=undefined),e=e||"fx";while(s--)n=q.get(o[s],e+"queueHooks"),n&&n.empty&&(r++,n.empty.add(a));return a(),i.promise(t)}});var R,M,W=/[\t\r\n\f]/g,$=/\r/g,B=/^(?:input|select|textarea|button)$/i;x.fn.extend({attr:function(e,t){return x.access(this,x.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){x.removeAttr(this,e)})},prop:function(e,t){return x.access(this,x.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[x.propFix[e]||e]})},addClass:function(e){var t,n,r,i,o,s=0,a=this.length,u="string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).addClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];a>s;s++)if(n=this[s],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(W," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=x.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,s=0,a=this.length,u=0===arguments.length||"string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).removeClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];a>s;s++)if(n=this[s],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(W," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?x.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):x.isFunction(e)?this.each(function(n){x(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var t,i=0,o=x(this),s=e.match(w)||[];while(t=s[i++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else(n===r||"boolean"===n)&&(this.className&&q.set(this,"__className__",this.className),this.className=this.className||e===!1?"":q.get(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(W," ").indexOf(t)>=0)return!0;return!1},val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=x.isFunction(e),this.each(function(n){var i;1===this.nodeType&&(i=r?e.call(this,n,x(this).val()):e,null==i?i="":"number"==typeof i?i+="":x.isArray(i)&&(i=x.map(i,function(e){return null==e?"":e+""})),t=x.valHooks[this.type]||x.valHooks[this.nodeName.toLowerCase()],t&&"set"in t&&t.set(this,i,"value")!==undefined||(this.value=i))});if(i)return t=x.valHooks[i.type]||x.valHooks[i.nodeName.toLowerCase()],t&&"get"in t&&(n=t.get(i,"value"))!==undefined?n:(n=i.value,"string"==typeof n?n.replace($,""):null==n?"":n)}}}),x.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,s=o?null:[],a=o?i+1:r.length,u=0>i?a:o?i:0;for(;a>u;u++)if(n=r[u],!(!n.selected&&u!==i||(x.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&x.nodeName(n.parentNode,"optgroup"))){if(t=x(n).val(),o)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=x.makeArray(t),s=i.length;while(s--)r=i[s],(r.selected=x.inArray(x(r).val(),o)>=0)&&(n=!0);return n||(e.selectedIndex=-1),o}}},attr:function(e,t,n){var i,o,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return typeof e.getAttribute===r?x.prop(e,t,n):(1===s&&x.isXMLDoc(e)||(t=t.toLowerCase(),i=x.attrHooks[t]||(x.expr.match.bool.test(t)?M:R)),n===undefined?i&&"get"in i&&null!==(o=i.get(e,t))?o:(o=x.find.attr(e,t),null==o?undefined:o):null!==n?i&&"set"in i&&(o=i.set(e,n,t))!==undefined?o:(e.setAttribute(t,n+""),n):(x.removeAttr(e,t),undefined))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(w);if(o&&1===e.nodeType)while(n=o[i++])r=x.propFix[n]||n,x.expr.match.bool.test(n)&&(e[r]=!1),e.removeAttribute(n)},attrHooks:{type:{set:function(e,t){if(!x.support.radioValue&&"radio"===t&&x.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{"for":"htmlFor","class":"className"},prop:function(e,t,n){var r,i,o,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return o=1!==s||!x.isXMLDoc(e),o&&(t=x.propFix[t]||t,i=x.propHooks[t]),n!==undefined?i&&"set"in i&&(r=i.set(e,n,t))!==undefined?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){return e.hasAttribute("tabindex")||B.test(e.nodeName)||e.href?e.tabIndex:-1}}}}),M={set:function(e,t,n){return t===!1?x.removeAttr(e,n):e.setAttribute(n,n),n}},x.each(x.expr.match.bool.source.match(/\w+/g),function(e,t){var n=x.expr.attrHandle[t]||x.find.attr;x.expr.attrHandle[t]=function(e,t,r){var i=x.expr.attrHandle[t],o=r?undefined:(x.expr.attrHandle[t]=undefined)!=n(e,t,r)?t.toLowerCase():null;return x.expr.attrHandle[t]=i,o}}),x.support.optSelected||(x.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null}}),x.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){x.propFix[this.toLowerCase()]=this}),x.each(["radio","checkbox"],function(){x.valHooks[this]={set:function(e,t){return x.isArray(t)?e.checked=x.inArray(x(e).val(),t)>=0:undefined}},x.support.checkOn||(x.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var I=/^key/,z=/^(?:mouse|contextmenu)|click/,_=/^(?:focusinfocus|focusoutblur)$/,X=/^([^.]*)(?:\.(.+)|)$/;function U(){return!0}function Y(){return!1}function V(){try{return o.activeElement}catch(e){}}x.event={global:{},add:function(e,t,n,i,o){var s,a,u,l,c,p,f,h,d,g,m,y=q.get(e);if(y){n.handler&&(s=n,n=s.handler,o=s.selector),n.guid||(n.guid=x.guid++),(l=y.events)||(l=y.events={}),(a=y.handle)||(a=y.handle=function(e){return typeof x===r||e&&x.event.triggered===e.type?undefined:x.event.dispatch.apply(a.elem,arguments)},a.elem=e),t=(t||"").match(w)||[""],c=t.length;while(c--)u=X.exec(t[c])||[],d=m=u[1],g=(u[2]||"").split(".").sort(),d&&(f=x.event.special[d]||{},d=(o?f.delegateType:f.bindType)||d,f=x.event.special[d]||{},p=x.extend({type:d,origType:m,data:i,handler:n,guid:n.guid,selector:o,needsContext:o&&x.expr.match.needsContext.test(o),namespace:g.join(".")},s),(h=l[d])||(h=l[d]=[],h.delegateCount=0,f.setup&&f.setup.call(e,i,g,a)!==!1||e.addEventListener&&e.addEventListener(d,a,!1)),f.add&&(f.add.call(e,p),p.handler.guid||(p.handler.guid=n.guid)),o?h.splice(h.delegateCount++,0,p):h.push(p),x.event.global[d]=!0);e=null}},remove:function(e,t,n,r,i){var o,s,a,u,l,c,p,f,h,d,g,m=q.hasData(e)&&q.get(e);if(m&&(u=m.events)){t=(t||"").match(w)||[""],l=t.length;while(l--)if(a=X.exec(t[l])||[],h=g=a[1],d=(a[2]||"").split(".").sort(),h){p=x.event.special[h]||{},h=(r?p.delegateType:p.bindType)||h,f=u[h]||[],a=a[2]&&RegExp("(^|\\.)"+d.join("\\.(?:.*\\.|)")+"(\\.|$)"),s=o=f.length;while(o--)c=f[o],!i&&g!==c.origType||n&&n.guid!==c.guid||a&&!a.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(f.splice(o,1),c.selector&&f.delegateCount--,p.remove&&p.remove.call(e,c));s&&!f.length&&(p.teardown&&p.teardown.call(e,d,m.handle)!==!1||x.removeEvent(e,h,m.handle),delete u[h])}else for(h in u)x.event.remove(e,h+t[l],n,r,!0);x.isEmptyObject(u)&&(delete m.handle,q.remove(e,"events"))}},trigger:function(t,n,r,i){var s,a,u,l,c,p,f,h=[r||o],d=y.call(t,"type")?t.type:t,g=y.call(t,"namespace")?t.namespace.split("."):[];if(a=u=r=r||o,3!==r.nodeType&&8!==r.nodeType&&!_.test(d+x.event.triggered)&&(d.indexOf(".")>=0&&(g=d.split("."),d=g.shift(),g.sort()),c=0>d.indexOf(":")&&"on"+d,t=t[x.expando]?t:new x.Event(d,"object"==typeof t&&t),t.isTrigger=i?2:3,t.namespace=g.join("."),t.namespace_re=t.namespace?RegExp("(^|\\.)"+g.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=undefined,t.target||(t.target=r),n=null==n?[t]:x.makeArray(n,[t]),f=x.event.special[d]||{},i||!f.trigger||f.trigger.apply(r,n)!==!1)){if(!i&&!f.noBubble&&!x.isWindow(r)){for(l=f.delegateType||d,_.test(l+d)||(a=a.parentNode);a;a=a.parentNode)h.push(a),u=a;u===(r.ownerDocument||o)&&h.push(u.defaultView||u.parentWindow||e)}s=0;while((a=h[s++])&&!t.isPropagationStopped())t.type=s>1?l:f.bindType||d,p=(q.get(a,"events")||{})[t.type]&&q.get(a,"handle"),p&&p.apply(a,n),p=c&&a[c],p&&x.acceptData(a)&&p.apply&&p.apply(a,n)===!1&&t.preventDefault();return t.type=d,i||t.isDefaultPrevented()||f._default&&f._default.apply(h.pop(),n)!==!1||!x.acceptData(r)||c&&x.isFunction(r[d])&&!x.isWindow(r)&&(u=r[c],u&&(r[c]=null),x.event.triggered=d,r[d](),x.event.triggered=undefined,u&&(r[c]=u)),t.result}},dispatch:function(e){e=x.event.fix(e);var t,n,r,i,o,s=[],a=d.call(arguments),u=(q.get(this,"events")||{})[e.type]||[],l=x.event.special[e.type]||{};if(a[0]=e,e.delegateTarget=this,!l.preDispatch||l.preDispatch.call(this,e)!==!1){s=x.event.handlers.call(this,e,u),t=0;while((i=s[t++])&&!e.isPropagationStopped()){e.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(o.namespace))&&(e.handleObj=o,e.data=o.data,r=((x.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,a),r!==undefined&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return l.postDispatch&&l.postDispatch.call(this,e),e.result}},handlers:function(e,t){var n,r,i,o,s=[],a=t.delegateCount,u=e.target;if(a&&u.nodeType&&(!e.button||"click"!==e.type))for(;u!==this;u=u.parentNode||this)if(u.disabled!==!0||"click"!==e.type){for(r=[],n=0;a>n;n++)o=t[n],i=o.selector+" ",r[i]===undefined&&(r[i]=o.needsContext?x(i,this).index(u)>=0:x.find(i,this,null,[u]).length),r[i]&&r.push(o);r.length&&s.push({elem:u,handlers:r})}return t.length>a&&s.push({elem:this,handlers:t.slice(a)}),s},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,t){var n,r,i,s=t.button;return null==e.pageX&&null!=t.clientX&&(n=e.target.ownerDocument||o,r=n.documentElement,i=n.body,e.pageX=t.clientX+(r&&r.scrollLeft||i&&i.scrollLeft||0)-(r&&r.clientLeft||i&&i.clientLeft||0),e.pageY=t.clientY+(r&&r.scrollTop||i&&i.scrollTop||0)-(r&&r.clientTop||i&&i.clientTop||0)),e.which||s===undefined||(e.which=1&s?1:2&s?3:4&s?2:0),e}},fix:function(e){if(e[x.expando])return e;var t,n,r,i=e.type,s=e,a=this.fixHooks[i];a||(this.fixHooks[i]=a=z.test(i)?this.mouseHooks:I.test(i)?this.keyHooks:{}),r=a.props?this.props.concat(a.props):this.props,e=new x.Event(s),t=r.length;while(t--)n=r[t],e[n]=s[n];return e.target||(e.target=o),3===e.target.nodeType&&(e.target=e.target.parentNode),a.filter?a.filter(e,s):e},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==V()&&this.focus?(this.focus(),!1):undefined},delegateType:"focusin"},blur:{trigger:function(){return this===V()&&this.blur?(this.blur(),!1):undefined},delegateType:"focusout"},click:{trigger:function(){return"checkbox"===this.type&&this.click&&x.nodeName(this,"input")?(this.click(),!1):undefined},_default:function(e){return x.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){e.result!==undefined&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=x.extend(new x.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?x.event.trigger(i,null,t):x.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},x.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)},x.Event=function(e,t){return this instanceof x.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.getPreventDefault&&e.getPreventDefault()?U:Y):this.type=e,t&&x.extend(this,t),this.timeStamp=e&&e.timeStamp||x.now(),this[x.expando]=!0,undefined):new x.Event(e,t)},x.Event.prototype={isDefaultPrevented:Y,isPropagationStopped:Y,isImmediatePropagationStopped:Y,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=U,e&&e.preventDefault&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=U,e&&e.stopPropagation&&e.stopPropagation()},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=U,this.stopPropagation()}},x.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){x.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return(!i||i!==r&&!x.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),x.support.focusinBubbles||x.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){x.event.simulate(t,e.target,x.event.fix(e),!0)};x.event.special[t]={setup:function(){0===n++&&o.addEventListener(e,r,!0)},teardown:function(){0===--n&&o.removeEventListener(e,r,!0)}}}),x.fn.extend({on:function(e,t,n,r,i){var o,s;if("object"==typeof e){"string"!=typeof t&&(n=n||t,t=undefined);for(s in e)this.on(s,t,n,e[s],i);return this}if(null==n&&null==r?(r=t,n=t=undefined):null==r&&("string"==typeof t?(r=n,n=undefined):(r=n,n=t,t=undefined)),r===!1)r=Y;else if(!r)return this;return 1===i&&(o=r,r=function(e){return x().off(e),o.apply(this,arguments)},r.guid=o.guid||(o.guid=x.guid++)),this.each(function(){x.event.add(this,e,r,n,t)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,x(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return(t===!1||"function"==typeof t)&&(n=t,t=undefined),n===!1&&(n=Y),this.each(function(){x.event.remove(this,e,n,t)})},trigger:function(e,t){return this.each(function(){x.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];return n?x.event.trigger(e,t,n,!0):undefined}});var G=/^.[^:#\[\.,]*$/,J=/^(?:parents|prev(?:Until|All))/,Q=x.expr.match.needsContext,K={children:!0,contents:!0,next:!0,prev:!0};x.fn.extend({find:function(e){var t,n=[],r=this,i=r.length;if("string"!=typeof e)return this.pushStack(x(e).filter(function(){for(t=0;i>t;t++)if(x.contains(r[t],this))return!0}));for(t=0;i>t;t++)x.find(e,r[t],n);return n=this.pushStack(i>1?x.unique(n):n),n.selector=this.selector?this.selector+" "+e:e,n},has:function(e){var t=x(e,this),n=t.length;return this.filter(function(){var e=0;for(;n>e;e++)if(x.contains(this,t[e]))return!0})},not:function(e){return this.pushStack(et(this,e||[],!0))},filter:function(e){return this.pushStack(et(this,e||[],!1))},is:function(e){return!!et(this,"string"==typeof e&&Q.test(e)?x(e):e||[],!1).length},closest:function(e,t){var n,r=0,i=this.length,o=[],s=Q.test(e)||"string"!=typeof e?x(e,t||this.context):0;for(;i>r;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(11>n.nodeType&&(s?s.index(n)>-1:1===n.nodeType&&x.find.matchesSelector(n,e))){n=o.push(n);break}return this.pushStack(o.length>1?x.unique(o):o)},index:function(e){return e?"string"==typeof e?g.call(x(e),this[0]):g.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?x(e,t):x.makeArray(e&&e.nodeType?[e]:e),r=x.merge(this.get(),n);return this.pushStack(x.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function Z(e,t){while((e=e[t])&&1!==e.nodeType);return e}x.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return x.dir(e,"parentNode")},parentsUntil:function(e,t,n){return x.dir(e,"parentNode",n)},next:function(e){return Z(e,"nextSibling")},prev:function(e){return Z(e,"previousSibling")},nextAll:function(e){return x.dir(e,"nextSibling")},prevAll:function(e){return x.dir(e,"previousSibling")},nextUntil:function(e,t,n){return x.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return x.dir(e,"previousSibling",n)},siblings:function(e){return x.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return x.sibling(e.firstChild)},contents:function(e){return e.contentDocument||x.merge([],e.childNodes)}},function(e,t){x.fn[e]=function(n,r){var i=x.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=x.filter(r,i)),this.length>1&&(K[e]||x.unique(i),J.test(e)&&i.reverse()),this.pushStack(i)}}),x.extend({filter:function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?x.find.matchesSelector(r,e)?[r]:[]:x.find.matches(e,x.grep(t,function(e){return 1===e.nodeType}))},dir:function(e,t,n){var r=[],i=n!==undefined;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&x(e).is(n))break;r.push(e)}return r},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function et(e,t,n){if(x.isFunction(t))return x.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return x.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(G.test(t))return x.filter(t,e,n);t=x.filter(t,e)}return x.grep(e,function(e){return g.call(t,e)>=0!==n})}var tt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,nt=/<([\w:]+)/,rt=/<|&#?\w+;/,it=/<(?:script|style|link)/i,ot=/^(?:checkbox|radio)$/i,st=/checked\s*(?:[^=]|=\s*.checked.)/i,at=/^$|\/(?:java|ecma)script/i,ut=/^true\/(.*)/,lt=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,ct={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};ct.optgroup=ct.option,ct.tbody=ct.tfoot=ct.colgroup=ct.caption=ct.thead,ct.th=ct.td,x.fn.extend({text:function(e){return x.access(this,function(e){return e===undefined?x.text(this):this.empty().append((this[0]&&this[0].ownerDocument||o).createTextNode(e))},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=pt(this,e);t.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=pt(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=e?x.filter(e,this):this,i=0;for(;null!=(n=r[i]);i++)t||1!==n.nodeType||x.cleanData(mt(n)),n.parentNode&&(t&&x.contains(n.ownerDocument,n)&&dt(mt(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++)1===e.nodeType&&(x.cleanData(mt(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return x.clone(this,e,t)})},html:function(e){return x.access(this,function(e){var t=this[0]||{},n=0,r=this.length;if(e===undefined&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!it.test(e)&&!ct[(nt.exec(e)||["",""])[1].toLowerCase()]){e=e.replace(tt,"<$1></$2>");try{for(;r>n;n++)t=this[n]||{},1===t.nodeType&&(x.cleanData(mt(t,!1)),t.innerHTML=e);t=0}catch(i){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=x.map(this,function(e){return[e.nextSibling,e.parentNode]}),t=0;return this.domManip(arguments,function(n){var r=e[t++],i=e[t++];i&&(r&&r.parentNode!==i&&(r=this.nextSibling),x(this).remove(),i.insertBefore(n,r))},!0),t?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(e,t,n){e=f.apply([],e);var r,i,o,s,a,u,l=0,c=this.length,p=this,h=c-1,d=e[0],g=x.isFunction(d);if(g||!(1>=c||"string"!=typeof d||x.support.checkClone)&&st.test(d))return this.each(function(r){var i=p.eq(r);g&&(e[0]=d.call(this,r,i.html())),i.domManip(e,t,n)});if(c&&(r=x.buildFragment(e,this[0].ownerDocument,!1,!n&&this),i=r.firstChild,1===r.childNodes.length&&(r=i),i)){for(o=x.map(mt(r,"script"),ft),s=o.length;c>l;l++)a=r,l!==h&&(a=x.clone(a,!0,!0),s&&x.merge(o,mt(a,"script"))),t.call(this[l],a,l);if(s)for(u=o[o.length-1].ownerDocument,x.map(o,ht),l=0;s>l;l++)a=o[l],at.test(a.type||"")&&!q.access(a,"globalEval")&&x.contains(u,a)&&(a.src?x._evalUrl(a.src):x.globalEval(a.textContent.replace(lt,"")))}return this}}),x.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){x.fn[e]=function(e){var n,r=[],i=x(e),o=i.length-1,s=0;for(;o>=s;s++)n=s===o?this:this.clone(!0),x(i[s])[t](n),h.apply(r,n.get());return this.pushStack(r)}}),x.extend({clone:function(e,t,n){var r,i,o,s,a=e.cloneNode(!0),u=x.contains(e.ownerDocument,e);if(!(x.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||x.isXMLDoc(e)))for(s=mt(a),o=mt(e),r=0,i=o.length;i>r;r++)yt(o[r],s[r]);if(t)if(n)for(o=o||mt(e),s=s||mt(a),r=0,i=o.length;i>r;r++)gt(o[r],s[r]);else gt(e,a);return s=mt(a,"script"),s.length>0&&dt(s,!u&&mt(e,"script")),a},buildFragment:function(e,t,n,r){var i,o,s,a,u,l,c=0,p=e.length,f=t.createDocumentFragment(),h=[];for(;p>c;c++)if(i=e[c],i||0===i)if("object"===x.type(i))x.merge(h,i.nodeType?[i]:i);else if(rt.test(i)){o=o||f.appendChild(t.createElement("div")),s=(nt.exec(i)||["",""])[1].toLowerCase(),a=ct[s]||ct._default,o.innerHTML=a[1]+i.replace(tt,"<$1></$2>")+a[2],l=a[0];while(l--)o=o.lastChild;x.merge(h,o.childNodes),o=f.firstChild,o.textContent=""}else h.push(t.createTextNode(i));f.textContent="",c=0;while(i=h[c++])if((!r||-1===x.inArray(i,r))&&(u=x.contains(i.ownerDocument,i),o=mt(f.appendChild(i),"script"),u&&dt(o),n)){l=0;while(i=o[l++])at.test(i.type||"")&&n.push(i)}return f},cleanData:function(e){var t,n,r,i,o,s,a=x.event.special,u=0;for(;(n=e[u])!==undefined;u++){if(F.accepts(n)&&(o=n[q.expando],o&&(t=q.cache[o]))){if(r=Object.keys(t.events||{}),r.length)for(s=0;(i=r[s])!==undefined;s++)a[i]?x.event.remove(n,i):x.removeEvent(n,i,t.handle);q.cache[o]&&delete q.cache[o]}delete L.cache[n[L.expando]]}},_evalUrl:function(e){return x.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})}});function pt(e,t){return x.nodeName(e,"table")&&x.nodeName(1===t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function ft(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function ht(e){var t=ut.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function dt(e,t){var n=e.length,r=0;for(;n>r;r++)q.set(e[r],"globalEval",!t||q.get(t[r],"globalEval"))}function gt(e,t){var n,r,i,o,s,a,u,l;if(1===t.nodeType){if(q.hasData(e)&&(o=q.access(e),s=q.set(t,o),l=o.events)){delete s.handle,s.events={};for(i in l)for(n=0,r=l[i].length;r>n;n++)x.event.add(t,i,l[i][n])}L.hasData(e)&&(a=L.access(e),u=x.extend({},a),L.set(t,u))}}function mt(e,t){var n=e.getElementsByTagName?e.getElementsByTagName(t||"*"):e.querySelectorAll?e.querySelectorAll(t||"*"):[];return t===undefined||t&&x.nodeName(e,t)?x.merge([e],n):n}function yt(e,t){var n=t.nodeName.toLowerCase();"input"===n&&ot.test(e.type)?t.checked=e.checked:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}x.fn.extend({wrapAll:function(e){var t;return x.isFunction(e)?this.each(function(t){x(this).wrapAll(e.call(this,t))}):(this[0]&&(t=x(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this)},wrapInner:function(e){return x.isFunction(e)?this.each(function(t){x(this).wrapInner(e.call(this,t))}):this.each(function(){var t=x(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=x.isFunction(e);return this.each(function(n){x(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){x.nodeName(this,"body")||x(this).replaceWith(this.childNodes)}).end()}});var vt,xt,bt=/^(none|table(?!-c[ea]).+)/,wt=/^margin/,Tt=RegExp("^("+b+")(.*)$","i"),Ct=RegExp("^("+b+")(?!px)[a-z%]+$","i"),kt=RegExp("^([+-])=("+b+")","i"),Nt={BODY:"block"},Et={position:"absolute",visibility:"hidden",display:"block"},St={letterSpacing:0,fontWeight:400},jt=["Top","Right","Bottom","Left"],Dt=["Webkit","O","Moz","ms"];function At(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=Dt.length;while(i--)if(t=Dt[i]+n,t in e)return t;return r}function Lt(e,t){return e=t||e,"none"===x.css(e,"display")||!x.contains(e.ownerDocument,e)}function qt(t){return e.getComputedStyle(t,null)}function Ht(e,t){var n,r,i,o=[],s=0,a=e.length;for(;a>s;s++)r=e[s],r.style&&(o[s]=q.get(r,"olddisplay"),n=r.style.display,t?(o[s]||"none"!==n||(r.style.display=""),""===r.style.display&&Lt(r)&&(o[s]=q.access(r,"olddisplay",Rt(r.nodeName)))):o[s]||(i=Lt(r),(n&&"none"!==n||!i)&&q.set(r,"olddisplay",i?n:x.css(r,"display"))));for(s=0;a>s;s++)r=e[s],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[s]||"":"none"));return e}x.fn.extend({css:function(e,t){return x.access(this,function(e,t,n){var r,i,o={},s=0;if(x.isArray(t)){for(r=qt(e),i=t.length;i>s;s++)o[t[s]]=x.css(e,t[s],!1,r);return o}return n!==undefined?x.style(e,t,n):x.css(e,t)},e,t,arguments.length>1)},show:function(){return Ht(this,!0)},hide:function(){return Ht(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){Lt(this)?x(this).show():x(this).hide()})}}),x.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=vt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,s,a=x.camelCase(t),u=e.style;return t=x.cssProps[a]||(x.cssProps[a]=At(u,a)),s=x.cssHooks[t]||x.cssHooks[a],n===undefined?s&&"get"in s&&(i=s.get(e,!1,r))!==undefined?i:u[t]:(o=typeof n,"string"===o&&(i=kt.exec(n))&&(n=(i[1]+1)*i[2]+parseFloat(x.css(e,t)),o="number"),null==n||"number"===o&&isNaN(n)||("number"!==o||x.cssNumber[a]||(n+="px"),x.support.clearCloneStyle||""!==n||0!==t.indexOf("background")||(u[t]="inherit"),s&&"set"in s&&(n=s.set(e,n,r))===undefined||(u[t]=n)),undefined)}},css:function(e,t,n,r){var i,o,s,a=x.camelCase(t);return t=x.cssProps[a]||(x.cssProps[a]=At(e.style,a)),s=x.cssHooks[t]||x.cssHooks[a],s&&"get"in s&&(i=s.get(e,!0,n)),i===undefined&&(i=vt(e,t,r)),"normal"===i&&t in St&&(i=St[t]),""===n||n?(o=parseFloat(i),n===!0||x.isNumeric(o)?o||0:i):i}}),vt=function(e,t,n){var r,i,o,s=n||qt(e),a=s?s.getPropertyValue(t)||s[t]:undefined,u=e.style;return s&&(""!==a||x.contains(e.ownerDocument,e)||(a=x.style(e,t)),Ct.test(a)&&wt.test(t)&&(r=u.width,i=u.minWidth,o=u.maxWidth,u.minWidth=u.maxWidth=u.width=a,a=s.width,u.width=r,u.minWidth=i,u.maxWidth=o)),a};function Ot(e,t,n){var r=Tt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function Ft(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,s=0;for(;4>o;o+=2)"margin"===n&&(s+=x.css(e,n+jt[o],!0,i)),r?("content"===n&&(s-=x.css(e,"padding"+jt[o],!0,i)),"margin"!==n&&(s-=x.css(e,"border"+jt[o]+"Width",!0,i))):(s+=x.css(e,"padding"+jt[o],!0,i),"padding"!==n&&(s+=x.css(e,"border"+jt[o]+"Width",!0,i)));return s}function Pt(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=qt(e),s=x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=vt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Ct.test(i))return i;r=s&&(x.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+Ft(e,t,n||(s?"border":"content"),r,o)+"px"}function Rt(e){var t=o,n=Nt[e];return n||(n=Mt(e,t),"none"!==n&&n||(xt=(xt||x("<iframe frameborder='0' width='0' height='0'/>").css("cssText","display:block !important")).appendTo(t.documentElement),t=(xt[0].contentWindow||xt[0].contentDocument).document,t.write("<!doctype html><html><body>"),t.close(),n=Mt(e,t),xt.detach()),Nt[e]=n),n}function Mt(e,t){var n=x(t.createElement(e)).appendTo(t.body),r=x.css(n[0],"display");return n.remove(),r}x.each(["height","width"],function(e,t){x.cssHooks[t]={get:function(e,n,r){return n?0===e.offsetWidth&&bt.test(x.css(e,"display"))?x.swap(e,Et,function(){return Pt(e,t,r)}):Pt(e,t,r):undefined},set:function(e,n,r){var i=r&&qt(e);return Ot(e,n,r?Ft(e,t,r,x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,i),i):0)}}}),x(function(){x.support.reliableMarginRight||(x.cssHooks.marginRight={get:function(e,t){return t?x.swap(e,{display:"inline-block"},vt,[e,"marginRight"]):undefined}}),!x.support.pixelPosition&&x.fn.position&&x.each(["top","left"],function(e,t){x.cssHooks[t]={get:function(e,n){return n?(n=vt(e,t),Ct.test(n)?x(e).position()[t]+"px":n):undefined}}})}),x.expr&&x.expr.filters&&(x.expr.filters.hidden=function(e){return 0>=e.offsetWidth&&0>=e.offsetHeight},x.expr.filters.visible=function(e){return!x.expr.filters.hidden(e)}),x.each({margin:"",padding:"",border:"Width"},function(e,t){x.cssHooks[e+t]={expand:function(n){var r=0,i={},o="string"==typeof n?n.split(" "):[n];for(;4>r;r++)i[e+jt[r]+t]=o[r]||o[r-2]||o[0];return i}},wt.test(e)||(x.cssHooks[e+t].set=Ot)});var Wt=/%20/g,$t=/\[\]$/,Bt=/\r?\n/g,It=/^(?:submit|button|image|reset|file)$/i,zt=/^(?:input|select|textarea|keygen)/i;x.fn.extend({serialize:function(){return x.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=x.prop(this,"elements");return e?x.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!x(this).is(":disabled")&&zt.test(this.nodeName)&&!It.test(e)&&(this.checked||!ot.test(e))}).map(function(e,t){var n=x(this).val();return null==n?null:x.isArray(n)?x.map(n,function(e){return{name:t.name,value:e.replace(Bt,"\r\n")}}):{name:t.name,value:n.replace(Bt,"\r\n")}}).get()}}),x.param=function(e,t){var n,r=[],i=function(e,t){t=x.isFunction(t)?t():null==t?"":t,r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(t===undefined&&(t=x.ajaxSettings&&x.ajaxSettings.traditional),x.isArray(e)||e.jquery&&!x.isPlainObject(e))x.each(e,function(){i(this.name,this.value)});else for(n in e)_t(n,e[n],t,i);return r.join("&").replace(Wt,"+")};function _t(e,t,n,r){var i;if(x.isArray(t))x.each(t,function(t,i){n||$t.test(e)?r(e,i):_t(e+"["+("object"==typeof i?t:"")+"]",i,n,r)});else if(n||"object"!==x.type(t))r(e,t);else for(i in t)_t(e+"["+i+"]",t[i],n,r)}x.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){x.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),x.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t) +},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}});var Xt,Ut,Yt=x.now(),Vt=/\?/,Gt=/#.*$/,Jt=/([?&])_=[^&]*/,Qt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Kt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Zt=/^(?:GET|HEAD)$/,en=/^\/\//,tn=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,nn=x.fn.load,rn={},on={},sn="*/".concat("*");try{Ut=i.href}catch(an){Ut=o.createElement("a"),Ut.href="",Ut=Ut.href}Xt=tn.exec(Ut.toLowerCase())||[];function un(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(w)||[];if(x.isFunction(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function ln(e,t,n,r){var i={},o=e===on;function s(a){var u;return i[a]=!0,x.each(e[a]||[],function(e,a){var l=a(t,n,r);return"string"!=typeof l||o||i[l]?o?!(u=l):undefined:(t.dataTypes.unshift(l),s(l),!1)}),u}return s(t.dataTypes[0])||!i["*"]&&s("*")}function cn(e,t){var n,r,i=x.ajaxSettings.flatOptions||{};for(n in t)t[n]!==undefined&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&x.extend(!0,e,r),e}x.fn.load=function(e,t,n){if("string"!=typeof e&&nn)return nn.apply(this,arguments);var r,i,o,s=this,a=e.indexOf(" ");return a>=0&&(r=e.slice(a),e=e.slice(0,a)),x.isFunction(t)?(n=t,t=undefined):t&&"object"==typeof t&&(i="POST"),s.length>0&&x.ajax({url:e,type:i,dataType:"html",data:t}).done(function(e){o=arguments,s.html(r?x("<div>").append(x.parseHTML(e)).find(r):e)}).complete(n&&function(e,t){s.each(n,o||[e.responseText,t,e])}),this},x.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){x.fn[t]=function(e){return this.on(t,e)}}),x.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ut,type:"GET",isLocal:Kt.test(Xt[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":sn,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":x.parseJSON,"text xml":x.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?cn(cn(e,x.ajaxSettings),t):cn(x.ajaxSettings,e)},ajaxPrefilter:un(rn),ajaxTransport:un(on),ajax:function(e,t){"object"==typeof e&&(t=e,e=undefined),t=t||{};var n,r,i,o,s,a,u,l,c=x.ajaxSetup({},t),p=c.context||c,f=c.context&&(p.nodeType||p.jquery)?x(p):x.event,h=x.Deferred(),d=x.Callbacks("once memory"),g=c.statusCode||{},m={},y={},v=0,b="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(2===v){if(!o){o={};while(t=Qt.exec(i))o[t[1].toLowerCase()]=t[2]}t=o[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===v?i:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return v||(e=y[n]=y[n]||e,m[e]=t),this},overrideMimeType:function(e){return v||(c.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>v)for(t in e)g[t]=[g[t],e[t]];else T.always(e[T.status]);return this},abort:function(e){var t=e||b;return n&&n.abort(t),k(0,t),this}};if(h.promise(T).complete=d.add,T.success=T.done,T.error=T.fail,c.url=((e||c.url||Ut)+"").replace(Gt,"").replace(en,Xt[1]+"//"),c.type=t.method||t.type||c.method||c.type,c.dataTypes=x.trim(c.dataType||"*").toLowerCase().match(w)||[""],null==c.crossDomain&&(a=tn.exec(c.url.toLowerCase()),c.crossDomain=!(!a||a[1]===Xt[1]&&a[2]===Xt[2]&&(a[3]||("http:"===a[1]?"80":"443"))===(Xt[3]||("http:"===Xt[1]?"80":"443")))),c.data&&c.processData&&"string"!=typeof c.data&&(c.data=x.param(c.data,c.traditional)),ln(rn,c,t,T),2===v)return T;u=c.global,u&&0===x.active++&&x.event.trigger("ajaxStart"),c.type=c.type.toUpperCase(),c.hasContent=!Zt.test(c.type),r=c.url,c.hasContent||(c.data&&(r=c.url+=(Vt.test(r)?"&":"?")+c.data,delete c.data),c.cache===!1&&(c.url=Jt.test(r)?r.replace(Jt,"$1_="+Yt++):r+(Vt.test(r)?"&":"?")+"_="+Yt++)),c.ifModified&&(x.lastModified[r]&&T.setRequestHeader("If-Modified-Since",x.lastModified[r]),x.etag[r]&&T.setRequestHeader("If-None-Match",x.etag[r])),(c.data&&c.hasContent&&c.contentType!==!1||t.contentType)&&T.setRequestHeader("Content-Type",c.contentType),T.setRequestHeader("Accept",c.dataTypes[0]&&c.accepts[c.dataTypes[0]]?c.accepts[c.dataTypes[0]]+("*"!==c.dataTypes[0]?", "+sn+"; q=0.01":""):c.accepts["*"]);for(l in c.headers)T.setRequestHeader(l,c.headers[l]);if(c.beforeSend&&(c.beforeSend.call(p,T,c)===!1||2===v))return T.abort();b="abort";for(l in{success:1,error:1,complete:1})T[l](c[l]);if(n=ln(on,c,t,T)){T.readyState=1,u&&f.trigger("ajaxSend",[T,c]),c.async&&c.timeout>0&&(s=setTimeout(function(){T.abort("timeout")},c.timeout));try{v=1,n.send(m,k)}catch(C){if(!(2>v))throw C;k(-1,C)}}else k(-1,"No Transport");function k(e,t,o,a){var l,m,y,b,w,C=t;2!==v&&(v=2,s&&clearTimeout(s),n=undefined,i=a||"",T.readyState=e>0?4:0,l=e>=200&&300>e||304===e,o&&(b=pn(c,T,o)),b=fn(c,b,T,l),l?(c.ifModified&&(w=T.getResponseHeader("Last-Modified"),w&&(x.lastModified[r]=w),w=T.getResponseHeader("etag"),w&&(x.etag[r]=w)),204===e||"HEAD"===c.type?C="nocontent":304===e?C="notmodified":(C=b.state,m=b.data,y=b.error,l=!y)):(y=C,(e||!C)&&(C="error",0>e&&(e=0))),T.status=e,T.statusText=(t||C)+"",l?h.resolveWith(p,[m,C,T]):h.rejectWith(p,[T,C,y]),T.statusCode(g),g=undefined,u&&f.trigger(l?"ajaxSuccess":"ajaxError",[T,c,l?m:y]),d.fireWith(p,[T,C]),u&&(f.trigger("ajaxComplete",[T,c]),--x.active||x.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return x.get(e,t,n,"json")},getScript:function(e,t){return x.get(e,undefined,t,"script")}}),x.each(["get","post"],function(e,t){x[t]=function(e,n,r,i){return x.isFunction(n)&&(i=i||r,r=n,n=undefined),x.ajax({url:e,type:t,dataType:i,data:n,success:r})}});function pn(e,t,n){var r,i,o,s,a=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),r===undefined&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in a)if(a[i]&&a[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}s||(s=i)}o=o||s}return o?(o!==u[0]&&u.unshift(o),n[o]):undefined}function fn(e,t,n,r){var i,o,s,a,u,l={},c=e.dataTypes.slice();if(c[1])for(s in e.converters)l[s.toLowerCase()]=e.converters[s];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(s=l[u+" "+o]||l["* "+o],!s)for(i in l)if(a=i.split(" "),a[1]===o&&(s=l[u+" "+a[0]]||l["* "+a[0]])){s===!0?s=l[i]:l[i]!==!0&&(o=a[0],c.unshift(a[1]));break}if(s!==!0)if(s&&e["throws"])t=s(t);else try{t=s(t)}catch(p){return{state:"parsererror",error:s?p:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}x.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return x.globalEval(e),e}}}),x.ajaxPrefilter("script",function(e){e.cache===undefined&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),x.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(r,i){t=x("<script>").prop({async:!0,charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&i("error"===e.type?404:200,e.type)}),o.head.appendChild(t[0])},abort:function(){n&&n()}}}});var hn=[],dn=/(=)\?(?=&|$)|\?\?/;x.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=hn.pop()||x.expando+"_"+Yt++;return this[e]=!0,e}}),x.ajaxPrefilter("json jsonp",function(t,n,r){var i,o,s,a=t.jsonp!==!1&&(dn.test(t.url)?"url":"string"==typeof t.data&&!(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&dn.test(t.data)&&"data");return a||"jsonp"===t.dataTypes[0]?(i=t.jsonpCallback=x.isFunction(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,a?t[a]=t[a].replace(dn,"$1"+i):t.jsonp!==!1&&(t.url+=(Vt.test(t.url)?"&":"?")+t.jsonp+"="+i),t.converters["script json"]=function(){return s||x.error(i+" was not called"),s[0]},t.dataTypes[0]="json",o=e[i],e[i]=function(){s=arguments},r.always(function(){e[i]=o,t[i]&&(t.jsonpCallback=n.jsonpCallback,hn.push(i)),s&&x.isFunction(o)&&o(s[0]),s=o=undefined}),"script"):undefined}),x.ajaxSettings.xhr=function(){try{return new XMLHttpRequest}catch(e){}};var gn=x.ajaxSettings.xhr(),mn={0:200,1223:204},yn=0,vn={};e.ActiveXObject&&x(e).on("unload",function(){for(var e in vn)vn[e]();vn=undefined}),x.support.cors=!!gn&&"withCredentials"in gn,x.support.ajax=gn=!!gn,x.ajaxTransport(function(e){var t;return x.support.cors||gn&&!e.crossDomain?{send:function(n,r){var i,o,s=e.xhr();if(s.open(e.type,e.url,e.async,e.username,e.password),e.xhrFields)for(i in e.xhrFields)s[i]=e.xhrFields[i];e.mimeType&&s.overrideMimeType&&s.overrideMimeType(e.mimeType),e.crossDomain||n["X-Requested-With"]||(n["X-Requested-With"]="XMLHttpRequest");for(i in n)s.setRequestHeader(i,n[i]);t=function(e){return function(){t&&(delete vn[o],t=s.onload=s.onerror=null,"abort"===e?s.abort():"error"===e?r(s.status||404,s.statusText):r(mn[s.status]||s.status,s.statusText,"string"==typeof s.responseText?{text:s.responseText}:undefined,s.getAllResponseHeaders()))}},s.onload=t(),s.onerror=t("error"),t=vn[o=yn++]=t("abort"),s.send(e.hasContent&&e.data||null)},abort:function(){t&&t()}}:undefined});var xn,bn,wn=/^(?:toggle|show|hide)$/,Tn=RegExp("^(?:([+-])=|)("+b+")([a-z%]*)$","i"),Cn=/queueHooks$/,kn=[An],Nn={"*":[function(e,t){var n=this.createTween(e,t),r=n.cur(),i=Tn.exec(t),o=i&&i[3]||(x.cssNumber[e]?"":"px"),s=(x.cssNumber[e]||"px"!==o&&+r)&&Tn.exec(x.css(n.elem,e)),a=1,u=20;if(s&&s[3]!==o){o=o||s[3],i=i||[],s=+r||1;do a=a||".5",s/=a,x.style(n.elem,e,s+o);while(a!==(a=n.cur()/r)&&1!==a&&--u)}return i&&(s=n.start=+s||+r||0,n.unit=o,n.end=i[1]?s+(i[1]+1)*i[2]:+i[2]),n}]};function En(){return setTimeout(function(){xn=undefined}),xn=x.now()}function Sn(e,t,n){var r,i=(Nn[t]||[]).concat(Nn["*"]),o=0,s=i.length;for(;s>o;o++)if(r=i[o].call(n,t,e))return r}function jn(e,t,n){var r,i,o=0,s=kn.length,a=x.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;var t=xn||En(),n=Math.max(0,l.startTime+l.duration-t),r=n/l.duration||0,o=1-r,s=0,u=l.tweens.length;for(;u>s;s++)l.tweens[s].run(o);return a.notifyWith(e,[l,o,n]),1>o&&u?n:(a.resolveWith(e,[l]),!1)},l=a.promise({elem:e,props:x.extend({},t),opts:x.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:xn||En(),duration:n.duration,tweens:[],createTween:function(t,n){var r=x.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)l.tweens[n].run(1);return t?a.resolveWith(e,[l,t]):a.rejectWith(e,[l,t]),this}}),c=l.props;for(Dn(c,l.opts.specialEasing);s>o;o++)if(r=kn[o].call(l,e,c,l.opts))return r;return x.map(c,Sn,l),x.isFunction(l.opts.start)&&l.opts.start.call(e,l),x.fx.timer(x.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always)}function Dn(e,t){var n,r,i,o,s;for(n in e)if(r=x.camelCase(n),i=t[r],o=e[n],x.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),s=x.cssHooks[r],s&&"expand"in s){o=s.expand(o),delete e[r];for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[r]=i}x.Animation=x.extend(jn,{tweener:function(e,t){x.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;i>r;r++)n=e[r],Nn[n]=Nn[n]||[],Nn[n].unshift(t)},prefilter:function(e,t){t?kn.unshift(e):kn.push(e)}});function An(e,t,n){var r,i,o,s,a,u,l=this,c={},p=e.style,f=e.nodeType&&Lt(e),h=q.get(e,"fxshow");n.queue||(a=x._queueHooks(e,"fx"),null==a.unqueued&&(a.unqueued=0,u=a.empty.fire,a.empty.fire=function(){a.unqueued||u()}),a.unqueued++,l.always(function(){l.always(function(){a.unqueued--,x.queue(e,"fx").length||a.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[p.overflow,p.overflowX,p.overflowY],"inline"===x.css(e,"display")&&"none"===x.css(e,"float")&&(p.display="inline-block")),n.overflow&&(p.overflow="hidden",l.always(function(){p.overflow=n.overflow[0],p.overflowX=n.overflow[1],p.overflowY=n.overflow[2]}));for(r in t)if(i=t[r],wn.exec(i)){if(delete t[r],o=o||"toggle"===i,i===(f?"hide":"show")){if("show"!==i||!h||h[r]===undefined)continue;f=!0}c[r]=h&&h[r]||x.style(e,r)}if(!x.isEmptyObject(c)){h?"hidden"in h&&(f=h.hidden):h=q.access(e,"fxshow",{}),o&&(h.hidden=!f),f?x(e).show():l.done(function(){x(e).hide()}),l.done(function(){var t;q.remove(e,"fxshow");for(t in c)x.style(e,t,c[t])});for(r in c)s=Sn(f?h[r]:0,r,l),r in h||(h[r]=s.start,f&&(s.end=s.start,s.start="width"===r||"height"===r?1:0))}}function Ln(e,t,n,r,i){return new Ln.prototype.init(e,t,n,r,i)}x.Tween=Ln,Ln.prototype={constructor:Ln,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(x.cssNumber[n]?"":"px")},cur:function(){var e=Ln.propHooks[this.prop];return e&&e.get?e.get(this):Ln.propHooks._default.get(this)},run:function(e){var t,n=Ln.propHooks[this.prop];return this.pos=t=this.options.duration?x.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Ln.propHooks._default.set(this),this}},Ln.prototype.init.prototype=Ln.prototype,Ln.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=x.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){x.fx.step[e.prop]?x.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[x.cssProps[e.prop]]||x.cssHooks[e.prop])?x.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},Ln.propHooks.scrollTop=Ln.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},x.each(["toggle","show","hide"],function(e,t){var n=x.fn[t];x.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(qn(t,!0),e,r,i)}}),x.fn.extend({fadeTo:function(e,t,n,r){return this.filter(Lt).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=x.isEmptyObject(e),o=x.speed(t,n,r),s=function(){var t=jn(this,x.extend({},e),o);(i||q.get(this,"finish"))&&t.stop(!0)};return s.finish=s,i||o.queue===!1?this.each(s):this.queue(o.queue,s)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=undefined),t&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,i=null!=e&&e+"queueHooks",o=x.timers,s=q.get(this);if(i)s[i]&&s[i].stop&&r(s[i]);else for(i in s)s[i]&&s[i].stop&&Cn.test(i)&&r(s[i]);for(i=o.length;i--;)o[i].elem!==this||null!=e&&o[i].queue!==e||(o[i].anim.stop(n),t=!1,o.splice(i,1));(t||!n)&&x.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=q.get(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=x.timers,s=r?r.length:0;for(n.finish=!0,x.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;s>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}});function qn(e,t){var n,r={height:e},i=0;for(t=t?1:0;4>i;i+=2-t)n=jt[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}x.each({slideDown:qn("show"),slideUp:qn("hide"),slideToggle:qn("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){x.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),x.speed=function(e,t,n){var r=e&&"object"==typeof e?x.extend({},e):{complete:n||!n&&t||x.isFunction(e)&&e,duration:e,easing:n&&t||t&&!x.isFunction(t)&&t};return r.duration=x.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in x.fx.speeds?x.fx.speeds[r.duration]:x.fx.speeds._default,(null==r.queue||r.queue===!0)&&(r.queue="fx"),r.old=r.complete,r.complete=function(){x.isFunction(r.old)&&r.old.call(this),r.queue&&x.dequeue(this,r.queue)},r},x.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},x.timers=[],x.fx=Ln.prototype.init,x.fx.tick=function(){var e,t=x.timers,n=0;for(xn=x.now();t.length>n;n++)e=t[n],e()||t[n]!==e||t.splice(n--,1);t.length||x.fx.stop(),xn=undefined},x.fx.timer=function(e){e()&&x.timers.push(e)&&x.fx.start()},x.fx.interval=13,x.fx.start=function(){bn||(bn=setInterval(x.fx.tick,x.fx.interval))},x.fx.stop=function(){clearInterval(bn),bn=null},x.fx.speeds={slow:600,fast:200,_default:400},x.fx.step={},x.expr&&x.expr.filters&&(x.expr.filters.animated=function(e){return x.grep(x.timers,function(t){return e===t.elem}).length}),x.fn.offset=function(e){if(arguments.length)return e===undefined?this:this.each(function(t){x.offset.setOffset(this,e,t)});var t,n,i=this[0],o={top:0,left:0},s=i&&i.ownerDocument;if(s)return t=s.documentElement,x.contains(t,i)?(typeof i.getBoundingClientRect!==r&&(o=i.getBoundingClientRect()),n=Hn(s),{top:o.top+n.pageYOffset-t.clientTop,left:o.left+n.pageXOffset-t.clientLeft}):o},x.offset={setOffset:function(e,t,n){var r,i,o,s,a,u,l,c=x.css(e,"position"),p=x(e),f={};"static"===c&&(e.style.position="relative"),a=p.offset(),o=x.css(e,"top"),u=x.css(e,"left"),l=("absolute"===c||"fixed"===c)&&(o+u).indexOf("auto")>-1,l?(r=p.position(),s=r.top,i=r.left):(s=parseFloat(o)||0,i=parseFloat(u)||0),x.isFunction(t)&&(t=t.call(e,n,a)),null!=t.top&&(f.top=t.top-a.top+s),null!=t.left&&(f.left=t.left-a.left+i),"using"in t?t.using.call(e,f):p.css(f)}},x.fn.extend({position:function(){if(this[0]){var e,t,n=this[0],r={top:0,left:0};return"fixed"===x.css(n,"position")?t=n.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),x.nodeName(e[0],"html")||(r=e.offset()),r.top+=x.css(e[0],"borderTopWidth",!0),r.left+=x.css(e[0],"borderLeftWidth",!0)),{top:t.top-r.top-x.css(n,"marginTop",!0),left:t.left-r.left-x.css(n,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||s;while(e&&!x.nodeName(e,"html")&&"static"===x.css(e,"position"))e=e.offsetParent;return e||s})}}),x.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,n){var r="pageYOffset"===n;x.fn[t]=function(i){return x.access(this,function(t,i,o){var s=Hn(t);return o===undefined?s?s[n]:t[i]:(s?s.scrollTo(r?e.pageXOffset:o,r?o:e.pageYOffset):t[i]=o,undefined)},t,i,arguments.length,null)}});function Hn(e){return x.isWindow(e)?e:9===e.nodeType&&e.defaultView}x.each({Height:"height",Width:"width"},function(e,t){x.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){x.fn[r]=function(r,i){var o=arguments.length&&(n||"boolean"!=typeof r),s=n||(r===!0||i===!0?"margin":"border");return x.access(this,function(t,n,r){var i;return x.isWindow(t)?t.document.documentElement["client"+e]:9===t.nodeType?(i=t.documentElement,Math.max(t.body["scroll"+e],i["scroll"+e],t.body["offset"+e],i["offset"+e],i["client"+e])):r===undefined?x.css(t,n,s):x.style(t,n,r,s)},t,o?r:undefined,o,null)}})}),x.fn.size=function(){return this.length},x.fn.andSelf=x.fn.addBack,"object"==typeof module&&module&&"object"==typeof module.exports?module.exports=x:"function"==typeof define&&define.amd&&define("jquery",[],function(){return x}),"object"==typeof e&&"object"==typeof e.document&&(e.jQuery=e.$=x)})(window); diff --git a/src/main/webapp/static/login/assets/js/jquery-ui-1.10.3.custom.min.js b/src/main/webapp/static/login/assets/js/jquery-ui-1.10.3.custom.min.js new file mode 100644 index 0000000..4a771ee --- /dev/null +++ b/src/main/webapp/static/login/assets/js/jquery-ui-1.10.3.custom.min.js @@ -0,0 +1,6 @@ +/*! jQuery UI - v1.10.3 - 2013-07-07 +* http://jqueryui.com +* Includes: jquery.ui.core.js, jquery.ui.widget.js, jquery.ui.mouse.js, jquery.ui.draggable.js, jquery.ui.droppable.js, jquery.ui.resizable.js, jquery.ui.selectable.js, jquery.ui.sortable.js, jquery.ui.slider.js +* Copyright 2013 jQuery Foundation and other contributors Licensed MIT */ + +(function(e,t){function i(t,i){var a,n,r,o=t.nodeName.toLowerCase();return"area"===o?(a=t.parentNode,n=a.name,t.href&&n&&"map"===a.nodeName.toLowerCase()?(r=e("img[usemap=#"+n+"]")[0],!!r&&s(r)):!1):(/input|select|textarea|button|object/.test(o)?!t.disabled:"a"===o?t.href||i:i)&&s(t)}function s(t){return e.expr.filters.visible(t)&&!e(t).parents().addBack().filter(function(){return"hidden"===e.css(this,"visibility")}).length}var a=0,n=/^ui-id-\d+$/;e.ui=e.ui||{},e.extend(e.ui,{version:"1.10.3",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),e.fn.extend({focus:function(t){return function(i,s){return"number"==typeof i?this.each(function(){var t=this;setTimeout(function(){e(t).focus(),s&&s.call(t)},i)}):t.apply(this,arguments)}}(e.fn.focus),scrollParent:function(){var t;return t=e.ui.ie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(e.css(this,"position"))&&/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0),/fixed/.test(this.css("position"))||!t.length?e(document):t},zIndex:function(i){if(i!==t)return this.css("zIndex",i);if(this.length)for(var s,a,n=e(this[0]);n.length&&n[0]!==document;){if(s=n.css("position"),("absolute"===s||"relative"===s||"fixed"===s)&&(a=parseInt(n.css("zIndex"),10),!isNaN(a)&&0!==a))return a;n=n.parent()}return 0},uniqueId:function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++a)})},removeUniqueId:function(){return this.each(function(){n.test(this.id)&&e(this).removeAttr("id")})}}),e.extend(e.expr[":"],{data:e.expr.createPseudo?e.expr.createPseudo(function(t){return function(i){return!!e.data(i,t)}}):function(t,i,s){return!!e.data(t,s[3])},focusable:function(t){return i(t,!isNaN(e.attr(t,"tabindex")))},tabbable:function(t){var s=e.attr(t,"tabindex"),a=isNaN(s);return(a||s>=0)&&i(t,!a)}}),e("<a>").outerWidth(1).jquery||e.each(["Width","Height"],function(i,s){function a(t,i,s,a){return e.each(n,function(){i-=parseFloat(e.css(t,"padding"+this))||0,s&&(i-=parseFloat(e.css(t,"border"+this+"Width"))||0),a&&(i-=parseFloat(e.css(t,"margin"+this))||0)}),i}var n="Width"===s?["Left","Right"]:["Top","Bottom"],r=s.toLowerCase(),o={innerWidth:e.fn.innerWidth,innerHeight:e.fn.innerHeight,outerWidth:e.fn.outerWidth,outerHeight:e.fn.outerHeight};e.fn["inner"+s]=function(i){return i===t?o["inner"+s].call(this):this.each(function(){e(this).css(r,a(this,i)+"px")})},e.fn["outer"+s]=function(t,i){return"number"!=typeof t?o["outer"+s].call(this,t):this.each(function(){e(this).css(r,a(this,t,!0,i)+"px")})}}),e.fn.addBack||(e.fn.addBack=function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}),e("<a>").data("a-b","a").removeData("a-b").data("a-b")&&(e.fn.removeData=function(t){return function(i){return arguments.length?t.call(this,e.camelCase(i)):t.call(this)}}(e.fn.removeData)),e.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),e.support.selectstart="onselectstart"in document.createElement("div"),e.fn.extend({disableSelection:function(){return this.bind((e.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),e.extend(e.ui,{plugin:{add:function(t,i,s){var a,n=e.ui[t].prototype;for(a in s)n.plugins[a]=n.plugins[a]||[],n.plugins[a].push([i,s[a]])},call:function(e,t,i){var s,a=e.plugins[t];if(a&&e.element[0].parentNode&&11!==e.element[0].parentNode.nodeType)for(s=0;a.length>s;s++)e.options[a[s][0]]&&a[s][1].apply(e.element,i)}},hasScroll:function(t,i){if("hidden"===e(t).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",a=!1;return t[s]>0?!0:(t[s]=1,a=t[s]>0,t[s]=0,a)}})})(jQuery);(function(e,t){var i=0,s=Array.prototype.slice,n=e.cleanData;e.cleanData=function(t){for(var i,s=0;null!=(i=t[s]);s++)try{e(i).triggerHandler("remove")}catch(a){}n(t)},e.widget=function(i,s,n){var a,r,o,h,l={},u=i.split(".")[0];i=i.split(".")[1],a=u+"-"+i,n||(n=s,s=e.Widget),e.expr[":"][a.toLowerCase()]=function(t){return!!e.data(t,a)},e[u]=e[u]||{},r=e[u][i],o=e[u][i]=function(e,i){return this._createWidget?(arguments.length&&this._createWidget(e,i),t):new o(e,i)},e.extend(o,r,{version:n.version,_proto:e.extend({},n),_childConstructors:[]}),h=new s,h.options=e.widget.extend({},h.options),e.each(n,function(i,n){return e.isFunction(n)?(l[i]=function(){var e=function(){return s.prototype[i].apply(this,arguments)},t=function(e){return s.prototype[i].apply(this,e)};return function(){var i,s=this._super,a=this._superApply;return this._super=e,this._superApply=t,i=n.apply(this,arguments),this._super=s,this._superApply=a,i}}(),t):(l[i]=n,t)}),o.prototype=e.widget.extend(h,{widgetEventPrefix:r?h.widgetEventPrefix:i},l,{constructor:o,namespace:u,widgetName:i,widgetFullName:a}),r?(e.each(r._childConstructors,function(t,i){var s=i.prototype;e.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete r._childConstructors):s._childConstructors.push(o),e.widget.bridge(i,o)},e.widget.extend=function(i){for(var n,a,r=s.call(arguments,1),o=0,h=r.length;h>o;o++)for(n in r[o])a=r[o][n],r[o].hasOwnProperty(n)&&a!==t&&(i[n]=e.isPlainObject(a)?e.isPlainObject(i[n])?e.widget.extend({},i[n],a):e.widget.extend({},a):a);return i},e.widget.bridge=function(i,n){var a=n.prototype.widgetFullName||i;e.fn[i]=function(r){var o="string"==typeof r,h=s.call(arguments,1),l=this;return r=!o&&h.length?e.widget.extend.apply(null,[r].concat(h)):r,o?this.each(function(){var s,n=e.data(this,a);return n?e.isFunction(n[r])&&"_"!==r.charAt(0)?(s=n[r].apply(n,h),s!==n&&s!==t?(l=s&&s.jquery?l.pushStack(s.get()):s,!1):t):e.error("no such method '"+r+"' for "+i+" widget instance"):e.error("cannot call methods on "+i+" prior to initialization; "+"attempted to call method '"+r+"'")}):this.each(function(){var t=e.data(this,a);t?t.option(r||{})._init():e.data(this,a,new n(r,this))}),l}},e.Widget=function(){},e.Widget._childConstructors=[],e.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{disabled:!1,create:null},_createWidget:function(t,s){s=e(s||this.defaultElement||this)[0],this.element=e(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.options=e.widget.extend({},this.options,this._getCreateOptions(),t),this.bindings=e(),this.hoverable=e(),this.focusable=e(),s!==this&&(e.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(e){e.target===s&&this.destroy()}}),this.document=e(s.style?s.ownerDocument:s.document||s),this.window=e(this.document[0].defaultView||this.document[0].parentWindow)),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:e.noop,_getCreateEventData:e.noop,_create:e.noop,_init:e.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetName).removeData(this.widgetFullName).removeData(e.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled "+"ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:e.noop,widget:function(){return this.element},option:function(i,s){var n,a,r,o=i;if(0===arguments.length)return e.widget.extend({},this.options);if("string"==typeof i)if(o={},n=i.split("."),i=n.shift(),n.length){for(a=o[i]=e.widget.extend({},this.options[i]),r=0;n.length-1>r;r++)a[n[r]]=a[n[r]]||{},a=a[n[r]];if(i=n.pop(),s===t)return a[i]===t?null:a[i];a[i]=s}else{if(s===t)return this.options[i]===t?null:this.options[i];o[i]=s}return this._setOptions(o),this},_setOptions:function(e){var t;for(t in e)this._setOption(t,e[t]);return this},_setOption:function(e,t){return this.options[e]=t,"disabled"===e&&(this.widget().toggleClass(this.widgetFullName+"-disabled ui-state-disabled",!!t).attr("aria-disabled",t),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")),this},enable:function(){return this._setOption("disabled",!1)},disable:function(){return this._setOption("disabled",!0)},_on:function(i,s,n){var a,r=this;"boolean"!=typeof i&&(n=s,s=i,i=!1),n?(s=a=e(s),this.bindings=this.bindings.add(s)):(n=s,s=this.element,a=this.widget()),e.each(n,function(n,o){function h(){return i||r.options.disabled!==!0&&!e(this).hasClass("ui-state-disabled")?("string"==typeof o?r[o]:o).apply(r,arguments):t}"string"!=typeof o&&(h.guid=o.guid=o.guid||h.guid||e.guid++);var l=n.match(/^(\w+)\s*(.*)$/),u=l[1]+r.eventNamespace,c=l[2];c?a.delegate(c,u,h):s.bind(u,h)})},_off:function(e,t){t=(t||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.unbind(t).undelegate(t)},_delay:function(e,t){function i(){return("string"==typeof e?s[e]:e).apply(s,arguments)}var s=this;return setTimeout(i,t||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){e(t.currentTarget).addClass("ui-state-hover")},mouseleave:function(t){e(t.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){e(t.currentTarget).addClass("ui-state-focus")},focusout:function(t){e(t.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(t,i,s){var n,a,r=this.options[t];if(s=s||{},i=e.Event(i),i.type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),i.target=this.element[0],a=i.originalEvent)for(n in a)n in i||(i[n]=a[n]);return this.element.trigger(i,s),!(e.isFunction(r)&&r.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},e.each({show:"fadeIn",hide:"fadeOut"},function(t,i){e.Widget.prototype["_"+t]=function(s,n,a){"string"==typeof n&&(n={effect:n});var r,o=n?n===!0||"number"==typeof n?i:n.effect||i:t;n=n||{},"number"==typeof n&&(n={duration:n}),r=!e.isEmptyObject(n),n.complete=a,n.delay&&s.delay(n.delay),r&&e.effects&&e.effects.effect[o]?s[t](n):o!==t&&s[o]?s[o](n.duration,n.easing,a):s.queue(function(i){e(this)[t](),a&&a.call(s[0]),i()})}})})(jQuery);(function(e){var t=!1;e(document).mouseup(function(){t=!1}),e.widget("ui.mouse",{version:"1.10.3",options:{cancel:"input,textarea,button,select,option",distance:1,delay:0},_mouseInit:function(){var t=this;this.element.bind("mousedown."+this.widgetName,function(e){return t._mouseDown(e)}).bind("click."+this.widgetName,function(i){return!0===e.data(i.target,t.widgetName+".preventClickEvent")?(e.removeData(i.target,t.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):undefined}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName),this._mouseMoveDelegate&&e(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(i){if(!t){this._mouseStarted&&this._mouseUp(i),this._mouseDownEvent=i;var s=this,n=1===i.which,a="string"==typeof this.options.cancel&&i.target.nodeName?e(i.target).closest(this.options.cancel).length:!1;return n&&!a&&this._mouseCapture(i)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){s.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(i)&&this._mouseDelayMet(i)&&(this._mouseStarted=this._mouseStart(i)!==!1,!this._mouseStarted)?(i.preventDefault(),!0):(!0===e.data(i.target,this.widgetName+".preventClickEvent")&&e.removeData(i.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(e){return s._mouseMove(e)},this._mouseUpDelegate=function(e){return s._mouseUp(e)},e(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),i.preventDefault(),t=!0,!0)):!0}},_mouseMove:function(t){return e.ui.ie&&(!document.documentMode||9>document.documentMode)&&!t.button?this._mouseUp(t):this._mouseStarted?(this._mouseDrag(t),t.preventDefault()):(this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,t)!==!1,this._mouseStarted?this._mouseDrag(t):this._mouseUp(t)),!this._mouseStarted)},_mouseUp:function(t){return e(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,t.target===this._mouseDownEvent.target&&e.data(t.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(t)),!1},_mouseDistanceMet:function(e){return Math.max(Math.abs(this._mouseDownEvent.pageX-e.pageX),Math.abs(this._mouseDownEvent.pageY-e.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}})})(jQuery);(function(e){e.widget("ui.draggable",e.ui.mouse,{version:"1.10.3",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"!==this.options.helper||/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative"),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._mouseInit()},_destroy:function(){this.element.removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._mouseDestroy()},_mouseCapture:function(t){var i=this.options;return this.helper||i.disabled||e(t.target).closest(".ui-resizable-handle").length>0?!1:(this.handle=this._getHandle(t),this.handle?(e(i.iframeFix===!0?"iframe":i.iframeFix).each(function(){e("<div class='ui-draggable-iframeFix' style='background: #fff;'></div>").css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1e3}).css(e(this).offset()).appendTo("body")}),!0):!1)},_mouseStart:function(t){var i=this.options;return this.helper=this._createHelper(t),this.helper.addClass("ui-draggable-dragging"),this._cacheHelperProportions(),e.ui.ddmanager&&(e.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(),this.offsetParent=this.helper.offsetParent(),this.offsetParentCssPosition=this.offsetParent.css("position"),this.offset=this.positionAbs=this.element.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},this.offset.scroll=!1,e.extend(this.offset,{click:{left:t.pageX-this.offset.left,top:t.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.originalPosition=this.position=this._generatePosition(t),this.originalPageX=t.pageX,this.originalPageY=t.pageY,i.cursorAt&&this._adjustOffsetFromHelper(i.cursorAt),this._setContainment(),this._trigger("start",t)===!1?(this._clear(),!1):(this._cacheHelperProportions(),e.ui.ddmanager&&!i.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t),this._mouseDrag(t,!0),e.ui.ddmanager&&e.ui.ddmanager.dragStart(this,t),!0)},_mouseDrag:function(t,i){if("fixed"===this.offsetParentCssPosition&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(t),this.positionAbs=this._convertPositionTo("absolute"),!i){var s=this._uiHash();if(this._trigger("drag",t,s)===!1)return this._mouseUp({}),!1;this.position=s.position}return this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),e.ui.ddmanager&&e.ui.ddmanager.drag(this,t),!1},_mouseStop:function(t){var i=this,s=!1;return e.ui.ddmanager&&!this.options.dropBehaviour&&(s=e.ui.ddmanager.drop(this,t)),this.dropped&&(s=this.dropped,this.dropped=!1),"original"!==this.options.helper||e.contains(this.element[0].ownerDocument,this.element[0])?("invalid"===this.options.revert&&!s||"valid"===this.options.revert&&s||this.options.revert===!0||e.isFunction(this.options.revert)&&this.options.revert.call(this.element,s)?e(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){i._trigger("stop",t)!==!1&&i._clear()}):this._trigger("stop",t)!==!1&&this._clear(),!1):!1},_mouseUp:function(t){return e("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)}),e.ui.ddmanager&&e.ui.ddmanager.dragStop(this,t),e.ui.mouse.prototype._mouseUp.call(this,t)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear(),this},_getHandle:function(t){return this.options.handle?!!e(t.target).closest(this.element.find(this.options.handle)).length:!0},_createHelper:function(t){var i=this.options,s=e.isFunction(i.helper)?e(i.helper.apply(this.element[0],[t])):"clone"===i.helper?this.element.clone().removeAttr("id"):this.element;return s.parents("body").length||s.appendTo("parent"===i.appendTo?this.element[0].parentNode:i.appendTo),s[0]===this.element[0]||/(fixed|absolute)/.test(s.css("position"))||s.css("position","absolute"),s},_adjustOffsetFromHelper:function(t){"string"==typeof t&&(t=t.split(" ")),e.isArray(t)&&(t={left:+t[0],top:+t[1]||0}),"left"in t&&(this.offset.click.left=t.left+this.margins.left),"right"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),"top"in t&&(this.offset.click.top=t.top+this.margins.top),"bottom"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_getParentOffset:function(){var t=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==document&&e.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===document.body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&e.ui.ie)&&(t={top:0,left:0}),{top:t.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:t.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var e=this.element.position();return{top:e.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:e.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var t,i,s,n=this.options;return n.containment?"window"===n.containment?(this.containment=[e(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,e(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,e(window).scrollLeft()+e(window).width()-this.helperProportions.width-this.margins.left,e(window).scrollTop()+(e(window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],undefined):"document"===n.containment?(this.containment=[0,0,e(document).width()-this.helperProportions.width-this.margins.left,(e(document).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],undefined):n.containment.constructor===Array?(this.containment=n.containment,undefined):("parent"===n.containment&&(n.containment=this.helper[0].parentNode),i=e(n.containment),s=i[0],s&&(t="hidden"!==i.css("overflow"),this.containment=[(parseInt(i.css("borderLeftWidth"),10)||0)+(parseInt(i.css("paddingLeft"),10)||0),(parseInt(i.css("borderTopWidth"),10)||0)+(parseInt(i.css("paddingTop"),10)||0),(t?Math.max(s.scrollWidth,s.offsetWidth):s.offsetWidth)-(parseInt(i.css("borderRightWidth"),10)||0)-(parseInt(i.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(t?Math.max(s.scrollHeight,s.offsetHeight):s.offsetHeight)-(parseInt(i.css("borderBottomWidth"),10)||0)-(parseInt(i.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relative_container=i),undefined):(this.containment=null,undefined)},_convertPositionTo:function(t,i){i||(i=this.position);var s="absolute"===t?1:-1,n="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent;return this.offset.scroll||(this.offset.scroll={top:n.scrollTop(),left:n.scrollLeft()}),{top:i.top+this.offset.relative.top*s+this.offset.parent.top*s-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():this.offset.scroll.top)*s,left:i.left+this.offset.relative.left*s+this.offset.parent.left*s-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():this.offset.scroll.left)*s}},_generatePosition:function(t){var i,s,n,a,o=this.options,r="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,h=t.pageX,l=t.pageY;return this.offset.scroll||(this.offset.scroll={top:r.scrollTop(),left:r.scrollLeft()}),this.originalPosition&&(this.containment&&(this.relative_container?(s=this.relative_container.offset(),i=[this.containment[0]+s.left,this.containment[1]+s.top,this.containment[2]+s.left,this.containment[3]+s.top]):i=this.containment,t.pageX-this.offset.click.left<i[0]&&(h=i[0]+this.offset.click.left),t.pageY-this.offset.click.top<i[1]&&(l=i[1]+this.offset.click.top),t.pageX-this.offset.click.left>i[2]&&(h=i[2]+this.offset.click.left),t.pageY-this.offset.click.top>i[3]&&(l=i[3]+this.offset.click.top)),o.grid&&(n=o.grid[1]?this.originalPageY+Math.round((l-this.originalPageY)/o.grid[1])*o.grid[1]:this.originalPageY,l=i?n-this.offset.click.top>=i[1]||n-this.offset.click.top>i[3]?n:n-this.offset.click.top>=i[1]?n-o.grid[1]:n+o.grid[1]:n,a=o.grid[0]?this.originalPageX+Math.round((h-this.originalPageX)/o.grid[0])*o.grid[0]:this.originalPageX,h=i?a-this.offset.click.left>=i[0]||a-this.offset.click.left>i[2]?a:a-this.offset.click.left>=i[0]?a-o.grid[0]:a+o.grid[0]:a)),{top:l-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():this.offset.scroll.top),left:h-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():this.offset.scroll.left)}},_clear:function(){this.helper.removeClass("ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1},_trigger:function(t,i,s){return s=s||this._uiHash(),e.ui.plugin.call(this,t,[i,s]),"drag"===t&&(this.positionAbs=this._convertPositionTo("absolute")),e.Widget.prototype._trigger.call(this,t,i,s)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),e.ui.plugin.add("draggable","connectToSortable",{start:function(t,i){var s=e(this).data("ui-draggable"),n=s.options,a=e.extend({},i,{item:s.element});s.sortables=[],e(n.connectToSortable).each(function(){var i=e.data(this,"ui-sortable");i&&!i.options.disabled&&(s.sortables.push({instance:i,shouldRevert:i.options.revert}),i.refreshPositions(),i._trigger("activate",t,a))})},stop:function(t,i){var s=e(this).data("ui-draggable"),n=e.extend({},i,{item:s.element});e.each(s.sortables,function(){this.instance.isOver?(this.instance.isOver=0,s.cancelHelperRemoval=!0,this.instance.cancelHelperRemoval=!1,this.shouldRevert&&(this.instance.options.revert=this.shouldRevert),this.instance._mouseStop(t),this.instance.options.helper=this.instance.options._helper,"original"===s.options.helper&&this.instance.currentItem.css({top:"auto",left:"auto"})):(this.instance.cancelHelperRemoval=!1,this.instance._trigger("deactivate",t,n))})},drag:function(t,i){var s=e(this).data("ui-draggable"),n=this;e.each(s.sortables,function(){var a=!1,o=this;this.instance.positionAbs=s.positionAbs,this.instance.helperProportions=s.helperProportions,this.instance.offset.click=s.offset.click,this.instance._intersectsWith(this.instance.containerCache)&&(a=!0,e.each(s.sortables,function(){return this.instance.positionAbs=s.positionAbs,this.instance.helperProportions=s.helperProportions,this.instance.offset.click=s.offset.click,this!==o&&this.instance._intersectsWith(this.instance.containerCache)&&e.contains(o.instance.element[0],this.instance.element[0])&&(a=!1),a})),a?(this.instance.isOver||(this.instance.isOver=1,this.instance.currentItem=e(n).clone().removeAttr("id").appendTo(this.instance.element).data("ui-sortable-item",!0),this.instance.options._helper=this.instance.options.helper,this.instance.options.helper=function(){return i.helper[0]},t.target=this.instance.currentItem[0],this.instance._mouseCapture(t,!0),this.instance._mouseStart(t,!0,!0),this.instance.offset.click.top=s.offset.click.top,this.instance.offset.click.left=s.offset.click.left,this.instance.offset.parent.left-=s.offset.parent.left-this.instance.offset.parent.left,this.instance.offset.parent.top-=s.offset.parent.top-this.instance.offset.parent.top,s._trigger("toSortable",t),s.dropped=this.instance.element,s.currentItem=s.element,this.instance.fromOutside=s),this.instance.currentItem&&this.instance._mouseDrag(t)):this.instance.isOver&&(this.instance.isOver=0,this.instance.cancelHelperRemoval=!0,this.instance.options.revert=!1,this.instance._trigger("out",t,this.instance._uiHash(this.instance)),this.instance._mouseStop(t,!0),this.instance.options.helper=this.instance.options._helper,this.instance.currentItem.remove(),this.instance.placeholder&&this.instance.placeholder.remove(),s._trigger("fromSortable",t),s.dropped=!1)})}}),e.ui.plugin.add("draggable","cursor",{start:function(){var t=e("body"),i=e(this).data("ui-draggable").options;t.css("cursor")&&(i._cursor=t.css("cursor")),t.css("cursor",i.cursor)},stop:function(){var t=e(this).data("ui-draggable").options;t._cursor&&e("body").css("cursor",t._cursor)}}),e.ui.plugin.add("draggable","opacity",{start:function(t,i){var s=e(i.helper),n=e(this).data("ui-draggable").options;s.css("opacity")&&(n._opacity=s.css("opacity")),s.css("opacity",n.opacity)},stop:function(t,i){var s=e(this).data("ui-draggable").options;s._opacity&&e(i.helper).css("opacity",s._opacity)}}),e.ui.plugin.add("draggable","scroll",{start:function(){var t=e(this).data("ui-draggable");t.scrollParent[0]!==document&&"HTML"!==t.scrollParent[0].tagName&&(t.overflowOffset=t.scrollParent.offset())},drag:function(t){var i=e(this).data("ui-draggable"),s=i.options,n=!1;i.scrollParent[0]!==document&&"HTML"!==i.scrollParent[0].tagName?(s.axis&&"x"===s.axis||(i.overflowOffset.top+i.scrollParent[0].offsetHeight-t.pageY<s.scrollSensitivity?i.scrollParent[0].scrollTop=n=i.scrollParent[0].scrollTop+s.scrollSpeed:t.pageY-i.overflowOffset.top<s.scrollSensitivity&&(i.scrollParent[0].scrollTop=n=i.scrollParent[0].scrollTop-s.scrollSpeed)),s.axis&&"y"===s.axis||(i.overflowOffset.left+i.scrollParent[0].offsetWidth-t.pageX<s.scrollSensitivity?i.scrollParent[0].scrollLeft=n=i.scrollParent[0].scrollLeft+s.scrollSpeed:t.pageX-i.overflowOffset.left<s.scrollSensitivity&&(i.scrollParent[0].scrollLeft=n=i.scrollParent[0].scrollLeft-s.scrollSpeed))):(s.axis&&"x"===s.axis||(t.pageY-e(document).scrollTop()<s.scrollSensitivity?n=e(document).scrollTop(e(document).scrollTop()-s.scrollSpeed):e(window).height()-(t.pageY-e(document).scrollTop())<s.scrollSensitivity&&(n=e(document).scrollTop(e(document).scrollTop()+s.scrollSpeed))),s.axis&&"y"===s.axis||(t.pageX-e(document).scrollLeft()<s.scrollSensitivity?n=e(document).scrollLeft(e(document).scrollLeft()-s.scrollSpeed):e(window).width()-(t.pageX-e(document).scrollLeft())<s.scrollSensitivity&&(n=e(document).scrollLeft(e(document).scrollLeft()+s.scrollSpeed)))),n!==!1&&e.ui.ddmanager&&!s.dropBehaviour&&e.ui.ddmanager.prepareOffsets(i,t)}}),e.ui.plugin.add("draggable","snap",{start:function(){var t=e(this).data("ui-draggable"),i=t.options;t.snapElements=[],e(i.snap.constructor!==String?i.snap.items||":data(ui-draggable)":i.snap).each(function(){var i=e(this),s=i.offset();this!==t.element[0]&&t.snapElements.push({item:this,width:i.outerWidth(),height:i.outerHeight(),top:s.top,left:s.left})})},drag:function(t,i){var s,n,a,o,r,h,l,u,c,d,p=e(this).data("ui-draggable"),f=p.options,m=f.snapTolerance,g=i.offset.left,v=g+p.helperProportions.width,b=i.offset.top,y=b+p.helperProportions.height;for(c=p.snapElements.length-1;c>=0;c--)r=p.snapElements[c].left,h=r+p.snapElements[c].width,l=p.snapElements[c].top,u=l+p.snapElements[c].height,r-m>v||g>h+m||l-m>y||b>u+m||!e.contains(p.snapElements[c].item.ownerDocument,p.snapElements[c].item)?(p.snapElements[c].snapping&&p.options.snap.release&&p.options.snap.release.call(p.element,t,e.extend(p._uiHash(),{snapItem:p.snapElements[c].item})),p.snapElements[c].snapping=!1):("inner"!==f.snapMode&&(s=m>=Math.abs(l-y),n=m>=Math.abs(u-b),a=m>=Math.abs(r-v),o=m>=Math.abs(h-g),s&&(i.position.top=p._convertPositionTo("relative",{top:l-p.helperProportions.height,left:0}).top-p.margins.top),n&&(i.position.top=p._convertPositionTo("relative",{top:u,left:0}).top-p.margins.top),a&&(i.position.left=p._convertPositionTo("relative",{top:0,left:r-p.helperProportions.width}).left-p.margins.left),o&&(i.position.left=p._convertPositionTo("relative",{top:0,left:h}).left-p.margins.left)),d=s||n||a||o,"outer"!==f.snapMode&&(s=m>=Math.abs(l-b),n=m>=Math.abs(u-y),a=m>=Math.abs(r-g),o=m>=Math.abs(h-v),s&&(i.position.top=p._convertPositionTo("relative",{top:l,left:0}).top-p.margins.top),n&&(i.position.top=p._convertPositionTo("relative",{top:u-p.helperProportions.height,left:0}).top-p.margins.top),a&&(i.position.left=p._convertPositionTo("relative",{top:0,left:r}).left-p.margins.left),o&&(i.position.left=p._convertPositionTo("relative",{top:0,left:h-p.helperProportions.width}).left-p.margins.left)),!p.snapElements[c].snapping&&(s||n||a||o||d)&&p.options.snap.snap&&p.options.snap.snap.call(p.element,t,e.extend(p._uiHash(),{snapItem:p.snapElements[c].item})),p.snapElements[c].snapping=s||n||a||o||d)}}),e.ui.plugin.add("draggable","stack",{start:function(){var t,i=this.data("ui-draggable").options,s=e.makeArray(e(i.stack)).sort(function(t,i){return(parseInt(e(t).css("zIndex"),10)||0)-(parseInt(e(i).css("zIndex"),10)||0)});s.length&&(t=parseInt(e(s[0]).css("zIndex"),10)||0,e(s).each(function(i){e(this).css("zIndex",t+i)}),this.css("zIndex",t+s.length))}}),e.ui.plugin.add("draggable","zIndex",{start:function(t,i){var s=e(i.helper),n=e(this).data("ui-draggable").options;s.css("zIndex")&&(n._zIndex=s.css("zIndex")),s.css("zIndex",n.zIndex)},stop:function(t,i){var s=e(this).data("ui-draggable").options;s._zIndex&&e(i.helper).css("zIndex",s._zIndex)}})})(jQuery);(function(e){function t(e,t,i){return e>t&&t+i>e}e.widget("ui.droppable",{version:"1.10.3",widgetEventPrefix:"drop",options:{accept:"*",activeClass:!1,addClasses:!0,greedy:!1,hoverClass:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var t=this.options,i=t.accept;this.isover=!1,this.isout=!0,this.accept=e.isFunction(i)?i:function(e){return e.is(i)},this.proportions={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight},e.ui.ddmanager.droppables[t.scope]=e.ui.ddmanager.droppables[t.scope]||[],e.ui.ddmanager.droppables[t.scope].push(this),t.addClasses&&this.element.addClass("ui-droppable")},_destroy:function(){for(var t=0,i=e.ui.ddmanager.droppables[this.options.scope];i.length>t;t++)i[t]===this&&i.splice(t,1);this.element.removeClass("ui-droppable ui-droppable-disabled")},_setOption:function(t,i){"accept"===t&&(this.accept=e.isFunction(i)?i:function(e){return e.is(i)}),e.Widget.prototype._setOption.apply(this,arguments)},_activate:function(t){var i=e.ui.ddmanager.current;this.options.activeClass&&this.element.addClass(this.options.activeClass),i&&this._trigger("activate",t,this.ui(i))},_deactivate:function(t){var i=e.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass),i&&this._trigger("deactivate",t,this.ui(i))},_over:function(t){var i=e.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this.options.hoverClass&&this.element.addClass(this.options.hoverClass),this._trigger("over",t,this.ui(i)))},_out:function(t){var i=e.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("out",t,this.ui(i)))},_drop:function(t,i){var s=i||e.ui.ddmanager.current,n=!1;return s&&(s.currentItem||s.element)[0]!==this.element[0]?(this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function(){var t=e.data(this,"ui-droppable");return t.options.greedy&&!t.options.disabled&&t.options.scope===s.options.scope&&t.accept.call(t.element[0],s.currentItem||s.element)&&e.ui.intersect(s,e.extend(t,{offset:t.element.offset()}),t.options.tolerance)?(n=!0,!1):undefined}),n?!1:this.accept.call(this.element[0],s.currentItem||s.element)?(this.options.activeClass&&this.element.removeClass(this.options.activeClass),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("drop",t,this.ui(s)),this.element):!1):!1},ui:function(e){return{draggable:e.currentItem||e.element,helper:e.helper,position:e.position,offset:e.positionAbs}}}),e.ui.intersect=function(e,i,s){if(!i.offset)return!1;var n,a,o=(e.positionAbs||e.position.absolute).left,r=o+e.helperProportions.width,h=(e.positionAbs||e.position.absolute).top,l=h+e.helperProportions.height,u=i.offset.left,c=u+i.proportions.width,d=i.offset.top,p=d+i.proportions.height;switch(s){case"fit":return o>=u&&c>=r&&h>=d&&p>=l;case"intersect":return o+e.helperProportions.width/2>u&&c>r-e.helperProportions.width/2&&h+e.helperProportions.height/2>d&&p>l-e.helperProportions.height/2;case"pointer":return n=(e.positionAbs||e.position.absolute).left+(e.clickOffset||e.offset.click).left,a=(e.positionAbs||e.position.absolute).top+(e.clickOffset||e.offset.click).top,t(a,d,i.proportions.height)&&t(n,u,i.proportions.width);case"touch":return(h>=d&&p>=h||l>=d&&p>=l||d>h&&l>p)&&(o>=u&&c>=o||r>=u&&c>=r||u>o&&r>c);default:return!1}},e.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(t,i){var s,n,a=e.ui.ddmanager.droppables[t.options.scope]||[],o=i?i.type:null,r=(t.currentItem||t.element).find(":data(ui-droppable)").addBack();e:for(s=0;a.length>s;s++)if(!(a[s].options.disabled||t&&!a[s].accept.call(a[s].element[0],t.currentItem||t.element))){for(n=0;r.length>n;n++)if(r[n]===a[s].element[0]){a[s].proportions.height=0;continue e}a[s].visible="none"!==a[s].element.css("display"),a[s].visible&&("mousedown"===o&&a[s]._activate.call(a[s],i),a[s].offset=a[s].element.offset(),a[s].proportions={width:a[s].element[0].offsetWidth,height:a[s].element[0].offsetHeight})}},drop:function(t,i){var s=!1;return e.each((e.ui.ddmanager.droppables[t.options.scope]||[]).slice(),function(){this.options&&(!this.options.disabled&&this.visible&&e.ui.intersect(t,this,this.options.tolerance)&&(s=this._drop.call(this,i)||s),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],t.currentItem||t.element)&&(this.isout=!0,this.isover=!1,this._deactivate.call(this,i)))}),s},dragStart:function(t,i){t.element.parentsUntil("body").bind("scroll.droppable",function(){t.options.refreshPositions||e.ui.ddmanager.prepareOffsets(t,i)})},drag:function(t,i){t.options.refreshPositions&&e.ui.ddmanager.prepareOffsets(t,i),e.each(e.ui.ddmanager.droppables[t.options.scope]||[],function(){if(!this.options.disabled&&!this.greedyChild&&this.visible){var s,n,a,o=e.ui.intersect(t,this,this.options.tolerance),r=!o&&this.isover?"isout":o&&!this.isover?"isover":null;r&&(this.options.greedy&&(n=this.options.scope,a=this.element.parents(":data(ui-droppable)").filter(function(){return e.data(this,"ui-droppable").options.scope===n}),a.length&&(s=e.data(a[0],"ui-droppable"),s.greedyChild="isover"===r)),s&&"isover"===r&&(s.isover=!1,s.isout=!0,s._out.call(s,i)),this[r]=!0,this["isout"===r?"isover":"isout"]=!1,this["isover"===r?"_over":"_out"].call(this,i),s&&"isout"===r&&(s.isout=!1,s.isover=!0,s._over.call(s,i)))}})},dragStop:function(t,i){t.element.parentsUntil("body").unbind("scroll.droppable"),t.options.refreshPositions||e.ui.ddmanager.prepareOffsets(t,i)}}})(jQuery);(function(e){function t(e){return parseInt(e,10)||0}function i(e){return!isNaN(parseInt(e,10))}e.widget("ui.resizable",e.ui.mouse,{version:"1.10.3",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_create:function(){var t,i,s,n,a,o=this,r=this.options;if(this.element.addClass("ui-resizable"),e.extend(this,{_aspectRatio:!!r.aspectRatio,aspectRatio:r.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:r.helper||r.ghost||r.animate?r.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)&&(this.element.wrap(e("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.data("ui-resizable")),this.elementIsWrapper=!0,this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")}),this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0}),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css({margin:this.originalElement.css("margin")}),this._proportionallyResize()),this.handles=r.handles||(e(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),t=this.handles.split(","),this.handles={},i=0;t.length>i;i++)s=e.trim(t[i]),a="ui-resizable-"+s,n=e("<div class='ui-resizable-handle "+a+"'></div>"),n.css({zIndex:r.zIndex}),"se"===s&&n.addClass("ui-icon ui-icon-gripsmall-diagonal-se"),this.handles[s]=".ui-resizable-"+s,this.element.append(n);this._renderAxis=function(t){var i,s,n,a;t=t||this.element;for(i in this.handles)this.handles[i].constructor===String&&(this.handles[i]=e(this.handles[i],this.element).show()),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)&&(s=e(this.handles[i],this.element),a=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),t.css(n,a),this._proportionallyResize()),e(this.handles[i]).length},this._renderAxis(this.element),this._handles=e(".ui-resizable-handle",this.element).disableSelection(),this._handles.mouseover(function(){o.resizing||(this.className&&(n=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),o.axis=n&&n[1]?n[1]:"se")}),r.autoHide&&(this._handles.hide(),e(this.element).addClass("ui-resizable-autohide").mouseenter(function(){r.disabled||(e(this).removeClass("ui-resizable-autohide"),o._handles.show())}).mouseleave(function(){r.disabled||o.resizing||(e(this).addClass("ui-resizable-autohide"),o._handles.hide())})),this._mouseInit()},_destroy:function(){this._mouseDestroy();var t,i=function(t){e(t).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").removeData("ui-resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),t=this.element,this.originalElement.css({position:t.css("position"),width:t.outerWidth(),height:t.outerHeight(),top:t.css("top"),left:t.css("left")}).insertAfter(t),t.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_mouseCapture:function(t){var i,s,n=!1;for(i in this.handles)s=e(this.handles[i])[0],(s===t.target||e.contains(s,t.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(i){var s,n,a,o=this.options,r=this.element.position(),h=this.element;return this.resizing=!0,/absolute/.test(h.css("position"))?h.css({position:"absolute",top:h.css("top"),left:h.css("left")}):h.is(".ui-draggable")&&h.css({position:"absolute",top:r.top,left:r.left}),this._renderProxy(),s=t(this.helper.css("left")),n=t(this.helper.css("top")),o.containment&&(s+=e(o.containment).scrollLeft()||0,n+=e(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:s,top:n},this.size=this._helper?{width:h.outerWidth(),height:h.outerHeight()}:{width:h.width(),height:h.height()},this.originalSize=this._helper?{width:h.outerWidth(),height:h.outerHeight()}:{width:h.width(),height:h.height()},this.originalPosition={left:s,top:n},this.sizeDiff={width:h.outerWidth()-h.width(),height:h.outerHeight()-h.height()},this.originalMousePosition={left:i.pageX,top:i.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,a=e(".ui-resizable-"+this.axis).css("cursor"),e("body").css("cursor","auto"===a?this.axis+"-resize":a),h.addClass("ui-resizable-resizing"),this._propagate("start",i),!0},_mouseDrag:function(t){var i,s=this.helper,n={},a=this.originalMousePosition,o=this.axis,r=this.position.top,h=this.position.left,l=this.size.width,u=this.size.height,c=t.pageX-a.left||0,d=t.pageY-a.top||0,p=this._change[o];return p?(i=p.apply(this,[t,c,d]),this._updateVirtualBoundaries(t.shiftKey),(this._aspectRatio||t.shiftKey)&&(i=this._updateRatio(i,t)),i=this._respectSize(i,t),this._updateCache(i),this._propagate("resize",t),this.position.top!==r&&(n.top=this.position.top+"px"),this.position.left!==h&&(n.left=this.position.left+"px"),this.size.width!==l&&(n.width=this.size.width+"px"),this.size.height!==u&&(n.height=this.size.height+"px"),s.css(n),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),e.isEmptyObject(n)||this._trigger("resize",t,this.ui()),!1):!1},_mouseStop:function(t){this.resizing=!1;var i,s,n,a,o,r,h,l=this.options,u=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&e.ui.hasScroll(i[0],"left")?0:u.sizeDiff.height,a=s?0:u.sizeDiff.width,o={width:u.helper.width()-a,height:u.helper.height()-n},r=parseInt(u.element.css("left"),10)+(u.position.left-u.originalPosition.left)||null,h=parseInt(u.element.css("top"),10)+(u.position.top-u.originalPosition.top)||null,l.animate||this.element.css(e.extend(o,{top:h,left:r})),u.helper.height(u.size.height),u.helper.width(u.size.width),this._helper&&!l.animate&&this._proportionallyResize()),e("body").css("cursor","auto"),this.element.removeClass("ui-resizable-resizing"),this._propagate("stop",t),this._helper&&this.helper.remove(),!1},_updateVirtualBoundaries:function(e){var t,s,n,a,o,r=this.options;o={minWidth:i(r.minWidth)?r.minWidth:0,maxWidth:i(r.maxWidth)?r.maxWidth:1/0,minHeight:i(r.minHeight)?r.minHeight:0,maxHeight:i(r.maxHeight)?r.maxHeight:1/0},(this._aspectRatio||e)&&(t=o.minHeight*this.aspectRatio,n=o.minWidth/this.aspectRatio,s=o.maxHeight*this.aspectRatio,a=o.maxWidth/this.aspectRatio,t>o.minWidth&&(o.minWidth=t),n>o.minHeight&&(o.minHeight=n),o.maxWidth>s&&(o.maxWidth=s),o.maxHeight>a&&(o.maxHeight=a)),this._vBoundaries=o},_updateCache:function(e){this.offset=this.helper.offset(),i(e.left)&&(this.position.left=e.left),i(e.top)&&(this.position.top=e.top),i(e.height)&&(this.size.height=e.height),i(e.width)&&(this.size.width=e.width)},_updateRatio:function(e){var t=this.position,s=this.size,n=this.axis;return i(e.height)?e.width=e.height*this.aspectRatio:i(e.width)&&(e.height=e.width/this.aspectRatio),"sw"===n&&(e.left=t.left+(s.width-e.width),e.top=null),"nw"===n&&(e.top=t.top+(s.height-e.height),e.left=t.left+(s.width-e.width)),e},_respectSize:function(e){var t=this._vBoundaries,s=this.axis,n=i(e.width)&&t.maxWidth&&t.maxWidth<e.width,a=i(e.height)&&t.maxHeight&&t.maxHeight<e.height,o=i(e.width)&&t.minWidth&&t.minWidth>e.width,r=i(e.height)&&t.minHeight&&t.minHeight>e.height,h=this.originalPosition.left+this.originalSize.width,l=this.position.top+this.size.height,u=/sw|nw|w/.test(s),c=/nw|ne|n/.test(s);return o&&(e.width=t.minWidth),r&&(e.height=t.minHeight),n&&(e.width=t.maxWidth),a&&(e.height=t.maxHeight),o&&u&&(e.left=h-t.minWidth),n&&u&&(e.left=h-t.maxWidth),r&&c&&(e.top=l-t.minHeight),a&&c&&(e.top=l-t.maxHeight),e.width||e.height||e.left||!e.top?e.width||e.height||e.top||!e.left||(e.left=null):e.top=null,e},_proportionallyResize:function(){if(this._proportionallyResizeElements.length){var e,t,i,s,n,a=this.helper||this.element;for(e=0;this._proportionallyResizeElements.length>e;e++){if(n=this._proportionallyResizeElements[e],!this.borderDif)for(this.borderDif=[],i=[n.css("borderTopWidth"),n.css("borderRightWidth"),n.css("borderBottomWidth"),n.css("borderLeftWidth")],s=[n.css("paddingTop"),n.css("paddingRight"),n.css("paddingBottom"),n.css("paddingLeft")],t=0;i.length>t;t++)this.borderDif[t]=(parseInt(i[t],10)||0)+(parseInt(s[t],10)||0);n.css({height:a.height()-this.borderDif[0]-this.borderDif[2]||0,width:a.width()-this.borderDif[1]-this.borderDif[3]||0})}}},_renderProxy:function(){var t=this.element,i=this.options;this.elementOffset=t.offset(),this._helper?(this.helper=this.helper||e("<div style='overflow:hidden;'></div>"),this.helper.addClass(this._helper).css({width:this.element.outerWidth()-1,height:this.element.outerHeight()-1,position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(e,t){return{width:this.originalSize.width+t}},w:function(e,t){var i=this.originalSize,s=this.originalPosition;return{left:s.left+t,width:i.width-t}},n:function(e,t,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(e,t,i){return{height:this.originalSize.height+i}},se:function(t,i,s){return e.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[t,i,s]))},sw:function(t,i,s){return e.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[t,i,s]))},ne:function(t,i,s){return e.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[t,i,s]))},nw:function(t,i,s){return e.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[t,i,s]))}},_propagate:function(t,i){e.ui.plugin.call(this,t,[i,this.ui()]),"resize"!==t&&this._trigger(t,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),e.ui.plugin.add("resizable","animate",{stop:function(t){var i=e(this).data("ui-resizable"),s=i.options,n=i._proportionallyResizeElements,a=n.length&&/textarea/i.test(n[0].nodeName),o=a&&e.ui.hasScroll(n[0],"left")?0:i.sizeDiff.height,r=a?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-o},l=parseInt(i.element.css("left"),10)+(i.position.left-i.originalPosition.left)||null,u=parseInt(i.element.css("top"),10)+(i.position.top-i.originalPosition.top)||null;i.element.animate(e.extend(h,u&&l?{top:u,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseInt(i.element.css("width"),10),height:parseInt(i.element.css("height"),10),top:parseInt(i.element.css("top"),10),left:parseInt(i.element.css("left"),10)};n&&n.length&&e(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",t)}})}}),e.ui.plugin.add("resizable","containment",{start:function(){var i,s,n,a,o,r,h,l=e(this).data("ui-resizable"),u=l.options,c=l.element,d=u.containment,p=d instanceof e?d.get(0):/parent/.test(d)?c.parent().get(0):d;p&&(l.containerElement=e(p),/document/.test(d)||d===document?(l.containerOffset={left:0,top:0},l.containerPosition={left:0,top:0},l.parentData={element:e(document),left:0,top:0,width:e(document).width(),height:e(document).height()||document.body.parentNode.scrollHeight}):(i=e(p),s=[],e(["Top","Right","Left","Bottom"]).each(function(e,n){s[e]=t(i.css("padding"+n))}),l.containerOffset=i.offset(),l.containerPosition=i.position(),l.containerSize={height:i.innerHeight()-s[3],width:i.innerWidth()-s[1]},n=l.containerOffset,a=l.containerSize.height,o=l.containerSize.width,r=e.ui.hasScroll(p,"left")?p.scrollWidth:o,h=e.ui.hasScroll(p)?p.scrollHeight:a,l.parentData={element:p,left:n.left,top:n.top,width:r,height:h}))},resize:function(t){var i,s,n,a,o=e(this).data("ui-resizable"),r=o.options,h=o.containerOffset,l=o.position,u=o._aspectRatio||t.shiftKey,c={top:0,left:0},d=o.containerElement;d[0]!==document&&/static/.test(d.css("position"))&&(c=h),l.left<(o._helper?h.left:0)&&(o.size.width=o.size.width+(o._helper?o.position.left-h.left:o.position.left-c.left),u&&(o.size.height=o.size.width/o.aspectRatio),o.position.left=r.helper?h.left:0),l.top<(o._helper?h.top:0)&&(o.size.height=o.size.height+(o._helper?o.position.top-h.top:o.position.top),u&&(o.size.width=o.size.height*o.aspectRatio),o.position.top=o._helper?h.top:0),o.offset.left=o.parentData.left+o.position.left,o.offset.top=o.parentData.top+o.position.top,i=Math.abs((o._helper?o.offset.left-c.left:o.offset.left-c.left)+o.sizeDiff.width),s=Math.abs((o._helper?o.offset.top-c.top:o.offset.top-h.top)+o.sizeDiff.height),n=o.containerElement.get(0)===o.element.parent().get(0),a=/relative|absolute/.test(o.containerElement.css("position")),n&&a&&(i-=o.parentData.left),i+o.size.width>=o.parentData.width&&(o.size.width=o.parentData.width-i,u&&(o.size.height=o.size.width/o.aspectRatio)),s+o.size.height>=o.parentData.height&&(o.size.height=o.parentData.height-s,u&&(o.size.width=o.size.height*o.aspectRatio))},stop:function(){var t=e(this).data("ui-resizable"),i=t.options,s=t.containerOffset,n=t.containerPosition,a=t.containerElement,o=e(t.helper),r=o.offset(),h=o.outerWidth()-t.sizeDiff.width,l=o.outerHeight()-t.sizeDiff.height;t._helper&&!i.animate&&/relative/.test(a.css("position"))&&e(this).css({left:r.left-n.left-s.left,width:h,height:l}),t._helper&&!i.animate&&/static/.test(a.css("position"))&&e(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),e.ui.plugin.add("resizable","alsoResize",{start:function(){var t=e(this).data("ui-resizable"),i=t.options,s=function(t){e(t).each(function(){var t=e(this);t.data("ui-resizable-alsoresize",{width:parseInt(t.width(),10),height:parseInt(t.height(),10),left:parseInt(t.css("left"),10),top:parseInt(t.css("top"),10)})})};"object"!=typeof i.alsoResize||i.alsoResize.parentNode?s(i.alsoResize):i.alsoResize.length?(i.alsoResize=i.alsoResize[0],s(i.alsoResize)):e.each(i.alsoResize,function(e){s(e)})},resize:function(t,i){var s=e(this).data("ui-resizable"),n=s.options,a=s.originalSize,o=s.originalPosition,r={height:s.size.height-a.height||0,width:s.size.width-a.width||0,top:s.position.top-o.top||0,left:s.position.left-o.left||0},h=function(t,s){e(t).each(function(){var t=e(this),n=e(this).data("ui-resizable-alsoresize"),a={},o=s&&s.length?s:t.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];e.each(o,function(e,t){var i=(n[t]||0)+(r[t]||0);i&&i>=0&&(a[t]=i||null)}),t.css(a)})};"object"!=typeof n.alsoResize||n.alsoResize.nodeType?h(n.alsoResize):e.each(n.alsoResize,function(e,t){h(e,t)})},stop:function(){e(this).removeData("resizable-alsoresize")}}),e.ui.plugin.add("resizable","ghost",{start:function(){var t=e(this).data("ui-resizable"),i=t.options,s=t.size;t.ghost=t.originalElement.clone(),t.ghost.css({opacity:.25,display:"block",position:"relative",height:s.height,width:s.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass("string"==typeof i.ghost?i.ghost:""),t.ghost.appendTo(t.helper)},resize:function(){var t=e(this).data("ui-resizable");t.ghost&&t.ghost.css({position:"relative",height:t.size.height,width:t.size.width})},stop:function(){var t=e(this).data("ui-resizable");t.ghost&&t.helper&&t.helper.get(0).removeChild(t.ghost.get(0))}}),e.ui.plugin.add("resizable","grid",{resize:function(){var t=e(this).data("ui-resizable"),i=t.options,s=t.size,n=t.originalSize,a=t.originalPosition,o=t.axis,r="number"==typeof i.grid?[i.grid,i.grid]:i.grid,h=r[0]||1,l=r[1]||1,u=Math.round((s.width-n.width)/h)*h,c=Math.round((s.height-n.height)/l)*l,d=n.width+u,p=n.height+c,f=i.maxWidth&&d>i.maxWidth,m=i.maxHeight&&p>i.maxHeight,g=i.minWidth&&i.minWidth>d,v=i.minHeight&&i.minHeight>p;i.grid=r,g&&(d+=h),v&&(p+=l),f&&(d-=h),m&&(p-=l),/^(se|s|e)$/.test(o)?(t.size.width=d,t.size.height=p):/^(ne)$/.test(o)?(t.size.width=d,t.size.height=p,t.position.top=a.top-c):/^(sw)$/.test(o)?(t.size.width=d,t.size.height=p,t.position.left=a.left-u):(t.size.width=d,t.size.height=p,t.position.top=a.top-c,t.position.left=a.left-u)}})})(jQuery);(function(e){e.widget("ui.selectable",e.ui.mouse,{version:"1.10.3",options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch",selected:null,selecting:null,start:null,stop:null,unselected:null,unselecting:null},_create:function(){var t,i=this;this.element.addClass("ui-selectable"),this.dragged=!1,this.refresh=function(){t=e(i.options.filter,i.element[0]),t.addClass("ui-selectee"),t.each(function(){var t=e(this),i=t.offset();e.data(this,"selectable-item",{element:this,$element:t,left:i.left,top:i.top,right:i.left+t.outerWidth(),bottom:i.top+t.outerHeight(),startselected:!1,selected:t.hasClass("ui-selected"),selecting:t.hasClass("ui-selecting"),unselecting:t.hasClass("ui-unselecting")})})},this.refresh(),this.selectees=t.addClass("ui-selectee"),this._mouseInit(),this.helper=e("<div class='ui-selectable-helper'></div>")},_destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item"),this.element.removeClass("ui-selectable ui-selectable-disabled"),this._mouseDestroy()},_mouseStart:function(t){var i=this,s=this.options;this.opos=[t.pageX,t.pageY],this.options.disabled||(this.selectees=e(s.filter,this.element[0]),this._trigger("start",t),e(s.appendTo).append(this.helper),this.helper.css({left:t.pageX,top:t.pageY,width:0,height:0}),s.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var s=e.data(this,"selectable-item");s.startselected=!0,t.metaKey||t.ctrlKey||(s.$element.removeClass("ui-selected"),s.selected=!1,s.$element.addClass("ui-unselecting"),s.unselecting=!0,i._trigger("unselecting",t,{unselecting:s.element}))}),e(t.target).parents().addBack().each(function(){var s,n=e.data(this,"selectable-item");return n?(s=!t.metaKey&&!t.ctrlKey||!n.$element.hasClass("ui-selected"),n.$element.removeClass(s?"ui-unselecting":"ui-selected").addClass(s?"ui-selecting":"ui-unselecting"),n.unselecting=!s,n.selecting=s,n.selected=s,s?i._trigger("selecting",t,{selecting:n.element}):i._trigger("unselecting",t,{unselecting:n.element}),!1):undefined}))},_mouseDrag:function(t){if(this.dragged=!0,!this.options.disabled){var i,s=this,n=this.options,a=this.opos[0],o=this.opos[1],r=t.pageX,h=t.pageY;return a>r&&(i=r,r=a,a=i),o>h&&(i=h,h=o,o=i),this.helper.css({left:a,top:o,width:r-a,height:h-o}),this.selectees.each(function(){var i=e.data(this,"selectable-item"),l=!1;i&&i.element!==s.element[0]&&("touch"===n.tolerance?l=!(i.left>r||a>i.right||i.top>h||o>i.bottom):"fit"===n.tolerance&&(l=i.left>a&&r>i.right&&i.top>o&&h>i.bottom),l?(i.selected&&(i.$element.removeClass("ui-selected"),i.selected=!1),i.unselecting&&(i.$element.removeClass("ui-unselecting"),i.unselecting=!1),i.selecting||(i.$element.addClass("ui-selecting"),i.selecting=!0,s._trigger("selecting",t,{selecting:i.element}))):(i.selecting&&((t.metaKey||t.ctrlKey)&&i.startselected?(i.$element.removeClass("ui-selecting"),i.selecting=!1,i.$element.addClass("ui-selected"),i.selected=!0):(i.$element.removeClass("ui-selecting"),i.selecting=!1,i.startselected&&(i.$element.addClass("ui-unselecting"),i.unselecting=!0),s._trigger("unselecting",t,{unselecting:i.element}))),i.selected&&(t.metaKey||t.ctrlKey||i.startselected||(i.$element.removeClass("ui-selected"),i.selected=!1,i.$element.addClass("ui-unselecting"),i.unselecting=!0,s._trigger("unselecting",t,{unselecting:i.element})))))}),!1}},_mouseStop:function(t){var i=this;return this.dragged=!1,e(".ui-unselecting",this.element[0]).each(function(){var s=e.data(this,"selectable-item");s.$element.removeClass("ui-unselecting"),s.unselecting=!1,s.startselected=!1,i._trigger("unselected",t,{unselected:s.element})}),e(".ui-selecting",this.element[0]).each(function(){var s=e.data(this,"selectable-item");s.$element.removeClass("ui-selecting").addClass("ui-selected"),s.selecting=!1,s.selected=!0,s.startselected=!0,i._trigger("selected",t,{selected:s.element})}),this._trigger("stop",t),this.helper.remove(),!1}})})(jQuery);(function(t){function e(t,e,i){return t>e&&e+i>t}function i(t){return/left|right/.test(t.css("float"))||/inline|table-cell/.test(t.css("display"))}t.widget("ui.sortable",t.ui.mouse,{version:"1.10.3",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_create:function(){var t=this.options;this.containerCache={},this.element.addClass("ui-sortable"),this.refresh(),this.floating=this.items.length?"x"===t.axis||i(this.items[0].item):!1,this.offset=this.element.offset(),this._mouseInit(),this.ready=!0},_destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled"),this._mouseDestroy();for(var t=this.items.length-1;t>=0;t--)this.items[t].item.removeData(this.widgetName+"-item");return this},_setOption:function(e,i){"disabled"===e?(this.options[e]=i,this.widget().toggleClass("ui-sortable-disabled",!!i)):t.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(e,i){var s=null,n=!1,a=this;return this.reverting?!1:this.options.disabled||"static"===this.options.type?!1:(this._refreshItems(e),t(e.target).parents().each(function(){return t.data(this,a.widgetName+"-item")===a?(s=t(this),!1):undefined}),t.data(e.target,a.widgetName+"-item")===a&&(s=t(e.target)),s?!this.options.handle||i||(t(this.options.handle,s).find("*").addBack().each(function(){this===e.target&&(n=!0)}),n)?(this.currentItem=s,this._removeCurrentsFromItems(),!0):!1:!1)},_mouseStart:function(e,i,s){var n,a,o=this.options;if(this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(e),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},t.extend(this.offset,{click:{left:e.pageX-this.offset.left,top:e.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(e),this.originalPageX=e.pageX,this.originalPageY=e.pageY,o.cursorAt&&this._adjustOffsetFromHelper(o.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),o.containment&&this._setContainment(),o.cursor&&"auto"!==o.cursor&&(a=this.document.find("body"),this.storedCursor=a.css("cursor"),a.css("cursor",o.cursor),this.storedStylesheet=t("<style>*{ cursor: "+o.cursor+" !important; }</style>").appendTo(a)),o.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",o.opacity)),o.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",o.zIndex)),this.scrollParent[0]!==document&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",e,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!s)for(n=this.containers.length-1;n>=0;n--)this.containers[n]._trigger("activate",e,this._uiHash(this));return t.ui.ddmanager&&(t.ui.ddmanager.current=this),t.ui.ddmanager&&!o.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(e),!0},_mouseDrag:function(e){var i,s,n,a,o=this.options,r=!1;for(this.position=this._generatePosition(e),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==document&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-e.pageY<o.scrollSensitivity?this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop+o.scrollSpeed:e.pageY-this.overflowOffset.top<o.scrollSensitivity&&(this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop-o.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-e.pageX<o.scrollSensitivity?this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft+o.scrollSpeed:e.pageX-this.overflowOffset.left<o.scrollSensitivity&&(this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft-o.scrollSpeed)):(e.pageY-t(document).scrollTop()<o.scrollSensitivity?r=t(document).scrollTop(t(document).scrollTop()-o.scrollSpeed):t(window).height()-(e.pageY-t(document).scrollTop())<o.scrollSensitivity&&(r=t(document).scrollTop(t(document).scrollTop()+o.scrollSpeed)),e.pageX-t(document).scrollLeft()<o.scrollSensitivity?r=t(document).scrollLeft(t(document).scrollLeft()-o.scrollSpeed):t(window).width()-(e.pageX-t(document).scrollLeft())<o.scrollSensitivity&&(r=t(document).scrollLeft(t(document).scrollLeft()+o.scrollSpeed))),r!==!1&&t.ui.ddmanager&&!o.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e)),this.positionAbs=this._convertPositionTo("absolute"),this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),i=this.items.length-1;i>=0;i--)if(s=this.items[i],n=s.item[0],a=this._intersectsWithPointer(s),a&&s.instance===this.currentContainer&&n!==this.currentItem[0]&&this.placeholder[1===a?"next":"prev"]()[0]!==n&&!t.contains(this.placeholder[0],n)&&("semi-dynamic"===this.options.type?!t.contains(this.element[0],n):!0)){if(this.direction=1===a?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(s))break;this._rearrange(e,s),this._trigger("change",e,this._uiHash());break}return this._contactContainers(e),t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),this._trigger("sort",e,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(e,i){if(e){if(t.ui.ddmanager&&!this.options.dropBehaviour&&t.ui.ddmanager.drop(this,e),this.options.revert){var s=this,n=this.placeholder.offset(),a=this.options.axis,o={};a&&"x"!==a||(o.left=n.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===document.body?0:this.offsetParent[0].scrollLeft)),a&&"y"!==a||(o.top=n.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===document.body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,t(this.helper).animate(o,parseInt(this.options.revert,10)||500,function(){s._clear(e)})}else this._clear(e,i);return!1}},cancel:function(){if(this.dragging){this._mouseUp({target:null}),"original"===this.options.helper?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var e=this.containers.length-1;e>=0;e--)this.containers[e]._trigger("deactivate",null,this._uiHash(this)),this.containers[e].containerCache.over&&(this.containers[e]._trigger("out",null,this._uiHash(this)),this.containers[e].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),t.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?t(this.domPosition.prev).after(this.currentItem):t(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(e){var i=this._getItemsAsjQuery(e&&e.connected),s=[];return e=e||{},t(i).each(function(){var i=(t(e.item||this).attr(e.attribute||"id")||"").match(e.expression||/(.+)[\-=_](.+)/);i&&s.push((e.key||i[1]+"[]")+"="+(e.key&&e.expression?i[1]:i[2]))}),!s.length&&e.key&&s.push(e.key+"="),s.join("&")},toArray:function(e){var i=this._getItemsAsjQuery(e&&e.connected),s=[];return e=e||{},i.each(function(){s.push(t(e.item||this).attr(e.attribute||"id")||"")}),s},_intersectsWith:function(t){var e=this.positionAbs.left,i=e+this.helperProportions.width,s=this.positionAbs.top,n=s+this.helperProportions.height,a=t.left,o=a+t.width,r=t.top,h=r+t.height,l=this.offset.click.top,c=this.offset.click.left,u="x"===this.options.axis||s+l>r&&h>s+l,d="y"===this.options.axis||e+c>a&&o>e+c,p=u&&d;return"pointer"===this.options.tolerance||this.options.forcePointerForContainers||"pointer"!==this.options.tolerance&&this.helperProportions[this.floating?"width":"height"]>t[this.floating?"width":"height"]?p:e+this.helperProportions.width/2>a&&o>i-this.helperProportions.width/2&&s+this.helperProportions.height/2>r&&h>n-this.helperProportions.height/2},_intersectsWithPointer:function(t){var i="x"===this.options.axis||e(this.positionAbs.top+this.offset.click.top,t.top,t.height),s="y"===this.options.axis||e(this.positionAbs.left+this.offset.click.left,t.left,t.width),n=i&&s,a=this._getDragVerticalDirection(),o=this._getDragHorizontalDirection();return n?this.floating?o&&"right"===o||"down"===a?2:1:a&&("down"===a?2:1):!1},_intersectsWithSides:function(t){var i=e(this.positionAbs.top+this.offset.click.top,t.top+t.height/2,t.height),s=e(this.positionAbs.left+this.offset.click.left,t.left+t.width/2,t.width),n=this._getDragVerticalDirection(),a=this._getDragHorizontalDirection();return this.floating&&a?"right"===a&&s||"left"===a&&!s:n&&("down"===n&&i||"up"===n&&!i)},_getDragVerticalDirection:function(){var t=this.positionAbs.top-this.lastPositionAbs.top;return 0!==t&&(t>0?"down":"up")},_getDragHorizontalDirection:function(){var t=this.positionAbs.left-this.lastPositionAbs.left;return 0!==t&&(t>0?"right":"left")},refresh:function(t){return this._refreshItems(t),this.refreshPositions(),this},_connectWith:function(){var t=this.options;return t.connectWith.constructor===String?[t.connectWith]:t.connectWith},_getItemsAsjQuery:function(e){var i,s,n,a,o=[],r=[],h=this._connectWith();if(h&&e)for(i=h.length-1;i>=0;i--)for(n=t(h[i]),s=n.length-1;s>=0;s--)a=t.data(n[s],this.widgetFullName),a&&a!==this&&!a.options.disabled&&r.push([t.isFunction(a.options.items)?a.options.items.call(a.element):t(a.options.items,a.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),a]);for(r.push([t.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):t(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),i=r.length-1;i>=0;i--)r[i][0].each(function(){o.push(this)});return t(o)},_removeCurrentsFromItems:function(){var e=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=t.grep(this.items,function(t){for(var i=0;e.length>i;i++)if(e[i]===t.item[0])return!1;return!0})},_refreshItems:function(e){this.items=[],this.containers=[this];var i,s,n,a,o,r,h,l,c=this.items,u=[[t.isFunction(this.options.items)?this.options.items.call(this.element[0],e,{item:this.currentItem}):t(this.options.items,this.element),this]],d=this._connectWith();if(d&&this.ready)for(i=d.length-1;i>=0;i--)for(n=t(d[i]),s=n.length-1;s>=0;s--)a=t.data(n[s],this.widgetFullName),a&&a!==this&&!a.options.disabled&&(u.push([t.isFunction(a.options.items)?a.options.items.call(a.element[0],e,{item:this.currentItem}):t(a.options.items,a.element),a]),this.containers.push(a));for(i=u.length-1;i>=0;i--)for(o=u[i][1],r=u[i][0],s=0,l=r.length;l>s;s++)h=t(r[s]),h.data(this.widgetName+"-item",o),c.push({item:h,instance:o,width:0,height:0,left:0,top:0})},refreshPositions:function(e){this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());var i,s,n,a;for(i=this.items.length-1;i>=0;i--)s=this.items[i],s.instance!==this.currentContainer&&this.currentContainer&&s.item[0]!==this.currentItem[0]||(n=this.options.toleranceElement?t(this.options.toleranceElement,s.item):s.item,e||(s.width=n.outerWidth(),s.height=n.outerHeight()),a=n.offset(),s.left=a.left,s.top=a.top);if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(i=this.containers.length-1;i>=0;i--)a=this.containers[i].element.offset(),this.containers[i].containerCache.left=a.left,this.containers[i].containerCache.top=a.top,this.containers[i].containerCache.width=this.containers[i].element.outerWidth(),this.containers[i].containerCache.height=this.containers[i].element.outerHeight();return this},_createPlaceholder:function(e){e=e||this;var i,s=e.options;s.placeholder&&s.placeholder.constructor!==String||(i=s.placeholder,s.placeholder={element:function(){var s=e.currentItem[0].nodeName.toLowerCase(),n=t("<"+s+">",e.document[0]).addClass(i||e.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper");return"tr"===s?e.currentItem.children().each(function(){t("<td> </td>",e.document[0]).attr("colspan",t(this).attr("colspan")||1).appendTo(n)}):"img"===s&&n.attr("src",e.currentItem.attr("src")),i||n.css("visibility","hidden"),n},update:function(t,n){(!i||s.forcePlaceholderSize)&&(n.height()||n.height(e.currentItem.innerHeight()-parseInt(e.currentItem.css("paddingTop")||0,10)-parseInt(e.currentItem.css("paddingBottom")||0,10)),n.width()||n.width(e.currentItem.innerWidth()-parseInt(e.currentItem.css("paddingLeft")||0,10)-parseInt(e.currentItem.css("paddingRight")||0,10)))}}),e.placeholder=t(s.placeholder.element.call(e.element,e.currentItem)),e.currentItem.after(e.placeholder),s.placeholder.update(e,e.placeholder)},_contactContainers:function(s){var n,a,o,r,h,l,c,u,d,p,f=null,m=null;for(n=this.containers.length-1;n>=0;n--)if(!t.contains(this.currentItem[0],this.containers[n].element[0]))if(this._intersectsWith(this.containers[n].containerCache)){if(f&&t.contains(this.containers[n].element[0],f.element[0]))continue;f=this.containers[n],m=n}else this.containers[n].containerCache.over&&(this.containers[n]._trigger("out",s,this._uiHash(this)),this.containers[n].containerCache.over=0);if(f)if(1===this.containers.length)this.containers[m].containerCache.over||(this.containers[m]._trigger("over",s,this._uiHash(this)),this.containers[m].containerCache.over=1);else{for(o=1e4,r=null,p=f.floating||i(this.currentItem),h=p?"left":"top",l=p?"width":"height",c=this.positionAbs[h]+this.offset.click[h],a=this.items.length-1;a>=0;a--)t.contains(this.containers[m].element[0],this.items[a].item[0])&&this.items[a].item[0]!==this.currentItem[0]&&(!p||e(this.positionAbs.top+this.offset.click.top,this.items[a].top,this.items[a].height))&&(u=this.items[a].item.offset()[h],d=!1,Math.abs(u-c)>Math.abs(u+this.items[a][l]-c)&&(d=!0,u+=this.items[a][l]),o>Math.abs(u-c)&&(o=Math.abs(u-c),r=this.items[a],this.direction=d?"up":"down"));if(!r&&!this.options.dropOnEmpty)return;if(this.currentContainer===this.containers[m])return;r?this._rearrange(s,r,null,!0):this._rearrange(s,null,this.containers[m].element,!0),this._trigger("change",s,this._uiHash()),this.containers[m]._trigger("change",s,this._uiHash(this)),this.currentContainer=this.containers[m],this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[m]._trigger("over",s,this._uiHash(this)),this.containers[m].containerCache.over=1}},_createHelper:function(e){var i=this.options,s=t.isFunction(i.helper)?t(i.helper.apply(this.element[0],[e,this.currentItem])):"clone"===i.helper?this.currentItem.clone():this.currentItem;return s.parents("body").length||t("parent"!==i.appendTo?i.appendTo:this.currentItem[0].parentNode)[0].appendChild(s[0]),s[0]===this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}),(!s[0].style.width||i.forceHelperSize)&&s.width(this.currentItem.width()),(!s[0].style.height||i.forceHelperSize)&&s.height(this.currentItem.height()),s},_adjustOffsetFromHelper:function(e){"string"==typeof e&&(e=e.split(" ")),t.isArray(e)&&(e={left:+e[0],top:+e[1]||0}),"left"in e&&(this.offset.click.left=e.left+this.margins.left),"right"in e&&(this.offset.click.left=this.helperProportions.width-e.right+this.margins.left),"top"in e&&(this.offset.click.top=e.top+this.margins.top),"bottom"in e&&(this.offset.click.top=this.helperProportions.height-e.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var e=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])&&(e.left+=this.scrollParent.scrollLeft(),e.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===document.body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&t.ui.ie)&&(e={top:0,left:0}),{top:e.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:e.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var t=this.currentItem.position();return{top:t.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:t.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e,i,s,n=this.options;"parent"===n.containment&&(n.containment=this.helper[0].parentNode),("document"===n.containment||"window"===n.containment)&&(this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,t("document"===n.containment?document:window).width()-this.helperProportions.width-this.margins.left,(t("document"===n.containment?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),/^(document|window|parent)$/.test(n.containment)||(e=t(n.containment)[0],i=t(n.containment).offset(),s="hidden"!==t(e).css("overflow"),this.containment=[i.left+(parseInt(t(e).css("borderLeftWidth"),10)||0)+(parseInt(t(e).css("paddingLeft"),10)||0)-this.margins.left,i.top+(parseInt(t(e).css("borderTopWidth"),10)||0)+(parseInt(t(e).css("paddingTop"),10)||0)-this.margins.top,i.left+(s?Math.max(e.scrollWidth,e.offsetWidth):e.offsetWidth)-(parseInt(t(e).css("borderLeftWidth"),10)||0)-(parseInt(t(e).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,i.top+(s?Math.max(e.scrollHeight,e.offsetHeight):e.offsetHeight)-(parseInt(t(e).css("borderTopWidth"),10)||0)-(parseInt(t(e).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top])},_convertPositionTo:function(e,i){i||(i=this.position);var s="absolute"===e?1:-1,n="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,a=/(html|body)/i.test(n[0].tagName);return{top:i.top+this.offset.relative.top*s+this.offset.parent.top*s-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():a?0:n.scrollTop())*s,left:i.left+this.offset.relative.left*s+this.offset.parent.left*s-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():a?0:n.scrollLeft())*s}},_generatePosition:function(e){var i,s,n=this.options,a=e.pageX,o=e.pageY,r="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,h=/(html|body)/i.test(r[0].tagName);return"relative"!==this.cssPosition||this.scrollParent[0]!==document&&this.scrollParent[0]!==this.offsetParent[0]||(this.offset.relative=this._getRelativeOffset()),this.originalPosition&&(this.containment&&(e.pageX-this.offset.click.left<this.containment[0]&&(a=this.containment[0]+this.offset.click.left),e.pageY-this.offset.click.top<this.containment[1]&&(o=this.containment[1]+this.offset.click.top),e.pageX-this.offset.click.left>this.containment[2]&&(a=this.containment[2]+this.offset.click.left),e.pageY-this.offset.click.top>this.containment[3]&&(o=this.containment[3]+this.offset.click.top)),n.grid&&(i=this.originalPageY+Math.round((o-this.originalPageY)/n.grid[1])*n.grid[1],o=this.containment?i-this.offset.click.top>=this.containment[1]&&i-this.offset.click.top<=this.containment[3]?i:i-this.offset.click.top>=this.containment[1]?i-n.grid[1]:i+n.grid[1]:i,s=this.originalPageX+Math.round((a-this.originalPageX)/n.grid[0])*n.grid[0],a=this.containment?s-this.offset.click.left>=this.containment[0]&&s-this.offset.click.left<=this.containment[2]?s:s-this.offset.click.left>=this.containment[0]?s-n.grid[0]:s+n.grid[0]:s)),{top:o-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():h?0:r.scrollTop()),left:a-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():h?0:r.scrollLeft())}},_rearrange:function(t,e,i,s){i?i[0].appendChild(this.placeholder[0]):e.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?e.item[0]:e.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var n=this.counter;this._delay(function(){n===this.counter&&this.refreshPositions(!s)})},_clear:function(t,e){this.reverting=!1;var i,s=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(i in this._storedCSS)("auto"===this._storedCSS[i]||"static"===this._storedCSS[i])&&(this._storedCSS[i]="");this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();for(this.fromOutside&&!e&&s.push(function(t){this._trigger("receive",t,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||e||s.push(function(t){this._trigger("update",t,this._uiHash())}),this!==this.currentContainer&&(e||(s.push(function(t){this._trigger("remove",t,this._uiHash())}),s.push(function(t){return function(e){t._trigger("receive",e,this._uiHash(this))}}.call(this,this.currentContainer)),s.push(function(t){return function(e){t._trigger("update",e,this._uiHash(this))}}.call(this,this.currentContainer)))),i=this.containers.length-1;i>=0;i--)e||s.push(function(t){return function(e){t._trigger("deactivate",e,this._uiHash(this))}}.call(this,this.containers[i])),this.containers[i].containerCache.over&&(s.push(function(t){return function(e){t._trigger("out",e,this._uiHash(this))}}.call(this,this.containers[i])),this.containers[i].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,this.cancelHelperRemoval){if(!e){for(this._trigger("beforeStop",t,this._uiHash()),i=0;s.length>i;i++)s[i].call(this,t);this._trigger("stop",t,this._uiHash())}return this.fromOutside=!1,!1}if(e||this._trigger("beforeStop",t,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null,!e){for(i=0;s.length>i;i++)s[i].call(this,t);this._trigger("stop",t,this._uiHash())}return this.fromOutside=!1,!0},_trigger:function(){t.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(e){var i=e||this;return{helper:i.helper,placeholder:i.placeholder||t([]),position:i.position,originalPosition:i.originalPosition,offset:i.positionAbs,item:i.currentItem,sender:e?e.element:null}}})})(jQuery);(function(t){var e=5;t.widget("ui.slider",t.ui.mouse,{version:"1.10.3",widgetEventPrefix:"slide",options:{animate:!1,distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},_create:function(){this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget"+" ui-widget-content"+" ui-corner-all"),this._refresh(),this._setOption("disabled",this.options.disabled),this._animateOff=!1},_refresh:function(){this._createRange(),this._createHandles(),this._setupEvents(),this._refreshValue()},_createHandles:function(){var e,i,s=this.options,n=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),a="<a class='ui-slider-handle ui-state-default ui-corner-all' href='#'></a>",o=[];for(i=s.values&&s.values.length||1,n.length>i&&(n.slice(i).remove(),n=n.slice(0,i)),e=n.length;i>e;e++)o.push(a);this.handles=n.add(t(o.join("")).appendTo(this.element)),this.handle=this.handles.eq(0),this.handles.each(function(e){t(this).data("ui-slider-handle-index",e)})},_createRange:function(){var e=this.options,i="";e.range?(e.range===!0&&(e.values?e.values.length&&2!==e.values.length?e.values=[e.values[0],e.values[0]]:t.isArray(e.values)&&(e.values=e.values.slice(0)):e.values=[this._valueMin(),this._valueMin()]),this.range&&this.range.length?this.range.removeClass("ui-slider-range-min ui-slider-range-max").css({left:"",bottom:""}):(this.range=t("<div></div>").appendTo(this.element),i="ui-slider-range ui-widget-header ui-corner-all"),this.range.addClass(i+("min"===e.range||"max"===e.range?" ui-slider-range-"+e.range:""))):this.range=t([])},_setupEvents:function(){var t=this.handles.add(this.range).filter("a");this._off(t),this._on(t,this._handleEvents),this._hoverable(t),this._focusable(t)},_destroy:function(){this.handles.remove(),this.range.remove(),this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-widget ui-widget-content ui-corner-all"),this._mouseDestroy()},_mouseCapture:function(e){var i,s,n,a,o,r,h,l,u=this,c=this.options;return c.disabled?!1:(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),i={x:e.pageX,y:e.pageY},s=this._normValueFromMouse(i),n=this._valueMax()-this._valueMin()+1,this.handles.each(function(e){var i=Math.abs(s-u.values(e));(n>i||n===i&&(e===u._lastChangedValue||u.values(e)===c.min))&&(n=i,a=t(this),o=e)}),r=this._start(e,o),r===!1?!1:(this._mouseSliding=!0,this._handleIndex=o,a.addClass("ui-state-active").focus(),h=a.offset(),l=!t(e.target).parents().addBack().is(".ui-slider-handle"),this._clickOffset=l?{left:0,top:0}:{left:e.pageX-h.left-a.width()/2,top:e.pageY-h.top-a.height()/2-(parseInt(a.css("borderTopWidth"),10)||0)-(parseInt(a.css("borderBottomWidth"),10)||0)+(parseInt(a.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(e,o,s),this._animateOff=!0,!0))},_mouseStart:function(){return!0},_mouseDrag:function(t){var e={x:t.pageX,y:t.pageY},i=this._normValueFromMouse(e);return this._slide(t,this._handleIndex,i),!1},_mouseStop:function(t){return this.handles.removeClass("ui-state-active"),this._mouseSliding=!1,this._stop(t,this._handleIndex),this._change(t,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(t){var e,i,s,n,a;return"horizontal"===this.orientation?(e=this.elementSize.width,i=t.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(e=this.elementSize.height,i=t.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),s=i/e,s>1&&(s=1),0>s&&(s=0),"vertical"===this.orientation&&(s=1-s),n=this._valueMax()-this._valueMin(),a=this._valueMin()+s*n,this._trimAlignValue(a)},_start:function(t,e){var i={handle:this.handles[e],value:this.value()};return this.options.values&&this.options.values.length&&(i.value=this.values(e),i.values=this.values()),this._trigger("start",t,i)},_slide:function(t,e,i){var s,n,a;this.options.values&&this.options.values.length?(s=this.values(e?0:1),2===this.options.values.length&&this.options.range===!0&&(0===e&&i>s||1===e&&s>i)&&(i=s),i!==this.values(e)&&(n=this.values(),n[e]=i,a=this._trigger("slide",t,{handle:this.handles[e],value:i,values:n}),s=this.values(e?0:1),a!==!1&&this.values(e,i,!0))):i!==this.value()&&(a=this._trigger("slide",t,{handle:this.handles[e],value:i}),a!==!1&&this.value(i))},_stop:function(t,e){var i={handle:this.handles[e],value:this.value()};this.options.values&&this.options.values.length&&(i.value=this.values(e),i.values=this.values()),this._trigger("stop",t,i)},_change:function(t,e){if(!this._keySliding&&!this._mouseSliding){var i={handle:this.handles[e],value:this.value()};this.options.values&&this.options.values.length&&(i.value=this.values(e),i.values=this.values()),this._lastChangedValue=e,this._trigger("change",t,i)}},value:function(t){return arguments.length?(this.options.value=this._trimAlignValue(t),this._refreshValue(),this._change(null,0),undefined):this._value()},values:function(e,i){var s,n,a;if(arguments.length>1)return this.options.values[e]=this._trimAlignValue(i),this._refreshValue(),this._change(null,e),undefined;if(!arguments.length)return this._values();if(!t.isArray(arguments[0]))return this.options.values&&this.options.values.length?this._values(e):this.value();for(s=this.options.values,n=arguments[0],a=0;s.length>a;a+=1)s[a]=this._trimAlignValue(n[a]),this._change(null,a);this._refreshValue()},_setOption:function(e,i){var s,n=0;switch("range"===e&&this.options.range===!0&&("min"===i?(this.options.value=this._values(0),this.options.values=null):"max"===i&&(this.options.value=this._values(this.options.values.length-1),this.options.values=null)),t.isArray(this.options.values)&&(n=this.options.values.length),t.Widget.prototype._setOption.apply(this,arguments),e){case"orientation":this._detectOrientation(),this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation),this._refreshValue();break;case"value":this._animateOff=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case"values":for(this._animateOff=!0,this._refreshValue(),s=0;n>s;s+=1)this._change(null,s);this._animateOff=!1;break;case"min":case"max":this._animateOff=!0,this._refreshValue(),this._animateOff=!1;break;case"range":this._animateOff=!0,this._refresh(),this._animateOff=!1}},_value:function(){var t=this.options.value;return t=this._trimAlignValue(t)},_values:function(t){var e,i,s;if(arguments.length)return e=this.options.values[t],e=this._trimAlignValue(e);if(this.options.values&&this.options.values.length){for(i=this.options.values.slice(),s=0;i.length>s;s+=1)i[s]=this._trimAlignValue(i[s]);return i}return[]},_trimAlignValue:function(t){if(this._valueMin()>=t)return this._valueMin();if(t>=this._valueMax())return this._valueMax();var e=this.options.step>0?this.options.step:1,i=(t-this._valueMin())%e,s=t-i;return 2*Math.abs(i)>=e&&(s+=i>0?e:-e),parseFloat(s.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var e,i,s,n,a,o=this.options.range,r=this.options,h=this,l=this._animateOff?!1:r.animate,u={};this.options.values&&this.options.values.length?this.handles.each(function(s){i=100*((h.values(s)-h._valueMin())/(h._valueMax()-h._valueMin())),u["horizontal"===h.orientation?"left":"bottom"]=i+"%",t(this).stop(1,1)[l?"animate":"css"](u,r.animate),h.options.range===!0&&("horizontal"===h.orientation?(0===s&&h.range.stop(1,1)[l?"animate":"css"]({left:i+"%"},r.animate),1===s&&h.range[l?"animate":"css"]({width:i-e+"%"},{queue:!1,duration:r.animate})):(0===s&&h.range.stop(1,1)[l?"animate":"css"]({bottom:i+"%"},r.animate),1===s&&h.range[l?"animate":"css"]({height:i-e+"%"},{queue:!1,duration:r.animate}))),e=i}):(s=this.value(),n=this._valueMin(),a=this._valueMax(),i=a!==n?100*((s-n)/(a-n)):0,u["horizontal"===this.orientation?"left":"bottom"]=i+"%",this.handle.stop(1,1)[l?"animate":"css"](u,r.animate),"min"===o&&"horizontal"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({width:i+"%"},r.animate),"max"===o&&"horizontal"===this.orientation&&this.range[l?"animate":"css"]({width:100-i+"%"},{queue:!1,duration:r.animate}),"min"===o&&"vertical"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({height:i+"%"},r.animate),"max"===o&&"vertical"===this.orientation&&this.range[l?"animate":"css"]({height:100-i+"%"},{queue:!1,duration:r.animate}))},_handleEvents:{keydown:function(i){var s,n,a,o,r=t(i.target).data("ui-slider-handle-index");switch(i.keyCode){case t.ui.keyCode.HOME:case t.ui.keyCode.END:case t.ui.keyCode.PAGE_UP:case t.ui.keyCode.PAGE_DOWN:case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(i.preventDefault(),!this._keySliding&&(this._keySliding=!0,t(i.target).addClass("ui-state-active"),s=this._start(i,r),s===!1))return}switch(o=this.options.step,n=a=this.options.values&&this.options.values.length?this.values(r):this.value(),i.keyCode){case t.ui.keyCode.HOME:a=this._valueMin();break;case t.ui.keyCode.END:a=this._valueMax();break;case t.ui.keyCode.PAGE_UP:a=this._trimAlignValue(n+(this._valueMax()-this._valueMin())/e);break;case t.ui.keyCode.PAGE_DOWN:a=this._trimAlignValue(n-(this._valueMax()-this._valueMin())/e);break;case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:if(n===this._valueMax())return;a=this._trimAlignValue(n+o);break;case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(n===this._valueMin())return;a=this._trimAlignValue(n-o)}this._slide(i,r,a)},click:function(t){t.preventDefault()},keyup:function(e){var i=t(e.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(e,i),this._change(e,i),t(e.target).removeClass("ui-state-active"))}}})})(jQuery);
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/js/jquery-ui-1.10.3.full.min.js b/src/main/webapp/static/login/assets/js/jquery-ui-1.10.3.full.min.js new file mode 100644 index 0000000..67600c0 --- /dev/null +++ b/src/main/webapp/static/login/assets/js/jquery-ui-1.10.3.full.min.js @@ -0,0 +1,7 @@ +/*! jQuery UI - v1.10.3 - 2013-08-03
+* http://jqueryui.com
+* Includes: jquery.ui.core.js, jquery.ui.widget.js, jquery.ui.mouse.js, jquery.ui.position.js, jquery.ui.draggable.js, jquery.ui.droppable.js, jquery.ui.resizable.js, jquery.ui.selectable.js, jquery.ui.sortable.js, jquery.ui.accordion.js, jquery.ui.autocomplete.js, jquery.ui.button.js, jquery.ui.datepicker.js, jquery.ui.dialog.js, jquery.ui.menu.js, jquery.ui.progressbar.js, jquery.ui.slider.js, jquery.ui.spinner.js, jquery.ui.tabs.js, jquery.ui.tooltip.js, jquery.ui.effect.js, jquery.ui.effect-blind.js, jquery.ui.effect-bounce.js, jquery.ui.effect-clip.js, jquery.ui.effect-drop.js, jquery.ui.effect-explode.js, jquery.ui.effect-fade.js, jquery.ui.effect-fold.js, jquery.ui.effect-highlight.js, jquery.ui.effect-pulsate.js, jquery.ui.effect-scale.js, jquery.ui.effect-shake.js, jquery.ui.effect-slide.js, jquery.ui.effect-transfer.js
+* Copyright 2013 jQuery Foundation and other contributors Licensed MIT */
+
+(function(e,t){function i(t,i){var a,n,r,o=t.nodeName.toLowerCase();return"area"===o?(a=t.parentNode,n=a.name,t.href&&n&&"map"===a.nodeName.toLowerCase()?(r=e("img[usemap=#"+n+"]")[0],!!r&&s(r)):!1):(/input|select|textarea|button|object/.test(o)?!t.disabled:"a"===o?t.href||i:i)&&s(t)}function s(t){return e.expr.filters.visible(t)&&!e(t).parents().addBack().filter(function(){return"hidden"===e.css(this,"visibility")}).length}var a=0,n=/^ui-id-\d+$/;e.ui=e.ui||{},e.extend(e.ui,{version:"1.10.3",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),e.fn.extend({focus:function(t){return function(i,s){return"number"==typeof i?this.each(function(){var t=this;setTimeout(function(){e(t).focus(),s&&s.call(t)},i)}):t.apply(this,arguments)}}(e.fn.focus),scrollParent:function(){var t;return t=e.ui.ie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(e.css(this,"position"))&&/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0),/fixed/.test(this.css("position"))||!t.length?e(document):t},zIndex:function(i){if(i!==t)return this.css("zIndex",i);if(this.length)for(var s,a,n=e(this[0]);n.length&&n[0]!==document;){if(s=n.css("position"),("absolute"===s||"relative"===s||"fixed"===s)&&(a=parseInt(n.css("zIndex"),10),!isNaN(a)&&0!==a))return a;n=n.parent()}return 0},uniqueId:function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++a)})},removeUniqueId:function(){return this.each(function(){n.test(this.id)&&e(this).removeAttr("id")})}}),e.extend(e.expr[":"],{data:e.expr.createPseudo?e.expr.createPseudo(function(t){return function(i){return!!e.data(i,t)}}):function(t,i,s){return!!e.data(t,s[3])},focusable:function(t){return i(t,!isNaN(e.attr(t,"tabindex")))},tabbable:function(t){var s=e.attr(t,"tabindex"),a=isNaN(s);return(a||s>=0)&&i(t,!a)}}),e("<a>").outerWidth(1).jquery||e.each(["Width","Height"],function(i,s){function a(t,i,s,a){return e.each(n,function(){i-=parseFloat(e.css(t,"padding"+this))||0,s&&(i-=parseFloat(e.css(t,"border"+this+"Width"))||0),a&&(i-=parseFloat(e.css(t,"margin"+this))||0)}),i}var n="Width"===s?["Left","Right"]:["Top","Bottom"],r=s.toLowerCase(),o={innerWidth:e.fn.innerWidth,innerHeight:e.fn.innerHeight,outerWidth:e.fn.outerWidth,outerHeight:e.fn.outerHeight};e.fn["inner"+s]=function(i){return i===t?o["inner"+s].call(this):this.each(function(){e(this).css(r,a(this,i)+"px")})},e.fn["outer"+s]=function(t,i){return"number"!=typeof t?o["outer"+s].call(this,t):this.each(function(){e(this).css(r,a(this,t,!0,i)+"px")})}}),e.fn.addBack||(e.fn.addBack=function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}),e("<a>").data("a-b","a").removeData("a-b").data("a-b")&&(e.fn.removeData=function(t){return function(i){return arguments.length?t.call(this,e.camelCase(i)):t.call(this)}}(e.fn.removeData)),e.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),e.support.selectstart="onselectstart"in document.createElement("div"),e.fn.extend({disableSelection:function(){return this.bind((e.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),e.extend(e.ui,{plugin:{add:function(t,i,s){var a,n=e.ui[t].prototype;for(a in s)n.plugins[a]=n.plugins[a]||[],n.plugins[a].push([i,s[a]])},call:function(e,t,i){var s,a=e.plugins[t];if(a&&e.element[0].parentNode&&11!==e.element[0].parentNode.nodeType)for(s=0;a.length>s;s++)e.options[a[s][0]]&&a[s][1].apply(e.element,i)}},hasScroll:function(t,i){if("hidden"===e(t).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",a=!1;return t[s]>0?!0:(t[s]=1,a=t[s]>0,t[s]=0,a)}})})(jQuery);(function(e,t){var i=0,s=Array.prototype.slice,n=e.cleanData;e.cleanData=function(t){for(var i,s=0;null!=(i=t[s]);s++)try{e(i).triggerHandler("remove")}catch(a){}n(t)},e.widget=function(i,s,n){var a,r,o,h,l={},u=i.split(".")[0];i=i.split(".")[1],a=u+"-"+i,n||(n=s,s=e.Widget),e.expr[":"][a.toLowerCase()]=function(t){return!!e.data(t,a)},e[u]=e[u]||{},r=e[u][i],o=e[u][i]=function(e,i){return this._createWidget?(arguments.length&&this._createWidget(e,i),t):new o(e,i)},e.extend(o,r,{version:n.version,_proto:e.extend({},n),_childConstructors:[]}),h=new s,h.options=e.widget.extend({},h.options),e.each(n,function(i,n){return e.isFunction(n)?(l[i]=function(){var e=function(){return s.prototype[i].apply(this,arguments)},t=function(e){return s.prototype[i].apply(this,e)};return function(){var i,s=this._super,a=this._superApply;return this._super=e,this._superApply=t,i=n.apply(this,arguments),this._super=s,this._superApply=a,i}}(),t):(l[i]=n,t)}),o.prototype=e.widget.extend(h,{widgetEventPrefix:r?h.widgetEventPrefix:i},l,{constructor:o,namespace:u,widgetName:i,widgetFullName:a}),r?(e.each(r._childConstructors,function(t,i){var s=i.prototype;e.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete r._childConstructors):s._childConstructors.push(o),e.widget.bridge(i,o)},e.widget.extend=function(i){for(var n,a,r=s.call(arguments,1),o=0,h=r.length;h>o;o++)for(n in r[o])a=r[o][n],r[o].hasOwnProperty(n)&&a!==t&&(i[n]=e.isPlainObject(a)?e.isPlainObject(i[n])?e.widget.extend({},i[n],a):e.widget.extend({},a):a);return i},e.widget.bridge=function(i,n){var a=n.prototype.widgetFullName||i;e.fn[i]=function(r){var o="string"==typeof r,h=s.call(arguments,1),l=this;return r=!o&&h.length?e.widget.extend.apply(null,[r].concat(h)):r,o?this.each(function(){var s,n=e.data(this,a);return n?e.isFunction(n[r])&&"_"!==r.charAt(0)?(s=n[r].apply(n,h),s!==n&&s!==t?(l=s&&s.jquery?l.pushStack(s.get()):s,!1):t):e.error("no such method '"+r+"' for "+i+" widget instance"):e.error("cannot call methods on "+i+" prior to initialization; "+"attempted to call method '"+r+"'")}):this.each(function(){var t=e.data(this,a);t?t.option(r||{})._init():e.data(this,a,new n(r,this))}),l}},e.Widget=function(){},e.Widget._childConstructors=[],e.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{disabled:!1,create:null},_createWidget:function(t,s){s=e(s||this.defaultElement||this)[0],this.element=e(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.options=e.widget.extend({},this.options,this._getCreateOptions(),t),this.bindings=e(),this.hoverable=e(),this.focusable=e(),s!==this&&(e.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(e){e.target===s&&this.destroy()}}),this.document=e(s.style?s.ownerDocument:s.document||s),this.window=e(this.document[0].defaultView||this.document[0].parentWindow)),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:e.noop,_getCreateEventData:e.noop,_create:e.noop,_init:e.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetName).removeData(this.widgetFullName).removeData(e.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled "+"ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:e.noop,widget:function(){return this.element},option:function(i,s){var n,a,r,o=i;if(0===arguments.length)return e.widget.extend({},this.options);if("string"==typeof i)if(o={},n=i.split("."),i=n.shift(),n.length){for(a=o[i]=e.widget.extend({},this.options[i]),r=0;n.length-1>r;r++)a[n[r]]=a[n[r]]||{},a=a[n[r]];if(i=n.pop(),s===t)return a[i]===t?null:a[i];a[i]=s}else{if(s===t)return this.options[i]===t?null:this.options[i];o[i]=s}return this._setOptions(o),this},_setOptions:function(e){var t;for(t in e)this._setOption(t,e[t]);return this},_setOption:function(e,t){return this.options[e]=t,"disabled"===e&&(this.widget().toggleClass(this.widgetFullName+"-disabled ui-state-disabled",!!t).attr("aria-disabled",t),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")),this},enable:function(){return this._setOption("disabled",!1)},disable:function(){return this._setOption("disabled",!0)},_on:function(i,s,n){var a,r=this;"boolean"!=typeof i&&(n=s,s=i,i=!1),n?(s=a=e(s),this.bindings=this.bindings.add(s)):(n=s,s=this.element,a=this.widget()),e.each(n,function(n,o){function h(){return i||r.options.disabled!==!0&&!e(this).hasClass("ui-state-disabled")?("string"==typeof o?r[o]:o).apply(r,arguments):t}"string"!=typeof o&&(h.guid=o.guid=o.guid||h.guid||e.guid++);var l=n.match(/^(\w+)\s*(.*)$/),u=l[1]+r.eventNamespace,c=l[2];c?a.delegate(c,u,h):s.bind(u,h)})},_off:function(e,t){t=(t||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.unbind(t).undelegate(t)},_delay:function(e,t){function i(){return("string"==typeof e?s[e]:e).apply(s,arguments)}var s=this;return setTimeout(i,t||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){e(t.currentTarget).addClass("ui-state-hover")},mouseleave:function(t){e(t.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){e(t.currentTarget).addClass("ui-state-focus")},focusout:function(t){e(t.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(t,i,s){var n,a,r=this.options[t];if(s=s||{},i=e.Event(i),i.type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),i.target=this.element[0],a=i.originalEvent)for(n in a)n in i||(i[n]=a[n]);return this.element.trigger(i,s),!(e.isFunction(r)&&r.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},e.each({show:"fadeIn",hide:"fadeOut"},function(t,i){e.Widget.prototype["_"+t]=function(s,n,a){"string"==typeof n&&(n={effect:n});var r,o=n?n===!0||"number"==typeof n?i:n.effect||i:t;n=n||{},"number"==typeof n&&(n={duration:n}),r=!e.isEmptyObject(n),n.complete=a,n.delay&&s.delay(n.delay),r&&e.effects&&e.effects.effect[o]?s[t](n):o!==t&&s[o]?s[o](n.duration,n.easing,a):s.queue(function(i){e(this)[t](),a&&a.call(s[0]),i()})}})})(jQuery);(function(e){var t=!1;e(document).mouseup(function(){t=!1}),e.widget("ui.mouse",{version:"1.10.3",options:{cancel:"input,textarea,button,select,option",distance:1,delay:0},_mouseInit:function(){var t=this;this.element.bind("mousedown."+this.widgetName,function(e){return t._mouseDown(e)}).bind("click."+this.widgetName,function(i){return!0===e.data(i.target,t.widgetName+".preventClickEvent")?(e.removeData(i.target,t.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):undefined}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName),this._mouseMoveDelegate&&e(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(i){if(!t){this._mouseStarted&&this._mouseUp(i),this._mouseDownEvent=i;var s=this,n=1===i.which,a="string"==typeof this.options.cancel&&i.target.nodeName?e(i.target).closest(this.options.cancel).length:!1;return n&&!a&&this._mouseCapture(i)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){s.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(i)&&this._mouseDelayMet(i)&&(this._mouseStarted=this._mouseStart(i)!==!1,!this._mouseStarted)?(i.preventDefault(),!0):(!0===e.data(i.target,this.widgetName+".preventClickEvent")&&e.removeData(i.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(e){return s._mouseMove(e)},this._mouseUpDelegate=function(e){return s._mouseUp(e)},e(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),i.preventDefault(),t=!0,!0)):!0}},_mouseMove:function(t){return e.ui.ie&&(!document.documentMode||9>document.documentMode)&&!t.button?this._mouseUp(t):this._mouseStarted?(this._mouseDrag(t),t.preventDefault()):(this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,t)!==!1,this._mouseStarted?this._mouseDrag(t):this._mouseUp(t)),!this._mouseStarted)},_mouseUp:function(t){return e(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,t.target===this._mouseDownEvent.target&&e.data(t.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(t)),!1},_mouseDistanceMet:function(e){return Math.max(Math.abs(this._mouseDownEvent.pageX-e.pageX),Math.abs(this._mouseDownEvent.pageY-e.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}})})(jQuery);(function(t,e){function i(t,e,i){return[parseFloat(t[0])*(p.test(t[0])?e/100:1),parseFloat(t[1])*(p.test(t[1])?i/100:1)]}function s(e,i){return parseInt(t.css(e,i),10)||0}function n(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}t.ui=t.ui||{};var a,o=Math.max,r=Math.abs,h=Math.round,l=/left|center|right/,c=/top|center|bottom/,u=/[\+\-]\d+(\.[\d]+)?%?/,d=/^\w+/,p=/%$/,f=t.fn.position;t.position={scrollbarWidth:function(){if(a!==e)return a;var i,s,n=t("<div style='display:block;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),o=n.children()[0];return t("body").append(n),i=o.offsetWidth,n.css("overflow","scroll"),s=o.offsetWidth,i===s&&(s=n[0].clientWidth),n.remove(),a=i-s},getScrollInfo:function(e){var i=e.isWindow?"":e.element.css("overflow-x"),s=e.isWindow?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.width<e.element[0].scrollWidth,a="scroll"===s||"auto"===s&&e.height<e.element[0].scrollHeight;return{width:a?t.position.scrollbarWidth():0,height:n?t.position.scrollbarWidth():0}},getWithinInfo:function(e){var i=t(e||window),s=t.isWindow(i[0]);return{element:i,isWindow:s,offset:i.offset()||{left:0,top:0},scrollLeft:i.scrollLeft(),scrollTop:i.scrollTop(),width:s?i.width():i.outerWidth(),height:s?i.height():i.outerHeight()}}},t.fn.position=function(e){if(!e||!e.of)return f.apply(this,arguments);e=t.extend({},e);var a,p,m,g,v,b,_=t(e.of),y=t.position.getWithinInfo(e.within),w=t.position.getScrollInfo(y),x=(e.collision||"flip").split(" "),k={};return b=n(_),_[0].preventDefault&&(e.at="left top"),p=b.width,m=b.height,g=b.offset,v=t.extend({},g),t.each(["my","at"],function(){var t,i,s=(e[this]||"").split(" ");1===s.length&&(s=l.test(s[0])?s.concat(["center"]):c.test(s[0])?["center"].concat(s):["center","center"]),s[0]=l.test(s[0])?s[0]:"center",s[1]=c.test(s[1])?s[1]:"center",t=u.exec(s[0]),i=u.exec(s[1]),k[this]=[t?t[0]:0,i?i[0]:0],e[this]=[d.exec(s[0])[0],d.exec(s[1])[0]]}),1===x.length&&(x[1]=x[0]),"right"===e.at[0]?v.left+=p:"center"===e.at[0]&&(v.left+=p/2),"bottom"===e.at[1]?v.top+=m:"center"===e.at[1]&&(v.top+=m/2),a=i(k.at,p,m),v.left+=a[0],v.top+=a[1],this.each(function(){var n,l,c=t(this),u=c.outerWidth(),d=c.outerHeight(),f=s(this,"marginLeft"),b=s(this,"marginTop"),D=u+f+s(this,"marginRight")+w.width,T=d+b+s(this,"marginBottom")+w.height,C=t.extend({},v),M=i(k.my,c.outerWidth(),c.outerHeight());"right"===e.my[0]?C.left-=u:"center"===e.my[0]&&(C.left-=u/2),"bottom"===e.my[1]?C.top-=d:"center"===e.my[1]&&(C.top-=d/2),C.left+=M[0],C.top+=M[1],t.support.offsetFractions||(C.left=h(C.left),C.top=h(C.top)),n={marginLeft:f,marginTop:b},t.each(["left","top"],function(i,s){t.ui.position[x[i]]&&t.ui.position[x[i]][s](C,{targetWidth:p,targetHeight:m,elemWidth:u,elemHeight:d,collisionPosition:n,collisionWidth:D,collisionHeight:T,offset:[a[0]+M[0],a[1]+M[1]],my:e.my,at:e.at,within:y,elem:c})}),e.using&&(l=function(t){var i=g.left-C.left,s=i+p-u,n=g.top-C.top,a=n+m-d,h={target:{element:_,left:g.left,top:g.top,width:p,height:m},element:{element:c,left:C.left,top:C.top,width:u,height:d},horizontal:0>s?"left":i>0?"right":"center",vertical:0>a?"top":n>0?"bottom":"middle"};u>p&&p>r(i+s)&&(h.horizontal="center"),d>m&&m>r(n+a)&&(h.vertical="middle"),h.important=o(r(i),r(s))>o(r(n),r(a))?"horizontal":"vertical",e.using.call(this,t,h)}),c.offset(t.extend(C,{using:l}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,h=n-r,l=r+e.collisionWidth-a-n;e.collisionWidth>a?h>0&&0>=l?(i=t.left+h+e.collisionWidth-a-n,t.left+=h-i):t.left=l>0&&0>=h?n:h>l?n+a-e.collisionWidth:n:h>0?t.left+=h:l>0?t.left-=l:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,h=n-r,l=r+e.collisionHeight-a-n;e.collisionHeight>a?h>0&&0>=l?(i=t.top+h+e.collisionHeight-a-n,t.top+=h-i):t.top=l>0&&0>=h?n:h>l?n+a-e.collisionHeight:n:h>0?t.top+=h:l>0?t.top-=l:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,a=n.offset.left+n.scrollLeft,o=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=t.left-e.collisionPosition.marginLeft,c=l-h,u=l+e.collisionWidth-o-h,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-o-a,(0>i||r(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-h,(s>0||u>r(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,a=n.offset.top+n.scrollTop,o=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=t.top-e.collisionPosition.marginTop,c=l-h,u=l+e.collisionHeight-o-h,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,m=-2*e.offset[1];0>c?(s=t.top+p+f+m+e.collisionHeight-o-a,t.top+p+f+m>c&&(0>s||r(c)>s)&&(t.top+=p+f+m)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+m-h,t.top+p+f+m>u&&(i>0||u>r(i))&&(t.top+=p+f+m))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}},function(){var e,i,s,n,a,o=document.getElementsByTagName("body")[0],r=document.createElement("div");e=document.createElement(o?"div":"body"),s={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},o&&t.extend(s,{position:"absolute",left:"-1000px",top:"-1000px"});for(a in s)e.style[a]=s[a];e.appendChild(r),i=o||document.documentElement,i.insertBefore(e,i.firstChild),r.style.cssText="position: absolute; left: 10.7432222px;",n=t(r).offset().left,t.support.offsetFractions=n>10&&11>n,e.innerHTML="",i.removeChild(e)}()})(jQuery);(function(e){e.widget("ui.draggable",e.ui.mouse,{version:"1.10.3",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"!==this.options.helper||/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative"),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._mouseInit()},_destroy:function(){this.element.removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._mouseDestroy()},_mouseCapture:function(t){var i=this.options;return this.helper||i.disabled||e(t.target).closest(".ui-resizable-handle").length>0?!1:(this.handle=this._getHandle(t),this.handle?(e(i.iframeFix===!0?"iframe":i.iframeFix).each(function(){e("<div class='ui-draggable-iframeFix' style='background: #fff;'></div>").css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1e3}).css(e(this).offset()).appendTo("body")}),!0):!1)},_mouseStart:function(t){var i=this.options;return this.helper=this._createHelper(t),this.helper.addClass("ui-draggable-dragging"),this._cacheHelperProportions(),e.ui.ddmanager&&(e.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(),this.offsetParent=this.helper.offsetParent(),this.offsetParentCssPosition=this.offsetParent.css("position"),this.offset=this.positionAbs=this.element.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},this.offset.scroll=!1,e.extend(this.offset,{click:{left:t.pageX-this.offset.left,top:t.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.originalPosition=this.position=this._generatePosition(t),this.originalPageX=t.pageX,this.originalPageY=t.pageY,i.cursorAt&&this._adjustOffsetFromHelper(i.cursorAt),this._setContainment(),this._trigger("start",t)===!1?(this._clear(),!1):(this._cacheHelperProportions(),e.ui.ddmanager&&!i.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t),this._mouseDrag(t,!0),e.ui.ddmanager&&e.ui.ddmanager.dragStart(this,t),!0)},_mouseDrag:function(t,i){if("fixed"===this.offsetParentCssPosition&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(t),this.positionAbs=this._convertPositionTo("absolute"),!i){var s=this._uiHash();if(this._trigger("drag",t,s)===!1)return this._mouseUp({}),!1;this.position=s.position}return this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),e.ui.ddmanager&&e.ui.ddmanager.drag(this,t),!1},_mouseStop:function(t){var i=this,s=!1;return e.ui.ddmanager&&!this.options.dropBehaviour&&(s=e.ui.ddmanager.drop(this,t)),this.dropped&&(s=this.dropped,this.dropped=!1),"original"!==this.options.helper||e.contains(this.element[0].ownerDocument,this.element[0])?("invalid"===this.options.revert&&!s||"valid"===this.options.revert&&s||this.options.revert===!0||e.isFunction(this.options.revert)&&this.options.revert.call(this.element,s)?e(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){i._trigger("stop",t)!==!1&&i._clear()}):this._trigger("stop",t)!==!1&&this._clear(),!1):!1},_mouseUp:function(t){return e("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)}),e.ui.ddmanager&&e.ui.ddmanager.dragStop(this,t),e.ui.mouse.prototype._mouseUp.call(this,t)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear(),this},_getHandle:function(t){return this.options.handle?!!e(t.target).closest(this.element.find(this.options.handle)).length:!0},_createHelper:function(t){var i=this.options,s=e.isFunction(i.helper)?e(i.helper.apply(this.element[0],[t])):"clone"===i.helper?this.element.clone().removeAttr("id"):this.element;return s.parents("body").length||s.appendTo("parent"===i.appendTo?this.element[0].parentNode:i.appendTo),s[0]===this.element[0]||/(fixed|absolute)/.test(s.css("position"))||s.css("position","absolute"),s},_adjustOffsetFromHelper:function(t){"string"==typeof t&&(t=t.split(" ")),e.isArray(t)&&(t={left:+t[0],top:+t[1]||0}),"left"in t&&(this.offset.click.left=t.left+this.margins.left),"right"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),"top"in t&&(this.offset.click.top=t.top+this.margins.top),"bottom"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_getParentOffset:function(){var t=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==document&&e.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===document.body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&e.ui.ie)&&(t={top:0,left:0}),{top:t.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:t.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var e=this.element.position();return{top:e.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:e.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var t,i,s,n=this.options;return n.containment?"window"===n.containment?(this.containment=[e(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,e(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,e(window).scrollLeft()+e(window).width()-this.helperProportions.width-this.margins.left,e(window).scrollTop()+(e(window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],undefined):"document"===n.containment?(this.containment=[0,0,e(document).width()-this.helperProportions.width-this.margins.left,(e(document).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],undefined):n.containment.constructor===Array?(this.containment=n.containment,undefined):("parent"===n.containment&&(n.containment=this.helper[0].parentNode),i=e(n.containment),s=i[0],s&&(t="hidden"!==i.css("overflow"),this.containment=[(parseInt(i.css("borderLeftWidth"),10)||0)+(parseInt(i.css("paddingLeft"),10)||0),(parseInt(i.css("borderTopWidth"),10)||0)+(parseInt(i.css("paddingTop"),10)||0),(t?Math.max(s.scrollWidth,s.offsetWidth):s.offsetWidth)-(parseInt(i.css("borderRightWidth"),10)||0)-(parseInt(i.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(t?Math.max(s.scrollHeight,s.offsetHeight):s.offsetHeight)-(parseInt(i.css("borderBottomWidth"),10)||0)-(parseInt(i.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relative_container=i),undefined):(this.containment=null,undefined)},_convertPositionTo:function(t,i){i||(i=this.position);var s="absolute"===t?1:-1,n="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent;return this.offset.scroll||(this.offset.scroll={top:n.scrollTop(),left:n.scrollLeft()}),{top:i.top+this.offset.relative.top*s+this.offset.parent.top*s-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():this.offset.scroll.top)*s,left:i.left+this.offset.relative.left*s+this.offset.parent.left*s-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():this.offset.scroll.left)*s}},_generatePosition:function(t){var i,s,n,a,o=this.options,r="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,h=t.pageX,l=t.pageY;return this.offset.scroll||(this.offset.scroll={top:r.scrollTop(),left:r.scrollLeft()}),this.originalPosition&&(this.containment&&(this.relative_container?(s=this.relative_container.offset(),i=[this.containment[0]+s.left,this.containment[1]+s.top,this.containment[2]+s.left,this.containment[3]+s.top]):i=this.containment,t.pageX-this.offset.click.left<i[0]&&(h=i[0]+this.offset.click.left),t.pageY-this.offset.click.top<i[1]&&(l=i[1]+this.offset.click.top),t.pageX-this.offset.click.left>i[2]&&(h=i[2]+this.offset.click.left),t.pageY-this.offset.click.top>i[3]&&(l=i[3]+this.offset.click.top)),o.grid&&(n=o.grid[1]?this.originalPageY+Math.round((l-this.originalPageY)/o.grid[1])*o.grid[1]:this.originalPageY,l=i?n-this.offset.click.top>=i[1]||n-this.offset.click.top>i[3]?n:n-this.offset.click.top>=i[1]?n-o.grid[1]:n+o.grid[1]:n,a=o.grid[0]?this.originalPageX+Math.round((h-this.originalPageX)/o.grid[0])*o.grid[0]:this.originalPageX,h=i?a-this.offset.click.left>=i[0]||a-this.offset.click.left>i[2]?a:a-this.offset.click.left>=i[0]?a-o.grid[0]:a+o.grid[0]:a)),{top:l-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():this.offset.scroll.top),left:h-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():this.offset.scroll.left)}},_clear:function(){this.helper.removeClass("ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1},_trigger:function(t,i,s){return s=s||this._uiHash(),e.ui.plugin.call(this,t,[i,s]),"drag"===t&&(this.positionAbs=this._convertPositionTo("absolute")),e.Widget.prototype._trigger.call(this,t,i,s)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),e.ui.plugin.add("draggable","connectToSortable",{start:function(t,i){var s=e(this).data("ui-draggable"),n=s.options,a=e.extend({},i,{item:s.element});s.sortables=[],e(n.connectToSortable).each(function(){var i=e.data(this,"ui-sortable");i&&!i.options.disabled&&(s.sortables.push({instance:i,shouldRevert:i.options.revert}),i.refreshPositions(),i._trigger("activate",t,a))})},stop:function(t,i){var s=e(this).data("ui-draggable"),n=e.extend({},i,{item:s.element});e.each(s.sortables,function(){this.instance.isOver?(this.instance.isOver=0,s.cancelHelperRemoval=!0,this.instance.cancelHelperRemoval=!1,this.shouldRevert&&(this.instance.options.revert=this.shouldRevert),this.instance._mouseStop(t),this.instance.options.helper=this.instance.options._helper,"original"===s.options.helper&&this.instance.currentItem.css({top:"auto",left:"auto"})):(this.instance.cancelHelperRemoval=!1,this.instance._trigger("deactivate",t,n))})},drag:function(t,i){var s=e(this).data("ui-draggable"),n=this;e.each(s.sortables,function(){var a=!1,o=this;this.instance.positionAbs=s.positionAbs,this.instance.helperProportions=s.helperProportions,this.instance.offset.click=s.offset.click,this.instance._intersectsWith(this.instance.containerCache)&&(a=!0,e.each(s.sortables,function(){return this.instance.positionAbs=s.positionAbs,this.instance.helperProportions=s.helperProportions,this.instance.offset.click=s.offset.click,this!==o&&this.instance._intersectsWith(this.instance.containerCache)&&e.contains(o.instance.element[0],this.instance.element[0])&&(a=!1),a})),a?(this.instance.isOver||(this.instance.isOver=1,this.instance.currentItem=e(n).clone().removeAttr("id").appendTo(this.instance.element).data("ui-sortable-item",!0),this.instance.options._helper=this.instance.options.helper,this.instance.options.helper=function(){return i.helper[0]},t.target=this.instance.currentItem[0],this.instance._mouseCapture(t,!0),this.instance._mouseStart(t,!0,!0),this.instance.offset.click.top=s.offset.click.top,this.instance.offset.click.left=s.offset.click.left,this.instance.offset.parent.left-=s.offset.parent.left-this.instance.offset.parent.left,this.instance.offset.parent.top-=s.offset.parent.top-this.instance.offset.parent.top,s._trigger("toSortable",t),s.dropped=this.instance.element,s.currentItem=s.element,this.instance.fromOutside=s),this.instance.currentItem&&this.instance._mouseDrag(t)):this.instance.isOver&&(this.instance.isOver=0,this.instance.cancelHelperRemoval=!0,this.instance.options.revert=!1,this.instance._trigger("out",t,this.instance._uiHash(this.instance)),this.instance._mouseStop(t,!0),this.instance.options.helper=this.instance.options._helper,this.instance.currentItem.remove(),this.instance.placeholder&&this.instance.placeholder.remove(),s._trigger("fromSortable",t),s.dropped=!1)})}}),e.ui.plugin.add("draggable","cursor",{start:function(){var t=e("body"),i=e(this).data("ui-draggable").options;t.css("cursor")&&(i._cursor=t.css("cursor")),t.css("cursor",i.cursor)},stop:function(){var t=e(this).data("ui-draggable").options;t._cursor&&e("body").css("cursor",t._cursor)}}),e.ui.plugin.add("draggable","opacity",{start:function(t,i){var s=e(i.helper),n=e(this).data("ui-draggable").options;s.css("opacity")&&(n._opacity=s.css("opacity")),s.css("opacity",n.opacity)},stop:function(t,i){var s=e(this).data("ui-draggable").options;s._opacity&&e(i.helper).css("opacity",s._opacity)}}),e.ui.plugin.add("draggable","scroll",{start:function(){var t=e(this).data("ui-draggable");t.scrollParent[0]!==document&&"HTML"!==t.scrollParent[0].tagName&&(t.overflowOffset=t.scrollParent.offset())},drag:function(t){var i=e(this).data("ui-draggable"),s=i.options,n=!1;i.scrollParent[0]!==document&&"HTML"!==i.scrollParent[0].tagName?(s.axis&&"x"===s.axis||(i.overflowOffset.top+i.scrollParent[0].offsetHeight-t.pageY<s.scrollSensitivity?i.scrollParent[0].scrollTop=n=i.scrollParent[0].scrollTop+s.scrollSpeed:t.pageY-i.overflowOffset.top<s.scrollSensitivity&&(i.scrollParent[0].scrollTop=n=i.scrollParent[0].scrollTop-s.scrollSpeed)),s.axis&&"y"===s.axis||(i.overflowOffset.left+i.scrollParent[0].offsetWidth-t.pageX<s.scrollSensitivity?i.scrollParent[0].scrollLeft=n=i.scrollParent[0].scrollLeft+s.scrollSpeed:t.pageX-i.overflowOffset.left<s.scrollSensitivity&&(i.scrollParent[0].scrollLeft=n=i.scrollParent[0].scrollLeft-s.scrollSpeed))):(s.axis&&"x"===s.axis||(t.pageY-e(document).scrollTop()<s.scrollSensitivity?n=e(document).scrollTop(e(document).scrollTop()-s.scrollSpeed):e(window).height()-(t.pageY-e(document).scrollTop())<s.scrollSensitivity&&(n=e(document).scrollTop(e(document).scrollTop()+s.scrollSpeed))),s.axis&&"y"===s.axis||(t.pageX-e(document).scrollLeft()<s.scrollSensitivity?n=e(document).scrollLeft(e(document).scrollLeft()-s.scrollSpeed):e(window).width()-(t.pageX-e(document).scrollLeft())<s.scrollSensitivity&&(n=e(document).scrollLeft(e(document).scrollLeft()+s.scrollSpeed)))),n!==!1&&e.ui.ddmanager&&!s.dropBehaviour&&e.ui.ddmanager.prepareOffsets(i,t)}}),e.ui.plugin.add("draggable","snap",{start:function(){var t=e(this).data("ui-draggable"),i=t.options;t.snapElements=[],e(i.snap.constructor!==String?i.snap.items||":data(ui-draggable)":i.snap).each(function(){var i=e(this),s=i.offset();this!==t.element[0]&&t.snapElements.push({item:this,width:i.outerWidth(),height:i.outerHeight(),top:s.top,left:s.left})})},drag:function(t,i){var s,n,a,o,r,h,l,u,c,d,p=e(this).data("ui-draggable"),f=p.options,m=f.snapTolerance,g=i.offset.left,v=g+p.helperProportions.width,b=i.offset.top,y=b+p.helperProportions.height;for(c=p.snapElements.length-1;c>=0;c--)r=p.snapElements[c].left,h=r+p.snapElements[c].width,l=p.snapElements[c].top,u=l+p.snapElements[c].height,r-m>v||g>h+m||l-m>y||b>u+m||!e.contains(p.snapElements[c].item.ownerDocument,p.snapElements[c].item)?(p.snapElements[c].snapping&&p.options.snap.release&&p.options.snap.release.call(p.element,t,e.extend(p._uiHash(),{snapItem:p.snapElements[c].item})),p.snapElements[c].snapping=!1):("inner"!==f.snapMode&&(s=m>=Math.abs(l-y),n=m>=Math.abs(u-b),a=m>=Math.abs(r-v),o=m>=Math.abs(h-g),s&&(i.position.top=p._convertPositionTo("relative",{top:l-p.helperProportions.height,left:0}).top-p.margins.top),n&&(i.position.top=p._convertPositionTo("relative",{top:u,left:0}).top-p.margins.top),a&&(i.position.left=p._convertPositionTo("relative",{top:0,left:r-p.helperProportions.width}).left-p.margins.left),o&&(i.position.left=p._convertPositionTo("relative",{top:0,left:h}).left-p.margins.left)),d=s||n||a||o,"outer"!==f.snapMode&&(s=m>=Math.abs(l-b),n=m>=Math.abs(u-y),a=m>=Math.abs(r-g),o=m>=Math.abs(h-v),s&&(i.position.top=p._convertPositionTo("relative",{top:l,left:0}).top-p.margins.top),n&&(i.position.top=p._convertPositionTo("relative",{top:u-p.helperProportions.height,left:0}).top-p.margins.top),a&&(i.position.left=p._convertPositionTo("relative",{top:0,left:r}).left-p.margins.left),o&&(i.position.left=p._convertPositionTo("relative",{top:0,left:h-p.helperProportions.width}).left-p.margins.left)),!p.snapElements[c].snapping&&(s||n||a||o||d)&&p.options.snap.snap&&p.options.snap.snap.call(p.element,t,e.extend(p._uiHash(),{snapItem:p.snapElements[c].item})),p.snapElements[c].snapping=s||n||a||o||d)}}),e.ui.plugin.add("draggable","stack",{start:function(){var t,i=this.data("ui-draggable").options,s=e.makeArray(e(i.stack)).sort(function(t,i){return(parseInt(e(t).css("zIndex"),10)||0)-(parseInt(e(i).css("zIndex"),10)||0)});s.length&&(t=parseInt(e(s[0]).css("zIndex"),10)||0,e(s).each(function(i){e(this).css("zIndex",t+i)}),this.css("zIndex",t+s.length))}}),e.ui.plugin.add("draggable","zIndex",{start:function(t,i){var s=e(i.helper),n=e(this).data("ui-draggable").options;s.css("zIndex")&&(n._zIndex=s.css("zIndex")),s.css("zIndex",n.zIndex)},stop:function(t,i){var s=e(this).data("ui-draggable").options;s._zIndex&&e(i.helper).css("zIndex",s._zIndex)}})})(jQuery);(function(e){function t(e,t,i){return e>t&&t+i>e}e.widget("ui.droppable",{version:"1.10.3",widgetEventPrefix:"drop",options:{accept:"*",activeClass:!1,addClasses:!0,greedy:!1,hoverClass:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var t=this.options,i=t.accept;this.isover=!1,this.isout=!0,this.accept=e.isFunction(i)?i:function(e){return e.is(i)},this.proportions={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight},e.ui.ddmanager.droppables[t.scope]=e.ui.ddmanager.droppables[t.scope]||[],e.ui.ddmanager.droppables[t.scope].push(this),t.addClasses&&this.element.addClass("ui-droppable")},_destroy:function(){for(var t=0,i=e.ui.ddmanager.droppables[this.options.scope];i.length>t;t++)i[t]===this&&i.splice(t,1);this.element.removeClass("ui-droppable ui-droppable-disabled")},_setOption:function(t,i){"accept"===t&&(this.accept=e.isFunction(i)?i:function(e){return e.is(i)}),e.Widget.prototype._setOption.apply(this,arguments)},_activate:function(t){var i=e.ui.ddmanager.current;this.options.activeClass&&this.element.addClass(this.options.activeClass),i&&this._trigger("activate",t,this.ui(i))},_deactivate:function(t){var i=e.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass),i&&this._trigger("deactivate",t,this.ui(i))},_over:function(t){var i=e.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this.options.hoverClass&&this.element.addClass(this.options.hoverClass),this._trigger("over",t,this.ui(i)))},_out:function(t){var i=e.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("out",t,this.ui(i)))},_drop:function(t,i){var s=i||e.ui.ddmanager.current,n=!1;return s&&(s.currentItem||s.element)[0]!==this.element[0]?(this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function(){var t=e.data(this,"ui-droppable");return t.options.greedy&&!t.options.disabled&&t.options.scope===s.options.scope&&t.accept.call(t.element[0],s.currentItem||s.element)&&e.ui.intersect(s,e.extend(t,{offset:t.element.offset()}),t.options.tolerance)?(n=!0,!1):undefined}),n?!1:this.accept.call(this.element[0],s.currentItem||s.element)?(this.options.activeClass&&this.element.removeClass(this.options.activeClass),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("drop",t,this.ui(s)),this.element):!1):!1},ui:function(e){return{draggable:e.currentItem||e.element,helper:e.helper,position:e.position,offset:e.positionAbs}}}),e.ui.intersect=function(e,i,s){if(!i.offset)return!1;var n,a,o=(e.positionAbs||e.position.absolute).left,r=o+e.helperProportions.width,h=(e.positionAbs||e.position.absolute).top,l=h+e.helperProportions.height,u=i.offset.left,c=u+i.proportions.width,d=i.offset.top,p=d+i.proportions.height;switch(s){case"fit":return o>=u&&c>=r&&h>=d&&p>=l;case"intersect":return o+e.helperProportions.width/2>u&&c>r-e.helperProportions.width/2&&h+e.helperProportions.height/2>d&&p>l-e.helperProportions.height/2;case"pointer":return n=(e.positionAbs||e.position.absolute).left+(e.clickOffset||e.offset.click).left,a=(e.positionAbs||e.position.absolute).top+(e.clickOffset||e.offset.click).top,t(a,d,i.proportions.height)&&t(n,u,i.proportions.width);case"touch":return(h>=d&&p>=h||l>=d&&p>=l||d>h&&l>p)&&(o>=u&&c>=o||r>=u&&c>=r||u>o&&r>c);default:return!1}},e.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(t,i){var s,n,a=e.ui.ddmanager.droppables[t.options.scope]||[],o=i?i.type:null,r=(t.currentItem||t.element).find(":data(ui-droppable)").addBack();e:for(s=0;a.length>s;s++)if(!(a[s].options.disabled||t&&!a[s].accept.call(a[s].element[0],t.currentItem||t.element))){for(n=0;r.length>n;n++)if(r[n]===a[s].element[0]){a[s].proportions.height=0;continue e}a[s].visible="none"!==a[s].element.css("display"),a[s].visible&&("mousedown"===o&&a[s]._activate.call(a[s],i),a[s].offset=a[s].element.offset(),a[s].proportions={width:a[s].element[0].offsetWidth,height:a[s].element[0].offsetHeight})}},drop:function(t,i){var s=!1;return e.each((e.ui.ddmanager.droppables[t.options.scope]||[]).slice(),function(){this.options&&(!this.options.disabled&&this.visible&&e.ui.intersect(t,this,this.options.tolerance)&&(s=this._drop.call(this,i)||s),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],t.currentItem||t.element)&&(this.isout=!0,this.isover=!1,this._deactivate.call(this,i)))}),s},dragStart:function(t,i){t.element.parentsUntil("body").bind("scroll.droppable",function(){t.options.refreshPositions||e.ui.ddmanager.prepareOffsets(t,i)})},drag:function(t,i){t.options.refreshPositions&&e.ui.ddmanager.prepareOffsets(t,i),e.each(e.ui.ddmanager.droppables[t.options.scope]||[],function(){if(!this.options.disabled&&!this.greedyChild&&this.visible){var s,n,a,o=e.ui.intersect(t,this,this.options.tolerance),r=!o&&this.isover?"isout":o&&!this.isover?"isover":null;r&&(this.options.greedy&&(n=this.options.scope,a=this.element.parents(":data(ui-droppable)").filter(function(){return e.data(this,"ui-droppable").options.scope===n}),a.length&&(s=e.data(a[0],"ui-droppable"),s.greedyChild="isover"===r)),s&&"isover"===r&&(s.isover=!1,s.isout=!0,s._out.call(s,i)),this[r]=!0,this["isout"===r?"isover":"isout"]=!1,this["isover"===r?"_over":"_out"].call(this,i),s&&"isout"===r&&(s.isout=!1,s.isover=!0,s._over.call(s,i)))}})},dragStop:function(t,i){t.element.parentsUntil("body").unbind("scroll.droppable"),t.options.refreshPositions||e.ui.ddmanager.prepareOffsets(t,i)}}})(jQuery);(function(e){function t(e){return parseInt(e,10)||0}function i(e){return!isNaN(parseInt(e,10))}e.widget("ui.resizable",e.ui.mouse,{version:"1.10.3",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_create:function(){var t,i,s,n,a,o=this,r=this.options;if(this.element.addClass("ui-resizable"),e.extend(this,{_aspectRatio:!!r.aspectRatio,aspectRatio:r.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:r.helper||r.ghost||r.animate?r.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)&&(this.element.wrap(e("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.data("ui-resizable")),this.elementIsWrapper=!0,this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")}),this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0}),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css({margin:this.originalElement.css("margin")}),this._proportionallyResize()),this.handles=r.handles||(e(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),t=this.handles.split(","),this.handles={},i=0;t.length>i;i++)s=e.trim(t[i]),a="ui-resizable-"+s,n=e("<div class='ui-resizable-handle "+a+"'></div>"),n.css({zIndex:r.zIndex}),"se"===s&&n.addClass("ui-icon ui-icon-gripsmall-diagonal-se"),this.handles[s]=".ui-resizable-"+s,this.element.append(n);this._renderAxis=function(t){var i,s,n,a;t=t||this.element;for(i in this.handles)this.handles[i].constructor===String&&(this.handles[i]=e(this.handles[i],this.element).show()),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)&&(s=e(this.handles[i],this.element),a=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),t.css(n,a),this._proportionallyResize()),e(this.handles[i]).length},this._renderAxis(this.element),this._handles=e(".ui-resizable-handle",this.element).disableSelection(),this._handles.mouseover(function(){o.resizing||(this.className&&(n=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),o.axis=n&&n[1]?n[1]:"se")}),r.autoHide&&(this._handles.hide(),e(this.element).addClass("ui-resizable-autohide").mouseenter(function(){r.disabled||(e(this).removeClass("ui-resizable-autohide"),o._handles.show())}).mouseleave(function(){r.disabled||o.resizing||(e(this).addClass("ui-resizable-autohide"),o._handles.hide())})),this._mouseInit()},_destroy:function(){this._mouseDestroy();var t,i=function(t){e(t).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").removeData("ui-resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),t=this.element,this.originalElement.css({position:t.css("position"),width:t.outerWidth(),height:t.outerHeight(),top:t.css("top"),left:t.css("left")}).insertAfter(t),t.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_mouseCapture:function(t){var i,s,n=!1;for(i in this.handles)s=e(this.handles[i])[0],(s===t.target||e.contains(s,t.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(i){var s,n,a,o=this.options,r=this.element.position(),h=this.element;return this.resizing=!0,/absolute/.test(h.css("position"))?h.css({position:"absolute",top:h.css("top"),left:h.css("left")}):h.is(".ui-draggable")&&h.css({position:"absolute",top:r.top,left:r.left}),this._renderProxy(),s=t(this.helper.css("left")),n=t(this.helper.css("top")),o.containment&&(s+=e(o.containment).scrollLeft()||0,n+=e(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:s,top:n},this.size=this._helper?{width:h.outerWidth(),height:h.outerHeight()}:{width:h.width(),height:h.height()},this.originalSize=this._helper?{width:h.outerWidth(),height:h.outerHeight()}:{width:h.width(),height:h.height()},this.originalPosition={left:s,top:n},this.sizeDiff={width:h.outerWidth()-h.width(),height:h.outerHeight()-h.height()},this.originalMousePosition={left:i.pageX,top:i.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,a=e(".ui-resizable-"+this.axis).css("cursor"),e("body").css("cursor","auto"===a?this.axis+"-resize":a),h.addClass("ui-resizable-resizing"),this._propagate("start",i),!0},_mouseDrag:function(t){var i,s=this.helper,n={},a=this.originalMousePosition,o=this.axis,r=this.position.top,h=this.position.left,l=this.size.width,u=this.size.height,c=t.pageX-a.left||0,d=t.pageY-a.top||0,p=this._change[o];return p?(i=p.apply(this,[t,c,d]),this._updateVirtualBoundaries(t.shiftKey),(this._aspectRatio||t.shiftKey)&&(i=this._updateRatio(i,t)),i=this._respectSize(i,t),this._updateCache(i),this._propagate("resize",t),this.position.top!==r&&(n.top=this.position.top+"px"),this.position.left!==h&&(n.left=this.position.left+"px"),this.size.width!==l&&(n.width=this.size.width+"px"),this.size.height!==u&&(n.height=this.size.height+"px"),s.css(n),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),e.isEmptyObject(n)||this._trigger("resize",t,this.ui()),!1):!1},_mouseStop:function(t){this.resizing=!1;var i,s,n,a,o,r,h,l=this.options,u=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&e.ui.hasScroll(i[0],"left")?0:u.sizeDiff.height,a=s?0:u.sizeDiff.width,o={width:u.helper.width()-a,height:u.helper.height()-n},r=parseInt(u.element.css("left"),10)+(u.position.left-u.originalPosition.left)||null,h=parseInt(u.element.css("top"),10)+(u.position.top-u.originalPosition.top)||null,l.animate||this.element.css(e.extend(o,{top:h,left:r})),u.helper.height(u.size.height),u.helper.width(u.size.width),this._helper&&!l.animate&&this._proportionallyResize()),e("body").css("cursor","auto"),this.element.removeClass("ui-resizable-resizing"),this._propagate("stop",t),this._helper&&this.helper.remove(),!1},_updateVirtualBoundaries:function(e){var t,s,n,a,o,r=this.options;o={minWidth:i(r.minWidth)?r.minWidth:0,maxWidth:i(r.maxWidth)?r.maxWidth:1/0,minHeight:i(r.minHeight)?r.minHeight:0,maxHeight:i(r.maxHeight)?r.maxHeight:1/0},(this._aspectRatio||e)&&(t=o.minHeight*this.aspectRatio,n=o.minWidth/this.aspectRatio,s=o.maxHeight*this.aspectRatio,a=o.maxWidth/this.aspectRatio,t>o.minWidth&&(o.minWidth=t),n>o.minHeight&&(o.minHeight=n),o.maxWidth>s&&(o.maxWidth=s),o.maxHeight>a&&(o.maxHeight=a)),this._vBoundaries=o},_updateCache:function(e){this.offset=this.helper.offset(),i(e.left)&&(this.position.left=e.left),i(e.top)&&(this.position.top=e.top),i(e.height)&&(this.size.height=e.height),i(e.width)&&(this.size.width=e.width)},_updateRatio:function(e){var t=this.position,s=this.size,n=this.axis;return i(e.height)?e.width=e.height*this.aspectRatio:i(e.width)&&(e.height=e.width/this.aspectRatio),"sw"===n&&(e.left=t.left+(s.width-e.width),e.top=null),"nw"===n&&(e.top=t.top+(s.height-e.height),e.left=t.left+(s.width-e.width)),e},_respectSize:function(e){var t=this._vBoundaries,s=this.axis,n=i(e.width)&&t.maxWidth&&t.maxWidth<e.width,a=i(e.height)&&t.maxHeight&&t.maxHeight<e.height,o=i(e.width)&&t.minWidth&&t.minWidth>e.width,r=i(e.height)&&t.minHeight&&t.minHeight>e.height,h=this.originalPosition.left+this.originalSize.width,l=this.position.top+this.size.height,u=/sw|nw|w/.test(s),c=/nw|ne|n/.test(s);return o&&(e.width=t.minWidth),r&&(e.height=t.minHeight),n&&(e.width=t.maxWidth),a&&(e.height=t.maxHeight),o&&u&&(e.left=h-t.minWidth),n&&u&&(e.left=h-t.maxWidth),r&&c&&(e.top=l-t.minHeight),a&&c&&(e.top=l-t.maxHeight),e.width||e.height||e.left||!e.top?e.width||e.height||e.top||!e.left||(e.left=null):e.top=null,e},_proportionallyResize:function(){if(this._proportionallyResizeElements.length){var e,t,i,s,n,a=this.helper||this.element;for(e=0;this._proportionallyResizeElements.length>e;e++){if(n=this._proportionallyResizeElements[e],!this.borderDif)for(this.borderDif=[],i=[n.css("borderTopWidth"),n.css("borderRightWidth"),n.css("borderBottomWidth"),n.css("borderLeftWidth")],s=[n.css("paddingTop"),n.css("paddingRight"),n.css("paddingBottom"),n.css("paddingLeft")],t=0;i.length>t;t++)this.borderDif[t]=(parseInt(i[t],10)||0)+(parseInt(s[t],10)||0);n.css({height:a.height()-this.borderDif[0]-this.borderDif[2]||0,width:a.width()-this.borderDif[1]-this.borderDif[3]||0})}}},_renderProxy:function(){var t=this.element,i=this.options;this.elementOffset=t.offset(),this._helper?(this.helper=this.helper||e("<div style='overflow:hidden;'></div>"),this.helper.addClass(this._helper).css({width:this.element.outerWidth()-1,height:this.element.outerHeight()-1,position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(e,t){return{width:this.originalSize.width+t}},w:function(e,t){var i=this.originalSize,s=this.originalPosition;return{left:s.left+t,width:i.width-t}},n:function(e,t,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(e,t,i){return{height:this.originalSize.height+i}},se:function(t,i,s){return e.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[t,i,s]))},sw:function(t,i,s){return e.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[t,i,s]))},ne:function(t,i,s){return e.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[t,i,s]))},nw:function(t,i,s){return e.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[t,i,s]))}},_propagate:function(t,i){e.ui.plugin.call(this,t,[i,this.ui()]),"resize"!==t&&this._trigger(t,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),e.ui.plugin.add("resizable","animate",{stop:function(t){var i=e(this).data("ui-resizable"),s=i.options,n=i._proportionallyResizeElements,a=n.length&&/textarea/i.test(n[0].nodeName),o=a&&e.ui.hasScroll(n[0],"left")?0:i.sizeDiff.height,r=a?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-o},l=parseInt(i.element.css("left"),10)+(i.position.left-i.originalPosition.left)||null,u=parseInt(i.element.css("top"),10)+(i.position.top-i.originalPosition.top)||null;i.element.animate(e.extend(h,u&&l?{top:u,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseInt(i.element.css("width"),10),height:parseInt(i.element.css("height"),10),top:parseInt(i.element.css("top"),10),left:parseInt(i.element.css("left"),10)};n&&n.length&&e(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",t)}})}}),e.ui.plugin.add("resizable","containment",{start:function(){var i,s,n,a,o,r,h,l=e(this).data("ui-resizable"),u=l.options,c=l.element,d=u.containment,p=d instanceof e?d.get(0):/parent/.test(d)?c.parent().get(0):d;p&&(l.containerElement=e(p),/document/.test(d)||d===document?(l.containerOffset={left:0,top:0},l.containerPosition={left:0,top:0},l.parentData={element:e(document),left:0,top:0,width:e(document).width(),height:e(document).height()||document.body.parentNode.scrollHeight}):(i=e(p),s=[],e(["Top","Right","Left","Bottom"]).each(function(e,n){s[e]=t(i.css("padding"+n))}),l.containerOffset=i.offset(),l.containerPosition=i.position(),l.containerSize={height:i.innerHeight()-s[3],width:i.innerWidth()-s[1]},n=l.containerOffset,a=l.containerSize.height,o=l.containerSize.width,r=e.ui.hasScroll(p,"left")?p.scrollWidth:o,h=e.ui.hasScroll(p)?p.scrollHeight:a,l.parentData={element:p,left:n.left,top:n.top,width:r,height:h}))},resize:function(t){var i,s,n,a,o=e(this).data("ui-resizable"),r=o.options,h=o.containerOffset,l=o.position,u=o._aspectRatio||t.shiftKey,c={top:0,left:0},d=o.containerElement;d[0]!==document&&/static/.test(d.css("position"))&&(c=h),l.left<(o._helper?h.left:0)&&(o.size.width=o.size.width+(o._helper?o.position.left-h.left:o.position.left-c.left),u&&(o.size.height=o.size.width/o.aspectRatio),o.position.left=r.helper?h.left:0),l.top<(o._helper?h.top:0)&&(o.size.height=o.size.height+(o._helper?o.position.top-h.top:o.position.top),u&&(o.size.width=o.size.height*o.aspectRatio),o.position.top=o._helper?h.top:0),o.offset.left=o.parentData.left+o.position.left,o.offset.top=o.parentData.top+o.position.top,i=Math.abs((o._helper?o.offset.left-c.left:o.offset.left-c.left)+o.sizeDiff.width),s=Math.abs((o._helper?o.offset.top-c.top:o.offset.top-h.top)+o.sizeDiff.height),n=o.containerElement.get(0)===o.element.parent().get(0),a=/relative|absolute/.test(o.containerElement.css("position")),n&&a&&(i-=o.parentData.left),i+o.size.width>=o.parentData.width&&(o.size.width=o.parentData.width-i,u&&(o.size.height=o.size.width/o.aspectRatio)),s+o.size.height>=o.parentData.height&&(o.size.height=o.parentData.height-s,u&&(o.size.width=o.size.height*o.aspectRatio))},stop:function(){var t=e(this).data("ui-resizable"),i=t.options,s=t.containerOffset,n=t.containerPosition,a=t.containerElement,o=e(t.helper),r=o.offset(),h=o.outerWidth()-t.sizeDiff.width,l=o.outerHeight()-t.sizeDiff.height;t._helper&&!i.animate&&/relative/.test(a.css("position"))&&e(this).css({left:r.left-n.left-s.left,width:h,height:l}),t._helper&&!i.animate&&/static/.test(a.css("position"))&&e(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),e.ui.plugin.add("resizable","alsoResize",{start:function(){var t=e(this).data("ui-resizable"),i=t.options,s=function(t){e(t).each(function(){var t=e(this);t.data("ui-resizable-alsoresize",{width:parseInt(t.width(),10),height:parseInt(t.height(),10),left:parseInt(t.css("left"),10),top:parseInt(t.css("top"),10)})})};"object"!=typeof i.alsoResize||i.alsoResize.parentNode?s(i.alsoResize):i.alsoResize.length?(i.alsoResize=i.alsoResize[0],s(i.alsoResize)):e.each(i.alsoResize,function(e){s(e)})},resize:function(t,i){var s=e(this).data("ui-resizable"),n=s.options,a=s.originalSize,o=s.originalPosition,r={height:s.size.height-a.height||0,width:s.size.width-a.width||0,top:s.position.top-o.top||0,left:s.position.left-o.left||0},h=function(t,s){e(t).each(function(){var t=e(this),n=e(this).data("ui-resizable-alsoresize"),a={},o=s&&s.length?s:t.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];e.each(o,function(e,t){var i=(n[t]||0)+(r[t]||0);i&&i>=0&&(a[t]=i||null)}),t.css(a)})};"object"!=typeof n.alsoResize||n.alsoResize.nodeType?h(n.alsoResize):e.each(n.alsoResize,function(e,t){h(e,t)})},stop:function(){e(this).removeData("resizable-alsoresize")}}),e.ui.plugin.add("resizable","ghost",{start:function(){var t=e(this).data("ui-resizable"),i=t.options,s=t.size;t.ghost=t.originalElement.clone(),t.ghost.css({opacity:.25,display:"block",position:"relative",height:s.height,width:s.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass("string"==typeof i.ghost?i.ghost:""),t.ghost.appendTo(t.helper)},resize:function(){var t=e(this).data("ui-resizable");t.ghost&&t.ghost.css({position:"relative",height:t.size.height,width:t.size.width})},stop:function(){var t=e(this).data("ui-resizable");t.ghost&&t.helper&&t.helper.get(0).removeChild(t.ghost.get(0))}}),e.ui.plugin.add("resizable","grid",{resize:function(){var t=e(this).data("ui-resizable"),i=t.options,s=t.size,n=t.originalSize,a=t.originalPosition,o=t.axis,r="number"==typeof i.grid?[i.grid,i.grid]:i.grid,h=r[0]||1,l=r[1]||1,u=Math.round((s.width-n.width)/h)*h,c=Math.round((s.height-n.height)/l)*l,d=n.width+u,p=n.height+c,f=i.maxWidth&&d>i.maxWidth,m=i.maxHeight&&p>i.maxHeight,g=i.minWidth&&i.minWidth>d,v=i.minHeight&&i.minHeight>p;i.grid=r,g&&(d+=h),v&&(p+=l),f&&(d-=h),m&&(p-=l),/^(se|s|e)$/.test(o)?(t.size.width=d,t.size.height=p):/^(ne)$/.test(o)?(t.size.width=d,t.size.height=p,t.position.top=a.top-c):/^(sw)$/.test(o)?(t.size.width=d,t.size.height=p,t.position.left=a.left-u):(t.size.width=d,t.size.height=p,t.position.top=a.top-c,t.position.left=a.left-u)}})})(jQuery);(function(e){e.widget("ui.selectable",e.ui.mouse,{version:"1.10.3",options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch",selected:null,selecting:null,start:null,stop:null,unselected:null,unselecting:null},_create:function(){var t,i=this;this.element.addClass("ui-selectable"),this.dragged=!1,this.refresh=function(){t=e(i.options.filter,i.element[0]),t.addClass("ui-selectee"),t.each(function(){var t=e(this),i=t.offset();e.data(this,"selectable-item",{element:this,$element:t,left:i.left,top:i.top,right:i.left+t.outerWidth(),bottom:i.top+t.outerHeight(),startselected:!1,selected:t.hasClass("ui-selected"),selecting:t.hasClass("ui-selecting"),unselecting:t.hasClass("ui-unselecting")})})},this.refresh(),this.selectees=t.addClass("ui-selectee"),this._mouseInit(),this.helper=e("<div class='ui-selectable-helper'></div>")},_destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item"),this.element.removeClass("ui-selectable ui-selectable-disabled"),this._mouseDestroy()},_mouseStart:function(t){var i=this,s=this.options;this.opos=[t.pageX,t.pageY],this.options.disabled||(this.selectees=e(s.filter,this.element[0]),this._trigger("start",t),e(s.appendTo).append(this.helper),this.helper.css({left:t.pageX,top:t.pageY,width:0,height:0}),s.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var s=e.data(this,"selectable-item");s.startselected=!0,t.metaKey||t.ctrlKey||(s.$element.removeClass("ui-selected"),s.selected=!1,s.$element.addClass("ui-unselecting"),s.unselecting=!0,i._trigger("unselecting",t,{unselecting:s.element}))}),e(t.target).parents().addBack().each(function(){var s,n=e.data(this,"selectable-item");return n?(s=!t.metaKey&&!t.ctrlKey||!n.$element.hasClass("ui-selected"),n.$element.removeClass(s?"ui-unselecting":"ui-selected").addClass(s?"ui-selecting":"ui-unselecting"),n.unselecting=!s,n.selecting=s,n.selected=s,s?i._trigger("selecting",t,{selecting:n.element}):i._trigger("unselecting",t,{unselecting:n.element}),!1):undefined}))},_mouseDrag:function(t){if(this.dragged=!0,!this.options.disabled){var i,s=this,n=this.options,a=this.opos[0],o=this.opos[1],r=t.pageX,h=t.pageY;return a>r&&(i=r,r=a,a=i),o>h&&(i=h,h=o,o=i),this.helper.css({left:a,top:o,width:r-a,height:h-o}),this.selectees.each(function(){var i=e.data(this,"selectable-item"),l=!1;i&&i.element!==s.element[0]&&("touch"===n.tolerance?l=!(i.left>r||a>i.right||i.top>h||o>i.bottom):"fit"===n.tolerance&&(l=i.left>a&&r>i.right&&i.top>o&&h>i.bottom),l?(i.selected&&(i.$element.removeClass("ui-selected"),i.selected=!1),i.unselecting&&(i.$element.removeClass("ui-unselecting"),i.unselecting=!1),i.selecting||(i.$element.addClass("ui-selecting"),i.selecting=!0,s._trigger("selecting",t,{selecting:i.element}))):(i.selecting&&((t.metaKey||t.ctrlKey)&&i.startselected?(i.$element.removeClass("ui-selecting"),i.selecting=!1,i.$element.addClass("ui-selected"),i.selected=!0):(i.$element.removeClass("ui-selecting"),i.selecting=!1,i.startselected&&(i.$element.addClass("ui-unselecting"),i.unselecting=!0),s._trigger("unselecting",t,{unselecting:i.element}))),i.selected&&(t.metaKey||t.ctrlKey||i.startselected||(i.$element.removeClass("ui-selected"),i.selected=!1,i.$element.addClass("ui-unselecting"),i.unselecting=!0,s._trigger("unselecting",t,{unselecting:i.element})))))}),!1}},_mouseStop:function(t){var i=this;return this.dragged=!1,e(".ui-unselecting",this.element[0]).each(function(){var s=e.data(this,"selectable-item");s.$element.removeClass("ui-unselecting"),s.unselecting=!1,s.startselected=!1,i._trigger("unselected",t,{unselected:s.element})}),e(".ui-selecting",this.element[0]).each(function(){var s=e.data(this,"selectable-item");s.$element.removeClass("ui-selecting").addClass("ui-selected"),s.selecting=!1,s.selected=!0,s.startselected=!0,i._trigger("selected",t,{selected:s.element})}),this._trigger("stop",t),this.helper.remove(),!1}})})(jQuery);(function(t){function e(t,e,i){return t>e&&e+i>t}function i(t){return/left|right/.test(t.css("float"))||/inline|table-cell/.test(t.css("display"))}t.widget("ui.sortable",t.ui.mouse,{version:"1.10.3",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_create:function(){var t=this.options;this.containerCache={},this.element.addClass("ui-sortable"),this.refresh(),this.floating=this.items.length?"x"===t.axis||i(this.items[0].item):!1,this.offset=this.element.offset(),this._mouseInit(),this.ready=!0},_destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled"),this._mouseDestroy();for(var t=this.items.length-1;t>=0;t--)this.items[t].item.removeData(this.widgetName+"-item");return this},_setOption:function(e,i){"disabled"===e?(this.options[e]=i,this.widget().toggleClass("ui-sortable-disabled",!!i)):t.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(e,i){var s=null,n=!1,a=this;return this.reverting?!1:this.options.disabled||"static"===this.options.type?!1:(this._refreshItems(e),t(e.target).parents().each(function(){return t.data(this,a.widgetName+"-item")===a?(s=t(this),!1):undefined}),t.data(e.target,a.widgetName+"-item")===a&&(s=t(e.target)),s?!this.options.handle||i||(t(this.options.handle,s).find("*").addBack().each(function(){this===e.target&&(n=!0)}),n)?(this.currentItem=s,this._removeCurrentsFromItems(),!0):!1:!1)},_mouseStart:function(e,i,s){var n,a,o=this.options;if(this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(e),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},t.extend(this.offset,{click:{left:e.pageX-this.offset.left,top:e.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(e),this.originalPageX=e.pageX,this.originalPageY=e.pageY,o.cursorAt&&this._adjustOffsetFromHelper(o.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),o.containment&&this._setContainment(),o.cursor&&"auto"!==o.cursor&&(a=this.document.find("body"),this.storedCursor=a.css("cursor"),a.css("cursor",o.cursor),this.storedStylesheet=t("<style>*{ cursor: "+o.cursor+" !important; }</style>").appendTo(a)),o.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",o.opacity)),o.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",o.zIndex)),this.scrollParent[0]!==document&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",e,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!s)for(n=this.containers.length-1;n>=0;n--)this.containers[n]._trigger("activate",e,this._uiHash(this));return t.ui.ddmanager&&(t.ui.ddmanager.current=this),t.ui.ddmanager&&!o.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(e),!0},_mouseDrag:function(e){var i,s,n,a,o=this.options,r=!1;for(this.position=this._generatePosition(e),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==document&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-e.pageY<o.scrollSensitivity?this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop+o.scrollSpeed:e.pageY-this.overflowOffset.top<o.scrollSensitivity&&(this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop-o.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-e.pageX<o.scrollSensitivity?this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft+o.scrollSpeed:e.pageX-this.overflowOffset.left<o.scrollSensitivity&&(this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft-o.scrollSpeed)):(e.pageY-t(document).scrollTop()<o.scrollSensitivity?r=t(document).scrollTop(t(document).scrollTop()-o.scrollSpeed):t(window).height()-(e.pageY-t(document).scrollTop())<o.scrollSensitivity&&(r=t(document).scrollTop(t(document).scrollTop()+o.scrollSpeed)),e.pageX-t(document).scrollLeft()<o.scrollSensitivity?r=t(document).scrollLeft(t(document).scrollLeft()-o.scrollSpeed):t(window).width()-(e.pageX-t(document).scrollLeft())<o.scrollSensitivity&&(r=t(document).scrollLeft(t(document).scrollLeft()+o.scrollSpeed))),r!==!1&&t.ui.ddmanager&&!o.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e)),this.positionAbs=this._convertPositionTo("absolute"),this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),i=this.items.length-1;i>=0;i--)if(s=this.items[i],n=s.item[0],a=this._intersectsWithPointer(s),a&&s.instance===this.currentContainer&&n!==this.currentItem[0]&&this.placeholder[1===a?"next":"prev"]()[0]!==n&&!t.contains(this.placeholder[0],n)&&("semi-dynamic"===this.options.type?!t.contains(this.element[0],n):!0)){if(this.direction=1===a?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(s))break;this._rearrange(e,s),this._trigger("change",e,this._uiHash());break}return this._contactContainers(e),t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),this._trigger("sort",e,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(e,i){if(e){if(t.ui.ddmanager&&!this.options.dropBehaviour&&t.ui.ddmanager.drop(this,e),this.options.revert){var s=this,n=this.placeholder.offset(),a=this.options.axis,o={};a&&"x"!==a||(o.left=n.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===document.body?0:this.offsetParent[0].scrollLeft)),a&&"y"!==a||(o.top=n.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===document.body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,t(this.helper).animate(o,parseInt(this.options.revert,10)||500,function(){s._clear(e)})}else this._clear(e,i);return!1}},cancel:function(){if(this.dragging){this._mouseUp({target:null}),"original"===this.options.helper?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var e=this.containers.length-1;e>=0;e--)this.containers[e]._trigger("deactivate",null,this._uiHash(this)),this.containers[e].containerCache.over&&(this.containers[e]._trigger("out",null,this._uiHash(this)),this.containers[e].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),t.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?t(this.domPosition.prev).after(this.currentItem):t(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(e){var i=this._getItemsAsjQuery(e&&e.connected),s=[];return e=e||{},t(i).each(function(){var i=(t(e.item||this).attr(e.attribute||"id")||"").match(e.expression||/(.+)[\-=_](.+)/);i&&s.push((e.key||i[1]+"[]")+"="+(e.key&&e.expression?i[1]:i[2]))}),!s.length&&e.key&&s.push(e.key+"="),s.join("&")},toArray:function(e){var i=this._getItemsAsjQuery(e&&e.connected),s=[];return e=e||{},i.each(function(){s.push(t(e.item||this).attr(e.attribute||"id")||"")}),s},_intersectsWith:function(t){var e=this.positionAbs.left,i=e+this.helperProportions.width,s=this.positionAbs.top,n=s+this.helperProportions.height,a=t.left,o=a+t.width,r=t.top,h=r+t.height,l=this.offset.click.top,c=this.offset.click.left,u="x"===this.options.axis||s+l>r&&h>s+l,d="y"===this.options.axis||e+c>a&&o>e+c,p=u&&d;return"pointer"===this.options.tolerance||this.options.forcePointerForContainers||"pointer"!==this.options.tolerance&&this.helperProportions[this.floating?"width":"height"]>t[this.floating?"width":"height"]?p:e+this.helperProportions.width/2>a&&o>i-this.helperProportions.width/2&&s+this.helperProportions.height/2>r&&h>n-this.helperProportions.height/2},_intersectsWithPointer:function(t){var i="x"===this.options.axis||e(this.positionAbs.top+this.offset.click.top,t.top,t.height),s="y"===this.options.axis||e(this.positionAbs.left+this.offset.click.left,t.left,t.width),n=i&&s,a=this._getDragVerticalDirection(),o=this._getDragHorizontalDirection();return n?this.floating?o&&"right"===o||"down"===a?2:1:a&&("down"===a?2:1):!1},_intersectsWithSides:function(t){var i=e(this.positionAbs.top+this.offset.click.top,t.top+t.height/2,t.height),s=e(this.positionAbs.left+this.offset.click.left,t.left+t.width/2,t.width),n=this._getDragVerticalDirection(),a=this._getDragHorizontalDirection();return this.floating&&a?"right"===a&&s||"left"===a&&!s:n&&("down"===n&&i||"up"===n&&!i)},_getDragVerticalDirection:function(){var t=this.positionAbs.top-this.lastPositionAbs.top;return 0!==t&&(t>0?"down":"up")},_getDragHorizontalDirection:function(){var t=this.positionAbs.left-this.lastPositionAbs.left;return 0!==t&&(t>0?"right":"left")},refresh:function(t){return this._refreshItems(t),this.refreshPositions(),this},_connectWith:function(){var t=this.options;return t.connectWith.constructor===String?[t.connectWith]:t.connectWith},_getItemsAsjQuery:function(e){var i,s,n,a,o=[],r=[],h=this._connectWith();if(h&&e)for(i=h.length-1;i>=0;i--)for(n=t(h[i]),s=n.length-1;s>=0;s--)a=t.data(n[s],this.widgetFullName),a&&a!==this&&!a.options.disabled&&r.push([t.isFunction(a.options.items)?a.options.items.call(a.element):t(a.options.items,a.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),a]);for(r.push([t.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):t(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),i=r.length-1;i>=0;i--)r[i][0].each(function(){o.push(this)});return t(o)},_removeCurrentsFromItems:function(){var e=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=t.grep(this.items,function(t){for(var i=0;e.length>i;i++)if(e[i]===t.item[0])return!1;return!0})},_refreshItems:function(e){this.items=[],this.containers=[this];var i,s,n,a,o,r,h,l,c=this.items,u=[[t.isFunction(this.options.items)?this.options.items.call(this.element[0],e,{item:this.currentItem}):t(this.options.items,this.element),this]],d=this._connectWith();if(d&&this.ready)for(i=d.length-1;i>=0;i--)for(n=t(d[i]),s=n.length-1;s>=0;s--)a=t.data(n[s],this.widgetFullName),a&&a!==this&&!a.options.disabled&&(u.push([t.isFunction(a.options.items)?a.options.items.call(a.element[0],e,{item:this.currentItem}):t(a.options.items,a.element),a]),this.containers.push(a));for(i=u.length-1;i>=0;i--)for(o=u[i][1],r=u[i][0],s=0,l=r.length;l>s;s++)h=t(r[s]),h.data(this.widgetName+"-item",o),c.push({item:h,instance:o,width:0,height:0,left:0,top:0})},refreshPositions:function(e){this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());var i,s,n,a;for(i=this.items.length-1;i>=0;i--)s=this.items[i],s.instance!==this.currentContainer&&this.currentContainer&&s.item[0]!==this.currentItem[0]||(n=this.options.toleranceElement?t(this.options.toleranceElement,s.item):s.item,e||(s.width=n.outerWidth(),s.height=n.outerHeight()),a=n.offset(),s.left=a.left,s.top=a.top);if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(i=this.containers.length-1;i>=0;i--)a=this.containers[i].element.offset(),this.containers[i].containerCache.left=a.left,this.containers[i].containerCache.top=a.top,this.containers[i].containerCache.width=this.containers[i].element.outerWidth(),this.containers[i].containerCache.height=this.containers[i].element.outerHeight();return this},_createPlaceholder:function(e){e=e||this;var i,s=e.options;s.placeholder&&s.placeholder.constructor!==String||(i=s.placeholder,s.placeholder={element:function(){var s=e.currentItem[0].nodeName.toLowerCase(),n=t("<"+s+">",e.document[0]).addClass(i||e.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper");return"tr"===s?e.currentItem.children().each(function(){t("<td> </td>",e.document[0]).attr("colspan",t(this).attr("colspan")||1).appendTo(n)}):"img"===s&&n.attr("src",e.currentItem.attr("src")),i||n.css("visibility","hidden"),n},update:function(t,n){(!i||s.forcePlaceholderSize)&&(n.height()||n.height(e.currentItem.innerHeight()-parseInt(e.currentItem.css("paddingTop")||0,10)-parseInt(e.currentItem.css("paddingBottom")||0,10)),n.width()||n.width(e.currentItem.innerWidth()-parseInt(e.currentItem.css("paddingLeft")||0,10)-parseInt(e.currentItem.css("paddingRight")||0,10)))}}),e.placeholder=t(s.placeholder.element.call(e.element,e.currentItem)),e.currentItem.after(e.placeholder),s.placeholder.update(e,e.placeholder)},_contactContainers:function(s){var n,a,o,r,h,l,c,u,d,p,f=null,m=null;for(n=this.containers.length-1;n>=0;n--)if(!t.contains(this.currentItem[0],this.containers[n].element[0]))if(this._intersectsWith(this.containers[n].containerCache)){if(f&&t.contains(this.containers[n].element[0],f.element[0]))continue;f=this.containers[n],m=n}else this.containers[n].containerCache.over&&(this.containers[n]._trigger("out",s,this._uiHash(this)),this.containers[n].containerCache.over=0);if(f)if(1===this.containers.length)this.containers[m].containerCache.over||(this.containers[m]._trigger("over",s,this._uiHash(this)),this.containers[m].containerCache.over=1);else{for(o=1e4,r=null,p=f.floating||i(this.currentItem),h=p?"left":"top",l=p?"width":"height",c=this.positionAbs[h]+this.offset.click[h],a=this.items.length-1;a>=0;a--)t.contains(this.containers[m].element[0],this.items[a].item[0])&&this.items[a].item[0]!==this.currentItem[0]&&(!p||e(this.positionAbs.top+this.offset.click.top,this.items[a].top,this.items[a].height))&&(u=this.items[a].item.offset()[h],d=!1,Math.abs(u-c)>Math.abs(u+this.items[a][l]-c)&&(d=!0,u+=this.items[a][l]),o>Math.abs(u-c)&&(o=Math.abs(u-c),r=this.items[a],this.direction=d?"up":"down"));if(!r&&!this.options.dropOnEmpty)return;if(this.currentContainer===this.containers[m])return;r?this._rearrange(s,r,null,!0):this._rearrange(s,null,this.containers[m].element,!0),this._trigger("change",s,this._uiHash()),this.containers[m]._trigger("change",s,this._uiHash(this)),this.currentContainer=this.containers[m],this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[m]._trigger("over",s,this._uiHash(this)),this.containers[m].containerCache.over=1}},_createHelper:function(e){var i=this.options,s=t.isFunction(i.helper)?t(i.helper.apply(this.element[0],[e,this.currentItem])):"clone"===i.helper?this.currentItem.clone():this.currentItem;return s.parents("body").length||t("parent"!==i.appendTo?i.appendTo:this.currentItem[0].parentNode)[0].appendChild(s[0]),s[0]===this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}),(!s[0].style.width||i.forceHelperSize)&&s.width(this.currentItem.width()),(!s[0].style.height||i.forceHelperSize)&&s.height(this.currentItem.height()),s},_adjustOffsetFromHelper:function(e){"string"==typeof e&&(e=e.split(" ")),t.isArray(e)&&(e={left:+e[0],top:+e[1]||0}),"left"in e&&(this.offset.click.left=e.left+this.margins.left),"right"in e&&(this.offset.click.left=this.helperProportions.width-e.right+this.margins.left),"top"in e&&(this.offset.click.top=e.top+this.margins.top),"bottom"in e&&(this.offset.click.top=this.helperProportions.height-e.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var e=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])&&(e.left+=this.scrollParent.scrollLeft(),e.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===document.body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&t.ui.ie)&&(e={top:0,left:0}),{top:e.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:e.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var t=this.currentItem.position();return{top:t.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:t.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e,i,s,n=this.options;"parent"===n.containment&&(n.containment=this.helper[0].parentNode),("document"===n.containment||"window"===n.containment)&&(this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,t("document"===n.containment?document:window).width()-this.helperProportions.width-this.margins.left,(t("document"===n.containment?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),/^(document|window|parent)$/.test(n.containment)||(e=t(n.containment)[0],i=t(n.containment).offset(),s="hidden"!==t(e).css("overflow"),this.containment=[i.left+(parseInt(t(e).css("borderLeftWidth"),10)||0)+(parseInt(t(e).css("paddingLeft"),10)||0)-this.margins.left,i.top+(parseInt(t(e).css("borderTopWidth"),10)||0)+(parseInt(t(e).css("paddingTop"),10)||0)-this.margins.top,i.left+(s?Math.max(e.scrollWidth,e.offsetWidth):e.offsetWidth)-(parseInt(t(e).css("borderLeftWidth"),10)||0)-(parseInt(t(e).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,i.top+(s?Math.max(e.scrollHeight,e.offsetHeight):e.offsetHeight)-(parseInt(t(e).css("borderTopWidth"),10)||0)-(parseInt(t(e).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top])},_convertPositionTo:function(e,i){i||(i=this.position);var s="absolute"===e?1:-1,n="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,a=/(html|body)/i.test(n[0].tagName);return{top:i.top+this.offset.relative.top*s+this.offset.parent.top*s-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():a?0:n.scrollTop())*s,left:i.left+this.offset.relative.left*s+this.offset.parent.left*s-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():a?0:n.scrollLeft())*s}},_generatePosition:function(e){var i,s,n=this.options,a=e.pageX,o=e.pageY,r="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,h=/(html|body)/i.test(r[0].tagName);return"relative"!==this.cssPosition||this.scrollParent[0]!==document&&this.scrollParent[0]!==this.offsetParent[0]||(this.offset.relative=this._getRelativeOffset()),this.originalPosition&&(this.containment&&(e.pageX-this.offset.click.left<this.containment[0]&&(a=this.containment[0]+this.offset.click.left),e.pageY-this.offset.click.top<this.containment[1]&&(o=this.containment[1]+this.offset.click.top),e.pageX-this.offset.click.left>this.containment[2]&&(a=this.containment[2]+this.offset.click.left),e.pageY-this.offset.click.top>this.containment[3]&&(o=this.containment[3]+this.offset.click.top)),n.grid&&(i=this.originalPageY+Math.round((o-this.originalPageY)/n.grid[1])*n.grid[1],o=this.containment?i-this.offset.click.top>=this.containment[1]&&i-this.offset.click.top<=this.containment[3]?i:i-this.offset.click.top>=this.containment[1]?i-n.grid[1]:i+n.grid[1]:i,s=this.originalPageX+Math.round((a-this.originalPageX)/n.grid[0])*n.grid[0],a=this.containment?s-this.offset.click.left>=this.containment[0]&&s-this.offset.click.left<=this.containment[2]?s:s-this.offset.click.left>=this.containment[0]?s-n.grid[0]:s+n.grid[0]:s)),{top:o-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():h?0:r.scrollTop()),left:a-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():h?0:r.scrollLeft())}},_rearrange:function(t,e,i,s){i?i[0].appendChild(this.placeholder[0]):e.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?e.item[0]:e.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var n=this.counter;this._delay(function(){n===this.counter&&this.refreshPositions(!s)})},_clear:function(t,e){this.reverting=!1;var i,s=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(i in this._storedCSS)("auto"===this._storedCSS[i]||"static"===this._storedCSS[i])&&(this._storedCSS[i]="");this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();for(this.fromOutside&&!e&&s.push(function(t){this._trigger("receive",t,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||e||s.push(function(t){this._trigger("update",t,this._uiHash())}),this!==this.currentContainer&&(e||(s.push(function(t){this._trigger("remove",t,this._uiHash())}),s.push(function(t){return function(e){t._trigger("receive",e,this._uiHash(this))}}.call(this,this.currentContainer)),s.push(function(t){return function(e){t._trigger("update",e,this._uiHash(this))}}.call(this,this.currentContainer)))),i=this.containers.length-1;i>=0;i--)e||s.push(function(t){return function(e){t._trigger("deactivate",e,this._uiHash(this))}}.call(this,this.containers[i])),this.containers[i].containerCache.over&&(s.push(function(t){return function(e){t._trigger("out",e,this._uiHash(this))}}.call(this,this.containers[i])),this.containers[i].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,this.cancelHelperRemoval){if(!e){for(this._trigger("beforeStop",t,this._uiHash()),i=0;s.length>i;i++)s[i].call(this,t);this._trigger("stop",t,this._uiHash())}return this.fromOutside=!1,!1}if(e||this._trigger("beforeStop",t,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null,!e){for(i=0;s.length>i;i++)s[i].call(this,t);this._trigger("stop",t,this._uiHash())}return this.fromOutside=!1,!0},_trigger:function(){t.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(e){var i=e||this;return{helper:i.helper,placeholder:i.placeholder||t([]),position:i.position,originalPosition:i.originalPosition,offset:i.positionAbs,item:i.currentItem,sender:e?e.element:null}}})})(jQuery);(function(t){var e=0,i={},s={};i.height=i.paddingTop=i.paddingBottom=i.borderTopWidth=i.borderBottomWidth="hide",s.height=s.paddingTop=s.paddingBottom=s.borderTopWidth=s.borderBottomWidth="show",t.widget("ui.accordion",{version:"1.10.3",options:{active:0,animate:{},collapsible:!1,event:"click",header:"> li > :first-child,> :not(li):even",heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},_create:function(){var e=this.options;this.prevShow=this.prevHide=t(),this.element.addClass("ui-accordion ui-widget ui-helper-reset").attr("role","tablist"),e.collapsible||e.active!==!1&&null!=e.active||(e.active=0),this._processPanels(),0>e.active&&(e.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():t(),content:this.active.length?this.active.next():t()}},_createIcons:function(){var e=this.options.icons;e&&(t("<span>").addClass("ui-accordion-header-icon ui-icon "+e.header).prependTo(this.headers),this.active.children(".ui-accordion-header-icon").removeClass(e.header).addClass(e.activeHeader),this.headers.addClass("ui-accordion-icons"))},_destroyIcons:function(){this.headers.removeClass("ui-accordion-icons").children(".ui-accordion-header-icon").remove()},_destroy:function(){var t;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role"),this.headers.removeClass("ui-accordion-header ui-accordion-header-active ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-selected").removeAttr("aria-controls").removeAttr("tabIndex").each(function(){/^ui-accordion/.test(this.id)&&this.removeAttribute("id")}),this._destroyIcons(),t=this.headers.next().css("display","").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-state-disabled").each(function(){/^ui-accordion/.test(this.id)&&this.removeAttribute("id")}),"content"!==this.options.heightStyle&&t.css("height","")},_setOption:function(t,e){return"active"===t?(this._activate(e),undefined):("event"===t&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(e)),this._super(t,e),"collapsible"!==t||e||this.options.active!==!1||this._activate(0),"icons"===t&&(this._destroyIcons(),e&&this._createIcons()),"disabled"===t&&this.headers.add(this.headers.next()).toggleClass("ui-state-disabled",!!e),undefined)},_keydown:function(e){if(!e.altKey&&!e.ctrlKey){var i=t.ui.keyCode,s=this.headers.length,n=this.headers.index(e.target),a=!1;switch(e.keyCode){case i.RIGHT:case i.DOWN:a=this.headers[(n+1)%s];break;case i.LEFT:case i.UP:a=this.headers[(n-1+s)%s];break;case i.SPACE:case i.ENTER:this._eventHandler(e);break;case i.HOME:a=this.headers[0];break;case i.END:a=this.headers[s-1]}a&&(t(e.target).attr("tabIndex",-1),t(a).attr("tabIndex",0),a.focus(),e.preventDefault())}},_panelKeyDown:function(e){e.keyCode===t.ui.keyCode.UP&&e.ctrlKey&&t(e.currentTarget).prev().focus()},refresh:function(){var e=this.options;this._processPanels(),e.active===!1&&e.collapsible===!0||!this.headers.length?(e.active=!1,this.active=t()):e.active===!1?this._activate(0):this.active.length&&!t.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(e.active=!1,this.active=t()):this._activate(Math.max(0,e.active-1)):e.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){this.headers=this.element.find(this.options.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all"),this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom").filter(":not(.ui-accordion-content-active)").hide()},_refresh:function(){var i,s=this.options,n=s.heightStyle,a=this.element.parent(),o=this.accordionId="ui-accordion-"+(this.element.attr("id")||++e);this.active=this._findActive(s.active).addClass("ui-accordion-header-active ui-state-active ui-corner-top").removeClass("ui-corner-all"),this.active.next().addClass("ui-accordion-content-active").show(),this.headers.attr("role","tab").each(function(e){var i=t(this),s=i.attr("id"),n=i.next(),a=n.attr("id");s||(s=o+"-header-"+e,i.attr("id",s)),a||(a=o+"-panel-"+e,n.attr("id",a)),i.attr("aria-controls",a),n.attr("aria-labelledby",s)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false",tabIndex:-1}).next().attr({"aria-expanded":"false","aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true",tabIndex:0}).next().attr({"aria-expanded":"true","aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(s.event),"fill"===n?(i=a.height(),this.element.siblings(":visible").each(function(){var e=t(this),s=e.css("position");"absolute"!==s&&"fixed"!==s&&(i-=e.outerHeight(!0))}),this.headers.each(function(){i-=t(this).outerHeight(!0)}),this.headers.next().each(function(){t(this).height(Math.max(0,i-t(this).innerHeight()+t(this).height()))}).css("overflow","auto")):"auto"===n&&(i=0,this.headers.next().each(function(){i=Math.max(i,t(this).css("height","").height())}).height(i))},_activate:function(e){var i=this._findActive(e)[0];i!==this.active[0]&&(i=i||this.active[0],this._eventHandler({target:i,currentTarget:i,preventDefault:t.noop}))},_findActive:function(e){return"number"==typeof e?this.headers.eq(e):t()},_setupEvents:function(e){var i={keydown:"_keydown"};e&&t.each(e.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,i),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(e){var i=this.options,s=this.active,n=t(e.currentTarget),a=n[0]===s[0],o=a&&i.collapsible,r=o?t():n.next(),h=s.next(),l={oldHeader:s,oldPanel:h,newHeader:o?t():n,newPanel:r};e.preventDefault(),a&&!i.collapsible||this._trigger("beforeActivate",e,l)===!1||(i.active=o?!1:this.headers.index(n),this.active=a?t():n,this._toggle(l),s.removeClass("ui-accordion-header-active ui-state-active"),i.icons&&s.children(".ui-accordion-header-icon").removeClass(i.icons.activeHeader).addClass(i.icons.header),a||(n.removeClass("ui-corner-all").addClass("ui-accordion-header-active ui-state-active ui-corner-top"),i.icons&&n.children(".ui-accordion-header-icon").removeClass(i.icons.header).addClass(i.icons.activeHeader),n.next().addClass("ui-accordion-content-active")))},_toggle:function(e){var i=e.newPanel,s=this.prevShow.length?this.prevShow:e.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=i,this.prevHide=s,this.options.animate?this._animate(i,s,e):(s.hide(),i.show(),this._toggleComplete(e)),s.attr({"aria-expanded":"false","aria-hidden":"true"}),s.prev().attr("aria-selected","false"),i.length&&s.length?s.prev().attr("tabIndex",-1):i.length&&this.headers.filter(function(){return 0===t(this).attr("tabIndex")}).attr("tabIndex",-1),i.attr({"aria-expanded":"true","aria-hidden":"false"}).prev().attr({"aria-selected":"true",tabIndex:0})},_animate:function(t,e,n){var a,o,r,h=this,l=0,c=t.length&&(!e.length||t.index()<e.index()),u=this.options.animate||{},d=c&&u.down||u,p=function(){h._toggleComplete(n)};return"number"==typeof d&&(r=d),"string"==typeof d&&(o=d),o=o||d.easing||u.easing,r=r||d.duration||u.duration,e.length?t.length?(a=t.show().outerHeight(),e.animate(i,{duration:r,easing:o,step:function(t,e){e.now=Math.round(t)}}),t.hide().animate(s,{duration:r,easing:o,complete:p,step:function(t,i){i.now=Math.round(t),"height"!==i.prop?l+=i.now:"content"!==h.options.heightStyle&&(i.now=Math.round(a-e.outerHeight()-l),l=0)}}),undefined):e.animate(i,r,o,p):t.animate(s,r,o,p)},_toggleComplete:function(t){var e=t.oldPanel;e.removeClass("ui-accordion-content-active").prev().removeClass("ui-corner-top").addClass("ui-corner-all"),e.length&&(e.parent()[0].className=e.parent()[0].className),this._trigger("activate",null,t)}})})(jQuery);(function(t){var e=0;t.widget("ui.autocomplete",{version:"1.10.3",defaultElement:"<input>",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},pending:0,_create:function(){var e,i,s,n=this.element[0].nodeName.toLowerCase(),a="textarea"===n,o="input"===n;this.isMultiLine=a?!0:o?!1:this.element.prop("isContentEditable"),this.valueMethod=this.element[a||o?"val":"text"],this.isNewMenu=!0,this.element.addClass("ui-autocomplete-input").attr("autocomplete","off"),this._on(this.element,{keydown:function(n){if(this.element.prop("readOnly"))return e=!0,s=!0,i=!0,undefined;e=!1,s=!1,i=!1;var a=t.ui.keyCode;switch(n.keyCode){case a.PAGE_UP:e=!0,this._move("previousPage",n);break;case a.PAGE_DOWN:e=!0,this._move("nextPage",n);break;case a.UP:e=!0,this._keyEvent("previous",n);break;case a.DOWN:e=!0,this._keyEvent("next",n);break;case a.ENTER:case a.NUMPAD_ENTER:this.menu.active&&(e=!0,n.preventDefault(),this.menu.select(n));break;case a.TAB:this.menu.active&&this.menu.select(n);break;case a.ESCAPE:this.menu.element.is(":visible")&&(this._value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n)}},keypress:function(s){if(e)return e=!1,(!this.isMultiLine||this.menu.element.is(":visible"))&&s.preventDefault(),undefined;if(!i){var n=t.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move("previousPage",s);break;case n.PAGE_DOWN:this._move("nextPage",s);break;case n.UP:this._keyEvent("previous",s);break;case n.DOWN:this._keyEvent("next",s)}}},input:function(t){return s?(s=!1,t.preventDefault(),undefined):(this._searchTimeout(t),undefined)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){return this.cancelBlur?(delete this.cancelBlur,undefined):(clearTimeout(this.searching),this.close(t),this._change(t),undefined)}}),this._initSource(),this.menu=t("<ul>").addClass("ui-autocomplete ui-front").appendTo(this._appendTo()).menu({role:null}).hide().data("ui-menu"),this._on(this.menu.element,{mousedown:function(e){e.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur});var i=this.menu.element[0];t(e.target).closest(".ui-menu-item").length||this._delay(function(){var e=this;this.document.one("mousedown",function(s){s.target===e.element[0]||s.target===i||t.contains(i,s.target)||e.close()})})},menufocus:function(e,i){if(this.isNewMenu&&(this.isNewMenu=!1,e.originalEvent&&/^mouse/.test(e.originalEvent.type)))return this.menu.blur(),this.document.one("mousemove",function(){t(e.target).trigger(e.originalEvent)}),undefined;var s=i.item.data("ui-autocomplete-item");!1!==this._trigger("focus",e,{item:s})?e.originalEvent&&/^key/.test(e.originalEvent.type)&&this._value(s.value):this.liveRegion.text(s.value)},menuselect:function(t,e){var i=e.item.data("ui-autocomplete-item"),s=this.previous;this.element[0]!==this.document[0].activeElement&&(this.element.focus(),this.previous=s,this._delay(function(){this.previous=s,this.selectedItem=i})),!1!==this._trigger("select",t,{item:i})&&this._value(i.value),this.term=this._value(),this.close(t),this.selectedItem=i}}),this.liveRegion=t("<span>",{role:"status","aria-live":"polite"}).addClass("ui-helper-hidden-accessible").insertBefore(this.element),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(t,e){this._super(t,e),"source"===t&&this._initSource(),"appendTo"===t&&this.menu.element.appendTo(this._appendTo()),"disabled"===t&&e&&this.xhr&&this.xhr.abort()},_appendTo:function(){var e=this.options.appendTo;return e&&(e=e.jquery||e.nodeType?t(e):this.document.find(e).eq(0)),e||(e=this.element.closest(".ui-front")),e.length||(e=this.document[0].body),e},_initSource:function(){var e,i,s=this;t.isArray(this.options.source)?(e=this.options.source,this.source=function(i,s){s(t.ui.autocomplete.filter(e,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(e,n){s.xhr&&s.xhr.abort(),s.xhr=t.ajax({url:i,data:e,dataType:"json",success:function(t){n(t)},error:function(){n([])}})}):this.source=this.options.source},_searchTimeout:function(t){clearTimeout(this.searching),this.searching=this._delay(function(){this.term!==this._value()&&(this.selectedItem=null,this.search(null,t))},this.options.delay)},search:function(t,e){return t=null!=t?t:this._value(),this.term=this._value(),t.length<this.options.minLength?this.close(e):this._trigger("search",e)!==!1?this._search(t):undefined},_search:function(t){this.pending++,this.element.addClass("ui-autocomplete-loading"),this.cancelSearch=!1,this.source({term:t},this._response())},_response:function(){var t=this,i=++e;return function(s){i===e&&t.__response(s),t.pending--,t.pending||t.element.removeClass("ui-autocomplete-loading")}},__response:function(t){t&&(t=this._normalize(t)),this._trigger("response",null,{content:t}),!this.options.disabled&&t&&t.length&&!this.cancelSearch?(this._suggest(t),this._trigger("open")):this._close()},close:function(t){this.cancelSearch=!0,this._close(t)},_close:function(t){this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger("close",t))},_change:function(t){this.previous!==this._value()&&this._trigger("change",t,{item:this.selectedItem})},_normalize:function(e){return e.length&&e[0].label&&e[0].value?e:t.map(e,function(e){return"string"==typeof e?{label:e,value:e}:t.extend({label:e.label||e.value,value:e.value||e.label},e)})},_suggest:function(e){var i=this.menu.element.empty();this._renderMenu(i,e),this.isNewMenu=!0,this.menu.refresh(),i.show(),this._resizeMenu(),i.position(t.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next()},_resizeMenu:function(){var t=this.menu.element;t.outerWidth(Math.max(t.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(e,i){var s=this;t.each(i,function(t,i){s._renderItemData(e,i)})},_renderItemData:function(t,e){return this._renderItem(t,e).data("ui-autocomplete-item",e)},_renderItem:function(e,i){return t("<li>").append(t("<a>").text(i.label)).appendTo(e)},_move:function(t,e){return this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(t)||this.menu.isLastItem()&&/^next/.test(t)?(this._value(this.term),this.menu.blur(),undefined):(this.menu[t](e),undefined):(this.search(null,e),undefined)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(t,e){(!this.isMultiLine||this.menu.element.is(":visible"))&&(this._move(t,e),e.preventDefault())}}),t.extend(t.ui.autocomplete,{escapeRegex:function(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(e,i){var s=RegExp(t.ui.autocomplete.escapeRegex(i),"i");return t.grep(e,function(t){return s.test(t.label||t.value||t)})}}),t.widget("ui.autocomplete",t.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(t){return t+(t>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(t){var e;this._superApply(arguments),this.options.disabled||this.cancelSearch||(e=t&&t.length?this.options.messages.results(t.length):this.options.messages.noResults,this.liveRegion.text(e))}})})(jQuery);(function(t){var e,i,s,n,a="ui-button ui-widget ui-state-default ui-corner-all",o="ui-state-hover ui-state-active ",r="ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only",h=function(){var e=t(this);setTimeout(function(){e.find(":ui-button").button("refresh")},1)},l=function(e){var i=e.name,s=e.form,n=t([]);return i&&(i=i.replace(/'/g,"\\'"),n=s?t(s).find("[name='"+i+"']"):t("[name='"+i+"']",e.ownerDocument).filter(function(){return!this.form})),n};t.widget("ui.button",{version:"1.10.3",defaultElement:"<button>",options:{disabled:null,text:!0,label:null,icons:{primary:null,secondary:null}},_create:function(){this.element.closest("form").unbind("reset"+this.eventNamespace).bind("reset"+this.eventNamespace,h),"boolean"!=typeof this.options.disabled?this.options.disabled=!!this.element.prop("disabled"):this.element.prop("disabled",this.options.disabled),this._determineButtonType(),this.hasTitle=!!this.buttonElement.attr("title");var o=this,r=this.options,c="checkbox"===this.type||"radio"===this.type,u=c?"":"ui-state-active",d="ui-state-focus";null===r.label&&(r.label="input"===this.type?this.buttonElement.val():this.buttonElement.html()),this._hoverable(this.buttonElement),this.buttonElement.addClass(a).attr("role","button").bind("mouseenter"+this.eventNamespace,function(){r.disabled||this===e&&t(this).addClass("ui-state-active")}).bind("mouseleave"+this.eventNamespace,function(){r.disabled||t(this).removeClass(u)}).bind("click"+this.eventNamespace,function(t){r.disabled&&(t.preventDefault(),t.stopImmediatePropagation())}),this.element.bind("focus"+this.eventNamespace,function(){o.buttonElement.addClass(d)}).bind("blur"+this.eventNamespace,function(){o.buttonElement.removeClass(d)}),c&&(this.element.bind("change"+this.eventNamespace,function(){n||o.refresh()}),this.buttonElement.bind("mousedown"+this.eventNamespace,function(t){r.disabled||(n=!1,i=t.pageX,s=t.pageY)}).bind("mouseup"+this.eventNamespace,function(t){r.disabled||(i!==t.pageX||s!==t.pageY)&&(n=!0)})),"checkbox"===this.type?this.buttonElement.bind("click"+this.eventNamespace,function(){return r.disabled||n?!1:undefined}):"radio"===this.type?this.buttonElement.bind("click"+this.eventNamespace,function(){if(r.disabled||n)return!1;t(this).addClass("ui-state-active"),o.buttonElement.attr("aria-pressed","true");var e=o.element[0];l(e).not(e).map(function(){return t(this).button("widget")[0]}).removeClass("ui-state-active").attr("aria-pressed","false")}):(this.buttonElement.bind("mousedown"+this.eventNamespace,function(){return r.disabled?!1:(t(this).addClass("ui-state-active"),e=this,o.document.one("mouseup",function(){e=null}),undefined)}).bind("mouseup"+this.eventNamespace,function(){return r.disabled?!1:(t(this).removeClass("ui-state-active"),undefined)}).bind("keydown"+this.eventNamespace,function(e){return r.disabled?!1:((e.keyCode===t.ui.keyCode.SPACE||e.keyCode===t.ui.keyCode.ENTER)&&t(this).addClass("ui-state-active"),undefined)}).bind("keyup"+this.eventNamespace+" blur"+this.eventNamespace,function(){t(this).removeClass("ui-state-active")}),this.buttonElement.is("a")&&this.buttonElement.keyup(function(e){e.keyCode===t.ui.keyCode.SPACE&&t(this).click()})),this._setOption("disabled",r.disabled),this._resetButton()},_determineButtonType:function(){var t,e,i;this.type=this.element.is("[type=checkbox]")?"checkbox":this.element.is("[type=radio]")?"radio":this.element.is("input")?"input":"button","checkbox"===this.type||"radio"===this.type?(t=this.element.parents().last(),e="label[for='"+this.element.attr("id")+"']",this.buttonElement=t.find(e),this.buttonElement.length||(t=t.length?t.siblings():this.element.siblings(),this.buttonElement=t.filter(e),this.buttonElement.length||(this.buttonElement=t.find(e))),this.element.addClass("ui-helper-hidden-accessible"),i=this.element.is(":checked"),i&&this.buttonElement.addClass("ui-state-active"),this.buttonElement.prop("aria-pressed",i)):this.buttonElement=this.element},widget:function(){return this.buttonElement},_destroy:function(){this.element.removeClass("ui-helper-hidden-accessible"),this.buttonElement.removeClass(a+" "+o+" "+r).removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html()),this.hasTitle||this.buttonElement.removeAttr("title")},_setOption:function(t,e){return this._super(t,e),"disabled"===t?(e?this.element.prop("disabled",!0):this.element.prop("disabled",!1),undefined):(this._resetButton(),undefined)},refresh:function(){var e=this.element.is("input, button")?this.element.is(":disabled"):this.element.hasClass("ui-button-disabled");e!==this.options.disabled&&this._setOption("disabled",e),"radio"===this.type?l(this.element[0]).each(function(){t(this).is(":checked")?t(this).button("widget").addClass("ui-state-active").attr("aria-pressed","true"):t(this).button("widget").removeClass("ui-state-active").attr("aria-pressed","false")}):"checkbox"===this.type&&(this.element.is(":checked")?this.buttonElement.addClass("ui-state-active").attr("aria-pressed","true"):this.buttonElement.removeClass("ui-state-active").attr("aria-pressed","false"))},_resetButton:function(){if("input"===this.type)return this.options.label&&this.element.val(this.options.label),undefined;var e=this.buttonElement.removeClass(r),i=t("<span></span>",this.document[0]).addClass("ui-button-text").html(this.options.label).appendTo(e.empty()).text(),s=this.options.icons,n=s.primary&&s.secondary,a=[];s.primary||s.secondary?(this.options.text&&a.push("ui-button-text-icon"+(n?"s":s.primary?"-primary":"-secondary")),s.primary&&e.prepend("<span class='ui-button-icon-primary ui-icon "+s.primary+"'></span>"),s.secondary&&e.append("<span class='ui-button-icon-secondary ui-icon "+s.secondary+"'></span>"),this.options.text||(a.push(n?"ui-button-icons-only":"ui-button-icon-only"),this.hasTitle||e.attr("title",t.trim(i)))):a.push("ui-button-text-only"),e.addClass(a.join(" "))}}),t.widget("ui.buttonset",{version:"1.10.3",options:{items:"button, input[type=button], input[type=submit], input[type=reset], input[type=checkbox], input[type=radio], a, :data(ui-button)"},_create:function(){this.element.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(t,e){"disabled"===t&&this.buttons.button("option",t,e),this._super(t,e)},refresh:function(){var e="rtl"===this.element.css("direction");this.buttons=this.element.find(this.options.items).filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return t(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(e?"ui-corner-right":"ui-corner-left").end().filter(":last").addClass(e?"ui-corner-left":"ui-corner-right").end().end()},_destroy:function(){this.element.removeClass("ui-buttonset"),this.buttons.map(function(){return t(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy")}})})(jQuery);(function(t,e){function i(){this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},t.extend(this._defaults,this.regional[""]),this.dpDiv=s(t("<div id='"+this._mainDivId+"' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>"))}function s(e){var i="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return e.delegate(i,"mouseout",function(){t(this).removeClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).removeClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).removeClass("ui-datepicker-next-hover")}).delegate(i,"mouseover",function(){t.datepicker._isDisabledDatepicker(a.inline?e.parent()[0]:a.input[0])||(t(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),t(this).addClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).addClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).addClass("ui-datepicker-next-hover"))})}function n(e,i){t.extend(e,i);for(var s in i)null==i[s]&&(e[s]=i[s]);return e}t.extend(t.ui,{datepicker:{version:"1.10.3"}});var a,r="datepicker";t.extend(i.prototype,{markerClassName:"hasDatepicker",maxRows:4,_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(t){return n(this._defaults,t||{}),this},_attachDatepicker:function(e,i){var s,n,a;s=e.nodeName.toLowerCase(),n="div"===s||"span"===s,e.id||(this.uuid+=1,e.id="dp"+this.uuid),a=this._newInst(t(e),n),a.settings=t.extend({},i||{}),"input"===s?this._connectDatepicker(e,a):n&&this._inlineDatepicker(e,a)},_newInst:function(e,i){var n=e[0].id.replace(/([^A-Za-z0-9_\-])/g,"\\\\$1");return{id:n,input:e,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:i,dpDiv:i?s(t("<div class='"+this._inlineClass+" ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")):this.dpDiv}},_connectDatepicker:function(e,i){var s=t(e);i.append=t([]),i.trigger=t([]),s.hasClass(this.markerClassName)||(this._attachments(s,i),s.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp),this._autoSize(i),t.data(e,r,i),i.settings.disabled&&this._disableDatepicker(e))},_attachments:function(e,i){var s,n,a,r=this._get(i,"appendText"),o=this._get(i,"isRTL");i.append&&i.append.remove(),r&&(i.append=t("<span class='"+this._appendClass+"'>"+r+"</span>"),e[o?"before":"after"](i.append)),e.unbind("focus",this._showDatepicker),i.trigger&&i.trigger.remove(),s=this._get(i,"showOn"),("focus"===s||"both"===s)&&e.focus(this._showDatepicker),("button"===s||"both"===s)&&(n=this._get(i,"buttonText"),a=this._get(i,"buttonImage"),i.trigger=t(this._get(i,"buttonImageOnly")?t("<img/>").addClass(this._triggerClass).attr({src:a,alt:n,title:n}):t("<button type='button'></button>").addClass(this._triggerClass).html(a?t("<img/>").attr({src:a,alt:n,title:n}):n)),e[o?"before":"after"](i.trigger),i.trigger.click(function(){return t.datepicker._datepickerShowing&&t.datepicker._lastInput===e[0]?t.datepicker._hideDatepicker():t.datepicker._datepickerShowing&&t.datepicker._lastInput!==e[0]?(t.datepicker._hideDatepicker(),t.datepicker._showDatepicker(e[0])):t.datepicker._showDatepicker(e[0]),!1}))},_autoSize:function(t){if(this._get(t,"autoSize")&&!t.inline){var e,i,s,n,a=new Date(2009,11,20),r=this._get(t,"dateFormat");r.match(/[DM]/)&&(e=function(t){for(i=0,s=0,n=0;t.length>n;n++)t[n].length>i&&(i=t[n].length,s=n);return s},a.setMonth(e(this._get(t,r.match(/MM/)?"monthNames":"monthNamesShort"))),a.setDate(e(this._get(t,r.match(/DD/)?"dayNames":"dayNamesShort"))+20-a.getDay())),t.input.attr("size",this._formatDate(t,a).length)}},_inlineDatepicker:function(e,i){var s=t(e);s.hasClass(this.markerClassName)||(s.addClass(this.markerClassName).append(i.dpDiv),t.data(e,r,i),this._setDate(i,this._getDefaultDate(i),!0),this._updateDatepicker(i),this._updateAlternate(i),i.settings.disabled&&this._disableDatepicker(e),i.dpDiv.css("display","block"))},_dialogDatepicker:function(e,i,s,a,o){var h,l,c,u,d,p=this._dialogInst;return p||(this.uuid+=1,h="dp"+this.uuid,this._dialogInput=t("<input type='text' id='"+h+"' style='position: absolute; top: -100px; width: 0px;'/>"),this._dialogInput.keydown(this._doKeyDown),t("body").append(this._dialogInput),p=this._dialogInst=this._newInst(this._dialogInput,!1),p.settings={},t.data(this._dialogInput[0],r,p)),n(p.settings,a||{}),i=i&&i.constructor===Date?this._formatDate(p,i):i,this._dialogInput.val(i),this._pos=o?o.length?o:[o.pageX,o.pageY]:null,this._pos||(l=document.documentElement.clientWidth,c=document.documentElement.clientHeight,u=document.documentElement.scrollLeft||document.body.scrollLeft,d=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[l/2-100+u,c/2-150+d]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),p.settings.onSelect=s,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),t.blockUI&&t.blockUI(this.dpDiv),t.data(this._dialogInput[0],r,p),this},_destroyDatepicker:function(e){var i,s=t(e),n=t.data(e,r);s.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),t.removeData(e,r),"input"===i?(n.append.remove(),n.trigger.remove(),s.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)):("div"===i||"span"===i)&&s.removeClass(this.markerClassName).empty())},_enableDatepicker:function(e){var i,s,n=t(e),a=t.data(e,r);n.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),"input"===i?(e.disabled=!1,a.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().removeClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=t.map(this._disabledInputs,function(t){return t===e?null:t}))},_disableDatepicker:function(e){var i,s,n=t(e),a=t.data(e,r);n.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),"input"===i?(e.disabled=!0,a.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().addClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=t.map(this._disabledInputs,function(t){return t===e?null:t}),this._disabledInputs[this._disabledInputs.length]=e)},_isDisabledDatepicker:function(t){if(!t)return!1;for(var e=0;this._disabledInputs.length>e;e++)if(this._disabledInputs[e]===t)return!0;return!1},_getInst:function(e){try{return t.data(e,r)}catch(i){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(i,s,a){var r,o,h,l,c=this._getInst(i);return 2===arguments.length&&"string"==typeof s?"defaults"===s?t.extend({},t.datepicker._defaults):c?"all"===s?t.extend({},c.settings):this._get(c,s):null:(r=s||{},"string"==typeof s&&(r={},r[s]=a),c&&(this._curInst===c&&this._hideDatepicker(),o=this._getDateDatepicker(i,!0),h=this._getMinMaxDate(c,"min"),l=this._getMinMaxDate(c,"max"),n(c.settings,r),null!==h&&r.dateFormat!==e&&r.minDate===e&&(c.settings.minDate=this._formatDate(c,h)),null!==l&&r.dateFormat!==e&&r.maxDate===e&&(c.settings.maxDate=this._formatDate(c,l)),"disabled"in r&&(r.disabled?this._disableDatepicker(i):this._enableDatepicker(i)),this._attachments(t(i),c),this._autoSize(c),this._setDate(c,o),this._updateAlternate(c),this._updateDatepicker(c)),e)},_changeDatepicker:function(t,e,i){this._optionDatepicker(t,e,i)},_refreshDatepicker:function(t){var e=this._getInst(t);e&&this._updateDatepicker(e)},_setDateDatepicker:function(t,e){var i=this._getInst(t);i&&(this._setDate(i,e),this._updateDatepicker(i),this._updateAlternate(i))},_getDateDatepicker:function(t,e){var i=this._getInst(t);return i&&!i.inline&&this._setDateFromField(i,e),i?this._getDate(i):null},_doKeyDown:function(e){var i,s,n,a=t.datepicker._getInst(e.target),r=!0,o=a.dpDiv.is(".ui-datepicker-rtl");if(a._keyEvent=!0,t.datepicker._datepickerShowing)switch(e.keyCode){case 9:t.datepicker._hideDatepicker(),r=!1;break;case 13:return n=t("td."+t.datepicker._dayOverClass+":not(."+t.datepicker._currentClass+")",a.dpDiv),n[0]&&t.datepicker._selectDay(e.target,a.selectedMonth,a.selectedYear,n[0]),i=t.datepicker._get(a,"onSelect"),i?(s=t.datepicker._formatDate(a),i.apply(a.input?a.input[0]:null,[s,a])):t.datepicker._hideDatepicker(),!1;case 27:t.datepicker._hideDatepicker();break;case 33:t.datepicker._adjustDate(e.target,e.ctrlKey?-t.datepicker._get(a,"stepBigMonths"):-t.datepicker._get(a,"stepMonths"),"M");break;case 34:t.datepicker._adjustDate(e.target,e.ctrlKey?+t.datepicker._get(a,"stepBigMonths"):+t.datepicker._get(a,"stepMonths"),"M");break;case 35:(e.ctrlKey||e.metaKey)&&t.datepicker._clearDate(e.target),r=e.ctrlKey||e.metaKey;break;case 36:(e.ctrlKey||e.metaKey)&&t.datepicker._gotoToday(e.target),r=e.ctrlKey||e.metaKey;break;case 37:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,o?1:-1,"D"),r=e.ctrlKey||e.metaKey,e.originalEvent.altKey&&t.datepicker._adjustDate(e.target,e.ctrlKey?-t.datepicker._get(a,"stepBigMonths"):-t.datepicker._get(a,"stepMonths"),"M");break;case 38:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,-7,"D"),r=e.ctrlKey||e.metaKey;break;case 39:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,o?-1:1,"D"),r=e.ctrlKey||e.metaKey,e.originalEvent.altKey&&t.datepicker._adjustDate(e.target,e.ctrlKey?+t.datepicker._get(a,"stepBigMonths"):+t.datepicker._get(a,"stepMonths"),"M");break;case 40:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,7,"D"),r=e.ctrlKey||e.metaKey;break;default:r=!1}else 36===e.keyCode&&e.ctrlKey?t.datepicker._showDatepicker(this):r=!1;r&&(e.preventDefault(),e.stopPropagation())},_doKeyPress:function(i){var s,n,a=t.datepicker._getInst(i.target);return t.datepicker._get(a,"constrainInput")?(s=t.datepicker._possibleChars(t.datepicker._get(a,"dateFormat")),n=String.fromCharCode(null==i.charCode?i.keyCode:i.charCode),i.ctrlKey||i.metaKey||" ">n||!s||s.indexOf(n)>-1):e},_doKeyUp:function(e){var i,s=t.datepicker._getInst(e.target);if(s.input.val()!==s.lastVal)try{i=t.datepicker.parseDate(t.datepicker._get(s,"dateFormat"),s.input?s.input.val():null,t.datepicker._getFormatConfig(s)),i&&(t.datepicker._setDateFromField(s),t.datepicker._updateAlternate(s),t.datepicker._updateDatepicker(s))}catch(n){}return!0},_showDatepicker:function(e){if(e=e.target||e,"input"!==e.nodeName.toLowerCase()&&(e=t("input",e.parentNode)[0]),!t.datepicker._isDisabledDatepicker(e)&&t.datepicker._lastInput!==e){var i,s,a,r,o,h,l;i=t.datepicker._getInst(e),t.datepicker._curInst&&t.datepicker._curInst!==i&&(t.datepicker._curInst.dpDiv.stop(!0,!0),i&&t.datepicker._datepickerShowing&&t.datepicker._hideDatepicker(t.datepicker._curInst.input[0])),s=t.datepicker._get(i,"beforeShow"),a=s?s.apply(e,[e,i]):{},a!==!1&&(n(i.settings,a),i.lastVal=null,t.datepicker._lastInput=e,t.datepicker._setDateFromField(i),t.datepicker._inDialog&&(e.value=""),t.datepicker._pos||(t.datepicker._pos=t.datepicker._findPos(e),t.datepicker._pos[1]+=e.offsetHeight),r=!1,t(e).parents().each(function(){return r|="fixed"===t(this).css("position"),!r}),o={left:t.datepicker._pos[0],top:t.datepicker._pos[1]},t.datepicker._pos=null,i.dpDiv.empty(),i.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),t.datepicker._updateDatepicker(i),o=t.datepicker._checkOffset(i,o,r),i.dpDiv.css({position:t.datepicker._inDialog&&t.blockUI?"static":r?"fixed":"absolute",display:"none",left:o.left+"px",top:o.top+"px"}),i.inline||(h=t.datepicker._get(i,"showAnim"),l=t.datepicker._get(i,"duration"),i.dpDiv.zIndex(t(e).zIndex()+1),t.datepicker._datepickerShowing=!0,t.effects&&t.effects.effect[h]?i.dpDiv.show(h,t.datepicker._get(i,"showOptions"),l):i.dpDiv[h||"show"](h?l:null),t.datepicker._shouldFocusInput(i)&&i.input.focus(),t.datepicker._curInst=i))}},_updateDatepicker:function(e){this.maxRows=4,a=e,e.dpDiv.empty().append(this._generateHTML(e)),this._attachHandlers(e),e.dpDiv.find("."+this._dayOverClass+" a").mouseover();var i,s=this._getNumberOfMonths(e),n=s[1],r=17;e.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),n>1&&e.dpDiv.addClass("ui-datepicker-multi-"+n).css("width",r*n+"em"),e.dpDiv[(1!==s[0]||1!==s[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),e.dpDiv[(this._get(e,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),e===t.datepicker._curInst&&t.datepicker._datepickerShowing&&t.datepicker._shouldFocusInput(e)&&e.input.focus(),e.yearshtml&&(i=e.yearshtml,setTimeout(function(){i===e.yearshtml&&e.yearshtml&&e.dpDiv.find("select.ui-datepicker-year:first").replaceWith(e.yearshtml),i=e.yearshtml=null},0))},_shouldFocusInput:function(t){return t.input&&t.input.is(":visible")&&!t.input.is(":disabled")&&!t.input.is(":focus")},_checkOffset:function(e,i,s){var n=e.dpDiv.outerWidth(),a=e.dpDiv.outerHeight(),r=e.input?e.input.outerWidth():0,o=e.input?e.input.outerHeight():0,h=document.documentElement.clientWidth+(s?0:t(document).scrollLeft()),l=document.documentElement.clientHeight+(s?0:t(document).scrollTop());return i.left-=this._get(e,"isRTL")?n-r:0,i.left-=s&&i.left===e.input.offset().left?t(document).scrollLeft():0,i.top-=s&&i.top===e.input.offset().top+o?t(document).scrollTop():0,i.left-=Math.min(i.left,i.left+n>h&&h>n?Math.abs(i.left+n-h):0),i.top-=Math.min(i.top,i.top+a>l&&l>a?Math.abs(a+o):0),i},_findPos:function(e){for(var i,s=this._getInst(e),n=this._get(s,"isRTL");e&&("hidden"===e.type||1!==e.nodeType||t.expr.filters.hidden(e));)e=e[n?"previousSibling":"nextSibling"];return i=t(e).offset(),[i.left,i.top]},_hideDatepicker:function(e){var i,s,n,a,o=this._curInst;!o||e&&o!==t.data(e,r)||this._datepickerShowing&&(i=this._get(o,"showAnim"),s=this._get(o,"duration"),n=function(){t.datepicker._tidyDialog(o)},t.effects&&(t.effects.effect[i]||t.effects[i])?o.dpDiv.hide(i,t.datepicker._get(o,"showOptions"),s,n):o.dpDiv["slideDown"===i?"slideUp":"fadeIn"===i?"fadeOut":"hide"](i?s:null,n),i||n(),this._datepickerShowing=!1,a=this._get(o,"onClose"),a&&a.apply(o.input?o.input[0]:null,[o.input?o.input.val():"",o]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),t.blockUI&&(t.unblockUI(),t("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(t){t.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(e){if(t.datepicker._curInst){var i=t(e.target),s=t.datepicker._getInst(i[0]);(i[0].id!==t.datepicker._mainDivId&&0===i.parents("#"+t.datepicker._mainDivId).length&&!i.hasClass(t.datepicker.markerClassName)&&!i.closest("."+t.datepicker._triggerClass).length&&t.datepicker._datepickerShowing&&(!t.datepicker._inDialog||!t.blockUI)||i.hasClass(t.datepicker.markerClassName)&&t.datepicker._curInst!==s)&&t.datepicker._hideDatepicker()}},_adjustDate:function(e,i,s){var n=t(e),a=this._getInst(n[0]);this._isDisabledDatepicker(n[0])||(this._adjustInstDate(a,i+("M"===s?this._get(a,"showCurrentAtPos"):0),s),this._updateDatepicker(a))},_gotoToday:function(e){var i,s=t(e),n=this._getInst(s[0]);this._get(n,"gotoCurrent")&&n.currentDay?(n.selectedDay=n.currentDay,n.drawMonth=n.selectedMonth=n.currentMonth,n.drawYear=n.selectedYear=n.currentYear):(i=new Date,n.selectedDay=i.getDate(),n.drawMonth=n.selectedMonth=i.getMonth(),n.drawYear=n.selectedYear=i.getFullYear()),this._notifyChange(n),this._adjustDate(s)},_selectMonthYear:function(e,i,s){var n=t(e),a=this._getInst(n[0]);a["selected"+("M"===s?"Month":"Year")]=a["draw"+("M"===s?"Month":"Year")]=parseInt(i.options[i.selectedIndex].value,10),this._notifyChange(a),this._adjustDate(n)},_selectDay:function(e,i,s,n){var a,r=t(e);t(n).hasClass(this._unselectableClass)||this._isDisabledDatepicker(r[0])||(a=this._getInst(r[0]),a.selectedDay=a.currentDay=t("a",n).html(),a.selectedMonth=a.currentMonth=i,a.selectedYear=a.currentYear=s,this._selectDate(e,this._formatDate(a,a.currentDay,a.currentMonth,a.currentYear)))},_clearDate:function(e){var i=t(e);this._selectDate(i,"")},_selectDate:function(e,i){var s,n=t(e),a=this._getInst(n[0]);i=null!=i?i:this._formatDate(a),a.input&&a.input.val(i),this._updateAlternate(a),s=this._get(a,"onSelect"),s?s.apply(a.input?a.input[0]:null,[i,a]):a.input&&a.input.trigger("change"),a.inline?this._updateDatepicker(a):(this._hideDatepicker(),this._lastInput=a.input[0],"object"!=typeof a.input[0]&&a.input.focus(),this._lastInput=null)},_updateAlternate:function(e){var i,s,n,a=this._get(e,"altField");a&&(i=this._get(e,"altFormat")||this._get(e,"dateFormat"),s=this._getDate(e),n=this.formatDate(i,s,this._getFormatConfig(e)),t(a).each(function(){t(this).val(n)}))},noWeekends:function(t){var e=t.getDay();return[e>0&&6>e,""]},iso8601Week:function(t){var e,i=new Date(t.getTime());return i.setDate(i.getDate()+4-(i.getDay()||7)),e=i.getTime(),i.setMonth(0),i.setDate(1),Math.floor(Math.round((e-i)/864e5)/7)+1},parseDate:function(i,s,n){if(null==i||null==s)throw"Invalid arguments";if(s="object"==typeof s?""+s:s+"",""===s)return null;var a,r,o,h,l=0,c=(n?n.shortYearCutoff:null)||this._defaults.shortYearCutoff,u="string"!=typeof c?c:(new Date).getFullYear()%100+parseInt(c,10),d=(n?n.dayNamesShort:null)||this._defaults.dayNamesShort,p=(n?n.dayNames:null)||this._defaults.dayNames,f=(n?n.monthNamesShort:null)||this._defaults.monthNamesShort,m=(n?n.monthNames:null)||this._defaults.monthNames,g=-1,v=-1,_=-1,b=-1,y=!1,x=function(t){var e=i.length>a+1&&i.charAt(a+1)===t;return e&&a++,e},k=function(t){var e=x(t),i="@"===t?14:"!"===t?20:"y"===t&&e?4:"o"===t?3:2,n=RegExp("^\\d{1,"+i+"}"),a=s.substring(l).match(n);if(!a)throw"Missing number at position "+l;return l+=a[0].length,parseInt(a[0],10)},w=function(i,n,a){var r=-1,o=t.map(x(i)?a:n,function(t,e){return[[e,t]]}).sort(function(t,e){return-(t[1].length-e[1].length)});if(t.each(o,function(t,i){var n=i[1];return s.substr(l,n.length).toLowerCase()===n.toLowerCase()?(r=i[0],l+=n.length,!1):e}),-1!==r)return r+1;throw"Unknown name at position "+l},D=function(){if(s.charAt(l)!==i.charAt(a))throw"Unexpected literal at position "+l;l++};for(a=0;i.length>a;a++)if(y)"'"!==i.charAt(a)||x("'")?D():y=!1;else switch(i.charAt(a)){case"d":_=k("d");break;case"D":w("D",d,p);break;case"o":b=k("o");break;case"m":v=k("m");break;case"M":v=w("M",f,m);break;case"y":g=k("y");break;case"@":h=new Date(k("@")),g=h.getFullYear(),v=h.getMonth()+1,_=h.getDate();break;case"!":h=new Date((k("!")-this._ticksTo1970)/1e4),g=h.getFullYear(),v=h.getMonth()+1,_=h.getDate();break;case"'":x("'")?D():y=!0;break;default:D()}if(s.length>l&&(o=s.substr(l),!/^\s+/.test(o)))throw"Extra/unparsed characters found in date: "+o;if(-1===g?g=(new Date).getFullYear():100>g&&(g+=(new Date).getFullYear()-(new Date).getFullYear()%100+(u>=g?0:-100)),b>-1)for(v=1,_=b;;){if(r=this._getDaysInMonth(g,v-1),r>=_)break;v++,_-=r}if(h=this._daylightSavingAdjust(new Date(g,v-1,_)),h.getFullYear()!==g||h.getMonth()+1!==v||h.getDate()!==_)throw"Invalid date";return h},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:1e7*60*60*24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925)),formatDate:function(t,e,i){if(!e)return"";var s,n=(i?i.dayNamesShort:null)||this._defaults.dayNamesShort,a=(i?i.dayNames:null)||this._defaults.dayNames,r=(i?i.monthNamesShort:null)||this._defaults.monthNamesShort,o=(i?i.monthNames:null)||this._defaults.monthNames,h=function(e){var i=t.length>s+1&&t.charAt(s+1)===e;return i&&s++,i},l=function(t,e,i){var s=""+e;if(h(t))for(;i>s.length;)s="0"+s;return s},c=function(t,e,i,s){return h(t)?s[e]:i[e]},u="",d=!1;if(e)for(s=0;t.length>s;s++)if(d)"'"!==t.charAt(s)||h("'")?u+=t.charAt(s):d=!1;else switch(t.charAt(s)){case"d":u+=l("d",e.getDate(),2);break;case"D":u+=c("D",e.getDay(),n,a);break;case"o":u+=l("o",Math.round((new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime()-new Date(e.getFullYear(),0,0).getTime())/864e5),3);break;case"m":u+=l("m",e.getMonth()+1,2);break;case"M":u+=c("M",e.getMonth(),r,o);break;case"y":u+=h("y")?e.getFullYear():(10>e.getYear()%100?"0":"")+e.getYear()%100;break;case"@":u+=e.getTime();break;case"!":u+=1e4*e.getTime()+this._ticksTo1970;break;case"'":h("'")?u+="'":d=!0;break;default:u+=t.charAt(s)}return u},_possibleChars:function(t){var e,i="",s=!1,n=function(i){var s=t.length>e+1&&t.charAt(e+1)===i;return s&&e++,s};for(e=0;t.length>e;e++)if(s)"'"!==t.charAt(e)||n("'")?i+=t.charAt(e):s=!1;else switch(t.charAt(e)){case"d":case"m":case"y":case"@":i+="0123456789";break;case"D":case"M":return null;case"'":n("'")?i+="'":s=!0;break;default:i+=t.charAt(e)}return i},_get:function(t,i){return t.settings[i]!==e?t.settings[i]:this._defaults[i]},_setDateFromField:function(t,e){if(t.input.val()!==t.lastVal){var i=this._get(t,"dateFormat"),s=t.lastVal=t.input?t.input.val():null,n=this._getDefaultDate(t),a=n,r=this._getFormatConfig(t);try{a=this.parseDate(i,s,r)||n}catch(o){s=e?"":s}t.selectedDay=a.getDate(),t.drawMonth=t.selectedMonth=a.getMonth(),t.drawYear=t.selectedYear=a.getFullYear(),t.currentDay=s?a.getDate():0,t.currentMonth=s?a.getMonth():0,t.currentYear=s?a.getFullYear():0,this._adjustInstDate(t)}},_getDefaultDate:function(t){return this._restrictMinMax(t,this._determineDate(t,this._get(t,"defaultDate"),new Date))},_determineDate:function(e,i,s){var n=function(t){var e=new Date;return e.setDate(e.getDate()+t),e},a=function(i){try{return t.datepicker.parseDate(t.datepicker._get(e,"dateFormat"),i,t.datepicker._getFormatConfig(e))}catch(s){}for(var n=(i.toLowerCase().match(/^c/)?t.datepicker._getDate(e):null)||new Date,a=n.getFullYear(),r=n.getMonth(),o=n.getDate(),h=/([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,l=h.exec(i);l;){switch(l[2]||"d"){case"d":case"D":o+=parseInt(l[1],10);break;case"w":case"W":o+=7*parseInt(l[1],10);break;case"m":case"M":r+=parseInt(l[1],10),o=Math.min(o,t.datepicker._getDaysInMonth(a,r));break;case"y":case"Y":a+=parseInt(l[1],10),o=Math.min(o,t.datepicker._getDaysInMonth(a,r))}l=h.exec(i)}return new Date(a,r,o)},r=null==i||""===i?s:"string"==typeof i?a(i):"number"==typeof i?isNaN(i)?s:n(i):new Date(i.getTime());return r=r&&"Invalid Date"==""+r?s:r,r&&(r.setHours(0),r.setMinutes(0),r.setSeconds(0),r.setMilliseconds(0)),this._daylightSavingAdjust(r)},_daylightSavingAdjust:function(t){return t?(t.setHours(t.getHours()>12?t.getHours()+2:0),t):null},_setDate:function(t,e,i){var s=!e,n=t.selectedMonth,a=t.selectedYear,r=this._restrictMinMax(t,this._determineDate(t,e,new Date));t.selectedDay=t.currentDay=r.getDate(),t.drawMonth=t.selectedMonth=t.currentMonth=r.getMonth(),t.drawYear=t.selectedYear=t.currentYear=r.getFullYear(),n===t.selectedMonth&&a===t.selectedYear||i||this._notifyChange(t),this._adjustInstDate(t),t.input&&t.input.val(s?"":this._formatDate(t))},_getDate:function(t){var e=!t.currentYear||t.input&&""===t.input.val()?null:this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return e},_attachHandlers:function(e){var i=this._get(e,"stepMonths"),s="#"+e.id.replace(/\\\\/g,"\\");e.dpDiv.find("[data-handler]").map(function(){var e={prev:function(){t.datepicker._adjustDate(s,-i,"M")},next:function(){t.datepicker._adjustDate(s,+i,"M")},hide:function(){t.datepicker._hideDatepicker()},today:function(){t.datepicker._gotoToday(s)},selectDay:function(){return t.datepicker._selectDay(s,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return t.datepicker._selectMonthYear(s,this,"M"),!1},selectYear:function(){return t.datepicker._selectMonthYear(s,this,"Y"),!1}};t(this).bind(this.getAttribute("data-event"),e[this.getAttribute("data-handler")])})},_generateHTML:function(t){var e,i,s,n,a,r,o,h,l,c,u,d,p,f,m,g,v,_,b,y,x,k,w,D,T,C,M,S,N,I,P,A,z,H,E,F,O,W,j,R=new Date,L=this._daylightSavingAdjust(new Date(R.getFullYear(),R.getMonth(),R.getDate())),Y=this._get(t,"isRTL"),B=this._get(t,"showButtonPanel"),J=this._get(t,"hideIfNoPrevNext"),K=this._get(t,"navigationAsDateFormat"),Q=this._getNumberOfMonths(t),V=this._get(t,"showCurrentAtPos"),U=this._get(t,"stepMonths"),q=1!==Q[0]||1!==Q[1],X=this._daylightSavingAdjust(t.currentDay?new Date(t.currentYear,t.currentMonth,t.currentDay):new Date(9999,9,9)),G=this._getMinMaxDate(t,"min"),$=this._getMinMaxDate(t,"max"),Z=t.drawMonth-V,te=t.drawYear;if(0>Z&&(Z+=12,te--),$)for(e=this._daylightSavingAdjust(new Date($.getFullYear(),$.getMonth()-Q[0]*Q[1]+1,$.getDate())),e=G&&G>e?G:e;this._daylightSavingAdjust(new Date(te,Z,1))>e;)Z--,0>Z&&(Z=11,te--);for(t.drawMonth=Z,t.drawYear=te,i=this._get(t,"prevText"),i=K?this.formatDate(i,this._daylightSavingAdjust(new Date(te,Z-U,1)),this._getFormatConfig(t)):i,s=this._canAdjustMonth(t,-1,te,Z)?"<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"e":"w")+"'>"+i+"</span></a>":J?"":"<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"e":"w")+"'>"+i+"</span></a>",n=this._get(t,"nextText"),n=K?this.formatDate(n,this._daylightSavingAdjust(new Date(te,Z+U,1)),this._getFormatConfig(t)):n,a=this._canAdjustMonth(t,1,te,Z)?"<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click' title='"+n+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"w":"e")+"'>"+n+"</span></a>":J?"":"<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='"+n+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"w":"e")+"'>"+n+"</span></a>",r=this._get(t,"currentText"),o=this._get(t,"gotoCurrent")&&t.currentDay?X:L,r=K?this.formatDate(r,o,this._getFormatConfig(t)):r,h=t.inline?"":"<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>"+this._get(t,"closeText")+"</button>",l=B?"<div class='ui-datepicker-buttonpane ui-widget-content'>"+(Y?h:"")+(this._isInRange(t,o)?"<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'>"+r+"</button>":"")+(Y?"":h)+"</div>":"",c=parseInt(this._get(t,"firstDay"),10),c=isNaN(c)?0:c,u=this._get(t,"showWeek"),d=this._get(t,"dayNames"),p=this._get(t,"dayNamesMin"),f=this._get(t,"monthNames"),m=this._get(t,"monthNamesShort"),g=this._get(t,"beforeShowDay"),v=this._get(t,"showOtherMonths"),_=this._get(t,"selectOtherMonths"),b=this._getDefaultDate(t),y="",k=0;Q[0]>k;k++){for(w="",this.maxRows=4,D=0;Q[1]>D;D++){if(T=this._daylightSavingAdjust(new Date(te,Z,t.selectedDay)),C=" ui-corner-all",M="",q){if(M+="<div class='ui-datepicker-group",Q[1]>1)switch(D){case 0:M+=" ui-datepicker-group-first",C=" ui-corner-"+(Y?"right":"left");break;case Q[1]-1:M+=" ui-datepicker-group-last",C=" ui-corner-"+(Y?"left":"right");break;default:M+=" ui-datepicker-group-middle",C=""}M+="'>"}for(M+="<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix"+C+"'>"+(/all|left/.test(C)&&0===k?Y?a:s:"")+(/all|right/.test(C)&&0===k?Y?s:a:"")+this._generateMonthYearHeader(t,Z,te,G,$,k>0||D>0,f,m)+"</div><table class='ui-datepicker-calendar'><thead>"+"<tr>",S=u?"<th class='ui-datepicker-week-col'>"+this._get(t,"weekHeader")+"</th>":"",x=0;7>x;x++)N=(x+c)%7,S+="<th"+((x+c+6)%7>=5?" class='ui-datepicker-week-end'":"")+">"+"<span title='"+d[N]+"'>"+p[N]+"</span></th>";for(M+=S+"</tr></thead><tbody>",I=this._getDaysInMonth(te,Z),te===t.selectedYear&&Z===t.selectedMonth&&(t.selectedDay=Math.min(t.selectedDay,I)),P=(this._getFirstDayOfMonth(te,Z)-c+7)%7,A=Math.ceil((P+I)/7),z=q?this.maxRows>A?this.maxRows:A:A,this.maxRows=z,H=this._daylightSavingAdjust(new Date(te,Z,1-P)),E=0;z>E;E++){for(M+="<tr>",F=u?"<td class='ui-datepicker-week-col'>"+this._get(t,"calculateWeek")(H)+"</td>":"",x=0;7>x;x++)O=g?g.apply(t.input?t.input[0]:null,[H]):[!0,""],W=H.getMonth()!==Z,j=W&&!_||!O[0]||G&&G>H||$&&H>$,F+="<td class='"+((x+c+6)%7>=5?" ui-datepicker-week-end":"")+(W?" ui-datepicker-other-month":"")+(H.getTime()===T.getTime()&&Z===t.selectedMonth&&t._keyEvent||b.getTime()===H.getTime()&&b.getTime()===T.getTime()?" "+this._dayOverClass:"")+(j?" "+this._unselectableClass+" ui-state-disabled":"")+(W&&!v?"":" "+O[1]+(H.getTime()===X.getTime()?" "+this._currentClass:"")+(H.getTime()===L.getTime()?" ui-datepicker-today":""))+"'"+(W&&!v||!O[2]?"":" title='"+O[2].replace(/'/g,"'")+"'")+(j?"":" data-handler='selectDay' data-event='click' data-month='"+H.getMonth()+"' data-year='"+H.getFullYear()+"'")+">"+(W&&!v?" ":j?"<span class='ui-state-default'>"+H.getDate()+"</span>":"<a class='ui-state-default"+(H.getTime()===L.getTime()?" ui-state-highlight":"")+(H.getTime()===X.getTime()?" ui-state-active":"")+(W?" ui-priority-secondary":"")+"' href='#'>"+H.getDate()+"</a>")+"</td>",H.setDate(H.getDate()+1),H=this._daylightSavingAdjust(H);M+=F+"</tr>"}Z++,Z>11&&(Z=0,te++),M+="</tbody></table>"+(q?"</div>"+(Q[0]>0&&D===Q[1]-1?"<div class='ui-datepicker-row-break'></div>":""):""),w+=M}y+=w}return y+=l,t._keyEvent=!1,y},_generateMonthYearHeader:function(t,e,i,s,n,a,r,o){var h,l,c,u,d,p,f,m,g=this._get(t,"changeMonth"),v=this._get(t,"changeYear"),_=this._get(t,"showMonthAfterYear"),b="<div class='ui-datepicker-title'>",y="";if(a||!g)y+="<span class='ui-datepicker-month'>"+r[e]+"</span>";else{for(h=s&&s.getFullYear()===i,l=n&&n.getFullYear()===i,y+="<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>",c=0;12>c;c++)(!h||c>=s.getMonth())&&(!l||n.getMonth()>=c)&&(y+="<option value='"+c+"'"+(c===e?" selected='selected'":"")+">"+o[c]+"</option>");y+="</select>"}if(_||(b+=y+(!a&&g&&v?"":" ")),!t.yearshtml)if(t.yearshtml="",a||!v)b+="<span class='ui-datepicker-year'>"+i+"</span>";else{for(u=this._get(t,"yearRange").split(":"),d=(new Date).getFullYear(),p=function(t){var e=t.match(/c[+\-].*/)?i+parseInt(t.substring(1),10):t.match(/[+\-].*/)?d+parseInt(t,10):parseInt(t,10);
+return isNaN(e)?d:e},f=p(u[0]),m=Math.max(f,p(u[1]||"")),f=s?Math.max(f,s.getFullYear()):f,m=n?Math.min(m,n.getFullYear()):m,t.yearshtml+="<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>";m>=f;f++)t.yearshtml+="<option value='"+f+"'"+(f===i?" selected='selected'":"")+">"+f+"</option>";t.yearshtml+="</select>",b+=t.yearshtml,t.yearshtml=null}return b+=this._get(t,"yearSuffix"),_&&(b+=(!a&&g&&v?"":" ")+y),b+="</div>"},_adjustInstDate:function(t,e,i){var s=t.drawYear+("Y"===i?e:0),n=t.drawMonth+("M"===i?e:0),a=Math.min(t.selectedDay,this._getDaysInMonth(s,n))+("D"===i?e:0),r=this._restrictMinMax(t,this._daylightSavingAdjust(new Date(s,n,a)));t.selectedDay=r.getDate(),t.drawMonth=t.selectedMonth=r.getMonth(),t.drawYear=t.selectedYear=r.getFullYear(),("M"===i||"Y"===i)&&this._notifyChange(t)},_restrictMinMax:function(t,e){var i=this._getMinMaxDate(t,"min"),s=this._getMinMaxDate(t,"max"),n=i&&i>e?i:e;return s&&n>s?s:n},_notifyChange:function(t){var e=this._get(t,"onChangeMonthYear");e&&e.apply(t.input?t.input[0]:null,[t.selectedYear,t.selectedMonth+1,t])},_getNumberOfMonths:function(t){var e=this._get(t,"numberOfMonths");return null==e?[1,1]:"number"==typeof e?[1,e]:e},_getMinMaxDate:function(t,e){return this._determineDate(t,this._get(t,e+"Date"),null)},_getDaysInMonth:function(t,e){return 32-this._daylightSavingAdjust(new Date(t,e,32)).getDate()},_getFirstDayOfMonth:function(t,e){return new Date(t,e,1).getDay()},_canAdjustMonth:function(t,e,i,s){var n=this._getNumberOfMonths(t),a=this._daylightSavingAdjust(new Date(i,s+(0>e?e:n[0]*n[1]),1));return 0>e&&a.setDate(this._getDaysInMonth(a.getFullYear(),a.getMonth())),this._isInRange(t,a)},_isInRange:function(t,e){var i,s,n=this._getMinMaxDate(t,"min"),a=this._getMinMaxDate(t,"max"),r=null,o=null,h=this._get(t,"yearRange");return h&&(i=h.split(":"),s=(new Date).getFullYear(),r=parseInt(i[0],10),o=parseInt(i[1],10),i[0].match(/[+\-].*/)&&(r+=s),i[1].match(/[+\-].*/)&&(o+=s)),(!n||e.getTime()>=n.getTime())&&(!a||e.getTime()<=a.getTime())&&(!r||e.getFullYear()>=r)&&(!o||o>=e.getFullYear())},_getFormatConfig:function(t){var e=this._get(t,"shortYearCutoff");return e="string"!=typeof e?e:(new Date).getFullYear()%100+parseInt(e,10),{shortYearCutoff:e,dayNamesShort:this._get(t,"dayNamesShort"),dayNames:this._get(t,"dayNames"),monthNamesShort:this._get(t,"monthNamesShort"),monthNames:this._get(t,"monthNames")}},_formatDate:function(t,e,i,s){e||(t.currentDay=t.selectedDay,t.currentMonth=t.selectedMonth,t.currentYear=t.selectedYear);var n=e?"object"==typeof e?e:this._daylightSavingAdjust(new Date(s,i,e)):this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return this.formatDate(this._get(t,"dateFormat"),n,this._getFormatConfig(t))}}),t.fn.datepicker=function(e){if(!this.length)return this;t.datepicker.initialized||(t(document).mousedown(t.datepicker._checkExternalClick),t.datepicker.initialized=!0),0===t("#"+t.datepicker._mainDivId).length&&t("body").append(t.datepicker.dpDiv);var i=Array.prototype.slice.call(arguments,1);return"string"!=typeof e||"isDisabled"!==e&&"getDate"!==e&&"widget"!==e?"option"===e&&2===arguments.length&&"string"==typeof arguments[1]?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i)):this.each(function(){"string"==typeof e?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this].concat(i)):t.datepicker._attachDatepicker(this,e)}):t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i))},t.datepicker=new i,t.datepicker.initialized=!1,t.datepicker.uuid=(new Date).getTime(),t.datepicker.version="1.10.3"})(jQuery);(function(t){var e={buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},i={maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0};t.widget("ui.dialog",{version:"1.10.3",options:{appendTo:"body",autoOpen:!0,buttons:[],closeOnEscape:!0,closeText:"close",dialogClass:"",draggable:!0,hide:null,height:"auto",maxHeight:null,maxWidth:null,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",of:window,collision:"fit",using:function(e){var i=t(this).css(e).offset().top;0>i&&t(this).css("top",e.top-i)}},resizable:!0,show:null,title:null,width:300,beforeClose:null,close:null,drag:null,dragStart:null,dragStop:null,focus:null,open:null,resize:null,resizeStart:null,resizeStop:null},_create:function(){this.originalCss={display:this.element[0].style.display,width:this.element[0].style.width,minHeight:this.element[0].style.minHeight,maxHeight:this.element[0].style.maxHeight,height:this.element[0].style.height},this.originalPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)},this.originalTitle=this.element.attr("title"),this.options.title=this.options.title||this.originalTitle,this._createWrapper(),this.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(this.uiDialog),this._createTitlebar(),this._createButtonPane(),this.options.draggable&&t.fn.draggable&&this._makeDraggable(),this.options.resizable&&t.fn.resizable&&this._makeResizable(),this._isOpen=!1},_init:function(){this.options.autoOpen&&this.open()},_appendTo:function(){var e=this.options.appendTo;return e&&(e.jquery||e.nodeType)?t(e):this.document.find(e||"body").eq(0)},_destroy:function(){var t,e=this.originalPosition;this._destroyOverlay(),this.element.removeUniqueId().removeClass("ui-dialog-content ui-widget-content").css(this.originalCss).detach(),this.uiDialog.stop(!0,!0).remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),t=e.parent.children().eq(e.index),t.length&&t[0]!==this.element[0]?t.before(this.element):e.parent.append(this.element)},widget:function(){return this.uiDialog},disable:t.noop,enable:t.noop,close:function(e){var i=this;this._isOpen&&this._trigger("beforeClose",e)!==!1&&(this._isOpen=!1,this._destroyOverlay(),this.opener.filter(":focusable").focus().length||t(this.document[0].activeElement).blur(),this._hide(this.uiDialog,this.options.hide,function(){i._trigger("close",e)}))},isOpen:function(){return this._isOpen},moveToTop:function(){this._moveToTop()},_moveToTop:function(t,e){var i=!!this.uiDialog.nextAll(":visible").insertBefore(this.uiDialog).length;return i&&!e&&this._trigger("focus",t),i},open:function(){var e=this;return this._isOpen?(this._moveToTop()&&this._focusTabbable(),undefined):(this._isOpen=!0,this.opener=t(this.document[0].activeElement),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this._show(this.uiDialog,this.options.show,function(){e._focusTabbable(),e._trigger("focus")}),this._trigger("open"),undefined)},_focusTabbable:function(){var t=this.element.find("[autofocus]");t.length||(t=this.element.find(":tabbable")),t.length||(t=this.uiDialogButtonPane.find(":tabbable")),t.length||(t=this.uiDialogTitlebarClose.filter(":tabbable")),t.length||(t=this.uiDialog),t.eq(0).focus()},_keepFocus:function(e){function i(){var e=this.document[0].activeElement,i=this.uiDialog[0]===e||t.contains(this.uiDialog[0],e);i||this._focusTabbable()}e.preventDefault(),i.call(this),this._delay(i)},_createWrapper:function(){this.uiDialog=t("<div>").addClass("ui-dialog ui-widget ui-widget-content ui-corner-all ui-front "+this.options.dialogClass).hide().attr({tabIndex:-1,role:"dialog"}).appendTo(this._appendTo()),this._on(this.uiDialog,{keydown:function(e){if(this.options.closeOnEscape&&!e.isDefaultPrevented()&&e.keyCode&&e.keyCode===t.ui.keyCode.ESCAPE)return e.preventDefault(),this.close(e),undefined;if(e.keyCode===t.ui.keyCode.TAB){var i=this.uiDialog.find(":tabbable"),s=i.filter(":first"),n=i.filter(":last");e.target!==n[0]&&e.target!==this.uiDialog[0]||e.shiftKey?e.target!==s[0]&&e.target!==this.uiDialog[0]||!e.shiftKey||(n.focus(1),e.preventDefault()):(s.focus(1),e.preventDefault())}},mousedown:function(t){this._moveToTop(t)&&this._focusTabbable()}}),this.element.find("[aria-describedby]").length||this.uiDialog.attr({"aria-describedby":this.element.uniqueId().attr("id")})},_createTitlebar:function(){var e;this.uiDialogTitlebar=t("<div>").addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(this.uiDialog),this._on(this.uiDialogTitlebar,{mousedown:function(e){t(e.target).closest(".ui-dialog-titlebar-close")||this.uiDialog.focus()}}),this.uiDialogTitlebarClose=t("<button></button>").button({label:this.options.closeText,icons:{primary:"ui-icon-closethick"},text:!1}).addClass("ui-dialog-titlebar-close").appendTo(this.uiDialogTitlebar),this._on(this.uiDialogTitlebarClose,{click:function(t){t.preventDefault(),this.close(t)}}),e=t("<span>").uniqueId().addClass("ui-dialog-title").prependTo(this.uiDialogTitlebar),this._title(e),this.uiDialog.attr({"aria-labelledby":e.attr("id")})},_title:function(t){this.options.title||t.html(" "),t.text(this.options.title)},_createButtonPane:function(){this.uiDialogButtonPane=t("<div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),this.uiButtonSet=t("<div>").addClass("ui-dialog-buttonset").appendTo(this.uiDialogButtonPane),this._createButtons()},_createButtons:function(){var e=this,i=this.options.buttons;return this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),t.isEmptyObject(i)||t.isArray(i)&&!i.length?(this.uiDialog.removeClass("ui-dialog-buttons"),undefined):(t.each(i,function(i,s){var n,a;s=t.isFunction(s)?{click:s,text:i}:s,s=t.extend({type:"button"},s),n=s.click,s.click=function(){n.apply(e.element[0],arguments)},a={icons:s.icons,text:s.showText},delete s.icons,delete s.showText,t("<button></button>",s).button(a).appendTo(e.uiButtonSet)}),this.uiDialog.addClass("ui-dialog-buttons"),this.uiDialogButtonPane.appendTo(this.uiDialog),undefined)},_makeDraggable:function(){function e(t){return{position:t.position,offset:t.offset}}var i=this,s=this.options;this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(s,n){t(this).addClass("ui-dialog-dragging"),i._blockFrames(),i._trigger("dragStart",s,e(n))},drag:function(t,s){i._trigger("drag",t,e(s))},stop:function(n,a){s.position=[a.position.left-i.document.scrollLeft(),a.position.top-i.document.scrollTop()],t(this).removeClass("ui-dialog-dragging"),i._unblockFrames(),i._trigger("dragStop",n,e(a))}})},_makeResizable:function(){function e(t){return{originalPosition:t.originalPosition,originalSize:t.originalSize,position:t.position,size:t.size}}var i=this,s=this.options,n=s.resizable,a=this.uiDialog.css("position"),o="string"==typeof n?n:"n,e,s,w,se,sw,ne,nw";this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:s.maxWidth,maxHeight:s.maxHeight,minWidth:s.minWidth,minHeight:this._minHeight(),handles:o,start:function(s,n){t(this).addClass("ui-dialog-resizing"),i._blockFrames(),i._trigger("resizeStart",s,e(n))},resize:function(t,s){i._trigger("resize",t,e(s))},stop:function(n,a){s.height=t(this).height(),s.width=t(this).width(),t(this).removeClass("ui-dialog-resizing"),i._unblockFrames(),i._trigger("resizeStop",n,e(a))}}).css("position",a)},_minHeight:function(){var t=this.options;return"auto"===t.height?t.minHeight:Math.min(t.minHeight,t.height)},_position:function(){var t=this.uiDialog.is(":visible");t||this.uiDialog.show(),this.uiDialog.position(this.options.position),t||this.uiDialog.hide()},_setOptions:function(s){var n=this,a=!1,o={};t.each(s,function(t,s){n._setOption(t,s),t in e&&(a=!0),t in i&&(o[t]=s)}),a&&(this._size(),this._position()),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option",o)},_setOption:function(t,e){var i,s,n=this.uiDialog;"dialogClass"===t&&n.removeClass(this.options.dialogClass).addClass(e),"disabled"!==t&&(this._super(t,e),"appendTo"===t&&this.uiDialog.appendTo(this._appendTo()),"buttons"===t&&this._createButtons(),"closeText"===t&&this.uiDialogTitlebarClose.button({label:""+e}),"draggable"===t&&(i=n.is(":data(ui-draggable)"),i&&!e&&n.draggable("destroy"),!i&&e&&this._makeDraggable()),"position"===t&&this._position(),"resizable"===t&&(s=n.is(":data(ui-resizable)"),s&&!e&&n.resizable("destroy"),s&&"string"==typeof e&&n.resizable("option","handles",e),s||e===!1||this._makeResizable()),"title"===t&&this._title(this.uiDialogTitlebar.find(".ui-dialog-title")))},_size:function(){var t,e,i,s=this.options;this.element.show().css({width:"auto",minHeight:0,maxHeight:"none",height:0}),s.minWidth>s.width&&(s.width=s.minWidth),t=this.uiDialog.css({height:"auto",width:s.width}).outerHeight(),e=Math.max(0,s.minHeight-t),i="number"==typeof s.maxHeight?Math.max(0,s.maxHeight-t):"none","auto"===s.height?this.element.css({minHeight:e,maxHeight:i,height:"auto"}):this.element.height(Math.max(0,s.height-t)),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())},_blockFrames:function(){this.iframeBlocks=this.document.find("iframe").map(function(){var e=t(this);return t("<div>").css({position:"absolute",width:e.outerWidth(),height:e.outerHeight()}).appendTo(e.parent()).offset(e.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_allowInteraction:function(e){return t(e.target).closest(".ui-dialog").length?!0:!!t(e.target).closest(".ui-datepicker").length},_createOverlay:function(){if(this.options.modal){var e=this,i=this.widgetFullName;t.ui.dialog.overlayInstances||this._delay(function(){t.ui.dialog.overlayInstances&&this.document.bind("focusin.dialog",function(s){e._allowInteraction(s)||(s.preventDefault(),t(".ui-dialog:visible:last .ui-dialog-content").data(i)._focusTabbable())})}),this.overlay=t("<div>").addClass("ui-widget-overlay ui-front").appendTo(this._appendTo()),this._on(this.overlay,{mousedown:"_keepFocus"}),t.ui.dialog.overlayInstances++}},_destroyOverlay:function(){this.options.modal&&this.overlay&&(t.ui.dialog.overlayInstances--,t.ui.dialog.overlayInstances||this.document.unbind("focusin.dialog"),this.overlay.remove(),this.overlay=null)}}),t.ui.dialog.overlayInstances=0,t.uiBackCompat!==!1&&t.widget("ui.dialog",t.ui.dialog,{_position:function(){var e,i=this.options.position,s=[],n=[0,0];i?(("string"==typeof i||"object"==typeof i&&"0"in i)&&(s=i.split?i.split(" "):[i[0],i[1]],1===s.length&&(s[1]=s[0]),t.each(["left","top"],function(t,e){+s[t]===s[t]&&(n[t]=s[t],s[t]=e)}),i={my:s[0]+(0>n[0]?n[0]:"+"+n[0])+" "+s[1]+(0>n[1]?n[1]:"+"+n[1]),at:s.join(" ")}),i=t.extend({},t.ui.dialog.prototype.options.position,i)):i=t.ui.dialog.prototype.options.position,e=this.uiDialog.is(":visible"),e||this.uiDialog.show(),this.uiDialog.position(i),e||this.uiDialog.hide()}})})(jQuery);(function(t){t.widget("ui.menu",{version:"1.10.3",defaultElement:"<ul>",delay:300,options:{icons:{submenu:"ui-icon-carat-1-e"},menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().addClass("ui-menu ui-widget ui-widget-content ui-corner-all").toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length).attr({role:this.options.role,tabIndex:0}).bind("click"+this.eventNamespace,t.proxy(function(t){this.options.disabled&&t.preventDefault()},this)),this.options.disabled&&this.element.addClass("ui-state-disabled").attr("aria-disabled","true"),this._on({"mousedown .ui-menu-item > a":function(t){t.preventDefault()},"click .ui-state-disabled > a":function(t){t.preventDefault()},"click .ui-menu-item:has(a)":function(e){var i=t(e.target).closest(".ui-menu-item");!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.mouseHandled=!0,this.select(e),i.has(".ui-menu").length?this.expand(e):this.element.is(":focus")||(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(e){var i=t(e.currentTarget);i.siblings().children(".ui-state-active").removeClass("ui-state-active"),this.focus(e,i)},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this.element.children(".ui-menu-item").eq(0);e||this.focus(t,i)},blur:function(e){this._delay(function(){t.contains(this.element[0],this.document[0].activeElement)||this.collapseAll(e)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(e){t(e.target).closest(".ui-menu").length||this.collapseAll(e),this.mouseHandled=!1}})},_destroy:function(){this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeClass("ui-menu ui-widget ui-widget-content ui-corner-all ui-menu-icons").removeAttr("role").removeAttr("tabIndex").removeAttr("aria-labelledby").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-disabled").removeUniqueId().show(),this.element.find(".ui-menu-item").removeClass("ui-menu-item").removeAttr("role").removeAttr("aria-disabled").children("a").removeUniqueId().removeClass("ui-corner-all ui-state-hover").removeAttr("tabIndex").removeAttr("role").removeAttr("aria-haspopup").children().each(function(){var e=t(this);e.data("ui-menu-submenu-carat")&&e.remove()}),this.element.find(".ui-menu-divider").removeClass("ui-menu-divider ui-widget-content")},_keydown:function(e){function i(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}var s,n,a,o,r,h=!0;switch(e.keyCode){case t.ui.keyCode.PAGE_UP:this.previousPage(e);break;case t.ui.keyCode.PAGE_DOWN:this.nextPage(e);break;case t.ui.keyCode.HOME:this._move("first","first",e);break;case t.ui.keyCode.END:this._move("last","last",e);break;case t.ui.keyCode.UP:this.previous(e);break;case t.ui.keyCode.DOWN:this.next(e);break;case t.ui.keyCode.LEFT:this.collapse(e);break;case t.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(e);break;case t.ui.keyCode.ENTER:case t.ui.keyCode.SPACE:this._activate(e);break;case t.ui.keyCode.ESCAPE:this.collapse(e);break;default:h=!1,n=this.previousFilter||"",a=String.fromCharCode(e.keyCode),o=!1,clearTimeout(this.filterTimer),a===n?o=!0:a=n+a,r=RegExp("^"+i(a),"i"),s=this.activeMenu.children(".ui-menu-item").filter(function(){return r.test(t(this).children("a").text())}),s=o&&-1!==s.index(this.active.next())?this.active.nextAll(".ui-menu-item"):s,s.length||(a=String.fromCharCode(e.keyCode),r=RegExp("^"+i(a),"i"),s=this.activeMenu.children(".ui-menu-item").filter(function(){return r.test(t(this).children("a").text())})),s.length?(this.focus(e,s),s.length>1?(this.previousFilter=a,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter):delete this.previousFilter}h&&e.preventDefault()},_activate:function(t){this.active.is(".ui-state-disabled")||(this.active.children("a[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var e,i=this.options.icons.submenu,s=this.element.find(this.options.menus);s.filter(":not(.ui-menu)").addClass("ui-menu ui-widget ui-widget-content ui-corner-all").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var e=t(this),s=e.prev("a"),n=t("<span>").addClass("ui-menu-icon ui-icon "+i).data("ui-menu-submenu-carat",!0);s.attr("aria-haspopup","true").prepend(n),e.attr("aria-labelledby",s.attr("id"))}),e=s.add(this.element),e.children(":not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","presentation").children("a").uniqueId().addClass("ui-corner-all").attr({tabIndex:-1,role:this._itemRole()}),e.children(":not(.ui-menu-item)").each(function(){var e=t(this);/[^\-\u2014\u2013\s]/.test(e.text())||e.addClass("ui-widget-content ui-menu-divider")}),e.children(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!t.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){"icons"===t&&this.element.find(".ui-menu-icon").removeClass(this.options.icons.submenu).addClass(e.submenu),this._super(t,e)},focus:function(t,e){var i,s;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),s=this.active.children("a").addClass("ui-state-focus"),this.options.role&&this.element.attr("aria-activedescendant",s.attr("id")),this.active.parent().closest(".ui-menu-item").children("a:first").addClass("ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),i=e.children(".ui-menu"),i.length&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(e){var i,s,n,a,o,r;this._hasScroll()&&(i=parseFloat(t.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(t.css(this.activeMenu[0],"paddingTop"))||0,n=e.offset().top-this.activeMenu.offset().top-i-s,a=this.activeMenu.scrollTop(),o=this.activeMenu.height(),r=e.height(),0>n?this.activeMenu.scrollTop(a+n):n+r>o&&this.activeMenu.scrollTop(a+n-o+r))},blur:function(t,e){e||clearTimeout(this.timer),this.active&&(this.active.children("a").removeClass("ui-state-focus"),this.active=null,this._trigger("blur",t,{item:this.active}))},_startOpening:function(t){clearTimeout(this.timer),"true"===t.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(t)},this.delay))},_open:function(e){var i=t.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(e.parents(".ui-menu")).hide().attr("aria-hidden","true"),e.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(e,i){clearTimeout(this.timer),this.timer=this._delay(function(){var s=i?this.element:t(e&&e.target).closest(this.element.find(".ui-menu"));s.length||(s=this.element),this._close(s),this.blur(e),this.activeMenu=s},this.delay)},_close:function(t){t||(t=this.active?this.active.parent():this.element),t.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false").end().find("a.ui-state-active").removeClass("ui-state-active")},collapse:function(t){var e=this.active&&this.active.parent().closest(".ui-menu-item",this.element);e&&e.length&&(this._close(),this.focus(t,e))},expand:function(t){var e=this.active&&this.active.children(".ui-menu ").children(".ui-menu-item").first();e&&e.length&&(this._open(e.parent()),this._delay(function(){this.focus(t,e)}))},next:function(t){this._move("next","first",t)},previous:function(t){this._move("prev","last",t)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(t,e,i){var s;this.active&&(s="first"===t||"last"===t?this.active["first"===t?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[t+"All"](".ui-menu-item").eq(0)),s&&s.length&&this.active||(s=this.activeMenu.children(".ui-menu-item")[e]()),this.focus(i,s)},nextPage:function(e){var i,s,n;return this.active?(this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return i=t(this),0>i.offset().top-s-n}),this.focus(e,i)):this.focus(e,this.activeMenu.children(".ui-menu-item")[this.active?"last":"first"]())),undefined):(this.next(e),undefined)},previousPage:function(e){var i,s,n;return this.active?(this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return i=t(this),i.offset().top-s+n>0}),this.focus(e,i)):this.focus(e,this.activeMenu.children(".ui-menu-item").first())),undefined):(this.next(e),undefined)},_hasScroll:function(){return this.element.outerHeight()<this.element.prop("scrollHeight")},select:function(e){this.active=this.active||t(e.target).closest(".ui-menu-item");var i={item:this.active};this.active.has(".ui-menu").length||this.collapseAll(e,!0),this._trigger("select",e,i)}})})(jQuery);(function(t,e){t.widget("ui.progressbar",{version:"1.10.3",options:{max:100,value:0,change:null,complete:null},min:0,_create:function(){this.oldValue=this.options.value=this._constrainedValue(),this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min}),this.valueDiv=t("<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>").appendTo(this.element),this._refreshValue()},_destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.valueDiv.remove()},value:function(t){return t===e?this.options.value:(this.options.value=this._constrainedValue(t),this._refreshValue(),e)},_constrainedValue:function(t){return t===e&&(t=this.options.value),this.indeterminate=t===!1,"number"!=typeof t&&(t=0),this.indeterminate?!1:Math.min(this.options.max,Math.max(this.min,t))},_setOptions:function(t){var e=t.value;delete t.value,this._super(t),this.options.value=this._constrainedValue(e),this._refreshValue()},_setOption:function(t,e){"max"===t&&(e=Math.max(this.min,e)),this._super(t,e)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var e=this.options.value,i=this._percentage();this.valueDiv.toggle(this.indeterminate||e>this.min).toggleClass("ui-corner-right",e===this.options.max).width(i.toFixed(0)+"%"),this.element.toggleClass("ui-progressbar-indeterminate",this.indeterminate),this.indeterminate?(this.element.removeAttr("aria-valuenow"),this.overlayDiv||(this.overlayDiv=t("<div class='ui-progressbar-overlay'></div>").appendTo(this.valueDiv))):(this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":e}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null)),this.oldValue!==e&&(this.oldValue=e,this._trigger("change")),e===this.options.max&&this._trigger("complete")}})})(jQuery);(function(t){var e=5;t.widget("ui.slider",t.ui.mouse,{version:"1.10.3",widgetEventPrefix:"slide",options:{animate:!1,distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},_create:function(){this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget"+" ui-widget-content"+" ui-corner-all"),this._refresh(),this._setOption("disabled",this.options.disabled),this._animateOff=!1},_refresh:function(){this._createRange(),this._createHandles(),this._setupEvents(),this._refreshValue()},_createHandles:function(){var e,i,s=this.options,n=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),a="<a class='ui-slider-handle ui-state-default ui-corner-all' href='#'></a>",o=[];for(i=s.values&&s.values.length||1,n.length>i&&(n.slice(i).remove(),n=n.slice(0,i)),e=n.length;i>e;e++)o.push(a);this.handles=n.add(t(o.join("")).appendTo(this.element)),this.handle=this.handles.eq(0),this.handles.each(function(e){t(this).data("ui-slider-handle-index",e)})},_createRange:function(){var e=this.options,i="";e.range?(e.range===!0&&(e.values?e.values.length&&2!==e.values.length?e.values=[e.values[0],e.values[0]]:t.isArray(e.values)&&(e.values=e.values.slice(0)):e.values=[this._valueMin(),this._valueMin()]),this.range&&this.range.length?this.range.removeClass("ui-slider-range-min ui-slider-range-max").css({left:"",bottom:""}):(this.range=t("<div></div>").appendTo(this.element),i="ui-slider-range ui-widget-header ui-corner-all"),this.range.addClass(i+("min"===e.range||"max"===e.range?" ui-slider-range-"+e.range:""))):this.range=t([])},_setupEvents:function(){var t=this.handles.add(this.range).filter("a");this._off(t),this._on(t,this._handleEvents),this._hoverable(t),this._focusable(t)},_destroy:function(){this.handles.remove(),this.range.remove(),this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-widget ui-widget-content ui-corner-all"),this._mouseDestroy()},_mouseCapture:function(e){var i,s,n,a,o,r,h,l,u=this,c=this.options;return c.disabled?!1:(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),i={x:e.pageX,y:e.pageY},s=this._normValueFromMouse(i),n=this._valueMax()-this._valueMin()+1,this.handles.each(function(e){var i=Math.abs(s-u.values(e));(n>i||n===i&&(e===u._lastChangedValue||u.values(e)===c.min))&&(n=i,a=t(this),o=e)}),r=this._start(e,o),r===!1?!1:(this._mouseSliding=!0,this._handleIndex=o,a.addClass("ui-state-active").focus(),h=a.offset(),l=!t(e.target).parents().addBack().is(".ui-slider-handle"),this._clickOffset=l?{left:0,top:0}:{left:e.pageX-h.left-a.width()/2,top:e.pageY-h.top-a.height()/2-(parseInt(a.css("borderTopWidth"),10)||0)-(parseInt(a.css("borderBottomWidth"),10)||0)+(parseInt(a.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(e,o,s),this._animateOff=!0,!0))},_mouseStart:function(){return!0},_mouseDrag:function(t){var e={x:t.pageX,y:t.pageY},i=this._normValueFromMouse(e);return this._slide(t,this._handleIndex,i),!1},_mouseStop:function(t){return this.handles.removeClass("ui-state-active"),this._mouseSliding=!1,this._stop(t,this._handleIndex),this._change(t,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(t){var e,i,s,n,a;return"horizontal"===this.orientation?(e=this.elementSize.width,i=t.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(e=this.elementSize.height,i=t.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),s=i/e,s>1&&(s=1),0>s&&(s=0),"vertical"===this.orientation&&(s=1-s),n=this._valueMax()-this._valueMin(),a=this._valueMin()+s*n,this._trimAlignValue(a)},_start:function(t,e){var i={handle:this.handles[e],value:this.value()};return this.options.values&&this.options.values.length&&(i.value=this.values(e),i.values=this.values()),this._trigger("start",t,i)},_slide:function(t,e,i){var s,n,a;this.options.values&&this.options.values.length?(s=this.values(e?0:1),2===this.options.values.length&&this.options.range===!0&&(0===e&&i>s||1===e&&s>i)&&(i=s),i!==this.values(e)&&(n=this.values(),n[e]=i,a=this._trigger("slide",t,{handle:this.handles[e],value:i,values:n}),s=this.values(e?0:1),a!==!1&&this.values(e,i,!0))):i!==this.value()&&(a=this._trigger("slide",t,{handle:this.handles[e],value:i}),a!==!1&&this.value(i))},_stop:function(t,e){var i={handle:this.handles[e],value:this.value()};this.options.values&&this.options.values.length&&(i.value=this.values(e),i.values=this.values()),this._trigger("stop",t,i)},_change:function(t,e){if(!this._keySliding&&!this._mouseSliding){var i={handle:this.handles[e],value:this.value()};this.options.values&&this.options.values.length&&(i.value=this.values(e),i.values=this.values()),this._lastChangedValue=e,this._trigger("change",t,i)}},value:function(t){return arguments.length?(this.options.value=this._trimAlignValue(t),this._refreshValue(),this._change(null,0),undefined):this._value()},values:function(e,i){var s,n,a;if(arguments.length>1)return this.options.values[e]=this._trimAlignValue(i),this._refreshValue(),this._change(null,e),undefined;if(!arguments.length)return this._values();if(!t.isArray(arguments[0]))return this.options.values&&this.options.values.length?this._values(e):this.value();for(s=this.options.values,n=arguments[0],a=0;s.length>a;a+=1)s[a]=this._trimAlignValue(n[a]),this._change(null,a);this._refreshValue()},_setOption:function(e,i){var s,n=0;switch("range"===e&&this.options.range===!0&&("min"===i?(this.options.value=this._values(0),this.options.values=null):"max"===i&&(this.options.value=this._values(this.options.values.length-1),this.options.values=null)),t.isArray(this.options.values)&&(n=this.options.values.length),t.Widget.prototype._setOption.apply(this,arguments),e){case"orientation":this._detectOrientation(),this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation),this._refreshValue();break;case"value":this._animateOff=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case"values":for(this._animateOff=!0,this._refreshValue(),s=0;n>s;s+=1)this._change(null,s);this._animateOff=!1;break;case"min":case"max":this._animateOff=!0,this._refreshValue(),this._animateOff=!1;break;case"range":this._animateOff=!0,this._refresh(),this._animateOff=!1}},_value:function(){var t=this.options.value;return t=this._trimAlignValue(t)},_values:function(t){var e,i,s;if(arguments.length)return e=this.options.values[t],e=this._trimAlignValue(e);if(this.options.values&&this.options.values.length){for(i=this.options.values.slice(),s=0;i.length>s;s+=1)i[s]=this._trimAlignValue(i[s]);return i}return[]},_trimAlignValue:function(t){if(this._valueMin()>=t)return this._valueMin();if(t>=this._valueMax())return this._valueMax();var e=this.options.step>0?this.options.step:1,i=(t-this._valueMin())%e,s=t-i;return 2*Math.abs(i)>=e&&(s+=i>0?e:-e),parseFloat(s.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var e,i,s,n,a,o=this.options.range,r=this.options,h=this,l=this._animateOff?!1:r.animate,u={};this.options.values&&this.options.values.length?this.handles.each(function(s){i=100*((h.values(s)-h._valueMin())/(h._valueMax()-h._valueMin())),u["horizontal"===h.orientation?"left":"bottom"]=i+"%",t(this).stop(1,1)[l?"animate":"css"](u,r.animate),h.options.range===!0&&("horizontal"===h.orientation?(0===s&&h.range.stop(1,1)[l?"animate":"css"]({left:i+"%"},r.animate),1===s&&h.range[l?"animate":"css"]({width:i-e+"%"},{queue:!1,duration:r.animate})):(0===s&&h.range.stop(1,1)[l?"animate":"css"]({bottom:i+"%"},r.animate),1===s&&h.range[l?"animate":"css"]({height:i-e+"%"},{queue:!1,duration:r.animate}))),e=i}):(s=this.value(),n=this._valueMin(),a=this._valueMax(),i=a!==n?100*((s-n)/(a-n)):0,u["horizontal"===this.orientation?"left":"bottom"]=i+"%",this.handle.stop(1,1)[l?"animate":"css"](u,r.animate),"min"===o&&"horizontal"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({width:i+"%"},r.animate),"max"===o&&"horizontal"===this.orientation&&this.range[l?"animate":"css"]({width:100-i+"%"},{queue:!1,duration:r.animate}),"min"===o&&"vertical"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({height:i+"%"},r.animate),"max"===o&&"vertical"===this.orientation&&this.range[l?"animate":"css"]({height:100-i+"%"},{queue:!1,duration:r.animate}))},_handleEvents:{keydown:function(i){var s,n,a,o,r=t(i.target).data("ui-slider-handle-index");switch(i.keyCode){case t.ui.keyCode.HOME:case t.ui.keyCode.END:case t.ui.keyCode.PAGE_UP:case t.ui.keyCode.PAGE_DOWN:case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(i.preventDefault(),!this._keySliding&&(this._keySliding=!0,t(i.target).addClass("ui-state-active"),s=this._start(i,r),s===!1))return}switch(o=this.options.step,n=a=this.options.values&&this.options.values.length?this.values(r):this.value(),i.keyCode){case t.ui.keyCode.HOME:a=this._valueMin();break;case t.ui.keyCode.END:a=this._valueMax();break;case t.ui.keyCode.PAGE_UP:a=this._trimAlignValue(n+(this._valueMax()-this._valueMin())/e);break;case t.ui.keyCode.PAGE_DOWN:a=this._trimAlignValue(n-(this._valueMax()-this._valueMin())/e);break;case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:if(n===this._valueMax())return;a=this._trimAlignValue(n+o);break;case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(n===this._valueMin())return;a=this._trimAlignValue(n-o)}this._slide(i,r,a)},click:function(t){t.preventDefault()},keyup:function(e){var i=t(e.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(e,i),this._change(e,i),t(e.target).removeClass("ui-state-active"))}}})})(jQuery);(function(t){function e(t){return function(){var e=this.element.val();t.apply(this,arguments),this._refresh(),e!==this.element.val()&&this._trigger("change")}}t.widget("ui.spinner",{version:"1.10.3",defaultElement:"<input>",widgetEventPrefix:"spin",options:{culture:null,icons:{down:"ui-icon-triangle-1-s",up:"ui-icon-triangle-1-n"},incremental:!0,max:null,min:null,numberFormat:null,page:10,step:1,change:null,spin:null,start:null,stop:null},_create:function(){this._setOption("max",this.options.max),this._setOption("min",this.options.min),this._setOption("step",this.options.step),this._value(this.element.val(),!0),this._draw(),this._on(this._events),this._refresh(),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_getCreateOptions:function(){var e={},i=this.element;return t.each(["min","max","step"],function(t,s){var n=i.attr(s);void 0!==n&&n.length&&(e[s]=n)}),e},_events:{keydown:function(t){this._start(t)&&this._keydown(t)&&t.preventDefault()},keyup:"_stop",focus:function(){this.previous=this.element.val()},blur:function(t){return this.cancelBlur?(delete this.cancelBlur,void 0):(this._stop(),this._refresh(),this.previous!==this.element.val()&&this._trigger("change",t),void 0)},mousewheel:function(t,e){if(e){if(!this.spinning&&!this._start(t))return!1;this._spin((e>0?1:-1)*this.options.step,t),clearTimeout(this.mousewheelTimer),this.mousewheelTimer=this._delay(function(){this.spinning&&this._stop(t)},100),t.preventDefault()}},"mousedown .ui-spinner-button":function(e){function i(){var t=this.element[0]===this.document[0].activeElement;t||(this.element.focus(),this.previous=s,this._delay(function(){this.previous=s}))}var s;s=this.element[0]===this.document[0].activeElement?this.previous:this.element.val(),e.preventDefault(),i.call(this),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,i.call(this)}),this._start(e)!==!1&&this._repeat(null,t(e.currentTarget).hasClass("ui-spinner-up")?1:-1,e)},"mouseup .ui-spinner-button":"_stop","mouseenter .ui-spinner-button":function(e){return t(e.currentTarget).hasClass("ui-state-active")?this._start(e)===!1?!1:(this._repeat(null,t(e.currentTarget).hasClass("ui-spinner-up")?1:-1,e),void 0):void 0},"mouseleave .ui-spinner-button":"_stop"},_draw:function(){var t=this.uiSpinner=this.element.addClass("ui-spinner-input").attr("autocomplete","off").wrap(this._uiSpinnerHtml()).parent().append(this._buttonHtml());this.element.attr("role","spinbutton"),this.buttons=t.find(".ui-spinner-button").attr("tabIndex",-1).button().removeClass("ui-corner-all"),this.buttons.height()>Math.ceil(.5*t.height())&&t.height()>0&&t.height(t.height()),this.options.disabled&&this.disable()},_keydown:function(e){var i=this.options,s=t.ui.keyCode;switch(e.keyCode){case s.UP:return this._repeat(null,1,e),!0;case s.DOWN:return this._repeat(null,-1,e),!0;case s.PAGE_UP:return this._repeat(null,i.page,e),!0;case s.PAGE_DOWN:return this._repeat(null,-i.page,e),!0}return!1},_uiSpinnerHtml:function(){return"<span class='ui-spinner ui-widget ui-widget-content ui-corner-all'></span>"},_buttonHtml:function(){return"<a class='ui-spinner-button ui-spinner-up ui-corner-tr'><span class='ui-icon "+this.options.icons.up+"'>▲</span>"+"</a>"+"<a class='ui-spinner-button ui-spinner-down ui-corner-br'>"+"<span class='ui-icon "+this.options.icons.down+"'>▼</span>"+"</a>"},_start:function(t){return this.spinning||this._trigger("start",t)!==!1?(this.counter||(this.counter=1),this.spinning=!0,!0):!1},_repeat:function(t,e,i){t=t||500,clearTimeout(this.timer),this.timer=this._delay(function(){this._repeat(40,e,i)},t),this._spin(e*this.options.step,i)},_spin:function(t,e){var i=this.value()||0;this.counter||(this.counter=1),i=this._adjustValue(i+t*this._increment(this.counter)),this.spinning&&this._trigger("spin",e,{value:i})===!1||(this._value(i),this.counter++)},_increment:function(e){var i=this.options.incremental;return i?t.isFunction(i)?i(e):Math.floor(e*e*e/5e4-e*e/500+17*e/200+1):1},_precision:function(){var t=this._precisionOf(this.options.step);return null!==this.options.min&&(t=Math.max(t,this._precisionOf(this.options.min))),t},_precisionOf:function(t){var e=""+t,i=e.indexOf(".");return-1===i?0:e.length-i-1},_adjustValue:function(t){var e,i,s=this.options;return e=null!==s.min?s.min:0,i=t-e,i=Math.round(i/s.step)*s.step,t=e+i,t=parseFloat(t.toFixed(this._precision())),null!==s.max&&t>s.max?s.max:null!==s.min&&s.min>t?s.min:t},_stop:function(t){this.spinning&&(clearTimeout(this.timer),clearTimeout(this.mousewheelTimer),this.counter=0,this.spinning=!1,this._trigger("stop",t))},_setOption:function(t,e){if("culture"===t||"numberFormat"===t){var i=this._parse(this.element.val());return this.options[t]=e,this.element.val(this._format(i)),void 0}("max"===t||"min"===t||"step"===t)&&"string"==typeof e&&(e=this._parse(e)),"icons"===t&&(this.buttons.first().find(".ui-icon").removeClass(this.options.icons.up).addClass(e.up),this.buttons.last().find(".ui-icon").removeClass(this.options.icons.down).addClass(e.down)),this._super(t,e),"disabled"===t&&(e?(this.element.prop("disabled",!0),this.buttons.button("disable")):(this.element.prop("disabled",!1),this.buttons.button("enable")))},_setOptions:e(function(t){this._super(t),this._value(this.element.val())}),_parse:function(t){return"string"==typeof t&&""!==t&&(t=window.Globalize&&this.options.numberFormat?Globalize.parseFloat(t,10,this.options.culture):+t),""===t||isNaN(t)?null:t},_format:function(t){return""===t?"":window.Globalize&&this.options.numberFormat?Globalize.format(t,this.options.numberFormat,this.options.culture):t},_refresh:function(){this.element.attr({"aria-valuemin":this.options.min,"aria-valuemax":this.options.max,"aria-valuenow":this._parse(this.element.val())})},_value:function(t,e){var i;""!==t&&(i=this._parse(t),null!==i&&(e||(i=this._adjustValue(i)),t=this._format(i))),this.element.val(t),this._refresh()},_destroy:function(){this.element.removeClass("ui-spinner-input").prop("disabled",!1).removeAttr("autocomplete").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.uiSpinner.replaceWith(this.element)},stepUp:e(function(t){this._stepUp(t)}),_stepUp:function(t){this._start()&&(this._spin((t||1)*this.options.step),this._stop())},stepDown:e(function(t){this._stepDown(t)}),_stepDown:function(t){this._start()&&(this._spin((t||1)*-this.options.step),this._stop())},pageUp:e(function(t){this._stepUp((t||1)*this.options.page)}),pageDown:e(function(t){this._stepDown((t||1)*this.options.page)}),value:function(t){return arguments.length?(e(this._value).call(this,t),void 0):this._parse(this.element.val())},widget:function(){return this.uiSpinner}})})(jQuery);(function(t,e){function i(){return++n}function s(t){return t.hash.length>1&&decodeURIComponent(t.href.replace(a,""))===decodeURIComponent(location.href.replace(a,""))}var n=0,a=/#.*$/;t.widget("ui.tabs",{version:"1.10.3",delay:300,options:{active:null,collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_create:function(){var e=this,i=this.options;this.running=!1,this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all").toggleClass("ui-tabs-collapsible",i.collapsible).delegate(".ui-tabs-nav > li","mousedown"+this.eventNamespace,function(e){t(this).is(".ui-state-disabled")&&e.preventDefault()}).delegate(".ui-tabs-anchor","focus"+this.eventNamespace,function(){t(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this._processTabs(),i.active=this._initialActive(),t.isArray(i.disabled)&&(i.disabled=t.unique(i.disabled.concat(t.map(this.tabs.filter(".ui-state-disabled"),function(t){return e.tabs.index(t)}))).sort()),this.active=this.options.active!==!1&&this.anchors.length?this._findActive(i.active):t(),this._refresh(),this.active.length&&this.load(i.active)},_initialActive:function(){var i=this.options.active,s=this.options.collapsible,n=location.hash.substring(1);return null===i&&(n&&this.tabs.each(function(s,a){return t(a).attr("aria-controls")===n?(i=s,!1):e}),null===i&&(i=this.tabs.index(this.tabs.filter(".ui-tabs-active"))),(null===i||-1===i)&&(i=this.tabs.length?0:!1)),i!==!1&&(i=this.tabs.index(this.tabs.eq(i)),-1===i&&(i=s?!1:0)),!s&&i===!1&&this.anchors.length&&(i=0),i},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):t()}},_tabKeydown:function(i){var s=t(this.document[0].activeElement).closest("li"),n=this.tabs.index(s),a=!0;if(!this._handlePageNav(i)){switch(i.keyCode){case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:n++;break;case t.ui.keyCode.UP:case t.ui.keyCode.LEFT:a=!1,n--;break;case t.ui.keyCode.END:n=this.anchors.length-1;break;case t.ui.keyCode.HOME:n=0;break;case t.ui.keyCode.SPACE:return i.preventDefault(),clearTimeout(this.activating),this._activate(n),e;case t.ui.keyCode.ENTER:return i.preventDefault(),clearTimeout(this.activating),this._activate(n===this.options.active?!1:n),e;default:return}i.preventDefault(),clearTimeout(this.activating),n=this._focusNextTab(n,a),i.ctrlKey||(s.attr("aria-selected","false"),this.tabs.eq(n).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",n)},this.delay))}},_panelKeydown:function(e){this._handlePageNav(e)||e.ctrlKey&&e.keyCode===t.ui.keyCode.UP&&(e.preventDefault(),this.active.focus())},_handlePageNav:function(i){return i.altKey&&i.keyCode===t.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):i.altKey&&i.keyCode===t.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):e},_findNextTab:function(e,i){function s(){return e>n&&(e=0),0>e&&(e=n),e}for(var n=this.tabs.length-1;-1!==t.inArray(s(),this.options.disabled);)e=i?e+1:e-1;return e},_focusNextTab:function(t,e){return t=this._findNextTab(t,e),this.tabs.eq(t).focus(),t},_setOption:function(t,i){return"active"===t?(this._activate(i),e):"disabled"===t?(this._setupDisabled(i),e):(this._super(t,i),"collapsible"===t&&(this.element.toggleClass("ui-tabs-collapsible",i),i||this.options.active!==!1||this._activate(0)),"event"===t&&this._setupEvents(i),"heightStyle"===t&&this._setupHeightStyle(i),e)},_tabId:function(t){return t.attr("aria-controls")||"ui-tabs-"+i()},_sanitizeSelector:function(t){return t?t.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var e=this.options,i=this.tablist.children(":has(a[href])");e.disabled=t.map(i.filter(".ui-state-disabled"),function(t){return i.index(t)}),this._processTabs(),e.active!==!1&&this.anchors.length?this.active.length&&!t.contains(this.tablist[0],this.active[0])?this.tabs.length===e.disabled.length?(e.active=!1,this.active=t()):this._activate(this._findNextTab(Math.max(0,e.active-1),!1)):e.active=this.tabs.index(this.active):(e.active=!1,this.active=t()),this._refresh()},_refresh:function(){this._setupDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-expanded":"false","aria-hidden":"true"}),this.active.length?(this.active.addClass("ui-tabs-active ui-state-active").attr({"aria-selected":"true",tabIndex:0}),this._getPanelForTab(this.active).show().attr({"aria-expanded":"true","aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var e=this;this.tablist=this._getList().addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").attr("role","tablist"),this.tabs=this.tablist.find("> li:has(a[href])").addClass("ui-state-default ui-corner-top").attr({role:"tab",tabIndex:-1}),this.anchors=this.tabs.map(function(){return t("a",this)[0]}).addClass("ui-tabs-anchor").attr({role:"presentation",tabIndex:-1}),this.panels=t(),this.anchors.each(function(i,n){var a,o,r,h=t(n).uniqueId().attr("id"),l=t(n).closest("li"),u=l.attr("aria-controls");s(n)?(a=n.hash,o=e.element.find(e._sanitizeSelector(a))):(r=e._tabId(l),a="#"+r,o=e.element.find(a),o.length||(o=e._createPanel(r),o.insertAfter(e.panels[i-1]||e.tablist)),o.attr("aria-live","polite")),o.length&&(e.panels=e.panels.add(o)),u&&l.data("ui-tabs-aria-controls",u),l.attr({"aria-controls":a.substring(1),"aria-labelledby":h}),o.attr("aria-labelledby",h)}),this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").attr("role","tabpanel")},_getList:function(){return this.element.find("ol,ul").eq(0)},_createPanel:function(e){return t("<div>").attr("id",e).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").data("ui-tabs-destroy",!0)},_setupDisabled:function(e){t.isArray(e)&&(e.length?e.length===this.anchors.length&&(e=!0):e=!1);for(var i,s=0;i=this.tabs[s];s++)e===!0||-1!==t.inArray(s,e)?t(i).addClass("ui-state-disabled").attr("aria-disabled","true"):t(i).removeClass("ui-state-disabled").removeAttr("aria-disabled");this.options.disabled=e},_setupEvents:function(e){var i={click:function(t){t.preventDefault()}};e&&t.each(e.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(this.anchors,i),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(e){var i,s=this.element.parent();"fill"===e?(i=s.height(),i-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var e=t(this),s=e.css("position");"absolute"!==s&&"fixed"!==s&&(i-=e.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){i-=t(this).outerHeight(!0)}),this.panels.each(function(){t(this).height(Math.max(0,i-t(this).innerHeight()+t(this).height()))}).css("overflow","auto")):"auto"===e&&(i=0,this.panels.each(function(){i=Math.max(i,t(this).height("").height())}).height(i))},_eventHandler:function(e){var i=this.options,s=this.active,n=t(e.currentTarget),a=n.closest("li"),o=a[0]===s[0],r=o&&i.collapsible,h=r?t():this._getPanelForTab(a),l=s.length?this._getPanelForTab(s):t(),u={oldTab:s,oldPanel:l,newTab:r?t():a,newPanel:h};e.preventDefault(),a.hasClass("ui-state-disabled")||a.hasClass("ui-tabs-loading")||this.running||o&&!i.collapsible||this._trigger("beforeActivate",e,u)===!1||(i.active=r?!1:this.tabs.index(a),this.active=o?t():a,this.xhr&&this.xhr.abort(),l.length||h.length||t.error("jQuery UI Tabs: Mismatching fragment identifier."),h.length&&this.load(this.tabs.index(a),e),this._toggle(e,u))},_toggle:function(e,i){function s(){a.running=!1,a._trigger("activate",e,i)}function n(){i.newTab.closest("li").addClass("ui-tabs-active ui-state-active"),o.length&&a.options.show?a._show(o,a.options.show,s):(o.show(),s())}var a=this,o=i.newPanel,r=i.oldPanel;this.running=!0,r.length&&this.options.hide?this._hide(r,this.options.hide,function(){i.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),n()}):(i.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),r.hide(),n()),r.attr({"aria-expanded":"false","aria-hidden":"true"}),i.oldTab.attr("aria-selected","false"),o.length&&r.length?i.oldTab.attr("tabIndex",-1):o.length&&this.tabs.filter(function(){return 0===t(this).attr("tabIndex")}).attr("tabIndex",-1),o.attr({"aria-expanded":"true","aria-hidden":"false"}),i.newTab.attr({"aria-selected":"true",tabIndex:0})},_activate:function(e){var i,s=this._findActive(e);s[0]!==this.active[0]&&(s.length||(s=this.active),i=s.find(".ui-tabs-anchor")[0],this._eventHandler({target:i,currentTarget:i,preventDefault:t.noop}))},_findActive:function(e){return e===!1?t():this.tabs.eq(e)},_getIndex:function(t){return"string"==typeof t&&(t=this.anchors.index(this.anchors.filter("[href$='"+t+"']"))),t},_destroy:function(){this.xhr&&this.xhr.abort(),this.element.removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible"),this.tablist.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").removeAttr("role"),this.anchors.removeClass("ui-tabs-anchor").removeAttr("role").removeAttr("tabIndex").removeUniqueId(),this.tabs.add(this.panels).each(function(){t.data(this,"ui-tabs-destroy")?t(this).remove():t(this).removeClass("ui-state-default ui-state-active ui-state-disabled ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel").removeAttr("tabIndex").removeAttr("aria-live").removeAttr("aria-busy").removeAttr("aria-selected").removeAttr("aria-labelledby").removeAttr("aria-hidden").removeAttr("aria-expanded").removeAttr("role")}),this.tabs.each(function(){var e=t(this),i=e.data("ui-tabs-aria-controls");i?e.attr("aria-controls",i).removeData("ui-tabs-aria-controls"):e.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(i){var s=this.options.disabled;s!==!1&&(i===e?s=!1:(i=this._getIndex(i),s=t.isArray(s)?t.map(s,function(t){return t!==i?t:null}):t.map(this.tabs,function(t,e){return e!==i?e:null})),this._setupDisabled(s))},disable:function(i){var s=this.options.disabled;if(s!==!0){if(i===e)s=!0;else{if(i=this._getIndex(i),-1!==t.inArray(i,s))return;s=t.isArray(s)?t.merge([i],s).sort():[i]}this._setupDisabled(s)}},load:function(e,i){e=this._getIndex(e);var n=this,a=this.tabs.eq(e),o=a.find(".ui-tabs-anchor"),r=this._getPanelForTab(a),h={tab:a,panel:r};s(o[0])||(this.xhr=t.ajax(this._ajaxSettings(o,i,h)),this.xhr&&"canceled"!==this.xhr.statusText&&(a.addClass("ui-tabs-loading"),r.attr("aria-busy","true"),this.xhr.success(function(t){setTimeout(function(){r.html(t),n._trigger("load",i,h)},1)}).complete(function(t,e){setTimeout(function(){"abort"===e&&n.panels.stop(!1,!0),a.removeClass("ui-tabs-loading"),r.removeAttr("aria-busy"),t===n.xhr&&delete n.xhr},1)})))},_ajaxSettings:function(e,i,s){var n=this;return{url:e.attr("href"),beforeSend:function(e,a){return n._trigger("beforeLoad",i,t.extend({jqXHR:e,ajaxSettings:a},s))}}},_getPanelForTab:function(e){var i=t(e).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+i))}})})(jQuery);(function(t){function e(e,i){var s=(e.attr("aria-describedby")||"").split(/\s+/);s.push(i),e.data("ui-tooltip-id",i).attr("aria-describedby",t.trim(s.join(" ")))}function i(e){var i=e.data("ui-tooltip-id"),s=(e.attr("aria-describedby")||"").split(/\s+/),n=t.inArray(i,s);-1!==n&&s.splice(n,1),e.removeData("ui-tooltip-id"),s=t.trim(s.join(" ")),s?e.attr("aria-describedby",s):e.removeAttr("aria-describedby")}var s=0;t.widget("ui.tooltip",{version:"1.10.3",options:{content:function(){var e=t(this).attr("title")||"";return t("<a>").text(e).html()},hide:!0,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flip"},show:!0,tooltipClass:null,track:!1,close:null,open:null},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.options.disabled&&this._disable()},_setOption:function(e,i){var s=this;return"disabled"===e?(this[i?"_disable":"_enable"](),this.options[e]=i,void 0):(this._super(e,i),"content"===e&&t.each(this.tooltips,function(t,e){s._updateContent(e)}),void 0)},_disable:function(){var e=this;t.each(this.tooltips,function(i,s){var n=t.Event("blur");n.target=n.currentTarget=s[0],e.close(n,!0)}),this.element.find(this.options.items).addBack().each(function(){var e=t(this);e.is("[title]")&&e.data("ui-tooltip-title",e.attr("title")).attr("title","")})},_enable:function(){this.element.find(this.options.items).addBack().each(function(){var e=t(this);e.data("ui-tooltip-title")&&e.attr("title",e.data("ui-tooltip-title"))})},open:function(e){var i=this,s=t(e?e.target:this.element).closest(this.options.items);s.length&&!s.data("ui-tooltip-id")&&(s.attr("title")&&s.data("ui-tooltip-title",s.attr("title")),s.data("ui-tooltip-open",!0),e&&"mouseover"===e.type&&s.parents().each(function(){var e,s=t(this);s.data("ui-tooltip-open")&&(e=t.Event("blur"),e.target=e.currentTarget=this,i.close(e,!0)),s.attr("title")&&(s.uniqueId(),i.parents[this.id]={element:this,title:s.attr("title")},s.attr("title",""))}),this._updateContent(s,e))},_updateContent:function(t,e){var i,s=this.options.content,n=this,a=e?e.type:null;return"string"==typeof s?this._open(e,t,s):(i=s.call(t[0],function(i){t.data("ui-tooltip-open")&&n._delay(function(){e&&(e.type=a),this._open(e,t,i)})}),i&&this._open(e,t,i),void 0)},_open:function(i,s,n){function a(t){l.of=t,o.is(":hidden")||o.position(l)}var o,r,h,l=t.extend({},this.options.position);if(n){if(o=this._find(s),o.length)return o.find(".ui-tooltip-content").html(n),void 0;s.is("[title]")&&(i&&"mouseover"===i.type?s.attr("title",""):s.removeAttr("title")),o=this._tooltip(s),e(s,o.attr("id")),o.find(".ui-tooltip-content").html(n),this.options.track&&i&&/^mouse/.test(i.type)?(this._on(this.document,{mousemove:a}),a(i)):o.position(t.extend({of:s},this.options.position)),o.hide(),this._show(o,this.options.show),this.options.show&&this.options.show.delay&&(h=this.delayedShow=setInterval(function(){o.is(":visible")&&(a(l.of),clearInterval(h))},t.fx.interval)),this._trigger("open",i,{tooltip:o}),r={keyup:function(e){if(e.keyCode===t.ui.keyCode.ESCAPE){var i=t.Event(e);i.currentTarget=s[0],this.close(i,!0)}},remove:function(){this._removeTooltip(o)}},i&&"mouseover"!==i.type||(r.mouseleave="close"),i&&"focusin"!==i.type||(r.focusout="close"),this._on(!0,s,r)}},close:function(e){var s=this,n=t(e?e.currentTarget:this.element),a=this._find(n);this.closing||(clearInterval(this.delayedShow),n.data("ui-tooltip-title")&&n.attr("title",n.data("ui-tooltip-title")),i(n),a.stop(!0),this._hide(a,this.options.hide,function(){s._removeTooltip(t(this))}),n.removeData("ui-tooltip-open"),this._off(n,"mouseleave focusout keyup"),n[0]!==this.element[0]&&this._off(n,"remove"),this._off(this.document,"mousemove"),e&&"mouseleave"===e.type&&t.each(this.parents,function(e,i){t(i.element).attr("title",i.title),delete s.parents[e]}),this.closing=!0,this._trigger("close",e,{tooltip:a}),this.closing=!1)},_tooltip:function(e){var i="ui-tooltip-"+s++,n=t("<div>").attr({id:i,role:"tooltip"}).addClass("ui-tooltip ui-widget ui-corner-all ui-widget-content "+(this.options.tooltipClass||""));return t("<div>").addClass("ui-tooltip-content").appendTo(n),n.appendTo(this.document[0].body),this.tooltips[i]=e,n},_find:function(e){var i=e.data("ui-tooltip-id");return i?t("#"+i):t()},_removeTooltip:function(t){t.remove(),delete this.tooltips[t.attr("id")]},_destroy:function(){var e=this;t.each(this.tooltips,function(i,s){var n=t.Event("blur");n.target=n.currentTarget=s[0],e.close(n,!0),t("#"+i).remove(),s.data("ui-tooltip-title")&&(s.attr("title",s.data("ui-tooltip-title")),s.removeData("ui-tooltip-title"))})}})})(jQuery);(function(t,e){var i="ui-effects-";t.effects={effect:{}},function(t,e){function i(t,e,i){var s=u[e.type]||{};return null==t?i||!e.def?null:e.def:(t=s.floor?~~t:parseFloat(t),isNaN(t)?e.def:s.mod?(t+s.mod)%s.mod:0>t?0:t>s.max?s.max:t)}function s(i){var s=l(),n=s._rgba=[];return i=i.toLowerCase(),f(h,function(t,a){var o,r=a.re.exec(i),h=r&&a.parse(r),l=a.space||"rgba";return h?(o=s[l](h),s[c[l].cache]=o[c[l].cache],n=s._rgba=o._rgba,!1):e}),n.length?("0,0,0,0"===n.join()&&t.extend(n,a.transparent),s):a[i]}function n(t,e,i){return i=(i+1)%1,1>6*i?t+6*(e-t)*i:1>2*i?e:2>3*i?t+6*(e-t)*(2/3-i):t}var a,o="backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",r=/^([\-+])=\s*(\d+\.?\d*)/,h=[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(t){return[t[1],t[2],t[3],t[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(t){return[2.55*t[1],2.55*t[2],2.55*t[3],t[4]]}},{re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,parse:function(t){return[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)]}},{re:/#([a-f0-9])([a-f0-9])([a-f0-9])/,parse:function(t){return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16)]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function(t){return[t[1],t[2]/100,t[3]/100,t[4]]}}],l=t.Color=function(e,i,s,n){return new t.Color.fn.parse(e,i,s,n)},c={rgba:{props:{red:{idx:0,type:"byte"},green:{idx:1,type:"byte"},blue:{idx:2,type:"byte"}}},hsla:{props:{hue:{idx:0,type:"degrees"},saturation:{idx:1,type:"percent"},lightness:{idx:2,type:"percent"}}}},u={"byte":{floor:!0,max:255},percent:{max:1},degrees:{mod:360,floor:!0}},d=l.support={},p=t("<p>")[0],f=t.each;p.style.cssText="background-color:rgba(1,1,1,.5)",d.rgba=p.style.backgroundColor.indexOf("rgba")>-1,f(c,function(t,e){e.cache="_"+t,e.props.alpha={idx:3,type:"percent",def:1}}),l.fn=t.extend(l.prototype,{parse:function(n,o,r,h){if(n===e)return this._rgba=[null,null,null,null],this;(n.jquery||n.nodeType)&&(n=t(n).css(o),o=e);var u=this,d=t.type(n),p=this._rgba=[];return o!==e&&(n=[n,o,r,h],d="array"),"string"===d?this.parse(s(n)||a._default):"array"===d?(f(c.rgba.props,function(t,e){p[e.idx]=i(n[e.idx],e)}),this):"object"===d?(n instanceof l?f(c,function(t,e){n[e.cache]&&(u[e.cache]=n[e.cache].slice())}):f(c,function(e,s){var a=s.cache;f(s.props,function(t,e){if(!u[a]&&s.to){if("alpha"===t||null==n[t])return;u[a]=s.to(u._rgba)}u[a][e.idx]=i(n[t],e,!0)}),u[a]&&0>t.inArray(null,u[a].slice(0,3))&&(u[a][3]=1,s.from&&(u._rgba=s.from(u[a])))}),this):e},is:function(t){var i=l(t),s=!0,n=this;return f(c,function(t,a){var o,r=i[a.cache];return r&&(o=n[a.cache]||a.to&&a.to(n._rgba)||[],f(a.props,function(t,i){return null!=r[i.idx]?s=r[i.idx]===o[i.idx]:e})),s}),s},_space:function(){var t=[],e=this;return f(c,function(i,s){e[s.cache]&&t.push(i)}),t.pop()},transition:function(t,e){var s=l(t),n=s._space(),a=c[n],o=0===this.alpha()?l("transparent"):this,r=o[a.cache]||a.to(o._rgba),h=r.slice();return s=s[a.cache],f(a.props,function(t,n){var a=n.idx,o=r[a],l=s[a],c=u[n.type]||{};null!==l&&(null===o?h[a]=l:(c.mod&&(l-o>c.mod/2?o+=c.mod:o-l>c.mod/2&&(o-=c.mod)),h[a]=i((l-o)*e+o,n)))}),this[n](h)},blend:function(e){if(1===this._rgba[3])return this;var i=this._rgba.slice(),s=i.pop(),n=l(e)._rgba;return l(t.map(i,function(t,e){return(1-s)*n[e]+s*t}))},toRgbaString:function(){var e="rgba(",i=t.map(this._rgba,function(t,e){return null==t?e>2?1:0:t});return 1===i[3]&&(i.pop(),e="rgb("),e+i.join()+")"},toHslaString:function(){var e="hsla(",i=t.map(this.hsla(),function(t,e){return null==t&&(t=e>2?1:0),e&&3>e&&(t=Math.round(100*t)+"%"),t});return 1===i[3]&&(i.pop(),e="hsl("),e+i.join()+")"},toHexString:function(e){var i=this._rgba.slice(),s=i.pop();return e&&i.push(~~(255*s)),"#"+t.map(i,function(t){return t=(t||0).toString(16),1===t.length?"0"+t:t}).join("")},toString:function(){return 0===this._rgba[3]?"transparent":this.toRgbaString()}}),l.fn.parse.prototype=l.fn,c.hsla.to=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e,i,s=t[0]/255,n=t[1]/255,a=t[2]/255,o=t[3],r=Math.max(s,n,a),h=Math.min(s,n,a),l=r-h,c=r+h,u=.5*c;return e=h===r?0:s===r?60*(n-a)/l+360:n===r?60*(a-s)/l+120:60*(s-n)/l+240,i=0===l?0:.5>=u?l/c:l/(2-c),[Math.round(e)%360,i,u,null==o?1:o]},c.hsla.from=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e=t[0]/360,i=t[1],s=t[2],a=t[3],o=.5>=s?s*(1+i):s+i-s*i,r=2*s-o;return[Math.round(255*n(r,o,e+1/3)),Math.round(255*n(r,o,e)),Math.round(255*n(r,o,e-1/3)),a]},f(c,function(s,n){var a=n.props,o=n.cache,h=n.to,c=n.from;l.fn[s]=function(s){if(h&&!this[o]&&(this[o]=h(this._rgba)),s===e)return this[o].slice();var n,r=t.type(s),u="array"===r||"object"===r?s:arguments,d=this[o].slice();return f(a,function(t,e){var s=u["object"===r?t:e.idx];null==s&&(s=d[e.idx]),d[e.idx]=i(s,e)}),c?(n=l(c(d)),n[o]=d,n):l(d)},f(a,function(e,i){l.fn[e]||(l.fn[e]=function(n){var a,o=t.type(n),h="alpha"===e?this._hsla?"hsla":"rgba":s,l=this[h](),c=l[i.idx];return"undefined"===o?c:("function"===o&&(n=n.call(this,c),o=t.type(n)),null==n&&i.empty?this:("string"===o&&(a=r.exec(n),a&&(n=c+parseFloat(a[2])*("+"===a[1]?1:-1))),l[i.idx]=n,this[h](l)))})})}),l.hook=function(e){var i=e.split(" ");f(i,function(e,i){t.cssHooks[i]={set:function(e,n){var a,o,r="";if("transparent"!==n&&("string"!==t.type(n)||(a=s(n)))){if(n=l(a||n),!d.rgba&&1!==n._rgba[3]){for(o="backgroundColor"===i?e.parentNode:e;(""===r||"transparent"===r)&&o&&o.style;)try{r=t.css(o,"backgroundColor"),o=o.parentNode}catch(h){}n=n.blend(r&&"transparent"!==r?r:"_default")}n=n.toRgbaString()}try{e.style[i]=n}catch(h){}}},t.fx.step[i]=function(e){e.colorInit||(e.start=l(e.elem,i),e.end=l(e.end),e.colorInit=!0),t.cssHooks[i].set(e.elem,e.start.transition(e.end,e.pos))}})},l.hook(o),t.cssHooks.borderColor={expand:function(t){var e={};return f(["Top","Right","Bottom","Left"],function(i,s){e["border"+s+"Color"]=t}),e}},a=t.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"}}(jQuery),function(){function i(e){var i,s,n=e.ownerDocument.defaultView?e.ownerDocument.defaultView.getComputedStyle(e,null):e.currentStyle,a={};if(n&&n.length&&n[0]&&n[n[0]])for(s=n.length;s--;)i=n[s],"string"==typeof n[i]&&(a[t.camelCase(i)]=n[i]);else for(i in n)"string"==typeof n[i]&&(a[i]=n[i]);return a}function s(e,i){var s,n,o={};for(s in i)n=i[s],e[s]!==n&&(a[s]||(t.fx.step[s]||!isNaN(parseFloat(n)))&&(o[s]=n));return o}var n=["add","remove","toggle"],a={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};t.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(e,i){t.fx.step[i]=function(t){("none"!==t.end&&!t.setAttr||1===t.pos&&!t.setAttr)&&(jQuery.style(t.elem,i,t.end),t.setAttr=!0)}}),t.fn.addBack||(t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.effects.animateClass=function(e,a,o,r){var h=t.speed(a,o,r);return this.queue(function(){var a,o=t(this),r=o.attr("class")||"",l=h.children?o.find("*").addBack():o;l=l.map(function(){var e=t(this);return{el:e,start:i(this)}}),a=function(){t.each(n,function(t,i){e[i]&&o[i+"Class"](e[i])})},a(),l=l.map(function(){return this.end=i(this.el[0]),this.diff=s(this.start,this.end),this}),o.attr("class",r),l=l.map(function(){var e=this,i=t.Deferred(),s=t.extend({},h,{queue:!1,complete:function(){i.resolve(e)}});return this.el.animate(this.diff,s),i.promise()}),t.when.apply(t,l.get()).done(function(){a(),t.each(arguments,function(){var e=this.el;t.each(this.diff,function(t){e.css(t,"")})}),h.complete.call(o[0])})})},t.fn.extend({addClass:function(e){return function(i,s,n,a){return s?t.effects.animateClass.call(this,{add:i},s,n,a):e.apply(this,arguments)}}(t.fn.addClass),removeClass:function(e){return function(i,s,n,a){return arguments.length>1?t.effects.animateClass.call(this,{remove:i},s,n,a):e.apply(this,arguments)}}(t.fn.removeClass),toggleClass:function(i){return function(s,n,a,o,r){return"boolean"==typeof n||n===e?a?t.effects.animateClass.call(this,n?{add:s}:{remove:s},a,o,r):i.apply(this,arguments):t.effects.animateClass.call(this,{toggle:s},n,a,o)}}(t.fn.toggleClass),switchClass:function(e,i,s,n,a){return t.effects.animateClass.call(this,{add:i,remove:e},s,n,a)}})}(),function(){function s(e,i,s,n){return t.isPlainObject(e)&&(i=e,e=e.effect),e={effect:e},null==i&&(i={}),t.isFunction(i)&&(n=i,s=null,i={}),("number"==typeof i||t.fx.speeds[i])&&(n=s,s=i,i={}),t.isFunction(s)&&(n=s,s=null),i&&t.extend(e,i),s=s||i.duration,e.duration=t.fx.off?0:"number"==typeof s?s:s in t.fx.speeds?t.fx.speeds[s]:t.fx.speeds._default,e.complete=n||i.complete,e}function n(e){return!e||"number"==typeof e||t.fx.speeds[e]?!0:"string"!=typeof e||t.effects.effect[e]?t.isFunction(e)?!0:"object"!=typeof e||e.effect?!1:!0:!0}t.extend(t.effects,{version:"1.10.3",save:function(t,e){for(var s=0;e.length>s;s++)null!==e[s]&&t.data(i+e[s],t[0].style[e[s]])},restore:function(t,s){var n,a;for(a=0;s.length>a;a++)null!==s[a]&&(n=t.data(i+s[a]),n===e&&(n=""),t.css(s[a],n))},setMode:function(t,e){return"toggle"===e&&(e=t.is(":hidden")?"show":"hide"),e},getBaseline:function(t,e){var i,s;switch(t[0]){case"top":i=0;break;case"middle":i=.5;break;case"bottom":i=1;break;default:i=t[0]/e.height}switch(t[1]){case"left":s=0;break;case"center":s=.5;break;case"right":s=1;break;default:s=t[1]/e.width}return{x:s,y:i}},createWrapper:function(e){if(e.parent().is(".ui-effects-wrapper"))return e.parent();var i={width:e.outerWidth(!0),height:e.outerHeight(!0),"float":e.css("float")},s=t("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),n={width:e.width(),height:e.height()},a=document.activeElement;try{a.id}catch(o){a=document.body}return e.wrap(s),(e[0]===a||t.contains(e[0],a))&&t(a).focus(),s=e.parent(),"static"===e.css("position")?(s.css({position:"relative"}),e.css({position:"relative"})):(t.extend(i,{position:e.css("position"),zIndex:e.css("z-index")}),t.each(["top","left","bottom","right"],function(t,s){i[s]=e.css(s),isNaN(parseInt(i[s],10))&&(i[s]="auto")}),e.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),e.css(n),s.css(i).show()},removeWrapper:function(e){var i=document.activeElement;return e.parent().is(".ui-effects-wrapper")&&(e.parent().replaceWith(e),(e[0]===i||t.contains(e[0],i))&&t(i).focus()),e},setTransition:function(e,i,s,n){return n=n||{},t.each(i,function(t,i){var a=e.cssUnit(i);a[0]>0&&(n[i]=a[0]*s+a[1])}),n}}),t.fn.extend({effect:function(){function e(e){function s(){t.isFunction(a)&&a.call(n[0]),t.isFunction(e)&&e()}var n=t(this),a=i.complete,r=i.mode;(n.is(":hidden")?"hide"===r:"show"===r)?(n[r](),s()):o.call(n[0],i,s)}var i=s.apply(this,arguments),n=i.mode,a=i.queue,o=t.effects.effect[i.effect];return t.fx.off||!o?n?this[n](i.duration,i.complete):this.each(function(){i.complete&&i.complete.call(this)}):a===!1?this.each(e):this.queue(a||"fx",e)},show:function(t){return function(e){if(n(e))return t.apply(this,arguments);var i=s.apply(this,arguments);return i.mode="show",this.effect.call(this,i)}}(t.fn.show),hide:function(t){return function(e){if(n(e))return t.apply(this,arguments);var i=s.apply(this,arguments);return i.mode="hide",this.effect.call(this,i)}}(t.fn.hide),toggle:function(t){return function(e){if(n(e)||"boolean"==typeof e)return t.apply(this,arguments);var i=s.apply(this,arguments);return i.mode="toggle",this.effect.call(this,i)}}(t.fn.toggle),cssUnit:function(e){var i=this.css(e),s=[];return t.each(["em","px","%","pt"],function(t,e){i.indexOf(e)>0&&(s=[parseFloat(i),e])}),s}})}(),function(){var e={};t.each(["Quad","Cubic","Quart","Quint","Expo"],function(t,i){e[i]=function(e){return Math.pow(e,t+2)}}),t.extend(e,{Sine:function(t){return 1-Math.cos(t*Math.PI/2)},Circ:function(t){return 1-Math.sqrt(1-t*t)},Elastic:function(t){return 0===t||1===t?t:-Math.pow(2,8*(t-1))*Math.sin((80*(t-1)-7.5)*Math.PI/15)},Back:function(t){return t*t*(3*t-2)},Bounce:function(t){for(var e,i=4;((e=Math.pow(2,--i))-1)/11>t;);return 1/Math.pow(4,3-i)-7.5625*Math.pow((3*e-2)/22-t,2)}}),t.each(e,function(e,i){t.easing["easeIn"+e]=i,t.easing["easeOut"+e]=function(t){return 1-i(1-t)},t.easing["easeInOut"+e]=function(t){return.5>t?i(2*t)/2:1-i(-2*t+2)/2}})}()})(jQuery);(function(t){var e=/up|down|vertical/,i=/up|left|vertical|horizontal/;t.effects.effect.blind=function(s,n){var a,o,r,h=t(this),l=["position","top","bottom","left","right","height","width"],c=t.effects.setMode(h,s.mode||"hide"),u=s.direction||"up",d=e.test(u),p=d?"height":"width",f=d?"top":"left",m=i.test(u),g={},v="show"===c;h.parent().is(".ui-effects-wrapper")?t.effects.save(h.parent(),l):t.effects.save(h,l),h.show(),a=t.effects.createWrapper(h).css({overflow:"hidden"}),o=a[p](),r=parseFloat(a.css(f))||0,g[p]=v?o:0,m||(h.css(d?"bottom":"right",0).css(d?"top":"left","auto").css({position:"absolute"}),g[f]=v?r:o+r),v&&(a.css(p,0),m||a.css(f,r+o)),a.animate(g,{duration:s.duration,easing:s.easing,queue:!1,complete:function(){"hide"===c&&h.hide(),t.effects.restore(h,l),t.effects.removeWrapper(h),n()}})}})(jQuery);(function(t){t.effects.effect.bounce=function(e,i){var s,n,a,o=t(this),r=["position","top","bottom","left","right","height","width"],h=t.effects.setMode(o,e.mode||"effect"),l="hide"===h,c="show"===h,u=e.direction||"up",d=e.distance,p=e.times||5,f=2*p+(c||l?1:0),m=e.duration/f,g=e.easing,v="up"===u||"down"===u?"top":"left",_="up"===u||"left"===u,b=o.queue(),y=b.length;for((c||l)&&r.push("opacity"),t.effects.save(o,r),o.show(),t.effects.createWrapper(o),d||(d=o["top"===v?"outerHeight":"outerWidth"]()/3),c&&(a={opacity:1},a[v]=0,o.css("opacity",0).css(v,_?2*-d:2*d).animate(a,m,g)),l&&(d/=Math.pow(2,p-1)),a={},a[v]=0,s=0;p>s;s++)n={},n[v]=(_?"-=":"+=")+d,o.animate(n,m,g).animate(a,m,g),d=l?2*d:d/2;l&&(n={opacity:0},n[v]=(_?"-=":"+=")+d,o.animate(n,m,g)),o.queue(function(){l&&o.hide(),t.effects.restore(o,r),t.effects.removeWrapper(o),i()}),y>1&&b.splice.apply(b,[1,0].concat(b.splice(y,f+1))),o.dequeue()}})(jQuery);(function(t){t.effects.effect.clip=function(e,i){var s,n,a,o=t(this),r=["position","top","bottom","left","right","height","width"],h=t.effects.setMode(o,e.mode||"hide"),l="show"===h,c=e.direction||"vertical",u="vertical"===c,d=u?"height":"width",p=u?"top":"left",f={};t.effects.save(o,r),o.show(),s=t.effects.createWrapper(o).css({overflow:"hidden"}),n="IMG"===o[0].tagName?s:o,a=n[d](),l&&(n.css(d,0),n.css(p,a/2)),f[d]=l?a:0,f[p]=l?0:a/2,n.animate(f,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){l||o.hide(),t.effects.restore(o,r),t.effects.removeWrapper(o),i()}})}})(jQuery);(function(t){t.effects.effect.drop=function(e,i){var s,n=t(this),a=["position","top","bottom","left","right","opacity","height","width"],o=t.effects.setMode(n,e.mode||"hide"),r="show"===o,h=e.direction||"left",l="up"===h||"down"===h?"top":"left",c="up"===h||"left"===h?"pos":"neg",u={opacity:r?1:0};t.effects.save(n,a),n.show(),t.effects.createWrapper(n),s=e.distance||n["top"===l?"outerHeight":"outerWidth"](!0)/2,r&&n.css("opacity",0).css(l,"pos"===c?-s:s),u[l]=(r?"pos"===c?"+=":"-=":"pos"===c?"-=":"+=")+s,n.animate(u,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){"hide"===o&&n.hide(),t.effects.restore(n,a),t.effects.removeWrapper(n),i()}})}})(jQuery);(function(t){t.effects.effect.explode=function(e,i){function s(){b.push(this),b.length===u*d&&n()}function n(){p.css({visibility:"visible"}),t(b).remove(),m||p.hide(),i()}var a,o,r,h,l,c,u=e.pieces?Math.round(Math.sqrt(e.pieces)):3,d=u,p=t(this),f=t.effects.setMode(p,e.mode||"hide"),m="show"===f,g=p.show().css("visibility","hidden").offset(),v=Math.ceil(p.outerWidth()/d),_=Math.ceil(p.outerHeight()/u),b=[];for(a=0;u>a;a++)for(h=g.top+a*_,c=a-(u-1)/2,o=0;d>o;o++)r=g.left+o*v,l=o-(d-1)/2,p.clone().appendTo("body").wrap("<div></div>").css({position:"absolute",visibility:"visible",left:-o*v,top:-a*_}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:v,height:_,left:r+(m?l*v:0),top:h+(m?c*_:0),opacity:m?0:1}).animate({left:r+(m?0:l*v),top:h+(m?0:c*_),opacity:m?1:0},e.duration||500,e.easing,s)}})(jQuery);(function(t){t.effects.effect.fade=function(e,i){var s=t(this),n=t.effects.setMode(s,e.mode||"toggle");s.animate({opacity:n},{queue:!1,duration:e.duration,easing:e.easing,complete:i})}})(jQuery);(function(t){t.effects.effect.fold=function(e,i){var s,n,a=t(this),o=["position","top","bottom","left","right","height","width"],r=t.effects.setMode(a,e.mode||"hide"),h="show"===r,l="hide"===r,c=e.size||15,u=/([0-9]+)%/.exec(c),d=!!e.horizFirst,p=h!==d,f=p?["width","height"]:["height","width"],m=e.duration/2,g={},v={};t.effects.save(a,o),a.show(),s=t.effects.createWrapper(a).css({overflow:"hidden"}),n=p?[s.width(),s.height()]:[s.height(),s.width()],u&&(c=parseInt(u[1],10)/100*n[l?0:1]),h&&s.css(d?{height:0,width:c}:{height:c,width:0}),g[f[0]]=h?n[0]:c,v[f[1]]=h?n[1]:0,s.animate(g,m,e.easing).animate(v,m,e.easing,function(){l&&a.hide(),t.effects.restore(a,o),t.effects.removeWrapper(a),i()})}})(jQuery);(function(t){t.effects.effect.highlight=function(e,i){var s=t(this),n=["backgroundImage","backgroundColor","opacity"],a=t.effects.setMode(s,e.mode||"show"),o={backgroundColor:s.css("backgroundColor")};"hide"===a&&(o.opacity=0),t.effects.save(s,n),s.show().css({backgroundImage:"none",backgroundColor:e.color||"#ffff99"}).animate(o,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){"hide"===a&&s.hide(),t.effects.restore(s,n),i()}})}})(jQuery);(function(t){t.effects.effect.pulsate=function(e,i){var s,n=t(this),a=t.effects.setMode(n,e.mode||"show"),o="show"===a,r="hide"===a,h=o||"hide"===a,l=2*(e.times||5)+(h?1:0),c=e.duration/l,u=0,d=n.queue(),p=d.length;for((o||!n.is(":visible"))&&(n.css("opacity",0).show(),u=1),s=1;l>s;s++)n.animate({opacity:u},c,e.easing),u=1-u;n.animate({opacity:u},c,e.easing),n.queue(function(){r&&n.hide(),i()}),p>1&&d.splice.apply(d,[1,0].concat(d.splice(p,l+1))),n.dequeue()}})(jQuery);(function(t){t.effects.effect.puff=function(e,i){var s=t(this),n=t.effects.setMode(s,e.mode||"hide"),a="hide"===n,o=parseInt(e.percent,10)||150,r=o/100,h={height:s.height(),width:s.width(),outerHeight:s.outerHeight(),outerWidth:s.outerWidth()};t.extend(e,{effect:"scale",queue:!1,fade:!0,mode:n,complete:i,percent:a?o:100,from:a?h:{height:h.height*r,width:h.width*r,outerHeight:h.outerHeight*r,outerWidth:h.outerWidth*r}}),s.effect(e)},t.effects.effect.scale=function(e,i){var s=t(this),n=t.extend(!0,{},e),a=t.effects.setMode(s,e.mode||"effect"),o=parseInt(e.percent,10)||(0===parseInt(e.percent,10)?0:"hide"===a?0:100),r=e.direction||"both",h=e.origin,l={height:s.height(),width:s.width(),outerHeight:s.outerHeight(),outerWidth:s.outerWidth()},c={y:"horizontal"!==r?o/100:1,x:"vertical"!==r?o/100:1};n.effect="size",n.queue=!1,n.complete=i,"effect"!==a&&(n.origin=h||["middle","center"],n.restore=!0),n.from=e.from||("show"===a?{height:0,width:0,outerHeight:0,outerWidth:0}:l),n.to={height:l.height*c.y,width:l.width*c.x,outerHeight:l.outerHeight*c.y,outerWidth:l.outerWidth*c.x},n.fade&&("show"===a&&(n.from.opacity=0,n.to.opacity=1),"hide"===a&&(n.from.opacity=1,n.to.opacity=0)),s.effect(n)},t.effects.effect.size=function(e,i){var s,n,a,o=t(this),r=["position","top","bottom","left","right","width","height","overflow","opacity"],h=["position","top","bottom","left","right","overflow","opacity"],l=["width","height","overflow"],c=["fontSize"],u=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],d=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],p=t.effects.setMode(o,e.mode||"effect"),f=e.restore||"effect"!==p,m=e.scale||"both",g=e.origin||["middle","center"],v=o.css("position"),_=f?r:h,b={height:0,width:0,outerHeight:0,outerWidth:0};"show"===p&&o.show(),s={height:o.height(),width:o.width(),outerHeight:o.outerHeight(),outerWidth:o.outerWidth()},"toggle"===e.mode&&"show"===p?(o.from=e.to||b,o.to=e.from||s):(o.from=e.from||("show"===p?b:s),o.to=e.to||("hide"===p?b:s)),a={from:{y:o.from.height/s.height,x:o.from.width/s.width},to:{y:o.to.height/s.height,x:o.to.width/s.width}},("box"===m||"both"===m)&&(a.from.y!==a.to.y&&(_=_.concat(u),o.from=t.effects.setTransition(o,u,a.from.y,o.from),o.to=t.effects.setTransition(o,u,a.to.y,o.to)),a.from.x!==a.to.x&&(_=_.concat(d),o.from=t.effects.setTransition(o,d,a.from.x,o.from),o.to=t.effects.setTransition(o,d,a.to.x,o.to))),("content"===m||"both"===m)&&a.from.y!==a.to.y&&(_=_.concat(c).concat(l),o.from=t.effects.setTransition(o,c,a.from.y,o.from),o.to=t.effects.setTransition(o,c,a.to.y,o.to)),t.effects.save(o,_),o.show(),t.effects.createWrapper(o),o.css("overflow","hidden").css(o.from),g&&(n=t.effects.getBaseline(g,s),o.from.top=(s.outerHeight-o.outerHeight())*n.y,o.from.left=(s.outerWidth-o.outerWidth())*n.x,o.to.top=(s.outerHeight-o.to.outerHeight)*n.y,o.to.left=(s.outerWidth-o.to.outerWidth)*n.x),o.css(o.from),("content"===m||"both"===m)&&(u=u.concat(["marginTop","marginBottom"]).concat(c),d=d.concat(["marginLeft","marginRight"]),l=r.concat(u).concat(d),o.find("*[width]").each(function(){var i=t(this),s={height:i.height(),width:i.width(),outerHeight:i.outerHeight(),outerWidth:i.outerWidth()};f&&t.effects.save(i,l),i.from={height:s.height*a.from.y,width:s.width*a.from.x,outerHeight:s.outerHeight*a.from.y,outerWidth:s.outerWidth*a.from.x},i.to={height:s.height*a.to.y,width:s.width*a.to.x,outerHeight:s.height*a.to.y,outerWidth:s.width*a.to.x},a.from.y!==a.to.y&&(i.from=t.effects.setTransition(i,u,a.from.y,i.from),i.to=t.effects.setTransition(i,u,a.to.y,i.to)),a.from.x!==a.to.x&&(i.from=t.effects.setTransition(i,d,a.from.x,i.from),i.to=t.effects.setTransition(i,d,a.to.x,i.to)),i.css(i.from),i.animate(i.to,e.duration,e.easing,function(){f&&t.effects.restore(i,l)})})),o.animate(o.to,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){0===o.to.opacity&&o.css("opacity",o.from.opacity),"hide"===p&&o.hide(),t.effects.restore(o,_),f||("static"===v?o.css({position:"relative",top:o.to.top,left:o.to.left}):t.each(["top","left"],function(t,e){o.css(e,function(e,i){var s=parseInt(i,10),n=t?o.to.left:o.to.top;return"auto"===i?n+"px":s+n+"px"})})),t.effects.removeWrapper(o),i()}})}})(jQuery);(function(t){t.effects.effect.shake=function(e,i){var s,n=t(this),a=["position","top","bottom","left","right","height","width"],o=t.effects.setMode(n,e.mode||"effect"),r=e.direction||"left",h=e.distance||20,l=e.times||3,c=2*l+1,u=Math.round(e.duration/c),d="up"===r||"down"===r?"top":"left",p="up"===r||"left"===r,f={},m={},g={},v=n.queue(),_=v.length;for(t.effects.save(n,a),n.show(),t.effects.createWrapper(n),f[d]=(p?"-=":"+=")+h,m[d]=(p?"+=":"-=")+2*h,g[d]=(p?"-=":"+=")+2*h,n.animate(f,u,e.easing),s=1;l>s;s++)n.animate(m,u,e.easing).animate(g,u,e.easing);n.animate(m,u,e.easing).animate(f,u/2,e.easing).queue(function(){"hide"===o&&n.hide(),t.effects.restore(n,a),t.effects.removeWrapper(n),i()}),_>1&&v.splice.apply(v,[1,0].concat(v.splice(_,c+1))),n.dequeue()}})(jQuery);(function(t){t.effects.effect.slide=function(e,i){var s,n=t(this),a=["position","top","bottom","left","right","width","height"],o=t.effects.setMode(n,e.mode||"show"),r="show"===o,h=e.direction||"left",l="up"===h||"down"===h?"top":"left",c="up"===h||"left"===h,u={};t.effects.save(n,a),n.show(),s=e.distance||n["top"===l?"outerHeight":"outerWidth"](!0),t.effects.createWrapper(n).css({overflow:"hidden"}),r&&n.css(l,c?isNaN(s)?"-"+s:-s:s),u[l]=(r?c?"+=":"-=":c?"-=":"+=")+s,n.animate(u,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){"hide"===o&&n.hide(),t.effects.restore(n,a),t.effects.removeWrapper(n),i()}})}})(jQuery);(function(t){t.effects.effect.transfer=function(e,i){var s=t(this),n=t(e.to),a="fixed"===n.css("position"),o=t("body"),r=a?o.scrollTop():0,h=a?o.scrollLeft():0,l=n.offset(),c={top:l.top-r,left:l.left-h,height:n.innerHeight(),width:n.innerWidth()},u=s.offset(),d=t("<div class='ui-effects-transfer'></div>").appendTo(document.body).addClass(e.className).css({top:u.top-r,left:u.left-h,height:s.innerHeight(),width:s.innerWidth(),position:a?"fixed":"absolute"}).animate(c,e.duration,e.easing,function(){d.remove(),i()})}})(jQuery);
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/js/jquery.autosize.min.js b/src/main/webapp/static/login/assets/js/jquery.autosize.min.js new file mode 100644 index 0000000..fa09b71 --- /dev/null +++ b/src/main/webapp/static/login/assets/js/jquery.autosize.min.js @@ -0,0 +1,7 @@ +/*! + Autosize v1.17.7 - 2013-09-03 + Automatically adjust textarea height based on user input. + (c) 2013 Jack Moore - http://www.jacklmoore.com/autosize + license: http://www.opensource.org/licenses/mit-license.php +*/ +(function(e){"function"==typeof define&&define.amd?define(["jquery"],e):e(window.jQuery||window.$)})(function(e){var t,o={className:"autosizejs",append:"",callback:!1,resizeDelay:10},i='<textarea tabindex="-1" style="position:absolute; top:-999px; left:0; right:auto; bottom:auto; border:0; padding: 0; -moz-box-sizing:content-box; -webkit-box-sizing:content-box; box-sizing:content-box; word-wrap:break-word; height:0 !important; min-height:0 !important; overflow:hidden; transition:none; -webkit-transition:none; -moz-transition:none;"/>',n=["fontFamily","fontSize","fontWeight","fontStyle","letterSpacing","textTransform","wordSpacing","textIndent"],s=e(i).data("autosize",!0)[0];s.style.lineHeight="99px","99px"===e(s).css("lineHeight")&&n.push("lineHeight"),s.style.lineHeight="",e.fn.autosize=function(i){return i=e.extend({},o,i||{}),s.parentNode!==document.body&&e(document.body).append(s),this.each(function(){function o(){var t,o;"getComputedStyle"in window?(t=window.getComputedStyle(h),o=h.getBoundingClientRect().width,e.each(["paddingLeft","paddingRight","borderLeftWidth","borderRightWidth"],function(e,i){o-=parseInt(t[i],10)}),s.style.width=o+"px"):s.style.width=Math.max(p.width(),0)+"px"}function a(){var a={};if(t=h,s.className=i.className,d=parseInt(p.css("maxHeight"),10),e.each(n,function(e,t){a[t]=p.css(t)}),e(s).css(a),o(),window.chrome){var r=h.style.width;h.style.width="0px",h.offsetWidth,h.style.width=r}}function r(){var e,n;t!==h?a():o(),s.value=h.value+i.append,s.style.overflowY=h.style.overflowY,n=parseInt(h.style.height,10),s.scrollTop=0,s.scrollTop=9e4,e=s.scrollTop,d&&e>d?(h.style.overflowY="scroll",e=d):(h.style.overflowY="hidden",c>e&&(e=c)),e+=f,n!==e&&(h.style.height=e+"px",w&&i.callback.call(h,h))}function l(){clearTimeout(u),u=setTimeout(function(){var e=p.width();e!==y&&(y=e,r())},parseInt(i.resizeDelay,10))}var d,c,u,h=this,p=e(h),f=0,w=e.isFunction(i.callback),z={height:h.style.height,overflow:h.style.overflow,overflowY:h.style.overflowY,wordWrap:h.style.wordWrap,resize:h.style.resize},y=p.width();p.data("autosize")||(p.data("autosize",!0),("border-box"===p.css("box-sizing")||"border-box"===p.css("-moz-box-sizing")||"border-box"===p.css("-webkit-box-sizing"))&&(f=p.outerHeight()-p.height()),c=Math.max(parseInt(p.css("minHeight"),10)-f||0,p.height()),p.css({overflow:"hidden",overflowY:"hidden",wordWrap:"break-word",resize:"none"===p.css("resize")||"vertical"===p.css("resize")?"none":"horizontal"}),"onpropertychange"in h?"oninput"in h?p.on("input.autosize keyup.autosize",r):p.on("propertychange.autosize",function(){"value"===event.propertyName&&r()}):p.on("input.autosize",r),i.resizeDelay!==!1&&e(window).on("resize.autosize",l),p.on("autosize.resize",r),p.on("autosize.resizeIncludeStyle",function(){t=null,r()}),p.on("autosize.destroy",function(){t=null,clearTimeout(u),e(window).off("resize",l),p.off("autosize").off(".autosize").css(z).removeData("autosize")}),r())})}});
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/js/jquery.colorbox-min.js b/src/main/webapp/static/login/assets/js/jquery.colorbox-min.js new file mode 100644 index 0000000..230da8f --- /dev/null +++ b/src/main/webapp/static/login/assets/js/jquery.colorbox-min.js @@ -0,0 +1,7 @@ +/*! + Colorbox v1.4.27 - 2013-07-16 + jQuery lightbox and modal window plugin + (c) 2013 Jack Moore - http://www.jacklmoore.com/colorbox + license: http://www.opensource.org/licenses/mit-license.php +*/ +(function(t,e,i){function o(i,o,n){var r=e.createElement(i);return o&&(r.id=te+o),n&&(r.style.cssText=n),t(r)}function n(){return i.innerHeight?i.innerHeight:t(i).height()}function r(t){var e=E.length,i=(j+t)%e;return 0>i?e+i:i}function l(t,e){return Math.round((/%/.test(t)?("x"===e?H.width():n())/100:1)*parseInt(t,10))}function h(t,e){return t.photo||t.photoRegex.test(e)}function s(t,e){return t.retinaUrl&&i.devicePixelRatio>1?e.replace(t.photoRegex,t.retinaSuffix):e}function a(t){"contains"in v[0]&&!v[0].contains(t.target)&&(t.stopPropagation(),v.focus())}function d(){var e,i=t.data(A,Z);null==i?(O=t.extend({},Y),console&&console.log&&console.log("Error: cboxElement missing settings object")):O=t.extend({},i);for(e in O)t.isFunction(O[e])&&"on"!==e.slice(0,2)&&(O[e]=O[e].call(A));O.rel=O.rel||A.rel||t(A).data("rel")||"nofollow",O.href=O.href||t(A).attr("href"),O.title=O.title||A.title,"string"==typeof O.href&&(O.href=t.trim(O.href))}function c(i,o){t(e).trigger(i),se.trigger(i),t.isFunction(o)&&o.call(A)}function u(){var t,e,i,o,n,r=te+"Slideshow_",l="click."+te;O.slideshow&&E[1]?(e=function(){clearTimeout(t)},i=function(){(O.loop||E[j+1])&&(t=setTimeout(J.next,O.slideshowSpeed))},o=function(){R.html(O.slideshowStop).unbind(l).one(l,n),se.bind(ne,i).bind(oe,e).bind(re,n),v.removeClass(r+"off").addClass(r+"on")},n=function(){e(),se.unbind(ne,i).unbind(oe,e).unbind(re,n),R.html(O.slideshowStart).unbind(l).one(l,function(){J.next(),o()}),v.removeClass(r+"on").addClass(r+"off")},O.slideshowAuto?o():n()):v.removeClass(r+"off "+r+"on")}function p(i){G||(A=i,d(),E=t(A),j=0,"nofollow"!==O.rel&&(E=t("."+ee).filter(function(){var e,i=t.data(this,Z);return i&&(e=t(this).data("rel")||i.rel||this.rel),e===O.rel}),j=E.index(A),-1===j&&(E=E.add(A),j=E.length-1)),g.css({opacity:parseFloat(O.opacity),cursor:O.overlayClose?"pointer":"auto",visibility:"visible"}).show(),V&&v.add(g).removeClass(V),O.className&&v.add(g).addClass(O.className),V=O.className,O.closeButton?P.html(O.close).appendTo(x):P.appendTo("<div/>"),$||($=q=!0,v.css({visibility:"hidden",display:"block"}),W=o(ae,"LoadedContent","width:0; height:0; overflow:hidden"),x.css({width:"",height:""}).append(W),_=b.height()+k.height()+x.outerHeight(!0)-x.height(),D=T.width()+C.width()+x.outerWidth(!0)-x.width(),N=W.outerHeight(!0),z=W.outerWidth(!0),O.w=l(O.initialWidth,"x"),O.h=l(O.initialHeight,"y"),J.position(),u(),c(ie,O.onOpen),B.add(S).hide(),v.focus(),O.trapFocus&&e.addEventListener&&(e.addEventListener("focus",a,!0),se.one(le,function(){e.removeEventListener("focus",a,!0)})),O.returnFocus&&se.one(le,function(){t(A).focus()})),w())}function f(){!v&&e.body&&(X=!1,H=t(i),v=o(ae).attr({id:Z,"class":t.support.opacity===!1?te+"IE":"",role:"dialog",tabindex:"-1"}).hide(),g=o(ae,"Overlay").hide(),L=t([o(ae,"LoadingOverlay")[0],o(ae,"LoadingGraphic")[0]]),y=o(ae,"Wrapper"),x=o(ae,"Content").append(S=o(ae,"Title"),M=o(ae,"Current"),K=t('<button type="button"/>').attr({id:te+"Previous"}),I=t('<button type="button"/>').attr({id:te+"Next"}),R=o("button","Slideshow"),L),P=t('<button type="button"/>').attr({id:te+"Close"}),y.append(o(ae).append(o(ae,"TopLeft"),b=o(ae,"TopCenter"),o(ae,"TopRight")),o(ae,!1,"clear:left").append(T=o(ae,"MiddleLeft"),x,C=o(ae,"MiddleRight")),o(ae,!1,"clear:left").append(o(ae,"BottomLeft"),k=o(ae,"BottomCenter"),o(ae,"BottomRight"))).find("div div").css({"float":"left"}),F=o(ae,!1,"position:absolute; width:9999px; visibility:hidden; display:none"),B=I.add(K).add(M).add(R),t(e.body).append(g,v.append(y,F)))}function m(){function i(t){t.which>1||t.shiftKey||t.altKey||t.metaKey||t.ctrlKey||(t.preventDefault(),p(this))}return v?(X||(X=!0,I.click(function(){J.next()}),K.click(function(){J.prev()}),P.click(function(){J.close()}),g.click(function(){O.overlayClose&&J.close()}),t(e).bind("keydown."+te,function(t){var e=t.keyCode;$&&O.escKey&&27===e&&(t.preventDefault(),J.close()),$&&O.arrowKey&&E[1]&&!t.altKey&&(37===e?(t.preventDefault(),K.click()):39===e&&(t.preventDefault(),I.click()))}),t.isFunction(t.fn.on)?t(e).on("click."+te,"."+ee,i):t("."+ee).live("click."+te,i)),!0):!1}function w(){var n,r,a,u=J.prep,p=++de;q=!0,U=!1,A=E[j],d(),c(he),c(oe,O.onLoad),O.h=O.height?l(O.height,"y")-N-_:O.innerHeight&&l(O.innerHeight,"y"),O.w=O.width?l(O.width,"x")-z-D:O.innerWidth&&l(O.innerWidth,"x"),O.mw=O.w,O.mh=O.h,O.maxWidth&&(O.mw=l(O.maxWidth,"x")-z-D,O.mw=O.w&&O.w<O.mw?O.w:O.mw),O.maxHeight&&(O.mh=l(O.maxHeight,"y")-N-_,O.mh=O.h&&O.h<O.mh?O.h:O.mh),n=O.href,Q=setTimeout(function(){L.show()},100),O.inline?(a=o(ae).hide().insertBefore(t(n)[0]),se.one(he,function(){a.replaceWith(W.children())}),u(t(n))):O.iframe?u(" "):O.html?u(O.html):h(O,n)?(n=s(O,n),U=e.createElement("img"),t(U).addClass(te+"Photo").bind("error",function(){O.title=!1,u(o(ae,"Error").html(O.imgError))}).one("load",function(){var e;p===de&&(U.alt=t(A).attr("alt")||t(A).attr("data-alt")||"",O.retinaImage&&i.devicePixelRatio>1&&(U.height=U.height/i.devicePixelRatio,U.width=U.width/i.devicePixelRatio),O.scalePhotos&&(r=function(){U.height-=U.height*e,U.width-=U.width*e},O.mw&&U.width>O.mw&&(e=(U.width-O.mw)/U.width,r()),O.mh&&U.height>O.mh&&(e=(U.height-O.mh)/U.height,r())),O.h&&(U.style.marginTop=Math.max(O.mh-U.height,0)/2+"px"),E[1]&&(O.loop||E[j+1])&&(U.style.cursor="pointer",U.onclick=function(){J.next()}),U.style.width=U.width+"px",U.style.height=U.height+"px",setTimeout(function(){u(U)},1))}),setTimeout(function(){U.src=n},1)):n&&F.load(n,O.data,function(e,i){p===de&&u("error"===i?o(ae,"Error").html(O.xhrError):t(this).contents())})}var g,v,y,x,b,T,C,k,E,H,W,F,L,S,M,R,I,K,P,B,O,_,D,N,z,A,j,U,$,q,G,Q,J,V,X,Y={transition:"elastic",speed:300,fadeOut:300,width:!1,initialWidth:"600",innerWidth:!1,maxWidth:!1,height:!1,initialHeight:"450",innerHeight:!1,maxHeight:!1,scalePhotos:!0,scrolling:!0,inline:!1,html:!1,iframe:!1,fastIframe:!0,photo:!1,href:!1,title:!1,rel:!1,opacity:.9,preloading:!0,className:!1,retinaImage:!1,retinaUrl:!1,retinaSuffix:"@2x.$1",current:"image {current} of {total}",previous:"previous",next:"next",close:"close",xhrError:"This content failed to load.",imgError:"This image failed to load.",open:!1,returnFocus:!0,trapFocus:!0,reposition:!0,loop:!0,slideshow:!1,slideshowAuto:!0,slideshowSpeed:2500,slideshowStart:"start slideshow",slideshowStop:"stop slideshow",photoRegex:/\.(gif|png|jp(e|g|eg)|bmp|ico|webp)((#|\?).*)?$/i,onOpen:!1,onLoad:!1,onComplete:!1,onCleanup:!1,onClosed:!1,overlayClose:!0,escKey:!0,arrowKey:!0,top:!1,bottom:!1,left:!1,right:!1,fixed:!1,data:void 0,closeButton:!0},Z="colorbox",te="cbox",ee=te+"Element",ie=te+"_open",oe=te+"_load",ne=te+"_complete",re=te+"_cleanup",le=te+"_closed",he=te+"_purge",se=t("<a/>"),ae="div",de=0,ce={};t.colorbox||(t(f),J=t.fn[Z]=t[Z]=function(e,i){var o=this;if(e=e||{},f(),m()){if(t.isFunction(o))o=t("<a/>"),e.open=!0;else if(!o[0])return o;i&&(e.onComplete=i),o.each(function(){t.data(this,Z,t.extend({},t.data(this,Z)||Y,e))}).addClass(ee),(t.isFunction(e.open)&&e.open.call(o)||e.open)&&p(o[0])}return o},J.position=function(e,i){function o(){b[0].style.width=k[0].style.width=x[0].style.width=parseInt(v[0].style.width,10)-D+"px",x[0].style.height=T[0].style.height=C[0].style.height=parseInt(v[0].style.height,10)-_+"px"}var r,h,s,a=0,d=0,c=v.offset();if(H.unbind("resize."+te),v.css({top:-9e4,left:-9e4}),h=H.scrollTop(),s=H.scrollLeft(),O.fixed?(c.top-=h,c.left-=s,v.css({position:"fixed"})):(a=h,d=s,v.css({position:"absolute"})),d+=O.right!==!1?Math.max(H.width()-O.w-z-D-l(O.right,"x"),0):O.left!==!1?l(O.left,"x"):Math.round(Math.max(H.width()-O.w-z-D,0)/2),a+=O.bottom!==!1?Math.max(n()-O.h-N-_-l(O.bottom,"y"),0):O.top!==!1?l(O.top,"y"):Math.round(Math.max(n()-O.h-N-_,0)/2),v.css({top:c.top,left:c.left,visibility:"visible"}),y[0].style.width=y[0].style.height="9999px",r={width:O.w+z+D,height:O.h+N+_,top:a,left:d},e){var u=0;t.each(r,function(t){return r[t]!==ce[t]?(u=e,void 0):void 0}),e=u}ce=r,e||v.css(r),v.dequeue().animate(r,{duration:e||0,complete:function(){o(),q=!1,y[0].style.width=O.w+z+D+"px",y[0].style.height=O.h+N+_+"px",O.reposition&&setTimeout(function(){H.bind("resize."+te,J.position)},1),i&&i()},step:o})},J.resize=function(t){var e;$&&(t=t||{},t.width&&(O.w=l(t.width,"x")-z-D),t.innerWidth&&(O.w=l(t.innerWidth,"x")),W.css({width:O.w}),t.height&&(O.h=l(t.height,"y")-N-_),t.innerHeight&&(O.h=l(t.innerHeight,"y")),t.innerHeight||t.height||(e=W.scrollTop(),W.css({height:"auto"}),O.h=W.height()),W.css({height:O.h}),e&&W.scrollTop(e),J.position("none"===O.transition?0:O.speed))},J.prep=function(i){function n(){return O.w=O.w||W.width(),O.w=O.mw&&O.mw<O.w?O.mw:O.w,O.w}function l(){return O.h=O.h||W.height(),O.h=O.mh&&O.mh<O.h?O.mh:O.h,O.h}if($){var a,d="none"===O.transition?0:O.speed;W.empty().remove(),W=o(ae,"LoadedContent").append(i),W.hide().appendTo(F.show()).css({width:n(),overflow:O.scrolling?"auto":"hidden"}).css({height:l()}).prependTo(x),F.hide(),t(U).css({"float":"none"}),a=function(){function i(){t.support.opacity===!1&&v[0].style.removeAttribute("filter")}var n,l,a=E.length,u="frameBorder",p="allowTransparency";$&&(l=function(){clearTimeout(Q),L.hide(),c(ne,O.onComplete)},S.html(O.title).add(W).show(),a>1?("string"==typeof O.current&&M.html(O.current.replace("{current}",j+1).replace("{total}",a)).show(),I[O.loop||a-1>j?"show":"hide"]().html(O.next),K[O.loop||j?"show":"hide"]().html(O.previous),O.slideshow&&R.show(),O.preloading&&t.each([r(-1),r(1)],function(){var i,o,n=E[this],r=t.data(n,Z);r&&r.href?(i=r.href,t.isFunction(i)&&(i=i.call(n))):i=t(n).attr("href"),i&&h(r,i)&&(i=s(r,i),o=e.createElement("img"),o.src=i)})):B.hide(),O.iframe?(n=o("iframe")[0],u in n&&(n[u]=0),p in n&&(n[p]="true"),O.scrolling||(n.scrolling="no"),t(n).attr({src:O.href,name:(new Date).getTime(),"class":te+"Iframe",allowFullScreen:!0,webkitAllowFullScreen:!0,mozallowfullscreen:!0}).one("load",l).appendTo(W),se.one(he,function(){n.src="//about:blank"}),O.fastIframe&&t(n).trigger("load")):l(),"fade"===O.transition?v.fadeTo(d,1,i):i())},"fade"===O.transition?v.fadeTo(d,0,function(){J.position(0,a)}):J.position(d,a)}},J.next=function(){!q&&E[1]&&(O.loop||E[j+1])&&(j=r(1),p(E[j]))},J.prev=function(){!q&&E[1]&&(O.loop||j)&&(j=r(-1),p(E[j]))},J.close=function(){$&&!G&&(G=!0,$=!1,c(re,O.onCleanup),H.unbind("."+te),g.fadeTo(O.fadeOut||0,0),v.stop().fadeTo(O.fadeOut||0,0,function(){v.add(g).css({opacity:1,cursor:"auto"}).hide(),c(he),W.empty().remove(),setTimeout(function(){G=!1,c(le,O.onClosed)},1)}))},J.remove=function(){v&&(v.stop(),t.colorbox.close(),v.stop().remove(),g.remove(),G=!1,v=null,t("."+ee).removeData(Z).removeClass(ee),t(e).unbind("click."+te))},J.element=function(){return t(A)},J.settings=Y)})(jQuery,document,window);
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/js/jquery.dataTables.bootstrap.js b/src/main/webapp/static/login/assets/js/jquery.dataTables.bootstrap.js new file mode 100644 index 0000000..f22dc58 --- /dev/null +++ b/src/main/webapp/static/login/assets/js/jquery.dataTables.bootstrap.js @@ -0,0 +1,100 @@ +//http://datatables.net/plug-ins/pagination#bootstrap
+$.extend( true, $.fn.dataTable.defaults, {
+ "sDom": "<'row'<'col-sm-6'l><'col-sm-6'f>r>t<'row'<'col-sm-6'i><'col-sm-6'p>>",
+ "sPaginationType": "bootstrap",
+ "oLanguage": {
+ "sLengthMenu": "Display _MENU_ records"
+ }
+} );
+
+
+/* API method to get paging information */
+$.fn.dataTableExt.oApi.fnPagingInfo = function ( oSettings )
+{
+ return {
+ "iStart": oSettings._iDisplayStart,
+ "iEnd": oSettings.fnDisplayEnd(),
+ "iLength": oSettings._iDisplayLength,
+ "iTotal": oSettings.fnRecordsTotal(),
+ "iFilteredTotal": oSettings.fnRecordsDisplay(),
+ "iPage": Math.ceil( oSettings._iDisplayStart / oSettings._iDisplayLength ),
+ "iTotalPages": Math.ceil( oSettings.fnRecordsDisplay() / oSettings._iDisplayLength )
+ };
+}
+
+/* Bootstrap style pagination control */
+$.extend( $.fn.dataTableExt.oPagination, {
+ "bootstrap": {
+ "fnInit": function( oSettings, nPaging, fnDraw ) {
+ var oLang = oSettings.oLanguage.oPaginate;
+ var fnClickHandler = function ( e ) {
+ e.preventDefault();
+ if ( oSettings.oApi._fnPageChange(oSettings, e.data.action) ) {
+ fnDraw( oSettings );
+ }
+ };
+
+ $(nPaging).append(
+ '<ul class="pagination">'+
+ '<li class="prev disabled"><a href="#"><i class="icon-double-angle-left"></i></a></li>'+
+ '<li class="next disabled"><a href="#"><i class="icon-double-angle-right"></i></a></li>'+
+ '</ul>'
+ );
+ var els = $('a', nPaging);
+ $(els[0]).bind( 'click.DT', { action: "previous" }, fnClickHandler );
+ $(els[1]).bind( 'click.DT', { action: "next" }, fnClickHandler );
+ },
+
+ "fnUpdate": function ( oSettings, fnDraw ) {
+ var iListLength = 5;
+ var oPaging = oSettings.oInstance.fnPagingInfo();
+ var an = oSettings.aanFeatures.p;
+ var i, j, sClass, iStart, iEnd, iHalf=Math.floor(iListLength/2);
+
+ if ( oPaging.iTotalPages < iListLength) {
+ iStart = 1;
+ iEnd = oPaging.iTotalPages;
+ }
+ else if ( oPaging.iPage <= iHalf ) {
+ iStart = 1;
+ iEnd = iListLength;
+ } else if ( oPaging.iPage >= (oPaging.iTotalPages-iHalf) ) {
+ iStart = oPaging.iTotalPages - iListLength + 1;
+ iEnd = oPaging.iTotalPages;
+ } else {
+ iStart = oPaging.iPage - iHalf + 1;
+ iEnd = iStart + iListLength - 1;
+ }
+
+ for ( i=0, iLen=an.length ; i<iLen ; i++ ) {
+ // Remove the middle elements
+ $('li:gt(0)', an[i]).filter(':not(:last)').remove();
+
+ // Add the new list items and their event handlers
+ for ( j=iStart ; j<=iEnd ; j++ ) {
+ sClass = (j==oPaging.iPage+1) ? 'class="active"' : '';
+ $('<li '+sClass+'><a href="#">'+j+'</a></li>')
+ .insertBefore( $('li:last', an[i])[0] )
+ .bind('click', function (e) {
+ e.preventDefault();
+ oSettings._iDisplayStart = (parseInt($('a', this).text(),10)-1) * oPaging.iLength;
+ fnDraw( oSettings );
+ } );
+ }
+
+ // Add / remove disabled classes from the static elements
+ if ( oPaging.iPage === 0 ) {
+ $('li:first', an[i]).addClass('disabled');
+ } else {
+ $('li:first', an[i]).removeClass('disabled');
+ }
+
+ if ( oPaging.iPage === oPaging.iTotalPages-1 || oPaging.iTotalPages === 0 ) {
+ $('li:last', an[i]).addClass('disabled');
+ } else {
+ $('li:last', an[i]).removeClass('disabled');
+ }
+ }
+ }
+ }
+} );
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/js/jquery.dataTables.min.js b/src/main/webapp/static/login/assets/js/jquery.dataTables.min.js new file mode 100644 index 0000000..f6a38a0 --- /dev/null +++ b/src/main/webapp/static/login/assets/js/jquery.dataTables.min.js @@ -0,0 +1,155 @@ +/*
+ * File: jquery.dataTables.min.js
+ * Version: 1.9.4
+ * Author: Allan Jardine (www.sprymedia.co.uk)
+ * Info: www.datatables.net
+ *
+ * Copyright 2008-2012 Allan Jardine, all rights reserved.
+ *
+ * This source file is free software, under either the GPL v2 license or a
+ * BSD style license, available at:
+ * http://datatables.net/license_gpl2
+ * http://datatables.net/license_bsd
+ *
+ * This source file is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details.
+ */
+(function(X,l,n){var L=function(h){var j=function(e){function o(a,b){var c=j.defaults.columns,d=a.aoColumns.length,c=h.extend({},j.models.oColumn,c,{sSortingClass:a.oClasses.sSortable,sSortingClassJUI:a.oClasses.sSortJUI,nTh:b?b:l.createElement("th"),sTitle:c.sTitle?c.sTitle:b?b.innerHTML:"",aDataSort:c.aDataSort?c.aDataSort:[d],mData:c.mData?c.oDefaults:d});a.aoColumns.push(c);if(a.aoPreSearchCols[d]===n||null===a.aoPreSearchCols[d])a.aoPreSearchCols[d]=h.extend({},j.models.oSearch);else if(c=a.aoPreSearchCols[d],
+c.bRegex===n&&(c.bRegex=!0),c.bSmart===n&&(c.bSmart=!0),c.bCaseInsensitive===n)c.bCaseInsensitive=!0;m(a,d,null)}function m(a,b,c){var d=a.aoColumns[b];c!==n&&null!==c&&(c.mDataProp&&!c.mData&&(c.mData=c.mDataProp),c.sType!==n&&(d.sType=c.sType,d._bAutoType=!1),h.extend(d,c),p(d,c,"sWidth","sWidthOrig"),c.iDataSort!==n&&(d.aDataSort=[c.iDataSort]),p(d,c,"aDataSort"));var i=d.mRender?Q(d.mRender):null,f=Q(d.mData);d.fnGetData=function(a,b){var c=f(a,b);return d.mRender&&b&&""!==b?i(c,b,a):c};d.fnSetData=
+L(d.mData);a.oFeatures.bSort||(d.bSortable=!1);!d.bSortable||-1==h.inArray("asc",d.asSorting)&&-1==h.inArray("desc",d.asSorting)?(d.sSortingClass=a.oClasses.sSortableNone,d.sSortingClassJUI=""):-1==h.inArray("asc",d.asSorting)&&-1==h.inArray("desc",d.asSorting)?(d.sSortingClass=a.oClasses.sSortable,d.sSortingClassJUI=a.oClasses.sSortJUI):-1!=h.inArray("asc",d.asSorting)&&-1==h.inArray("desc",d.asSorting)?(d.sSortingClass=a.oClasses.sSortableAsc,d.sSortingClassJUI=a.oClasses.sSortJUIAscAllowed):-1==
+h.inArray("asc",d.asSorting)&&-1!=h.inArray("desc",d.asSorting)&&(d.sSortingClass=a.oClasses.sSortableDesc,d.sSortingClassJUI=a.oClasses.sSortJUIDescAllowed)}function k(a){if(!1===a.oFeatures.bAutoWidth)return!1;da(a);for(var b=0,c=a.aoColumns.length;b<c;b++)a.aoColumns[b].nTh.style.width=a.aoColumns[b].sWidth}function G(a,b){var c=r(a,"bVisible");return"number"===typeof c[b]?c[b]:null}function R(a,b){var c=r(a,"bVisible"),c=h.inArray(b,c);return-1!==c?c:null}function t(a){return r(a,"bVisible").length}
+function r(a,b){var c=[];h.map(a.aoColumns,function(a,i){a[b]&&c.push(i)});return c}function B(a){for(var b=j.ext.aTypes,c=b.length,d=0;d<c;d++){var i=b[d](a);if(null!==i)return i}return"string"}function u(a,b){for(var c=b.split(","),d=[],i=0,f=a.aoColumns.length;i<f;i++)for(var g=0;g<f;g++)if(a.aoColumns[i].sName==c[g]){d.push(g);break}return d}function M(a){for(var b="",c=0,d=a.aoColumns.length;c<d;c++)b+=a.aoColumns[c].sName+",";return b.length==d?"":b.slice(0,-1)}function ta(a,b,c,d){var i,f,
+g,e,w;if(b)for(i=b.length-1;0<=i;i--){var j=b[i].aTargets;h.isArray(j)||D(a,1,"aTargets must be an array of targets, not a "+typeof j);f=0;for(g=j.length;f<g;f++)if("number"===typeof j[f]&&0<=j[f]){for(;a.aoColumns.length<=j[f];)o(a);d(j[f],b[i])}else if("number"===typeof j[f]&&0>j[f])d(a.aoColumns.length+j[f],b[i]);else if("string"===typeof j[f]){e=0;for(w=a.aoColumns.length;e<w;e++)("_all"==j[f]||h(a.aoColumns[e].nTh).hasClass(j[f]))&&d(e,b[i])}}if(c){i=0;for(a=c.length;i<a;i++)d(i,c[i])}}function H(a,
+b){var c;c=h.isArray(b)?b.slice():h.extend(!0,{},b);var d=a.aoData.length,i=h.extend(!0,{},j.models.oRow);i._aData=c;a.aoData.push(i);for(var f,i=0,g=a.aoColumns.length;i<g;i++)c=a.aoColumns[i],"function"===typeof c.fnRender&&c.bUseRendered&&null!==c.mData?F(a,d,i,S(a,d,i)):F(a,d,i,v(a,d,i)),c._bAutoType&&"string"!=c.sType&&(f=v(a,d,i,"type"),null!==f&&""!==f&&(f=B(f),null===c.sType?c.sType=f:c.sType!=f&&"html"!=c.sType&&(c.sType="string")));a.aiDisplayMaster.push(d);a.oFeatures.bDeferRender||ea(a,
+d);return d}function ua(a){var b,c,d,i,f,g,e;if(a.bDeferLoading||null===a.sAjaxSource)for(b=a.nTBody.firstChild;b;){if("TR"==b.nodeName.toUpperCase()){c=a.aoData.length;b._DT_RowIndex=c;a.aoData.push(h.extend(!0,{},j.models.oRow,{nTr:b}));a.aiDisplayMaster.push(c);f=b.firstChild;for(d=0;f;){g=f.nodeName.toUpperCase();if("TD"==g||"TH"==g)F(a,c,d,h.trim(f.innerHTML)),d++;f=f.nextSibling}}b=b.nextSibling}i=T(a);d=[];b=0;for(c=i.length;b<c;b++)for(f=i[b].firstChild;f;)g=f.nodeName.toUpperCase(),("TD"==
+g||"TH"==g)&&d.push(f),f=f.nextSibling;c=0;for(i=a.aoColumns.length;c<i;c++){e=a.aoColumns[c];null===e.sTitle&&(e.sTitle=e.nTh.innerHTML);var w=e._bAutoType,o="function"===typeof e.fnRender,k=null!==e.sClass,n=e.bVisible,m,p;if(w||o||k||!n){g=0;for(b=a.aoData.length;g<b;g++)f=a.aoData[g],m=d[g*i+c],w&&"string"!=e.sType&&(p=v(a,g,c,"type"),""!==p&&(p=B(p),null===e.sType?e.sType=p:e.sType!=p&&"html"!=e.sType&&(e.sType="string"))),e.mRender?m.innerHTML=v(a,g,c,"display"):e.mData!==c&&(m.innerHTML=v(a,
+g,c,"display")),o&&(p=S(a,g,c),m.innerHTML=p,e.bUseRendered&&F(a,g,c,p)),k&&(m.className+=" "+e.sClass),n?f._anHidden[c]=null:(f._anHidden[c]=m,m.parentNode.removeChild(m)),e.fnCreatedCell&&e.fnCreatedCell.call(a.oInstance,m,v(a,g,c,"display"),f._aData,g,c)}}if(0!==a.aoRowCreatedCallback.length){b=0;for(c=a.aoData.length;b<c;b++)f=a.aoData[b],A(a,"aoRowCreatedCallback",null,[f.nTr,f._aData,b])}}function I(a,b){return b._DT_RowIndex!==n?b._DT_RowIndex:null}function fa(a,b,c){for(var b=J(a,b),d=0,a=
+a.aoColumns.length;d<a;d++)if(b[d]===c)return d;return-1}function Y(a,b,c,d){for(var i=[],f=0,g=d.length;f<g;f++)i.push(v(a,b,d[f],c));return i}function v(a,b,c,d){var i=a.aoColumns[c];if((c=i.fnGetData(a.aoData[b]._aData,d))===n)return a.iDrawError!=a.iDraw&&null===i.sDefaultContent&&(D(a,0,"Requested unknown parameter "+("function"==typeof i.mData?"{mData function}":"'"+i.mData+"'")+" from the data source for row "+b),a.iDrawError=a.iDraw),i.sDefaultContent;if(null===c&&null!==i.sDefaultContent)c=
+i.sDefaultContent;else if("function"===typeof c)return c();return"display"==d&&null===c?"":c}function F(a,b,c,d){a.aoColumns[c].fnSetData(a.aoData[b]._aData,d)}function Q(a){if(null===a)return function(){return null};if("function"===typeof a)return function(b,d,i){return a(b,d,i)};if("string"===typeof a&&(-1!==a.indexOf(".")||-1!==a.indexOf("["))){var b=function(a,d,i){var f=i.split("."),g;if(""!==i){var e=0;for(g=f.length;e<g;e++){if(i=f[e].match(U)){f[e]=f[e].replace(U,"");""!==f[e]&&(a=a[f[e]]);
+g=[];f.splice(0,e+1);for(var f=f.join("."),e=0,h=a.length;e<h;e++)g.push(b(a[e],d,f));a=i[0].substring(1,i[0].length-1);a=""===a?g:g.join(a);break}if(null===a||a[f[e]]===n)return n;a=a[f[e]]}}return a};return function(c,d){return b(c,d,a)}}return function(b){return b[a]}}function L(a){if(null===a)return function(){};if("function"===typeof a)return function(b,d){a(b,"set",d)};if("string"===typeof a&&(-1!==a.indexOf(".")||-1!==a.indexOf("["))){var b=function(a,d,i){var i=i.split("."),f,g,e=0;for(g=
+i.length-1;e<g;e++){if(f=i[e].match(U)){i[e]=i[e].replace(U,"");a[i[e]]=[];f=i.slice();f.splice(0,e+1);g=f.join(".");for(var h=0,j=d.length;h<j;h++)f={},b(f,d[h],g),a[i[e]].push(f);return}if(null===a[i[e]]||a[i[e]]===n)a[i[e]]={};a=a[i[e]]}a[i[i.length-1].replace(U,"")]=d};return function(c,d){return b(c,d,a)}}return function(b,d){b[a]=d}}function Z(a){for(var b=[],c=a.aoData.length,d=0;d<c;d++)b.push(a.aoData[d]._aData);return b}function ga(a){a.aoData.splice(0,a.aoData.length);a.aiDisplayMaster.splice(0,
+a.aiDisplayMaster.length);a.aiDisplay.splice(0,a.aiDisplay.length);y(a)}function ha(a,b){for(var c=-1,d=0,i=a.length;d<i;d++)a[d]==b?c=d:a[d]>b&&a[d]--; -1!=c&&a.splice(c,1)}function S(a,b,c){var d=a.aoColumns[c];return d.fnRender({iDataRow:b,iDataColumn:c,oSettings:a,aData:a.aoData[b]._aData,mDataProp:d.mData},v(a,b,c,"display"))}function ea(a,b){var c=a.aoData[b],d;if(null===c.nTr){c.nTr=l.createElement("tr");c.nTr._DT_RowIndex=b;c._aData.DT_RowId&&(c.nTr.id=c._aData.DT_RowId);c._aData.DT_RowClass&&
+(c.nTr.className=c._aData.DT_RowClass);for(var i=0,f=a.aoColumns.length;i<f;i++){var g=a.aoColumns[i];d=l.createElement(g.sCellType);d.innerHTML="function"===typeof g.fnRender&&(!g.bUseRendered||null===g.mData)?S(a,b,i):v(a,b,i,"display");null!==g.sClass&&(d.className=g.sClass);g.bVisible?(c.nTr.appendChild(d),c._anHidden[i]=null):c._anHidden[i]=d;g.fnCreatedCell&&g.fnCreatedCell.call(a.oInstance,d,v(a,b,i,"display"),c._aData,b,i)}A(a,"aoRowCreatedCallback",null,[c.nTr,c._aData,b])}}function va(a){var b,
+c,d;if(0!==h("th, td",a.nTHead).length){b=0;for(d=a.aoColumns.length;b<d;b++)if(c=a.aoColumns[b].nTh,c.setAttribute("role","columnheader"),a.aoColumns[b].bSortable&&(c.setAttribute("tabindex",a.iTabIndex),c.setAttribute("aria-controls",a.sTableId)),null!==a.aoColumns[b].sClass&&h(c).addClass(a.aoColumns[b].sClass),a.aoColumns[b].sTitle!=c.innerHTML)c.innerHTML=a.aoColumns[b].sTitle}else{var i=l.createElement("tr");b=0;for(d=a.aoColumns.length;b<d;b++)c=a.aoColumns[b].nTh,c.innerHTML=a.aoColumns[b].sTitle,
+c.setAttribute("tabindex","0"),null!==a.aoColumns[b].sClass&&h(c).addClass(a.aoColumns[b].sClass),i.appendChild(c);h(a.nTHead).html("")[0].appendChild(i);V(a.aoHeader,a.nTHead)}h(a.nTHead).children("tr").attr("role","row");if(a.bJUI){b=0;for(d=a.aoColumns.length;b<d;b++){c=a.aoColumns[b].nTh;i=l.createElement("div");i.className=a.oClasses.sSortJUIWrapper;h(c).contents().appendTo(i);var f=l.createElement("span");f.className=a.oClasses.sSortIcon;i.appendChild(f);c.appendChild(i)}}if(a.oFeatures.bSort)for(b=
+0;b<a.aoColumns.length;b++)!1!==a.aoColumns[b].bSortable?ia(a,a.aoColumns[b].nTh,b):h(a.aoColumns[b].nTh).addClass(a.oClasses.sSortableNone);""!==a.oClasses.sFooterTH&&h(a.nTFoot).children("tr").children("th").addClass(a.oClasses.sFooterTH);if(null!==a.nTFoot){c=N(a,null,a.aoFooter);b=0;for(d=a.aoColumns.length;b<d;b++)c[b]&&(a.aoColumns[b].nTf=c[b],a.aoColumns[b].sClass&&h(c[b]).addClass(a.aoColumns[b].sClass))}}function W(a,b,c){var d,i,f,g=[],e=[],h=a.aoColumns.length,j;c===n&&(c=!1);d=0;for(i=
+b.length;d<i;d++){g[d]=b[d].slice();g[d].nTr=b[d].nTr;for(f=h-1;0<=f;f--)!a.aoColumns[f].bVisible&&!c&&g[d].splice(f,1);e.push([])}d=0;for(i=g.length;d<i;d++){if(a=g[d].nTr)for(;f=a.firstChild;)a.removeChild(f);f=0;for(b=g[d].length;f<b;f++)if(j=h=1,e[d][f]===n){a.appendChild(g[d][f].cell);for(e[d][f]=1;g[d+h]!==n&&g[d][f].cell==g[d+h][f].cell;)e[d+h][f]=1,h++;for(;g[d][f+j]!==n&&g[d][f].cell==g[d][f+j].cell;){for(c=0;c<h;c++)e[d+c][f+j]=1;j++}g[d][f].cell.rowSpan=h;g[d][f].cell.colSpan=j}}}function x(a){var b=
+A(a,"aoPreDrawCallback","preDraw",[a]);if(-1!==h.inArray(!1,b))E(a,!1);else{var c,d,b=[],i=0,f=a.asStripeClasses.length;c=a.aoOpenRows.length;a.bDrawing=!0;a.iInitDisplayStart!==n&&-1!=a.iInitDisplayStart&&(a._iDisplayStart=a.oFeatures.bServerSide?a.iInitDisplayStart:a.iInitDisplayStart>=a.fnRecordsDisplay()?0:a.iInitDisplayStart,a.iInitDisplayStart=-1,y(a));if(a.bDeferLoading)a.bDeferLoading=!1,a.iDraw++;else if(a.oFeatures.bServerSide){if(!a.bDestroying&&!wa(a))return}else a.iDraw++;if(0!==a.aiDisplay.length){var g=
+a._iDisplayStart;d=a._iDisplayEnd;a.oFeatures.bServerSide&&(g=0,d=a.aoData.length);for(;g<d;g++){var e=a.aoData[a.aiDisplay[g]];null===e.nTr&&ea(a,a.aiDisplay[g]);var j=e.nTr;if(0!==f){var o=a.asStripeClasses[i%f];e._sRowStripe!=o&&(h(j).removeClass(e._sRowStripe).addClass(o),e._sRowStripe=o)}A(a,"aoRowCallback",null,[j,a.aoData[a.aiDisplay[g]]._aData,i,g]);b.push(j);i++;if(0!==c)for(e=0;e<c;e++)if(j==a.aoOpenRows[e].nParent){b.push(a.aoOpenRows[e].nTr);break}}}else b[0]=l.createElement("tr"),a.asStripeClasses[0]&&
+(b[0].className=a.asStripeClasses[0]),c=a.oLanguage,f=c.sZeroRecords,1==a.iDraw&&null!==a.sAjaxSource&&!a.oFeatures.bServerSide?f=c.sLoadingRecords:c.sEmptyTable&&0===a.fnRecordsTotal()&&(f=c.sEmptyTable),c=l.createElement("td"),c.setAttribute("valign","top"),c.colSpan=t(a),c.className=a.oClasses.sRowEmpty,c.innerHTML=ja(a,f),b[i].appendChild(c);A(a,"aoHeaderCallback","header",[h(a.nTHead).children("tr")[0],Z(a),a._iDisplayStart,a.fnDisplayEnd(),a.aiDisplay]);A(a,"aoFooterCallback","footer",[h(a.nTFoot).children("tr")[0],
+Z(a),a._iDisplayStart,a.fnDisplayEnd(),a.aiDisplay]);i=l.createDocumentFragment();c=l.createDocumentFragment();if(a.nTBody){f=a.nTBody.parentNode;c.appendChild(a.nTBody);if(!a.oScroll.bInfinite||!a._bInitComplete||a.bSorted||a.bFiltered)for(;c=a.nTBody.firstChild;)a.nTBody.removeChild(c);c=0;for(d=b.length;c<d;c++)i.appendChild(b[c]);a.nTBody.appendChild(i);null!==f&&f.appendChild(a.nTBody)}A(a,"aoDrawCallback","draw",[a]);a.bSorted=!1;a.bFiltered=!1;a.bDrawing=!1;a.oFeatures.bServerSide&&(E(a,!1),
+a._bInitComplete||$(a))}}function aa(a){a.oFeatures.bSort?O(a,a.oPreviousSearch):a.oFeatures.bFilter?K(a,a.oPreviousSearch):(y(a),x(a))}function xa(a){var b=h("<div></div>")[0];a.nTable.parentNode.insertBefore(b,a.nTable);a.nTableWrapper=h('<div id="'+a.sTableId+'_wrapper" class="'+a.oClasses.sWrapper+'" role="grid"></div>')[0];a.nTableReinsertBefore=a.nTable.nextSibling;for(var c=a.nTableWrapper,d=a.sDom.split(""),i,f,g,e,w,o,k,m=0;m<d.length;m++){f=0;g=d[m];if("<"==g){e=h("<div></div>")[0];w=d[m+
+1];if("'"==w||'"'==w){o="";for(k=2;d[m+k]!=w;)o+=d[m+k],k++;"H"==o?o=a.oClasses.sJUIHeader:"F"==o&&(o=a.oClasses.sJUIFooter);-1!=o.indexOf(".")?(w=o.split("."),e.id=w[0].substr(1,w[0].length-1),e.className=w[1]):"#"==o.charAt(0)?e.id=o.substr(1,o.length-1):e.className=o;m+=k}c.appendChild(e);c=e}else if(">"==g)c=c.parentNode;else if("l"==g&&a.oFeatures.bPaginate&&a.oFeatures.bLengthChange)i=ya(a),f=1;else if("f"==g&&a.oFeatures.bFilter)i=za(a),f=1;else if("r"==g&&a.oFeatures.bProcessing)i=Aa(a),f=
+1;else if("t"==g)i=Ba(a),f=1;else if("i"==g&&a.oFeatures.bInfo)i=Ca(a),f=1;else if("p"==g&&a.oFeatures.bPaginate)i=Da(a),f=1;else if(0!==j.ext.aoFeatures.length){e=j.ext.aoFeatures;k=0;for(w=e.length;k<w;k++)if(g==e[k].cFeature){(i=e[k].fnInit(a))&&(f=1);break}}1==f&&null!==i&&("object"!==typeof a.aanFeatures[g]&&(a.aanFeatures[g]=[]),a.aanFeatures[g].push(i),c.appendChild(i))}b.parentNode.replaceChild(a.nTableWrapper,b)}function V(a,b){var c=h(b).children("tr"),d,i,f,g,e,j,o,k,m,p;a.splice(0,a.length);
+f=0;for(j=c.length;f<j;f++)a.push([]);f=0;for(j=c.length;f<j;f++){d=c[f];for(i=d.firstChild;i;){if("TD"==i.nodeName.toUpperCase()||"TH"==i.nodeName.toUpperCase()){k=1*i.getAttribute("colspan");m=1*i.getAttribute("rowspan");k=!k||0===k||1===k?1:k;m=!m||0===m||1===m?1:m;g=0;for(e=a[f];e[g];)g++;o=g;p=1===k?!0:!1;for(e=0;e<k;e++)for(g=0;g<m;g++)a[f+g][o+e]={cell:i,unique:p},a[f+g].nTr=d}i=i.nextSibling}}}function N(a,b,c){var d=[];c||(c=a.aoHeader,b&&(c=[],V(c,b)));for(var b=0,i=c.length;b<i;b++)for(var f=
+0,g=c[b].length;f<g;f++)if(c[b][f].unique&&(!d[f]||!a.bSortCellsTop))d[f]=c[b][f].cell;return d}function wa(a){if(a.bAjaxDataGet){a.iDraw++;E(a,!0);var b=Ea(a);ka(a,b);a.fnServerData.call(a.oInstance,a.sAjaxSource,b,function(b){Fa(a,b)},a);return!1}return!0}function Ea(a){var b=a.aoColumns.length,c=[],d,i,f,g;c.push({name:"sEcho",value:a.iDraw});c.push({name:"iColumns",value:b});c.push({name:"sColumns",value:M(a)});c.push({name:"iDisplayStart",value:a._iDisplayStart});c.push({name:"iDisplayLength",
+value:!1!==a.oFeatures.bPaginate?a._iDisplayLength:-1});for(f=0;f<b;f++)d=a.aoColumns[f].mData,c.push({name:"mDataProp_"+f,value:"function"===typeof d?"function":d});if(!1!==a.oFeatures.bFilter){c.push({name:"sSearch",value:a.oPreviousSearch.sSearch});c.push({name:"bRegex",value:a.oPreviousSearch.bRegex});for(f=0;f<b;f++)c.push({name:"sSearch_"+f,value:a.aoPreSearchCols[f].sSearch}),c.push({name:"bRegex_"+f,value:a.aoPreSearchCols[f].bRegex}),c.push({name:"bSearchable_"+f,value:a.aoColumns[f].bSearchable})}if(!1!==
+a.oFeatures.bSort){var e=0;d=null!==a.aaSortingFixed?a.aaSortingFixed.concat(a.aaSorting):a.aaSorting.slice();for(f=0;f<d.length;f++){i=a.aoColumns[d[f][0]].aDataSort;for(g=0;g<i.length;g++)c.push({name:"iSortCol_"+e,value:i[g]}),c.push({name:"sSortDir_"+e,value:d[f][1]}),e++}c.push({name:"iSortingCols",value:e});for(f=0;f<b;f++)c.push({name:"bSortable_"+f,value:a.aoColumns[f].bSortable})}return c}function ka(a,b){A(a,"aoServerParams","serverParams",[b])}function Fa(a,b){if(b.sEcho!==n){if(1*b.sEcho<
+a.iDraw)return;a.iDraw=1*b.sEcho}(!a.oScroll.bInfinite||a.oScroll.bInfinite&&(a.bSorted||a.bFiltered))&&ga(a);a._iRecordsTotal=parseInt(b.iTotalRecords,10);a._iRecordsDisplay=parseInt(b.iTotalDisplayRecords,10);var c=M(a),c=b.sColumns!==n&&""!==c&&b.sColumns!=c,d;c&&(d=u(a,b.sColumns));for(var i=Q(a.sAjaxDataProp)(b),f=0,g=i.length;f<g;f++)if(c){for(var e=[],h=0,j=a.aoColumns.length;h<j;h++)e.push(i[f][d[h]]);H(a,e)}else H(a,i[f]);a.aiDisplay=a.aiDisplayMaster.slice();a.bAjaxDataGet=!1;x(a);a.bAjaxDataGet=
+!0;E(a,!1)}function za(a){var b=a.oPreviousSearch,c=a.oLanguage.sSearch,c=-1!==c.indexOf("_INPUT_")?c.replace("_INPUT_",'<input type="text" />'):""===c?'<input type="text" />':c+' <input type="text" />',d=l.createElement("div");d.className=a.oClasses.sFilter;d.innerHTML="<label>"+c+"</label>";a.aanFeatures.f||(d.id=a.sTableId+"_filter");c=h('input[type="text"]',d);d._DT_Input=c[0];c.val(b.sSearch.replace('"',"""));c.bind("keyup.DT",function(){for(var c=a.aanFeatures.f,d=this.value===""?"":this.value,
+g=0,e=c.length;g<e;g++)c[g]!=h(this).parents("div.dataTables_filter")[0]&&h(c[g]._DT_Input).val(d);d!=b.sSearch&&K(a,{sSearch:d,bRegex:b.bRegex,bSmart:b.bSmart,bCaseInsensitive:b.bCaseInsensitive})});c.attr("aria-controls",a.sTableId).bind("keypress.DT",function(a){if(a.keyCode==13)return false});return d}function K(a,b,c){var d=a.oPreviousSearch,i=a.aoPreSearchCols,f=function(a){d.sSearch=a.sSearch;d.bRegex=a.bRegex;d.bSmart=a.bSmart;d.bCaseInsensitive=a.bCaseInsensitive};if(a.oFeatures.bServerSide)f(b);
+else{Ga(a,b.sSearch,c,b.bRegex,b.bSmart,b.bCaseInsensitive);f(b);for(b=0;b<a.aoPreSearchCols.length;b++)Ha(a,i[b].sSearch,b,i[b].bRegex,i[b].bSmart,i[b].bCaseInsensitive);Ia(a)}a.bFiltered=!0;h(a.oInstance).trigger("filter",a);a._iDisplayStart=0;y(a);x(a);la(a,0)}function Ia(a){for(var b=j.ext.afnFiltering,c=r(a,"bSearchable"),d=0,i=b.length;d<i;d++)for(var f=0,g=0,e=a.aiDisplay.length;g<e;g++){var h=a.aiDisplay[g-f];b[d](a,Y(a,h,"filter",c),h)||(a.aiDisplay.splice(g-f,1),f++)}}function Ha(a,b,c,
+d,i,f){if(""!==b)for(var g=0,b=ma(b,d,i,f),d=a.aiDisplay.length-1;0<=d;d--)i=Ja(v(a,a.aiDisplay[d],c,"filter"),a.aoColumns[c].sType),b.test(i)||(a.aiDisplay.splice(d,1),g++)}function Ga(a,b,c,d,i,f){d=ma(b,d,i,f);i=a.oPreviousSearch;c||(c=0);0!==j.ext.afnFiltering.length&&(c=1);if(0>=b.length)a.aiDisplay.splice(0,a.aiDisplay.length),a.aiDisplay=a.aiDisplayMaster.slice();else if(a.aiDisplay.length==a.aiDisplayMaster.length||i.sSearch.length>b.length||1==c||0!==b.indexOf(i.sSearch)){a.aiDisplay.splice(0,
+a.aiDisplay.length);la(a,1);for(b=0;b<a.aiDisplayMaster.length;b++)d.test(a.asDataSearch[b])&&a.aiDisplay.push(a.aiDisplayMaster[b])}else for(b=c=0;b<a.asDataSearch.length;b++)d.test(a.asDataSearch[b])||(a.aiDisplay.splice(b-c,1),c++)}function la(a,b){if(!a.oFeatures.bServerSide){a.asDataSearch=[];for(var c=r(a,"bSearchable"),d=1===b?a.aiDisplayMaster:a.aiDisplay,i=0,f=d.length;i<f;i++)a.asDataSearch[i]=na(a,Y(a,d[i],"filter",c))}}function na(a,b){var c=b.join(" ");-1!==c.indexOf("&")&&(c=h("<div>").html(c).text());
+return c.replace(/[\n\r]/g," ")}function ma(a,b,c,d){if(c)return a=b?a.split(" "):oa(a).split(" "),a="^(?=.*?"+a.join(")(?=.*?")+").*$",RegExp(a,d?"i":"");a=b?a:oa(a);return RegExp(a,d?"i":"")}function Ja(a,b){return"function"===typeof j.ext.ofnSearch[b]?j.ext.ofnSearch[b](a):null===a?"":"html"==b?a.replace(/[\r\n]/g," ").replace(/<.*?>/g,""):"string"===typeof a?a.replace(/[\r\n]/g," "):a}function oa(a){return a.replace(RegExp("(\\/|\\.|\\*|\\+|\\?|\\||\\(|\\)|\\[|\\]|\\{|\\}|\\\\|\\$|\\^|\\-)","g"),
+"\\$1")}function Ca(a){var b=l.createElement("div");b.className=a.oClasses.sInfo;a.aanFeatures.i||(a.aoDrawCallback.push({fn:Ka,sName:"information"}),b.id=a.sTableId+"_info");a.nTable.setAttribute("aria-describedby",a.sTableId+"_info");return b}function Ka(a){if(a.oFeatures.bInfo&&0!==a.aanFeatures.i.length){var b=a.oLanguage,c=a._iDisplayStart+1,d=a.fnDisplayEnd(),i=a.fnRecordsTotal(),f=a.fnRecordsDisplay(),g;g=0===f?b.sInfoEmpty:b.sInfo;f!=i&&(g+=" "+b.sInfoFiltered);g+=b.sInfoPostFix;g=ja(a,g);
+null!==b.fnInfoCallback&&(g=b.fnInfoCallback.call(a.oInstance,a,c,d,i,f,g));a=a.aanFeatures.i;b=0;for(c=a.length;b<c;b++)h(a[b]).html(g)}}function ja(a,b){var c=a.fnFormatNumber(a._iDisplayStart+1),d=a.fnDisplayEnd(),d=a.fnFormatNumber(d),i=a.fnRecordsDisplay(),i=a.fnFormatNumber(i),f=a.fnRecordsTotal(),f=a.fnFormatNumber(f);a.oScroll.bInfinite&&(c=a.fnFormatNumber(1));return b.replace(/_START_/g,c).replace(/_END_/g,d).replace(/_TOTAL_/g,i).replace(/_MAX_/g,f)}function ba(a){var b,c,d=a.iInitDisplayStart;
+if(!1===a.bInitialised)setTimeout(function(){ba(a)},200);else{xa(a);va(a);W(a,a.aoHeader);a.nTFoot&&W(a,a.aoFooter);E(a,!0);a.oFeatures.bAutoWidth&&da(a);b=0;for(c=a.aoColumns.length;b<c;b++)null!==a.aoColumns[b].sWidth&&(a.aoColumns[b].nTh.style.width=q(a.aoColumns[b].sWidth));a.oFeatures.bSort?O(a):a.oFeatures.bFilter?K(a,a.oPreviousSearch):(a.aiDisplay=a.aiDisplayMaster.slice(),y(a),x(a));null!==a.sAjaxSource&&!a.oFeatures.bServerSide?(c=[],ka(a,c),a.fnServerData.call(a.oInstance,a.sAjaxSource,
+c,function(c){var f=a.sAjaxDataProp!==""?Q(a.sAjaxDataProp)(c):c;for(b=0;b<f.length;b++)H(a,f[b]);a.iInitDisplayStart=d;if(a.oFeatures.bSort)O(a);else{a.aiDisplay=a.aiDisplayMaster.slice();y(a);x(a)}E(a,false);$(a,c)},a)):a.oFeatures.bServerSide||(E(a,!1),$(a))}}function $(a,b){a._bInitComplete=!0;A(a,"aoInitComplete","init",[a,b])}function pa(a){var b=j.defaults.oLanguage;!a.sEmptyTable&&(a.sZeroRecords&&"No data available in table"===b.sEmptyTable)&&p(a,a,"sZeroRecords","sEmptyTable");!a.sLoadingRecords&&
+(a.sZeroRecords&&"Loading..."===b.sLoadingRecords)&&p(a,a,"sZeroRecords","sLoadingRecords")}function ya(a){if(a.oScroll.bInfinite)return null;var b='<select size="1" '+('name="'+a.sTableId+'_length"')+">",c,d,i=a.aLengthMenu;if(2==i.length&&"object"===typeof i[0]&&"object"===typeof i[1]){c=0;for(d=i[0].length;c<d;c++)b+='<option value="'+i[0][c]+'">'+i[1][c]+"</option>"}else{c=0;for(d=i.length;c<d;c++)b+='<option value="'+i[c]+'">'+i[c]+"</option>"}b+="</select>";i=l.createElement("div");a.aanFeatures.l||
+(i.id=a.sTableId+"_length");i.className=a.oClasses.sLength;i.innerHTML="<label>"+a.oLanguage.sLengthMenu.replace("_MENU_",b)+"</label>";h('select option[value="'+a._iDisplayLength+'"]',i).attr("selected",!0);h("select",i).bind("change.DT",function(){var b=h(this).val(),i=a.aanFeatures.l;c=0;for(d=i.length;c<d;c++)i[c]!=this.parentNode&&h("select",i[c]).val(b);a._iDisplayLength=parseInt(b,10);y(a);if(a.fnDisplayEnd()==a.fnRecordsDisplay()){a._iDisplayStart=a.fnDisplayEnd()-a._iDisplayLength;if(a._iDisplayStart<
+0)a._iDisplayStart=0}if(a._iDisplayLength==-1)a._iDisplayStart=0;x(a)});h("select",i).attr("aria-controls",a.sTableId);return i}function y(a){a._iDisplayEnd=!1===a.oFeatures.bPaginate?a.aiDisplay.length:a._iDisplayStart+a._iDisplayLength>a.aiDisplay.length||-1==a._iDisplayLength?a.aiDisplay.length:a._iDisplayStart+a._iDisplayLength}function Da(a){if(a.oScroll.bInfinite)return null;var b=l.createElement("div");b.className=a.oClasses.sPaging+a.sPaginationType;j.ext.oPagination[a.sPaginationType].fnInit(a,
+b,function(a){y(a);x(a)});a.aanFeatures.p||a.aoDrawCallback.push({fn:function(a){j.ext.oPagination[a.sPaginationType].fnUpdate(a,function(a){y(a);x(a)})},sName:"pagination"});return b}function qa(a,b){var c=a._iDisplayStart;if("number"===typeof b)a._iDisplayStart=b*a._iDisplayLength,a._iDisplayStart>a.fnRecordsDisplay()&&(a._iDisplayStart=0);else if("first"==b)a._iDisplayStart=0;else if("previous"==b)a._iDisplayStart=0<=a._iDisplayLength?a._iDisplayStart-a._iDisplayLength:0,0>a._iDisplayStart&&(a._iDisplayStart=
+0);else if("next"==b)0<=a._iDisplayLength?a._iDisplayStart+a._iDisplayLength<a.fnRecordsDisplay()&&(a._iDisplayStart+=a._iDisplayLength):a._iDisplayStart=0;else if("last"==b)if(0<=a._iDisplayLength){var d=parseInt((a.fnRecordsDisplay()-1)/a._iDisplayLength,10)+1;a._iDisplayStart=(d-1)*a._iDisplayLength}else a._iDisplayStart=0;else D(a,0,"Unknown paging action: "+b);h(a.oInstance).trigger("page",a);return c!=a._iDisplayStart}function Aa(a){var b=l.createElement("div");a.aanFeatures.r||(b.id=a.sTableId+
+"_processing");b.innerHTML=a.oLanguage.sProcessing;b.className=a.oClasses.sProcessing;a.nTable.parentNode.insertBefore(b,a.nTable);return b}function E(a,b){if(a.oFeatures.bProcessing)for(var c=a.aanFeatures.r,d=0,i=c.length;d<i;d++)c[d].style.visibility=b?"visible":"hidden";h(a.oInstance).trigger("processing",[a,b])}function Ba(a){if(""===a.oScroll.sX&&""===a.oScroll.sY)return a.nTable;var b=l.createElement("div"),c=l.createElement("div"),d=l.createElement("div"),i=l.createElement("div"),f=l.createElement("div"),
+g=l.createElement("div"),e=a.nTable.cloneNode(!1),j=a.nTable.cloneNode(!1),o=a.nTable.getElementsByTagName("thead")[0],k=0===a.nTable.getElementsByTagName("tfoot").length?null:a.nTable.getElementsByTagName("tfoot")[0],m=a.oClasses;c.appendChild(d);f.appendChild(g);i.appendChild(a.nTable);b.appendChild(c);b.appendChild(i);d.appendChild(e);e.appendChild(o);null!==k&&(b.appendChild(f),g.appendChild(j),j.appendChild(k));b.className=m.sScrollWrapper;c.className=m.sScrollHead;d.className=m.sScrollHeadInner;
+i.className=m.sScrollBody;f.className=m.sScrollFoot;g.className=m.sScrollFootInner;a.oScroll.bAutoCss&&(c.style.overflow="hidden",c.style.position="relative",f.style.overflow="hidden",i.style.overflow="auto");c.style.border="0";c.style.width="100%";f.style.border="0";d.style.width=""!==a.oScroll.sXInner?a.oScroll.sXInner:"100%";e.removeAttribute("id");e.style.marginLeft="0";a.nTable.style.marginLeft="0";null!==k&&(j.removeAttribute("id"),j.style.marginLeft="0");d=h(a.nTable).children("caption");0<
+d.length&&(d=d[0],"top"===d._captionSide?e.appendChild(d):"bottom"===d._captionSide&&k&&j.appendChild(d));""!==a.oScroll.sX&&(c.style.width=q(a.oScroll.sX),i.style.width=q(a.oScroll.sX),null!==k&&(f.style.width=q(a.oScroll.sX)),h(i).scroll(function(){c.scrollLeft=this.scrollLeft;if(k!==null)f.scrollLeft=this.scrollLeft}));""!==a.oScroll.sY&&(i.style.height=q(a.oScroll.sY));a.aoDrawCallback.push({fn:La,sName:"scrolling"});a.oScroll.bInfinite&&h(i).scroll(function(){if(!a.bDrawing&&h(this).scrollTop()!==
+0&&h(this).scrollTop()+h(this).height()>h(a.nTable).height()-a.oScroll.iLoadGap&&a.fnDisplayEnd()<a.fnRecordsDisplay()){qa(a,"next");y(a);x(a)}});a.nScrollHead=c;a.nScrollFoot=f;return b}function La(a){var b=a.nScrollHead.getElementsByTagName("div")[0],c=b.getElementsByTagName("table")[0],d=a.nTable.parentNode,i,f,g,e,j,o,k,m,p=[],n=[],l=null!==a.nTFoot?a.nScrollFoot.getElementsByTagName("div")[0]:null,R=null!==a.nTFoot?l.getElementsByTagName("table")[0]:null,r=a.oBrowser.bScrollOversize,s=function(a){k=
+a.style;k.paddingTop="0";k.paddingBottom="0";k.borderTopWidth="0";k.borderBottomWidth="0";k.height=0};h(a.nTable).children("thead, tfoot").remove();i=h(a.nTHead).clone()[0];a.nTable.insertBefore(i,a.nTable.childNodes[0]);g=a.nTHead.getElementsByTagName("tr");e=i.getElementsByTagName("tr");null!==a.nTFoot&&(j=h(a.nTFoot).clone()[0],a.nTable.insertBefore(j,a.nTable.childNodes[1]),o=a.nTFoot.getElementsByTagName("tr"),j=j.getElementsByTagName("tr"));""===a.oScroll.sX&&(d.style.width="100%",b.parentNode.style.width=
+"100%");var t=N(a,i);i=0;for(f=t.length;i<f;i++)m=G(a,i),t[i].style.width=a.aoColumns[m].sWidth;null!==a.nTFoot&&C(function(a){a.style.width=""},j);a.oScroll.bCollapse&&""!==a.oScroll.sY&&(d.style.height=d.offsetHeight+a.nTHead.offsetHeight+"px");i=h(a.nTable).outerWidth();if(""===a.oScroll.sX){if(a.nTable.style.width="100%",r&&(h("tbody",d).height()>d.offsetHeight||"scroll"==h(d).css("overflow-y")))a.nTable.style.width=q(h(a.nTable).outerWidth()-a.oScroll.iBarWidth)}else""!==a.oScroll.sXInner?a.nTable.style.width=
+q(a.oScroll.sXInner):i==h(d).width()&&h(d).height()<h(a.nTable).height()?(a.nTable.style.width=q(i-a.oScroll.iBarWidth),h(a.nTable).outerWidth()>i-a.oScroll.iBarWidth&&(a.nTable.style.width=q(i))):a.nTable.style.width=q(i);i=h(a.nTable).outerWidth();C(s,e);C(function(a){p.push(q(h(a).width()))},e);C(function(a,b){a.style.width=p[b]},g);h(e).height(0);null!==a.nTFoot&&(C(s,j),C(function(a){n.push(q(h(a).width()))},j),C(function(a,b){a.style.width=n[b]},o),h(j).height(0));C(function(a,b){a.innerHTML=
+"";a.style.width=p[b]},e);null!==a.nTFoot&&C(function(a,b){a.innerHTML="";a.style.width=n[b]},j);if(h(a.nTable).outerWidth()<i){g=d.scrollHeight>d.offsetHeight||"scroll"==h(d).css("overflow-y")?i+a.oScroll.iBarWidth:i;if(r&&(d.scrollHeight>d.offsetHeight||"scroll"==h(d).css("overflow-y")))a.nTable.style.width=q(g-a.oScroll.iBarWidth);d.style.width=q(g);a.nScrollHead.style.width=q(g);null!==a.nTFoot&&(a.nScrollFoot.style.width=q(g));""===a.oScroll.sX?D(a,1,"The table cannot fit into the current element which will cause column misalignment. The table has been drawn at its minimum possible width."):
+""!==a.oScroll.sXInner&&D(a,1,"The table cannot fit into the current element which will cause column misalignment. Increase the sScrollXInner value or remove it to allow automatic calculation")}else d.style.width=q("100%"),a.nScrollHead.style.width=q("100%"),null!==a.nTFoot&&(a.nScrollFoot.style.width=q("100%"));""===a.oScroll.sY&&r&&(d.style.height=q(a.nTable.offsetHeight+a.oScroll.iBarWidth));""!==a.oScroll.sY&&a.oScroll.bCollapse&&(d.style.height=q(a.oScroll.sY),r=""!==a.oScroll.sX&&a.nTable.offsetWidth>
+d.offsetWidth?a.oScroll.iBarWidth:0,a.nTable.offsetHeight<d.offsetHeight&&(d.style.height=q(a.nTable.offsetHeight+r)));r=h(a.nTable).outerWidth();c.style.width=q(r);b.style.width=q(r);c=h(a.nTable).height()>d.clientHeight||"scroll"==h(d).css("overflow-y");b.style.paddingRight=c?a.oScroll.iBarWidth+"px":"0px";null!==a.nTFoot&&(R.style.width=q(r),l.style.width=q(r),l.style.paddingRight=c?a.oScroll.iBarWidth+"px":"0px");h(d).scroll();if(a.bSorted||a.bFiltered)d.scrollTop=0}function C(a,b,c){for(var d=
+0,i=0,f=b.length,g,e;i<f;){g=b[i].firstChild;for(e=c?c[i].firstChild:null;g;)1===g.nodeType&&(c?a(g,e,d):a(g,d),d++),g=g.nextSibling,e=c?e.nextSibling:null;i++}}function Ma(a,b){if(!a||null===a||""===a)return 0;b||(b=l.body);var c,d=l.createElement("div");d.style.width=q(a);b.appendChild(d);c=d.offsetWidth;b.removeChild(d);return c}function da(a){var b=0,c,d=0,i=a.aoColumns.length,f,e,j=h("th",a.nTHead),o=a.nTable.getAttribute("width");e=a.nTable.parentNode;for(f=0;f<i;f++)a.aoColumns[f].bVisible&&
+(d++,null!==a.aoColumns[f].sWidth&&(c=Ma(a.aoColumns[f].sWidthOrig,e),null!==c&&(a.aoColumns[f].sWidth=q(c)),b++));if(i==j.length&&0===b&&d==i&&""===a.oScroll.sX&&""===a.oScroll.sY)for(f=0;f<a.aoColumns.length;f++)c=h(j[f]).width(),null!==c&&(a.aoColumns[f].sWidth=q(c));else{b=a.nTable.cloneNode(!1);f=a.nTHead.cloneNode(!0);d=l.createElement("tbody");c=l.createElement("tr");b.removeAttribute("id");b.appendChild(f);null!==a.nTFoot&&(b.appendChild(a.nTFoot.cloneNode(!0)),C(function(a){a.style.width=
+""},b.getElementsByTagName("tr")));b.appendChild(d);d.appendChild(c);d=h("thead th",b);0===d.length&&(d=h("tbody tr:eq(0)>td",b));j=N(a,f);for(f=d=0;f<i;f++){var k=a.aoColumns[f];k.bVisible&&null!==k.sWidthOrig&&""!==k.sWidthOrig?j[f-d].style.width=q(k.sWidthOrig):k.bVisible?j[f-d].style.width="":d++}for(f=0;f<i;f++)a.aoColumns[f].bVisible&&(d=Na(a,f),null!==d&&(d=d.cloneNode(!0),""!==a.aoColumns[f].sContentPadding&&(d.innerHTML+=a.aoColumns[f].sContentPadding),c.appendChild(d)));e.appendChild(b);
+""!==a.oScroll.sX&&""!==a.oScroll.sXInner?b.style.width=q(a.oScroll.sXInner):""!==a.oScroll.sX?(b.style.width="",h(b).width()<e.offsetWidth&&(b.style.width=q(e.offsetWidth))):""!==a.oScroll.sY?b.style.width=q(e.offsetWidth):o&&(b.style.width=q(o));b.style.visibility="hidden";Oa(a,b);i=h("tbody tr:eq(0)",b).children();0===i.length&&(i=N(a,h("thead",b)[0]));if(""!==a.oScroll.sX){for(f=d=e=0;f<a.aoColumns.length;f++)a.aoColumns[f].bVisible&&(e=null===a.aoColumns[f].sWidthOrig?e+h(i[d]).outerWidth():
+e+(parseInt(a.aoColumns[f].sWidth.replace("px",""),10)+(h(i[d]).outerWidth()-h(i[d]).width())),d++);b.style.width=q(e);a.nTable.style.width=q(e)}for(f=d=0;f<a.aoColumns.length;f++)a.aoColumns[f].bVisible&&(e=h(i[d]).width(),null!==e&&0<e&&(a.aoColumns[f].sWidth=q(e)),d++);i=h(b).css("width");a.nTable.style.width=-1!==i.indexOf("%")?i:q(h(b).outerWidth());b.parentNode.removeChild(b)}o&&(a.nTable.style.width=q(o))}function Oa(a,b){""===a.oScroll.sX&&""!==a.oScroll.sY?(h(b).width(),b.style.width=q(h(b).outerWidth()-
+a.oScroll.iBarWidth)):""!==a.oScroll.sX&&(b.style.width=q(h(b).outerWidth()))}function Na(a,b){var c=Pa(a,b);if(0>c)return null;if(null===a.aoData[c].nTr){var d=l.createElement("td");d.innerHTML=v(a,c,b,"");return d}return J(a,c)[b]}function Pa(a,b){for(var c=-1,d=-1,i=0;i<a.aoData.length;i++){var e=v(a,i,b,"display")+"",e=e.replace(/<.*?>/g,"");e.length>c&&(c=e.length,d=i)}return d}function q(a){if(null===a)return"0px";if("number"==typeof a)return 0>a?"0px":a+"px";var b=a.charCodeAt(a.length-1);
+return 48>b||57<b?a:a+"px"}function Qa(){var a=l.createElement("p"),b=a.style;b.width="100%";b.height="200px";b.padding="0px";var c=l.createElement("div"),b=c.style;b.position="absolute";b.top="0px";b.left="0px";b.visibility="hidden";b.width="200px";b.height="150px";b.padding="0px";b.overflow="hidden";c.appendChild(a);l.body.appendChild(c);b=a.offsetWidth;c.style.overflow="scroll";a=a.offsetWidth;b==a&&(a=c.clientWidth);l.body.removeChild(c);return b-a}function O(a,b){var c,d,i,e,g,k,o=[],m=[],p=
+j.ext.oSort,l=a.aoData,q=a.aoColumns,G=a.oLanguage.oAria;if(!a.oFeatures.bServerSide&&(0!==a.aaSorting.length||null!==a.aaSortingFixed)){o=null!==a.aaSortingFixed?a.aaSortingFixed.concat(a.aaSorting):a.aaSorting.slice();for(c=0;c<o.length;c++)if(d=o[c][0],i=R(a,d),e=a.aoColumns[d].sSortDataType,j.ext.afnSortData[e])if(g=j.ext.afnSortData[e].call(a.oInstance,a,d,i),g.length===l.length){i=0;for(e=l.length;i<e;i++)F(a,i,d,g[i])}else D(a,0,"Returned data sort array (col "+d+") is the wrong length");c=
+0;for(d=a.aiDisplayMaster.length;c<d;c++)m[a.aiDisplayMaster[c]]=c;var r=o.length,s;c=0;for(d=l.length;c<d;c++)for(i=0;i<r;i++){s=q[o[i][0]].aDataSort;g=0;for(k=s.length;g<k;g++)e=q[s[g]].sType,e=p[(e?e:"string")+"-pre"],l[c]._aSortData[s[g]]=e?e(v(a,c,s[g],"sort")):v(a,c,s[g],"sort")}a.aiDisplayMaster.sort(function(a,b){var c,d,e,i,f;for(c=0;c<r;c++){f=q[o[c][0]].aDataSort;d=0;for(e=f.length;d<e;d++)if(i=q[f[d]].sType,i=p[(i?i:"string")+"-"+o[c][1]](l[a]._aSortData[f[d]],l[b]._aSortData[f[d]]),0!==
+i)return i}return p["numeric-asc"](m[a],m[b])})}(b===n||b)&&!a.oFeatures.bDeferRender&&P(a);c=0;for(d=a.aoColumns.length;c<d;c++)e=q[c].sTitle.replace(/<.*?>/g,""),i=q[c].nTh,i.removeAttribute("aria-sort"),i.removeAttribute("aria-label"),q[c].bSortable?0<o.length&&o[0][0]==c?(i.setAttribute("aria-sort","asc"==o[0][1]?"ascending":"descending"),i.setAttribute("aria-label",e+("asc"==(q[c].asSorting[o[0][2]+1]?q[c].asSorting[o[0][2]+1]:q[c].asSorting[0])?G.sSortAscending:G.sSortDescending))):i.setAttribute("aria-label",
+e+("asc"==q[c].asSorting[0]?G.sSortAscending:G.sSortDescending)):i.setAttribute("aria-label",e);a.bSorted=!0;h(a.oInstance).trigger("sort",a);a.oFeatures.bFilter?K(a,a.oPreviousSearch,1):(a.aiDisplay=a.aiDisplayMaster.slice(),a._iDisplayStart=0,y(a),x(a))}function ia(a,b,c,d){Ra(b,{},function(b){if(!1!==a.aoColumns[c].bSortable){var e=function(){var d,e;if(b.shiftKey){for(var f=!1,h=0;h<a.aaSorting.length;h++)if(a.aaSorting[h][0]==c){f=!0;d=a.aaSorting[h][0];e=a.aaSorting[h][2]+1;a.aoColumns[d].asSorting[e]?
+(a.aaSorting[h][1]=a.aoColumns[d].asSorting[e],a.aaSorting[h][2]=e):a.aaSorting.splice(h,1);break}!1===f&&a.aaSorting.push([c,a.aoColumns[c].asSorting[0],0])}else 1==a.aaSorting.length&&a.aaSorting[0][0]==c?(d=a.aaSorting[0][0],e=a.aaSorting[0][2]+1,a.aoColumns[d].asSorting[e]||(e=0),a.aaSorting[0][1]=a.aoColumns[d].asSorting[e],a.aaSorting[0][2]=e):(a.aaSorting.splice(0,a.aaSorting.length),a.aaSorting.push([c,a.aoColumns[c].asSorting[0],0]));O(a)};a.oFeatures.bProcessing?(E(a,!0),setTimeout(function(){e();
+a.oFeatures.bServerSide||E(a,!1)},0)):e();"function"==typeof d&&d(a)}})}function P(a){var b,c,d,e,f,g=a.aoColumns.length,j=a.oClasses;for(b=0;b<g;b++)a.aoColumns[b].bSortable&&h(a.aoColumns[b].nTh).removeClass(j.sSortAsc+" "+j.sSortDesc+" "+a.aoColumns[b].sSortingClass);c=null!==a.aaSortingFixed?a.aaSortingFixed.concat(a.aaSorting):a.aaSorting.slice();for(b=0;b<a.aoColumns.length;b++)if(a.aoColumns[b].bSortable){f=a.aoColumns[b].sSortingClass;e=-1;for(d=0;d<c.length;d++)if(c[d][0]==b){f="asc"==c[d][1]?
+j.sSortAsc:j.sSortDesc;e=d;break}h(a.aoColumns[b].nTh).addClass(f);a.bJUI&&(f=h("span."+j.sSortIcon,a.aoColumns[b].nTh),f.removeClass(j.sSortJUIAsc+" "+j.sSortJUIDesc+" "+j.sSortJUI+" "+j.sSortJUIAscAllowed+" "+j.sSortJUIDescAllowed),f.addClass(-1==e?a.aoColumns[b].sSortingClassJUI:"asc"==c[e][1]?j.sSortJUIAsc:j.sSortJUIDesc))}else h(a.aoColumns[b].nTh).addClass(a.aoColumns[b].sSortingClass);f=j.sSortColumn;if(a.oFeatures.bSort&&a.oFeatures.bSortClasses){a=J(a);e=[];for(b=0;b<g;b++)e.push("");b=0;
+for(d=1;b<c.length;b++)j=parseInt(c[b][0],10),e[j]=f+d,3>d&&d++;f=RegExp(f+"[123]");var o;b=0;for(c=a.length;b<c;b++)j=b%g,d=a[b].className,o=e[j],j=d.replace(f,o),j!=d?a[b].className=h.trim(j):0<o.length&&-1==d.indexOf(o)&&(a[b].className=d+" "+o)}}function ra(a){if(a.oFeatures.bStateSave&&!a.bDestroying){var b,c;b=a.oScroll.bInfinite;var d={iCreate:(new Date).getTime(),iStart:b?0:a._iDisplayStart,iEnd:b?a._iDisplayLength:a._iDisplayEnd,iLength:a._iDisplayLength,aaSorting:h.extend(!0,[],a.aaSorting),
+oSearch:h.extend(!0,{},a.oPreviousSearch),aoSearchCols:h.extend(!0,[],a.aoPreSearchCols),abVisCols:[]};b=0;for(c=a.aoColumns.length;b<c;b++)d.abVisCols.push(a.aoColumns[b].bVisible);A(a,"aoStateSaveParams","stateSaveParams",[a,d]);a.fnStateSave.call(a.oInstance,a,d)}}function Sa(a,b){if(a.oFeatures.bStateSave){var c=a.fnStateLoad.call(a.oInstance,a);if(c){var d=A(a,"aoStateLoadParams","stateLoadParams",[a,c]);if(-1===h.inArray(!1,d)){a.oLoadedState=h.extend(!0,{},c);a._iDisplayStart=c.iStart;a.iInitDisplayStart=
+c.iStart;a._iDisplayEnd=c.iEnd;a._iDisplayLength=c.iLength;a.aaSorting=c.aaSorting.slice();a.saved_aaSorting=c.aaSorting.slice();h.extend(a.oPreviousSearch,c.oSearch);h.extend(!0,a.aoPreSearchCols,c.aoSearchCols);b.saved_aoColumns=[];for(d=0;d<c.abVisCols.length;d++)b.saved_aoColumns[d]={},b.saved_aoColumns[d].bVisible=c.abVisCols[d];A(a,"aoStateLoaded","stateLoaded",[a,c])}}}}function s(a){for(var b=0;b<j.settings.length;b++)if(j.settings[b].nTable===a)return j.settings[b];return null}function T(a){for(var b=
+[],a=a.aoData,c=0,d=a.length;c<d;c++)null!==a[c].nTr&&b.push(a[c].nTr);return b}function J(a,b){var c=[],d,e,f,g,h,j;e=0;var o=a.aoData.length;b!==n&&(e=b,o=b+1);for(f=e;f<o;f++)if(j=a.aoData[f],null!==j.nTr){e=[];for(d=j.nTr.firstChild;d;)g=d.nodeName.toLowerCase(),("td"==g||"th"==g)&&e.push(d),d=d.nextSibling;g=d=0;for(h=a.aoColumns.length;g<h;g++)a.aoColumns[g].bVisible?c.push(e[g-d]):(c.push(j._anHidden[g]),d++)}return c}function D(a,b,c){a=null===a?"DataTables warning: "+c:"DataTables warning (table id = '"+
+a.sTableId+"'): "+c;if(0===b)if("alert"==j.ext.sErrMode)alert(a);else throw Error(a);else X.console&&console.log&&console.log(a)}function p(a,b,c,d){d===n&&(d=c);b[c]!==n&&(a[d]=b[c])}function Ta(a,b){var c,d;for(d in b)b.hasOwnProperty(d)&&(c=b[d],"object"===typeof e[d]&&null!==c&&!1===h.isArray(c)?h.extend(!0,a[d],c):a[d]=c);return a}function Ra(a,b,c){h(a).bind("click.DT",b,function(b){a.blur();c(b)}).bind("keypress.DT",b,function(a){13===a.which&&c(a)}).bind("selectstart.DT",function(){return!1})}
+function z(a,b,c,d){c&&a[b].push({fn:c,sName:d})}function A(a,b,c,d){for(var b=a[b],e=[],f=b.length-1;0<=f;f--)e.push(b[f].fn.apply(a.oInstance,d));null!==c&&h(a.oInstance).trigger(c,d);return e}function Ua(a){var b=h('<div style="position:absolute; top:0; left:0; height:1px; width:1px; overflow:hidden"><div style="position:absolute; top:1px; left:1px; width:100px; overflow:scroll;"><div id="DT_BrowserTest" style="width:100%; height:10px;"></div></div></div>')[0];l.body.appendChild(b);a.oBrowser.bScrollOversize=
+100===h("#DT_BrowserTest",b)[0].offsetWidth?!0:!1;l.body.removeChild(b)}function Va(a){return function(){var b=[s(this[j.ext.iApiIndex])].concat(Array.prototype.slice.call(arguments));return j.ext.oApi[a].apply(this,b)}}var U=/\[.*?\]$/,Wa=X.JSON?JSON.stringify:function(a){var b=typeof a;if("object"!==b||null===a)return"string"===b&&(a='"'+a+'"'),a+"";var c,d,e=[],f=h.isArray(a);for(c in a)d=a[c],b=typeof d,"string"===b?d='"'+d+'"':"object"===b&&null!==d&&(d=Wa(d)),e.push((f?"":'"'+c+'":')+d);return(f?
+"[":"{")+e+(f?"]":"}")};this.$=function(a,b){var c,d,e=[],f;d=s(this[j.ext.iApiIndex]);var g=d.aoData,o=d.aiDisplay,k=d.aiDisplayMaster;b||(b={});b=h.extend({},{filter:"none",order:"current",page:"all"},b);if("current"==b.page){c=d._iDisplayStart;for(d=d.fnDisplayEnd();c<d;c++)(f=g[o[c]].nTr)&&e.push(f)}else if("current"==b.order&&"none"==b.filter){c=0;for(d=k.length;c<d;c++)(f=g[k[c]].nTr)&&e.push(f)}else if("current"==b.order&&"applied"==b.filter){c=0;for(d=o.length;c<d;c++)(f=g[o[c]].nTr)&&e.push(f)}else if("original"==
+b.order&&"none"==b.filter){c=0;for(d=g.length;c<d;c++)(f=g[c].nTr)&&e.push(f)}else if("original"==b.order&&"applied"==b.filter){c=0;for(d=g.length;c<d;c++)f=g[c].nTr,-1!==h.inArray(c,o)&&f&&e.push(f)}else D(d,1,"Unknown selection options");e=h(e);c=e.filter(a);e=e.find(a);return h([].concat(h.makeArray(c),h.makeArray(e)))};this._=function(a,b){var c=[],d,e,f=this.$(a,b);d=0;for(e=f.length;d<e;d++)c.push(this.fnGetData(f[d]));return c};this.fnAddData=function(a,b){if(0===a.length)return[];var c=[],
+d,e=s(this[j.ext.iApiIndex]);if("object"===typeof a[0]&&null!==a[0])for(var f=0;f<a.length;f++){d=H(e,a[f]);if(-1==d)return c;c.push(d)}else{d=H(e,a);if(-1==d)return c;c.push(d)}e.aiDisplay=e.aiDisplayMaster.slice();(b===n||b)&&aa(e);return c};this.fnAdjustColumnSizing=function(a){var b=s(this[j.ext.iApiIndex]);k(b);a===n||a?this.fnDraw(!1):(""!==b.oScroll.sX||""!==b.oScroll.sY)&&this.oApi._fnScrollDraw(b)};this.fnClearTable=function(a){var b=s(this[j.ext.iApiIndex]);ga(b);(a===n||a)&&x(b)};this.fnClose=
+function(a){for(var b=s(this[j.ext.iApiIndex]),c=0;c<b.aoOpenRows.length;c++)if(b.aoOpenRows[c].nParent==a)return(a=b.aoOpenRows[c].nTr.parentNode)&&a.removeChild(b.aoOpenRows[c].nTr),b.aoOpenRows.splice(c,1),0;return 1};this.fnDeleteRow=function(a,b,c){var d=s(this[j.ext.iApiIndex]),e,f,a="object"===typeof a?I(d,a):a,g=d.aoData.splice(a,1);e=0;for(f=d.aoData.length;e<f;e++)null!==d.aoData[e].nTr&&(d.aoData[e].nTr._DT_RowIndex=e);e=h.inArray(a,d.aiDisplay);d.asDataSearch.splice(e,1);ha(d.aiDisplayMaster,
+a);ha(d.aiDisplay,a);"function"===typeof b&&b.call(this,d,g);d._iDisplayStart>=d.fnRecordsDisplay()&&(d._iDisplayStart-=d._iDisplayLength,0>d._iDisplayStart&&(d._iDisplayStart=0));if(c===n||c)y(d),x(d);return g};this.fnDestroy=function(a){var b=s(this[j.ext.iApiIndex]),c=b.nTableWrapper.parentNode,d=b.nTBody,i,f,a=a===n?!1:a;b.bDestroying=!0;A(b,"aoDestroyCallback","destroy",[b]);if(!a){i=0;for(f=b.aoColumns.length;i<f;i++)!1===b.aoColumns[i].bVisible&&this.fnSetColumnVis(i,!0)}h(b.nTableWrapper).find("*").andSelf().unbind(".DT");
+h("tbody>tr>td."+b.oClasses.sRowEmpty,b.nTable).parent().remove();b.nTable!=b.nTHead.parentNode&&(h(b.nTable).children("thead").remove(),b.nTable.appendChild(b.nTHead));b.nTFoot&&b.nTable!=b.nTFoot.parentNode&&(h(b.nTable).children("tfoot").remove(),b.nTable.appendChild(b.nTFoot));b.nTable.parentNode.removeChild(b.nTable);h(b.nTableWrapper).remove();b.aaSorting=[];b.aaSortingFixed=[];P(b);h(T(b)).removeClass(b.asStripeClasses.join(" "));h("th, td",b.nTHead).removeClass([b.oClasses.sSortable,b.oClasses.sSortableAsc,
+b.oClasses.sSortableDesc,b.oClasses.sSortableNone].join(" "));b.bJUI&&(h("th span."+b.oClasses.sSortIcon+", td span."+b.oClasses.sSortIcon,b.nTHead).remove(),h("th, td",b.nTHead).each(function(){var a=h("div."+b.oClasses.sSortJUIWrapper,this),c=a.contents();h(this).append(c);a.remove()}));!a&&b.nTableReinsertBefore?c.insertBefore(b.nTable,b.nTableReinsertBefore):a||c.appendChild(b.nTable);i=0;for(f=b.aoData.length;i<f;i++)null!==b.aoData[i].nTr&&d.appendChild(b.aoData[i].nTr);!0===b.oFeatures.bAutoWidth&&
+(b.nTable.style.width=q(b.sDestroyWidth));if(f=b.asDestroyStripes.length){a=h(d).children("tr");for(i=0;i<f;i++)a.filter(":nth-child("+f+"n + "+i+")").addClass(b.asDestroyStripes[i])}i=0;for(f=j.settings.length;i<f;i++)j.settings[i]==b&&j.settings.splice(i,1);e=b=null};this.fnDraw=function(a){var b=s(this[j.ext.iApiIndex]);!1===a?(y(b),x(b)):aa(b)};this.fnFilter=function(a,b,c,d,e,f){var g=s(this[j.ext.iApiIndex]);if(g.oFeatures.bFilter){if(c===n||null===c)c=!1;if(d===n||null===d)d=!0;if(e===n||null===
+e)e=!0;if(f===n||null===f)f=!0;if(b===n||null===b){if(K(g,{sSearch:a+"",bRegex:c,bSmart:d,bCaseInsensitive:f},1),e&&g.aanFeatures.f){b=g.aanFeatures.f;c=0;for(d=b.length;c<d;c++)try{b[c]._DT_Input!=l.activeElement&&h(b[c]._DT_Input).val(a)}catch(o){h(b[c]._DT_Input).val(a)}}}else h.extend(g.aoPreSearchCols[b],{sSearch:a+"",bRegex:c,bSmart:d,bCaseInsensitive:f}),K(g,g.oPreviousSearch,1)}};this.fnGetData=function(a,b){var c=s(this[j.ext.iApiIndex]);if(a!==n){var d=a;if("object"===typeof a){var e=a.nodeName.toLowerCase();
+"tr"===e?d=I(c,a):"td"===e&&(d=I(c,a.parentNode),b=fa(c,d,a))}return b!==n?v(c,d,b,""):c.aoData[d]!==n?c.aoData[d]._aData:null}return Z(c)};this.fnGetNodes=function(a){var b=s(this[j.ext.iApiIndex]);return a!==n?b.aoData[a]!==n?b.aoData[a].nTr:null:T(b)};this.fnGetPosition=function(a){var b=s(this[j.ext.iApiIndex]),c=a.nodeName.toUpperCase();return"TR"==c?I(b,a):"TD"==c||"TH"==c?(c=I(b,a.parentNode),a=fa(b,c,a),[c,R(b,a),a]):null};this.fnIsOpen=function(a){for(var b=s(this[j.ext.iApiIndex]),c=0;c<
+b.aoOpenRows.length;c++)if(b.aoOpenRows[c].nParent==a)return!0;return!1};this.fnOpen=function(a,b,c){var d=s(this[j.ext.iApiIndex]),e=T(d);if(-1!==h.inArray(a,e)){this.fnClose(a);var e=l.createElement("tr"),f=l.createElement("td");e.appendChild(f);f.className=c;f.colSpan=t(d);"string"===typeof b?f.innerHTML=b:h(f).html(b);b=h("tr",d.nTBody);-1!=h.inArray(a,b)&&h(e).insertAfter(a);d.aoOpenRows.push({nTr:e,nParent:a});return e}};this.fnPageChange=function(a,b){var c=s(this[j.ext.iApiIndex]);qa(c,a);
+y(c);(b===n||b)&&x(c)};this.fnSetColumnVis=function(a,b,c){var d=s(this[j.ext.iApiIndex]),e,f,g=d.aoColumns,h=d.aoData,o,m;if(g[a].bVisible!=b){if(b){for(e=f=0;e<a;e++)g[e].bVisible&&f++;m=f>=t(d);if(!m)for(e=a;e<g.length;e++)if(g[e].bVisible){o=e;break}e=0;for(f=h.length;e<f;e++)null!==h[e].nTr&&(m?h[e].nTr.appendChild(h[e]._anHidden[a]):h[e].nTr.insertBefore(h[e]._anHidden[a],J(d,e)[o]))}else{e=0;for(f=h.length;e<f;e++)null!==h[e].nTr&&(o=J(d,e)[a],h[e]._anHidden[a]=o,o.parentNode.removeChild(o))}g[a].bVisible=
+b;W(d,d.aoHeader);d.nTFoot&&W(d,d.aoFooter);e=0;for(f=d.aoOpenRows.length;e<f;e++)d.aoOpenRows[e].nTr.colSpan=t(d);if(c===n||c)k(d),x(d);ra(d)}};this.fnSettings=function(){return s(this[j.ext.iApiIndex])};this.fnSort=function(a){var b=s(this[j.ext.iApiIndex]);b.aaSorting=a;O(b)};this.fnSortListener=function(a,b,c){ia(s(this[j.ext.iApiIndex]),a,b,c)};this.fnUpdate=function(a,b,c,d,e){var f=s(this[j.ext.iApiIndex]),b="object"===typeof b?I(f,b):b;if(h.isArray(a)&&c===n){f.aoData[b]._aData=a.slice();
+for(c=0;c<f.aoColumns.length;c++)this.fnUpdate(v(f,b,c),b,c,!1,!1)}else if(h.isPlainObject(a)&&c===n){f.aoData[b]._aData=h.extend(!0,{},a);for(c=0;c<f.aoColumns.length;c++)this.fnUpdate(v(f,b,c),b,c,!1,!1)}else{F(f,b,c,a);var a=v(f,b,c,"display"),g=f.aoColumns[c];null!==g.fnRender&&(a=S(f,b,c),g.bUseRendered&&F(f,b,c,a));null!==f.aoData[b].nTr&&(J(f,b)[c].innerHTML=a)}c=h.inArray(b,f.aiDisplay);f.asDataSearch[c]=na(f,Y(f,b,"filter",r(f,"bSearchable")));(e===n||e)&&k(f);(d===n||d)&&aa(f);return 0};
+this.fnVersionCheck=j.ext.fnVersionCheck;this.oApi={_fnExternApiFunc:Va,_fnInitialise:ba,_fnInitComplete:$,_fnLanguageCompat:pa,_fnAddColumn:o,_fnColumnOptions:m,_fnAddData:H,_fnCreateTr:ea,_fnGatherData:ua,_fnBuildHead:va,_fnDrawHead:W,_fnDraw:x,_fnReDraw:aa,_fnAjaxUpdate:wa,_fnAjaxParameters:Ea,_fnAjaxUpdateDraw:Fa,_fnServerParams:ka,_fnAddOptionsHtml:xa,_fnFeatureHtmlTable:Ba,_fnScrollDraw:La,_fnAdjustColumnSizing:k,_fnFeatureHtmlFilter:za,_fnFilterComplete:K,_fnFilterCustom:Ia,_fnFilterColumn:Ha,
+_fnFilter:Ga,_fnBuildSearchArray:la,_fnBuildSearchRow:na,_fnFilterCreateSearch:ma,_fnDataToSearch:Ja,_fnSort:O,_fnSortAttachListener:ia,_fnSortingClasses:P,_fnFeatureHtmlPaginate:Da,_fnPageChange:qa,_fnFeatureHtmlInfo:Ca,_fnUpdateInfo:Ka,_fnFeatureHtmlLength:ya,_fnFeatureHtmlProcessing:Aa,_fnProcessingDisplay:E,_fnVisibleToColumnIndex:G,_fnColumnIndexToVisible:R,_fnNodeToDataIndex:I,_fnVisbleColumns:t,_fnCalculateEnd:y,_fnConvertToWidth:Ma,_fnCalculateColumnWidths:da,_fnScrollingWidthAdjust:Oa,_fnGetWidestNode:Na,
+_fnGetMaxLenString:Pa,_fnStringToCss:q,_fnDetectType:B,_fnSettingsFromNode:s,_fnGetDataMaster:Z,_fnGetTrNodes:T,_fnGetTdNodes:J,_fnEscapeRegex:oa,_fnDeleteIndex:ha,_fnReOrderIndex:u,_fnColumnOrdering:M,_fnLog:D,_fnClearTable:ga,_fnSaveState:ra,_fnLoadState:Sa,_fnCreateCookie:function(a,b,c,d,e){var f=new Date;f.setTime(f.getTime()+1E3*c);var c=X.location.pathname.split("/"),a=a+"_"+c.pop().replace(/[\/:]/g,"").toLowerCase(),g;null!==e?(g="function"===typeof h.parseJSON?h.parseJSON(b):eval("("+b+")"),
+b=e(a,g,f.toGMTString(),c.join("/")+"/")):b=a+"="+encodeURIComponent(b)+"; expires="+f.toGMTString()+"; path="+c.join("/")+"/";a=l.cookie.split(";");e=b.split(";")[0].length;f=[];if(4096<e+l.cookie.length+10){for(var j=0,o=a.length;j<o;j++)if(-1!=a[j].indexOf(d)){var k=a[j].split("=");try{(g=eval("("+decodeURIComponent(k[1])+")"))&&g.iCreate&&f.push({name:k[0],time:g.iCreate})}catch(m){}}for(f.sort(function(a,b){return b.time-a.time});4096<e+l.cookie.length+10;){if(0===f.length)return;d=f.pop();l.cookie=
+d.name+"=; expires=Thu, 01-Jan-1970 00:00:01 GMT; path="+c.join("/")+"/"}}l.cookie=b},_fnReadCookie:function(a){for(var b=X.location.pathname.split("/"),a=a+"_"+b[b.length-1].replace(/[\/:]/g,"").toLowerCase()+"=",b=l.cookie.split(";"),c=0;c<b.length;c++){for(var d=b[c];" "==d.charAt(0);)d=d.substring(1,d.length);if(0===d.indexOf(a))return decodeURIComponent(d.substring(a.length,d.length))}return null},_fnDetectHeader:V,_fnGetUniqueThs:N,_fnScrollBarWidth:Qa,_fnApplyToChildren:C,_fnMap:p,_fnGetRowData:Y,
+_fnGetCellData:v,_fnSetCellData:F,_fnGetObjectDataFn:Q,_fnSetObjectDataFn:L,_fnApplyColumnDefs:ta,_fnBindAction:Ra,_fnExtend:Ta,_fnCallbackReg:z,_fnCallbackFire:A,_fnJsonString:Wa,_fnRender:S,_fnNodeToColumnIndex:fa,_fnInfoMacros:ja,_fnBrowserDetect:Ua,_fnGetColumns:r};h.extend(j.ext.oApi,this.oApi);for(var sa in j.ext.oApi)sa&&(this[sa]=Va(sa));var ca=this;this.each(function(){var a=0,b,c,d;c=this.getAttribute("id");var i=!1,f=!1;if("table"!=this.nodeName.toLowerCase())D(null,0,"Attempted to initialise DataTables on a node which is not a table: "+
+this.nodeName);else{a=0;for(b=j.settings.length;a<b;a++){if(j.settings[a].nTable==this){if(e===n||e.bRetrieve)return j.settings[a].oInstance;if(e.bDestroy){j.settings[a].oInstance.fnDestroy();break}else{D(j.settings[a],0,"Cannot reinitialise DataTable.\n\nTo retrieve the DataTables object for this table, pass no arguments or see the docs for bRetrieve and bDestroy");return}}if(j.settings[a].sTableId==this.id){j.settings.splice(a,1);break}}if(null===c||""===c)this.id=c="DataTables_Table_"+j.ext._oExternConfig.iNextUnique++;
+var g=h.extend(!0,{},j.models.oSettings,{nTable:this,oApi:ca.oApi,oInit:e,sDestroyWidth:h(this).width(),sInstance:c,sTableId:c});j.settings.push(g);g.oInstance=1===ca.length?ca:h(this).dataTable();e||(e={});e.oLanguage&&pa(e.oLanguage);e=Ta(h.extend(!0,{},j.defaults),e);p(g.oFeatures,e,"bPaginate");p(g.oFeatures,e,"bLengthChange");p(g.oFeatures,e,"bFilter");p(g.oFeatures,e,"bSort");p(g.oFeatures,e,"bInfo");p(g.oFeatures,e,"bProcessing");p(g.oFeatures,e,"bAutoWidth");p(g.oFeatures,e,"bSortClasses");
+p(g.oFeatures,e,"bServerSide");p(g.oFeatures,e,"bDeferRender");p(g.oScroll,e,"sScrollX","sX");p(g.oScroll,e,"sScrollXInner","sXInner");p(g.oScroll,e,"sScrollY","sY");p(g.oScroll,e,"bScrollCollapse","bCollapse");p(g.oScroll,e,"bScrollInfinite","bInfinite");p(g.oScroll,e,"iScrollLoadGap","iLoadGap");p(g.oScroll,e,"bScrollAutoCss","bAutoCss");p(g,e,"asStripeClasses");p(g,e,"asStripClasses","asStripeClasses");p(g,e,"fnServerData");p(g,e,"fnFormatNumber");p(g,e,"sServerMethod");p(g,e,"aaSorting");p(g,
+e,"aaSortingFixed");p(g,e,"aLengthMenu");p(g,e,"sPaginationType");p(g,e,"sAjaxSource");p(g,e,"sAjaxDataProp");p(g,e,"iCookieDuration");p(g,e,"sCookiePrefix");p(g,e,"sDom");p(g,e,"bSortCellsTop");p(g,e,"iTabIndex");p(g,e,"oSearch","oPreviousSearch");p(g,e,"aoSearchCols","aoPreSearchCols");p(g,e,"iDisplayLength","_iDisplayLength");p(g,e,"bJQueryUI","bJUI");p(g,e,"fnCookieCallback");p(g,e,"fnStateLoad");p(g,e,"fnStateSave");p(g.oLanguage,e,"fnInfoCallback");z(g,"aoDrawCallback",e.fnDrawCallback,"user");
+z(g,"aoServerParams",e.fnServerParams,"user");z(g,"aoStateSaveParams",e.fnStateSaveParams,"user");z(g,"aoStateLoadParams",e.fnStateLoadParams,"user");z(g,"aoStateLoaded",e.fnStateLoaded,"user");z(g,"aoRowCallback",e.fnRowCallback,"user");z(g,"aoRowCreatedCallback",e.fnCreatedRow,"user");z(g,"aoHeaderCallback",e.fnHeaderCallback,"user");z(g,"aoFooterCallback",e.fnFooterCallback,"user");z(g,"aoInitComplete",e.fnInitComplete,"user");z(g,"aoPreDrawCallback",e.fnPreDrawCallback,"user");g.oFeatures.bServerSide&&
+g.oFeatures.bSort&&g.oFeatures.bSortClasses?z(g,"aoDrawCallback",P,"server_side_sort_classes"):g.oFeatures.bDeferRender&&z(g,"aoDrawCallback",P,"defer_sort_classes");e.bJQueryUI?(h.extend(g.oClasses,j.ext.oJUIClasses),e.sDom===j.defaults.sDom&&"lfrtip"===j.defaults.sDom&&(g.sDom='<"H"lfr>t<"F"ip>')):h.extend(g.oClasses,j.ext.oStdClasses);h(this).addClass(g.oClasses.sTable);if(""!==g.oScroll.sX||""!==g.oScroll.sY)g.oScroll.iBarWidth=Qa();g.iInitDisplayStart===n&&(g.iInitDisplayStart=e.iDisplayStart,
+g._iDisplayStart=e.iDisplayStart);e.bStateSave&&(g.oFeatures.bStateSave=!0,Sa(g,e),z(g,"aoDrawCallback",ra,"state_save"));null!==e.iDeferLoading&&(g.bDeferLoading=!0,a=h.isArray(e.iDeferLoading),g._iRecordsDisplay=a?e.iDeferLoading[0]:e.iDeferLoading,g._iRecordsTotal=a?e.iDeferLoading[1]:e.iDeferLoading);null!==e.aaData&&(f=!0);""!==e.oLanguage.sUrl?(g.oLanguage.sUrl=e.oLanguage.sUrl,h.getJSON(g.oLanguage.sUrl,null,function(a){pa(a);h.extend(true,g.oLanguage,e.oLanguage,a);ba(g)}),i=!0):h.extend(!0,
+g.oLanguage,e.oLanguage);null===e.asStripeClasses&&(g.asStripeClasses=[g.oClasses.sStripeOdd,g.oClasses.sStripeEven]);b=g.asStripeClasses.length;g.asDestroyStripes=[];if(b){c=!1;d=h(this).children("tbody").children("tr:lt("+b+")");for(a=0;a<b;a++)d.hasClass(g.asStripeClasses[a])&&(c=!0,g.asDestroyStripes.push(g.asStripeClasses[a]));c&&d.removeClass(g.asStripeClasses.join(" "))}c=[];a=this.getElementsByTagName("thead");0!==a.length&&(V(g.aoHeader,a[0]),c=N(g));if(null===e.aoColumns){d=[];a=0;for(b=
+c.length;a<b;a++)d.push(null)}else d=e.aoColumns;a=0;for(b=d.length;a<b;a++)e.saved_aoColumns!==n&&e.saved_aoColumns.length==b&&(null===d[a]&&(d[a]={}),d[a].bVisible=e.saved_aoColumns[a].bVisible),o(g,c?c[a]:null);ta(g,e.aoColumnDefs,d,function(a,b){m(g,a,b)});a=0;for(b=g.aaSorting.length;a<b;a++){g.aaSorting[a][0]>=g.aoColumns.length&&(g.aaSorting[a][0]=0);var k=g.aoColumns[g.aaSorting[a][0]];g.aaSorting[a][2]===n&&(g.aaSorting[a][2]=0);e.aaSorting===n&&g.saved_aaSorting===n&&(g.aaSorting[a][1]=
+k.asSorting[0]);c=0;for(d=k.asSorting.length;c<d;c++)if(g.aaSorting[a][1]==k.asSorting[c]){g.aaSorting[a][2]=c;break}}P(g);Ua(g);a=h(this).children("caption").each(function(){this._captionSide=h(this).css("caption-side")});b=h(this).children("thead");0===b.length&&(b=[l.createElement("thead")],this.appendChild(b[0]));g.nTHead=b[0];b=h(this).children("tbody");0===b.length&&(b=[l.createElement("tbody")],this.appendChild(b[0]));g.nTBody=b[0];g.nTBody.setAttribute("role","alert");g.nTBody.setAttribute("aria-live",
+"polite");g.nTBody.setAttribute("aria-relevant","all");b=h(this).children("tfoot");if(0===b.length&&0<a.length&&(""!==g.oScroll.sX||""!==g.oScroll.sY))b=[l.createElement("tfoot")],this.appendChild(b[0]);0<b.length&&(g.nTFoot=b[0],V(g.aoFooter,g.nTFoot));if(f)for(a=0;a<e.aaData.length;a++)H(g,e.aaData[a]);else ua(g);g.aiDisplay=g.aiDisplayMaster.slice();g.bInitialised=!0;!1===i&&ba(g)}});ca=null;return this};j.fnVersionCheck=function(e){for(var h=function(e,h){for(;e.length<h;)e+="0";return e},m=j.ext.sVersion.split("."),
+e=e.split("."),k="",n="",l=0,t=e.length;l<t;l++)k+=h(m[l],3),n+=h(e[l],3);return parseInt(k,10)>=parseInt(n,10)};j.fnIsDataTable=function(e){for(var h=j.settings,m=0;m<h.length;m++)if(h[m].nTable===e||h[m].nScrollHead===e||h[m].nScrollFoot===e)return!0;return!1};j.fnTables=function(e){var o=[];jQuery.each(j.settings,function(j,k){(!e||!0===e&&h(k.nTable).is(":visible"))&&o.push(k.nTable)});return o};j.version="1.9.4";j.settings=[];j.models={};j.models.ext={afnFiltering:[],afnSortData:[],aoFeatures:[],
+aTypes:[],fnVersionCheck:j.fnVersionCheck,iApiIndex:0,ofnSearch:{},oApi:{},oStdClasses:{},oJUIClasses:{},oPagination:{},oSort:{},sVersion:j.version,sErrMode:"alert",_oExternConfig:{iNextUnique:0}};j.models.oSearch={bCaseInsensitive:!0,sSearch:"",bRegex:!1,bSmart:!0};j.models.oRow={nTr:null,_aData:[],_aSortData:[],_anHidden:[],_sRowStripe:""};j.models.oColumn={aDataSort:null,asSorting:null,bSearchable:null,bSortable:null,bUseRendered:null,bVisible:null,_bAutoType:!0,fnCreatedCell:null,fnGetData:null,
+fnRender:null,fnSetData:null,mData:null,mRender:null,nTh:null,nTf:null,sClass:null,sContentPadding:null,sDefaultContent:null,sName:null,sSortDataType:"std",sSortingClass:null,sSortingClassJUI:null,sTitle:null,sType:null,sWidth:null,sWidthOrig:null};j.defaults={aaData:null,aaSorting:[[0,"asc"]],aaSortingFixed:null,aLengthMenu:[10,25,50,100],aoColumns:null,aoColumnDefs:null,aoSearchCols:[],asStripeClasses:null,bAutoWidth:!0,bDeferRender:!1,bDestroy:!1,bFilter:!0,bInfo:!0,bJQueryUI:!1,bLengthChange:!0,
+bPaginate:!0,bProcessing:!1,bRetrieve:!1,bScrollAutoCss:!0,bScrollCollapse:!1,bScrollInfinite:!1,bServerSide:!1,bSort:!0,bSortCellsTop:!1,bSortClasses:!0,bStateSave:!1,fnCookieCallback:null,fnCreatedRow:null,fnDrawCallback:null,fnFooterCallback:null,fnFormatNumber:function(e){if(1E3>e)return e;for(var h=e+"",e=h.split(""),j="",h=h.length,k=0;k<h;k++)0===k%3&&0!==k&&(j=this.oLanguage.sInfoThousands+j),j=e[h-k-1]+j;return j},fnHeaderCallback:null,fnInfoCallback:null,fnInitComplete:null,fnPreDrawCallback:null,
+fnRowCallback:null,fnServerData:function(e,j,m,k){k.jqXHR=h.ajax({url:e,data:j,success:function(e){e.sError&&k.oApi._fnLog(k,0,e.sError);h(k.oInstance).trigger("xhr",[k,e]);m(e)},dataType:"json",cache:!1,type:k.sServerMethod,error:function(e,h){"parsererror"==h&&k.oApi._fnLog(k,0,"DataTables warning: JSON data from server could not be parsed. This is caused by a JSON formatting error.")}})},fnServerParams:null,fnStateLoad:function(e){var e=this.oApi._fnReadCookie(e.sCookiePrefix+e.sInstance),j;try{j=
+"function"===typeof h.parseJSON?h.parseJSON(e):eval("("+e+")")}catch(m){j=null}return j},fnStateLoadParams:null,fnStateLoaded:null,fnStateSave:function(e,h){this.oApi._fnCreateCookie(e.sCookiePrefix+e.sInstance,this.oApi._fnJsonString(h),e.iCookieDuration,e.sCookiePrefix,e.fnCookieCallback)},fnStateSaveParams:null,iCookieDuration:7200,iDeferLoading:null,iDisplayLength:10,iDisplayStart:0,iScrollLoadGap:100,iTabIndex:0,oLanguage:{oAria:{sSortAscending:": activate to sort column ascending",sSortDescending:": activate to sort column descending"},
+oPaginate:{sFirst:"First",sLast:"Last",sNext:"Next",sPrevious:"Previous"},sEmptyTable:"No data available in table",sInfo:"Showing _START_ to _END_ of _TOTAL_ entries",sInfoEmpty:"Showing 0 to 0 of 0 entries",sInfoFiltered:"(filtered from _MAX_ total entries)",sInfoPostFix:"",sInfoThousands:",",sLengthMenu:"Show _MENU_ entries",sLoadingRecords:"Loading...",sProcessing:"Processing...",sSearch:"Search:",sUrl:"",sZeroRecords:"No matching records found"},oSearch:h.extend({},j.models.oSearch),sAjaxDataProp:"aaData",
+sAjaxSource:null,sCookiePrefix:"SpryMedia_DataTables_",sDom:"lfrtip",sPaginationType:"two_button",sScrollX:"",sScrollXInner:"",sScrollY:"",sServerMethod:"GET"};j.defaults.columns={aDataSort:null,asSorting:["asc","desc"],bSearchable:!0,bSortable:!0,bUseRendered:!0,bVisible:!0,fnCreatedCell:null,fnRender:null,iDataSort:-1,mData:null,mRender:null,sCellType:"td",sClass:"",sContentPadding:"",sDefaultContent:null,sName:"",sSortDataType:"std",sTitle:null,sType:null,sWidth:null};j.models.oSettings={oFeatures:{bAutoWidth:null,
+bDeferRender:null,bFilter:null,bInfo:null,bLengthChange:null,bPaginate:null,bProcessing:null,bServerSide:null,bSort:null,bSortClasses:null,bStateSave:null},oScroll:{bAutoCss:null,bCollapse:null,bInfinite:null,iBarWidth:0,iLoadGap:null,sX:null,sXInner:null,sY:null},oLanguage:{fnInfoCallback:null},oBrowser:{bScrollOversize:!1},aanFeatures:[],aoData:[],aiDisplay:[],aiDisplayMaster:[],aoColumns:[],aoHeader:[],aoFooter:[],asDataSearch:[],oPreviousSearch:{},aoPreSearchCols:[],aaSorting:null,aaSortingFixed:null,
+asStripeClasses:null,asDestroyStripes:[],sDestroyWidth:0,aoRowCallback:[],aoHeaderCallback:[],aoFooterCallback:[],aoDrawCallback:[],aoRowCreatedCallback:[],aoPreDrawCallback:[],aoInitComplete:[],aoStateSaveParams:[],aoStateLoadParams:[],aoStateLoaded:[],sTableId:"",nTable:null,nTHead:null,nTFoot:null,nTBody:null,nTableWrapper:null,bDeferLoading:!1,bInitialised:!1,aoOpenRows:[],sDom:null,sPaginationType:"two_button",iCookieDuration:0,sCookiePrefix:"",fnCookieCallback:null,aoStateSave:[],aoStateLoad:[],
+oLoadedState:null,sAjaxSource:null,sAjaxDataProp:null,bAjaxDataGet:!0,jqXHR:null,fnServerData:null,aoServerParams:[],sServerMethod:null,fnFormatNumber:null,aLengthMenu:null,iDraw:0,bDrawing:!1,iDrawError:-1,_iDisplayLength:10,_iDisplayStart:0,_iDisplayEnd:10,_iRecordsTotal:0,_iRecordsDisplay:0,bJUI:null,oClasses:{},bFiltered:!1,bSorted:!1,bSortCellsTop:null,oInit:null,aoDestroyCallback:[],fnRecordsTotal:function(){return this.oFeatures.bServerSide?parseInt(this._iRecordsTotal,10):this.aiDisplayMaster.length},
+fnRecordsDisplay:function(){return this.oFeatures.bServerSide?parseInt(this._iRecordsDisplay,10):this.aiDisplay.length},fnDisplayEnd:function(){return this.oFeatures.bServerSide?!1===this.oFeatures.bPaginate||-1==this._iDisplayLength?this._iDisplayStart+this.aiDisplay.length:Math.min(this._iDisplayStart+this._iDisplayLength,this._iRecordsDisplay):this._iDisplayEnd},oInstance:null,sInstance:null,iTabIndex:0,nScrollHead:null,nScrollFoot:null};j.ext=h.extend(!0,{},j.models.ext);h.extend(j.ext.oStdClasses,
+{sTable:"dataTable",sPagePrevEnabled:"paginate_enabled_previous",sPagePrevDisabled:"paginate_disabled_previous",sPageNextEnabled:"paginate_enabled_next",sPageNextDisabled:"paginate_disabled_next",sPageJUINext:"",sPageJUIPrev:"",sPageButton:"paginate_button",sPageButtonActive:"paginate_active",sPageButtonStaticDisabled:"paginate_button paginate_button_disabled",sPageFirst:"first",sPagePrevious:"previous",sPageNext:"next",sPageLast:"last",sStripeOdd:"odd",sStripeEven:"even",sRowEmpty:"dataTables_empty",
+sWrapper:"dataTables_wrapper",sFilter:"dataTables_filter",sInfo:"dataTables_info",sPaging:"dataTables_paginate paging_",sLength:"dataTables_length",sProcessing:"dataTables_processing",sSortAsc:"sorting_asc",sSortDesc:"sorting_desc",sSortable:"sorting",sSortableAsc:"sorting_asc_disabled",sSortableDesc:"sorting_desc_disabled",sSortableNone:"sorting_disabled",sSortColumn:"sorting_",sSortJUIAsc:"",sSortJUIDesc:"",sSortJUI:"",sSortJUIAscAllowed:"",sSortJUIDescAllowed:"",sSortJUIWrapper:"",sSortIcon:"",
+sScrollWrapper:"dataTables_scroll",sScrollHead:"dataTables_scrollHead",sScrollHeadInner:"dataTables_scrollHeadInner",sScrollBody:"dataTables_scrollBody",sScrollFoot:"dataTables_scrollFoot",sScrollFootInner:"dataTables_scrollFootInner",sFooterTH:"",sJUIHeader:"",sJUIFooter:""});h.extend(j.ext.oJUIClasses,j.ext.oStdClasses,{sPagePrevEnabled:"fg-button ui-button ui-state-default ui-corner-left",sPagePrevDisabled:"fg-button ui-button ui-state-default ui-corner-left ui-state-disabled",sPageNextEnabled:"fg-button ui-button ui-state-default ui-corner-right",
+sPageNextDisabled:"fg-button ui-button ui-state-default ui-corner-right ui-state-disabled",sPageJUINext:"ui-icon ui-icon-circle-arrow-e",sPageJUIPrev:"ui-icon ui-icon-circle-arrow-w",sPageButton:"fg-button ui-button ui-state-default",sPageButtonActive:"fg-button ui-button ui-state-default ui-state-disabled",sPageButtonStaticDisabled:"fg-button ui-button ui-state-default ui-state-disabled",sPageFirst:"first ui-corner-tl ui-corner-bl",sPageLast:"last ui-corner-tr ui-corner-br",sPaging:"dataTables_paginate fg-buttonset ui-buttonset fg-buttonset-multi ui-buttonset-multi paging_",
+sSortAsc:"ui-state-default",sSortDesc:"ui-state-default",sSortable:"ui-state-default",sSortableAsc:"ui-state-default",sSortableDesc:"ui-state-default",sSortableNone:"ui-state-default",sSortJUIAsc:"css_right ui-icon ui-icon-triangle-1-n",sSortJUIDesc:"css_right ui-icon ui-icon-triangle-1-s",sSortJUI:"css_right ui-icon ui-icon-carat-2-n-s",sSortJUIAscAllowed:"css_right ui-icon ui-icon-carat-1-n",sSortJUIDescAllowed:"css_right ui-icon ui-icon-carat-1-s",sSortJUIWrapper:"DataTables_sort_wrapper",sSortIcon:"DataTables_sort_icon",
+sScrollHead:"dataTables_scrollHead ui-state-default",sScrollFoot:"dataTables_scrollFoot ui-state-default",sFooterTH:"ui-state-default",sJUIHeader:"fg-toolbar ui-toolbar ui-widget-header ui-corner-tl ui-corner-tr ui-helper-clearfix",sJUIFooter:"fg-toolbar ui-toolbar ui-widget-header ui-corner-bl ui-corner-br ui-helper-clearfix"});h.extend(j.ext.oPagination,{two_button:{fnInit:function(e,j,m){var k=e.oLanguage.oPaginate,n=function(h){e.oApi._fnPageChange(e,h.data.action)&&m(e)},k=!e.bJUI?'<a class="'+
+e.oClasses.sPagePrevDisabled+'" tabindex="'+e.iTabIndex+'" role="button">'+k.sPrevious+'</a><a class="'+e.oClasses.sPageNextDisabled+'" tabindex="'+e.iTabIndex+'" role="button">'+k.sNext+"</a>":'<a class="'+e.oClasses.sPagePrevDisabled+'" tabindex="'+e.iTabIndex+'" role="button"><span class="'+e.oClasses.sPageJUIPrev+'"></span></a><a class="'+e.oClasses.sPageNextDisabled+'" tabindex="'+e.iTabIndex+'" role="button"><span class="'+e.oClasses.sPageJUINext+'"></span></a>';h(j).append(k);var l=h("a",j),
+k=l[0],l=l[1];e.oApi._fnBindAction(k,{action:"previous"},n);e.oApi._fnBindAction(l,{action:"next"},n);e.aanFeatures.p||(j.id=e.sTableId+"_paginate",k.id=e.sTableId+"_previous",l.id=e.sTableId+"_next",k.setAttribute("aria-controls",e.sTableId),l.setAttribute("aria-controls",e.sTableId))},fnUpdate:function(e){if(e.aanFeatures.p)for(var h=e.oClasses,j=e.aanFeatures.p,k,l=0,n=j.length;l<n;l++)if(k=j[l].firstChild)k.className=0===e._iDisplayStart?h.sPagePrevDisabled:h.sPagePrevEnabled,k=k.nextSibling,
+k.className=e.fnDisplayEnd()==e.fnRecordsDisplay()?h.sPageNextDisabled:h.sPageNextEnabled}},iFullNumbersShowPages:5,full_numbers:{fnInit:function(e,j,m){var k=e.oLanguage.oPaginate,l=e.oClasses,n=function(h){e.oApi._fnPageChange(e,h.data.action)&&m(e)};h(j).append('<a tabindex="'+e.iTabIndex+'" class="'+l.sPageButton+" "+l.sPageFirst+'">'+k.sFirst+'</a><a tabindex="'+e.iTabIndex+'" class="'+l.sPageButton+" "+l.sPagePrevious+'">'+k.sPrevious+'</a><span></span><a tabindex="'+e.iTabIndex+'" class="'+
+l.sPageButton+" "+l.sPageNext+'">'+k.sNext+'</a><a tabindex="'+e.iTabIndex+'" class="'+l.sPageButton+" "+l.sPageLast+'">'+k.sLast+"</a>");var t=h("a",j),k=t[0],l=t[1],r=t[2],t=t[3];e.oApi._fnBindAction(k,{action:"first"},n);e.oApi._fnBindAction(l,{action:"previous"},n);e.oApi._fnBindAction(r,{action:"next"},n);e.oApi._fnBindAction(t,{action:"last"},n);e.aanFeatures.p||(j.id=e.sTableId+"_paginate",k.id=e.sTableId+"_first",l.id=e.sTableId+"_previous",r.id=e.sTableId+"_next",t.id=e.sTableId+"_last")},
+fnUpdate:function(e,o){if(e.aanFeatures.p){var m=j.ext.oPagination.iFullNumbersShowPages,k=Math.floor(m/2),l=Math.ceil(e.fnRecordsDisplay()/e._iDisplayLength),n=Math.ceil(e._iDisplayStart/e._iDisplayLength)+1,t="",r,B=e.oClasses,u,M=e.aanFeatures.p,L=function(h){e.oApi._fnBindAction(this,{page:h+r-1},function(h){e.oApi._fnPageChange(e,h.data.page);o(e);h.preventDefault()})};-1===e._iDisplayLength?n=k=r=1:l<m?(r=1,k=l):n<=k?(r=1,k=m):n>=l-k?(r=l-m+1,k=l):(r=n-Math.ceil(m/2)+1,k=r+m-1);for(m=r;m<=k;m++)t+=
+n!==m?'<a tabindex="'+e.iTabIndex+'" class="'+B.sPageButton+'">'+e.fnFormatNumber(m)+"</a>":'<a tabindex="'+e.iTabIndex+'" class="'+B.sPageButtonActive+'">'+e.fnFormatNumber(m)+"</a>";m=0;for(k=M.length;m<k;m++)u=M[m],u.hasChildNodes()&&(h("span:eq(0)",u).html(t).children("a").each(L),u=u.getElementsByTagName("a"),u=[u[0],u[1],u[u.length-2],u[u.length-1]],h(u).removeClass(B.sPageButton+" "+B.sPageButtonActive+" "+B.sPageButtonStaticDisabled),h([u[0],u[1]]).addClass(1==n?B.sPageButtonStaticDisabled:
+B.sPageButton),h([u[2],u[3]]).addClass(0===l||n===l||-1===e._iDisplayLength?B.sPageButtonStaticDisabled:B.sPageButton))}}}});h.extend(j.ext.oSort,{"string-pre":function(e){"string"!=typeof e&&(e=null!==e&&e.toString?e.toString():"");return e.toLowerCase()},"string-asc":function(e,h){return e<h?-1:e>h?1:0},"string-desc":function(e,h){return e<h?1:e>h?-1:0},"html-pre":function(e){return e.replace(/<.*?>/g,"").toLowerCase()},"html-asc":function(e,h){return e<h?-1:e>h?1:0},"html-desc":function(e,h){return e<
+h?1:e>h?-1:0},"date-pre":function(e){e=Date.parse(e);if(isNaN(e)||""===e)e=Date.parse("01/01/1970 00:00:00");return e},"date-asc":function(e,h){return e-h},"date-desc":function(e,h){return h-e},"numeric-pre":function(e){return"-"==e||""===e?0:1*e},"numeric-asc":function(e,h){return e-h},"numeric-desc":function(e,h){return h-e}});h.extend(j.ext.aTypes,[function(e){if("number"===typeof e)return"numeric";if("string"!==typeof e)return null;var h,j=!1;h=e.charAt(0);if(-1=="0123456789-".indexOf(h))return null;
+for(var k=1;k<e.length;k++){h=e.charAt(k);if(-1=="0123456789.".indexOf(h))return null;if("."==h){if(j)return null;j=!0}}return"numeric"},function(e){var h=Date.parse(e);return null!==h&&!isNaN(h)||"string"===typeof e&&0===e.length?"date":null},function(e){return"string"===typeof e&&-1!=e.indexOf("<")&&-1!=e.indexOf(">")?"html":null}]);h.fn.DataTable=j;h.fn.dataTable=j;h.fn.dataTableSettings=j.settings;h.fn.dataTableExt=j.ext};"function"===typeof define&&define.amd?define(["jquery"],L):jQuery&&!jQuery.fn.dataTable&&
+L(jQuery)})(window,document);
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/js/jquery.easy-pie-chart.min.js b/src/main/webapp/static/login/assets/js/jquery.easy-pie-chart.min.js new file mode 100644 index 0000000..7b878f8 --- /dev/null +++ b/src/main/webapp/static/login/assets/js/jquery.easy-pie-chart.min.js @@ -0,0 +1 @@ +(function(a){a.easyPieChart=function(d,l){var f,g,i,j,c,k,e,b,h=this;this.el=d;this.$el=a(d);this.$el.data("easyPieChart",this);this.init=function(){var n,m;h.options=a.extend({},a.easyPieChart.defaultOptions,l);n=parseInt(h.$el.data("percent"),10);h.percentage=0;h.canvas=a("<canvas width='"+h.options.size+"' height='"+h.options.size+"'></canvas>").get(0);h.$el.append(h.canvas);if(typeof G_vmlCanvasManager!=="undefined"&&G_vmlCanvasManager!==null){G_vmlCanvasManager.initElement(h.canvas)}h.ctx=h.canvas.getContext("2d");if(window.devicePixelRatio>1){m=window.devicePixelRatio;a(h.canvas).css({width:h.options.size,height:h.options.size});h.canvas.width*=m;h.canvas.height*=m;h.ctx.scale(m,m)}h.ctx.translate(h.options.size/2,h.options.size/2);h.ctx.rotate(h.options.rotate*Math.PI/180);h.$el.addClass("easyPieChart");h.$el.css({width:h.options.size,height:h.options.size,lineHeight:""+h.options.size+"px"});h.update(n);return h};this.update=function(m){m=parseFloat(m)||0;if(h.options.animate===false){i(m)}else{if(h.options.delay){g(h.percentage,0);setTimeout(function(){return g(h.percentage,m)},h.options.delay)}else{g(h.percentage,m)}}return h};e=function(){var n,o,m;h.ctx.fillStyle=h.options.scaleColor;h.ctx.lineWidth=1;m=[];for(n=o=0;o<=24;n=++o){m.push(f(n))}return m};f=function(m){var n;n=m%6===0?0:h.options.size*0.017;h.ctx.save();h.ctx.rotate(m*Math.PI/12);h.ctx.fillRect(h.options.size/2-n,0,-h.options.size*0.05+n,1);h.ctx.restore()};b=function(){var m;m=h.options.size/2-h.options.lineWidth/2;if(h.options.scaleColor!==false){m-=h.options.size*0.08}h.ctx.beginPath();h.ctx.arc(0,0,m,0,Math.PI*2,true);h.ctx.closePath();h.ctx.strokeStyle=h.options.trackColor;h.ctx.lineWidth=h.options.lineWidth;h.ctx.stroke()};k=function(){if(h.options.scaleColor!==false){e()}if(h.options.trackColor!==false){b()}};i=function(m){var n;k();h.ctx.strokeStyle=a.isFunction(h.options.barColor)?h.options.barColor(m):h.options.barColor;h.ctx.lineCap=h.options.lineCap;h.ctx.lineWidth=h.options.lineWidth;n=h.options.size/2-h.options.lineWidth/2;if(h.options.scaleColor!==false){n-=h.options.size*0.08}h.ctx.save();h.ctx.rotate(-Math.PI/2);h.ctx.beginPath();h.ctx.arc(0,0,n,0,Math.PI*2*m/100,false);h.ctx.stroke();h.ctx.restore()};c=(function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||function(m){return window.setTimeout(m,1000/60)}})();g=function(p,o){var n,m;h.options.onStart.call(h);h.percentage=o;Date.now||(Date.now=function(){return +(new Date)});m=Date.now();n=function(){var q,r;r=Math.min(Date.now()-m,h.options.animate);h.ctx.clearRect(-h.options.size/2,-h.options.size/2,h.options.size,h.options.size);k.call(h);q=[j(r,p,o-p,h.options.animate)];h.options.onStep.call(h,q);i.call(h,q);if(r>=h.options.animate){return h.options.onStop.call(h,q,o)}else{return c(n)}};c(n)};j=function(o,n,r,p){var m,q;m=function(s){return Math.pow(s,2)};q=function(s){if(s<1){return m(s)}else{return 2-m((s/2)*-2+2)}};o/=p/2;return r/2*q(o)+n};return this.init()};a.easyPieChart.defaultOptions={barColor:"#ef1e25",trackColor:"#f2f2f2",scaleColor:"#dfe0e0",lineCap:"round",rotate:0,size:110,lineWidth:3,animate:false,delay:false,onStart:a.noop,onStop:a.noop,onStep:a.noop};a.fn.easyPieChart=function(b){return a.each(this,function(d,e){var c,f;c=a(e);if(!c.data("easyPieChart")){f=a.extend({},b,c.data());return c.data("easyPieChart",new a.easyPieChart(e,f))}})};return void 0})(jQuery);
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/js/jquery.gritter.min.js b/src/main/webapp/static/login/assets/js/jquery.gritter.min.js new file mode 100644 index 0000000..ff8c3f0 --- /dev/null +++ b/src/main/webapp/static/login/assets/js/jquery.gritter.min.js @@ -0,0 +1 @@ +(function(b){b.gritter={};b.gritter.options={position:"",class_name:"",fade_in_speed:"medium",fade_out_speed:1000,time:6000};b.gritter.add=function(f){try{return a.add(f||{})}catch(d){var c="Gritter Error: "+d;(typeof(console)!="undefined"&&console.error)?console.error(c,f):alert(c)}};b.gritter.remove=function(d,c){a.removeSpecific(d,c||{})};b.gritter.removeAll=function(c){a.stop(c||{})};var a={position:"",fade_in_speed:"",fade_out_speed:"",time:"",_custom_timer:0,_item_count:0,_is_setup:0,_tpl_close:'<div class="gritter-close"></div>',_tpl_title:'<span class="gritter-title">[[title]]</span>',_tpl_item:'<div id="gritter-item-[[number]]" class="gritter-item-wrapper [[item_class]]" style="display:none"><div class="gritter-top"></div><div class="gritter-item">[[close]][[image]]<div class="[[class_name]]">[[title]]<p>[[text]]</p></div><div style="clear:both"></div></div><div class="gritter-bottom"></div></div>',_tpl_wrap:'<div id="gritter-notice-wrapper"></div>',add:function(g){if(typeof(g)=="string"){g={text:g}}if(g.text===null){throw'You must supply "text" parameter.'}if(!this._is_setup){this._runSetup()}var k=g.title,n=g.text,e=g.image||"",l=g.sticky||false,m=g.class_name||b.gritter.options.class_name,j=b.gritter.options.position,d=g.time||"";this._verifyWrapper();this._item_count++;var f=this._item_count,i=this._tpl_item;b(["before_open","after_open","before_close","after_close"]).each(function(p,q){a["_"+q+"_"+f]=(b.isFunction(g[q]))?g[q]:function(){}});this._custom_timer=0;if(d){this._custom_timer=d}var c=(e!="")?'<img src="'+e+'" class="gritter-image" />':"",h=(e!="")?"gritter-with-image":"gritter-without-image";if(k){k=this._str_replace("[[title]]",k,this._tpl_title)}else{k=""}i=this._str_replace(["[[title]]","[[text]]","[[close]]","[[image]]","[[number]]","[[class_name]]","[[item_class]]"],[k,n,this._tpl_close,c,this._item_count,h,m],i);if(this["_before_open_"+f]()===false){return false}b("#gritter-notice-wrapper").addClass(j).append(i);var o=b("#gritter-item-"+this._item_count);o.fadeIn(this.fade_in_speed,function(){a["_after_open_"+f](b(this))});if(!l){this._setFadeTimer(o,f)}b(o).bind("mouseenter mouseleave",function(p){if(p.type=="mouseenter"){if(!l){a._restoreItemIfFading(b(this),f)}}else{if(!l){a._setFadeTimer(b(this),f)}}a._hoverState(b(this),p.type)});b(o).find(".gritter-close").click(function(){a.removeSpecific(f,{},null,true)});return f},_countRemoveWrapper:function(c,d,f){d.remove();this["_after_close_"+c](d,f);if(b(".gritter-item-wrapper").length==0){b("#gritter-notice-wrapper").remove()}},_fade:function(g,d,j,f){var j=j||{},i=(typeof(j.fade)!="undefined")?j.fade:true,c=j.speed||this.fade_out_speed,h=f;this["_before_close_"+d](g,h);if(f){g.unbind("mouseenter mouseleave")}if(i){g.animate({opacity:0},c,function(){g.animate({height:0},300,function(){a._countRemoveWrapper(d,g,h)})})}else{this._countRemoveWrapper(d,g)}},_hoverState:function(d,c){if(c=="mouseenter"){d.addClass("hover");d.find(".gritter-close").show()}else{d.removeClass("hover");d.find(".gritter-close").hide()}},removeSpecific:function(c,g,f,d){if(!f){var f=b("#gritter-item-"+c)}this._fade(f,c,g||{},d)},_restoreItemIfFading:function(d,c){clearTimeout(this["_int_id_"+c]);d.stop().css({opacity:"",height:""})},_runSetup:function(){for(opt in b.gritter.options){this[opt]=b.gritter.options[opt]}this._is_setup=1},_setFadeTimer:function(f,d){var c=(this._custom_timer)?this._custom_timer:this.time;this["_int_id_"+d]=setTimeout(function(){a._fade(f,d)},c)},stop:function(e){var c=(b.isFunction(e.before_close))?e.before_close:function(){};var f=(b.isFunction(e.after_close))?e.after_close:function(){};var d=b("#gritter-notice-wrapper");c(d);d.fadeOut(function(){b(this).remove();f()})},_str_replace:function(v,e,o,n){var k=0,h=0,t="",m="",g=0,q=0,l=[].concat(v),c=[].concat(e),u=o,d=c instanceof Array,p=u instanceof Array;u=[].concat(u);if(n){this.window[n]=0}for(k=0,g=u.length;k<g;k++){if(u[k]===""){continue}for(h=0,q=l.length;h<q;h++){t=u[k]+"";m=d?(c[h]!==undefined?c[h]:""):c[0];u[k]=(t).split(l[h]).join(m);if(n&&u[k]!==t){this.window[n]+=(t.length-u[k].length)/l[h].length}}}return p?u:u[0]},_verifyWrapper:function(){if(b("#gritter-notice-wrapper").length==0){b("body").append(this._tpl_wrap)}}}})(jQuery);
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/js/jquery.hotkeys.min.js b/src/main/webapp/static/login/assets/js/jquery.hotkeys.min.js new file mode 100644 index 0000000..b7f0466 --- /dev/null +++ b/src/main/webapp/static/login/assets/js/jquery.hotkeys.min.js @@ -0,0 +1 @@ +(function(b){b.hotkeys={version:"0.8",specialKeys:{8:"backspace",9:"tab",10:"return",13:"return",16:"shift",17:"ctrl",18:"alt",19:"pause",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"insert",46:"del",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9",106:"*",107:"+",109:"-",110:".",111:"/",112:"f1",113:"f2",114:"f3",115:"f4",116:"f5",117:"f6",118:"f7",119:"f8",120:"f9",121:"f10",122:"f11",123:"f12",144:"numlock",145:"scroll",186:";",191:"/",220:"\\",222:"'",224:"meta"},shiftNums:{"`":"~","1":"!","2":"@","3":"#","4":"$","5":"%","6":"^","7":"&","8":"*","9":"(","0":")","-":"_","=":"+",";":": ","'":'"',",":"<",".":">","/":"?","\\":"|"}};function a(d){if(typeof d.data=="undefined"){return}if(typeof d.data==="string"){d.data={keys:d.data}}if(!d.data||!d.data.keys||typeof d.data.keys!=="string"){return}var c=d.handler,e=d.data.keys.toLowerCase().split(" "),f=["text","password","number","email","url","range","date","month","week","time","datetime","datetime-local","search","color","tel"];d.handler=function(k){if(this!==k.target&&(/textarea|select/i.test(k.target.nodeName)||b.inArray(k.target.type,f)>-1)){return}var h=b.hotkeys.specialKeys[k.keyCode],m=(k.type==="keydown"||k.type==="keypress")&&String.fromCharCode(k.which).toLowerCase();modif="",possible={};if(k.altKey&&h!=="alt"){modif+="alt+"}if(k.ctrlKey&&h!=="ctrl"){modif+="ctrl+"}if(k.metaKey&&!k.ctrlKey&&h!=="meta"){modif+="meta+"}if(k.shiftKey&&h!=="shift"){modif+="shift+"}if(h){possible[modif+h]=true}if(m){possible[modif+m]=true;possible[modif+b.hotkeys.shiftNums[m]]=true;if(modif==="shift+"){possible[b.hotkeys.shiftNums[m]]=true}}for(var j=0,g=e.length;j<g;j++){if(possible[e[j]]){return c.apply(this,arguments)}}}}b.each(["keydown","keyup","keypress"],function(){b.event.special[this]={add:a}})})(this.jQuery);
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/js/jquery.inputlimiter.1.3.1.min.js b/src/main/webapp/static/login/assets/js/jquery.inputlimiter.1.3.1.min.js new file mode 100644 index 0000000..5161ff7 --- /dev/null +++ b/src/main/webapp/static/login/assets/js/jquery.inputlimiter.1.3.1.min.js @@ -0,0 +1,11 @@ +(function($){$.fn.inputlimiter=function(options){var opts=$.extend({},$.fn.inputlimiter.defaults,options),$elements=$(this);if(opts.boxAttach&&!$('#'+opts.boxId).length){$('<div/>').appendTo("body").attr({id:opts.boxId,'class':opts.boxClass}).css({'position':'absolute'}).hide();if($.fn.bgiframe){$('#'+opts.boxId).bgiframe();}} +var inputlimiterKeyup=function(e){var $this=$(this),count=counter($this.val());if(!opts.allowExceed&&count>opts.limit){$this.val(truncater($this.val()));} +if(opts.boxAttach){$('#'+opts.boxId).css({'width':$this.outerWidth()-($('#'+opts.boxId).outerWidth()-$('#'+opts.boxId).width())+'px','left':$this.offset().left+'px','top':($this.offset().top+$this.outerHeight())-1+'px','z-index':2000});} +var charsRemaining=(opts.limit-count>0?opts.limit-count:0),remText=opts.remTextFilter(opts,charsRemaining),limitText=opts.limitTextFilter(opts);if(opts.limitTextShow){$('#'+opts.boxId).html(remText+' '+limitText);var textWidth=$("<span/>").appendTo("body").attr({id:'19cc9195583bfae1fad88e19d443be7a','class':opts.boxClass}).html(remText+' '+limitText).innerWidth();$("#19cc9195583bfae1fad88e19d443be7a").remove();if(textWidth>$('#'+opts.boxId).innerWidth()){$('#'+opts.boxId).html(remText+'<br />'+limitText);} +$('#'+opts.boxId).show();}else{$('#'+opts.boxId).html(remText).show();}},inputlimiterKeypress=function(e){var count=counter($(this).val());if(!opts.allowExceed&&count>opts.limit){var modifierKeyPressed=e.ctrlKey||e.altKey||e.metaKey;if(!modifierKeyPressed&&(e.which>=32&&e.which<=122)&&this.selectionStart===this.selectionEnd){return false;}}},inputlimiterBlur=function(){var $this=$(this);count=counter($this.val());if(!opts.allowExceed&&count>opts.limit){$this.val(truncater($this.val()));} +if(opts.boxAttach){$('#'+opts.boxId).fadeOut('fast');}else if(opts.remTextHideOnBlur){var limitText=opts.limitText;limitText=limitText.replace(/\%n/g,opts.limit);limitText=limitText.replace(/\%s/g,(opts.limit===1?'':'s'));$('#'+opts.boxId).html(limitText);}},counter=function(value){if(opts.limitBy.toLowerCase()==="words"){return(value.length>0?$.trim(value).replace(/\ +(?= )/g,'').split(' ').length:0);} +var count=value.length,newlines=value.match(/\n/g);if(newlines&&opts.lineReturnCount>1){count+=newlines.length*(opts.lineReturnCount-1);} +return count;},truncater=function(value){if(opts.limitBy.toLowerCase()==="words"){return $.trim(value).replace(/\ +(?= )/g,'').split(' ').splice(0,opts.limit).join(' ')+' ';} +return value.substring(0,opts.limit);};$(this).each(function(i){var $this=$(this);if((!options||!options.limit)&&opts.useMaxlength&&parseInt($this.attr('maxlength'))>0&&parseInt($this.attr('maxlength'))!=opts.limit){$this.inputlimiter($.extend({},opts,{limit:parseInt($this.attr('maxlength'))}));}else{if(!opts.allowExceed&&opts.useMaxlength&&opts.limitBy.toLowerCase()==="characters"){$this.attr('maxlength',opts.limit);} +$this.unbind('.inputlimiter');$this.bind('keyup.inputlimiter',inputlimiterKeyup);$this.bind('keypress.inputlimiter',inputlimiterKeypress);$this.bind('blur.inputlimiter',inputlimiterBlur);}});};$.fn.inputlimiter.remtextfilter=function(opts,charsRemaining){var remText=opts.remText;if(charsRemaining===0&&opts.remFullText!==null){remText=opts.remFullText;} +remText=remText.replace(/\%n/g,charsRemaining);remText=remText.replace(/\%s/g,(opts.zeroPlural?(charsRemaining===1?'':'s'):(charsRemaining<=1?'':'s')));return remText;};$.fn.inputlimiter.limittextfilter=function(opts){var limitText=opts.limitText;limitText=limitText.replace(/\%n/g,opts.limit);limitText=limitText.replace(/\%s/g,(opts.limit<=1?'':'s'));return limitText;};$.fn.inputlimiter.defaults={limit:255,boxAttach:true,boxId:'limiterBox',boxClass:'limiterBox',remText:'%n character%s remaining.',remTextFilter:$.fn.inputlimiter.remtextfilter,remTextHideOnBlur:true,remFullText:null,limitTextShow:true,limitText:'Field limited to %n character%s.',limitTextFilter:$.fn.inputlimiter.limittextfilter,zeroPlural:true,allowExceed:false,useMaxlength:true,limitBy:'characters',lineReturnCount:1};})(jQuery);
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/js/jquery.knob.min.js b/src/main/webapp/static/login/assets/js/jquery.knob.min.js new file mode 100644 index 0000000..68326e6 --- /dev/null +++ b/src/main/webapp/static/login/assets/js/jquery.knob.min.js @@ -0,0 +1,15 @@ +/*!jQuery Knob*/ +/** + * Downward compatible, touchable dial + * + * Version: 1.2.0 (15/07/2012) + * Requires: jQuery v1.7+ + * + * Copyright (c) 2012 Anthony Terrien + * Under MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + * + * Thanks to vor, eskimoblood, spiffistan, FabrizioC + */ +(function($){"use strict";var k={},max=Math.max,min=Math.min;k.c={};k.c.d=$(document);k.c.t=function(e){return e.originalEvent.touches.length-1};k.o=function(){var s=this;this.o=null;this.$=null;this.i=null;this.g=null;this.v=null;this.cv=null;this.x=0;this.y=0;this.$c=null;this.c=null;this.t=0;this.isInit=false;this.fgColor=null;this.pColor=null;this.dH=null;this.cH=null;this.eH=null;this.rH=null;this.usesExcanvas=typeof G_vmlCanvasManager!=="undefined";this.run=function(){var cf=function(e,conf){var k;for(k in conf){s.o[k]=conf[k]}s.init();s._configure()._draw()};if(this.$.data("kontroled"))return;this.$.data("kontroled",true);this.extend();this.o=$.extend({min:this.$.data("min")||0,max:this.$.data("max")||100,stopper:true,readOnly:this.$.data("readonly"),cursor:this.$.data("cursor")===true&&30||this.$.data("cursor")||0,thickness:this.$.data("thickness")||.35,width:this.$.data("width")||200,height:this.$.data("height")||200,displayInput:this.$.data("displayinput")==null||this.$.data("displayinput"),displayPrevious:this.$.data("displayprevious"),fgColor:this.$.data("fgcolor")||"#87CEEB",inline:false,draw:null,change:null,cancel:null,release:null},this.o);if(this.$.is("fieldset")){this.v={};this.i=this.$.find("input");this.i.each(function(k){var $this=$(this);s.i[k]=$this;s.v[k]=$this.val();$this.bind("change",function(){var val={};val[k]=$this.val();s.val(val)})});this.$.find("legend").remove()}else{this.i=this.$;this.v=this.$.val();this.v==""&&(this.v=this.o.min);this.$.bind("change",function(){s.val(s.$.val())})}!this.o.displayInput&&this.$.hide();this.$c=$(document.createElement("canvas")).attr({width:this.o.width,height:this.o.height});this.$.wrap($('<div style="'+(this.o.inline?"display:inline;":"")+"width:"+this.o.width+"px;height:"+this.o.height+'px;"></div>')).before(this.$c);if(typeof G_vmlCanvasManager!=="undefined"){G_vmlCanvasManager.initElement(this.$c[0])}if(this.usesExcanvas){G_vmlCanvasManager.initElement(this.$c[0])}this.c=this.$c[0].getContext("2d");if(this.v instanceof Object){this.cv={};this.copy(this.v,this.cv)}else{this.cv=this.v}this.$.bind("configure",cf).parent().bind("configure",cf);this._listen()._configure()._xy().init();this.isInit=true;this._draw();return this};this._draw=function(){var d=true;s.g=s.c;s.clear();s.dH&&(d=s.dH());d!==false&&s.draw()};this._touch=function(e){var touchMove=function(e){var v=s.xy2val(e.originalEvent.touches[s.t].pageX,e.originalEvent.touches[s.t].pageY);if(v==s.cv)return;if(s.cH&&s.cH(v)===false)return;s.change(v);s._draw()};this.t=k.c.t(e);touchMove(e);k.c.d.bind("touchmove.k",touchMove).bind("touchend.k",function(){k.c.d.unbind("touchmove.k touchend.k");if(s.rH&&s.rH(s.cv)===false)return;s.val(s.cv)});return this};this._mouse=function(e){var mouseMove=function(e){var v=s.xy2val(e.pageX,e.pageY);if(v==s.cv)return;if(s.cH&&s.cH(v)===false)return;s.change(v);s._draw()};mouseMove(e);k.c.d.bind("mousemove.k",mouseMove).bind("keyup.k",function(e){if(e.keyCode===27){k.c.d.unbind("mouseup.k mousemove.k keyup.k");if(s.eH&&s.eH()===false)return;s.cancel()}}).bind("mouseup.k",function(e){k.c.d.unbind("mousemove.k mouseup.k keyup.k");if(s.rH&&s.rH(s.cv)===false)return;s.val(s.cv)});return this};this._xy=function(){var o=this.$c.offset();this.x=o.left;this.y=o.top;return this};this._listen=function(){if(!this.o.readOnly){this.$c.bind("mousedown",function(e){e.preventDefault();s._xy()._mouse(e)}).bind("touchstart",function(e){e.preventDefault();s._xy()._touch(e)});this.listen()}else{this.$.attr("readonly","readonly")}return this};this._configure=function(){if(this.o.draw)this.dH=this.o.draw;if(this.o.change)this.cH=this.o.change;if(this.o.cancel)this.eH=this.o.cancel;if(this.o.release)this.rH=this.o.release;if(this.o.displayPrevious){this.pColor=this.h2rgba(this.o.fgColor,"0.4");this.fgColor=this.h2rgba(this.o.fgColor,"0.6")}else{this.fgColor=this.o.fgColor}return this};this._clear=function(){this.$c[0].width=this.$c[0].width};this.listen=function(){};this.extend=function(){};this.init=function(){};this.change=function(v){};this.val=function(v){};this.xy2val=function(x,y){};this.draw=function(){};this.clear=function(){this._clear()};this.h2rgba=function(h,a){var rgb;h=h.substring(1,7);rgb=[parseInt(h.substring(0,2),16),parseInt(h.substring(2,4),16),parseInt(h.substring(4,6),16)];return"rgba("+rgb[0]+","+rgb[1]+","+rgb[2]+","+a+")"};this.copy=function(f,t){for(var i in f){t[i]=f[i]}}};k.Dial=function(){k.o.call(this);this.startAngle=null;this.xy=null;this.radius=null;this.lineWidth=null;this.cursorExt=null;this.w2=null;this.PI2=2*Math.PI;this.extend=function(){this.o=$.extend({bgColor:this.$.data("bgcolor")||"#EEEEEE",angleOffset:this.$.data("angleoffset")||0,angleArc:this.$.data("anglearc")||360,inline:true},this.o)};this.val=function(v){if(null!=v){this.cv=this.o.stopper?max(min(v,this.o.max),this.o.min):v;this.v=this.cv;this.$.val(this.v);this._draw()}else{return this.v}};this.xy2val=function(x,y){var a,ret;a=Math.atan2(x-(this.x+this.w2),-(y-this.y-this.w2))-this.angleOffset;if(this.angleArc!=this.PI2&&a<0&&a>-.5){a=0}else if(a<0){a+=this.PI2}ret=~~(.5+a*(this.o.max-this.o.min)/this.angleArc)+this.o.min;this.o.stopper&&(ret=max(min(ret,this.o.max),this.o.min));return ret};this.listen=function(){var s=this,mw=function(e){e.preventDefault();var ori=e.originalEvent,deltaX=ori.detail||ori.wheelDeltaX,deltaY=ori.detail||ori.wheelDeltaY,v=parseInt(s.$.val()||s.o.min)+(deltaX>0||deltaY>0?1:deltaX<0||deltaY<0?-1:0);if(s.cH&&s.cH(v)===false)return;s.val(v)},kval,to,m=1,kv={37:-1,38:1,39:1,40:-1};this.$.bind("keydown",function(e){var kc=e.keyCode;if(kc>=96&&kc<=105){kc=e.keyCode=kc-48}kval=parseInt(String.fromCharCode(kc));if(isNaN(kval)){kc!==13&&kc!==8&&kc!==9&&kc!==189&&e.preventDefault();if($.inArray(kc,[37,38,39,40])>-1){e.preventDefault();var v=parseInt(s.$.val())+kv[kc]*m;s.o.stopper&&(v=max(min(v,s.o.max),s.o.min));s.change(v);s._draw();to=window.setTimeout(function(){m*=2},30)}}}).bind("keyup",function(e){if(isNaN(kval)){if(to){window.clearTimeout(to);to=null;m=1;s.val(s.$.val())}}else{s.$.val()>s.o.max&&s.$.val(s.o.max)||s.$.val()<s.o.min&&s.$.val(s.o.min)}});this.$c.bind("mousewheel DOMMouseScroll",mw);this.$.bind("mousewheel DOMMouseScroll",mw)};this.init=function(){if(this.v<this.o.min||this.v>this.o.max)this.v=this.o.min;this.$.val(this.v);this.w2=this.o.width/2;this.cursorExt=this.o.cursor/100;this.xy=this.w2;this.lineWidth=this.xy*this.o.thickness;this.radius=this.xy-this.lineWidth/2;this.o.angleOffset&&(this.o.angleOffset=isNaN(this.o.angleOffset)?0:this.o.angleOffset);this.o.angleArc&&(this.o.angleArc=isNaN(this.o.angleArc)?this.PI2:this.o.angleArc);this.angleOffset=this.o.angleOffset*Math.PI/180;this.angleArc=this.o.angleArc*Math.PI/180;this.startAngle=1.5*Math.PI+this.angleOffset;this.endAngle=1.5*Math.PI+this.angleOffset+this.angleArc;var s=max(String(Math.abs(this.o.max)).length,String(Math.abs(this.o.min)).length,2)+2;this.o.displayInput&&this.i.css({width:(this.o.width/2+4>>0)+"px",height:(this.o.width/3>>0)+"px",position:"absolute","vertical-align":"middle","margin-top":(this.o.width/3>>0)+"px","margin-left":"-"+(this.o.width*3/4+2>>0)+"px",border:0,background:"none",font:"bold "+(this.o.width/s>>0)+"px Arial","text-align":"center",color:this.o.fgColor,padding:"0px","-webkit-appearance":"none"})||this.i.css({width:"0px",visibility:"hidden"})};this.change=function(v){this.cv=v;this.$.val(v)};this.angle=function(v){return(v-this.o.min)*this.angleArc/(this.o.max-this.o.min)};this.draw=function(){var c=this.g,a=this.angle(this.cv),sat=this.startAngle,eat=sat+a,sa,ea,r=1;c.lineWidth=this.lineWidth;this.o.cursor&&(sat=eat-this.cursorExt)&&(eat=eat+this.cursorExt);c.beginPath();c.strokeStyle=this.o.bgColor;c.arc(this.xy,this.xy,this.radius,this.endAngle,this.startAngle,true);c.stroke();if(this.o.displayPrevious){ea=this.startAngle+this.angle(this.v);sa=this.startAngle;this.o.cursor&&(sa=ea-this.cursorExt)&&(ea=ea+this.cursorExt);c.beginPath();c.strokeStyle=this.pColor;c.arc(this.xy,this.xy,this.radius,sa,ea,false);c.stroke();r=this.cv==this.v}c.beginPath();c.strokeStyle=r?this.o.fgColor:this.fgColor;c.arc(this.xy,this.xy,this.radius,sat,eat,false);c.stroke()};this.cancel=function(){this.val(this.v)}};$.fn.dial=$.fn.knob=function(o){return this.each(function(){var d=new k.Dial;d.o=o;d.$=$(this);d.run()}).parent()}})(jQuery);
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/js/jquery.maskedinput.min.js b/src/main/webapp/static/login/assets/js/jquery.maskedinput.min.js new file mode 100644 index 0000000..0d9ce6e --- /dev/null +++ b/src/main/webapp/static/login/assets/js/jquery.maskedinput.min.js @@ -0,0 +1,7 @@ +/* + Masked Input plugin for jQuery + Copyright (c) 2007-2013 Josh Bush (digitalbush.com) + Licensed under the MIT license (http://digitalbush.com/projects/masked-input-plugin/#license) + Version: 1.3.1 +*/ +(function(e){function t(){var e=document.createElement("input"),t="onpaste";return e.setAttribute(t,""),"function"==typeof e[t]?"paste":"input"}var n,a=t()+".mask",r=navigator.userAgent,i=/iphone/i.test(r),o=/android/i.test(r);e.mask={definitions:{9:"[0-9]",a:"[A-Za-z]","*":"[A-Za-z0-9]"},dataName:"rawMaskFn",placeholder:"_"},e.fn.extend({caret:function(e,t){var n;if(0!==this.length&&!this.is(":hidden"))return"number"==typeof e?(t="number"==typeof t?t:e,this.each(function(){this.setSelectionRange?this.setSelectionRange(e,t):this.createTextRange&&(n=this.createTextRange(),n.collapse(!0),n.moveEnd("character",t),n.moveStart("character",e),n.select())})):(this[0].setSelectionRange?(e=this[0].selectionStart,t=this[0].selectionEnd):document.selection&&document.selection.createRange&&(n=document.selection.createRange(),e=0-n.duplicate().moveStart("character",-1e5),t=e+n.text.length),{begin:e,end:t})},unmask:function(){return this.trigger("unmask")},mask:function(t,r){var c,l,s,u,f,h;return!t&&this.length>0?(c=e(this[0]),c.data(e.mask.dataName)()):(r=e.extend({placeholder:e.mask.placeholder,completed:null},r),l=e.mask.definitions,s=[],u=h=t.length,f=null,e.each(t.split(""),function(e,t){"?"==t?(h--,u=e):l[t]?(s.push(RegExp(l[t])),null===f&&(f=s.length-1)):s.push(null)}),this.trigger("unmask").each(function(){function c(e){for(;h>++e&&!s[e];);return e}function d(e){for(;--e>=0&&!s[e];);return e}function m(e,t){var n,a;if(!(0>e)){for(n=e,a=c(t);h>n;n++)if(s[n]){if(!(h>a&&s[n].test(R[a])))break;R[n]=R[a],R[a]=r.placeholder,a=c(a)}b(),x.caret(Math.max(f,e))}}function p(e){var t,n,a,i;for(t=e,n=r.placeholder;h>t;t++)if(s[t]){if(a=c(t),i=R[t],R[t]=n,!(h>a&&s[a].test(i)))break;n=i}}function g(e){var t,n,a,r=e.which;8===r||46===r||i&&127===r?(t=x.caret(),n=t.begin,a=t.end,0===a-n&&(n=46!==r?d(n):a=c(n-1),a=46===r?c(a):a),k(n,a),m(n,a-1),e.preventDefault()):27==r&&(x.val(S),x.caret(0,y()),e.preventDefault())}function v(t){var n,a,i,l=t.which,u=x.caret();t.ctrlKey||t.altKey||t.metaKey||32>l||l&&(0!==u.end-u.begin&&(k(u.begin,u.end),m(u.begin,u.end-1)),n=c(u.begin-1),h>n&&(a=String.fromCharCode(l),s[n].test(a)&&(p(n),R[n]=a,b(),i=c(n),o?setTimeout(e.proxy(e.fn.caret,x,i),0):x.caret(i),r.completed&&i>=h&&r.completed.call(x))),t.preventDefault())}function k(e,t){var n;for(n=e;t>n&&h>n;n++)s[n]&&(R[n]=r.placeholder)}function b(){x.val(R.join(""))}function y(e){var t,n,a=x.val(),i=-1;for(t=0,pos=0;h>t;t++)if(s[t]){for(R[t]=r.placeholder;pos++<a.length;)if(n=a.charAt(pos-1),s[t].test(n)){R[t]=n,i=t;break}if(pos>a.length)break}else R[t]===a.charAt(pos)&&t!==u&&(pos++,i=t);return e?b():u>i+1?(x.val(""),k(0,h)):(b(),x.val(x.val().substring(0,i+1))),u?t:f}var x=e(this),R=e.map(t.split(""),function(e){return"?"!=e?l[e]?r.placeholder:e:void 0}),S=x.val();x.data(e.mask.dataName,function(){return e.map(R,function(e,t){return s[t]&&e!=r.placeholder?e:null}).join("")}),x.attr("readonly")||x.one("unmask",function(){x.unbind(".mask").removeData(e.mask.dataName)}).bind("focus.mask",function(){clearTimeout(n);var e;S=x.val(),e=y(),n=setTimeout(function(){b(),e==t.length?x.caret(0,e):x.caret(e)},10)}).bind("blur.mask",function(){y(),x.val()!=S&&x.change()}).bind("keydown.mask",g).bind("keypress.mask",v).bind(a,function(){setTimeout(function(){var e=y(!0);x.caret(e),r.completed&&e==x.val().length&&r.completed.call(x)},0)}),y()}))}})})(jQuery);
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/js/jquery.mobile.custom.min.js b/src/main/webapp/static/login/assets/js/jquery.mobile.custom.min.js new file mode 100644 index 0000000..d648226 --- /dev/null +++ b/src/main/webapp/static/login/assets/js/jquery.mobile.custom.min.js @@ -0,0 +1,3 @@ +/*! jQuery Mobile v1.3.2 | Copyright 2010, 2013 jQuery Foundation, Inc. | jquery.org/license */ + +(function(e,t,n){typeof define=="function"&&define.amd?define(["jquery"],function(r){return n(r,e,t),r.mobile}):n(e.jQuery,e,t)})(this,document,function(e,t,n,r){(function(e,t,n,r){function x(e){while(e&&typeof e.originalEvent!="undefined")e=e.originalEvent;return e}function T(t,n){var i=t.type,s,o,a,l,c,h,p,d,v;t=e.Event(t),t.type=n,s=t.originalEvent,o=e.event.props,i.search(/^(mouse|click)/)>-1&&(o=f);if(s)for(p=o.length,l;p;)l=o[--p],t[l]=s[l];i.search(/mouse(down|up)|click/)>-1&&!t.which&&(t.which=1);if(i.search(/^touch/)!==-1){a=x(s),i=a.touches,c=a.changedTouches,h=i&&i.length?i[0]:c&&c.length?c[0]:r;if(h)for(d=0,v=u.length;d<v;d++)l=u[d],t[l]=h[l]}return t}function N(t){var n={},r,s;while(t){r=e.data(t,i);for(s in r)r[s]&&(n[s]=n.hasVirtualBinding=!0);t=t.parentNode}return n}function C(t,n){var r;while(t){r=e.data(t,i);if(r&&(!n||r[n]))return t;t=t.parentNode}return null}function k(){g=!1}function L(){g=!0}function A(){E=0,v.length=0,m=!1,L()}function O(){k()}function M(){_(),c=setTimeout(function(){c=0,A()},e.vmouse.resetTimerDuration)}function _(){c&&(clearTimeout(c),c=0)}function D(t,n,r){var i;if(r&&r[t]||!r&&C(n.target,t))i=T(n,t),e(n.target).trigger(i);return i}function P(t){var n=e.data(t.target,s);if(!m&&(!E||E!==n)){var r=D("v"+t.type,t);r&&(r.isDefaultPrevented()&&t.preventDefault(),r.isPropagationStopped()&&t.stopPropagation(),r.isImmediatePropagationStopped()&&t.stopImmediatePropagation())}}function H(t){var n=x(t).touches,r,i;if(n&&n.length===1){r=t.target,i=N(r);if(i.hasVirtualBinding){E=w++,e.data(r,s,E),_(),O(),d=!1;var o=x(t).touches[0];h=o.pageX,p=o.pageY,D("vmouseover",t,i),D("vmousedown",t,i)}}}function B(e){if(g)return;d||D("vmousecancel",e,N(e.target)),d=!0,M()}function j(t){if(g)return;var n=x(t).touches[0],r=d,i=e.vmouse.moveDistanceThreshold,s=N(t.target);d=d||Math.abs(n.pageX-h)>i||Math.abs(n.pageY-p)>i,d&&!r&&D("vmousecancel",t,s),D("vmousemove",t,s),M()}function F(e){if(g)return;L();var t=N(e.target),n;D("vmouseup",e,t);if(!d){var r=D("vclick",e,t);r&&r.isDefaultPrevented()&&(n=x(e).changedTouches[0],v.push({touchID:E,x:n.clientX,y:n.clientY}),m=!0)}D("vmouseout",e,t),d=!1,M()}function I(t){var n=e.data(t,i),r;if(n)for(r in n)if(n[r])return!0;return!1}function q(){}function R(t){var n=t.substr(1);return{setup:function(r,s){I(this)||e.data(this,i,{});var o=e.data(this,i);o[t]=!0,l[t]=(l[t]||0)+1,l[t]===1&&b.bind(n,P),e(this).bind(n,q),y&&(l.touchstart=(l.touchstart||0)+1,l.touchstart===1&&b.bind("touchstart",H).bind("touchend",F).bind("touchmove",j).bind("scroll",B))},teardown:function(r,s){--l[t],l[t]||b.unbind(n,P),y&&(--l.touchstart,l.touchstart||b.unbind("touchstart",H).unbind("touchmove",j).unbind("touchend",F).unbind("scroll",B));var o=e(this),u=e.data(this,i);u&&(u[t]=!1),o.unbind(n,q),I(this)||o.removeData(i)}}}var i="virtualMouseBindings",s="virtualTouchID",o="vmouseover vmousedown vmousemove vmouseup vclick vmouseout vmousecancel".split(" "),u="clientX clientY pageX pageY screenX screenY".split(" "),a=e.event.mouseHooks?e.event.mouseHooks.props:[],f=e.event.props.concat(a),l={},c=0,h=0,p=0,d=!1,v=[],m=!1,g=!1,y="addEventListener"in n,b=e(n),w=1,E=0,S;e.vmouse={moveDistanceThreshold:10,clickDistanceThreshold:10,resetTimerDuration:1500};for(var U=0;U<o.length;U++)e.event.special[o[U]]=R(o[U]);y&&n.addEventListener("click",function(t){var n=v.length,r=t.target,i,o,u,a,f,l;if(n){i=t.clientX,o=t.clientY,S=e.vmouse.clickDistanceThreshold,u=r;while(u){for(a=0;a<n;a++){f=v[a],l=0;if(u===r&&Math.abs(f.x-i)<S&&Math.abs(f.y-o)<S||e.data(u,s)===f.touchID){t.preventDefault(),t.stopPropagation();return}}u=u.parentNode}}},!0)})(e,t,n),function(e){e.mobile={}}(e),function(e,t){var r={touch:"ontouchend"in n};e.mobile.support=e.mobile.support||{},e.extend(e.support,r),e.extend(e.mobile.support,r)}(e),function(e,t,r){function l(t,n,r){var i=r.type;r.type=n,e.event.dispatch.call(t,r),r.type=i}var i=e(n);e.each("touchstart touchmove touchend tap taphold swipe swipeleft swiperight scrollstart scrollstop".split(" "),function(t,n){e.fn[n]=function(e){return e?this.bind(n,e):this.trigger(n)},e.attrFn&&(e.attrFn[n]=!0)});var s=e.mobile.support.touch,o="touchmove scroll",u=s?"touchstart":"mousedown",a=s?"touchend":"mouseup",f=s?"touchmove":"mousemove";e.event.special.scrollstart={enabled:!0,setup:function(){function s(e,n){r=n,l(t,r?"scrollstart":"scrollstop",e)}var t=this,n=e(t),r,i;n.bind(o,function(t){if(!e.event.special.scrollstart.enabled)return;r||s(t,!0),clearTimeout(i),i=setTimeout(function(){s(t,!1)},50)})}},e.event.special.tap={tapholdThreshold:750,setup:function(){var t=this,n=e(t);n.bind("vmousedown",function(r){function a(){clearTimeout(u)}function f(){a(),n.unbind("vclick",c).unbind("vmouseup",a),i.unbind("vmousecancel",f)}function c(e){f(),s===e.target&&l(t,"tap",e)}if(r.which&&r.which!==1)return!1;var s=r.target,o=r.originalEvent,u;n.bind("vmouseup",a).bind("vclick",c),i.bind("vmousecancel",f),u=setTimeout(function(){l(t,"taphold",e.Event("taphold",{target:s}))},e.event.special.tap.tapholdThreshold)})}},e.event.special.swipe={scrollSupressionThreshold:30,durationThreshold:1e3,horizontalDistanceThreshold:30,verticalDistanceThreshold:75,start:function(t){var n=t.originalEvent.touches?t.originalEvent.touches[0]:t;return{time:(new Date).getTime(),coords:[n.pageX,n.pageY],origin:e(t.target)}},stop:function(e){var t=e.originalEvent.touches?e.originalEvent.touches[0]:e;return{time:(new Date).getTime(),coords:[t.pageX,t.pageY]}},handleSwipe:function(t,n){n.time-t.time<e.event.special.swipe.durationThreshold&&Math.abs(t.coords[0]-n.coords[0])>e.event.special.swipe.horizontalDistanceThreshold&&Math.abs(t.coords[1]-n.coords[1])<e.event.special.swipe.verticalDistanceThreshold&&t.origin.trigger("swipe").trigger(t.coords[0]>n.coords[0]?"swipeleft":"swiperight")},setup:function(){var t=this,n=e(t);n.bind(u,function(t){function o(t){if(!i)return;s=e.event.special.swipe.stop(t),Math.abs(i.coords[0]-s.coords[0])>e.event.special.swipe.scrollSupressionThreshold&&t.preventDefault()}var i=e.event.special.swipe.start(t),s;n.bind(f,o).one(a,function(){n.unbind(f,o),i&&s&&e.event.special.swipe.handleSwipe(i,s),i=s=r})})}},e.each({scrollstop:"scrollstart",taphold:"tap",swipeleft:"swipe",swiperight:"swipe"},function(t,n){e.event.special[t]={setup:function(){e(this).bind(n,e.noop)}}})}(e,this),function(e,t,r){var i={};e.mobile=e.extend(e.mobile,{version:"1.3.2",ns:"",subPageUrlKey:"ui-page",activePageClass:"ui-page-active",activeBtnClass:"ui-btn-active",focusClass:"ui-focus",ajaxEnabled:!0,hashListeningEnabled:!0,linkBindingEnabled:!0,defaultPageTransition:"fade",maxTransitionWidth:!1,minScrollBack:250,touchOverflowEnabled:!1,defaultDialogTransition:"pop",pageLoadErrorMessage:"Error Loading Page",pageLoadErrorMessageTheme:"e",phonegapNavigationEnabled:!1,autoInitializePage:!0,pushStateEnabled:!0,ignoreContentEnabled:!1,orientationChangeEnabled:!0,buttonMarkup:{hoverDelay:200},window:e(t),document:e(n),keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91},behaviors:{},silentScroll:function(n){e.type(n)!=="number"&&(n=e.mobile.defaultHomeScroll),e.event.special.scrollstart.enabled=!1,setTimeout(function(){t.scrollTo(0,n),e.mobile.document.trigger("silentscroll",{x:0,y:n})},20),setTimeout(function(){e.event.special.scrollstart.enabled=!0},150)},nsNormalizeDict:i,nsNormalize:function(t){if(!t)return;return i[t]||(i[t]=e.camelCase(e.mobile.ns+t))},getInheritedTheme:function(e,t){var n=e[0],r="",i=/ui-(bar|body|overlay)-([a-z])\b/,s,o;while(n){s=n.className||"";if(s&&(o=i.exec(s))&&(r=o[2]))break;n=n.parentNode}return r||t||"a"},closestPageData:function(e){return e.closest(':jqmData(role="page"), :jqmData(role="dialog")').data("mobile-page")},enhanceable:function(e){return this.haveParents(e,"enhance")},hijackable:function(e){return this.haveParents(e,"ajax")},haveParents:function(t,n){if(!e.mobile.ignoreContentEnabled)return t;var r=t.length,i=e(),s,o,u;for(var a=0;a<r;a++){o=t.eq(a),u=!1,s=t[a];while(s){var f=s.getAttribute?s.getAttribute("data-"+e.mobile.ns+n):"";if(f==="false"){u=!0;break}s=s.parentNode}u||(i=i.add(o))}return i},getScreenHeight:function(){return t.innerHeight||e.mobile.window.height()}},e.mobile),e.fn.jqmData=function(t,n){var i;return typeof t!="undefined"&&(t&&(t=e.mobile.nsNormalize(t)),arguments.length<2||n===r?i=this.data(t):i=this.data(t,n)),i},e.jqmData=function(t,n,r){var i;return typeof n!="undefined"&&(i=e.data(t,n?e.mobile.nsNormalize(n):n,r)),i},e.fn.jqmRemoveData=function(t){return this.removeData(e.mobile.nsNormalize(t))},e.jqmRemoveData=function(t,n){return e.removeData(t,e.mobile.nsNormalize(n))},e.fn.removeWithDependents=function(){e.removeWithDependents(this)},e.removeWithDependents=function(t){var n=e(t);(n.jqmData("dependents")||e()).remove(),n.remove()},e.fn.addDependents=function(t){e.addDependents(e(this),t)},e.addDependents=function(t,n){var r=e(t).jqmData("dependents")||e();e(t).jqmData("dependents",e.merge(r,n))},e.fn.getEncodedText=function(){return e("<div/>").text(e(this).text()).html()},e.fn.jqmEnhanceable=function(){return e.mobile.enhanceable(this)},e.fn.jqmHijackable=function(){return e.mobile.hijackable(this)};var s=e.find,o=/:jqmData\(([^)]*)\)/g;e.find=function(t,n,r,i){return t=t.replace(o,"[data-"+(e.mobile.ns||"")+"$1]"),s.call(this,t,n,r,i)},e.extend(e.find,s),e.find.matches=function(t,n){return e.find(t,null,null,n)},e.find.matchesSelector=function(t,n){return e.find(n,null,null,[t]).length>0}}(e,this)});
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/js/jquery.nestable.min.js b/src/main/webapp/static/login/assets/js/jquery.nestable.min.js new file mode 100644 index 0000000..c67e41f --- /dev/null +++ b/src/main/webapp/static/login/assets/js/jquery.nestable.min.js @@ -0,0 +1,5 @@ +/*!
+ * Nestable jQuery Plugin - Copyright (c) 2012 David Bushell - http://dbushell.com/
+ * Dual-licensed under the BSD or MIT licenses
+ */
+(function(e,g,h,c){var f="ontouchstart" in g;var b=(function(){var m=h.createElement("div"),n=h.documentElement;if(!("pointerEvents" in m.style)){return false}m.style.pointerEvents="auto";m.style.pointerEvents="x";n.appendChild(m);var l=g.getComputedStyle&&g.getComputedStyle(m,"").pointerEvents==="auto";n.removeChild(m);return !!l})();var k=f?"touchstart":"mousedown",j=f?"touchmove":"mousemove",a=f?"touchend":"mouseup";eCancel=f?"touchcancel":"mouseup";var d={listNodeName:"ol",itemNodeName:"li",rootClass:"dd",listClass:"dd-list",itemClass:"dd-item",dragClass:"dd-dragel",handleClass:"dd-handle",collapsedClass:"dd-collapsed",placeClass:"dd-placeholder",noDragClass:"dd-nodrag",emptyClass:"dd-empty",expandBtnHTML:'<button data-action="expand" type="button">Expand</button>',collapseBtnHTML:'<button data-action="collapse" type="button">Collapse</button>',group:0,maxDepth:5,threshold:20};function i(m,l){this.w=e(g);this.el=e(m);this.options=e.extend({},d,l);this.init()}i.prototype={init:function(){var o=this;o.reset();o.el.data("nestable-group",this.options.group);o.placeEl=e('<div class="'+o.options.placeClass+'"/>');e.each(this.el.find(o.options.itemNodeName),function(p,q){o.setParent(e(q))});o.el.on("click","button",function(s){if(o.dragEl||(!f&&s.button!==0)){return}var r=e(s.currentTarget),q=r.data("action"),p=r.parent(o.options.itemNodeName);if(q==="collapse"){o.collapseItem(p)}if(q==="expand"){o.expandItem(p)}});var l=function(q){var p=e(q.target);if(!p.hasClass(o.options.handleClass)){if(p.closest("."+o.options.noDragClass).length){return}p=p.closest("."+o.options.handleClass)}if(!p.length||o.dragEl||(!f&&q.button!==0)||(f&&q.touches.length!==1)){return}q.preventDefault();o.dragStart(f?q.touches[0]:q)};var n=function(p){if(o.dragEl){p.preventDefault();o.dragMove(f?p.touches[0]:p)}};var m=function(p){if(o.dragEl){p.preventDefault();o.dragStop(f?p.touches[0]:p)}};if(f){o.el[0].addEventListener(k,l,false);g.addEventListener(j,n,false);g.addEventListener(a,m,false);g.addEventListener(eCancel,m,false)}else{o.el.on(k,l);o.w.on(j,n);o.w.on(a,m)}},serialize:function(){var m,n=0,l=this;step=function(r,p){var q=[],o=r.children(l.options.itemNodeName);o.each(function(){var s=e(this),u=e.extend({},s.data()),t=s.children(l.options.listNodeName);if(t.length){u.children=step(t,p+1)}q.push(u)});return q};m=step(l.el.find(l.options.listNodeName).first(),n);return m},serialise:function(){return this.serialize()},reset:function(){this.mouse={offsetX:0,offsetY:0,startX:0,startY:0,lastX:0,lastY:0,nowX:0,nowY:0,distX:0,distY:0,dirAx:0,dirX:0,dirY:0,lastDirX:0,lastDirY:0,distAxX:0,distAxY:0};this.moving=false;this.dragEl=null;this.dragRootEl=null;this.dragDepth=0;this.hasNewRoot=false;this.pointEl=null},expandItem:function(l){l.removeClass(this.options.collapsedClass);l.children('[data-action="expand"]').hide();l.children('[data-action="collapse"]').show();l.children(this.options.listNodeName).show()},collapseItem:function(m){var l=m.children(this.options.listNodeName);if(l.length){m.addClass(this.options.collapsedClass);m.children('[data-action="collapse"]').hide();m.children('[data-action="expand"]').show();m.children(this.options.listNodeName).hide()}},expandAll:function(){var l=this;l.el.find(l.options.itemNodeName).each(function(){l.expandItem(e(this))})},collapseAll:function(){var l=this;l.el.find(l.options.itemNodeName).each(function(){l.collapseItem(e(this))})},setParent:function(l){if(l.children(this.options.listNodeName).length){l.prepend(e(this.options.expandBtnHTML));l.prepend(e(this.options.collapseBtnHTML))}l.children('[data-action="expand"]').hide()},unsetParent:function(l){l.removeClass(this.options.collapsedClass);l.children("[data-action]").remove();l.children(this.options.listNodeName).remove()},dragStart:function(q){var m=this.mouse,p=e(q.target).closest("."+this.options.handleClass),o=p.closest(this.options.itemNodeName);console.log(p);this.placeEl.css("height",o.height());m.offsetX=q.offsetX!==c?q.offsetX:q.pageX-p.offset().left;m.offsetY=q.offsetY!==c?q.offsetY:q.pageY-p.offset().top;m.startX=m.lastX=q.pageX;m.startY=m.lastY=q.pageY;this.dragRootEl=this.el;this.dragEl=e(h.createElement(this.options.listNodeName)).addClass(this.options.listClass+" "+this.options.dragClass);this.dragEl.css("width",o.width());o.after(this.placeEl);o[0].parentNode.removeChild(o[0]);o.appendTo(this.dragEl);e(h.body).append(this.dragEl);this.dragEl.css({left:q.pageX-m.offsetX,top:q.pageY-m.offsetY});var n,r,l=this.dragEl.find(this.options.itemNodeName);for(n=0;n<l.length;n++){r=e(l[n]).parents(this.options.listNodeName).length;if(r>this.dragDepth){this.dragDepth=r}}},dragStop:function(m){var l=this.dragEl.children(this.options.itemNodeName).first();l[0].parentNode.removeChild(l[0]);this.placeEl.replaceWith(l);this.dragEl.remove();this.el.trigger("change");if(this.hasNewRoot){this.dragRootEl.trigger("change")}this.reset()},dragMove:function(s){var t,x,n,q,p,m=this.options,u=this.mouse;this.dragEl.css({left:s.pageX-u.offsetX,top:s.pageY-u.offsetY});u.lastX=u.nowX;u.lastY=u.nowY;u.nowX=s.pageX;u.nowY=s.pageY;u.distX=u.nowX-u.lastX;u.distY=u.nowY-u.lastY;u.lastDirX=u.dirX;u.lastDirY=u.dirY;u.dirX=u.distX===0?0:u.distX>0?1:-1;u.dirY=u.distY===0?0:u.distY>0?1:-1;var l=Math.abs(u.distX)>Math.abs(u.distY)?1:0;if(!u.moving){u.dirAx=l;u.moving=true;return}if(u.dirAx!==l){u.distAxX=0;u.distAxY=0}else{u.distAxX+=Math.abs(u.distX);if(u.dirX!==0&&u.dirX!==u.lastDirX){u.distAxX=0}u.distAxY+=Math.abs(u.distY);if(u.dirY!==0&&u.dirY!==u.lastDirY){u.distAxY=0}}u.dirAx=l;if(u.dirAx&&u.distAxX>=m.threshold){u.distAxX=0;n=this.placeEl.prev(m.itemNodeName);if(u.distX>0&&n.length&&!n.hasClass(m.collapsedClass)){t=n.find(m.listNodeName).last();p=this.placeEl.parents(m.listNodeName).length;if(p+this.dragDepth<=m.maxDepth){if(!t.length){t=e("<"+m.listNodeName+"/>").addClass(m.listClass);t.append(this.placeEl);n.append(t);this.setParent(n)}else{t=n.children(m.listNodeName).last();t.append(this.placeEl)}}}if(u.distX<0){q=this.placeEl.next(m.itemNodeName);if(!q.length){x=this.placeEl.parent();this.placeEl.closest(m.itemNodeName).after(this.placeEl);if(!x.children().length){this.unsetParent(x.parent())}}}}var o=false;if(!b){this.dragEl[0].style.visibility="hidden"}this.pointEl=e(h.elementFromPoint(s.pageX-h.body.scrollLeft,s.pageY-(g.pageYOffset||h.documentElement.scrollTop)));if(!b){this.dragEl[0].style.visibility="visible"}if(this.pointEl.hasClass(m.handleClass)){this.pointEl=this.pointEl.parent(m.itemNodeName)}if(this.pointEl.hasClass(m.emptyClass)){o=true}else{if(!this.pointEl.length||!this.pointEl.hasClass(m.itemClass)){return}}var r=this.pointEl.closest("."+m.rootClass),w=this.dragRootEl.data("nestable-id")!==r.data("nestable-id");if(!u.dirAx||w||o){if(w&&m.group!==r.data("nestable-group")){return}p=this.dragDepth-1+this.pointEl.parents(m.listNodeName).length;if(p>m.maxDepth){return}var v=s.pageY<(this.pointEl.offset().top+this.pointEl.height()/2);x=this.placeEl.parent();if(o){t=e(h.createElement(m.listNodeName)).addClass(m.listClass);t.append(this.placeEl);this.pointEl.replaceWith(t)}else{if(v){this.pointEl.before(this.placeEl)}else{this.pointEl.after(this.placeEl)}}if(!x.children().length){this.unsetParent(x.parent())}if(!this.dragRootEl.find(m.itemNodeName).length){this.dragRootEl.append('<div class="'+m.emptyClass+'"/>')}if(w){this.dragRootEl=r;this.hasNewRoot=this.el[0]!==this.dragRootEl[0]}}}};e.fn.nestable=function(n){var l=this,m=this;l.each(function(){var o=e(this).data("nestable");if(!o){e(this).data("nestable",new i(this,n));e(this).data("nestable-id",new Date().getTime())}else{if(typeof n==="string"&&typeof o[n]==="function"){m=o[n]()}}});return m||l}})(window.jQuery||window.Zepto,window,document);
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/js/jquery.slimscroll.min.js b/src/main/webapp/static/login/assets/js/jquery.slimscroll.min.js new file mode 100644 index 0000000..ad2cc5b --- /dev/null +++ b/src/main/webapp/static/login/assets/js/jquery.slimscroll.min.js @@ -0,0 +1,8 @@ +/*! Copyright (c) 2011 Piotr Rochala (http://rocha.la) + * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) + * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses. + * + * Version: 1.2.0 + * + */ +(function(a){jQuery.fn.extend({slimScroll:function(b){var c={width:"auto",height:"250px",size:"7px",color:"#000",position:"right",distance:"1px",start:"top",opacity:0.4,alwaysVisible:false,disableFadeOut:false,railVisible:false,railColor:"#333",railOpacity:0.2,railDraggable:true,railClass:"slimScrollRail",barClass:"slimScrollBar",wrapperClass:"slimScrollDiv",allowPageScroll:false,wheelStep:20,touchScrollStep:200,borderRadius:"7px",railBorderRadius:"7px"};var d=a.extend(c,b);this.each(function(){var w,r,k,p,z,s,o,j,l="<div></div>",t=30,q=false;var A=a(this);if(A.parent().hasClass(d.wrapperClass)){var h=A.scrollTop();u=A.parent().find("."+d.barClass);e=A.parent().find("."+d.railClass);B();if(a.isPlainObject(b)){if("height" in b&&b.height=="auto"){A.parent().css("height","auto");A.css("height","auto");var n=A.parent().parent().height();A.parent().css("height",n);A.css("height",n)}if("scrollTo" in b){h=parseInt(d.scrollTo)}else{if("scrollBy" in b){h+=parseInt(d.scrollBy)}else{if("destroy" in b){u.remove();e.remove();A.unwrap();return}}}v(h,false,true)}return}d.height=(d.height=="auto")?A.parent().height():d.height;var i=a(l).addClass(d.wrapperClass).css({position:"relative",overflow:"hidden",width:d.width,height:d.height});A.css({overflow:"hidden",width:d.width,height:d.height});var e=a(l).addClass(d.railClass).css({width:d.size,height:"100%",position:"absolute",top:0,display:(d.alwaysVisible&&d.railVisible)?"block":"none","border-radius":d.railBorderRadius,background:d.railColor,opacity:d.railOpacity,zIndex:90});var u=a(l).addClass(d.barClass).css({background:d.color,width:d.size,position:"absolute",top:0,opacity:d.opacity,display:d.alwaysVisible?"block":"none","border-radius":d.borderRadius,BorderRadius:d.borderRadius,MozBorderRadius:d.borderRadius,WebkitBorderRadius:d.borderRadius,zIndex:99});var f=(d.position=="right")?{right:d.distance}:{left:d.distance};e.css(f);u.css(f);A.wrap(i);A.parent().append(u);A.parent().append(e);if(d.railDraggable&&a.ui&&typeof(a.ui.draggable)=="function"){u.draggable({axis:"y",containment:"parent",start:function(){k=true},stop:function(){k=false;m()},drag:function(C){v(0,a(this).position().top,false)}})}e.hover(function(){g()},function(){m()});u.hover(function(){r=true},function(){r=false});A.hover(function(){w=true;g();m()},function(){w=false;m()});A.bind("touchstart",function(D,C){if(D.originalEvent.touches.length){z=D.originalEvent.touches[0].pageY}});A.bind("touchmove",function(D){D.originalEvent.preventDefault();if(D.originalEvent.touches.length){var C=(z-D.originalEvent.touches[0].pageY)/d.touchScrollStep;v(C,true)}});if(d.start==="bottom"){u.css({top:A.outerHeight()-u.outerHeight()});v(0,true)}else{if(d.start!=="top"){v(a(d.start).position().top,null,true);if(!d.alwaysVisible){u.hide()}}}x();B();function y(D){if(!w){return}var D=D||window.event;var E=0;if(D.wheelDelta){E=-D.wheelDelta/120}if(D.detail){E=D.detail/3}var C=D.target||D.srcTarget||D.srcElement;if(a(C).closest("."+d.wrapperClass).is(A.parent())){v(E,true)}if(D.preventDefault&&!q){D.preventDefault()}if(!q){D.returnValue=false}}function v(H,E,C){var G=H;var F=A.outerHeight()-u.outerHeight();if(E){G=parseInt(u.css("top"))+H*parseInt(d.wheelStep)/100*u.outerHeight();G=Math.min(Math.max(G,0),F);G=(H>0)?Math.ceil(G):Math.floor(G);u.css({top:G+"px"})}o=parseInt(u.css("top"))/(A.outerHeight()-u.outerHeight());G=o*(A[0].scrollHeight-A.outerHeight());if(C){G=H;var D=G/A[0].scrollHeight*A.outerHeight();D=Math.min(Math.max(D,0),F);u.css({top:D+"px"})}A.scrollTop(G);A.trigger("slimscrolling",~~G);g();m()}function x(){if(window.addEventListener){this.addEventListener("DOMMouseScroll",y,false);this.addEventListener("mousewheel",y,false)}else{document.attachEvent("onmousewheel",y)}}function B(){s=Math.max((A.outerHeight()/A[0].scrollHeight)*A.outerHeight(),t);u.css({height:s+"px"});var C=s==A.outerHeight()?"none":"block";u.css({display:C})}function g(){B();clearTimeout(p);if(o==~~o){q=d.allowPageScroll;if(j!=o){var C=(~~o==0)?"top":"bottom";A.trigger("slimscroll",C)}}else{q=false}j=o;if(s>=A.outerHeight()){q=true;return}u.stop(true,true).fadeIn("fast");if(d.railVisible){e.stop(true,true).fadeIn("fast")}}function m(){if(!d.alwaysVisible){p=setTimeout(function(){if(!(d.disableFadeOut&&w)&&!r&&!k){u.fadeOut("slow");e.fadeOut("slow")}},1000)}}});return this}});jQuery.fn.extend({slimscroll:jQuery.fn.slimScroll})})(jQuery);
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/js/jquery.sparkline.min.js b/src/main/webapp/static/login/assets/js/jquery.sparkline.min.js new file mode 100644 index 0000000..fa616bf --- /dev/null +++ b/src/main/webapp/static/login/assets/js/jquery.sparkline.min.js @@ -0,0 +1,5 @@ +/* jquery.sparkline 2.1.2 - http://omnipotent.net/jquery.sparkline/ +** Licensed under the New BSD License - see above site for details */ + +(function(a,b,c){(function(a){typeof define=="function"&&define.amd?define(["jquery"],a):jQuery&&!jQuery.fn.sparkline&&a(jQuery)})(function(d){"use strict";var e={},f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L=0;f=function(){return{common:{type:"line",lineColor:"#00f",fillColor:"#cdf",defaultPixelsPerValue:3,width:"auto",height:"auto",composite:!1,tagValuesAttribute:"values",tagOptionsPrefix:"spark",enableTagOptions:!1,enableHighlight:!0,highlightLighten:1.4,tooltipSkipNull:!0,tooltipPrefix:"",tooltipSuffix:"",disableHiddenCheck:!1,numberFormatter:!1,numberDigitGroupCount:3,numberDigitGroupSep:",",numberDecimalMark:".",disableTooltips:!1,disableInteraction:!1},line:{spotColor:"#f80",highlightSpotColor:"#5f5",highlightLineColor:"#f22",spotRadius:1.5,minSpotColor:"#f80",maxSpotColor:"#f80",lineWidth:1,normalRangeMin:c,normalRangeMax:c,normalRangeColor:"#ccc",drawNormalOnTop:!1,chartRangeMin:c,chartRangeMax:c,chartRangeMinX:c,chartRangeMaxX:c,tooltipFormat:new h('<span style="color: {{color}}">●</span> {{prefix}}{{y}}{{suffix}}')},bar:{barColor:"#3366cc",negBarColor:"#f44",stackedBarColor:["#3366cc","#dc3912","#ff9900","#109618","#66aa00","#dd4477","#0099c6","#990099"],zeroColor:c,nullColor:c,zeroAxis:!0,barWidth:4,barSpacing:1,chartRangeMax:c,chartRangeMin:c,chartRangeClip:!1,colorMap:c,tooltipFormat:new h('<span style="color: {{color}}">●</span> {{prefix}}{{value}}{{suffix}}')},tristate:{barWidth:4,barSpacing:1,posBarColor:"#6f6",negBarColor:"#f44",zeroBarColor:"#999",colorMap:{},tooltipFormat:new h('<span style="color: {{color}}">●</span> {{value:map}}'),tooltipValueLookups:{map:{"-1":"Loss",0:"Draw",1:"Win"}}},discrete:{lineHeight:"auto",thresholdColor:c,thresholdValue:0,chartRangeMax:c,chartRangeMin:c,chartRangeClip:!1,tooltipFormat:new h("{{prefix}}{{value}}{{suffix}}")},bullet:{targetColor:"#f33",targetWidth:3,performanceColor:"#33f",rangeColors:["#d3dafe","#a8b6ff","#7f94ff"],base:c,tooltipFormat:new h("{{fieldkey:fields}} - {{value}}"),tooltipValueLookups:{fields:{r:"Range",p:"Performance",t:"Target"}}},pie:{offset:0,sliceColors:["#3366cc","#dc3912","#ff9900","#109618","#66aa00","#dd4477","#0099c6","#990099"],borderWidth:0,borderColor:"#000",tooltipFormat:new h('<span style="color: {{color}}">●</span> {{value}} ({{percent.1}}%)')},box:{raw:!1,boxLineColor:"#000",boxFillColor:"#cdf",whiskerColor:"#000",outlierLineColor:"#333",outlierFillColor:"#fff",medianColor:"#f00",showOutliers:!0,outlierIQR:1.5,spotRadius:1.5,target:c,targetColor:"#4a2",chartRangeMax:c,chartRangeMin:c,tooltipFormat:new h("{{field:fields}}: {{value}}"),tooltipFormatFieldlistKey:"field",tooltipValueLookups:{fields:{lq:"Lower Quartile",med:"Median",uq:"Upper Quartile",lo:"Left Outlier",ro:"Right Outlier",lw:"Left Whisker",rw:"Right Whisker"}}}}},E='.jqstooltip { position: absolute;left: 0px;top: 0px;visibility: hidden;background: rgb(0, 0, 0) transparent;background-color: rgba(0,0,0,0.6);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000);-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000)";color: white;font: 10px arial, san serif;text-align: left;white-space: nowrap;padding: 5px;border: 1px solid white;z-index: 10000;}.jqsfield { color: white;font: 10px arial, san serif;text-align: left;}',g=function(){var a,b;return a=function(){this.init.apply(this,arguments)},arguments.length>1?(arguments[0]?(a.prototype=d.extend(new arguments[0],arguments[arguments.length-1]),a._super=arguments[0].prototype):a.prototype=arguments[arguments.length-1],arguments.length>2&&(b=Array.prototype.slice.call(arguments,1,-1),b.unshift(a.prototype),d.extend.apply(d,b))):a.prototype=arguments[0],a.prototype.cls=a,a},d.SPFormatClass=h=g({fre:/\{\{([\w.]+?)(:(.+?))?\}\}/g,precre:/(\w+)\.(\d+)/,init:function(a,b){this.format=a,this.fclass=b},render:function(a,b,d){var e=this,f=a,g,h,i,j,k;return this.format.replace(this.fre,function(){var a;return h=arguments[1],i=arguments[3],g=e.precre.exec(h),g?(k=g[2],h=g[1]):k=!1,j=f[h],j===c?"":i&&b&&b[i]?(a=b[i],a.get?b[i].get(j)||j:b[i][j]||j):(n(j)&&(d.get("numberFormatter")?j=d.get("numberFormatter")(j):j=s(j,k,d.get("numberDigitGroupCount"),d.get("numberDigitGroupSep"),d.get("numberDecimalMark"))),j)})}}),d.spformat=function(a,b){return new h(a,b)},i=function(a,b,c){return a<b?b:a>c?c:a},j=function(a,c){var d;return c===2?(d=b.floor(a.length/2),a.length%2?a[d]:(a[d-1]+a[d])/2):a.length%2?(d=(a.length*c+c)/4,d%1?(a[b.floor(d)]+a[b.floor(d)-1])/2:a[d-1]):(d=(a.length*c+2)/4,d%1?(a[b.floor(d)]+a[b.floor(d)-1])/2:a[d-1])},k=function(a){var b;switch(a){case"undefined":a=c;break;case"null":a=null;break;case"true":a=!0;break;case"false":a=!1;break;default:b=parseFloat(a),a==b&&(a=b)}return a},l=function(a){var b,c=[];for(b=a.length;b--;)c[b]=k(a[b]);return c},m=function(a,b){var c,d,e=[];for(c=0,d=a.length;c<d;c++)a[c]!==b&&e.push(a[c]);return e},n=function(a){return!isNaN(parseFloat(a))&&isFinite(a)},s=function(a,b,c,e,f){var g,h;a=(b===!1?parseFloat(a).toString():a.toFixed(b)).split(""),g=(g=d.inArray(".",a))<0?a.length:g,g<a.length&&(a[g]=f);for(h=g-c;h>0;h-=c)a.splice(h,0,e);return a.join("")},o=function(a,b,c){var d;for(d=b.length;d--;){if(c&&b[d]===null)continue;if(b[d]!==a)return!1}return!0},p=function(a){var b=0,c;for(c=a.length;c--;)b+=typeof a[c]=="number"?a[c]:0;return b},r=function(a){return d.isArray(a)?a:[a]},q=function(b){var c;a.createStyleSheet?a.createStyleSheet().cssText=b:(c=a.createElement("style"),c.type="text/css",a.getElementsByTagName("head")[0].appendChild(c),c[typeof a.body.style.WebkitAppearance=="string"?"innerText":"innerHTML"]=b)},d.fn.simpledraw=function(b,e,f,g){var h,i;if(f&&(h=this.data("_jqs_vcanvas")))return h;if(d.fn.sparkline.canvas===!1)return!1;if(d.fn.sparkline.canvas===c){var j=a.createElement("canvas");if(!j.getContext||!j.getContext("2d")){if(!a.namespaces||!!a.namespaces.v)return d.fn.sparkline.canvas=!1,!1;a.namespaces.add("v","urn:schemas-microsoft-com:vml","#default#VML"),d.fn.sparkline.canvas=function(a,b,c,d){return new J(a,b,c)}}else d.fn.sparkline.canvas=function(a,b,c,d){return new I(a,b,c,d)}}return b===c&&(b=d(this).innerWidth()),e===c&&(e=d(this).innerHeight()),h=d.fn.sparkline.canvas(b,e,this,g),i=d(this).data("_jqs_mhandler"),i&&i.registerCanvas(h),h},d.fn.cleardraw=function(){var a=this.data("_jqs_vcanvas");a&&a.reset()},d.RangeMapClass=t=g({init:function(a){var b,c,d=[];for(b in a)a.hasOwnProperty(b)&&typeof b=="string"&&b.indexOf(":")>-1&&(c=b.split(":"),c[0]=c[0].length===0?-Infinity:parseFloat(c[0]),c[1]=c[1].length===0?Infinity:parseFloat(c[1]),c[2]=a[b],d.push(c));this.map=a,this.rangelist=d||!1},get:function(a){var b=this.rangelist,d,e,f;if((f=this.map[a])!==c)return f;if(b)for(d=b.length;d--;){e=b[d];if(e[0]<=a&&e[1]>=a)return e[2]}return c}}),d.range_map=function(a){return new t(a)},u=g({init:function(a,b){var c=d(a);this.$el=c,this.options=b,this.currentPageX=0,this.currentPageY=0,this.el=a,this.splist=[],this.tooltip=null,this.over=!1,this.displayTooltips=!b.get("disableTooltips"),this.highlightEnabled=!b.get("disableHighlight")},registerSparkline:function(a){this.splist.push(a),this.over&&this.updateDisplay()},registerCanvas:function(a){var b=d(a.canvas);this.canvas=a,this.$canvas=b,b.mouseenter(d.proxy(this.mouseenter,this)),b.mouseleave(d.proxy(this.mouseleave,this)),b.click(d.proxy(this.mouseclick,this))},reset:function(a){this.splist=[],this.tooltip&&a&&(this.tooltip.remove(),this.tooltip=c)},mouseclick:function(a){var b=d.Event("sparklineClick");b.originalEvent=a,b.sparklines=this.splist,this.$el.trigger(b)},mouseenter:function(b){d(a.body).unbind("mousemove.jqs"),d(a.body).bind("mousemove.jqs",d.proxy(this.mousemove,this)),this.over=!0,this.currentPageX=b.pageX,this.currentPageY=b.pageY,this.currentEl=b.target,!this.tooltip&&this.displayTooltips&&(this.tooltip=new v(this.options),this.tooltip.updatePosition(b.pageX,b.pageY)),this.updateDisplay()},mouseleave:function(){d(a.body).unbind("mousemove.jqs");var b=this.splist,c=b.length,e=!1,f,g;this.over=!1,this.currentEl=null,this.tooltip&&(this.tooltip.remove(),this.tooltip=null);for(g=0;g<c;g++)f=b[g],f.clearRegionHighlight()&&(e=!0);e&&this.canvas.render()},mousemove:function(a){this.currentPageX=a.pageX,this.currentPageY=a.pageY,this.currentEl=a.target,this.tooltip&&this.tooltip.updatePosition(a.pageX,a.pageY),this.updateDisplay()},updateDisplay:function(){var a=this.splist,b=a.length,c=!1,e=this.$canvas.offset(),f=this.currentPageX-e.left,g=this.currentPageY-e.top,h,i,j,k,l;if(!this.over)return;for(j=0;j<b;j++)i=a[j],k=i.setRegionHighlight(this.currentEl,f,g),k&&(c=!0);if(c){l=d.Event("sparklineRegionChange"),l.sparklines=this.splist,this.$el.trigger(l);if(this.tooltip){h="";for(j=0;j<b;j++)i=a[j],h+=i.getCurrentRegionTooltip();this.tooltip.setContent(h)}this.disableHighlight||this.canvas.render()}k===null&&this.mouseleave()}}),v=g({sizeStyle:"position: static !important;display: block !important;visibility: hidden !important;float: left !important;",init:function(b){var c=b.get("tooltipClassname","jqstooltip"),e=this.sizeStyle,f;this.container=b.get("tooltipContainer")||a.body,this.tooltipOffsetX=b.get("tooltipOffsetX",10),this.tooltipOffsetY=b.get("tooltipOffsetY",12),d("#jqssizetip").remove(),d("#jqstooltip").remove(),this.sizetip=d("<div/>",{id:"jqssizetip",style:e,"class":c}),this.tooltip=d("<div/>",{id:"jqstooltip","class":c}).appendTo(this.container),f=this.tooltip.offset(),this.offsetLeft=f.left,this.offsetTop=f.top,this.hidden=!0,d(window).unbind("resize.jqs scroll.jqs"),d(window).bind("resize.jqs scroll.jqs",d.proxy(this.updateWindowDims,this)),this.updateWindowDims()},updateWindowDims:function(){this.scrollTop=d(window).scrollTop(),this.scrollLeft=d(window).scrollLeft(),this.scrollRight=this.scrollLeft+d(window).width(),this.updatePosition()},getSize:function(a){this.sizetip.html(a).appendTo(this.container),this.width=this.sizetip.width()+1,this.height=this.sizetip.height(),this.sizetip.remove()},setContent:function(a){if(!a){this.tooltip.css("visibility","hidden"),this.hidden=!0;return}this.getSize(a),this.tooltip.html(a).css({width:this.width,height:this.height,visibility:"visible"}),this.hidden&&(this.hidden=!1,this.updatePosition())},updatePosition:function(a,b){if(a===c){if(this.mousex===c)return;a=this.mousex-this.offsetLeft,b=this.mousey-this.offsetTop}else this.mousex=a-=this.offsetLeft,this.mousey=b-=this.offsetTop;if(!this.height||!this.width||this.hidden)return;b-=this.height+this.tooltipOffsetY,a+=this.tooltipOffsetX,b<this.scrollTop&&(b=this.scrollTop),a<this.scrollLeft?a=this.scrollLeft:a+this.width>this.scrollRight&&(a=this.scrollRight-this.width),this.tooltip.css({left:a,top:b})},remove:function(){this.tooltip.remove(),this.sizetip.remove(),this.sizetip=this.tooltip=c,d(window).unbind("resize.jqs scroll.jqs")}}),F=function(){q(E)},d(F),K=[],d.fn.sparkline=function(b,e){return this.each(function(){var f=new d.fn.sparkline.options(this,e),g=d(this),h,i;h=function(){var e,h,i,j,k,l,m;if(b==="html"||b===c){m=this.getAttribute(f.get("tagValuesAttribute"));if(m===c||m===null)m=g.html();e=m.replace(/(^\s*<!--)|(-->\s*$)|\s+/g,"").split(",")}else e=b;h=f.get("width")==="auto"?e.length*f.get("defaultPixelsPerValue"):f.get("width");if(f.get("height")==="auto"){if(!f.get("composite")||!d.data(this,"_jqs_vcanvas"))j=a.createElement("span"),j.innerHTML="a",g.html(j),i=d(j).innerHeight()||d(j).height(),d(j).remove(),j=null}else i=f.get("height");f.get("disableInteraction")?k=!1:(k=d.data(this,"_jqs_mhandler"),k?f.get("composite")||k.reset():(k=new u(this,f),d.data(this,"_jqs_mhandler",k)));if(f.get("composite")&&!d.data(this,"_jqs_vcanvas")){d.data(this,"_jqs_errnotify")||(alert("Attempted to attach a composite sparkline to an element with no existing sparkline"),d.data(this,"_jqs_errnotify",!0));return}l=new(d.fn.sparkline[f.get("type")])(this,e,f,h,i),l.render(),k&&k.registerSparkline(l)};if(d(this).html()&&!f.get("disableHiddenCheck")&&d(this).is(":hidden")||!d(this).parents("body").length){if(!f.get("composite")&&d.data(this,"_jqs_pending"))for(i=K.length;i;i--)K[i-1][0]==this&&K.splice(i-1,1);K.push([this,h]),d.data(this,"_jqs_pending",!0)}else h.call(this)})},d.fn.sparkline.defaults=f(),d.sparkline_display_visible=function(){var a,b,c,e=[];for(b=0,c=K.length;b<c;b++)a=K[b][0],d(a).is(":visible")&&!d(a).parents().is(":hidden")?(K[b][1].call(a),d.data(K[b][0],"_jqs_pending",!1),e.push(b)):!d(a).closest("html").length&&!d.data(a,"_jqs_pending")&&(d.data(K[b][0],"_jqs_pending",!1),e.push(b));for(b=e.length;b;b--)K.splice(e[b-1],1)},d.fn.sparkline.options=g({init:function(a,b){var c,f,g,h;this.userOptions=b=b||{},this.tag=a,this.tagValCache={},f=d.fn.sparkline.defaults,g=f.common,this.tagOptionsPrefix=b.enableTagOptions&&(b.tagOptionsPrefix||g.tagOptionsPrefix),h=this.getTagSetting("type"),h===e?c=f[b.type||g.type]:c=f[h],this.mergedOptions=d.extend({},g,c,b)},getTagSetting:function(a){var b=this.tagOptionsPrefix,d,f,g,h;if(b===!1||b===c)return e;if(this.tagValCache.hasOwnProperty(a))d=this.tagValCache.key;else{d=this.tag.getAttribute(b+a);if(d===c||d===null)d=e;else if(d.substr(0,1)==="["){d=d.substr(1,d.length-2).split(",");for(f=d.length;f--;)d[f]=k(d[f].replace(/(^\s*)|(\s*$)/g,""))}else if(d.substr(0,1)==="{"){g=d.substr(1,d.length-2).split(","),d={};for(f=g.length;f--;)h=g[f].split(":",2),d[h[0].replace(/(^\s*)|(\s*$)/g,"")]=k(h[1].replace(/(^\s*)|(\s*$)/g,""))}else d=k(d);this.tagValCache.key=d}return d},get:function(a,b){var d=this.getTagSetting(a),f;return d!==e?d:(f=this.mergedOptions[a])===c?b:f}}),d.fn.sparkline._base=g({disabled:!1,init:function(a,b,e,f,g){this.el=a,this.$el=d(a),this.values=b,this.options=e,this.width=f,this.height=g,this.currentRegion=c},initTarget:function(){var a=!this.options.get("disableInteraction");(this.target=this.$el.simpledraw(this.width,this.height,this.options.get("composite"),a))?(this.canvasWidth=this.target.pixelWidth,this.canvasHeight=this.target.pixelHeight):this.disabled=!0},render:function(){return this.disabled?(this.el.innerHTML="",!1):!0},getRegion:function(a,b){},setRegionHighlight:function(a,b,d){var e=this.currentRegion,f=!this.options.get("disableHighlight"),g;return b>this.canvasWidth||d>this.canvasHeight||b<0||d<0?null:(g=this.getRegion(a,b,d),e!==g?(e!==c&&f&&this.removeHighlight(),this.currentRegion=g,g!==c&&f&&this.renderHighlight(),!0):!1)},clearRegionHighlight:function(){return this.currentRegion!==c?(this.removeHighlight(),this.currentRegion=c,!0):!1},renderHighlight:function(){this.changeHighlight(!0)},removeHighlight:function(){this.changeHighlight(!1)},changeHighlight:function(a){},getCurrentRegionTooltip:function(){var a=this.options,b="",e=[],f,g,i,j,k,l,m,n,o,p,q,r,s,t;if(this.currentRegion===c)return"";f=this.getCurrentRegionFields(),q=a.get("tooltipFormatter");if(q)return q(this,a,f);a.get("tooltipChartTitle")&&(b+='<div class="jqs jqstitle">'+a.get("tooltipChartTitle")+"</div>\n"),g=this.options.get("tooltipFormat");if(!g)return"";d.isArray(g)||(g=[g]),d.isArray(f)||(f=[f]),m=this.options.get("tooltipFormatFieldlist"),n=this.options.get("tooltipFormatFieldlistKey");if(m&&n){o=[];for(l=f.length;l--;)p=f[l][n],(t=d.inArray(p,m))!=-1&&(o[t]=f[l]);f=o}i=g.length,s=f.length;for(l=0;l<i;l++){r=g[l],typeof r=="string"&&(r=new h(r)),j=r.fclass||"jqsfield";for(t=0;t<s;t++)if(!f[t].isNull||!a.get("tooltipSkipNull"))d.extend(f[t],{prefix:a.get("tooltipPrefix"),suffix:a.get("tooltipSuffix")}),k=r.render(f[t],a.get("tooltipValueLookups"),a),e.push('<div class="'+j+'">'+k+"</div>")}return e.length?b+e.join("\n"):""},getCurrentRegionFields:function(){},calcHighlightColor:function(a,c){var d=c.get("highlightColor"),e=c.get("highlightLighten"),f,g,h,j;if(d)return d;if(e){f=/^#([0-9a-f])([0-9a-f])([0-9a-f])$/i.exec(a)||/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i.exec(a);if(f){h=[],g=a.length===4?16:1;for(j=0;j<3;j++)h[j]=i(b.round(parseInt(f[j+1],16)*g*e),0,255);return"rgb("+h.join(",")+")"}}return a}}),w={changeHighlight:function(a){var b=this.currentRegion,c=this.target,e=this.regionShapes[b],f;e&&(f=this.renderRegion(b,a),d.isArray(f)||d.isArray(e)?(c.replaceWithShapes(e,f),this.regionShapes[b]=d.map(f,function(a){return a.id})):(c.replaceWithShape(e,f),this.regionShapes[b]=f.id))},render:function(){var a=this.values,b=this.target,c=this.regionShapes,e,f,g,h;if(!this.cls._super.render.call(this))return;for(g=a.length;g--;){e=this.renderRegion(g);if(e)if(d.isArray(e)){f=[];for(h=e.length;h--;)e[h].append(),f.push(e[h].id);c[g]=f}else e.append(),c[g]=e.id;else c[g]=null}b.render()}},d.fn.sparkline.line=x=g(d.fn.sparkline._base,{type:"line",init:function(a,b,c,d,e){x._super.init.call(this,a,b,c,d,e),this.vertices=[],this.regionMap=[],this.xvalues=[],this.yvalues=[],this.yminmax=[],this.hightlightSpotId=null,this.lastShapeId=null,this.initTarget()},getRegion:function(a,b,d){var e,f=this.regionMap;for(e=f.length;e--;)if(f[e]!==null&&b>=f[e][0]&&b<=f[e][1])return f[e][2];return c},getCurrentRegionFields:function(){var a=this.currentRegion;return{isNull:this.yvalues[a]===null,x:this.xvalues[a],y:this.yvalues[a],color:this.options.get("lineColor"),fillColor:this.options.get("fillColor"),offset:a}},renderHighlight:function(){var a=this.currentRegion,b=this.target,d=this.vertices[a],e=this.options,f=e.get("spotRadius"),g=e.get("highlightSpotColor"),h=e.get("highlightLineColor"),i,j;if(!d)return;f&&g&&(i=b.drawCircle(d[0],d[1],f,c,g),this.highlightSpotId=i.id,b.insertAfterShape(this.lastShapeId,i)),h&&(j=b.drawLine(d[0],this.canvasTop,d[0],this.canvasTop+this.canvasHeight,h),this.highlightLineId=j.id,b.insertAfterShape(this.lastShapeId,j))},removeHighlight:function(){var a=this.target;this.highlightSpotId&&(a.removeShapeId(this.highlightSpotId),this.highlightSpotId=null),this.highlightLineId&&(a.removeShapeId(this.highlightLineId),this.highlightLineId=null)},scanValues:function(){var a=this.values,c=a.length,d=this.xvalues,e=this.yvalues,f=this.yminmax,g,h,i,j,k;for(g=0;g<c;g++)h=a[g],i=typeof a[g]=="string",j=typeof a[g]=="object"&&a[g]instanceof Array,k=i&&a[g].split(":"),i&&k.length===2?(d.push(Number(k[0])),e.push(Number(k[1])),f.push(Number(k[1]))):j?(d.push(h[0]),e.push(h[1]),f.push(h[1])):(d.push(g),a[g]===null||a[g]==="null"?e.push(null):(e.push(Number(h)),f.push(Number(h))));this.options.get("xvalues")&&(d=this.options.get("xvalues")),this.maxy=this.maxyorg=b.max.apply(b,f),this.miny=this.minyorg=b.min.apply(b,f),this.maxx=b.max.apply(b,d),this.minx=b.min.apply(b,d),this.xvalues=d,this.yvalues=e,this.yminmax=f},processRangeOptions:function(){var a=this.options,b=a.get("normalRangeMin"),d=a.get("normalRangeMax");b!==c&&(b<this.miny&&(this.miny=b),d>this.maxy&&(this.maxy=d)),a.get("chartRangeMin")!==c&&(a.get("chartRangeClip")||a.get("chartRangeMin")<this.miny)&&(this.miny=a.get("chartRangeMin")),a.get("chartRangeMax")!==c&&(a.get("chartRangeClip")||a.get("chartRangeMax")>this.maxy)&&(this.maxy=a.get("chartRangeMax")),a.get("chartRangeMinX")!==c&&(a.get("chartRangeClipX")||a.get("chartRangeMinX")<this.minx)&&(this.minx=a.get("chartRangeMinX")),a.get("chartRangeMaxX")!==c&&(a.get("chartRangeClipX")||a.get("chartRangeMaxX")>this.maxx)&&(this.maxx=a.get("chartRangeMaxX"))},drawNormalRange:function(a,d,e,f,g){var h=this.options.get("normalRangeMin"),i=this.options.get("normalRangeMax"),j=d+b.round(e-e*((i-this.miny)/g)),k=b.round(e*(i-h)/g);this.target.drawRect(a,j,f,k,c,this.options.get("normalRangeColor")).append()},render:function(){var a=this.options,e=this.target,f=this.canvasWidth,g=this.canvasHeight,h=this.vertices,i=a.get("spotRadius"),j=this.regionMap,k,l,m,n,o,p,q,r,s,u,v,w,y,z,A,B,C,D,E,F,G,H,I,J,K;if(!x._super.render.call(this))return;this.scanValues(),this.processRangeOptions(),I=this.xvalues,J=this.yvalues;if(!this.yminmax.length||this.yvalues.length<2)return;n=o=0,k=this.maxx-this.minx===0?1:this.maxx-this.minx,l=this.maxy-this.miny===0?1:this.maxy-this.miny,m=this.yvalues.length-1,i&&(f<i*4||g<i*4)&&(i=0);if(i){G=a.get("highlightSpotColor")&&!a.get("disableInteraction");if(G||a.get("minSpotColor")||a.get("spotColor")&&J[m]===this.miny)g-=b.ceil(i);if(G||a.get("maxSpotColor")||a.get("spotColor")&&J[m]===this.maxy)g-=b.ceil(i),n+=b.ceil(i);if(G||(a.get("minSpotColor")||a.get("maxSpotColor"))&&(J[0]===this.miny||J[0]===this.maxy))o+=b.ceil(i),f-=b.ceil(i);if(G||a.get("spotColor")||a.get("minSpotColor")||a.get("maxSpotColor")&&(J[m]===this.miny||J[m]===this.maxy))f-=b.ceil(i)}g--,a.get("normalRangeMin")!==c&&!a.get("drawNormalOnTop")&&this.drawNormalRange(o,n,g,f,l),q=[],r=[q],z=A=null,B=J.length;for(K=0;K<B;K++)s=I[K],v=I[K+1],u=J[K],w=o+b.round((s-this.minx)*(f/k)),y=K<B-1?o+b.round((v-this.minx)*(f/k)):f,A=w+(y-w)/2,j[K]=[z||0,A,K],z=A,u===null?K&&(J[K-1]!==null&&(q=[],r.push(q)),h.push(null)):(u<this.miny&&(u=this.miny),u>this.maxy&&(u=this.maxy),q.length||q.push([w,n+g]),p=[w,n+b.round(g-g*((u-this.miny)/l))],q.push(p),h.push(p));C=[],D=[],E=r.length;for(K=0;K<E;K++)q=r[K],q.length&&(a.get("fillColor")&&(q.push([q[q.length-1][0],n+g]),D.push(q.slice(0)),q.pop()),q.length>2&&(q[0]=[q[0][0],q[1][1]]),C.push(q));E=D.length;for(K=0;K<E;K++)e.drawShape(D[K],a.get("fillColor"),a.get("fillColor")).append();a.get("normalRangeMin")!==c&&a.get("drawNormalOnTop")&&this.drawNormalRange(o,n,g,f,l),E=C.length;for(K=0;K<E;K++)e.drawShape(C[K],a.get("lineColor"),c,a.get("lineWidth")).append();if(i&&a.get("valueSpots")){F=a.get("valueSpots"),F.get===c&&(F=new t(F));for(K=0;K<B;K++)H=F.get(J[K]),H&&e.drawCircle(o+b.round((I[K]-this.minx)*(f/k)),n+b.round(g-g*((J[K]-this.miny)/l)),i,c,H).append()}i&&a.get("spotColor")&&J[m]!==null&&e.drawCircle(o+b.round((I[I.length-1]-this.minx)*(f/k)),n+b.round(g-g*((J[m]-this.miny)/l)),i,c,a.get("spotColor")).append(),this.maxy!==this.minyorg&&(i&&a.get("minSpotColor")&&(s=I[d.inArray(this.minyorg,J)],e.drawCircle(o+b.round((s-this.minx)*(f/k)),n+b.round(g-g*((this.minyorg-this.miny)/l)),i,c,a.get("minSpotColor")).append()),i&&a.get("maxSpotColor")&&(s=I[d.inArray(this.maxyorg,J)],e.drawCircle(o+b.round((s-this.minx)*(f/k)),n+b.round(g-g*((this.maxyorg-this.miny)/l)),i,c,a.get("maxSpotColor")).append())),this.lastShapeId=e.getLastShapeId(),this.canvasTop=n,e.render()}}),d.fn.sparkline.bar=y=g(d.fn.sparkline._base,w,{type:"bar",init:function(a,e,f,g,h){var j=parseInt(f.get("barWidth"),10),n=parseInt(f.get("barSpacing"),10),o=f.get("chartRangeMin"),p=f.get("chartRangeMax"),q=f.get("chartRangeClip"),r=Infinity,s=-Infinity,u,v,w,x,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R;y._super.init.call(this,a,e,f,g,h);for(A=0,B=e.length;A<B;A++){O=e[A],u=typeof O=="string"&&O.indexOf(":")>-1;if(u||d.isArray(O))J=!0,u&&(O=e[A]=l(O.split(":"))),O=m(O,null),v=b.min.apply(b,O),w=b.max.apply(b,O),v<r&&(r=v),w>s&&(s=w)}this.stacked=J,this.regionShapes={},this.barWidth=j,this.barSpacing=n,this.totalBarWidth=j+n,this.width=g=e.length*j+(e.length-1)*n,this.initTarget(),q&&(H=o===c?-Infinity:o,I=p===c?Infinity:p),z=[],x=J?[]:z;var S=[],T=[];for(A=0,B=e.length;A<B;A++)if(J){K=e[A],e[A]=N=[],S[A]=0,x[A]=T[A]=0;for(L=0,M=K.length;L<M;L++)O=N[L]=q?i(K[L],H,I):K[L],O!==null&&(O>0&&(S[A]+=O),r<0&&s>0?O<0?T[A]+=b.abs(O):x[A]+=O:x[A]+=b.abs(O-(O<0?s:r)),z.push(O))}else O=q?i(e[A],H,I):e[A],O=e[A]=k(O),O!==null&&z.push(O);this.max=G=b.max.apply(b,z),this.min=F=b.min.apply(b,z),this.stackMax=s=J?b.max.apply(b,S):G,this.stackMin=r=J?b.min.apply(b,z):F,f.get("chartRangeMin")!==c&&(f.get("chartRangeClip")||f.get("chartRangeMin")<F)&&(F=f.get("chartRangeMin")),f.get("chartRangeMax")!==c&&(f.get("chartRangeClip")||f.get("chartRangeMax")>G)&&(G=f.get("chartRangeMax")),this.zeroAxis=D=f.get("zeroAxis",!0),F<=0&&G>=0&&D?E=0:D==0?E=F:F>0?E=F:E=G,this.xaxisOffset=E,C=J?b.max.apply(b,x)+b.max.apply(b,T):G-F,this.canvasHeightEf=D&&F<0?this.canvasHeight-2:this.canvasHeight-1,F<E?(Q=J&&G>=0?s:G,P=(Q-E)/C*this.canvasHeight,P!==b.ceil(P)&&(this.canvasHeightEf-=2,P=b.ceil(P))):P=this.canvasHeight,this.yoffset=P,d.isArray(f.get("colorMap"))?(this.colorMapByIndex=f.get("colorMap"),this.colorMapByValue=null):(this.colorMapByIndex=null,this.colorMapByValue=f.get("colorMap"),this.colorMapByValue&&this.colorMapByValue.get===c&&(this.colorMapByValue=new t(this.colorMapByValue))),this.range=C},getRegion:function(a,d,e){var f=b.floor(d/this.totalBarWidth);return f<0||f>=this.values.length?c:f},getCurrentRegionFields:function(){var a=this.currentRegion,b=r(this.values[a]),c=[],d,e;for(e=b.length;e--;)d=b[e],c.push({isNull:d===null,value:d,color:this.calcColor(e,d,a),offset:a});return c},calcColor:function(a,b,e){var f=this.colorMapByIndex,g=this.colorMapByValue,h=this.options,i,j;return this.stacked?i=h.get("stackedBarColor"):i=b<0?h.get("negBarColor"):h.get("barColor"),b===0&&h.get("zeroColor")!==c&&(i=h.get("zeroColor")),g&&(j=g.get(b))?i=j:f&&f.length>e&&(i=f[e]),d.isArray(i)?i[a%i.length]:i},renderRegion:function(a,e){var f=this.values[a],g=this.options,h=this.xaxisOffset,i=[],j=this.range,k=this.stacked,l=this.target,m=a*this.totalBarWidth,n=this.canvasHeightEf,p=this.yoffset,q,r,s,t,u,v,w,x,y,z;f=d.isArray(f)?f:[f],w=f.length,x=f[0],t=o(null,f),z=o(h,f,!0);if(t)return g.get("nullColor")?(s=e?g.get("nullColor"):this.calcHighlightColor(g.get("nullColor"),g),q=p>0?p-1:p,l.drawRect(m,q,this.barWidth-1,0,s,s)):c;u=p;for(v=0;v<w;v++){x=f[v];if(k&&x===h){if(!z||y)continue;y=!0}j>0?r=b.floor(n*(b.abs(x-h)/j))+1:r=1,x<h||x===h&&p===0?(q=u,u+=r):(q=p-r,p-=r),s=this.calcColor(v,x,a),e&&(s=this.calcHighlightColor(s,g)),i.push(l.drawRect(m,q,this.barWidth-1,r-1,s,s))}return i.length===1?i[0]:i}}),d.fn.sparkline.tristate=z=g(d.fn.sparkline._base,w,{type:"tristate",init:function(a,b,e,f,g){var h=parseInt(e.get("barWidth"),10),i=parseInt(e.get("barSpacing"),10);z._super.init.call(this,a,b,e,f,g),this.regionShapes={},this.barWidth=h,this.barSpacing=i,this.totalBarWidth=h+i,this.values=d.map(b,Number),this.width=f=b.length*h+(b.length-1)*i,d.isArray(e.get("colorMap"))?(this.colorMapByIndex=e.get("colorMap"),this.colorMapByValue=null):(this.colorMapByIndex=null,this.colorMapByValue=e.get("colorMap"),this.colorMapByValue&&this.colorMapByValue.get===c&&(this.colorMapByValue=new t(this.colorMapByValue))),this.initTarget()},getRegion:function(a,c,d){return b.floor(c/this.totalBarWidth)},getCurrentRegionFields:function(){var a=this.currentRegion;return{isNull:this.values[a]===c,value:this.values[a],color:this.calcColor(this.values[a],a),offset:a}},calcColor:function(a,b){var c=this.values,d=this.options,e=this.colorMapByIndex,f=this.colorMapByValue,g,h;return f&&(h=f.get(a))?g=h:e&&e.length>b?g=e[b]:c[b]<0?g=d.get("negBarColor"):c[b]>0?g=d.get("posBarColor"):g=d.get("zeroBarColor"),g},renderRegion:function(a,c){var d=this.values,e=this.options,f=this.target,g,h,i,j,k,l;g=f.pixelHeight,i=b.round(g/2),j=a*this.totalBarWidth,d[a]<0?(k=i,h=i-1):d[a]>0?(k=0,h=i-1):(k=i-1,h=2),l=this.calcColor(d[a],a);if(l===null)return;return c&&(l=this.calcHighlightColor(l,e)),f.drawRect(j,k,this.barWidth-1,h-1,l,l)}}),d.fn.sparkline.discrete=A=g(d.fn.sparkline._base,w,{type:"discrete",init:function(a,e,f,g,h){A._super.init.call(this,a,e,f,g,h),this.regionShapes={},this.values=e=d.map(e,Number),this.min=b.min.apply(b,e),this.max=b.max.apply(b,e),this.range=this.max-this.min,this.width=g=f.get("width")==="auto"?e.length*2:this.width,this.interval=b.floor(g/e.length),this.itemWidth=g/e.length,f.get("chartRangeMin")!==c&&(f.get("chartRangeClip")||f.get("chartRangeMin")<this.min)&&(this.min=f.get("chartRangeMin")),f.get("chartRangeMax")!==c&&(f.get("chartRangeClip")||f.get("chartRangeMax")>this.max)&&(this.max=f.get("chartRangeMax")),this.initTarget(),this.target&&(this.lineHeight=f.get("lineHeight")==="auto"?b.round(this.canvasHeight*.3):f.get("lineHeight"))},getRegion:function(a,c,d){return b.floor(c/this.itemWidth)},getCurrentRegionFields:function(){var a=this.currentRegion;return{isNull:this.values[a]===c,value:this.values[a],offset:a}},renderRegion:function(a,c){var d=this.values,e=this.options,f=this.min,g=this.max,h=this.range,j=this.interval,k=this.target,l=this.canvasHeight,m=this.lineHeight,n=l-m,o,p,q,r;return p=i(d[a],f,g),r=a*j,o=b.round(n-n*((p-f)/h)),q=e.get("thresholdColor")&&p<e.get("thresholdValue")?e.get("thresholdColor"):e.get("lineColor"),c&&(q=this.calcHighlightColor(q,e)),k.drawLine(r,o,r,o+m,q)}}),d.fn.sparkline.bullet=B=g(d.fn.sparkline._base,{type:"bullet",init:function(a,d,e,f,g){var h,i,j;B._super.init.call(this,a,d,e,f,g),this.values=d=l(d),j=d.slice(),j[0]=j[0]===null?j[2]:j[0],j[1]=d[1]===null?j[2]:j[1],h=b.min.apply(b,d),i=b.max.apply(b,d),e.get("base")===c?h=h<0?h:0:h=e.get("base"),this.min=h,this.max=i,this.range=i-h,this.shapes={},this.valueShapes={},this.regiondata={},this.width=f=e.get("width")==="auto"?"4.0em":f,this.target=this.$el.simpledraw(f,g,e.get("composite")),d.length||(this.disabled=!0),this.initTarget()},getRegion:function(a,b,d){var e=this.target.getShapeAt(a,b,d);return e!==c&&this.shapes[e]!==c?this.shapes[e]:c},getCurrentRegionFields:function(){var a=this.currentRegion;return{fieldkey:a.substr(0,1),value:this.values[a.substr(1)],region:a}},changeHighlight:function(a){var b=this.currentRegion,c=this.valueShapes[b],d;delete this.shapes[c];switch(b.substr(0,1)){case"r":d=this.renderRange(b.substr(1),a);break;case"p":d=this.renderPerformance(a);break;case"t":d=this.renderTarget(a)}this.valueShapes[b]=d.id,this.shapes[d.id]=b,this.target.replaceWithShape(c,d)},renderRange:function(a,c){var d=this.values[a],e=b.round(this.canvasWidth*((d-this.min)/this.range)),f=this.options.get("rangeColors")[a-2];return c&&(f=this.calcHighlightColor(f,this.options)),this.target.drawRect(0,0,e-1,this.canvasHeight-1,f,f)},renderPerformance:function(a){var c=this.values[1],d=b.round(this.canvasWidth*((c-this.min)/this.range)),e=this.options.get("performanceColor");return a&&(e=this.calcHighlightColor(e,this.options)),this.target.drawRect(0,b.round(this.canvasHeight*.3),d-1,b.round(this.canvasHeight*.4)-1,e,e)},renderTarget:function(a){var c=this.values[0],d=b.round(this.canvasWidth*((c-this.min)/this.range)-this.options.get("targetWidth")/2),e=b.round(this.canvasHeight*.1),f=this.canvasHeight-e*2,g=this.options.get("targetColor");return a&&(g=this.calcHighlightColor(g,this.options)),this.target.drawRect(d,e,this.options.get("targetWidth")-1,f-1,g,g)},render:function(){var a=this.values.length,b=this.target,c,d;if(!B._super.render.call(this))return;for(c=2;c<a;c++)d=this.renderRange(c).append(),this.shapes[d.id]="r"+c,this.valueShapes["r"+c]=d.id;this.values[1]!==null&&(d=this.renderPerformance().append(),this.shapes[d.id]="p1",this.valueShapes.p1=d.id),this.values[0]!==null&&(d=this.renderTarget().append(),this.shapes[d.id]="t0",this.valueShapes.t0=d.id),b.render()}}),d.fn.sparkline.pie=C=g(d.fn.sparkline._base,{type:"pie",init:function(a,c,e,f,g){var h=0,i;C._super.init.call(this,a,c,e,f,g),this.shapes={},this.valueShapes={},this.values=c=d.map(c,Number),e.get("width")==="auto"&&(this.width=this.height);if(c.length>0)for(i=c.length;i--;)h+=c[i];this.total=h,this.initTarget(),this.radius=b.floor(b.min(this.canvasWidth,this.canvasHeight)/2)},getRegion:function(a,b,d){var e=this.target.getShapeAt(a,b,d);return e!==c&&this.shapes[e]!==c?this.shapes[e]:c},getCurrentRegionFields:function(){var a=this.currentRegion;return{isNull:this.values[a]===c,value:this.values[a],percent:this.values[a]/this.total*100,color:this.options.get("sliceColors")[a%this.options.get("sliceColors").length],offset:a}},changeHighlight:function(a){var b=this.currentRegion,c=this.renderSlice(b,a),d=this.valueShapes[b];delete this.shapes[d],this.target.replaceWithShape(d,c),this.valueShapes[b]=c.id,this.shapes[c.id]=b},renderSlice:function(a,d){var e=this.target,f=this.options,g=this.radius,h=f.get("borderWidth"),i=f.get("offset"),j=2*b.PI,k=this.values,l=this.total,m=i?2*b.PI*(i/360):0,n,o,p,q,r;q=k.length;for(p=0;p<q;p++){n=m,o=m,l>0&&(o=m+j*(k[p]/l));if(a===p)return r=f.get("sliceColors")[p%f.get("sliceColors").length],d&&(r=this.calcHighlightColor(r,f)),e.drawPieSlice(g,g,g-h,n,o,c,r);m=o}},render:function(){var a=this.target,d=this.values,e=this.options,f=this.radius,g=e.get("borderWidth"),h,i;if(!C._super.render.call(this))return;g&&a.drawCircle(f,f,b.floor(f-g/2),e.get("borderColor"),c,g).append();for(i=d.length;i--;)d[i]&&(h=this.renderSlice(i).append(),this.valueShapes[i]=h.id,this.shapes[h.id]=i);a.render()}}),d.fn.sparkline.box=D=g(d.fn.sparkline._base,{type:"box",init:function(a,b,c,e,f){D._super.init.call(this,a,b,c,e,f),this.values=d.map(b,Number),this.width=c.get("width")==="auto"?"4.0em":e,this.initTarget(),this.values.length||(this.disabled=1)},getRegion:function(){return 1},getCurrentRegionFields:function(){var a=[{field:"lq",value:this.quartiles[0]},{field:"med",value:this.quartiles +[1]},{field:"uq",value:this.quartiles[2]}];return this.loutlier!==c&&a.push({field:"lo",value:this.loutlier}),this.routlier!==c&&a.push({field:"ro",value:this.routlier}),this.lwhisker!==c&&a.push({field:"lw",value:this.lwhisker}),this.rwhisker!==c&&a.push({field:"rw",value:this.rwhisker}),a},render:function(){var a=this.target,d=this.values,e=d.length,f=this.options,g=this.canvasWidth,h=this.canvasHeight,i=f.get("chartRangeMin")===c?b.min.apply(b,d):f.get("chartRangeMin"),k=f.get("chartRangeMax")===c?b.max.apply(b,d):f.get("chartRangeMax"),l=0,m,n,o,p,q,r,s,t,u,v,w;if(!D._super.render.call(this))return;if(f.get("raw"))f.get("showOutliers")&&d.length>5?(n=d[0],m=d[1],p=d[2],q=d[3],r=d[4],s=d[5],t=d[6]):(m=d[0],p=d[1],q=d[2],r=d[3],s=d[4]);else{d.sort(function(a,b){return a-b}),p=j(d,1),q=j(d,2),r=j(d,3),o=r-p;if(f.get("showOutliers")){m=s=c;for(u=0;u<e;u++)m===c&&d[u]>p-o*f.get("outlierIQR")&&(m=d[u]),d[u]<r+o*f.get("outlierIQR")&&(s=d[u]);n=d[0],t=d[e-1]}else m=d[0],s=d[e-1]}this.quartiles=[p,q,r],this.lwhisker=m,this.rwhisker=s,this.loutlier=n,this.routlier=t,w=g/(k-i+1),f.get("showOutliers")&&(l=b.ceil(f.get("spotRadius")),g-=2*b.ceil(f.get("spotRadius")),w=g/(k-i+1),n<m&&a.drawCircle((n-i)*w+l,h/2,f.get("spotRadius"),f.get("outlierLineColor"),f.get("outlierFillColor")).append(),t>s&&a.drawCircle((t-i)*w+l,h/2,f.get("spotRadius"),f.get("outlierLineColor"),f.get("outlierFillColor")).append()),a.drawRect(b.round((p-i)*w+l),b.round(h*.1),b.round((r-p)*w),b.round(h*.8),f.get("boxLineColor"),f.get("boxFillColor")).append(),a.drawLine(b.round((m-i)*w+l),b.round(h/2),b.round((p-i)*w+l),b.round(h/2),f.get("lineColor")).append(),a.drawLine(b.round((m-i)*w+l),b.round(h/4),b.round((m-i)*w+l),b.round(h-h/4),f.get("whiskerColor")).append(),a.drawLine(b.round((s-i)*w+l),b.round(h/2),b.round((r-i)*w+l),b.round(h/2),f.get("lineColor")).append(),a.drawLine(b.round((s-i)*w+l),b.round(h/4),b.round((s-i)*w+l),b.round(h-h/4),f.get("whiskerColor")).append(),a.drawLine(b.round((q-i)*w+l),b.round(h*.1),b.round((q-i)*w+l),b.round(h*.9),f.get("medianColor")).append(),f.get("target")&&(v=b.ceil(f.get("spotRadius")),a.drawLine(b.round((f.get("target")-i)*w+l),b.round(h/2-v),b.round((f.get("target")-i)*w+l),b.round(h/2+v),f.get("targetColor")).append(),a.drawLine(b.round((f.get("target")-i)*w+l-v),b.round(h/2),b.round((f.get("target")-i)*w+l+v),b.round(h/2),f.get("targetColor")).append()),a.render()}}),G=g({init:function(a,b,c,d){this.target=a,this.id=b,this.type=c,this.args=d},append:function(){return this.target.appendShape(this),this}}),H=g({_pxregex:/(\d+)(px)?\s*$/i,init:function(a,b,c){if(!a)return;this.width=a,this.height=b,this.target=c,this.lastShapeId=null,c[0]&&(c=c[0]),d.data(c,"_jqs_vcanvas",this)},drawLine:function(a,b,c,d,e,f){return this.drawShape([[a,b],[c,d]],e,f)},drawShape:function(a,b,c,d){return this._genShape("Shape",[a,b,c,d])},drawCircle:function(a,b,c,d,e,f){return this._genShape("Circle",[a,b,c,d,e,f])},drawPieSlice:function(a,b,c,d,e,f,g){return this._genShape("PieSlice",[a,b,c,d,e,f,g])},drawRect:function(a,b,c,d,e,f){return this._genShape("Rect",[a,b,c,d,e,f])},getElement:function(){return this.canvas},getLastShapeId:function(){return this.lastShapeId},reset:function(){alert("reset not implemented")},_insert:function(a,b){d(b).html(a)},_calculatePixelDims:function(a,b,c){var e;e=this._pxregex.exec(b),e?this.pixelHeight=e[1]:this.pixelHeight=d(c).height(),e=this._pxregex.exec(a),e?this.pixelWidth=e[1]:this.pixelWidth=d(c).width()},_genShape:function(a,b){var c=L++;return b.unshift(c),new G(this,c,a,b)},appendShape:function(a){alert("appendShape not implemented")},replaceWithShape:function(a,b){alert("replaceWithShape not implemented")},insertAfterShape:function(a,b){alert("insertAfterShape not implemented")},removeShapeId:function(a){alert("removeShapeId not implemented")},getShapeAt:function(a,b,c){alert("getShapeAt not implemented")},render:function(){alert("render not implemented")}}),I=g(H,{init:function(b,e,f,g){I._super.init.call(this,b,e,f),this.canvas=a.createElement("canvas"),f[0]&&(f=f[0]),d.data(f,"_jqs_vcanvas",this),d(this.canvas).css({display:"inline-block",width:b,height:e,verticalAlign:"top"}),this._insert(this.canvas,f),this._calculatePixelDims(b,e,this.canvas),this.canvas.width=this.pixelWidth,this.canvas.height=this.pixelHeight,this.interact=g,this.shapes={},this.shapeseq=[],this.currentTargetShapeId=c,d(this.canvas).css({width:this.pixelWidth,height:this.pixelHeight})},_getContext:function(a,b,d){var e=this.canvas.getContext("2d");return a!==c&&(e.strokeStyle=a),e.lineWidth=d===c?1:d,b!==c&&(e.fillStyle=b),e},reset:function(){var a=this._getContext();a.clearRect(0,0,this.pixelWidth,this.pixelHeight),this.shapes={},this.shapeseq=[],this.currentTargetShapeId=c},_drawShape:function(a,b,d,e,f){var g=this._getContext(d,e,f),h,i;g.beginPath(),g.moveTo(b[0][0]+.5,b[0][1]+.5);for(h=1,i=b.length;h<i;h++)g.lineTo(b[h][0]+.5,b[h][1]+.5);d!==c&&g.stroke(),e!==c&&g.fill(),this.targetX!==c&&this.targetY!==c&&g.isPointInPath(this.targetX,this.targetY)&&(this.currentTargetShapeId=a)},_drawCircle:function(a,d,e,f,g,h,i){var j=this._getContext(g,h,i);j.beginPath(),j.arc(d,e,f,0,2*b.PI,!1),this.targetX!==c&&this.targetY!==c&&j.isPointInPath(this.targetX,this.targetY)&&(this.currentTargetShapeId=a),g!==c&&j.stroke(),h!==c&&j.fill()},_drawPieSlice:function(a,b,d,e,f,g,h,i){var j=this._getContext(h,i);j.beginPath(),j.moveTo(b,d),j.arc(b,d,e,f,g,!1),j.lineTo(b,d),j.closePath(),h!==c&&j.stroke(),i&&j.fill(),this.targetX!==c&&this.targetY!==c&&j.isPointInPath(this.targetX,this.targetY)&&(this.currentTargetShapeId=a)},_drawRect:function(a,b,c,d,e,f,g){return this._drawShape(a,[[b,c],[b+d,c],[b+d,c+e],[b,c+e],[b,c]],f,g)},appendShape:function(a){return this.shapes[a.id]=a,this.shapeseq.push(a.id),this.lastShapeId=a.id,a.id},replaceWithShape:function(a,b){var c=this.shapeseq,d;this.shapes[b.id]=b;for(d=c.length;d--;)c[d]==a&&(c[d]=b.id);delete this.shapes[a]},replaceWithShapes:function(a,b){var c=this.shapeseq,d={},e,f,g;for(f=a.length;f--;)d[a[f]]=!0;for(f=c.length;f--;)e=c[f],d[e]&&(c.splice(f,1),delete this.shapes[e],g=f);for(f=b.length;f--;)c.splice(g,0,b[f].id),this.shapes[b[f].id]=b[f]},insertAfterShape:function(a,b){var c=this.shapeseq,d;for(d=c.length;d--;)if(c[d]===a){c.splice(d+1,0,b.id),this.shapes[b.id]=b;return}},removeShapeId:function(a){var b=this.shapeseq,c;for(c=b.length;c--;)if(b[c]===a){b.splice(c,1);break}delete this.shapes[a]},getShapeAt:function(a,b,c){return this.targetX=b,this.targetY=c,this.render(),this.currentTargetShapeId},render:function(){var a=this.shapeseq,b=this.shapes,c=a.length,d=this._getContext(),e,f,g;d.clearRect(0,0,this.pixelWidth,this.pixelHeight);for(g=0;g<c;g++)e=a[g],f=b[e],this["_draw"+f.type].apply(this,f.args);this.interact||(this.shapes={},this.shapeseq=[])}}),J=g(H,{init:function(b,c,e){var f;J._super.init.call(this,b,c,e),e[0]&&(e=e[0]),d.data(e,"_jqs_vcanvas",this),this.canvas=a.createElement("span"),d(this.canvas).css({display:"inline-block",position:"relative",overflow:"hidden",width:b,height:c,margin:"0px",padding:"0px",verticalAlign:"top"}),this._insert(this.canvas,e),this._calculatePixelDims(b,c,this.canvas),this.canvas.width=this.pixelWidth,this.canvas.height=this.pixelHeight,f='<v:group coordorigin="0 0" coordsize="'+this.pixelWidth+" "+this.pixelHeight+'"'+' style="position:absolute;top:0;left:0;width:'+this.pixelWidth+"px;height="+this.pixelHeight+'px;"></v:group>',this.canvas.insertAdjacentHTML("beforeEnd",f),this.group=d(this.canvas).children()[0],this.rendered=!1,this.prerender=""},_drawShape:function(a,b,d,e,f){var g=[],h,i,j,k,l,m,n;for(n=0,m=b.length;n<m;n++)g[n]=""+b[n][0]+","+b[n][1];return h=g.splice(0,1),f=f===c?1:f,i=d===c?' stroked="false" ':' strokeWeight="'+f+'px" strokeColor="'+d+'" ',j=e===c?' filled="false"':' fillColor="'+e+'" filled="true" ',k=g[0]===g[g.length-1]?"x ":"",l='<v:shape coordorigin="0 0" coordsize="'+this.pixelWidth+" "+this.pixelHeight+'" '+' id="jqsshape'+a+'" '+i+j+' style="position:absolute;left:0px;top:0px;height:'+this.pixelHeight+"px;width:"+this.pixelWidth+'px;padding:0px;margin:0px;" '+' path="m '+h+" l "+g.join(", ")+" "+k+'e">'+" </v:shape>",l},_drawCircle:function(a,b,d,e,f,g,h){var i,j,k;return b-=e,d-=e,i=f===c?' stroked="false" ':' strokeWeight="'+h+'px" strokeColor="'+f+'" ',j=g===c?' filled="false"':' fillColor="'+g+'" filled="true" ',k='<v:oval id="jqsshape'+a+'" '+i+j+' style="position:absolute;top:'+d+"px; left:"+b+"px; width:"+e*2+"px; height:"+e*2+'px"></v:oval>',k},_drawPieSlice:function(a,d,e,f,g,h,i,j){var k,l,m,n,o,p,q,r;if(g===h)return"";h-g===2*b.PI&&(g=0,h=2*b.PI),l=d+b.round(b.cos(g)*f),m=e+b.round(b.sin(g)*f),n=d+b.round(b.cos(h)*f),o=e+b.round(b.sin(h)*f);if(l===n&&m===o){if(h-g<b.PI)return"";l=n=d+f,m=o=e}return l===n&&m===o&&h-g<b.PI?"":(k=[d-f,e-f,d+f,e+f,l,m,n,o],p=i===c?' stroked="false" ':' strokeWeight="1px" strokeColor="'+i+'" ',q=j===c?' filled="false"':' fillColor="'+j+'" filled="true" ',r='<v:shape coordorigin="0 0" coordsize="'+this.pixelWidth+" "+this.pixelHeight+'" '+' id="jqsshape'+a+'" '+p+q+' style="position:absolute;left:0px;top:0px;height:'+this.pixelHeight+"px;width:"+this.pixelWidth+'px;padding:0px;margin:0px;" '+' path="m '+d+","+e+" wa "+k.join(", ")+' x e">'+" </v:shape>",r)},_drawRect:function(a,b,c,d,e,f,g){return this._drawShape(a,[[b,c],[b,c+e],[b+d,c+e],[b+d,c],[b,c]],f,g)},reset:function(){this.group.innerHTML=""},appendShape:function(a){var b=this["_draw"+a.type].apply(this,a.args);return this.rendered?this.group.insertAdjacentHTML("beforeEnd",b):this.prerender+=b,this.lastShapeId=a.id,a.id},replaceWithShape:function(a,b){var c=d("#jqsshape"+a),e=this["_draw"+b.type].apply(this,b.args);c[0].outerHTML=e},replaceWithShapes:function(a,b){var c=d("#jqsshape"+a[0]),e="",f=b.length,g;for(g=0;g<f;g++)e+=this["_draw"+b[g].type].apply(this,b[g].args);c[0].outerHTML=e;for(g=1;g<a.length;g++)d("#jqsshape"+a[g]).remove()},insertAfterShape:function(a,b){var c=d("#jqsshape"+a),e=this["_draw"+b.type].apply(this,b.args);c[0].insertAdjacentHTML("afterEnd",e)},removeShapeId:function(a){var b=d("#jqsshape"+a);this.group.removeChild(b[0])},getShapeAt:function(a,b,c){var d=a.id.substr(8);return d},render:function(){this.rendered||(this.group.innerHTML=this.prerender,this.rendered=!0)}})})})(document,Math);
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/js/jquery.ui.touch-punch.min.js b/src/main/webapp/static/login/assets/js/jquery.ui.touch-punch.min.js new file mode 100644 index 0000000..33d6f97 --- /dev/null +++ b/src/main/webapp/static/login/assets/js/jquery.ui.touch-punch.min.js @@ -0,0 +1,11 @@ +/* + * jQuery UI Touch Punch 0.2.2 + * + * Copyright 2011, Dave Furfero + * Dual licensed under the MIT or GPL Version 2 licenses. + * + * Depends: + * jquery.ui.widget.js + * jquery.ui.mouse.js + */ +(function(b){b.support.touch="ontouchend" in document;if(!b.support.touch){return;}var c=b.ui.mouse.prototype,e=c._mouseInit,a;function d(g,h){if(g.originalEvent.touches.length>1){return;}g.preventDefault();var i=g.originalEvent.changedTouches[0],f=document.createEvent("MouseEvents");f.initMouseEvent(h,true,true,window,1,i.screenX,i.screenY,i.clientX,i.clientY,false,false,false,false,0,null);g.target.dispatchEvent(f);}c._touchStart=function(g){var f=this;if(a||!f._mouseCapture(g.originalEvent.changedTouches[0])){return;}a=true;f._touchMoved=false;d(g,"mouseover");d(g,"mousemove");d(g,"mousedown");};c._touchMove=function(f){if(!a){return;}this._touchMoved=true;d(f,"mousemove");};c._touchEnd=function(f){if(!a){return;}d(f,"mouseup");d(f,"mouseout");if(!this._touchMoved){d(f,"click");}a=false;};c._mouseInit=function(){var f=this;f.element.bind("touchstart",b.proxy(f,"_touchStart")).bind("touchmove",b.proxy(f,"_touchMove")).bind("touchend",b.proxy(f,"_touchEnd"));e.call(f);};})(jQuery);
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/js/jquery.validate.min.js b/src/main/webapp/static/login/assets/js/jquery.validate.min.js new file mode 100644 index 0000000..cbaf510 --- /dev/null +++ b/src/main/webapp/static/login/assets/js/jquery.validate.min.js @@ -0,0 +1,2 @@ +/*! jQuery Validation Plugin - v1.11.1 - 3/22/2013\n* https://github.com/jzaefferer/jquery-validation +* Copyright (c) 2013 Jörn Zaefferer; Licensed MIT */(function(t){t.extend(t.fn,{validate:function(e){if(!this.length)return e&&e.debug&&window.console&&console.warn("Nothing selected, can't validate, returning nothing."),void 0;var i=t.data(this[0],"validator");return i?i:(this.attr("novalidate","novalidate"),i=new t.validator(e,this[0]),t.data(this[0],"validator",i),i.settings.onsubmit&&(this.validateDelegate(":submit","click",function(e){i.settings.submitHandler&&(i.submitButton=e.target),t(e.target).hasClass("cancel")&&(i.cancelSubmit=!0),void 0!==t(e.target).attr("formnovalidate")&&(i.cancelSubmit=!0)}),this.submit(function(e){function s(){var s;return i.settings.submitHandler?(i.submitButton&&(s=t("<input type='hidden'/>").attr("name",i.submitButton.name).val(t(i.submitButton).val()).appendTo(i.currentForm)),i.settings.submitHandler.call(i,i.currentForm,e),i.submitButton&&s.remove(),!1):!0}return i.settings.debug&&e.preventDefault(),i.cancelSubmit?(i.cancelSubmit=!1,s()):i.form()?i.pendingRequest?(i.formSubmitted=!0,!1):s():(i.focusInvalid(),!1)})),i)},valid:function(){if(t(this[0]).is("form"))return this.validate().form();var e=!0,i=t(this[0].form).validate();return this.each(function(){e=e&&i.element(this)}),e},removeAttrs:function(e){var i={},s=this;return t.each(e.split(/\s/),function(t,e){i[e]=s.attr(e),s.removeAttr(e)}),i},rules:function(e,i){var s=this[0];if(e){var r=t.data(s.form,"validator").settings,n=r.rules,a=t.validator.staticRules(s);switch(e){case"add":t.extend(a,t.validator.normalizeRule(i)),delete a.messages,n[s.name]=a,i.messages&&(r.messages[s.name]=t.extend(r.messages[s.name],i.messages));break;case"remove":if(!i)return delete n[s.name],a;var u={};return t.each(i.split(/\s/),function(t,e){u[e]=a[e],delete a[e]}),u}}var o=t.validator.normalizeRules(t.extend({},t.validator.classRules(s),t.validator.attributeRules(s),t.validator.dataRules(s),t.validator.staticRules(s)),s);if(o.required){var l=o.required;delete o.required,o=t.extend({required:l},o)}return o}}),t.extend(t.expr[":"],{blank:function(e){return!t.trim(""+t(e).val())},filled:function(e){return!!t.trim(""+t(e).val())},unchecked:function(e){return!t(e).prop("checked")}}),t.validator=function(e,i){this.settings=t.extend(!0,{},t.validator.defaults,e),this.currentForm=i,this.init()},t.validator.format=function(e,i){return 1===arguments.length?function(){var i=t.makeArray(arguments);return i.unshift(e),t.validator.format.apply(this,i)}:(arguments.length>2&&i.constructor!==Array&&(i=t.makeArray(arguments).slice(1)),i.constructor!==Array&&(i=[i]),t.each(i,function(t,i){e=e.replace(RegExp("\\{"+t+"\\}","g"),function(){return i})}),e)},t.extend(t.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",validClass:"valid",errorElement:"label",focusInvalid:!0,errorContainer:t([]),errorLabelContainer:t([]),onsubmit:!0,ignore:":hidden",ignoreTitle:!1,onfocusin:function(t){this.lastActive=t,this.settings.focusCleanup&&!this.blockFocusCleanup&&(this.settings.unhighlight&&this.settings.unhighlight.call(this,t,this.settings.errorClass,this.settings.validClass),this.addWrapper(this.errorsFor(t)).hide())},onfocusout:function(t){this.checkable(t)||!(t.name in this.submitted)&&this.optional(t)||this.element(t)},onkeyup:function(t,e){(9!==e.which||""!==this.elementValue(t))&&(t.name in this.submitted||t===this.lastElement)&&this.element(t)},onclick:function(t){t.name in this.submitted?this.element(t):t.parentNode.name in this.submitted&&this.element(t.parentNode)},highlight:function(e,i,s){"radio"===e.type?this.findByName(e.name).addClass(i).removeClass(s):t(e).addClass(i).removeClass(s)},unhighlight:function(e,i,s){"radio"===e.type?this.findByName(e.name).removeClass(i).addClass(s):t(e).removeClass(i).addClass(s)}},setDefaults:function(e){t.extend(t.validator.defaults,e)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date (ISO).",number:"Please enter a valid number.",digits:"Please enter only digits.",creditcard:"Please enter a valid credit card number.",equalTo:"Please enter the same value again.",maxlength:t.validator.format("Please enter no more than {0} characters."),minlength:t.validator.format("Please enter at least {0} characters."),rangelength:t.validator.format("Please enter a value between {0} and {1} characters long."),range:t.validator.format("Please enter a value between {0} and {1}."),max:t.validator.format("Please enter a value less than or equal to {0}."),min:t.validator.format("Please enter a value greater than or equal to {0}.")},autoCreateRanges:!1,prototype:{init:function(){function e(e){var i=t.data(this[0].form,"validator"),s="on"+e.type.replace(/^validate/,"");i.settings[s]&&i.settings[s].call(i,this[0],e)}this.labelContainer=t(this.settings.errorLabelContainer),this.errorContext=this.labelContainer.length&&this.labelContainer||t(this.currentForm),this.containers=t(this.settings.errorContainer).add(this.settings.errorLabelContainer),this.submitted={},this.valueCache={},this.pendingRequest=0,this.pending={},this.invalid={},this.reset();var i=this.groups={};t.each(this.settings.groups,function(e,s){"string"==typeof s&&(s=s.split(/\s/)),t.each(s,function(t,s){i[s]=e})});var s=this.settings.rules;t.each(s,function(e,i){s[e]=t.validator.normalizeRule(i)}),t(this.currentForm).validateDelegate(":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'] ,[type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], [type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'] ","focusin focusout keyup",e).validateDelegate("[type='radio'], [type='checkbox'], select, option","click",e),this.settings.invalidHandler&&t(this.currentForm).bind("invalid-form.validate",this.settings.invalidHandler)},form:function(){return this.checkForm(),t.extend(this.submitted,this.errorMap),this.invalid=t.extend({},this.errorMap),this.valid()||t(this.currentForm).triggerHandler("invalid-form",[this]),this.showErrors(),this.valid()},checkForm:function(){this.prepareForm();for(var t=0,e=this.currentElements=this.elements();e[t];t++)this.check(e[t]);return this.valid()},element:function(e){e=this.validationTargetFor(this.clean(e)),this.lastElement=e,this.prepareElement(e),this.currentElements=t(e);var i=this.check(e)!==!1;return i?delete this.invalid[e.name]:this.invalid[e.name]=!0,this.numberOfInvalids()||(this.toHide=this.toHide.add(this.containers)),this.showErrors(),i},showErrors:function(e){if(e){t.extend(this.errorMap,e),this.errorList=[];for(var i in e)this.errorList.push({message:e[i],element:this.findByName(i)[0]});this.successList=t.grep(this.successList,function(t){return!(t.name in e)})}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){t.fn.resetForm&&t(this.currentForm).resetForm(),this.submitted={},this.lastElement=null,this.prepareForm(),this.hideErrors(),this.elements().removeClass(this.settings.errorClass).removeData("previousValue")},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(t){var e=0;for(var i in t)e++;return e},hideErrors:function(){this.addWrapper(this.toHide).hide()},valid:function(){return 0===this.size()},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid)try{t(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus().trigger("focusin")}catch(e){}},findLastActive:function(){var e=this.lastActive;return e&&1===t.grep(this.errorList,function(t){return t.element.name===e.name}).length&&e},elements:function(){var e=this,i={};return t(this.currentForm).find("input, select, textarea").not(":submit, :reset, :image, [disabled]").not(this.settings.ignore).filter(function(){return!this.name&&e.settings.debug&&window.console&&console.error("%o has no name assigned",this),this.name in i||!e.objectLength(t(this).rules())?!1:(i[this.name]=!0,!0)})},clean:function(e){return t(e)[0]},errors:function(){var e=this.settings.errorClass.replace(" ",".");return t(this.settings.errorElement+"."+e,this.errorContext)},reset:function(){this.successList=[],this.errorList=[],this.errorMap={},this.toShow=t([]),this.toHide=t([]),this.currentElements=t([])},prepareForm:function(){this.reset(),this.toHide=this.errors().add(this.containers)},prepareElement:function(t){this.reset(),this.toHide=this.errorsFor(t)},elementValue:function(e){var i=t(e).attr("type"),s=t(e).val();return"radio"===i||"checkbox"===i?t("input[name='"+t(e).attr("name")+"']:checked").val():"string"==typeof s?s.replace(/\r/g,""):s},check:function(e){e=this.validationTargetFor(this.clean(e));var i,s=t(e).rules(),r=!1,n=this.elementValue(e);for(var a in s){var u={method:a,parameters:s[a]};try{if(i=t.validator.methods[a].call(this,n,e,u.parameters),"dependency-mismatch"===i){r=!0;continue}if(r=!1,"pending"===i)return this.toHide=this.toHide.not(this.errorsFor(e)),void 0;if(!i)return this.formatAndAdd(e,u),!1}catch(o){throw this.settings.debug&&window.console&&console.log("Exception occurred when checking element "+e.id+", check the '"+u.method+"' method.",o),o}}return r?void 0:(this.objectLength(s)&&this.successList.push(e),!0)},customDataMessage:function(e,i){return t(e).data("msg-"+i.toLowerCase())||e.attributes&&t(e).attr("data-msg-"+i.toLowerCase())},customMessage:function(t,e){var i=this.settings.messages[t];return i&&(i.constructor===String?i:i[e])},findDefined:function(){for(var t=0;arguments.length>t;t++)if(void 0!==arguments[t])return arguments[t];return void 0},defaultMessage:function(e,i){return this.findDefined(this.customMessage(e.name,i),this.customDataMessage(e,i),!this.settings.ignoreTitle&&e.title||void 0,t.validator.messages[i],"<strong>Warning: No message defined for "+e.name+"</strong>")},formatAndAdd:function(e,i){var s=this.defaultMessage(e,i.method),r=/\$?\{(\d+)\}/g;"function"==typeof s?s=s.call(this,i.parameters,e):r.test(s)&&(s=t.validator.format(s.replace(r,"{$1}"),i.parameters)),this.errorList.push({message:s,element:e}),this.errorMap[e.name]=s,this.submitted[e.name]=s},addWrapper:function(t){return this.settings.wrapper&&(t=t.add(t.parent(this.settings.wrapper))),t},defaultShowErrors:function(){var t,e;for(t=0;this.errorList[t];t++){var i=this.errorList[t];this.settings.highlight&&this.settings.highlight.call(this,i.element,this.settings.errorClass,this.settings.validClass),this.showLabel(i.element,i.message)}if(this.errorList.length&&(this.toShow=this.toShow.add(this.containers)),this.settings.success)for(t=0;this.successList[t];t++)this.showLabel(this.successList[t]);if(this.settings.unhighlight)for(t=0,e=this.validElements();e[t];t++)this.settings.unhighlight.call(this,e[t],this.settings.errorClass,this.settings.validClass);this.toHide=this.toHide.not(this.toShow),this.hideErrors(),this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return t(this.errorList).map(function(){return this.element})},showLabel:function(e,i){var s=this.errorsFor(e);s.length?(s.removeClass(this.settings.validClass).addClass(this.settings.errorClass),s.html(i)):(s=t("<"+this.settings.errorElement+">").attr("for",this.idOrName(e)).addClass(this.settings.errorClass).html(i||""),this.settings.wrapper&&(s=s.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()),this.labelContainer.append(s).length||(this.settings.errorPlacement?this.settings.errorPlacement(s,t(e)):s.insertAfter(e))),!i&&this.settings.success&&(s.text(""),"string"==typeof this.settings.success?s.addClass(this.settings.success):this.settings.success(s,e)),this.toShow=this.toShow.add(s)},errorsFor:function(e){var i=this.idOrName(e);return this.errors().filter(function(){return t(this).attr("for")===i})},idOrName:function(t){return this.groups[t.name]||(this.checkable(t)?t.name:t.id||t.name)},validationTargetFor:function(t){return this.checkable(t)&&(t=this.findByName(t.name).not(this.settings.ignore)[0]),t},checkable:function(t){return/radio|checkbox/i.test(t.type)},findByName:function(e){return t(this.currentForm).find("[name='"+e+"']")},getLength:function(e,i){switch(i.nodeName.toLowerCase()){case"select":return t("option:selected",i).length;case"input":if(this.checkable(i))return this.findByName(i.name).filter(":checked").length}return e.length},depend:function(t,e){return this.dependTypes[typeof t]?this.dependTypes[typeof t](t,e):!0},dependTypes:{"boolean":function(t){return t},string:function(e,i){return!!t(e,i.form).length},"function":function(t,e){return t(e)}},optional:function(e){var i=this.elementValue(e);return!t.validator.methods.required.call(this,i,e)&&"dependency-mismatch"},startRequest:function(t){this.pending[t.name]||(this.pendingRequest++,this.pending[t.name]=!0)},stopRequest:function(e,i){this.pendingRequest--,0>this.pendingRequest&&(this.pendingRequest=0),delete this.pending[e.name],i&&0===this.pendingRequest&&this.formSubmitted&&this.form()?(t(this.currentForm).submit(),this.formSubmitted=!1):!i&&0===this.pendingRequest&&this.formSubmitted&&(t(this.currentForm).triggerHandler("invalid-form",[this]),this.formSubmitted=!1)},previousValue:function(e){return t.data(e,"previousValue")||t.data(e,"previousValue",{old:null,valid:!0,message:this.defaultMessage(e,"remote")})}},classRuleSettings:{required:{required:!0},email:{email:!0},url:{url:!0},date:{date:!0},dateISO:{dateISO:!0},number:{number:!0},digits:{digits:!0},creditcard:{creditcard:!0}},addClassRules:function(e,i){e.constructor===String?this.classRuleSettings[e]=i:t.extend(this.classRuleSettings,e)},classRules:function(e){var i={},s=t(e).attr("class");return s&&t.each(s.split(" "),function(){this in t.validator.classRuleSettings&&t.extend(i,t.validator.classRuleSettings[this])}),i},attributeRules:function(e){var i={},s=t(e),r=s[0].getAttribute("type");for(var n in t.validator.methods){var a;"required"===n?(a=s.get(0).getAttribute(n),""===a&&(a=!0),a=!!a):a=s.attr(n),/min|max/.test(n)&&(null===r||/number|range|text/.test(r))&&(a=Number(a)),a?i[n]=a:r===n&&"range"!==r&&(i[n]=!0)}return i.maxlength&&/-1|2147483647|524288/.test(i.maxlength)&&delete i.maxlength,i},dataRules:function(e){var i,s,r={},n=t(e);for(i in t.validator.methods)s=n.data("rule-"+i.toLowerCase()),void 0!==s&&(r[i]=s);return r},staticRules:function(e){var i={},s=t.data(e.form,"validator");return s.settings.rules&&(i=t.validator.normalizeRule(s.settings.rules[e.name])||{}),i},normalizeRules:function(e,i){return t.each(e,function(s,r){if(r===!1)return delete e[s],void 0;if(r.param||r.depends){var n=!0;switch(typeof r.depends){case"string":n=!!t(r.depends,i.form).length;break;case"function":n=r.depends.call(i,i)}n?e[s]=void 0!==r.param?r.param:!0:delete e[s]}}),t.each(e,function(s,r){e[s]=t.isFunction(r)?r(i):r}),t.each(["minlength","maxlength"],function(){e[this]&&(e[this]=Number(e[this]))}),t.each(["rangelength","range"],function(){var i;e[this]&&(t.isArray(e[this])?e[this]=[Number(e[this][0]),Number(e[this][1])]:"string"==typeof e[this]&&(i=e[this].split(/[\s,]+/),e[this]=[Number(i[0]),Number(i[1])]))}),t.validator.autoCreateRanges&&(e.min&&e.max&&(e.range=[e.min,e.max],delete e.min,delete e.max),e.minlength&&e.maxlength&&(e.rangelength=[e.minlength,e.maxlength],delete e.minlength,delete e.maxlength)),e},normalizeRule:function(e){if("string"==typeof e){var i={};t.each(e.split(/\s/),function(){i[this]=!0}),e=i}return e},addMethod:function(e,i,s){t.validator.methods[e]=i,t.validator.messages[e]=void 0!==s?s:t.validator.messages[e],3>i.length&&t.validator.addClassRules(e,t.validator.normalizeRule(e))},methods:{required:function(e,i,s){if(!this.depend(s,i))return"dependency-mismatch";if("select"===i.nodeName.toLowerCase()){var r=t(i).val();return r&&r.length>0}return this.checkable(i)?this.getLength(e,i)>0:t.trim(e).length>0},email:function(t,e){return this.optional(e)||/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i.test(t)},url:function(t,e){return this.optional(e)||/^(https?|s?ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(t)},date:function(t,e){return this.optional(e)||!/Invalid|NaN/.test(""+new Date(t))},dateISO:function(t,e){return this.optional(e)||/^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/.test(t)},number:function(t,e){return this.optional(e)||/^-?(?:\d+|\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(t)},digits:function(t,e){return this.optional(e)||/^\d+$/.test(t)},creditcard:function(t,e){if(this.optional(e))return"dependency-mismatch";if(/[^0-9 \-]+/.test(t))return!1;var i=0,s=0,r=!1;t=t.replace(/\D/g,"");for(var n=t.length-1;n>=0;n--){var a=t.charAt(n);s=parseInt(a,10),r&&(s*=2)>9&&(s-=9),i+=s,r=!r}return 0===i%10},minlength:function(e,i,s){var r=t.isArray(e)?e.length:this.getLength(t.trim(e),i);return this.optional(i)||r>=s},maxlength:function(e,i,s){var r=t.isArray(e)?e.length:this.getLength(t.trim(e),i);return this.optional(i)||s>=r},rangelength:function(e,i,s){var r=t.isArray(e)?e.length:this.getLength(t.trim(e),i);return this.optional(i)||r>=s[0]&&s[1]>=r},min:function(t,e,i){return this.optional(e)||t>=i},max:function(t,e,i){return this.optional(e)||i>=t},range:function(t,e,i){return this.optional(e)||t>=i[0]&&i[1]>=t},equalTo:function(e,i,s){var r=t(s);return this.settings.onfocusout&&r.unbind(".validate-equalTo").bind("blur.validate-equalTo",function(){t(i).valid()}),e===r.val()},remote:function(e,i,s){if(this.optional(i))return"dependency-mismatch";var r=this.previousValue(i);if(this.settings.messages[i.name]||(this.settings.messages[i.name]={}),r.originalMessage=this.settings.messages[i.name].remote,this.settings.messages[i.name].remote=r.message,s="string"==typeof s&&{url:s}||s,r.old===e)return r.valid;r.old=e;var n=this;this.startRequest(i);var a={};return a[i.name]=e,t.ajax(t.extend(!0,{url:s,mode:"abort",port:"validate"+i.name,dataType:"json",data:a,success:function(s){n.settings.messages[i.name].remote=r.originalMessage;var a=s===!0||"true"===s;if(a){var u=n.formSubmitted;n.prepareElement(i),n.formSubmitted=u,n.successList.push(i),delete n.invalid[i.name],n.showErrors()}else{var o={},l=s||n.defaultMessage(i,"remote");o[i.name]=r.message=t.isFunction(l)?l(e):l,n.invalid[i.name]=!0,n.showErrors(o)}r.valid=a,n.stopRequest(i,a)}},s)),"pending"}}}),t.format=t.validator.format})(jQuery),function(t){var e={};if(t.ajaxPrefilter)t.ajaxPrefilter(function(t,i,s){var r=t.port;"abort"===t.mode&&(e[r]&&e[r].abort(),e[r]=s)});else{var i=t.ajax;t.ajax=function(s){var r=("mode"in s?s:t.ajaxSettings).mode,n=("port"in s?s:t.ajaxSettings).port;return"abort"===r?(e[n]&&e[n].abort(),e[n]=i.apply(this,arguments),e[n]):i.apply(this,arguments)}}}(jQuery),function(t){t.extend(t.fn,{validateDelegate:function(e,i,s){return this.bind(i,function(i){var r=t(i.target);return r.is(e)?s.apply(r,arguments):void 0})}})}(jQuery);
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/js/markdown/bootstrap-markdown.min.js b/src/main/webapp/static/login/assets/js/markdown/bootstrap-markdown.min.js new file mode 100644 index 0000000..374fb06 --- /dev/null +++ b/src/main/webapp/static/login/assets/js/markdown/bootstrap-markdown.min.js @@ -0,0 +1 @@ +!function(e){var c=function(g,f){this.$ns="bootstrap-markdown";this.$element=e(g);this.$editable={el:null,type:null,attrKeys:[],attrValues:[],content:null};this.$options=e.extend(true,{},e.fn.markdown.defaults,f);this.$oldContent=null;this.$isPreview=false;this.$editor=null;this.$textarea=null;this.$handler=[];this.$callback=[];this.$nextTab=[];this.showEditor()};c.prototype={constructor:c,__alterButtons:function(h,g){var i=this.$handler,f=(h=="all"),j=this;e.each(i,function(m,l){var n=true;if(f){n=false}else{n=l.indexOf(h)<0}if(n==false){g(j.$editor.find('button[data-handler="'+l+'"]'))}})},__buildButtons:function(j,g){var l,t=this.$ns,w=this.$handler,u=this.$callback;for(l=0;l<j.length;l++){var s,q=j[l];for(s=0;s<q.length;s++){var p,o=q[s].data,r=e("<div/>",{"class":"btn-group"});for(p=0;p<o.length;p++){var m=o[p],k="",v=t+"-"+m.name,n=m.btnText?m.btnText:"",f=m.btnClass?m.btnClass:"btn",h=m.tabIndex?m.tabIndex:"-1";if(m.toggle==true){k=' data-toggle="button"'}r.append('<button class="'+f+' btn-small" title="'+m.title+'" tabindex="'+h+'" data-provider="'+t+'" data-handler="'+v+'"'+k+'><i class="'+m.icon+'"></i> '+n+"</button>");w.push(v);u.push(m.callback)}g.append(r)}}return g},__setListener:function(){var g=typeof this.$textarea.attr("rows")!="undefined",f=this.$textarea.val().split("\n").length>5?this.$textarea.val().split("\n").length:"5",h=g?this.$textarea.attr("rows"):f;this.$textarea.attr("rows",h);this.$textarea.css("resize","none");this.$textarea.on("focus",e.proxy(this.focus,this)).on("keypress",e.proxy(this.keypress,this)).on("keyup",e.proxy(this.keyup,this));if(this.eventSupported("keydown")){this.$textarea.on("keydown",e.proxy(this.keydown,this))}this.$textarea.data("markdown",this)},__handle:function(j){var i=e(j.currentTarget),h=this.$handler,l=this.$callback,g=i.attr("data-handler"),k=h.indexOf(g),f=l[k];e(j.currentTarget).focus();f(this);if(g.indexOf("cmdSave")<0){this.$textarea.focus()}j.preventDefault()},showEditor:function(){var r=this,q,o=this.$ns,f=this.$element,p=f.css("height"),h=f.css("width"),j=this.$editable,t=this.$handler,s=this.$callback,u=this.$options,l=e("<div/>",{"class":"md-editor",click:function(){r.focus()}});if(this.$editor==null){var g=e("<div/>",{"class":"md-header"});if(u.buttons.length>0){g=this.__buildButtons(u.buttons,g)}if(u.additionalButtons.length>0){g=this.__buildButtons(u.additionalButtons,g)}l.append(g);if(f.is("textarea")){f.before(l);q=f;q.addClass("md-input");l.append(q)}else{var m=(typeof toMarkdown=="function")?toMarkdown(f.html()):f.html(),n=e.trim(m);q=e("<textarea/>",{"class":"md-input",val:n});l.append(q);j.el=f;j.type=f.prop("tagName").toLowerCase();j.content=f.html();e(f[0].attributes).each(function(){j.attrKeys.push(this.nodeName);j.attrValues.push(this.nodeValue)});f.replaceWith(l)}if(u.savable){var k=e("<div/>",{"class":"md-footer"}),i="cmdSave";t.push(i);s.push(u.onSave);k.append('<button class="btn btn-success" data-provider="'+o+'" data-handler="'+i+'"><i class="icon icon-white icon-ok"></i> Save</button>');l.append(k)}e.each(["height","width"],function(w,v){if(u[v]!="inherit"){if(jQuery.isNumeric(u[v])){l.css(v,u[v]+"px")}else{l.addClass(u[v])}}});this.$editor=l;this.$textarea=q;this.$editable=j;this.$oldContent=this.getContent();this.__setListener();this.$editor.attr("id",(new Date).getTime());this.$editor.on("click",'[data-provider="bootstrap-markdown"]',e.proxy(this.__handle,this))}else{this.$editor.show()}if(u.autofocus){this.$textarea.focus();this.$editor.addClass("active")}u.onShow(this);return this},showPreview:function(){var h=this.$options,i=h.onPreview(this),f=this.$textarea,k=f.next(),g=e("<div/>",{"class":"md-preview","data-provider":"markdown-preview"}),j;this.$isPreview=true;this.disableButtons("all").enableButtons("cmdPreview");if(typeof i=="string"){j=i}else{j=(typeof markdown=="object")?markdown.toHTML(f.val()):f.val()}g.html(j);if(k&&k.attr("class")=="md-footer"){g.insertBefore(k)}else{f.parent().append(g)}f.hide();g.data("markdown",this);return this},hidePreview:function(){this.$isPreview=false;var f=this.$editor.find('div[data-provider="markdown-preview"]');f.remove();this.enableButtons("all");this.$textarea.show();this.__setListener();return this},isDirty:function(){return this.$oldContent!=this.getContent()},getContent:function(){return this.$textarea.val()},setContent:function(f){this.$textarea.val(f);return this},findSelection:function(g){var j=this.getContent(),i;if(i=j.indexOf(g),i>=0&&g.length>0){var f=this.getSelection(),h;this.setSelection(i,i+g.length);h=this.getSelection();this.setSelection(f.start,f.end);return h}else{return null}},getSelection:function(){var f=this.$textarea[0];return(("selectionStart" in f&&function(){var g=f.selectionEnd-f.selectionStart;return{start:f.selectionStart,end:f.selectionEnd,length:g,text:f.value.substr(f.selectionStart,g)}})||function(){return null})()},setSelection:function(h,f){var g=this.$textarea[0];return(("selectionStart" in g&&function(){g.selectionStart=h;g.selectionEnd=f;return})||function(){return null})()},replaceSelection:function(g){var f=this.$textarea[0];return(("selectionStart" in f&&function(){f.value=f.value.substr(0,f.selectionStart)+g+f.value.substr(f.selectionEnd,f.value.length);f.selectionStart=f.value.length;return this})||function(){f.value+=g;return jQuery(f)})()},getNextTab:function(){if(this.$nextTab.length==0){return null}else{var f,g=this.$nextTab.shift();if(typeof g=="function"){f=g()}else{if(typeof g=="object"&&g.length>0){f=g}}return f}},setNextTab:function(i,g){if(typeof i=="string"){var h=this;this.$nextTab.push(function(){return h.findSelection(i)})}else{if(typeof i=="numeric"&&typeof g=="numeric"){var f=this.getSelection();this.setSelection(i,g);this.$nextTab.push(this.getSelection());this.setSelection(f.start,f.end)}}return},enableButtons:function(g){var f=function(h){h.removeAttr("disabled")};this.__alterButtons(g,f);return this},disableButtons:function(g){var f=function(h){h.attr("disabled","disabled")};this.__alterButtons(g,f);return this},eventSupported:function(f){var g=f in this.$element;if(!g){this.$element.setAttribute(f,"return;");g=typeof this.$element[f]==="function"}return g},keydown:function(f){this.suppressKeyPressRepeat=~e.inArray(f.keyCode,[40,38,9,13,27]);this.keyup(f)},keypress:function(f){if(this.suppressKeyPressRepeat){return}this.keyup(f)},keyup:function(i){var g=false;switch(i.keyCode){case 40:case 38:case 16:case 17:case 18:break;case 9:var f;if(f=this.getNextTab(),f!=null){var h=this;setTimeout(function(){h.setSelection(f.start,f.end)},500);g=true}else{var j=this.getSelection();if(j.start==j.end&&j.end==this.getContent().length){g=false}else{this.setSelection(this.getContent().length,this.getContent().length);g=true}}break;case 13:case 27:g=false;break;default:g=false}if(g){i.stopPropagation();i.preventDefault()}},focus:function(i){var f=this.$options,h=f.hideable,g=this.$editor;g.addClass("active");e(document).find(".md-editor").each(function(){if(e(this).attr("id")!=g.attr("id")){var j;if(j=e(this).find("textarea").data("markdown"),j==null){j=e(this).find('div[data-provider="markdown-preview"]').data("markdown")}if(j){j.blur()}}});return this},blur:function(m){var g=this.$options,l=g.hideable,j=this.$editor,h=this.$editable;if(j.hasClass("active")||this.$element.parent().length==0){j.removeClass("active");if(l){if(h.el!=null){var f=e("<"+h.type+"/>"),k=this.getContent(),i=(typeof markdown=="object")?markdown.toHTML(k):k;e(h.attrKeys).each(function(o,n){f.attr(h.attrKeys[o],h.attrValues[o])});f.html(i);j.replaceWith(f)}else{j.hide()}}g.onBlur(this)}return this}};var a=e.fn.markdown;e.fn.markdown=function(f){return this.each(function(){var i=e(this),h=i.data("markdown"),g=typeof f=="object"&&f;if(!h){i.data("markdown",(h=new c(this,g)))}})};e.fn.markdown.defaults={autofocus:false,hideable:false,savable:false,width:"inherit",height:"inherit",buttons:[[{name:"groupFont",data:[{name:"cmdBold",title:"Bold",icon:"icon icon-bold",callback:function(i){var f,j,g=i.getSelection(),h=i.getContent();if(g.length==0){f="strong text"}else{f=g.text}if(h.substr(g.start-2,2)=="**"&&h.substr(g.end,2)=="**"){i.setSelection(g.start-2,g.end+2);i.replaceSelection(f);j=g.start-2}else{i.replaceSelection("**"+f+"**");j=g.start+2}i.setSelection(j,j+f.length)}},{name:"cmdItalic",title:"Italic",icon:"icon icon-italic",callback:function(i){var f,j,g=i.getSelection(),h=i.getContent();if(g.length==0){f="emphasized text"}else{f=g.text}if(h.substr(g.start-1,1)=="*"&&h.substr(g.end,1)=="*"){i.setSelection(g.start-1,g.end+1);i.replaceSelection(f);j=g.start-1}else{i.replaceSelection("*"+f+"*");j=g.start+1}i.setSelection(j,j+f.length)}},{name:"cmdHeading",title:"Heading",icon:"icon icon-font",callback:function(i){var f,k,g=i.getSelection(),h=i.getContent(),j,l;if(g.length==0){f="heading text"}else{f=g.text}if((j=4,h.substr(g.start-j,j)=="### ")||(j=3,h.substr(g.start-j,j)=="###")){i.setSelection(g.start-j,g.end);i.replaceSelection(f);k=g.start-j}else{if(l=h.substr(g.start-1,1),!!l&&l!="\n"){i.replaceSelection("\n\n### "+f+"\n");k=g.start+6}else{i.replaceSelection("### "+f+"\n");k=g.start+4}}i.setSelection(k,k+f.length)}}]},{name:"groupLink",data:[{name:"cmdUrl",title:"URL/Link",icon:"icon icon-globe",callback:function(j){var f,k,g=j.getSelection(),i=j.getContent(),h;if(g.length==0){f="enter link description here"}else{f=g.text}bootbox.prompt("Insert Hyperlink",function(l){if(l!=null){j.replaceSelection("["+f+"]("+l+")");k=g.start+1;j.setSelection(k,k+f.length)}})}},{name:"cmdImage",title:"Image",icon:"icon icon-picture",callback:function(j){var f,k,g=j.getSelection(),i=j.getContent(),h;if(g.length==0){f="enter image description here"}else{f=g.text}bootbox.prompt("Insert Image Hyperlink",function(l){if(l!=null){j.replaceSelection("');k=g.start+2;j.setNextTab("enter image title here");j.setSelection(k,k+f.length)}})}}]},{name:"groupMisc",data:[{name:"cmdList",title:"List",icon:"icon icon-list",callback:function(j){var f,k,g=j.getSelection(),h=j.getContent();if(g.length==0){f="list text here";j.replaceSelection("- "+f);k=g.start+2}else{if(g.text.indexOf("\n")<0){f=g.text;j.replaceSelection("- "+f);k=g.start+2}else{var i=[];i=g.text.split("\n");f=i[0];e.each(i,function(m,l){i[m]="- "+l});j.replaceSelection("\n\n"+i.join("\n"));k=g.start+4}}j.setSelection(k,k+f.length)}}]},{name:"groupUtil",data:[{name:"cmdPreview",toggle:true,title:"Preview",btnText:"Preview",btnClass:"btn btn-inverse",icon:"icon icon-white icon-search",callback:function(h){var f=h.$isPreview,g;if(f==false){h.showPreview()}else{h.hidePreview()}}}]}]],additionalButtons:[],onShow:function(f){},onPreview:function(f){},onSave:function(f){},onBlur:function(f){}};e.fn.markdown.Constructor=c;e.fn.markdown.noConflict=function(){e.fn.markdown=a;return this};var d=function(f){var g=f;if(g.data("markdown")){g.data("markdown").showEditor();return}g.markdown(g.data())};var b=function(h){var i=false,g,f=e(h.currentTarget);if((h.type=="focusin"||h.type=="click")&&f.length==1&&typeof f[0]=="object"){g=f[0].activeElement;if(!e(g).data("markdown")){if(typeof e(g).parent().parent().parent().attr("class")=="undefined"||e(g).parent().parent().parent().attr("class").indexOf("md-editor")<0){if(typeof e(g).parent().parent().attr("class")=="undefined"||e(g).parent().parent().attr("class").indexOf("md-editor")<0){i=true}}else{i=false}}if(i){e(document).find(".md-editor").each(function(){var k=e(g).parent();if(e(this).attr("id")!=k.attr("id")){var j;if(j=e(this).find("textarea").data("markdown"),j==null){j=e(this).find('div[data-provider="markdown-preview"]').data("markdown")}if(j){j.blur()}}})}h.stopPropagation()}};e(document).on("click.markdown.data-api",'[data-provide="markdown-editable"]',function(f){d(e(this));f.preventDefault()}).on("click",function(f){b(f)}).on("focusin",function(f){b(f)}).ready(function(){e('textarea[data-provide="markdown"]').each(function(){d(e(this))})})}(window.jQuery);
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/js/markdown/markdown.min.js b/src/main/webapp/static/login/assets/js/markdown/markdown.min.js new file mode 100644 index 0000000..7a8093f --- /dev/null +++ b/src/main/webapp/static/login/assets/js/markdown/markdown.min.js @@ -0,0 +1 @@ +(function(K){var e=K.Markdown=function e(R){switch(typeof R){case"undefined":this.dialect=e.dialects.Gruber;break;case"object":this.dialect=R;break;default:if(R in e.dialects){this.dialect=e.dialects[R]}else{throw new Error("Unknown Markdown dialect '"+String(R)+"'")}break}this.em_state=[];this.strong_state=[];this.debug_indent=""};K.parse=function(T,R){var S=new e(R);return S.toTree(T)};K.toHTML=function u(U,T,S){var R=K.toHTMLTree(U,T,S);return K.renderJsonML(R)};K.toHTMLTree=function w(S,W,U){if(typeof S==="string"){S=this.parse(S,W)}var T=C(S),R={};if(T&&T.references){R=T.references}var V=i(S,R,U);q(V);return V};function f(){return"Markdown.mk_block( "+uneval(this.toString())+", "+uneval(this.trailing)+", "+uneval(this.lineNumber)+" )"}function H(){var R=require("util");return"Markdown.mk_block( "+R.inspect(this.toString())+", "+R.inspect(this.trailing)+", "+R.inspect(this.lineNumber)+" )"}var g=e.mk_block=function(U,S,R){if(arguments.length==1){S="\n\n"}var T=new String(U);T.trailing=S;T.inspect=H;T.toSource=f;if(R!=undefined){T.lineNumber=R}return T};function G(S){var T=0,R=-1;while((R=S.indexOf("\n",R+1))!==-1){T++}return T}e.prototype.split_blocks=function z(T,W){var U=/([\s\S]+?)($|\n(?:\s*\n|$)+)/g,V=[],R;var S=1;if((R=/^(\s*\n)/.exec(T))!=null){S+=G(R[0]);U.lastIndex=R[0].length}while((R=U.exec(T))!==null){V.push(g(R[1],R[2],S));S+=G(R[0])}return V};e.prototype.processBlock=function M(W,V){var S=this.dialect.block,R=S.__order__;if("__call__" in S){return S.__call__.call(this,W,V)}for(var U=0;U<R.length;U++){var T=S[R[U]].call(this,W,V);if(T){if(!A(T)||(T.length>0&&!(A(T[0])))){this.debug(R[U],"didn't return a proper array")}return T}}return[]};e.prototype.processInline=function h(R){return this.dialect.inline.__call__.call(this,String(R))};e.prototype.toTree=function I(T,S){var U=T instanceof Array?T:this.split_blocks(T);var V=this.tree;try{this.tree=S||this.tree||["markdown"];U:while(U.length){var R=this.processBlock(U.shift(),U);if(!R.length){continue U}this.tree.push.apply(this.tree,R)}return this.tree}finally{if(S){this.tree=V}}};e.prototype.debug=function(){var R=Array.prototype.slice.call(arguments);R.unshift(this.debug_indent);if(typeof print!=="undefined"){print.apply(print,R)}if(typeof console!=="undefined"&&typeof console.log!=="undefined"){console.log.apply(null,R)}};e.prototype.loop_re_over_block=function(U,V,T){var S,R=V.valueOf();while(R.length&&(S=U.exec(R))!=null){R=R.substr(S[0].length);T.call(this,S)}return R};e.dialects={};e.dialects.Gruber={block:{atxHeader:function s(T,S){var R=T.match(/^(#{1,6})\s*(.*?)\s*#*\s*(?:\n|$)/);if(!R){return undefined}var U=["header",{level:R[1].length}];Array.prototype.push.apply(U,this.processInline(R[2]));if(R[0].length<T.length){S.unshift(g(T.substr(R[0].length),T.trailing,T.lineNumber+2))}return[U]},setextHeader:function x(T,S){var R=T.match(/^(.*)\n([-=])\2\2+(?:\n|$)/);if(!R){return undefined}var V=(R[2]==="=")?1:2;var U=["header",{level:V},R[1]];if(R[0].length<T.length){S.unshift(g(T.substr(R[0].length),T.trailing,T.lineNumber+2))}return[U]},code:function l(W,V){var T=[],U=/^(?: {0,3}\t| {4})(.*)\n?/,S;if(!W.match(U)){return undefined}block_search:do{var R=this.loop_re_over_block(U,W.valueOf(),function(X){T.push(X[1])});if(R.length){V.unshift(g(R,W.trailing));break block_search}else{if(V.length){if(!V[0].match(U)){break block_search}T.push(W.trailing.replace(/[^\n]/g,"").substring(2));W=V.shift()}else{break block_search}}}while(true);return[["code_block",T.join("\n")]]},horizRule:function P(T,S){var R=T.match(/^(?:([\s\S]*?)\n)?[ \t]*([-_*])(?:[ \t]*\2){2,}[ \t]*(?:\n([\s\S]*))?$/);if(!R){return undefined}var U=[["hr"]];if(R[1]){U.unshift.apply(U,this.processBlock(R[1],[]))}if(R[3]){S.unshift(g(R[3]))}return U},lists:(function(){var U="[*+-]|\\d+\\.",S=/[*+-]/,aa=/\d+\./,Y=new RegExp("^( {0,3})("+U+")[ \t]+"),T="(?: {0,3}\\t| {4})";function V(ab){return new RegExp("(?:^("+T+"{0,"+ab+"} {0,3})("+U+")\\s+)|(^"+T+"{0,"+(ab-1)+"}[ ]{0,4})")}function R(ab){return ab.replace(/ {0,3}\t/g," ")}function Z(ac,ai,ah,ad){if(ai){ac.push(["para"].concat(ah));return}var ab=ac[ac.length-1] instanceof Array&&ac[ac.length-1][0]=="para"?ac[ac.length-1]:ac;if(ad&&ac.length>1){ah.unshift(ad)}for(var af=0;af<ah.length;af++){var ag=ah[af],ae=typeof ag=="string";if(ae&&ab.length>1&&typeof ab[ab.length-1]=="string"){ab[ab.length-1]+=ag}else{ab.push(ag)}}}function W(ah,ag){var af=new RegExp("^("+T+"{"+ah+"}.*?\\n?)*$"),ae=new RegExp("^"+T+"{"+ah+"}","gm"),ad=[];while(ag.length>0){if(af.exec(ag[0])){var ac=ag.shift(),ab=ac.replace(ae,"");ad.push(g(ab,ac.trailing,ac.lineNumber))}break}return ad}function X(ae,ad,ab){var ag=ae.list;var af=ag[ag.length-1];if(af[1] instanceof Array&&af[1][0]=="para"){return}if(ad+1==ab.length){af.push(["para"].concat(af.splice(1)))}else{var ac=af.pop();af.push(["para"].concat(af.splice(1)),ac)}}return function(ag,am){var an=ag.match(Y);if(!an){return undefined}function ae(ax){var ay=S.exec(ax[2])?["bulletlist"]:["numberlist"];af.push({list:ay,indent:ax[1]});return ay}var af=[],ar=ae(an),ad,al=false,aw=[af[0].list],ap;loose_search:while(true){var ab=ag.split(/(?=\n)/);var at="";tight_search:for(var au=0;au<ab.length;au++){var ac="",ao=ab[au].replace(/^\n/,function(ax){ac=ax;return""});var aj=V(af.length);an=ao.match(aj);if(an[1]!==undefined){if(at.length){Z(ad,al,this.processInline(at),ac);al=false;at=""}an[1]=R(an[1]);var ah=Math.floor(an[1].length/4)+1;if(ah>af.length){ar=ae(an);ad.push(ar);ad=ar[1]=["listitem"]}else{var ak=false;for(ap=0;ap<af.length;ap++){if(af[ap].indent!=an[1]){continue}ar=af[ap].list;af.splice(ap+1);ak=true;break}if(!ak){ah++;if(ah<=af.length){af.splice(ah);ar=af[ah-1].list}else{ar=ae(an);ad.push(ar)}}ad=["listitem"];ar.push(ad)}ac=""}if(ao.length>an[0].length){at+=ac+ao.substr(an[0].length)}}if(at.length){Z(ad,al,this.processInline(at),ac);al=false;at=""}var aq=W(af.length,am);if(aq.length>0){c(af,X,this);ad.push.apply(ad,this.toTree(aq,[]))}var ai=am[0]&&am[0].valueOf()||"";if(ai.match(Y)||ai.match(/^ /)){ag=am.shift();var av=this.dialect.block.horizRule(ag,am);if(av){aw.push.apply(aw,av);break}c(af,X,this);al=true;continue loose_search}break}return aw}})(),blockquote:function L(W,U){if(!W.match(/^>/m)){return undefined}var Y=[];if(W[0]!=">"){var S=W.split(/\n/),V=[];while(S.length&&S[0][0]!=">"){V.push(S.shift())}W=S.join("\n");Y.push.apply(Y,this.processBlock(V.join("\n"),[]))}while(U.length&&U[0][0]==">"){var R=U.shift();W=new String(W+W.trailing+R);W.trailing=R.trailing}var T=W.replace(/^> ?/gm,""),X=this.tree;Y.push(this.toTree(T,["blockquote"]));return Y},referenceDefn:function J(V,U){var T=/^\s*\[(.*?)\]:\s*(\S+)(?:\s+(?:(['"])(.*?)\3|\((.*?)\)))?\n?/;if(!V.match(T)){return undefined}if(!C(this.tree)){this.tree.splice(1,0,{})}var S=C(this.tree);if(S.references===undefined){S.references={}}var R=this.loop_re_over_block(T,V,function(W){if(W[2]&&W[2][0]=="<"&&W[2][W[2].length-1]==">"){W[2]=W[2].substring(1,W[2].length-1)}var X=S.references[W[1].toLowerCase()]={href:W[2]};if(W[4]!==undefined){X.title=W[4]}else{if(W[5]!==undefined){X.title=W[5]}}});if(R.length){U.unshift(g(R,V.trailing))}return[]},para:function D(S,R){return[["para"].concat(this.processInline(S))]}}};e.dialects.Gruber.inline={__oneElement__:function d(W,S,V){var R,T,X=0;S=S||this.dialect.inline.__patterns__;var U=new RegExp("([\\s\\S]*?)("+(S.source||S)+")");R=U.exec(W);if(!R){return[W.length,W]}else{if(R[1]){return[R[1].length,R[1]]}}var T;if(R[2] in this.dialect.inline){T=this.dialect.inline[R[2]].call(this,W.substr(R.index),R,V||[])}T=T||[R[2].length,R[2]];return T},__call__:function r(V,T){var R=[],S;function U(W){if(typeof W=="string"&&typeof R[R.length-1]=="string"){R[R.length-1]+=W}else{R.push(W)}}while(V.length>0){S=this.dialect.inline.__oneElement__.call(this,V,T,R);V=V.substr(S.shift());c(S,U)}return R},"]":function(){},"}":function(){},"\\":function t(R){if(R.match(/^\\[\\`\*_{}\[\]()#\+.!\-]/)){return[2,R[1]]}else{return[1,"\\"]}},"![":function m(T){var R=T.match(/^!\[(.*?)\][ \t]*\([ \t]*(\S*)(?:[ \t]+(["'])(.*?)\3)?[ \t]*\)/);if(R){if(R[2]&&R[2][0]=="<"&&R[2][R[2].length-1]==">"){R[2]=R[2].substring(1,R[2].length-1)}R[2]=this.dialect.inline.__call__.call(this,R[2],/\\/)[0];var S={alt:R[1],href:R[2]||""};if(R[4]!==undefined){S.title=R[4]}return[R[0].length,["img",S]]}R=T.match(/^!\[(.*?)\][ \t]*\[(.*?)\]/);if(R){return[R[0].length,["img_ref",{alt:R[1],ref:R[2].toLowerCase(),original:R[0]}]]}return[2,"!["]},"[":function n(ab){var Y=String(ab);var W=e.DialectHelpers.inline_until_char.call(this,ab.substr(1),"]");if(!W){return[1,"["]}var Z=1+W[0],S=W[1],X,aa;ab=ab.substr(Z);var U=ab.match(/^\s*\([ \t]*(\S+)(?:[ \t]+(["'])(.*?)\2)?[ \t]*\)/);if(U){var R=U[1];Z+=U[0].length;if(R&&R[0]=="<"&&R[R.length-1]==">"){R=R.substring(1,R.length-1)}if(!U[3]){var T=1;for(var V=0;V<R.length;V++){switch(R[V]){case"(":T++;break;case")":if(--T==0){Z-=R.length-V;R=R.substring(0,V)}break}}}R=this.dialect.inline.__call__.call(this,R,/\\/)[0];aa={href:R||""};if(U[3]!==undefined){aa.title=U[3]}X=["link",aa].concat(S);return[Z,X]}U=ab.match(/^\s*\[(.*?)\]/);if(U){Z+=U[0].length;aa={ref:(U[1]||String(S)).toLowerCase(),original:Y.substr(0,Z)};X=["link_ref",aa].concat(S);return[Z,X]}if(S.length==1&&typeof S[0]=="string"){aa={ref:S[0].toLowerCase(),original:Y.substr(0,Z)};X=["link_ref",aa,S[0]];return[Z,X]}return[1,"["]},"<":function v(S){var R;if((R=S.match(/^<(?:((https?|ftp|mailto):[^>]+)|(.*?@.*?\.[a-zA-Z]+))>/))!=null){if(R[3]){return[R[0].length,["link",{href:"mailto:"+R[3]},R[3]]]}else{if(R[2]=="mailto"){return[R[0].length,["link",{href:R[1]},R[1].substr("mailto:".length)]]}else{return[R[0].length,["link",{href:R[1]},R[1]]]}}}return[1,"<"]},"`":function y(S){var R=S.match(/(`+)(([\s\S]*?)\1)/);if(R&&R[2]){return[R[1].length+R[2].length,["inlinecode",R[3]]]}else{return[1,"`"]}}," \n":function O(R){return[3,["linebreak"]]}};function F(R,U){var T=R+"_state",V=R=="strong"?"em_state":"strong_state";function S(W){this.len_after=W;this.name="close_"+U}return function(ad,ac){if(this[T][0]==U){this[T].shift();return[ad.length,new S(ad.length-U.length)]}else{var W=this[V].slice(),ab=this[T].slice();this[T].unshift(U);var Y=this.processInline(ad.substr(U.length));var Z=Y[Y.length-1];var X=this[T].shift();if(Z instanceof S){Y.pop();var aa=ad.length-Z.len_after;return[aa,[R].concat(Y)]}else{this[V]=W;this[T]=ab;return[U.length,U]}}}}e.dialects.Gruber.inline["**"]=F("strong","**");e.dialects.Gruber.inline.__=F("strong","__");e.dialects.Gruber.inline["*"]=F("em","*");e.dialects.Gruber.inline._=F("em","_");e.buildBlockOrder=function(T){var R=[];for(var S in T){if(S=="__order__"||S=="__call__"){continue}R.push(S)}T.__order__=R};e.buildInlinePatterns=function(V){var U=[];for(var S in V){if(S.match(/^__.*__$/)){continue}var R=S.replace(/([\\.*+?|()\[\]{}])/g,"\\$1").replace(/\n/,"\\n");U.push(S.length==1?R:"(?:"+R+")")}U=U.join("|");V.__patterns__=U;var T=V.__call__;V.__call__=function(X,W){if(W!=undefined){return T.call(this,X,W)}else{return T.call(this,X,U)}}};e.DialectHelpers={};e.DialectHelpers.inline_until_char=function(V,U){var T=0,R=[];while(true){if(V[T]==U){T++;return[T,R]}if(T>=V.length){return null}var S=this.dialect.inline.__oneElement__.call(this,V.substr(T));T+=S[0];R.push.apply(R,S.slice(1))}};e.subclassDialect=function(T){function R(){}R.prototype=T.block;function S(){}S.prototype=T.inline;return{block:new R(),inline:new S()}};e.buildBlockOrder(e.dialects.Gruber.block);e.buildInlinePatterns(e.dialects.Gruber.inline);e.dialects.Maruku=e.subclassDialect(e.dialects.Gruber);e.dialects.Maruku.processMetaHash=function k(U){var V=o(U),R={};for(var S=0;S<V.length;++S){if(/^#/.test(V[S])){R.id=V[S].substring(1)}else{if(/^\./.test(V[S])){if(R["class"]){R["class"]=R["class"]+V[S].replace(/./," ")}else{R["class"]=V[S].substring(1)}}else{if(/\=/.test(V[S])){var T=V[S].split(/\=/);R[T[0]]=T[1]}}}}return R};function o(T){var V=T.split(""),U=[""],R=false;while(V.length){var S=V.shift();switch(S){case" ":if(R){U[U.length-1]+=S}else{U.push("")}break;case"'":case'"':R=!R;break;case"\\":S=V.shift();default:U[U.length-1]+=S;break}}return U}e.dialects.Maruku.block.document_meta=function j(W,T){if(W.lineNumber>1){return undefined}if(!W.match(/^(?:\w+:.*\n)*\w+:.*$/)){return undefined}if(!C(this.tree)){this.tree.splice(1,0,{})}var V=W.split(/\n/);for(p in V){var R=V[p].match(/(\w+):\s*(.*)$/),S=R[1].toLowerCase(),U=R[2];this.tree[1][S]=U}return[]};e.dialects.Maruku.block.block_meta=function E(Y,V){var U=Y.match(/(^|\n) {0,3}\{:\s*((?:\\\}|[^\}])*)\s*\}$/);if(!U){return undefined}var T=this.dialect.processMetaHash(U[2]);var X;if(U[1]===""){var W=this.tree[this.tree.length-1];X=C(W);if(typeof W==="string"){return undefined}if(!X){X={};W.splice(1,0,X)}for(a in T){X[a]=T[a]}return[]}var S=Y.replace(/\n.*$/,""),R=this.processBlock(S,[]);X=C(R[0]);if(!X){X={};R[0].splice(1,0,X)}for(a in T){X[a]=T[a]}return R};e.dialects.Maruku.block.definition_list=function N(T,W){var Y=/^((?:[^\s:].*\n)+):\s+([\s\S]+)$/,X=["dl"],V;if((S=T.match(Y))){var R=[T];while(W.length&&Y.exec(W[0])){R.push(W.shift())}for(var Z=0;Z<R.length;++Z){var S=R[Z].match(Y),U=S[1].replace(/\n$/,"").split(/\n/),aa=S[2].split(/\n:\s+/);for(V=0;V<U.length;++V){X.push(["dt",U[V]])}for(V=0;V<aa.length;++V){X.push(["dd"].concat(this.processInline(aa[V].replace(/(\n)\s+/,"$1"))))}}}else{return undefined}return[X]};e.dialects.Maruku.inline["{:"]=function B(Y,W,U){if(!U.length){return[2,"{:"]}var V=U[U.length-1];if(typeof V==="string"){return[2,"{:"]}var S=Y.match(/^\{:\s*((?:\\\}|[^\}])*)\s*\}/);if(!S){return[2,"{:"]}var X=this.dialect.processMetaHash(S[1]),R=C(V);if(!R){R={};V.splice(1,0,R)}for(var T in X){R[T]=X[T]}return[S[0].length,""]};e.buildBlockOrder(e.dialects.Maruku.block);e.buildInlinePatterns(e.dialects.Maruku.inline);var A=Array.isArray||function(R){return Object.prototype.toString.call(R)=="[object Array]"};var c;if(Array.prototype.forEach){c=function(S,R,T){return S.forEach(R,T)}}else{c=function(S,R,U){for(var T=0;T<S.length;T++){R.call(U||S,S[T],T,S)}}}function C(R){return A(R)&&R.length>1&&typeof R[1]==="object"&&!(A(R[1]))?R[1]:undefined}K.renderJsonML=function(T,R){R=R||{};R.root=R.root||false;var S=[];if(R.root){S.push(Q(T))}else{T.shift();if(T.length&&typeof T[0]==="object"&&!(T[0] instanceof Array)){T.shift()}while(T.length){S.push(Q(T.shift()))}}return S.join("\n\n")};function b(R){return R.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function Q(W){if(typeof W==="string"){return b(W)}var R=W.shift(),T={},U=[];if(W.length&&typeof W[0]==="object"&&!(W[0] instanceof Array)){T=W.shift()}while(W.length){U.push(arguments.callee(W.shift()))}var V="";for(var S in T){V+=" "+S+'="'+b(T[S])+'"'}if(R=="img"||R=="br"||R=="hr"){return"<"+R+V+"/>"}else{return"<"+R+V+">"+U.join("")+"</"+R+">"}}function i(Z,W,Y){var T;Y=Y||{};var V=Z.slice(0);if(typeof Y.preprocessTreeNode==="function"){V=Y.preprocessTreeNode(V,W)}var X=C(V);if(X){V[1]={};for(T in X){V[1][T]=X[T]}X=V[1]}if(typeof V==="string"){return V}switch(V[0]){case"header":V[0]="h"+V[1].level;delete V[1].level;break;case"bulletlist":V[0]="ul";break;case"numberlist":V[0]="ol";break;case"listitem":V[0]="li";break;case"para":V[0]="p";break;case"markdown":V[0]="html";if(X){delete X.references}break;case"code_block":V[0]="pre";T=X?2:1;var R=["code"];R.push.apply(R,V.splice(T));V[T]=R;break;case"inlinecode":V[0]="code";break;case"img":V[1].src=V[1].href;delete V[1].href;break;case"linebreak":V[0]="br";break;case"link":V[0]="a";break;case"link_ref":V[0]="a";var S=W[X.ref];if(S){delete X.ref;X.href=S.href;if(S.title){X.title=S.title}delete X.original}else{return X.original}break;case"img_ref":V[0]="img";var S=W[X.ref];if(S){delete X.ref;X.src=S.href;if(S.title){X.title=S.title}delete X.original}else{return X.original}break}T=1;if(X){for(var U in V[1]){T=2}if(T===1){V.splice(T,1)}}for(;T<V.length;++T){V[T]=arguments.callee(V[T],W,Y)}return V}function q(S){var R=C(S)?2:1;while(R<S.length){if(typeof S[R]==="string"){if(R+1<S.length&&typeof S[R+1]==="string"){S[R]+=S.splice(R+1,1)[0]}else{++R}}else{arguments.callee(S[R]);++R}}}})((function(){if(typeof exports==="undefined"){window.markdown={};return window.markdown}else{return exports}})());
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/js/respond.min.js b/src/main/webapp/static/login/assets/js/respond.min.js new file mode 100644 index 0000000..e3dc2c0 --- /dev/null +++ b/src/main/webapp/static/login/assets/js/respond.min.js @@ -0,0 +1,6 @@ +/*! matchMedia() polyfill - Test a CSS media type/query in JS. Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas. Dual MIT/BSD license */ +/*! NOTE: If you're already including a window.matchMedia polyfill via Modernizr or otherwise, you don't need this part */ +window.matchMedia=window.matchMedia||function(a){"use strict";var c,d=a.documentElement,e=d.firstElementChild||d.firstChild,f=a.createElement("body"),g=a.createElement("div");return g.id="mq-test-1",g.style.cssText="position:absolute;top:-100em",f.style.background="none",f.appendChild(g),function(a){return g.innerHTML='­<style media="'+a+'"> #mq-test-1 { width: 42px; }</style>',d.insertBefore(f,e),c=42===g.offsetWidth,d.removeChild(f),{matches:c,media:a}}}(document); + +/*! Respond.js v1.3.0: min/max-width media query polyfill. (c) Scott Jehl. MIT/GPLv2 Lic. j.mp/respondjs */ +(function(a){"use strict";function x(){u(!0)}var b={};if(a.respond=b,b.update=function(){},b.mediaQueriesSupported=a.matchMedia&&a.matchMedia("only all").matches,!b.mediaQueriesSupported){var q,r,t,c=a.document,d=c.documentElement,e=[],f=[],g=[],h={},i=30,j=c.getElementsByTagName("head")[0]||d,k=c.getElementsByTagName("base")[0],l=j.getElementsByTagName("link"),m=[],n=function(){for(var b=0;l.length>b;b++){var c=l[b],d=c.href,e=c.media,f=c.rel&&"stylesheet"===c.rel.toLowerCase();d&&f&&!h[d]&&(c.styleSheet&&c.styleSheet.rawCssText?(p(c.styleSheet.rawCssText,d,e),h[d]=!0):(!/^([a-zA-Z:]*\/\/)/.test(d)&&!k||d.replace(RegExp.$1,"").split("/")[0]===a.location.host)&&m.push({href:d,media:e}))}o()},o=function(){if(m.length){var b=m.shift();v(b.href,function(c){p(c,b.href,b.media),h[b.href]=!0,a.setTimeout(function(){o()},0)})}},p=function(a,b,c){var d=a.match(/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi),g=d&&d.length||0;b=b.substring(0,b.lastIndexOf("/"));var h=function(a){return a.replace(/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,"$1"+b+"$2$3")},i=!g&&c;b.length&&(b+="/"),i&&(g=1);for(var j=0;g>j;j++){var k,l,m,n;i?(k=c,f.push(h(a))):(k=d[j].match(/@media *([^\{]+)\{([\S\s]+?)$/)&&RegExp.$1,f.push(RegExp.$2&&h(RegExp.$2))),m=k.split(","),n=m.length;for(var o=0;n>o;o++)l=m[o],e.push({media:l.split("(")[0].match(/(only\s+)?([a-zA-Z]+)\s?/)&&RegExp.$2||"all",rules:f.length-1,hasquery:l.indexOf("(")>-1,minw:l.match(/\(\s*min\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:l.match(/\(\s*max\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}u()},s=function(){var a,b=c.createElement("div"),e=c.body,f=!1;return b.style.cssText="position:absolute;font-size:1em;width:1em",e||(e=f=c.createElement("body"),e.style.background="none"),e.appendChild(b),d.insertBefore(e,d.firstChild),a=b.offsetWidth,f?d.removeChild(e):e.removeChild(b),a=t=parseFloat(a)},u=function(b){var h="clientWidth",k=d[h],m="CSS1Compat"===c.compatMode&&k||c.body[h]||k,n={},o=l[l.length-1],p=(new Date).getTime();if(b&&q&&i>p-q)return a.clearTimeout(r),r=a.setTimeout(u,i),void 0;q=p;for(var v in e)if(e.hasOwnProperty(v)){var w=e[v],x=w.minw,y=w.maxw,z=null===x,A=null===y,B="em";x&&(x=parseFloat(x)*(x.indexOf(B)>-1?t||s():1)),y&&(y=parseFloat(y)*(y.indexOf(B)>-1?t||s():1)),w.hasquery&&(z&&A||!(z||m>=x)||!(A||y>=m))||(n[w.media]||(n[w.media]=[]),n[w.media].push(f[w.rules]))}for(var C in g)g.hasOwnProperty(C)&&g[C]&&g[C].parentNode===j&&j.removeChild(g[C]);for(var D in n)if(n.hasOwnProperty(D)){var E=c.createElement("style"),F=n[D].join("\n");E.type="text/css",E.media=D,j.insertBefore(E,o.nextSibling),E.styleSheet?E.styleSheet.cssText=F:E.appendChild(c.createTextNode(F)),g.push(E)}},v=function(a,b){var c=w();c&&(c.open("GET",a,!0),c.onreadystatechange=function(){4!==c.readyState||200!==c.status&&304!==c.status||b(c.responseText)},4!==c.readyState&&c.send(null))},w=function(){var b=!1;try{b=new a.XMLHttpRequest}catch(c){b=new a.ActiveXObject("Microsoft.XMLHTTP")}return function(){return b}}();n(),b.update=n,a.addEventListener?a.addEventListener("resize",x,!1):a.attachEvent&&a.attachEvent("onresize",x)}})(this); diff --git a/src/main/webapp/static/login/assets/js/select2.min.js b/src/main/webapp/static/login/assets/js/select2.min.js new file mode 100644 index 0000000..f5e3013 --- /dev/null +++ b/src/main/webapp/static/login/assets/js/select2.min.js @@ -0,0 +1,22 @@ +/* +Copyright 2012 Igor Vaynberg + +Version: 3.4.2 Timestamp: Mon Aug 12 15:04:12 PDT 2013 + +This software is licensed under the Apache License, Version 2.0 (the "Apache License") or the GNU +General Public License version 2 (the "GPL License"). You may choose either license to govern your +use of this software only upon the condition that you accept all of the terms of either the Apache +License or the GPL License. + +You may obtain a copy of the Apache License and the GPL License at: + +http://www.apache.org/licenses/LICENSE-2.0 +http://www.gnu.org/licenses/gpl-2.0.html + +Unless required by applicable law or agreed to in writing, software distributed under the Apache License +or the GPL Licesnse is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, +either express or implied. See the Apache License and the GPL License for the specific language governing +permissions and limitations under the Apache License and the GPL License. +*/ +!function(a){"undefined"==typeof a.fn.each2&&a.extend(a.fn,{each2:function(b){for(var c=a([0]),d=-1,e=this.length;++d<e&&(c.context=c[0]=this[d])&&b.call(c[0],d,c)!==!1;);return this}})}(jQuery),function(a,b){"use strict";function n(a){var b,c,d,e;if(!a||a.length<1)return a;for(b="",c=0,d=a.length;d>c;c++)e=a.charAt(c),b+=m[e]||e;return b}function o(a,b){for(var c=0,d=b.length;d>c;c+=1)if(q(a,b[c]))return c;return-1}function p(){var b=a(l);b.appendTo("body");var c={width:b.width()-b[0].clientWidth,height:b.height()-b[0].clientHeight};return b.remove(),c}function q(a,c){return a===c?!0:a===b||c===b?!1:null===a||null===c?!1:a.constructor===String?a+""==c+"":c.constructor===String?c+""==a+"":!1}function r(b,c){var d,e,f;if(null===b||b.length<1)return[];for(d=b.split(c),e=0,f=d.length;f>e;e+=1)d[e]=a.trim(d[e]);return d}function s(a){return a.outerWidth(!1)-a.width()}function t(c){var d="keyup-change-value";c.on("keydown",function(){a.data(c,d)===b&&a.data(c,d,c.val())}),c.on("keyup",function(){var e=a.data(c,d);e!==b&&c.val()!==e&&(a.removeData(c,d),c.trigger("keyup-change"))})}function u(c){c.on("mousemove",function(c){var d=i;(d===b||d.x!==c.pageX||d.y!==c.pageY)&&a(c.target).trigger("mousemove-filtered",c)})}function v(a,c,d){d=d||b;var e;return function(){var b=arguments;window.clearTimeout(e),e=window.setTimeout(function(){c.apply(d,b)},a)}}function w(a){var c,b=!1;return function(){return b===!1&&(c=a(),b=!0),c}}function x(a,b){var c=v(a,function(a){b.trigger("scroll-debounced",a)});b.on("scroll",function(a){o(a.target,b.get())>=0&&c(a)})}function y(a){a[0]!==document.activeElement&&window.setTimeout(function(){var d,b=a[0],c=a.val().length;a.focus(),a.is(":visible")&&b===document.activeElement&&(b.setSelectionRange?b.setSelectionRange(c,c):b.createTextRange&&(d=b.createTextRange(),d.collapse(!1),d.select()))},0)}function z(b){b=a(b)[0];var c=0,d=0;if("selectionStart"in b)c=b.selectionStart,d=b.selectionEnd-c;else if("selection"in document){b.focus();var e=document.selection.createRange();d=document.selection.createRange().text.length,e.moveStart("character",-b.value.length),c=e.text.length-d}return{offset:c,length:d}}function A(a){a.preventDefault(),a.stopPropagation()}function B(a){a.preventDefault(),a.stopImmediatePropagation()}function C(b){if(!h){var c=b[0].currentStyle||window.getComputedStyle(b[0],null);h=a(document.createElement("div")).css({position:"absolute",left:"-10000px",top:"-10000px",display:"none",fontSize:c.fontSize,fontFamily:c.fontFamily,fontStyle:c.fontStyle,fontWeight:c.fontWeight,letterSpacing:c.letterSpacing,textTransform:c.textTransform,whiteSpace:"nowrap"}),h.attr("class","select2-sizer"),a("body").append(h)}return h.text(b.val()),h.width()}function D(b,c,d){var e,g,f=[];e=b.attr("class"),e&&(e=""+e,a(e.split(" ")).each2(function(){0===this.indexOf("select2-")&&f.push(this)})),e=c.attr("class"),e&&(e=""+e,a(e.split(" ")).each2(function(){0!==this.indexOf("select2-")&&(g=d(this),g&&f.push(this))})),b.attr("class",f.join(" "))}function E(a,b,c,d){var e=n(a.toUpperCase()).indexOf(n(b.toUpperCase())),f=b.length;return 0>e?(c.push(d(a)),void 0):(c.push(d(a.substring(0,e))),c.push("<span class='select2-match'>"),c.push(d(a.substring(e,e+f))),c.push("</span>"),c.push(d(a.substring(e+f,a.length))),void 0)}function F(a){var b={"\\":"\","&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};return String(a).replace(/[&<>"'\/\\]/g,function(a){return b[a]})}function G(c){var d,e=null,f=c.quietMillis||100,g=c.url,h=this;return function(i){window.clearTimeout(d),d=window.setTimeout(function(){var d=c.data,f=g,j=c.transport||a.fn.select2.ajaxDefaults.transport,k={type:c.type||"GET",cache:c.cache||!1,jsonpCallback:c.jsonpCallback||b,dataType:c.dataType||"json"},l=a.extend({},a.fn.select2.ajaxDefaults.params,k);d=d?d.call(h,i.term,i.page,i.context):null,f="function"==typeof f?f.call(h,i.term,i.page,i.context):f,e&&e.abort(),c.params&&(a.isFunction(c.params)?a.extend(l,c.params.call(h)):a.extend(l,c.params)),a.extend(l,{url:f,dataType:c.dataType,data:d,success:function(a){var b=c.results(a,i.page);i.callback(b)}}),e=j.call(h,l)},f)}}function H(b){var d,e,c=b,f=function(a){return""+a.text};a.isArray(c)&&(e=c,c={results:e}),a.isFunction(c)===!1&&(e=c,c=function(){return e});var g=c();return g.text&&(f=g.text,a.isFunction(f)||(d=g.text,f=function(a){return a[d]})),function(b){var g,d=b.term,e={results:[]};return""===d?(b.callback(c()),void 0):(g=function(c,e){var h,i;if(c=c[0],c.children){h={};for(i in c)c.hasOwnProperty(i)&&(h[i]=c[i]);h.children=[],a(c.children).each2(function(a,b){g(b,h.children)}),(h.children.length||b.matcher(d,f(h),c))&&e.push(h)}else b.matcher(d,f(c),c)&&e.push(c)},a(c().results).each2(function(a,b){g(b,e.results)}),b.callback(e),void 0)}}function I(c){var d=a.isFunction(c);return function(e){var f=e.term,g={results:[]};a(d?c():c).each(function(){var a=this.text!==b,c=a?this.text:this;(""===f||e.matcher(f,c))&&g.results.push(a?this:{id:this,text:this})}),e.callback(g)}}function J(b,c){if(a.isFunction(b))return!0;if(!b)return!1;throw new Error(c+" must be a function or a falsy value")}function K(b){return a.isFunction(b)?b():b}function L(b){var c=0;return a.each(b,function(a,b){b.children?c+=L(b.children):c++}),c}function M(a,c,d,e){var h,i,j,k,l,f=a,g=!1;if(!e.createSearchChoice||!e.tokenSeparators||e.tokenSeparators.length<1)return b;for(;;){for(i=-1,j=0,k=e.tokenSeparators.length;k>j&&(l=e.tokenSeparators[j],i=a.indexOf(l),!(i>=0));j++);if(0>i)break;if(h=a.substring(0,i),a=a.substring(i+l.length),h.length>0&&(h=e.createSearchChoice.call(this,h,c),h!==b&&null!==h&&e.id(h)!==b&&null!==e.id(h))){for(g=!1,j=0,k=c.length;k>j;j++)if(q(e.id(h),e.id(c[j]))){g=!0;break}g||d(h)}}return f!==a?a:void 0}function N(b,c){var d=function(){};return d.prototype=new b,d.prototype.constructor=d,d.prototype.parent=b.prototype,d.prototype=a.extend(d.prototype,c),d}if(window.Select2===b){var c,d,e,f,g,h,j,k,i={x:0,y:0},c={TAB:9,ENTER:13,ESC:27,SPACE:32,LEFT:37,UP:38,RIGHT:39,DOWN:40,SHIFT:16,CTRL:17,ALT:18,PAGE_UP:33,PAGE_DOWN:34,HOME:36,END:35,BACKSPACE:8,DELETE:46,isArrow:function(a){switch(a=a.which?a.which:a){case c.LEFT:case c.RIGHT:case c.UP:case c.DOWN:return!0}return!1},isControl:function(a){var b=a.which;switch(b){case c.SHIFT:case c.CTRL:case c.ALT:return!0}return a.metaKey?!0:!1},isFunctionKey:function(a){return a=a.which?a.which:a,a>=112&&123>=a}},l="<div class='select2-measure-scrollbar'></div>",m={"\u24b6":"A","\uff21":"A","\xc0":"A","\xc1":"A","\xc2":"A","\u1ea6":"A","\u1ea4":"A","\u1eaa":"A","\u1ea8":"A","\xc3":"A","\u0100":"A","\u0102":"A","\u1eb0":"A","\u1eae":"A","\u1eb4":"A","\u1eb2":"A","\u0226":"A","\u01e0":"A","\xc4":"A","\u01de":"A","\u1ea2":"A","\xc5":"A","\u01fa":"A","\u01cd":"A","\u0200":"A","\u0202":"A","\u1ea0":"A","\u1eac":"A","\u1eb6":"A","\u1e00":"A","\u0104":"A","\u023a":"A","\u2c6f":"A","\ua732":"AA","\xc6":"AE","\u01fc":"AE","\u01e2":"AE","\ua734":"AO","\ua736":"AU","\ua738":"AV","\ua73a":"AV","\ua73c":"AY","\u24b7":"B","\uff22":"B","\u1e02":"B","\u1e04":"B","\u1e06":"B","\u0243":"B","\u0182":"B","\u0181":"B","\u24b8":"C","\uff23":"C","\u0106":"C","\u0108":"C","\u010a":"C","\u010c":"C","\xc7":"C","\u1e08":"C","\u0187":"C","\u023b":"C","\ua73e":"C","\u24b9":"D","\uff24":"D","\u1e0a":"D","\u010e":"D","\u1e0c":"D","\u1e10":"D","\u1e12":"D","\u1e0e":"D","\u0110":"D","\u018b":"D","\u018a":"D","\u0189":"D","\ua779":"D","\u01f1":"DZ","\u01c4":"DZ","\u01f2":"Dz","\u01c5":"Dz","\u24ba":"E","\uff25":"E","\xc8":"E","\xc9":"E","\xca":"E","\u1ec0":"E","\u1ebe":"E","\u1ec4":"E","\u1ec2":"E","\u1ebc":"E","\u0112":"E","\u1e14":"E","\u1e16":"E","\u0114":"E","\u0116":"E","\xcb":"E","\u1eba":"E","\u011a":"E","\u0204":"E","\u0206":"E","\u1eb8":"E","\u1ec6":"E","\u0228":"E","\u1e1c":"E","\u0118":"E","\u1e18":"E","\u1e1a":"E","\u0190":"E","\u018e":"E","\u24bb":"F","\uff26":"F","\u1e1e":"F","\u0191":"F","\ua77b":"F","\u24bc":"G","\uff27":"G","\u01f4":"G","\u011c":"G","\u1e20":"G","\u011e":"G","\u0120":"G","\u01e6":"G","\u0122":"G","\u01e4":"G","\u0193":"G","\ua7a0":"G","\ua77d":"G","\ua77e":"G","\u24bd":"H","\uff28":"H","\u0124":"H","\u1e22":"H","\u1e26":"H","\u021e":"H","\u1e24":"H","\u1e28":"H","\u1e2a":"H","\u0126":"H","\u2c67":"H","\u2c75":"H","\ua78d":"H","\u24be":"I","\uff29":"I","\xcc":"I","\xcd":"I","\xce":"I","\u0128":"I","\u012a":"I","\u012c":"I","\u0130":"I","\xcf":"I","\u1e2e":"I","\u1ec8":"I","\u01cf":"I","\u0208":"I","\u020a":"I","\u1eca":"I","\u012e":"I","\u1e2c":"I","\u0197":"I","\u24bf":"J","\uff2a":"J","\u0134":"J","\u0248":"J","\u24c0":"K","\uff2b":"K","\u1e30":"K","\u01e8":"K","\u1e32":"K","\u0136":"K","\u1e34":"K","\u0198":"K","\u2c69":"K","\ua740":"K","\ua742":"K","\ua744":"K","\ua7a2":"K","\u24c1":"L","\uff2c":"L","\u013f":"L","\u0139":"L","\u013d":"L","\u1e36":"L","\u1e38":"L","\u013b":"L","\u1e3c":"L","\u1e3a":"L","\u0141":"L","\u023d":"L","\u2c62":"L","\u2c60":"L","\ua748":"L","\ua746":"L","\ua780":"L","\u01c7":"LJ","\u01c8":"Lj","\u24c2":"M","\uff2d":"M","\u1e3e":"M","\u1e40":"M","\u1e42":"M","\u2c6e":"M","\u019c":"M","\u24c3":"N","\uff2e":"N","\u01f8":"N","\u0143":"N","\xd1":"N","\u1e44":"N","\u0147":"N","\u1e46":"N","\u0145":"N","\u1e4a":"N","\u1e48":"N","\u0220":"N","\u019d":"N","\ua790":"N","\ua7a4":"N","\u01ca":"NJ","\u01cb":"Nj","\u24c4":"O","\uff2f":"O","\xd2":"O","\xd3":"O","\xd4":"O","\u1ed2":"O","\u1ed0":"O","\u1ed6":"O","\u1ed4":"O","\xd5":"O","\u1e4c":"O","\u022c":"O","\u1e4e":"O","\u014c":"O","\u1e50":"O","\u1e52":"O","\u014e":"O","\u022e":"O","\u0230":"O","\xd6":"O","\u022a":"O","\u1ece":"O","\u0150":"O","\u01d1":"O","\u020c":"O","\u020e":"O","\u01a0":"O","\u1edc":"O","\u1eda":"O","\u1ee0":"O","\u1ede":"O","\u1ee2":"O","\u1ecc":"O","\u1ed8":"O","\u01ea":"O","\u01ec":"O","\xd8":"O","\u01fe":"O","\u0186":"O","\u019f":"O","\ua74a":"O","\ua74c":"O","\u01a2":"OI","\ua74e":"OO","\u0222":"OU","\u24c5":"P","\uff30":"P","\u1e54":"P","\u1e56":"P","\u01a4":"P","\u2c63":"P","\ua750":"P","\ua752":"P","\ua754":"P","\u24c6":"Q","\uff31":"Q","\ua756":"Q","\ua758":"Q","\u024a":"Q","\u24c7":"R","\uff32":"R","\u0154":"R","\u1e58":"R","\u0158":"R","\u0210":"R","\u0212":"R","\u1e5a":"R","\u1e5c":"R","\u0156":"R","\u1e5e":"R","\u024c":"R","\u2c64":"R","\ua75a":"R","\ua7a6":"R","\ua782":"R","\u24c8":"S","\uff33":"S","\u1e9e":"S","\u015a":"S","\u1e64":"S","\u015c":"S","\u1e60":"S","\u0160":"S","\u1e66":"S","\u1e62":"S","\u1e68":"S","\u0218":"S","\u015e":"S","\u2c7e":"S","\ua7a8":"S","\ua784":"S","\u24c9":"T","\uff34":"T","\u1e6a":"T","\u0164":"T","\u1e6c":"T","\u021a":"T","\u0162":"T","\u1e70":"T","\u1e6e":"T","\u0166":"T","\u01ac":"T","\u01ae":"T","\u023e":"T","\ua786":"T","\ua728":"TZ","\u24ca":"U","\uff35":"U","\xd9":"U","\xda":"U","\xdb":"U","\u0168":"U","\u1e78":"U","\u016a":"U","\u1e7a":"U","\u016c":"U","\xdc":"U","\u01db":"U","\u01d7":"U","\u01d5":"U","\u01d9":"U","\u1ee6":"U","\u016e":"U","\u0170":"U","\u01d3":"U","\u0214":"U","\u0216":"U","\u01af":"U","\u1eea":"U","\u1ee8":"U","\u1eee":"U","\u1eec":"U","\u1ef0":"U","\u1ee4":"U","\u1e72":"U","\u0172":"U","\u1e76":"U","\u1e74":"U","\u0244":"U","\u24cb":"V","\uff36":"V","\u1e7c":"V","\u1e7e":"V","\u01b2":"V","\ua75e":"V","\u0245":"V","\ua760":"VY","\u24cc":"W","\uff37":"W","\u1e80":"W","\u1e82":"W","\u0174":"W","\u1e86":"W","\u1e84":"W","\u1e88":"W","\u2c72":"W","\u24cd":"X","\uff38":"X","\u1e8a":"X","\u1e8c":"X","\u24ce":"Y","\uff39":"Y","\u1ef2":"Y","\xdd":"Y","\u0176":"Y","\u1ef8":"Y","\u0232":"Y","\u1e8e":"Y","\u0178":"Y","\u1ef6":"Y","\u1ef4":"Y","\u01b3":"Y","\u024e":"Y","\u1efe":"Y","\u24cf":"Z","\uff3a":"Z","\u0179":"Z","\u1e90":"Z","\u017b":"Z","\u017d":"Z","\u1e92":"Z","\u1e94":"Z","\u01b5":"Z","\u0224":"Z","\u2c7f":"Z","\u2c6b":"Z","\ua762":"Z","\u24d0":"a","\uff41":"a","\u1e9a":"a","\xe0":"a","\xe1":"a","\xe2":"a","\u1ea7":"a","\u1ea5":"a","\u1eab":"a","\u1ea9":"a","\xe3":"a","\u0101":"a","\u0103":"a","\u1eb1":"a","\u1eaf":"a","\u1eb5":"a","\u1eb3":"a","\u0227":"a","\u01e1":"a","\xe4":"a","\u01df":"a","\u1ea3":"a","\xe5":"a","\u01fb":"a","\u01ce":"a","\u0201":"a","\u0203":"a","\u1ea1":"a","\u1ead":"a","\u1eb7":"a","\u1e01":"a","\u0105":"a","\u2c65":"a","\u0250":"a","\ua733":"aa","\xe6":"ae","\u01fd":"ae","\u01e3":"ae","\ua735":"ao","\ua737":"au","\ua739":"av","\ua73b":"av","\ua73d":"ay","\u24d1":"b","\uff42":"b","\u1e03":"b","\u1e05":"b","\u1e07":"b","\u0180":"b","\u0183":"b","\u0253":"b","\u24d2":"c","\uff43":"c","\u0107":"c","\u0109":"c","\u010b":"c","\u010d":"c","\xe7":"c","\u1e09":"c","\u0188":"c","\u023c":"c","\ua73f":"c","\u2184":"c","\u24d3":"d","\uff44":"d","\u1e0b":"d","\u010f":"d","\u1e0d":"d","\u1e11":"d","\u1e13":"d","\u1e0f":"d","\u0111":"d","\u018c":"d","\u0256":"d","\u0257":"d","\ua77a":"d","\u01f3":"dz","\u01c6":"dz","\u24d4":"e","\uff45":"e","\xe8":"e","\xe9":"e","\xea":"e","\u1ec1":"e","\u1ebf":"e","\u1ec5":"e","\u1ec3":"e","\u1ebd":"e","\u0113":"e","\u1e15":"e","\u1e17":"e","\u0115":"e","\u0117":"e","\xeb":"e","\u1ebb":"e","\u011b":"e","\u0205":"e","\u0207":"e","\u1eb9":"e","\u1ec7":"e","\u0229":"e","\u1e1d":"e","\u0119":"e","\u1e19":"e","\u1e1b":"e","\u0247":"e","\u025b":"e","\u01dd":"e","\u24d5":"f","\uff46":"f","\u1e1f":"f","\u0192":"f","\ua77c":"f","\u24d6":"g","\uff47":"g","\u01f5":"g","\u011d":"g","\u1e21":"g","\u011f":"g","\u0121":"g","\u01e7":"g","\u0123":"g","\u01e5":"g","\u0260":"g","\ua7a1":"g","\u1d79":"g","\ua77f":"g","\u24d7":"h","\uff48":"h","\u0125":"h","\u1e23":"h","\u1e27":"h","\u021f":"h","\u1e25":"h","\u1e29":"h","\u1e2b":"h","\u1e96":"h","\u0127":"h","\u2c68":"h","\u2c76":"h","\u0265":"h","\u0195":"hv","\u24d8":"i","\uff49":"i","\xec":"i","\xed":"i","\xee":"i","\u0129":"i","\u012b":"i","\u012d":"i","\xef":"i","\u1e2f":"i","\u1ec9":"i","\u01d0":"i","\u0209":"i","\u020b":"i","\u1ecb":"i","\u012f":"i","\u1e2d":"i","\u0268":"i","\u0131":"i","\u24d9":"j","\uff4a":"j","\u0135":"j","\u01f0":"j","\u0249":"j","\u24da":"k","\uff4b":"k","\u1e31":"k","\u01e9":"k","\u1e33":"k","\u0137":"k","\u1e35":"k","\u0199":"k","\u2c6a":"k","\ua741":"k","\ua743":"k","\ua745":"k","\ua7a3":"k","\u24db":"l","\uff4c":"l","\u0140":"l","\u013a":"l","\u013e":"l","\u1e37":"l","\u1e39":"l","\u013c":"l","\u1e3d":"l","\u1e3b":"l","\u017f":"l","\u0142":"l","\u019a":"l","\u026b":"l","\u2c61":"l","\ua749":"l","\ua781":"l","\ua747":"l","\u01c9":"lj","\u24dc":"m","\uff4d":"m","\u1e3f":"m","\u1e41":"m","\u1e43":"m","\u0271":"m","\u026f":"m","\u24dd":"n","\uff4e":"n","\u01f9":"n","\u0144":"n","\xf1":"n","\u1e45":"n","\u0148":"n","\u1e47":"n","\u0146":"n","\u1e4b":"n","\u1e49":"n","\u019e":"n","\u0272":"n","\u0149":"n","\ua791":"n","\ua7a5":"n","\u01cc":"nj","\u24de":"o","\uff4f":"o","\xf2":"o","\xf3":"o","\xf4":"o","\u1ed3":"o","\u1ed1":"o","\u1ed7":"o","\u1ed5":"o","\xf5":"o","\u1e4d":"o","\u022d":"o","\u1e4f":"o","\u014d":"o","\u1e51":"o","\u1e53":"o","\u014f":"o","\u022f":"o","\u0231":"o","\xf6":"o","\u022b":"o","\u1ecf":"o","\u0151":"o","\u01d2":"o","\u020d":"o","\u020f":"o","\u01a1":"o","\u1edd":"o","\u1edb":"o","\u1ee1":"o","\u1edf":"o","\u1ee3":"o","\u1ecd":"o","\u1ed9":"o","\u01eb":"o","\u01ed":"o","\xf8":"o","\u01ff":"o","\u0254":"o","\ua74b":"o","\ua74d":"o","\u0275":"o","\u01a3":"oi","\u0223":"ou","\ua74f":"oo","\u24df":"p","\uff50":"p","\u1e55":"p","\u1e57":"p","\u01a5":"p","\u1d7d":"p","\ua751":"p","\ua753":"p","\ua755":"p","\u24e0":"q","\uff51":"q","\u024b":"q","\ua757":"q","\ua759":"q","\u24e1":"r","\uff52":"r","\u0155":"r","\u1e59":"r","\u0159":"r","\u0211":"r","\u0213":"r","\u1e5b":"r","\u1e5d":"r","\u0157":"r","\u1e5f":"r","\u024d":"r","\u027d":"r","\ua75b":"r","\ua7a7":"r","\ua783":"r","\u24e2":"s","\uff53":"s","\xdf":"s","\u015b":"s","\u1e65":"s","\u015d":"s","\u1e61":"s","\u0161":"s","\u1e67":"s","\u1e63":"s","\u1e69":"s","\u0219":"s","\u015f":"s","\u023f":"s","\ua7a9":"s","\ua785":"s","\u1e9b":"s","\u24e3":"t","\uff54":"t","\u1e6b":"t","\u1e97":"t","\u0165":"t","\u1e6d":"t","\u021b":"t","\u0163":"t","\u1e71":"t","\u1e6f":"t","\u0167":"t","\u01ad":"t","\u0288":"t","\u2c66":"t","\ua787":"t","\ua729":"tz","\u24e4":"u","\uff55":"u","\xf9":"u","\xfa":"u","\xfb":"u","\u0169":"u","\u1e79":"u","\u016b":"u","\u1e7b":"u","\u016d":"u","\xfc":"u","\u01dc":"u","\u01d8":"u","\u01d6":"u","\u01da":"u","\u1ee7":"u","\u016f":"u","\u0171":"u","\u01d4":"u","\u0215":"u","\u0217":"u","\u01b0":"u","\u1eeb":"u","\u1ee9":"u","\u1eef":"u","\u1eed":"u","\u1ef1":"u","\u1ee5":"u","\u1e73":"u","\u0173":"u","\u1e77":"u","\u1e75":"u","\u0289":"u","\u24e5":"v","\uff56":"v","\u1e7d":"v","\u1e7f":"v","\u028b":"v","\ua75f":"v","\u028c":"v","\ua761":"vy","\u24e6":"w","\uff57":"w","\u1e81":"w","\u1e83":"w","\u0175":"w","\u1e87":"w","\u1e85":"w","\u1e98":"w","\u1e89":"w","\u2c73":"w","\u24e7":"x","\uff58":"x","\u1e8b":"x","\u1e8d":"x","\u24e8":"y","\uff59":"y","\u1ef3":"y","\xfd":"y","\u0177":"y","\u1ef9":"y","\u0233":"y","\u1e8f":"y","\xff":"y","\u1ef7":"y","\u1e99":"y","\u1ef5":"y","\u01b4":"y","\u024f":"y","\u1eff":"y","\u24e9":"z","\uff5a":"z","\u017a":"z","\u1e91":"z","\u017c":"z","\u017e":"z","\u1e93":"z","\u1e95":"z","\u01b6":"z","\u0225":"z","\u0240":"z","\u2c6c":"z","\ua763":"z"};j=a(document),g=function(){var a=1;return function(){return a++}}(),j.on("mousemove",function(a){i.x=a.pageX,i.y=a.pageY}),d=N(Object,{bind:function(a){var b=this;return function(){a.apply(b,arguments)}},init:function(c){var d,e,h,i,f=".select2-results";this.opts=c=this.prepareOpts(c),this.id=c.id,c.element.data("select2")!==b&&null!==c.element.data("select2")&&c.element.data("select2").destroy(),this.container=this.createContainer(),this.containerId="s2id_"+(c.element.attr("id")||"autogen"+g()),this.containerSelector="#"+this.containerId.replace(/([;&,\.\+\*\~':"\!\^#$%@\[\]\(\)=>\|])/g,"\\$1"),this.container.attr("id",this.containerId),this.body=w(function(){return c.element.closest("body")}),D(this.container,this.opts.element,this.opts.adaptContainerCssClass),this.container.attr("style",c.element.attr("style")),this.container.css(K(c.containerCss)),this.container.addClass(K(c.containerCssClass)),this.elementTabIndex=this.opts.element.attr("tabindex"),this.opts.element.data("select2",this).attr("tabindex","-1").before(this.container),this.container.data("select2",this),this.dropdown=this.container.find(".select2-drop"),this.dropdown.addClass(K(c.dropdownCssClass)),this.dropdown.data("select2",this),D(this.dropdown,this.opts.element,this.opts.adaptDropdownCssClass),this.results=d=this.container.find(f),this.search=e=this.container.find("input.select2-input"),this.queryCount=0,this.resultsPage=0,this.context=null,this.initContainer(),u(this.results),this.dropdown.on("mousemove-filtered touchstart touchmove touchend",f,this.bind(this.highlightUnderEvent)),x(80,this.results),this.dropdown.on("scroll-debounced",f,this.bind(this.loadMoreIfNeeded)),a(this.container).on("change",".select2-input",function(a){a.stopPropagation()}),a(this.dropdown).on("change",".select2-input",function(a){a.stopPropagation()}),a.fn.mousewheel&&d.mousewheel(function(a,b,c,e){var f=d.scrollTop();e>0&&0>=f-e?(d.scrollTop(0),A(a)):0>e&&d.get(0).scrollHeight-d.scrollTop()+e<=d.height()&&(d.scrollTop(d.get(0).scrollHeight-d.height()),A(a))}),t(e),e.on("keyup-change input paste",this.bind(this.updateResults)),e.on("focus",function(){e.addClass("select2-focused")}),e.on("blur",function(){e.removeClass("select2-focused")}),this.dropdown.on("mouseup",f,this.bind(function(b){a(b.target).closest(".select2-result-selectable").length>0&&(this.highlightUnderEvent(b),this.selectHighlighted(b))})),this.dropdown.on("click mouseup mousedown",function(a){a.stopPropagation()}),a.isFunction(this.opts.initSelection)&&(this.initSelection(),this.monitorSource()),null!==c.maximumInputLength&&this.search.attr("maxlength",c.maximumInputLength);var h=c.element.prop("disabled");h===b&&(h=!1),this.enable(!h);var i=c.element.prop("readonly");i===b&&(i=!1),this.readonly(i),k=k||p(),this.autofocus=c.element.prop("autofocus"),c.element.prop("autofocus",!1),this.autofocus&&this.focus(),this.nextSearchTerm=b},destroy:function(){var a=this.opts.element,c=a.data("select2");this.close(),this.propertyObserver&&(delete this.propertyObserver,this.propertyObserver=null),c!==b&&(c.container.remove(),c.dropdown.remove(),a.removeClass("select2-offscreen").removeData("select2").off(".select2").prop("autofocus",this.autofocus||!1),this.elementTabIndex?a.attr({tabindex:this.elementTabIndex}):a.removeAttr("tabindex"),a.show())},optionToData:function(a){return a.is("option")?{id:a.prop("value"),text:a.text(),element:a.get(),css:a.attr("class"),disabled:a.prop("disabled"),locked:q(a.attr("locked"),"locked")||q(a.data("locked"),!0)}:a.is("optgroup")?{text:a.attr("label"),children:[],element:a.get(),css:a.attr("class")}:void 0},prepareOpts:function(c){var d,e,f,g,h=this;if(d=c.element,"select"===d.get(0).tagName.toLowerCase()&&(this.select=e=c.element),e&&a.each(["id","multiple","ajax","query","createSearchChoice","initSelection","data","tags"],function(){if(this in c)throw new Error("Option '"+this+"' is not allowed for Select2 when attached to a <select> element.")}),c=a.extend({},{populateResults:function(d,e,f){var g,l=this.opts.id;g=function(d,e,i){var j,k,m,n,o,p,q,r,s,t;for(d=c.sortResults(d,e,f),j=0,k=d.length;k>j;j+=1)m=d[j],o=m.disabled===!0,n=!o&&l(m)!==b,p=m.children&&m.children.length>0,q=a("<li></li>"),q.addClass("select2-results-dept-"+i),q.addClass("select2-result"),q.addClass(n?"select2-result-selectable":"select2-result-unselectable"),o&&q.addClass("select2-disabled"),p&&q.addClass("select2-result-with-children"),q.addClass(h.opts.formatResultCssClass(m)),r=a(document.createElement("div")),r.addClass("select2-result-label"),t=c.formatResult(m,r,f,h.opts.escapeMarkup),t!==b&&r.html(t),q.append(r),p&&(s=a("<ul></ul>"),s.addClass("select2-result-sub"),g(m.children,s,i+1),q.append(s)),q.data("select2-data",m),e.append(q)},g(e,d,0)}},a.fn.select2.defaults,c),"function"!=typeof c.id&&(f=c.id,c.id=function(a){return a[f]}),a.isArray(c.element.data("select2Tags"))){if("tags"in c)throw"tags specified as both an attribute 'data-select2-tags' and in options of Select2 "+c.element.attr("id");c.tags=c.element.data("select2Tags")}if(e?(c.query=this.bind(function(a){var f,g,i,c={results:[],more:!1},e=a.term;i=function(b,c){var d;b.is("option")?a.matcher(e,b.text(),b)&&c.push(h.optionToData(b)):b.is("optgroup")&&(d=h.optionToData(b),b.children().each2(function(a,b){i(b,d.children)}),d.children.length>0&&c.push(d))},f=d.children(),this.getPlaceholder()!==b&&f.length>0&&(g=this.getPlaceholderOption(),g&&(f=f.not(g))),f.each2(function(a,b){i(b,c.results)}),a.callback(c)}),c.id=function(a){return a.id},c.formatResultCssClass=function(a){return a.css}):"query"in c||("ajax"in c?(g=c.element.data("ajax-url"),g&&g.length>0&&(c.ajax.url=g),c.query=G.call(c.element,c.ajax)):"data"in c?c.query=H(c.data):"tags"in c&&(c.query=I(c.tags),c.createSearchChoice===b&&(c.createSearchChoice=function(b){return{id:a.trim(b),text:a.trim(b)}}),c.initSelection===b&&(c.initSelection=function(b,d){var e=[];a(r(b.val(),c.separator)).each(function(){var b=this,d=this,f=c.tags;a.isFunction(f)&&(f=f()),a(f).each(function(){return q(this.id,b)?(d=this.text,!1):void 0}),e.push({id:b,text:d})}),d(e)}))),"function"!=typeof c.query)throw"query function not defined for Select2 "+c.element.attr("id");return c},monitorSource:function(){var c,a=this.opts.element;a.on("change.select2",this.bind(function(){this.opts.element.data("select2-change-triggered")!==!0&&this.initSelection()})),c=this.bind(function(){var d,f=a.prop("disabled");f===b&&(f=!1),this.enable(!f);var d=a.prop("readonly");d===b&&(d=!1),this.readonly(d),D(this.container,this.opts.element,this.opts.adaptContainerCssClass),this.container.addClass(K(this.opts.containerCssClass)),D(this.dropdown,this.opts.element,this.opts.adaptDropdownCssClass),this.dropdown.addClass(K(this.opts.dropdownCssClass))}),a.on("propertychange.select2 DOMAttrModified.select2",c),this.mutationCallback===b&&(this.mutationCallback=function(a){a.forEach(c)}),"undefined"!=typeof WebKitMutationObserver&&(this.propertyObserver&&(delete this.propertyObserver,this.propertyObserver=null),this.propertyObserver=new WebKitMutationObserver(this.mutationCallback),this.propertyObserver.observe(a.get(0),{attributes:!0,subtree:!1}))},triggerSelect:function(b){var c=a.Event("select2-selecting",{val:this.id(b),object:b});return this.opts.element.trigger(c),!c.isDefaultPrevented()},triggerChange:function(b){b=b||{},b=a.extend({},b,{type:"change",val:this.val()}),this.opts.element.data("select2-change-triggered",!0),this.opts.element.trigger(b),this.opts.element.data("select2-change-triggered",!1),this.opts.element.click(),this.opts.blurOnChange&&this.opts.element.blur()},isInterfaceEnabled:function(){return this.enabledInterface===!0},enableInterface:function(){var a=this._enabled&&!this._readonly,b=!a;return a===this.enabledInterface?!1:(this.container.toggleClass("select2-container-disabled",b),this.close(),this.enabledInterface=a,!0)},enable:function(a){a===b&&(a=!0),this._enabled!==a&&(this._enabled=a,this.opts.element.prop("disabled",!a),this.enableInterface())},disable:function(){this.enable(!1)},readonly:function(a){return a===b&&(a=!1),this._readonly===a?!1:(this._readonly=a,this.opts.element.prop("readonly",a),this.enableInterface(),!0)},opened:function(){return this.container.hasClass("select2-dropdown-open")},positionDropdown:function(){var q,r,s,t,b=this.dropdown,c=this.container.offset(),d=this.container.outerHeight(!1),e=this.container.outerWidth(!1),f=b.outerHeight(!1),g=a(window).scrollLeft()+a(window).width(),h=a(window).scrollTop()+a(window).height(),i=c.top+d,j=c.left,l=h>=i+f,m=c.top-f>=this.body().scrollTop(),n=b.outerWidth(!1),o=g>=j+n,p=b.hasClass("select2-drop-above");this.opts.dropdownAutoWidth?(t=a(".select2-results",b)[0],b.addClass("select2-drop-auto-width"),b.css("width",""),n=b.outerWidth(!1)+(t.scrollHeight===t.clientHeight?0:k.width),n>e?e=n:n=e,o=g>=j+n):this.container.removeClass("select2-drop-auto-width"),"static"!==this.body().css("position")&&(q=this.body().offset(),i-=q.top,j-=q.left),p?(r=!0,!m&&l&&(r=!1)):(r=!1,!l&&m&&(r=!0)),o||(j=c.left+e-n),r?(i=c.top-f,this.container.addClass("select2-drop-above"),b.addClass("select2-drop-above")):(this.container.removeClass("select2-drop-above"),b.removeClass("select2-drop-above")),s=a.extend({top:i,left:j,width:e},K(this.opts.dropdownCss)),b.css(s)},shouldOpen:function(){var b;return this.opened()?!1:this._enabled===!1||this._readonly===!0?!1:(b=a.Event("select2-opening"),this.opts.element.trigger(b),!b.isDefaultPrevented())},clearDropdownAlignmentPreference:function(){this.container.removeClass("select2-drop-above"),this.dropdown.removeClass("select2-drop-above")},open:function(){return this.shouldOpen()?(this.opening(),!0):!1},opening:function(){var f,b=this.containerId,c="scroll."+b,d="resize."+b,e="orientationchange."+b;this.container.addClass("select2-dropdown-open").addClass("select2-container-active"),this.clearDropdownAlignmentPreference(),this.dropdown[0]!==this.body().children().last()[0]&&this.dropdown.detach().appendTo(this.body()),f=a("#select2-drop-mask"),0==f.length&&(f=a(document.createElement("div")),f.attr("id","select2-drop-mask").attr("class","select2-drop-mask"),f.hide(),f.appendTo(this.body()),f.on("mousedown touchstart click",function(b){var d,c=a("#select2-drop");c.length>0&&(d=c.data("select2"),d.opts.selectOnBlur&&d.selectHighlighted({noFocus:!0}),d.close({focus:!1}),b.preventDefault(),b.stopPropagation())})),this.dropdown.prev()[0]!==f[0]&&this.dropdown.before(f),a("#select2-drop").removeAttr("id"),this.dropdown.attr("id","select2-drop"),f.show(),this.positionDropdown(),this.dropdown.show(),this.positionDropdown(),this.dropdown.addClass("select2-drop-active");var h=this;this.container.parents().add(window).each(function(){a(this).on(d+" "+c+" "+e,function(){h.positionDropdown()})})},close:function(){if(this.opened()){var b=this.containerId,c="scroll."+b,d="resize."+b,e="orientationchange."+b;this.container.parents().add(window).each(function(){a(this).off(c).off(d).off(e)}),this.clearDropdownAlignmentPreference(),a("#select2-drop-mask").hide(),this.dropdown.removeAttr("id"),this.dropdown.hide(),this.container.removeClass("select2-dropdown-open"),this.results.empty(),this.clearSearch(),this.search.removeClass("select2-active"),this.opts.element.trigger(a.Event("select2-close"))}},externalSearch:function(a){this.open(),this.search.val(a),this.updateResults(!1)},clearSearch:function(){},getMaximumSelectionSize:function(){return K(this.opts.maximumSelectionSize)},ensureHighlightVisible:function(){var c,d,e,f,g,h,i,b=this.results;if(d=this.highlight(),!(0>d)){if(0==d)return b.scrollTop(0),void 0;c=this.findHighlightableChoices().find(".select2-result-label"),e=a(c[d]),f=e.offset().top+e.outerHeight(!0),d===c.length-1&&(i=b.find("li.select2-more-results"),i.length>0&&(f=i.offset().top+i.outerHeight(!0))),g=b.offset().top+b.outerHeight(!0),f>g&&b.scrollTop(b.scrollTop()+(f-g)),h=e.offset().top-b.offset().top,0>h&&"none"!=e.css("display")&&b.scrollTop(b.scrollTop()+h)}},findHighlightableChoices:function(){return this.results.find(".select2-result-selectable:not(.select2-selected):not(.select2-disabled)")},moveHighlight:function(b){for(var c=this.findHighlightableChoices(),d=this.highlight();d>-1&&d<c.length;){d+=b;var e=a(c[d]);if(e.hasClass("select2-result-selectable")&&!e.hasClass("select2-disabled")&&!e.hasClass("select2-selected")){this.highlight(d);break}}},highlight:function(b){var d,e,c=this.findHighlightableChoices();return 0===arguments.length?o(c.filter(".select2-highlighted")[0],c.get()):(b>=c.length&&(b=c.length-1),0>b&&(b=0),this.removeHighlight(),d=a(c[b]),d.addClass("select2-highlighted"),this.ensureHighlightVisible(),e=d.data("select2-data"),e&&this.opts.element.trigger({type:"select2-highlight",val:this.id(e),choice:e}),void 0)},removeHighlight:function(){this.results.find(".select2-highlighted").removeClass("select2-highlighted")},countSelectableResults:function(){return this.findHighlightableChoices().length},highlightUnderEvent:function(b){var c=a(b.target).closest(".select2-result-selectable");if(c.length>0&&!c.is(".select2-highlighted")){var d=this.findHighlightableChoices();this.highlight(d.index(c))}else 0==c.length&&this.removeHighlight()},loadMoreIfNeeded:function(){var c,a=this.results,b=a.find("li.select2-more-results"),e=this.resultsPage+1,f=this,g=this.search.val(),h=this.context;0!==b.length&&(c=b.offset().top-a.offset().top-a.height(),c<=this.opts.loadMorePadding&&(b.addClass("select2-active"),this.opts.query({element:this.opts.element,term:g,page:e,context:h,matcher:this.opts.matcher,callback:this.bind(function(c){f.opened()&&(f.opts.populateResults.call(this,a,c.results,{term:g,page:e,context:h}),f.postprocessResults(c,!1,!1),c.more===!0?(b.detach().appendTo(a).text(f.opts.formatLoadMore(e+1)),window.setTimeout(function(){f.loadMoreIfNeeded()},10)):b.remove(),f.positionDropdown(),f.resultsPage=e,f.context=c.context,this.opts.element.trigger({type:"select2-loaded",items:c}))})})))},tokenize:function(){},updateResults:function(c){function m(){d.removeClass("select2-active"),h.positionDropdown()}function n(a){e.html(a),m()}var g,i,l,d=this.search,e=this.results,f=this.opts,h=this,j=d.val(),k=a.data(this.container,"select2-last-term");if((c===!0||!k||!q(j,k))&&(a.data(this.container,"select2-last-term",j),c===!0||this.showSearchInput!==!1&&this.opened())){l=++this.queryCount;var o=this.getMaximumSelectionSize();if(o>=1&&(g=this.data(),a.isArray(g)&&g.length>=o&&J(f.formatSelectionTooBig,"formatSelectionTooBig")))return n("<li class='select2-selection-limit'>"+f.formatSelectionTooBig(o)+"</li>"),void 0;if(d.val().length<f.minimumInputLength)return J(f.formatInputTooShort,"formatInputTooShort")?n("<li class='select2-no-results'>"+f.formatInputTooShort(d.val(),f.minimumInputLength)+"</li>"):n(""),c&&this.showSearch&&this.showSearch(!0),void 0;if(f.maximumInputLength&&d.val().length>f.maximumInputLength)return J(f.formatInputTooLong,"formatInputTooLong")?n("<li class='select2-no-results'>"+f.formatInputTooLong(d.val(),f.maximumInputLength)+"</li>"):n(""),void 0; +f.formatSearching&&0===this.findHighlightableChoices().length&&n("<li class='select2-searching'>"+f.formatSearching()+"</li>"),d.addClass("select2-active"),this.removeHighlight(),i=this.tokenize(),i!=b&&null!=i&&d.val(i),this.resultsPage=1,f.query({element:f.element,term:d.val(),page:this.resultsPage,context:null,matcher:f.matcher,callback:this.bind(function(g){var i;if(l==this.queryCount){if(!this.opened())return this.search.removeClass("select2-active"),void 0;if(this.context=g.context===b?null:g.context,this.opts.createSearchChoice&&""!==d.val()&&(i=this.opts.createSearchChoice.call(h,d.val(),g.results),i!==b&&null!==i&&h.id(i)!==b&&null!==h.id(i)&&0===a(g.results).filter(function(){return q(h.id(this),h.id(i))}).length&&g.results.unshift(i)),0===g.results.length&&J(f.formatNoMatches,"formatNoMatches"))return n("<li class='select2-no-results'>"+f.formatNoMatches(d.val())+"</li>"),void 0;e.empty(),h.opts.populateResults.call(this,e,g.results,{term:d.val(),page:this.resultsPage,context:null}),g.more===!0&&J(f.formatLoadMore,"formatLoadMore")&&(e.append("<li class='select2-more-results'>"+h.opts.escapeMarkup(f.formatLoadMore(this.resultsPage))+"</li>"),window.setTimeout(function(){h.loadMoreIfNeeded()},10)),this.postprocessResults(g,c),m(),this.opts.element.trigger({type:"select2-loaded",items:g})}})})}},cancel:function(){this.close()},blur:function(){this.opts.selectOnBlur&&this.selectHighlighted({noFocus:!0}),this.close(),this.container.removeClass("select2-container-active"),this.search[0]===document.activeElement&&this.search.blur(),this.clearSearch(),this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus")},focusSearch:function(){y(this.search)},selectHighlighted:function(a){var b=this.highlight(),c=this.results.find(".select2-highlighted"),d=c.closest(".select2-result").data("select2-data");d?(this.highlight(b),this.onSelect(d,a)):a&&a.noFocus&&this.close()},getPlaceholder:function(){var a;return this.opts.element.attr("placeholder")||this.opts.element.attr("data-placeholder")||this.opts.element.data("placeholder")||this.opts.placeholder||((a=this.getPlaceholderOption())!==b?a.text():b)},getPlaceholderOption:function(){if(this.select){var a=this.select.children().first();if(this.opts.placeholderOption!==b)return"first"===this.opts.placeholderOption&&a||"function"==typeof this.opts.placeholderOption&&this.opts.placeholderOption(this.select);if(""===a.text()&&""===a.val())return a}},initContainerWidth:function(){function c(){var c,d,e,f,g;if("off"===this.opts.width)return null;if("element"===this.opts.width)return 0===this.opts.element.outerWidth(!1)?"auto":this.opts.element.outerWidth(!1)+"px";if("copy"===this.opts.width||"resolve"===this.opts.width){if(c=this.opts.element.attr("style"),c!==b)for(d=c.split(";"),f=0,g=d.length;g>f;f+=1)if(e=d[f].replace(/\s/g,"").match(/[^-]width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i),null!==e&&e.length>=1)return e[1];return"resolve"===this.opts.width?(c=this.opts.element.css("width"),c.indexOf("%")>0?c:0===this.opts.element.outerWidth(!1)?"auto":this.opts.element.outerWidth(!1)+"px"):null}return a.isFunction(this.opts.width)?this.opts.width():this.opts.width}var d=c.call(this);null!==d&&this.container.css("width",d)}}),e=N(d,{createContainer:function(){var b=a(document.createElement("div")).attr({"class":"select2-container"}).html(["<a href='javascript:void(0)' onclick='return false;' class='select2-choice' tabindex='-1'>"," <span class='select2-chosen'> </span><abbr class='select2-search-choice-close'></abbr>"," <span class='select2-arrow'><b></b></span>","</a>","<input class='select2-focusser select2-offscreen' type='text'/>","<div class='select2-drop select2-display-none'>"," <div class='select2-search'>"," <input type='text' autocomplete='off' autocorrect='off' autocapitalize='off' spellcheck='false' class='select2-input'/>"," </div>"," <ul class='select2-results'>"," </ul>","</div>"].join(""));return b},enableInterface:function(){this.parent.enableInterface.apply(this,arguments)&&this.focusser.prop("disabled",!this.isInterfaceEnabled())},opening:function(){var c,d,e;this.opts.minimumResultsForSearch>=0&&this.showSearch(!0),this.parent.opening.apply(this,arguments),this.showSearchInput!==!1&&this.search.val(this.focusser.val()),this.search.focus(),c=this.search.get(0),c.createTextRange?(d=c.createTextRange(),d.collapse(!1),d.select()):c.setSelectionRange&&(e=this.search.val().length,c.setSelectionRange(e,e)),""===this.search.val()&&this.nextSearchTerm!=b&&(this.search.val(this.nextSearchTerm),this.search.select()),this.focusser.prop("disabled",!0).val(""),this.updateResults(!0),this.opts.element.trigger(a.Event("select2-open"))},close:function(a){this.opened()&&(this.parent.close.apply(this,arguments),a=a||{focus:!0},this.focusser.removeAttr("disabled"),a.focus&&this.focusser.focus())},focus:function(){this.opened()?this.close():(this.focusser.removeAttr("disabled"),this.focusser.focus())},isFocused:function(){return this.container.hasClass("select2-container-active")},cancel:function(){this.parent.cancel.apply(this,arguments),this.focusser.removeAttr("disabled"),this.focusser.focus()},destroy:function(){a("label[for='"+this.focusser.attr("id")+"']").attr("for",this.opts.element.attr("id")),this.parent.destroy.apply(this,arguments)},initContainer:function(){var b,d=this.container,e=this.dropdown;this.opts.minimumResultsForSearch<0?this.showSearch(!1):this.showSearch(!0),this.selection=b=d.find(".select2-choice"),this.focusser=d.find(".select2-focusser"),this.focusser.attr("id","s2id_autogen"+g()),a("label[for='"+this.opts.element.attr("id")+"']").attr("for",this.focusser.attr("id")),this.focusser.attr("tabindex",this.elementTabIndex),this.search.on("keydown",this.bind(function(a){if(this.isInterfaceEnabled()){if(a.which===c.PAGE_UP||a.which===c.PAGE_DOWN)return A(a),void 0;switch(a.which){case c.UP:case c.DOWN:return this.moveHighlight(a.which===c.UP?-1:1),A(a),void 0;case c.ENTER:return this.selectHighlighted(),A(a),void 0;case c.TAB:return this.opts.selectOnBlur&&this.selectHighlighted({noFocus:!0}),void 0;case c.ESC:return this.cancel(a),A(a),void 0}}})),this.search.on("blur",this.bind(function(){document.activeElement===this.body().get(0)&&window.setTimeout(this.bind(function(){this.search.focus()}),0)})),this.focusser.on("keydown",this.bind(function(a){if(this.isInterfaceEnabled()&&a.which!==c.TAB&&!c.isControl(a)&&!c.isFunctionKey(a)&&a.which!==c.ESC){if(this.opts.openOnEnter===!1&&a.which===c.ENTER)return A(a),void 0;if(a.which==c.DOWN||a.which==c.UP||a.which==c.ENTER&&this.opts.openOnEnter){if(a.altKey||a.ctrlKey||a.shiftKey||a.metaKey)return;return this.open(),A(a),void 0}return a.which==c.DELETE||a.which==c.BACKSPACE?(this.opts.allowClear&&this.clear(),A(a),void 0):void 0}})),t(this.focusser),this.focusser.on("keyup-change input",this.bind(function(a){if(this.opts.minimumResultsForSearch>=0){if(a.stopPropagation(),this.opened())return;this.open()}})),b.on("mousedown","abbr",this.bind(function(a){this.isInterfaceEnabled()&&(this.clear(),B(a),this.close(),this.selection.focus())})),b.on("mousedown",this.bind(function(b){this.container.hasClass("select2-container-active")||this.opts.element.trigger(a.Event("select2-focus")),this.opened()?this.close():this.isInterfaceEnabled()&&this.open(),A(b)})),e.on("mousedown",this.bind(function(){this.search.focus()})),b.on("focus",this.bind(function(a){A(a)})),this.focusser.on("focus",this.bind(function(){this.container.hasClass("select2-container-active")||this.opts.element.trigger(a.Event("select2-focus")),this.container.addClass("select2-container-active")})).on("blur",this.bind(function(){this.opened()||(this.container.removeClass("select2-container-active"),this.opts.element.trigger(a.Event("select2-blur")))})),this.search.on("focus",this.bind(function(){this.container.hasClass("select2-container-active")||this.opts.element.trigger(a.Event("select2-focus")),this.container.addClass("select2-container-active")})),this.initContainerWidth(),this.opts.element.addClass("select2-offscreen"),this.setPlaceholder()},clear:function(a){var b=this.selection.data("select2-data");if(b){var c=this.getPlaceholderOption();this.opts.element.val(c?c.val():""),this.selection.find(".select2-chosen").empty(),this.selection.removeData("select2-data"),this.setPlaceholder(),a!==!1&&(this.opts.element.trigger({type:"select2-removed",val:this.id(b),choice:b}),this.triggerChange({removed:b}))}},initSelection:function(){if(this.isPlaceholderOptionSelected())this.updateSelection(null),this.close(),this.setPlaceholder();else{var c=this;this.opts.initSelection.call(null,this.opts.element,function(a){a!==b&&null!==a&&(c.updateSelection(a),c.close(),c.setPlaceholder())})}},isPlaceholderOptionSelected:function(){var a;return this.opts.placeholder?(a=this.getPlaceholderOption())!==b&&a.is(":selected")||""===this.opts.element.val()||this.opts.element.val()===b||null===this.opts.element.val():!1},prepareOpts:function(){var b=this.parent.prepareOpts.apply(this,arguments),c=this;return"select"===b.element.get(0).tagName.toLowerCase()?b.initSelection=function(a,b){var d=a.find(":selected");b(c.optionToData(d))}:"data"in b&&(b.initSelection=b.initSelection||function(c,d){var e=c.val(),f=null;b.query({matcher:function(a,c,d){var g=q(e,b.id(d));return g&&(f=d),g},callback:a.isFunction(d)?function(){d(f)}:a.noop})}),b},getPlaceholder:function(){return this.select&&this.getPlaceholderOption()===b?b:this.parent.getPlaceholder.apply(this,arguments)},setPlaceholder:function(){var a=this.getPlaceholder();if(this.isPlaceholderOptionSelected()&&a!==b){if(this.select&&this.getPlaceholderOption()===b)return;this.selection.find(".select2-chosen").html(this.opts.escapeMarkup(a)),this.selection.addClass("select2-default"),this.container.removeClass("select2-allowclear")}},postprocessResults:function(a,b,c){var d=0,e=this;if(this.findHighlightableChoices().each2(function(a,b){return q(e.id(b.data("select2-data")),e.opts.element.val())?(d=a,!1):void 0}),c!==!1&&(b===!0&&d>=0?this.highlight(d):this.highlight(0)),b===!0){var g=this.opts.minimumResultsForSearch;g>=0&&this.showSearch(L(a.results)>=g)}},showSearch:function(b){this.showSearchInput!==b&&(this.showSearchInput=b,this.dropdown.find(".select2-search").toggleClass("select2-search-hidden",!b),this.dropdown.find(".select2-search").toggleClass("select2-offscreen",!b),a(this.dropdown,this.container).toggleClass("select2-with-searchbox",b))},onSelect:function(a,b){if(this.triggerSelect(a)){var c=this.opts.element.val(),d=this.data();this.opts.element.val(this.id(a)),this.updateSelection(a),this.opts.element.trigger({type:"select2-selected",val:this.id(a),choice:a}),this.nextSearchTerm=this.opts.nextSearchTerm(a,this.search.val()),this.close(),b&&b.noFocus||this.selection.focus(),q(c,this.id(a))||this.triggerChange({added:a,removed:d})}},updateSelection:function(a){var d,e,c=this.selection.find(".select2-chosen");this.selection.data("select2-data",a),c.empty(),null!==a&&(d=this.opts.formatSelection(a,c,this.opts.escapeMarkup)),d!==b&&c.append(d),e=this.opts.formatSelectionCssClass(a,c),e!==b&&c.addClass(e),this.selection.removeClass("select2-default"),this.opts.allowClear&&this.getPlaceholder()!==b&&this.container.addClass("select2-allowclear")},val:function(){var a,c=!1,d=null,e=this,f=this.data();if(0===arguments.length)return this.opts.element.val();if(a=arguments[0],arguments.length>1&&(c=arguments[1]),this.select)this.select.val(a).find(":selected").each2(function(a,b){return d=e.optionToData(b),!1}),this.updateSelection(d),this.setPlaceholder(),c&&this.triggerChange({added:d,removed:f});else{if(!a&&0!==a)return this.clear(c),void 0;if(this.opts.initSelection===b)throw new Error("cannot call val() if initSelection() is not defined");this.opts.element.val(a),this.opts.initSelection(this.opts.element,function(a){e.opts.element.val(a?e.id(a):""),e.updateSelection(a),e.setPlaceholder(),c&&e.triggerChange({added:a,removed:f})})}},clearSearch:function(){this.search.val(""),this.focusser.val("")},data:function(a){var c,d=!1;return 0===arguments.length?(c=this.selection.data("select2-data"),c==b&&(c=null),c):(arguments.length>1&&(d=arguments[1]),a?(c=this.data(),this.opts.element.val(a?this.id(a):""),this.updateSelection(a),d&&this.triggerChange({added:a,removed:c})):this.clear(d),void 0)}}),f=N(d,{createContainer:function(){var b=a(document.createElement("div")).attr({"class":"select2-container select2-container-multi"}).html(["<ul class='select2-choices'>"," <li class='select2-search-field'>"," <input type='text' autocomplete='off' autocorrect='off' autocapitalize='off' spellcheck='false' class='select2-input'>"," </li>","</ul>","<div class='select2-drop select2-drop-multi select2-display-none'>"," <ul class='select2-results'>"," </ul>","</div>"].join(""));return b},prepareOpts:function(){var b=this.parent.prepareOpts.apply(this,arguments),c=this;return"select"===b.element.get(0).tagName.toLowerCase()?b.initSelection=function(a,b){var d=[];a.find(":selected").each2(function(a,b){d.push(c.optionToData(b))}),b(d)}:"data"in b&&(b.initSelection=b.initSelection||function(c,d){var e=r(c.val(),b.separator),f=[];b.query({matcher:function(c,d,g){var h=a.grep(e,function(a){return q(a,b.id(g))}).length;return h&&f.push(g),h},callback:a.isFunction(d)?function(){for(var a=[],c=0;c<e.length;c++)for(var g=e[c],h=0;h<f.length;h++){var i=f[h];if(q(g,b.id(i))){a.push(i),f.splice(h,1);break}}d(a)}:a.noop})}),b},selectChoice:function(a){var b=this.container.find(".select2-search-choice-focus");b.length&&a&&a[0]==b[0]||(b.length&&this.opts.element.trigger("choice-deselected",b),b.removeClass("select2-search-choice-focus"),a&&a.length&&(this.close(),a.addClass("select2-search-choice-focus"),this.opts.element.trigger("choice-selected",a)))},destroy:function(){a("label[for='"+this.search.attr("id")+"']").attr("for",this.opts.element.attr("id")),this.parent.destroy.apply(this,arguments)},initContainer:function(){var d,b=".select2-choices";this.searchContainer=this.container.find(".select2-search-field"),this.selection=d=this.container.find(b);var e=this;this.selection.on("click",".select2-search-choice",function(){e.search[0].focus(),e.selectChoice(a(this))}),this.search.attr("id","s2id_autogen"+g()),a("label[for='"+this.opts.element.attr("id")+"']").attr("for",this.search.attr("id")),this.search.on("input paste",this.bind(function(){this.isInterfaceEnabled()&&(this.opened()||this.open())})),this.search.attr("tabindex",this.elementTabIndex),this.keydowns=0,this.search.on("keydown",this.bind(function(a){if(this.isInterfaceEnabled()){++this.keydowns;var b=d.find(".select2-search-choice-focus"),e=b.prev(".select2-search-choice:not(.select2-locked)"),f=b.next(".select2-search-choice:not(.select2-locked)"),g=z(this.search);if(b.length&&(a.which==c.LEFT||a.which==c.RIGHT||a.which==c.BACKSPACE||a.which==c.DELETE||a.which==c.ENTER)){var h=b;return a.which==c.LEFT&&e.length?h=e:a.which==c.RIGHT?h=f.length?f:null:a.which===c.BACKSPACE?(this.unselect(b.first()),this.search.width(10),h=e.length?e:f):a.which==c.DELETE?(this.unselect(b.first()),this.search.width(10),h=f.length?f:null):a.which==c.ENTER&&(h=null),this.selectChoice(h),A(a),h&&h.length||this.open(),void 0}if((a.which===c.BACKSPACE&&1==this.keydowns||a.which==c.LEFT)&&0==g.offset&&!g.length)return this.selectChoice(d.find(".select2-search-choice:not(.select2-locked)").last()),A(a),void 0;if(this.selectChoice(null),this.opened())switch(a.which){case c.UP:case c.DOWN:return this.moveHighlight(a.which===c.UP?-1:1),A(a),void 0;case c.ENTER:return this.selectHighlighted(),A(a),void 0;case c.TAB:return this.opts.selectOnBlur&&this.selectHighlighted({noFocus:!0}),this.close(),void 0;case c.ESC:return this.cancel(a),A(a),void 0}if(a.which!==c.TAB&&!c.isControl(a)&&!c.isFunctionKey(a)&&a.which!==c.BACKSPACE&&a.which!==c.ESC){if(a.which===c.ENTER){if(this.opts.openOnEnter===!1)return;if(a.altKey||a.ctrlKey||a.shiftKey||a.metaKey)return}this.open(),(a.which===c.PAGE_UP||a.which===c.PAGE_DOWN)&&A(a),a.which===c.ENTER&&A(a)}}})),this.search.on("keyup",this.bind(function(){this.keydowns=0,this.resizeSearch()})),this.search.on("blur",this.bind(function(b){this.container.removeClass("select2-container-active"),this.search.removeClass("select2-focused"),this.selectChoice(null),this.opened()||this.clearSearch(),b.stopImmediatePropagation(),this.opts.element.trigger(a.Event("select2-blur"))})),this.container.on("click",b,this.bind(function(b){this.isInterfaceEnabled()&&(a(b.target).closest(".select2-search-choice").length>0||(this.selectChoice(null),this.clearPlaceholder(),this.container.hasClass("select2-container-active")||this.opts.element.trigger(a.Event("select2-focus")),this.open(),this.focusSearch(),b.preventDefault()))})),this.container.on("focus",b,this.bind(function(){this.isInterfaceEnabled()&&(this.container.hasClass("select2-container-active")||this.opts.element.trigger(a.Event("select2-focus")),this.container.addClass("select2-container-active"),this.dropdown.addClass("select2-drop-active"),this.clearPlaceholder())})),this.initContainerWidth(),this.opts.element.addClass("select2-offscreen"),this.clearSearch()},enableInterface:function(){this.parent.enableInterface.apply(this,arguments)&&this.search.prop("disabled",!this.isInterfaceEnabled())},initSelection:function(){if(""===this.opts.element.val()&&""===this.opts.element.text()&&(this.updateSelection([]),this.close(),this.clearSearch()),this.select||""!==this.opts.element.val()){var c=this;this.opts.initSelection.call(null,this.opts.element,function(a){a!==b&&null!==a&&(c.updateSelection(a),c.close(),c.clearSearch())})}},clearSearch:function(){var a=this.getPlaceholder(),c=this.getMaxSearchWidth();a!==b&&0===this.getVal().length&&this.search.hasClass("select2-focused")===!1?(this.search.val(a).addClass("select2-default"),this.search.width(c>0?c:this.container.css("width"))):this.search.val("").width(10)},clearPlaceholder:function(){this.search.hasClass("select2-default")&&this.search.val("").removeClass("select2-default")},opening:function(){this.clearPlaceholder(),this.resizeSearch(),this.parent.opening.apply(this,arguments),this.focusSearch(),this.updateResults(!0),this.search.focus(),this.opts.element.trigger(a.Event("select2-open"))},close:function(){this.opened()&&this.parent.close.apply(this,arguments)},focus:function(){this.close(),this.search.focus()},isFocused:function(){return this.search.hasClass("select2-focused")},updateSelection:function(b){var c=[],d=[],e=this;a(b).each(function(){o(e.id(this),c)<0&&(c.push(e.id(this)),d.push(this))}),b=d,this.selection.find(".select2-search-choice").remove(),a(b).each(function(){e.addSelectedChoice(this)}),e.postprocessResults()},tokenize:function(){var a=this.search.val();a=this.opts.tokenizer.call(this,a,this.data(),this.bind(this.onSelect),this.opts),null!=a&&a!=b&&(this.search.val(a),a.length>0&&this.open())},onSelect:function(a,b){this.triggerSelect(a)&&(this.addSelectedChoice(a),this.opts.element.trigger({type:"selected",val:this.id(a),choice:a}),(this.select||!this.opts.closeOnSelect)&&this.postprocessResults(a,!1,this.opts.closeOnSelect===!0),this.opts.closeOnSelect?(this.close(),this.search.width(10)):this.countSelectableResults()>0?(this.search.width(10),this.resizeSearch(),this.getMaximumSelectionSize()>0&&this.val().length>=this.getMaximumSelectionSize()&&this.updateResults(!0),this.positionDropdown()):(this.close(),this.search.width(10)),this.triggerChange({added:a}),b&&b.noFocus||this.focusSearch())},cancel:function(){this.close(),this.focusSearch()},addSelectedChoice:function(c){var j,k,d=!c.locked,e=a("<li class='select2-search-choice'> <div></div> <a href='#' onclick='return false;' class='select2-search-choice-close' tabindex='-1'></a></li>"),f=a("<li class='select2-search-choice select2-locked'><div></div></li>"),g=d?e:f,h=this.id(c),i=this.getVal();j=this.opts.formatSelection(c,g.find("div"),this.opts.escapeMarkup),j!=b&&g.find("div").replaceWith("<div>"+j+"</div>"),k=this.opts.formatSelectionCssClass(c,g.find("div")),k!=b&&g.addClass(k),d&&g.find(".select2-search-choice-close").on("mousedown",A).on("click dblclick",this.bind(function(b){this.isInterfaceEnabled()&&(a(b.target).closest(".select2-search-choice").fadeOut("fast",this.bind(function(){this.unselect(a(b.target)),this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus"),this.close(),this.focusSearch()})).dequeue(),A(b))})).on("focus",this.bind(function(){this.isInterfaceEnabled()&&(this.container.addClass("select2-container-active"),this.dropdown.addClass("select2-drop-active"))})),g.data("select2-data",c),g.insertBefore(this.searchContainer),i.push(h),this.setVal(i)},unselect:function(a){var c,d,b=this.getVal();if(a=a.closest(".select2-search-choice"),0===a.length)throw"Invalid argument: "+a+". Must be .select2-search-choice";c=a.data("select2-data"),c&&(d=o(this.id(c),b),d>=0&&(b.splice(d,1),this.setVal(b),this.select&&this.postprocessResults()),a.remove(),this.opts.element.trigger({type:"removed",val:this.id(c),choice:c}),this.triggerChange({removed:c}))},postprocessResults:function(a,b,c){var d=this.getVal(),e=this.results.find(".select2-result"),f=this.results.find(".select2-result-with-children"),g=this;e.each2(function(a,b){var c=g.id(b.data("select2-data"));o(c,d)>=0&&(b.addClass("select2-selected"),b.find(".select2-result-selectable").addClass("select2-selected"))}),f.each2(function(a,b){b.is(".select2-result-selectable")||0!==b.find(".select2-result-selectable:not(.select2-selected)").length||b.addClass("select2-selected")}),-1==this.highlight()&&c!==!1&&g.highlight(0),!this.opts.createSearchChoice&&!e.filter(".select2-result:not(.select2-selected)").length>0&&(!a||a&&!a.more&&0===this.results.find(".select2-no-results").length)&&J(g.opts.formatNoMatches,"formatNoMatches")&&this.results.append("<li class='select2-no-results'>"+g.opts.formatNoMatches(g.search.val())+"</li>")},getMaxSearchWidth:function(){return this.selection.width()-s(this.search)},resizeSearch:function(){var a,b,c,d,e,f=s(this.search);a=C(this.search)+10,b=this.search.offset().left,c=this.selection.width(),d=this.selection.offset().left,e=c-(b-d)-f,a>e&&(e=c-f),40>e&&(e=c-f),0>=e&&(e=a),this.search.width(e)},getVal:function(){var a;return this.select?(a=this.select.val(),null===a?[]:a):(a=this.opts.element.val(),r(a,this.opts.separator))},setVal:function(b){var c;this.select?this.select.val(b):(c=[],a(b).each(function(){o(this,c)<0&&c.push(this)}),this.opts.element.val(0===c.length?"":c.join(this.opts.separator)))},buildChangeDetails:function(a,b){for(var b=b.slice(0),a=a.slice(0),c=0;c<b.length;c++)for(var d=0;d<a.length;d++)q(this.opts.id(b[c]),this.opts.id(a[d]))&&(b.splice(c,1),c--,a.splice(d,1),d--);return{added:b,removed:a}},val:function(c,d){var e,f=this;if(0===arguments.length)return this.getVal();if(e=this.data(),e.length||(e=[]),!c&&0!==c)return this.opts.element.val(""),this.updateSelection([]),this.clearSearch(),d&&this.triggerChange({added:this.data(),removed:e}),void 0;if(this.setVal(c),this.select)this.opts.initSelection(this.select,this.bind(this.updateSelection)),d&&this.triggerChange(this.buildChangeDetails(e,this.data()));else{if(this.opts.initSelection===b)throw new Error("val() cannot be called if initSelection() is not defined");this.opts.initSelection(this.opts.element,function(b){var c=a.map(b,f.id);f.setVal(c),f.updateSelection(b),f.clearSearch(),d&&f.triggerChange(f.buildChangeDetails(e,this.data()))})}this.clearSearch()},onSortStart:function(){if(this.select)throw new Error("Sorting of elements is not supported when attached to <select>. Attach to <input type='hidden'/> instead.");this.search.width(0),this.searchContainer.hide()},onSortEnd:function(){var b=[],c=this;this.searchContainer.show(),this.searchContainer.appendTo(this.searchContainer.parent()),this.resizeSearch(),this.selection.find(".select2-search-choice").each(function(){b.push(c.opts.id(a(this).data("select2-data")))}),this.setVal(b),this.triggerChange()},data:function(b,c){var e,f,d=this;return 0===arguments.length?this.selection.find(".select2-search-choice").map(function(){return a(this).data("select2-data")}).get():(f=this.data(),b||(b=[]),e=a.map(b,function(a){return d.opts.id(a)}),this.setVal(e),this.updateSelection(b),this.clearSearch(),c&&this.triggerChange(this.buildChangeDetails(f,this.data())),void 0)}}),a.fn.select2=function(){var d,g,h,i,j,c=Array.prototype.slice.call(arguments,0),k=["val","destroy","opened","open","close","focus","isFocused","container","dropdown","onSortStart","onSortEnd","enable","disable","readonly","positionDropdown","data","search"],l=["opened","isFocused","container","dropdown"],m=["val","data"],n={search:"externalSearch"};return this.each(function(){if(0===c.length||"object"==typeof c[0])d=0===c.length?{}:a.extend({},c[0]),d.element=a(this),"select"===d.element.get(0).tagName.toLowerCase()?j=d.element.prop("multiple"):(j=d.multiple||!1,"tags"in d&&(d.multiple=j=!0)),g=j?new f:new e,g.init(d);else{if("string"!=typeof c[0])throw"Invalid arguments to select2 plugin: "+c;if(o(c[0],k)<0)throw"Unknown method: "+c[0];if(i=b,g=a(this).data("select2"),g===b)return;if(h=c[0],"container"===h?i=g.container:"dropdown"===h?i=g.dropdown:(n[h]&&(h=n[h]),i=g[h].apply(g,c.slice(1))),o(c[0],l)>=0||o(c[0],m)&&1==c.length)return!1}}),i===b?this:i},a.fn.select2.defaults={width:"copy",loadMorePadding:0,closeOnSelect:!0,openOnEnter:!0,containerCss:{},dropdownCss:{},containerCssClass:"",dropdownCssClass:"",formatResult:function(a,b,c,d){var e=[];return E(a.text,c.term,e,d),e.join("")},formatSelection:function(a,c,d){return a?d(a.text):b},sortResults:function(a){return a},formatResultCssClass:function(){return b},formatSelectionCssClass:function(){return b},formatNoMatches:function(){return"No matches found"},formatInputTooShort:function(a,b){var c=b-a.length;return"Please enter "+c+" more character"+(1==c?"":"s")},formatInputTooLong:function(a,b){var c=a.length-b;return"Please delete "+c+" character"+(1==c?"":"s")},formatSelectionTooBig:function(a){return"You can only select "+a+" item"+(1==a?"":"s")},formatLoadMore:function(){return"Loading more results..."},formatSearching:function(){return"Searching..."},minimumResultsForSearch:0,minimumInputLength:0,maximumInputLength:null,maximumSelectionSize:0,id:function(a){return a.id},matcher:function(a,b){return n(""+b).toUpperCase().indexOf(n(""+a).toUpperCase())>=0},separator:",",tokenSeparators:[],tokenizer:M,escapeMarkup:F,blurOnChange:!1,selectOnBlur:!1,adaptContainerCssClass:function(a){return a},adaptDropdownCssClass:function(){return null},nextSearchTerm:function(){return b}},a.fn.select2.ajaxDefaults={transport:a.ajax,params:{type:"GET",cache:!1,dataType:"json"}},window.Select2={query:{ajax:G,local:H,tags:I},util:{debounce:v,markMatch:E,escapeMarkup:F,stripDiacritics:n},"class":{"abstract":d,single:e,multi:f}}}}(jQuery);
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/js/typeahead-bs2.min.js b/src/main/webapp/static/login/assets/js/typeahead-bs2.min.js new file mode 100644 index 0000000..8f2d224 --- /dev/null +++ b/src/main/webapp/static/login/assets/js/typeahead-bs2.min.js @@ -0,0 +1,335 @@ +/* =============================================================
+ * bootstrap-typeahead.js v2.3.2
+ * http://twitter.github.com/bootstrap/javascript.html#typeahead
+ * =============================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * 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.
+ * ============================================================ */
+
+
+!function($){
+
+ "use strict"; // jshint ;_;
+
+
+ /* TYPEAHEAD PUBLIC CLASS DEFINITION
+ * ================================= */
+
+ var Typeahead = function (element, options) {
+ this.$element = $(element)
+ this.options = $.extend({}, $.fn.typeahead.defaults, options)
+ this.matcher = this.options.matcher || this.matcher
+ this.sorter = this.options.sorter || this.sorter
+ this.highlighter = this.options.highlighter || this.highlighter
+ this.updater = this.options.updater || this.updater
+ this.source = this.options.source
+ this.$menu = $(this.options.menu)
+ this.shown = false
+ this.listen()
+ }
+
+ Typeahead.prototype = {
+
+ constructor: Typeahead
+
+ , select: function () {
+ var val = this.$menu.find('.active').attr('data-value')
+ this.$element
+ .val(this.updater(val))
+ .change()
+ return this.hide()
+ }
+
+ , updater: function (item) {
+ return item
+ }
+
+ , show: function () {
+ var pos = $.extend({}, this.$element.position(), {
+ height: this.$element[0].offsetHeight
+ })
+
+ this.$menu
+ .insertAfter(this.$element)
+ .css({
+ top: pos.top + pos.height
+ , left: pos.left
+ })
+ .show()
+
+ this.shown = true
+ return this
+ }
+
+ , hide: function () {
+ this.$menu.hide()
+ this.shown = false
+ return this
+ }
+
+ , lookup: function (event) {
+ var items
+
+ this.query = this.$element.val()
+
+ if (!this.query || this.query.length < this.options.minLength) {
+ return this.shown ? this.hide() : this
+ }
+
+ items = $.isFunction(this.source) ? this.source(this.query, $.proxy(this.process, this)) : this.source
+
+ return items ? this.process(items) : this
+ }
+
+ , process: function (items) {
+ var that = this
+
+ items = $.grep(items, function (item) {
+ return that.matcher(item)
+ })
+
+ items = this.sorter(items)
+
+ if (!items.length) {
+ return this.shown ? this.hide() : this
+ }
+
+ return this.render(items.slice(0, this.options.items)).show()
+ }
+
+ , matcher: function (item) {
+ return ~item.toLowerCase().indexOf(this.query.toLowerCase())
+ }
+
+ , sorter: function (items) {
+ var beginswith = []
+ , caseSensitive = []
+ , caseInsensitive = []
+ , item
+
+ while (item = items.shift()) {
+ if (!item.toLowerCase().indexOf(this.query.toLowerCase())) beginswith.push(item)
+ else if (~item.indexOf(this.query)) caseSensitive.push(item)
+ else caseInsensitive.push(item)
+ }
+
+ return beginswith.concat(caseSensitive, caseInsensitive)
+ }
+
+ , highlighter: function (item) {
+ var query = this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, '\\$&')
+ return item.replace(new RegExp('(' + query + ')', 'ig'), function ($1, match) {
+ return '<strong>' + match + '</strong>'
+ })
+ }
+
+ , render: function (items) {
+ var that = this
+
+ items = $(items).map(function (i, item) {
+ i = $(that.options.item).attr('data-value', item)
+ i.find('a').html(that.highlighter(item))
+ return i[0]
+ })
+
+ items.first().addClass('active')
+ this.$menu.html(items)
+ return this
+ }
+
+ , next: function (event) {
+ var active = this.$menu.find('.active').removeClass('active')
+ , next = active.next()
+
+ if (!next.length) {
+ next = $(this.$menu.find('li')[0])
+ }
+
+ next.addClass('active')
+ }
+
+ , prev: function (event) {
+ var active = this.$menu.find('.active').removeClass('active')
+ , prev = active.prev()
+
+ if (!prev.length) {
+ prev = this.$menu.find('li').last()
+ }
+
+ prev.addClass('active')
+ }
+
+ , listen: function () {
+ this.$element
+ .on('focus', $.proxy(this.focus, this))
+ .on('blur', $.proxy(this.blur, this))
+ .on('keypress', $.proxy(this.keypress, this))
+ .on('keyup', $.proxy(this.keyup, this))
+
+ if (this.eventSupported('keydown')) {
+ this.$element.on('keydown', $.proxy(this.keydown, this))
+ }
+
+ this.$menu
+ .on('click', $.proxy(this.click, this))
+ .on('mouseenter', 'li', $.proxy(this.mouseenter, this))
+ .on('mouseleave', 'li', $.proxy(this.mouseleave, this))
+ }
+
+ , eventSupported: function(eventName) {
+ var isSupported = eventName in this.$element
+ if (!isSupported) {
+ this.$element.setAttribute(eventName, 'return;')
+ isSupported = typeof this.$element[eventName] === 'function'
+ }
+ return isSupported
+ }
+
+ , move: function (e) {
+ if (!this.shown) return
+
+ switch(e.keyCode) {
+ case 9: // tab
+ case 13: // enter
+ case 27: // escape
+ e.preventDefault()
+ break
+
+ case 38: // up arrow
+ e.preventDefault()
+ this.prev()
+ break
+
+ case 40: // down arrow
+ e.preventDefault()
+ this.next()
+ break
+ }
+
+ e.stopPropagation()
+ }
+
+ , keydown: function (e) {
+ this.suppressKeyPressRepeat = ~$.inArray(e.keyCode, [40,38,9,13,27])
+ this.move(e)
+ }
+
+ , keypress: function (e) {
+ if (this.suppressKeyPressRepeat) return
+ this.move(e)
+ }
+
+ , keyup: function (e) {
+ switch(e.keyCode) {
+ case 40: // down arrow
+ case 38: // up arrow
+ case 16: // shift
+ case 17: // ctrl
+ case 18: // alt
+ break
+
+ case 9: // tab
+ case 13: // enter
+ if (!this.shown) return
+ this.select()
+ break
+
+ case 27: // escape
+ if (!this.shown) return
+ this.hide()
+ break
+
+ default:
+ this.lookup()
+ }
+
+ e.stopPropagation()
+ e.preventDefault()
+ }
+
+ , focus: function (e) {
+ this.focused = true
+ }
+
+ , blur: function (e) {
+ this.focused = false
+ if (!this.mousedover && this.shown) this.hide()
+ }
+
+ , click: function (e) {
+ e.stopPropagation()
+ e.preventDefault()
+ this.select()
+ this.$element.focus()
+ }
+
+ , mouseenter: function (e) {
+ this.mousedover = true
+ this.$menu.find('.active').removeClass('active')
+ $(e.currentTarget).addClass('active')
+ }
+
+ , mouseleave: function (e) {
+ this.mousedover = false
+ if (!this.focused && this.shown) this.hide()
+ }
+
+ }
+
+
+ /* TYPEAHEAD PLUGIN DEFINITION
+ * =========================== */
+
+ var old = $.fn.typeahead
+
+ $.fn.typeahead = function (option) {
+ return this.each(function () {
+ var $this = $(this)
+ , data = $this.data('typeahead')
+ , options = typeof option == 'object' && option
+ if (!data) $this.data('typeahead', (data = new Typeahead(this, options)))
+ if (typeof option == 'string') data[option]()
+ })
+ }
+
+ $.fn.typeahead.defaults = {
+ source: []
+ , items: 8
+ , menu: '<ul class="typeahead dropdown-menu"></ul>'
+ , item: '<li><a href="#"></a></li>'
+ , minLength: 1
+ }
+
+ $.fn.typeahead.Constructor = Typeahead
+
+
+ /* TYPEAHEAD NO CONFLICT
+ * =================== */
+
+ $.fn.typeahead.noConflict = function () {
+ $.fn.typeahead = old
+ return this
+ }
+
+
+ /* TYPEAHEAD DATA-API
+ * ================== */
+
+ $(document).on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) {
+ var $this = $(this)
+ if ($this.data('typeahead')) return
+ $this.typeahead($this.data())
+ })
+
+}(window.jQuery);
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/js/x-editable/ace-editable.min.js b/src/main/webapp/static/login/assets/js/x-editable/ace-editable.min.js new file mode 100644 index 0000000..51edfba --- /dev/null +++ b/src/main/webapp/static/login/assets/js/x-editable/ace-editable.min.js @@ -0,0 +1 @@ +(function(b){var a=function(c){this.init("image",c,a.defaults);if("on_error" in c.image){this.on_error=c.image.on_error;delete c.image.on_error}if("on_success" in c.image){this.on_success=c.image.on_success;delete c.image.on_success}if("max_size" in c.image){this.max_size=c.image.max_size;delete c.image.max_size}this.initImage(c,a.defaults)};b.fn.editableutils.inherit(a,b.fn.editabletypes.abstractinput);b.extend(a.prototype,{initImage:function(c,d){this.options.image=b.extend({},d.image,c.image);this.name=this.options.image.name||"editable-image-input"},render:function(){var c=this;this.$input=this.$tpl.find("input[type=hidden]:eq(0)");this.$file=this.$tpl.find("input[type=file]:eq(0)");this.$file.attr({name:this.name});this.$input.attr({name:this.name+"-hidden"});this.options.image.before_change=this.options.image.before_change||function(f,g){var d=f[0];if(typeof d==="string"){if(!(/\.(jpe?g|png|gif)$/i).test(d)){if(c.on_error){c.on_error(1)}return false}}else{var e=b.trim(d.type);if((e.length>0&&!(/^image\/(jpe?g|png|gif)$/i).test(e))||(e.length==0&&!(/\.(jpe?g|png|gif)$/i).test(d.name))){if(c.on_error){c.on_error(1)}return false}if(c.max_size&&d.size>c.max_size){if(c.on_error){c.on_error(2)}return false}}if(c.on_success){c.on_success()}return true};this.options.image.before_remove=this.options.image.before_remove||function(){c.$input.val(null);return true};this.$file.ace_file_input(this.options.image).on("change",function(){var d=(c.$file.val()||c.$file.data("ace_input_files"))?Math.random()+""+(new Date()).getTime():null;c.$input.val(d)}).closest(".ace-file-input").css({width:"150px"}).closest(".editable-input").addClass("editable-image")}});a.defaults=b.extend({},b.fn.editabletypes.abstractinput.defaults,{tpl:'<span><input type="hidden" /></span><span><input type="file" /></span>',inputclass:"",image:{style:"well",btn_choose:"Change Image",btn_change:null,no_icon:"icon-picture",thumbnail:"large"}});b.fn.editabletypes.image=a}(window.jQuery));(function(a){var b=function(c){this.init("wysiwyg",c,b.defaults);this.options.wysiwyg=a.extend({},b.defaults.wysiwyg,c.wysiwyg)};a.fn.editableutils.inherit(b,a.fn.editabletypes.abstractinput);a.extend(b.prototype,{render:function(){this.$editor=this.$input.nextAll(".wysiwyg-editor:eq(0)");this.$tpl.parent().find(".wysiwyg-editor").show().ace_wysiwyg({toolbar:["bold","italic","strikethrough","underline",null,"foreColor",null,"insertImage"]}).prev().addClass("wysiwyg-style2").closest(".editable-input").addClass("editable-wysiwyg").closest(".editable-container").css({display:"block"});if(this.options.wysiwyg&&this.options.wysiwyg.css){this.$tpl.closest(".editable-wysiwyg").css(this.options.wysiwyg.css)}},value2html:function(d,c){a(c).html(d);return false},html2value:function(c){return c},value2input:function(c){this.$editor.html(c)},input2value:function(){return this.$editor.html()},activate:function(){}});b.defaults=a.extend({},a.fn.editabletypes.abstractinput.defaults,{tpl:'<input type="hidden" /><div class="wysiwyg-editor"></div>',inputclass:"editable-wysiwyg",wysiwyg:{}});a.fn.editabletypes.wysiwyg=b}(window.jQuery));(function(b){var a=function(c){this.init("spinner",c,a.defaults);this.initSpinner(c,a.defaults)};b.fn.editableutils.inherit(a,b.fn.editabletypes.abstractinput);b.extend(a.prototype,{initSpinner:function(c,d){this.options.spinner=b.extend({},d.spinner,c.spinner)},render:function(){},activate:function(){if(this.$input.is(":visible")){this.$input.focus();b.fn.editableutils.setCursorPosition(this.$input.get(0),this.$input.val().length);var d=parseInt(this.$input.val());var c=b.extend({value:d},this.options.spinner);this.$input.ace_spinner(c)}},autosubmit:function(){this.$input.keydown(function(c){if(c.which===13){b(this).closest("form").submit()}})}});a.defaults=b.extend({},b.fn.editabletypes.abstractinput.defaults,{tpl:'<input type="text" />',inputclass:"",spinner:{min:0,max:100,step:1,icon_up:"icon-plus",icon_down:"icon-minus",btn_up_class:"btn-success",btn_down_class:"btn-danger"}});b.fn.editabletypes.spinner=a}(window.jQuery));(function(b){var a=function(c){this.init("slider",c,a.defaults);this.initSlider(c,a.defaults)};b.fn.editableutils.inherit(a,b.fn.editabletypes.abstractinput);b.extend(a.prototype,{initSlider:function(c,d){this.options.slider=b.extend({},d.slider,c.slider)},render:function(){},activate:function(){if(this.$input.is(":visible")){this.$input.focus();b.fn.editableutils.setCursorPosition(this.$input.get(0),this.$input.val().length);var c=this;var f=parseInt(this.$input.val());var e=this.options.slider.width||200;var d=b.extend(this.options.slider,{value:f,slide:function(g,h){var i=parseInt(h.value);c.$input.val(i);if(h.handle.firstChild==null){b(h.handle).append("<div class='tooltip top in' style='display:none;top:-38px;left:-5px;'><div class='tooltip-arrow'></div><div class='tooltip-inner'></div></div>")}b(h.handle.firstChild).show().children().eq(1).text(i)}});this.$input.parent().addClass("editable-slider").css("width",e+"px").slider(d)}},value2html:function(d,c){},autosubmit:function(){this.$input.keydown(function(c){if(c.which===13){b(this).closest("form").submit()}})}});a.defaults=b.extend({},b.fn.editabletypes.abstractinput.defaults,{tpl:'<input type="text" /><span class="inline ui-slider-green"><span class="slider-display"></span></span>',inputclass:"",slider:{min:1,max:100,step:1,range:"min"}});b.fn.editabletypes.slider=a}(window.jQuery));
\ No newline at end of file diff --git a/src/main/webapp/static/login/assets/js/x-editable/bootstrap-editable.min.js b/src/main/webapp/static/login/assets/js/x-editable/bootstrap-editable.min.js new file mode 100644 index 0000000..05f1564 --- /dev/null +++ b/src/main/webapp/static/login/assets/js/x-editable/bootstrap-editable.min.js @@ -0,0 +1,5 @@ +/*! X-editable - v1.4.6 +* In-place editing with Twitter Bootstrap, jQuery UI or pure jQuery +* http://github.com/vitalets/x-editable +* Copyright (c) 2013 Vitaliy Potapov; Licensed MIT */ +(function(b){var a=function(d,c){this.options=b.extend({},b.fn.editableform.defaults,c);this.$div=b(d);if(!this.options.scope){this.options.scope=this}};a.prototype={constructor:a,initInput:function(){this.input=this.options.input;this.value=this.input.str2value(this.options.value)},initTemplate:function(){this.$form=b(b.fn.editableform.template)},initButtons:function(){var c=this.$form.find(".editable-buttons");c.append(b.fn.editableform.buttons);if(this.options.showbuttons==="bottom"){c.addClass("editable-buttons-bottom")}},render:function(){this.$loading=b(b.fn.editableform.loading);this.$div.empty().append(this.$loading);this.initTemplate();if(this.options.showbuttons){this.initButtons()}else{this.$form.find(".editable-buttons").remove()}this.showLoading();this.isSaving=false;this.$div.triggerHandler("rendering");this.initInput();this.input.prerender();this.$form.find("div.editable-input").append(this.input.$tpl);this.$div.append(this.$form);b.when(this.input.render()).then(b.proxy(function(){if(!this.options.showbuttons){this.input.autosubmit()}this.$form.find(".editable-cancel").click(b.proxy(this.cancel,this));if(this.input.error){this.error(this.input.error);this.$form.find(".editable-submit").attr("disabled",true);this.input.$input.attr("disabled",true);this.$form.submit(function(d){d.preventDefault()})}else{this.error(false);this.input.$input.removeAttr("disabled");this.$form.find(".editable-submit").removeAttr("disabled");var c=(this.value===null||this.value===undefined||this.value==="")?this.options.defaultValue:this.value;this.input.value2input(c);this.$form.submit(b.proxy(this.submit,this))}this.$div.triggerHandler("rendered");this.showForm();if(this.input.postrender){this.input.postrender()}},this))},cancel:function(){this.$div.triggerHandler("cancel")},showLoading:function(){var c,d;if(this.$form){c=this.$form.outerWidth();d=this.$form.outerHeight();if(c){this.$loading.width(c)}if(d){this.$loading.height(d)}this.$form.hide()}else{c=this.$loading.parent().width();if(c){this.$loading.width(c)}}this.$loading.show()},showForm:function(c){this.$loading.hide();this.$form.show();if(c!==false){this.input.activate()}this.$div.triggerHandler("show")},error:function(g){var e=this.$form.find(".control-group"),f=this.$form.find(".editable-error-block"),c;if(g===false){e.removeClass(b.fn.editableform.errorGroupClass);f.removeClass(b.fn.editableform.errorBlockClass).empty().hide()}else{if(g){c=g.split("\n");for(var d=0;d<c.length;d++){c[d]=b("<div>").text(c[d]).html()}g=c.join("<br>")}e.addClass(b.fn.editableform.errorGroupClass);f.addClass(b.fn.editableform.errorBlockClass).html(g).show()}},submit:function(g){g.stopPropagation();g.preventDefault();var c,f=this.input.input2value();if(c=this.validate(f)){this.error(c);this.showForm();return}if(!this.options.savenochange&&this.input.value2str(f)==this.input.value2str(this.value)){this.$div.triggerHandler("nochange");return}var d=this.input.value2submit(f);this.isSaving=true;b.when(this.save(d)).done(b.proxy(function(e){this.isSaving=false;var h=typeof this.options.success==="function"?this.options.success.call(this.options.scope,e,f):null;if(h===false){this.error(false);this.showForm(false);return}if(typeof h==="string"){this.error(h);this.showForm();return}if(h&&typeof h==="object"&&h.hasOwnProperty("newValue")){f=h.newValue}this.error(false);this.value=f;this.$div.triggerHandler("save",{newValue:f,submitValue:d,response:e})},this)).fail(b.proxy(function(h){this.isSaving=false;var e;if(typeof this.options.error==="function"){e=this.options.error.call(this.options.scope,h,f)}else{e=typeof h==="string"?h:h.responseText||h.statusText||"Unknown error!"}this.error(e);this.showForm()},this))},save:function(d){this.options.pk=b.fn.editableutils.tryParseJson(this.options.pk,true);var c=(typeof this.options.pk==="function")?this.options.pk.call(this.options.scope):this.options.pk,e=!!(typeof this.options.url==="function"||(this.options.url&&((this.options.send==="always")||(this.options.send==="auto"&&c!==null&&c!==undefined)))),f;if(e){this.showLoading();f={name:this.options.name||"",value:d,pk:c};if(typeof this.options.params==="function"){f=this.options.params.call(this.options.scope,f)}else{this.options.params=b.fn.editableutils.tryParseJson(this.options.params,true);b.extend(f,this.options.params)}if(typeof this.options.url==="function"){return this.options.url.call(this.options.scope,f)}else{return b.ajax(b.extend({url:this.options.url,data:f,type:"POST"},this.options.ajaxOptions))}}},validate:function(c){if(c===undefined){c=this.value}if(typeof this.options.validate==="function"){return this.options.validate.call(this.options.scope,c)}},option:function(c,d){if(c in this.options){this.options[c]=d}if(c==="value"){this.setValue(d)}},setValue:function(c,d){if(d){this.value=this.input.str2value(c)}else{this.value=c}if(this.$form&&this.$form.is(":visible")){this.input.value2input(this.value)}}};b.fn.editableform=function(d){var c=arguments;return this.each(function(){var g=b(this),f=g.data("editableform"),e=typeof d==="object"&&d;if(!f){g.data("editableform",(f=new a(this,e)))}if(typeof d==="string"){f[d].apply(f,Array.prototype.slice.call(c,1))}})};b.fn.editableform.Constructor=a;b.fn.editableform.defaults={type:"text",url:null,params:null,name:null,pk:null,value:null,defaultValue:null,send:"auto",validate:null,success:null,error:null,ajaxOptions:null,showbuttons:true,scope:null,savenochange:false};b.fn.editableform.template='<form class="form-inline editableform"><div class="control-group"><div><div class="editable-input"></div><div class="editable-buttons"></div></div><div class="editable-error-block"></div></div></form>';b.fn.editableform.loading='<div class="editableform-loading"></div>';b.fn.editableform.buttons='<button type="submit" class="editable-submit">ok</button><button type="button" class="editable-cancel">cancel</button>';b.fn.editableform.errorGroupClass=null;b.fn.editableform.errorBlockClass="editable-error"}(window.jQuery));(function(a){a.fn.editableutils={inherit:function(c,b){var d=function(){};d.prototype=b.prototype;c.prototype=new d();c.prototype.constructor=c;c.superclass=b.prototype},setCursorPosition:function(c,d){if(c.setSelectionRange){c.setSelectionRange(d,d)}else{if(c.createTextRange){var b=c.createTextRange();b.collapse(true);b.moveEnd("character",d);b.moveStart("character",d);b.select()}}},tryParseJson:function(b,c){if(typeof b==="string"&&b.length&&b.match(/^[\{\[].*[\}\]]$/)){if(c){try{b=(new Function("return "+b))()}catch(d){}finally{return b}}else{b=(new Function("return "+b))()}}return b},sliceObj:function(h,g,b){var f,e,c={};if(!a.isArray(g)||!g.length){return c}for(var d=0;d<g.length;d++){f=g[d];if(h.hasOwnProperty(f)){c[f]=h[f]}if(b===true){continue}e=f.toLowerCase();if(h.hasOwnProperty(e)){c[f]=h[e]}}return c},getConfigData:function(b){var c={};a.each(b.data(),function(e,d){if(typeof d!=="object"||(d&&typeof d==="object"&&(d.constructor===Object||d.constructor===Array))){c[e]=d}});return c},objectKeys:function(d){if(Object.keys){return Object.keys(d)}else{if(d!==Object(d)){throw new TypeError("Object.keys called on a non-object")}var b=[],c;for(c in d){if(Object.prototype.hasOwnProperty.call(d,c)){b.push(c)}}return b}},escape:function(b){return a("<div>").text(b).html()},itemsByValue:function(h,g,e){if(!g||h===null){return[]}if(typeof(e)!=="function"){var c=e||"value";e=function(i){return i[c]}}var d=a.isArray(h),b=[],f=this;a.each(g,function(j,l){if(l.children){b=b.concat(f.itemsByValue(h,l.children,e))}else{if(d){if(a.grep(h,function(i){return i==(l&&typeof l==="object"?e(l):l)}).length){b.push(l)}}else{var k=(l&&(typeof l==="object"))?e(l):l;if(h==k){b.push(l)}}}});return b},createInput:function(c){var e,f,b,d=c.type;if(d==="date"){if(c.mode==="inline"){if(a.fn.editabletypes.datefield){d="datefield"}else{if(a.fn.editabletypes.dateuifield){d="dateuifield"}}}else{if(a.fn.editabletypes.date){d="date"}else{if(a.fn.editabletypes.dateui){d="dateui"}}}if(d==="date"&&!a.fn.editabletypes.date){d="combodate"}}if(d==="datetime"&&c.mode==="inline"){d="datetimefield"}if(d==="wysihtml5"&&!a.fn.editabletypes[d]){d="textarea"}if(typeof a.fn.editabletypes[d]==="function"){e=a.fn.editabletypes[d];f=this.sliceObj(c,this.objectKeys(e.defaults));b=new e(f);return b}else{a.error("Unknown type: "+d);return false}},supportsTransitions:function(){var c=document.body||document.documentElement,f=c.style,g="transition",d=["Moz","Webkit","Khtml","O","ms"];if(typeof f[g]==="string"){return true}g=g.charAt(0).toUpperCase()+g.substr(1);for(var e=0;e<d.length;e++){if(typeof f[d[e]+g]==="string"){return true}}return false}}}(window.jQuery));(function(c){var b=function(e,d){this.init(e,d)};var a=function(e,d){this.init(e,d)};b.prototype={containerName:null,containerDataName:null,innerCss:null,containerClass:"editable-container editable-popup",init:function(e,d){this.$element=c(e);this.options=c.extend({},c.fn.editableContainer.defaults,d);this.splitOptions();this.formOptions.scope=this.$element[0];this.initContainer();this.delayedHide=false;this.$element.on("destroyed",c.proxy(function(){this.destroy()},this));if(!c(document).data("editable-handlers-attached")){c(document).on("keyup.editable",function(f){if(f.which===27){c(".editable-open").editableContainer("hide")}});c(document).on("click.editable",function(j){var f=c(j.target),g,h=[".editable-container",".ui-datepicker-header",".datepicker",".modal-backdrop",".bootstrap-wysihtml5-insert-image-modal",".bootstrap-wysihtml5-insert-link-modal"];if(!c.contains(document.documentElement,j.target)){return}if(f.is(document)){return}for(g=0;g<h.length;g++){if(f.is(h[g])||f.parents(h[g]).length){return}}b.prototype.closeOthers(j.target)});c(document).data("editable-handlers-attached",true)}},splitOptions:function(){this.containerOptions={};this.formOptions={};if(!c.fn[this.containerName]){throw new Error(this.containerName+" not found. Have you included corresponding js file?")}var e=c.fn[this.containerName].defaults;for(var d in this.options){if(d in e){this.containerOptions[d]=this.options[d]}else{this.formOptions[d]=this.options[d]}}},tip:function(){return this.container()?this.container().$tip:null},container:function(){var d;if(this.containerDataName){if(d=this.$element.data(this.containerDataName)){return d}}d=this.$element.data(this.containerName);return d},call:function(){this.$element[this.containerName].apply(this.$element,arguments)},initContainer:function(){this.call(this.containerOptions)},renderForm:function(){this.$form.editableform(this.formOptions).on({save:c.proxy(this.save,this),nochange:c.proxy(function(){this.hide("nochange")},this),cancel:c.proxy(function(){this.hide("cancel")},this),show:c.proxy(function(){if(this.delayedHide){this.hide(this.delayedHide.reason);this.delayedHide=false}else{this.setPosition()}},this),rendering:c.proxy(this.setPosition,this),resize:c.proxy(this.setPosition,this),rendered:c.proxy(function(){this.$element.triggerHandler("shown",c(this.options.scope).data("editable"))},this)}).editableform("render")},show:function(d){this.$element.addClass("editable-open");if(d!==false){this.closeOthers(this.$element[0])}this.innerShow();this.tip().addClass(this.containerClass);if(this.$form){}this.$form=c("<div>");if(this.tip().is(this.innerCss)){this.tip().append(this.$form)}else{this.tip().find(this.innerCss).append(this.$form)}this.renderForm()},hide:function(d){if(!this.tip()||!this.tip().is(":visible")||!this.$element.hasClass("editable-open")){return}if(this.$form.data("editableform").isSaving){this.delayedHide={reason:d};return}else{this.delayedHide=false}this.$element.removeClass("editable-open");this.innerHide();this.$element.triggerHandler("hidden",d||"manual")},innerShow:function(){},innerHide:function(){},toggle:function(d){if(this.container()&&this.tip()&&this.tip().is(":visible")){this.hide()}else{this.show(d)}},setPosition:function(){},save:function(d,f){this.$element.triggerHandler("save",f);this.hide("save")},option:function(d,e){this.options[d]=e;if(d in this.containerOptions){this.containerOptions[d]=e;this.setContainerOption(d,e)}else{this.formOptions[d]=e;if(this.$form){this.$form.editableform("option",d,e)}}},setContainerOption:function(d,e){this.call("option",d,e)},destroy:function(){this.hide();this.innerDestroy();this.$element.off("destroyed");this.$element.removeData("editableContainer")},innerDestroy:function(){},closeOthers:function(d){c(".editable-open").each(function(g,h){if(h===d||c(h).find(d).length){return}var f=c(h),e=f.data("editableContainer");if(!e){return}if(e.options.onblur==="cancel"){f.data("editableContainer").hide("onblur")}else{if(e.options.onblur==="submit"){f.data("editableContainer").tip().find("form").submit()}}})},activate:function(){if(this.tip&&this.tip().is(":visible")&&this.$form){this.$form.data("editableform").input.activate()}}};c.fn.editableContainer=function(e){var d=arguments;return this.each(function(){var h=c(this),j="editableContainer",g=h.data(j),f=typeof e==="object"&&e,i=(f.mode==="inline")?a:b;if(!g){h.data(j,(g=new i(this,f)))}if(typeof e==="string"){g[e].apply(g,Array.prototype.slice.call(d,1))}})};c.fn.editableContainer.Popup=b;c.fn.editableContainer.Inline=a;c.fn.editableContainer.defaults={value:null,placement:"top",autohide:true,onblur:"cancel",anim:false,mode:"popup"};jQuery.event.special.destroyed={remove:function(d){if(d.handler){d.handler()}}}}(window.jQuery));(function(a){a.extend(a.fn.editableContainer.Inline.prototype,a.fn.editableContainer.Popup.prototype,{containerName:"editableform",innerCss:".editable-inline",containerClass:"editable-container editable-inline",initContainer:function(){this.$tip=a("<span></span>");if(!this.options.anim){this.options.anim=0}},splitOptions:function(){this.containerOptions={};this.formOptions=this.options},tip:function(){return this.$tip},innerShow:function(){this.$element.hide();this.tip().insertAfter(this.$element).show()},innerHide:function(){this.$tip.hide(this.options.anim,a.proxy(function(){this.$element.show();this.innerDestroy()},this))},innerDestroy:function(){if(this.tip()){this.tip().empty().remove()}}})}(window.jQuery));(function(b){var a=function(d,c){this.$element=b(d);this.options=b.extend({},b.fn.editable.defaults,c,b.fn.editableutils.getConfigData(this.$element));if(this.options.selector){this.initLive()}else{this.init()}if(this.options.highlight&&!b.fn.editableutils.supportsTransitions()){this.options.highlight=false}};a.prototype={constructor:a,init:function(){var c=false,d,e;this.options.name=this.options.name||this.$element.attr("id");this.options.scope=this.$element[0];this.input=b.fn.editableutils.createInput(this.options);if(!this.input){return}if(this.options.value===undefined||this.options.value===null){this.value=this.input.html2value(b.trim(this.$element.html()));c=true}else{this.options.value=b.fn.editableutils.tryParseJson(this.options.value,true);if(typeof this.options.value==="string"){this.value=this.input.str2value(this.options.value)}else{this.value=this.options.value}}this.$element.addClass("editable");if(this.input.type==="textarea"){this.$element.addClass("editable-pre-wrapped")}if(this.options.toggle!=="manual"){this.$element.addClass("editable-click");this.$element.on(this.options.toggle+".editable",b.proxy(function(g){if(!this.options.disabled){g.preventDefault()}if(this.options.toggle==="mouseenter"){this.show()}else{var f=(this.options.toggle!=="click");this.toggle(f)}},this))}else{this.$element.attr("tabindex",-1)}if(typeof this.options.display==="function"){this.options.autotext="always"}switch(this.options.autotext){case"always":d=true;break;case"auto":d=!b.trim(this.$element.text()).length&&this.value!==null&&this.value!==undefined&&!c;break;default:d=false}b.when(d?this.render():true).then(b.proxy(function(){if(this.options.disabled){this.disable()}else{this.enable()}this.$element.triggerHandler("init",this)},this))},initLive:function(){var c=this.options.selector;this.options.selector=false;this.options.autotext="never";this.$element.on(this.options.toggle+".editable",c,b.proxy(function(f){var d=b(f.target);if(!d.data("editable")){if(d.hasClass(this.options.emptyclass)){d.empty()}d.editable(this.options).trigger(f)}},this))},render:function(c){if(this.options.display===false){return}if(this.input.value2htmlFinal){return this.input.value2html(this.value,this.$element[0],this.options.display,c)}else{if(typeof this.options.display==="function"){return this.options.display.call(this.$element[0],this.value,c)}else{return this.input.value2html(this.value,this.$element[0])}}},enable:function(){this.options.disabled=false;this.$element.removeClass("editable-disabled");this.handleEmpty(this.isEmpty);if(this.options.toggle!=="manual"){if(this.$element.attr("tabindex")==="-1"){this.$element.removeAttr("tabindex")}}},disable:function(){this.options.disabled=true;this.hide();this.$element.addClass("editable-disabled");this.handleEmpty(this.isEmpty);this.$element.attr("tabindex",-1)},toggleDisabled:function(){if(this.options.disabled){this.enable()}else{this.disable()}},option:function(c,d){if(c&&typeof c==="object"){b.each(c,b.proxy(function(f,e){this.option(b.trim(f),e)},this));return}this.options[c]=d;if(c==="disabled"){return d?this.disable():this.enable()}if(c==="value"){this.setValue(d)}if(this.container){this.container.option(c,d)}if(this.input.option){this.input.option(c,d)}},handleEmpty:function(c){if(this.options.display===false){return}if(c!==undefined){this.isEmpty=c}else{if(b.trim(this.$element.html())===""){this.isEmpty=true}else{if(b.trim(this.$element.text())!==""){this.isEmpty=false}else{this.isEmpty=!this.$element.height()||!this.$element.width()}}}if(!this.options.disabled){if(this.isEmpty){this.$element.html(this.options.emptytext);if(this.options.emptyclass){this.$element.addClass(this.options.emptyclass)}}else{if(this.options.emptyclass){this.$element.removeClass(this.options.emptyclass)}}}else{if(this.isEmpty){this.$element.empty();if(this.options.emptyclass){this.$element.removeClass(this.options.emptyclass)}}}},show:function(c){if(this.options.disabled){return}if(!this.container){var d=b.extend({},this.options,{value:this.value,input:this.input});this.$element.editableContainer(d);this.$element.on("save.internal",b.proxy(this.save,this));this.container=this.$element.data("editableContainer")}else{if(this.container.tip().is(":visible")){return}}this.container.show(c)},hide:function(){if(this.container){this.container.hide()}},toggle:function(c){if(this.container&&this.container.tip().is(":visible")){this.hide()}else{this.show(c)}},save:function(g,h){if(this.options.unsavedclass){var d=false;d=d||typeof this.options.url==="function";d=d||this.options.display===false;d=d||h.response!==undefined;d=d||(this.options.savenochange&&this.input.value2str(this.value)!==this.input.value2str(h.newValue));if(d){this.$element.removeClass(this.options.unsavedclass)}else{this.$element.addClass(this.options.unsavedclass)}}if(this.options.highlight){var c=this.$element,f=c.css("background-color");c.css("background-color",this.options.highlight);setTimeout(function(){if(f==="transparent"){f=""}c.css("background-color",f);c.addClass("editable-bg-transition");setTimeout(function(){c.removeClass("editable-bg-transition")},1700)},10)}this.setValue(h.newValue,false,h.response)},validate:function(){if(typeof this.options.validate==="function"){return this.options.validate.call(this,this.value)}},setValue:function(d,e,c){if(e){this.value=this.input.str2value(d)}else{this.value=d}if(this.container){this.container.option("value",this.value)}b.when(this.render(c)).then(b.proxy(function(){this.handleEmpty()},this))},activate:function(){if(this.container){this.container.activate()}},destroy:function(){this.disable();if(this.container){this.container.destroy()}this.input.destroy();if(this.options.toggle!=="manual"){this.$element.removeClass("editable-click");this.$element.off(this.options.toggle+".editable")}this.$element.off("save.internal");this.$element.removeClass("editable editable-open editable-disabled");this.$element.removeData("editable")}};b.fn.editable=function(h){var c={},g=arguments,e="editable";switch(h){case"validate":this.each(function(){var m=b(this),l=m.data(e),k;if(l&&(k=l.validate())){c[l.options.name]=k}});return c;case"getValue":if(arguments.length===2&&arguments[1]===true){c=this.eq(0).data(e).value}else{this.each(function(){var l=b(this),k=l.data(e);if(k&&k.value!==undefined&&k.value!==null){c[k.options.name]=k.input.value2submit(k.value)}})}return c;case"submit":var f=arguments[1]||{},j=this,i=this.editable("validate"),d;if(b.isEmptyObject(i)){d=this.editable("getValue");if(f.data){b.extend(d,f.data)}b.ajax(b.extend({url:f.url,data:d,type:"POST"},f.ajaxOptions)).success(function(k){if(typeof f.success==="function"){f.success.call(j,k,f)}}).error(function(){if(typeof f.error==="function"){f.error.apply(j,arguments)}})}else{if(typeof f.error==="function"){f.error.call(j,i)}}return this}return this.each(function(){var m=b(this),l=m.data(e),k=typeof h==="object"&&h;if(k&&k.selector){l=new a(this,k);return}if(!l){m.data(e,(l=new a(this,k)))}if(typeof h==="string"){l[h].apply(l,Array.prototype.slice.call(g,1))}})};b.fn.editable.defaults={type:"text",disabled:false,toggle:"click",emptytext:"Empty",autotext:"auto",value:null,display:null,emptyclass:"editable-empty",unsavedclass:"editable-unsaved",selector:null,highlight:"#FFFF80"}}(window.jQuery));(function(b){b.fn.editabletypes={};var a=function(){};a.prototype={init:function(d,c,e){this.type=d;this.options=b.extend({},e,c)},prerender:function(){this.$tpl=b(this.options.tpl);this.$input=this.$tpl;this.$clear=null;this.error=null},render:function(){},value2html:function(d,c){b(c).text(b.trim(d))},html2value:function(c){return b("<div>").html(c).text()},value2str:function(c){return c},str2value:function(c){return c},value2submit:function(c){return c},value2input:function(c){this.$input.val(c)},input2value:function(){return this.$input.val()},activate:function(){if(this.$input.is(":visible")){this.$input.focus()}},clear:function(){this.$input.val(null)},escape:function(c){return b("<div>").text(c).html()},autosubmit:function(){},destroy:function(){},setClass:function(){if(this.options.inputclass){this.$input.addClass(this.options.inputclass)}},setAttr:function(c){if(this.options[c]!==undefined&&this.options[c]!==null){this.$input.attr(c,this.options[c])}},option:function(c,d){this.options[c]=d}};a.defaults={tpl:"",inputclass:"input-medium",scope:null,showbuttons:true};b.extend(b.fn.editabletypes,{abstractinput:a})}(window.jQuery));(function(b){var a=function(c){};b.fn.editableutils.inherit(a,b.fn.editabletypes.abstractinput);b.extend(a.prototype,{render:function(){var c=b.Deferred();this.error=null;this.onSourceReady(function(){this.renderList();c.resolve()},function(){this.error=this.options.sourceError;c.resolve()});return c.promise()},html2value:function(c){return null},value2html:function(f,e,g,d){var c=b.Deferred(),h=function(){if(typeof g==="function"){g.call(e,f,this.sourceData,d)}else{this.value2htmlFinal(f,e)}c.resolve()};if(f===null){h.call(this)}else{this.onSourceReady(h,function(){c.resolve()})}return c.promise()},onSourceReady:function(i,d){var f;if(b.isFunction(this.options.source)){f=this.options.source.call(this.options.scope);this.sourceData=null}else{f=this.options.source}if(this.options.sourceCache&&b.isArray(this.sourceData)){i.call(this);return}try{f=b.fn.editableutils.tryParseJson(f,false)}catch(h){d.call(this);return}if(typeof f==="string"){if(this.options.sourceCache){var g=f,c;if(!b(document).data(g)){b(document).data(g,{})}c=b(document).data(g);if(c.loading===false&&c.sourceData){this.sourceData=c.sourceData;this.doPrepend();i.call(this);return}else{if(c.loading===true){c.callbacks.push(b.proxy(function(){this.sourceData=c.sourceData;this.doPrepend();i.call(this)},this));c.err_callbacks.push(b.proxy(d,this));return}else{c.loading=true;c.callbacks=[];c.err_callbacks=[]}}}b.ajax({url:f,type:"get",cache:false,dataType:"json",success:b.proxy(function(e){if(c){c.loading=false}this.sourceData=this.makeArray(e);if(b.isArray(this.sourceData)){if(c){c.sourceData=this.sourceData;b.each(c.callbacks,function(){this.call()})}this.doPrepend();i.call(this)}else{d.call(this);if(c){b.each(c.err_callbacks,function(){this.call()})}}},this),error:b.proxy(function(){d.call(this);if(c){c.loading=false;b.each(c.err_callbacks,function(){this.call()})}},this)})}else{this.sourceData=this.makeArray(f);if(b.isArray(this.sourceData)){this.doPrepend();i.call(this)}else{d.call(this)}}},doPrepend:function(){if(this.options.prepend===null||this.options.prepend===undefined){return}if(!b.isArray(this.prependData)){if(b.isFunction(this.options.prepend)){this.options.prepend=this.options.prepend.call(this.options.scope)}this.options.prepend=b.fn.editableutils.tryParseJson(this.options.prepend,true);if(typeof this.options.prepend==="string"){this.options.prepend={"":this.options.prepend}}this.prependData=this.makeArray(this.options.prepend)}if(b.isArray(this.prependData)&&b.isArray(this.sourceData)){this.sourceData=this.prependData.concat(this.sourceData)}},renderList:function(){},value2htmlFinal:function(d,c){},makeArray:function(h){var g,j,c=[],f,d;if(!h||typeof h==="string"){return null}if(b.isArray(h)){d=function(l,i){j={value:l,text:i};if(g++>=2){return false}};for(var e=0;e<h.length;e++){f=h[e];if(typeof f==="object"){g=0;b.each(f,d);if(g===1){c.push(j)}else{if(g>1){if(f.children){f.children=this.makeArray(f.children)}c.push(f)}}}else{c.push({value:f,text:f})}}}else{b.each(h,function(l,i){c.push({value:l,text:i})})}return c},option:function(c,d){this.options[c]=d;if(c==="source"){this.sourceData=null}if(c==="prepend"){this.prependData=null}}});a.defaults=b.extend({},b.fn.editabletypes.abstractinput.defaults,{source:null,prepend:false,sourceError:"Error when loading list",sourceCache:true});b.fn.editabletypes.list=a}(window.jQuery));(function(b){var a=function(c){this.init("text",c,a.defaults)};b.fn.editableutils.inherit(a,b.fn.editabletypes.abstractinput);b.extend(a.prototype,{render:function(){this.renderClear();this.setClass();this.setAttr("placeholder")},activate:function(){if(this.$input.is(":visible")){this.$input.focus();b.fn.editableutils.setCursorPosition(this.$input.get(0),this.$input.val().length);if(this.toggleClear){this.toggleClear()}}},renderClear:function(){if(this.options.clear){this.$clear=b('<span class="editable-clear-x"></span>');this.$input.after(this.$clear).css("padding-right",24).keyup(b.proxy(function(d){if(~b.inArray(d.keyCode,[40,38,9,13,27])){return}clearTimeout(this.t);var c=this;this.t=setTimeout(function(){c.toggleClear(d)},100)},this)).parent().css("position","relative");this.$clear.click(b.proxy(this.clear,this))}},postrender:function(){},toggleClear:function(d){if(!this.$clear){return}var c=this.$input.val().length,f=this.$clear.is(":visible");if(c&&!f){this.$clear.show()}if(!c&&f){this.$clear.hide()}},clear:function(){this.$clear.hide();this.$input.val("").focus()}});a.defaults=b.extend({},b.fn.editabletypes.abstractinput.defaults,{tpl:'<input type="text">',placeholder:null,clear:true});b.fn.editabletypes.text=a}(window.jQuery));(function(b){var a=function(c){this.init("textarea",c,a.defaults)};b.fn.editableutils.inherit(a,b.fn.editabletypes.abstractinput);b.extend(a.prototype,{render:function(){this.setClass();this.setAttr("placeholder");this.setAttr("rows");this.$input.keydown(function(c){if(c.ctrlKey&&c.which===13){b(this).closest("form").submit()}})},activate:function(){b.fn.editabletypes.text.prototype.activate.call(this)}});a.defaults=b.extend({},b.fn.editabletypes.abstractinput.defaults,{tpl:"<textarea></textarea>",inputclass:"input-large",placeholder:null,rows:7});b.fn.editabletypes.textarea=a}(window.jQuery));(function(a){var b=function(c){this.init("select",c,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.list);a.extend(b.prototype,{renderList:function(){this.$input.empty();var c=function(f,g){var d;if(a.isArray(g)){for(var e=0;e<g.length;e++){d={};if(g[e].children){d.label=g[e].text;f.append(c(a("<optgroup>",d),g[e].children))}else{d.value=g[e].value;if(g[e].disabled){d.disabled=true}f.append(a("<option>",d).text(g[e].text))}}}return f};c(this.$input,this.sourceData);this.setClass();this.$input.on("keydown.editable",function(d){if(d.which===13){a(this).closest("form").submit()}})},value2htmlFinal:function(e,d){var f="",c=a.fn.editableutils.itemsByValue(e,this.sourceData);if(c.length){f=c[0].text}a(d).text(f)},autosubmit:function(){this.$input.off("keydown.editable").on("change.editable",function(){a(this).closest("form").submit()})}});b.defaults=a.extend({},a.fn.editabletypes.list.defaults,{tpl:"<select></select>"});a.fn.editabletypes.select=b}(window.jQuery));(function(b){var a=function(c){this.init("checklist",c,a.defaults)};b.fn.editableutils.inherit(a,b.fn.editabletypes.list);b.extend(a.prototype,{renderList:function(){var c,d;this.$tpl.empty();if(!b.isArray(this.sourceData)){return}for(var e=0;e<this.sourceData.length;e++){c=b("<label>").append(b("<input>",{type:"checkbox",value:this.sourceData[e].value})).append(b("<span>").text(" "+this.sourceData[e].text));b("<div>").append(c).appendTo(this.$tpl)}this.$input=this.$tpl.find('input[type="checkbox"]');this.setClass()},value2str:function(c){return b.isArray(c)?c.sort().join(b.trim(this.options.separator)):""},str2value:function(e){var c,d=null;if(typeof e==="string"&&e.length){c=new RegExp("\\s*"+b.trim(this.options.separator)+"\\s*");d=e.split(c)}else{if(b.isArray(e)){d=e}else{d=[e]}}return d},value2input:function(c){this.$input.prop("checked",false);if(b.isArray(c)&&c.length){this.$input.each(function(e,f){var d=b(f);b.each(c,function(g,h){if(d.val()==h){d.prop("checked",true)}})})}},input2value:function(){var c=[];this.$input.filter(":checked").each(function(d,e){c.push(b(e).val())});return c},value2htmlFinal:function(f,d){var c=[],e=b.fn.editableutils.itemsByValue(f,this.sourceData);if(e.length){b.each(e,function(h,g){c.push(b.fn.editableutils.escape(g.text))});b(d).html(c.join("<br>"))}else{b(d).empty()}},activate:function(){this.$input.first().focus()},autosubmit:function(){this.$input.on("keydown",function(c){if(c.which===13){b(this).closest("form").submit()}})}});a.defaults=b.extend({},b.fn.editabletypes.list.defaults,{tpl:'<div class="editable-checklist"></div>',inputclass:null,separator:","});b.fn.editabletypes.checklist=a}(window.jQuery));(function(b){var a=function(c){this.init("password",c,a.defaults)};b.fn.editableutils.inherit(a,b.fn.editabletypes.text);b.extend(a.prototype,{value2html:function(d,c){if(d){b(c).text("[hidden]")}else{b(c).empty()}},html2value:function(c){return null}});a.defaults=b.extend({},b.fn.editabletypes.text.defaults,{tpl:'<input type="password">'});b.fn.editabletypes.password=a}(window.jQuery));(function(a){var b=function(c){this.init("email",c,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.text);b.defaults=a.extend({},a.fn.editabletypes.text.defaults,{tpl:'<input type="email">'});a.fn.editabletypes.email=b}(window.jQuery));(function(a){var b=function(c){this.init("url",c,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.text);b.defaults=a.extend({},a.fn.editabletypes.text.defaults,{tpl:'<input type="url">'});a.fn.editabletypes.url=b}(window.jQuery));(function(a){var b=function(c){this.init("tel",c,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.text);b.defaults=a.extend({},a.fn.editabletypes.text.defaults,{tpl:'<input type="tel">'});a.fn.editabletypes.tel=b}(window.jQuery));(function(a){var b=function(c){this.init("number",c,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.text);a.extend(b.prototype,{render:function(){b.superclass.render.call(this);this.setAttr("min");this.setAttr("max");this.setAttr("step")},postrender:function(){if(this.$clear){this.$clear.css({right:24})}}});b.defaults=a.extend({},a.fn.editabletypes.text.defaults,{tpl:'<input type="number">',inputclass:"input-mini",min:null,max:null,step:null});a.fn.editabletypes.number=b}(window.jQuery));(function(a){var b=function(c){this.init("range",c,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.number);a.extend(b.prototype,{render:function(){this.$input=this.$tpl.filter("input");this.setClass();this.setAttr("min");this.setAttr("max");this.setAttr("step");this.$input.on("input",function(){a(this).siblings("output").text(a(this).val())})},activate:function(){this.$input.focus()}});b.defaults=a.extend({},a.fn.editabletypes.number.defaults,{tpl:'<input type="range"><output style="width: 30px; display: inline-block"></output>',inputclass:"input-medium"});a.fn.editabletypes.range=b}(window.jQuery));(function(b){var a=function(c){this.init("time",c,a.defaults)};b.fn.editableutils.inherit(a,b.fn.editabletypes.abstractinput);b.extend(a.prototype,{render:function(){this.setClass()}});a.defaults=b.extend({},b.fn.editabletypes.abstractinput.defaults,{tpl:'<input type="time">'});b.fn.editabletypes.time=a}(window.jQuery));(function(a){var b=function(d){this.init("select2",d,b.defaults);d.select2=d.select2||{};this.sourceData=null;if(d.placeholder){d.select2.placeholder=d.placeholder}if(!d.select2.tags&&d.source){var e=d.source;if(a.isFunction(d.source)){e=d.source.call(d.scope)}if(typeof e==="string"){d.select2.ajax=d.select2.ajax||{};if(!d.select2.ajax.data){d.select2.ajax.data=function(f){return{query:f}}}if(!d.select2.ajax.results){d.select2.ajax.results=function(f){return{results:f}}}d.select2.ajax.url=e}else{this.sourceData=this.convertSource(e);d.select2.data=this.sourceData}}this.options.select2=a.extend({},b.defaults.select2,d.select2);this.isMultiple=this.options.select2.tags||this.options.select2.multiple;this.isRemote=("ajax" in this.options.select2);this.idFunc=this.options.select2.id;if(typeof(this.idFunc)!=="function"){var c=this.idFunc||"id";this.idFunc=function(f){return f[c]}}this.formatSelection=this.options.select2.formatSelection;if(typeof(this.formatSelection)!=="function"){this.formatSelection=function(f){return f.text}}};a.fn.editableutils.inherit(b,a.fn.editabletypes.abstractinput);a.extend(b.prototype,{render:function(){this.setClass();this.$input.select2(this.options.select2);if(this.isRemote){this.$input.on("select2-loaded",a.proxy(function(c){this.sourceData=c.items.results},this))}if(this.isMultiple){this.$input.on("change",function(){a(this).closest("form").parent().triggerHandler("resize")})}},value2html:function(f,c){var g="",e,d=this;if(this.options.select2.tags){e=f}else{if(this.sourceData){e=a.fn.editableutils.itemsByValue(f,this.sourceData,this.idFunc)}else{}}if(a.isArray(e)){g=[];a.each(e,function(i,h){g.push(h&&typeof h==="object"?d.formatSelection(h):h)})}else{if(e){g=d.formatSelection(e)}}g=a.isArray(g)?g.join(this.options.viewseparator):g;a(c).text(g)},html2value:function(c){return this.options.select2.tags?this.str2value(c,this.options.viewseparator):null},value2input:function(e){this.$input.val(e).trigger("change",true);if(this.isRemote&&!this.isMultiple&&!this.options.select2.initSelection){var f=this.options.select2.id,c=this.options.select2.formatSelection;if(!f&&!c){var d={id:e,text:a(this.options.scope).text()};this.$input.select2("data",d)}}},input2value:function(){return this.$input.select2("val")},str2value:function(g,e){if(typeof g!=="string"||!this.isMultiple){return g}e=e||this.options.select2.separator||a.fn.select2.defaults.separator;var f,d,c;if(g===null||g.length<1){return null}f=g.split(e);for(d=0,c=f.length;d<c;d=d+1){f[d]=a.trim(f[d])}return f},autosubmit:function(){this.$input.on("change",function(d,c){if(!c){a(this).closest("form").submit()}})},convertSource:function(d){if(a.isArray(d)&&d.length&&d[0].value!==undefined){for(var c=0;c<d.length;c++){if(d[c].value!==undefined){d[c].id=d[c].value;delete d[c].value}}}return d},destroy:function(){if(this.$input.data("select2")){this.$input.select2("destroy")}}});b.defaults=a.extend({},a.fn.editabletypes.abstractinput.defaults,{tpl:'<input type="hidden">',select2:null,placeholder:null,source:null,viewseparator:", "});a.fn.editabletypes.select2=b}(window.jQuery));(function(b){var a=function(d,c){this.$element=b(d);if(!this.$element.is("input")){b.error("Combodate should be applied to INPUT element");return}this.options=b.extend({},b.fn.combodate.defaults,c,this.$element.data());this.init()};a.prototype={constructor:a,init:function(){this.map={day:["D","date"],month:["M","month"],year:["Y","year"],hour:["[Hh]","hours"],minute:["m","minutes"],second:["s","seconds"],ampm:["[Aa]",""]};this.$widget=b('<span class="combodate"></span>').html(this.getTemplate());this.initCombos();this.$widget.on("change","select",b.proxy(function(){this.$element.val(this.getValue())},this));this.$widget.find("select").css("width","auto");this.$element.hide().after(this.$widget);this.setValue(this.$element.val()||this.options.value)},getTemplate:function(){var c=this.options.template;b.each(this.map,function(e,d){d=d[0];var g=new RegExp(d+"+"),f=d.length>1?d.substring(1,2):d;c=c.replace(g,"{"+f+"}")});c=c.replace(/ /g," ");b.each(this.map,function(e,d){d=d[0];var f=d.length>1?d.substring(1,2):d;c=c.replace("{"+f+"}",'<select class="'+e+'"></select>')});return c},initCombos:function(){var c=this;b.each(this.map,function(g,e){var h=c.$widget.find("."+g),i,d;if(h.length){c["$"+g]=h;i="fill"+g.charAt(0).toUpperCase()+g.slice(1);d=c[i]();c["$"+g].html(c.renderItems(d))}})},initItems:function(d){var c=[],e;if(this.options.firstItem==="name"){e=moment.relativeTime||moment.langData()._relativeTime;var f=typeof e[d]==="function"?e[d](1,true,d,false):e[d];f=f.split(" ").reverse()[0];c.push(["",f])}else{if(this.options.firstItem==="empty"){c.push(["",""])}}return c},renderItems:function(c){var e=[];for(var d=0;d<c.length;d++){e.push('<option value="'+c[d][0]+'">'+c[d][1]+"</option>")}return e.join("\n")},fillDay:function(){var d=this.initItems("d"),e,f,c=this.options.template.indexOf("DD")!==-1;for(f=1;f<=31;f++){e=c?this.leadZero(f):f;d.push([f,e])}return d},fillMonth:function(){var d=this.initItems("M"),e,f,h=this.options.template.indexOf("MMMM")!==-1,g=this.options.template.indexOf("MMM")!==-1,c=this.options.template.indexOf("MM")!==-1;for(f=0;f<=11;f++){if(h){e=moment().date(1).month(f).format("MMMM")}else{if(g){e=moment().date(1).month(f).format("MMM")}else{if(c){e=this.leadZero(f+1)}else{e=f+1}}}d.push([f,e])}return d},fillYear:function(){var c=[],d,e,f=this.options.template.indexOf("YYYY")!==-1;for(e=this.options.maxYear;e>=this.options.minYear;e--){d=f?e:(e+"").substring(2);c[this.options.yearDescending?"push":"unshift"]([e,d])}c=this.initItems("y").concat(c);return c},fillHour:function(){var e=this.initItems("h"),f,h,k=this.options.template.indexOf("h")!==-1,j=this.options.template.indexOf("H")!==-1,d=this.options.template.toLowerCase().indexOf("hh")!==-1,g=k?1:0,c=k?12:23;for(h=g;h<=c;h++){f=d?this.leadZero(h):h;e.push([h,f])}return e},fillMinute:function(){var d=this.initItems("m"),e,f,c=this.options.template.indexOf("mm")!==-1;for(f=0;f<=59;f+=this.options.minuteStep){e=c?this.leadZero(f):f;d.push([f,e])}return d},fillSecond:function(){var d=this.initItems("s"),e,f,c=this.options.template.indexOf("ss")!==-1;for(f=0;f<=59;f+=this.options.secondStep){e=c?this.leadZero(f):f;d.push([f,e])}return d},fillAmpm:function(){var d=this.options.template.indexOf("a")!==-1,e=this.options.template.indexOf("A")!==-1,c=[["am",d?"am":"AM"],["pm",d?"pm":"PM"]];return c},getValue:function(f){var e,c={},d=this,g=false;b.each(this.map,function(i,h){if(i==="ampm"){return}var j=i==="day"?1:0;c[i]=d["$"+i]?parseInt(d["$"+i].val(),10):j;if(isNaN(c[i])){g=true;return false}});if(g){return""}if(this.$ampm){if(c.hour===12){c.hour=this.$ampm.val()==="am"?0:12}else{c.hour=this.$ampm.val()==="am"?c.hour:c.hour+12}}e=moment([c.year,c.month,c.day,c.hour,c.minute,c.second]);this.highlight(e);f=f===undefined?this.options.format:f;if(f===null){return e.isValid()?e:null}else{return e.isValid()?e.format(f):""}},setValue:function(f){if(!f){return}var e=typeof f==="string"?moment(f,this.options.format):moment(f),d=this,c={};function g(h,i){var j={};h.children("option").each(function(l,k){var m=b(k).attr("value"),n;if(m===""){return}n=Math.abs(m-i);if(typeof j.distance==="undefined"||n<j.distance){j={value:m,distance:n}}});return j.value}if(e.isValid()){b.each(this.map,function(i,h){if(i==="ampm"){return}c[i]=e[h[1]]()});if(this.$ampm){if(c.hour>=12){c.ampm="pm";if(c.hour>12){c.hour-=12}}else{c.ampm="am";if(c.hour===0){c.hour=12}}}b.each(c,function(i,h){if(d["$"+i]){if(i==="minute"&&d.options.minuteStep>1&&d.options.roundTime){h=g(d["$"+i],h)}if(i==="second"&&d.options.secondStep>1&&d.options.roundTime){h=g(d["$"+i],h)}d["$"+i].val(h)}});this.$element.val(e.format(this.options.format))}},highlight:function(c){if(!c.isValid()){if(this.options.errorClass){this.$widget.addClass(this.options.errorClass)}else{if(!this.borderColor){this.borderColor=this.$widget.find("select").css("border-color")}this.$widget.find("select").css("border-color","red")}}else{if(this.options.errorClass){this.$widget.removeClass(this.options.errorClass)}else{this.$widget.find("select").css("border-color",this.borderColor)}}},leadZero:function(c){return c<=9?"0"+c:c},destroy:function(){this.$widget.remove();this.$element.removeData("combodate").show()}};b.fn.combodate=function(e){var f,c=Array.apply(null,arguments);c.shift();if(e==="getValue"&&this.length&&(f=this.eq(0).data("combodate"))){return f.getValue.apply(f,c)}return this.each(function(){var h=b(this),g=h.data("combodate"),d=typeof e=="object"&&e;if(!g){h.data("combodate",(g=new a(this,d)))}if(typeof e=="string"&&typeof g[e]=="function"){g[e].apply(g,c)}})};b.fn.combodate.defaults={format:"DD-MM-YYYY HH:mm",template:"D / MMM / YYYY H : mm",value:null,minYear:1970,maxYear:2015,yearDescending:true,minuteStep:5,secondStep:1,firstItem:"empty",errorClass:null,roundTime:true}}(window.jQuery));(function(a){var b=function(c){this.init("combodate",c,b.defaults);if(!this.options.viewformat){this.options.viewformat=this.options.format}c.combodate=a.fn.editableutils.tryParseJson(c.combodate,true);this.options.combodate=a.extend({},b.defaults.combodate,c.combodate,{format:this.options.format,template:this.options.template})};a.fn.editableutils.inherit(b,a.fn.editabletypes.abstractinput);a.extend(b.prototype,{render:function(){this.$input.combodate(this.options.combodate)},value2html:function(d,c){var e=d?d.format(this.options.viewformat):"";a(c).text(e)},html2value:function(c){return c?moment(c,this.options.viewformat):null},value2str:function(c){return c?c.format(this.options.format):""},str2value:function(c){return c?moment(c,this.options.format):null},value2submit:function(c){return this.value2str(c)},value2input:function(c){this.$input.combodate("setValue",c)},input2value:function(){return this.$input.combodate("getValue",null)},activate:function(){this.$input.siblings(".combodate").find("select").eq(0).focus()},autosubmit:function(){}});b.defaults=a.extend({},a.fn.editabletypes.abstractinput.defaults,{tpl:'<input type="text">',inputclass:null,format:"YYYY-MM-DD",viewformat:null,template:"D / MMM / YYYY",combodate:null});a.fn.editabletypes.combodate=b}(window.jQuery));(function(a){a.extend(a.fn.editableform.Constructor.prototype,{initTemplate:function(){this.$form=a(a.fn.editableform.template);this.$form.find(".editable-error-block").addClass("help-block")}});a.fn.editableform.buttons='<button type="submit" class="btn btn-primary editable-submit"><i class="icon-ok icon-white"></i></button><button type="button" class="btn editable-cancel"><i class="icon-remove"></i></button>';a.fn.editableform.errorGroupClass="error";a.fn.editableform.errorBlockClass=null}(window.jQuery));(function(a){a.extend(a.fn.editableContainer.Popup.prototype,{containerName:"popover",innerCss:a.fn.popover&&a(a.fn.popover.Constructor.DEFAULTS.template).find("p").length?".popover-content p":".popover-content",initContainer:function(){a.extend(this.containerOptions,{trigger:"manual",selector:false,content:" ",template:a.fn.popover.Constructor.DEFAULTS.template});var b;if(this.$element.data("template")){b=this.$element.data("template");this.$element.removeData("template")}this.call(this.containerOptions);if(b){this.$element.data("template",b)}},innerShow:function(){this.call("show")},innerHide:function(){this.call("hide")},innerDestroy:function(){this.call("destroy")},setContainerOption:function(b,c){this.container().options[b]=c},setPosition:function(){(function(){var g=this.tip(),e,j,b,h,f,k,c,l,i,d;f=typeof this.options.placement==="function"?this.options.placement.call(this,g[0],this.$element[0]):this.options.placement;e=/in/.test(f);g.removeClass("top right bottom left").css({top:0,left:0,display:"block"});j=this.getPosition(e);b=g[0].offsetWidth;h=g[0].offsetHeight;f=e?f.split(" ")[1]:f;l={top:j.top+j.height,left:j.left+j.width/2-b/2};c={top:j.top-h,left:j.left+j.width/2-b/2};i={top:j.top+j.height/2-h/2,left:j.left-b};d={top:j.top+j.height/2-h/2,left:j.left+j.width};switch(f){case"bottom":if((l.top+h)>(a(window).scrollTop()+a(window).height())){if(c.top>a(window).scrollTop()){f="top"}else{if((d.left+b)<(a(window).scrollLeft()+a(window).width())){f="right"}else{if(i.left>a(window).scrollLeft()){f="left"}else{f="right"}}}}break;case"top":if(c.top<a(window).scrollTop()){if((l.top+h)<(a(window).scrollTop()+a(window).height())){f="bottom"}else{if((d.left+b)<(a(window).scrollLeft()+a(window).width())){f="right"}else{if(i.left>a(window).scrollLeft()){f="left"}else{f="right"}}}}break;case"left":if(i.left<a(window).scrollLeft()){if((d.left+b)<(a(window).scrollLeft()+a(window).width())){f="right"}else{if(c.top>a(window).scrollTop()){f="top"}else{if(c.top>a(window).scrollTop()){f="bottom"}else{f="right"}}}}break;case"right":if((d.left+b)>(a(window).scrollLeft()+a(window).width())){if(i.left>a(window).scrollLeft()){f="left"}else{if(c.top>a(window).scrollTop()){f="top"}else{if(c.top>a(window).scrollTop()){f="bottom"}}}}break}switch(f){case"bottom":k=l;break;case"top":k=c;break;case"left":k=i;break;case"right":k=d;break}g.offset(k).addClass(f).addClass("in")}).call(this.container())}})}(window.jQuery));(function(g){function k(){return new Date(Date.UTC.apply(Date,arguments))}function d(){var n=new Date();return k(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate())}var h=function(o,n){var p=this;this._process_options(n);this.element=g(o);this.isInline=false;this.isInput=this.element.is("input");this.component=this.element.is(".date")?this.element.find(".add-on, .btn"):false;this.hasInput=this.component&&this.element.find("input").length;if(this.component&&this.component.length===0){this.component=false}this.picker=g(i.template);this._buildEvents();this._attachEvents();if(this.isInline){this.picker.addClass("datepicker-inline").appendTo(this.element)}else{this.picker.addClass("datepicker-dropdown dropdown-menu")}if(this.o.rtl){this.picker.addClass("datepicker-rtl");this.picker.find(".prev i, .next i").toggleClass("icon-arrow-left icon-arrow-right")}this.viewMode=this.o.startView;if(this.o.calendarWeeks){this.picker.find("tfoot th.today").attr("colspan",function(q,r){return parseInt(r)+1})}this._allow_update=false;this.setStartDate(this.o.startDate);this.setEndDate(this.o.endDate);this.setDaysOfWeekDisabled(this.o.daysOfWeekDisabled);this.fillDow();this.fillMonths();this._allow_update=true;this.update();this.showMode();if(this.isInline){this.show()}};h.prototype={constructor:h,_process_options:function(n){this._o=g.extend({},this._o,n);var r=this.o=g.extend({},this._o);var q=r.language;if(!b[q]){q=q.split("-")[0];if(!b[q]){q=e.language}}r.language=q;switch(r.startView){case 2:case"decade":r.startView=2;break;case 1:case"year":r.startView=1;break;default:r.startView=0}switch(r.minViewMode){case 1:case"months":r.minViewMode=1;break;case 2:case"years":r.minViewMode=2;break;default:r.minViewMode=0}r.startView=Math.max(r.startView,r.minViewMode);r.weekStart%=7;r.weekEnd=((r.weekStart+6)%7);var p=i.parseFormat(r.format);if(r.startDate!==-Infinity){r.startDate=i.parseDate(r.startDate,p,r.language)}if(r.endDate!==Infinity){r.endDate=i.parseDate(r.endDate,p,r.language)}r.daysOfWeekDisabled=r.daysOfWeekDisabled||[];if(!g.isArray(r.daysOfWeekDisabled)){r.daysOfWeekDisabled=r.daysOfWeekDisabled.split(/[,\s]*/)}r.daysOfWeekDisabled=g.map(r.daysOfWeekDisabled,function(o){return parseInt(o,10)})},_events:[],_secondaryEvents:[],_applyEvents:function(n){for(var o=0,p,q;o<n.length;o++){p=n[o][0];q=n[o][1];p.on(q)}},_unapplyEvents:function(n){for(var o=0,p,q;o<n.length;o++){p=n[o][0];q=n[o][1];p.off(q)}},_buildEvents:function(){if(this.isInput){this._events=[[this.element,{focus:g.proxy(this.show,this),keyup:g.proxy(this.update,this),keydown:g.proxy(this.keydown,this)}]]}else{if(this.component&&this.hasInput){this._events=[[this.element.find("input"),{focus:g.proxy(this.show,this),keyup:g.proxy(this.update,this),keydown:g.proxy(this.keydown,this)}],[this.component,{click:g.proxy(this.show,this)}]]}else{if(this.element.is("div")){this.isInline=true}else{this._events=[[this.element,{click:g.proxy(this.show,this)}]]}}}this._secondaryEvents=[[this.picker,{click:g.proxy(this.click,this)}],[g(window),{resize:g.proxy(this.place,this)}],[g(document),{mousedown:g.proxy(function(n){if(!(this.element.is(n.target)||this.element.find(n.target).size()||this.picker.is(n.target)||this.picker.find(n.target).size())){this.hide()}},this)}]]},_attachEvents:function(){this._detachEvents();this._applyEvents(this._events)},_detachEvents:function(){this._unapplyEvents(this._events)},_attachSecondaryEvents:function(){this._detachSecondaryEvents();this._applyEvents(this._secondaryEvents)},_detachSecondaryEvents:function(){this._unapplyEvents(this._secondaryEvents)},_trigger:function(p,q){var o=q||this.date,n=new Date(o.getTime()+(o.getTimezoneOffset()*60000));this.element.trigger({type:p,date:n,format:g.proxy(function(s){var r=s||this.o.format;return i.formatDate(o,r,this.o.language)},this)})},show:function(n){if(!this.isInline){this.picker.appendTo("body")}this.picker.show();this.height=this.component?this.component.outerHeight():this.element.outerHeight();this.place();this._attachSecondaryEvents();if(n){n.preventDefault()}this._trigger("show")},hide:function(n){if(this.isInline){return}if(!this.picker.is(":visible")){return}this.picker.hide().detach();this._detachSecondaryEvents();this.viewMode=this.o.startView;this.showMode();if(this.o.forceParse&&(this.isInput&&this.element.val()||this.hasInput&&this.element.find("input").val())){this.setValue()}this._trigger("hide")},remove:function(){this.hide();this._detachEvents();this._detachSecondaryEvents();this.picker.remove();delete this.element.data().datepicker;if(!this.isInput){delete this.element.data().date}},getDate:function(){var n=this.getUTCDate();return new Date(n.getTime()+(n.getTimezoneOffset()*60000))},getUTCDate:function(){return this.date},setDate:function(n){this.setUTCDate(new Date(n.getTime()-(n.getTimezoneOffset()*60000)))},setUTCDate:function(n){this.date=n;this.setValue()},setValue:function(){var n=this.getFormattedDate();if(!this.isInput){if(this.component){this.element.find("input").val(n)}}else{this.element.val(n)}},getFormattedDate:function(n){if(n===undefined){n=this.o.format}return i.formatDate(this.date,n,this.o.language)},setStartDate:function(n){this._process_options({startDate:n});this.update();this.updateNavArrows()},setEndDate:function(n){this._process_options({endDate:n});this.update();this.updateNavArrows()},setDaysOfWeekDisabled:function(n){this._process_options({daysOfWeekDisabled:n});this.update();this.updateNavArrows()},place:function(){if(this.isInline){return}var p=parseInt(this.element.parents().filter(function(){return g(this).css("z-index")!="auto"}).first().css("z-index"))+10;var o=this.component?this.component.parent().offset():this.element.offset();var n=this.component?this.component.outerHeight(true):this.element.outerHeight(true);this.picker.css({top:o.top+n,left:o.left,zIndex:p})},_allow_update:true,update:function(){if(!this._allow_update){return}var n,o=false;if(arguments&&arguments.length&&(typeof arguments[0]==="string"||arguments[0] instanceof Date)){n=arguments[0];o=true}else{n=this.isInput?this.element.val():this.element.data("date")||this.element.find("input").val();delete this.element.data().date}this.date=i.parseDate(n,this.o.format,this.o.language);if(o){this.setValue()}if(this.date<this.o.startDate){this.viewDate=new Date(this.o.startDate)}else{if(this.date>this.o.endDate){this.viewDate=new Date(this.o.endDate)}else{this.viewDate=new Date(this.date)}}this.fill()},fillDow:function(){var o=this.o.weekStart,p="<tr>";if(this.o.calendarWeeks){var n='<th class="cw"> </th>';p+=n;this.picker.find(".datepicker-days thead tr:first-child").prepend(n)}while(o<this.o.weekStart+7){p+='<th class="dow">'+b[this.o.language].daysMin[(o++)%7]+"</th>"}p+="</tr>";this.picker.find(".datepicker-days thead").append(p)},fillMonths:function(){var o="",n=0;while(n<12){o+='<span class="month">'+b[this.o.language].monthsShort[n++]+"</span>"}this.picker.find(".datepicker-months td").html(o)},setRange:function(n){if(!n||!n.length){delete this.range}else{this.range=g.map(n,function(o){return o.valueOf()})}this.fill()},getClassNames:function(q){var o=[],r=this.viewDate.getUTCFullYear(),s=this.viewDate.getUTCMonth(),n=this.date.valueOf(),p=new Date();if(q.getUTCFullYear()<r||(q.getUTCFullYear()==r&&q.getUTCMonth()<s)){o.push("old")}else{if(q.getUTCFullYear()>r||(q.getUTCFullYear()==r&&q.getUTCMonth()>s)){o.push("new")}}if(this.o.todayHighlight&&q.getUTCFullYear()==p.getFullYear()&&q.getUTCMonth()==p.getMonth()&&q.getUTCDate()==p.getDate()){o.push("today")}if(n&&q.valueOf()==n){o.push("active")}if(q.valueOf()<this.o.startDate||q.valueOf()>this.o.endDate||g.inArray(q.getUTCDay(),this.o.daysOfWeekDisabled)!==-1){o.push("disabled")}if(this.range){if(q>this.range[0]&&q<this.range[this.range.length-1]){o.push("range")}if(g.inArray(q.valueOf(),this.range)!=-1){o.push("selected")}}return o},fill:function(){var F=new Date(this.viewDate),w=F.getUTCFullYear(),G=F.getUTCMonth(),A=this.o.startDate!==-Infinity?this.o.startDate.getUTCFullYear():-Infinity,E=this.o.startDate!==-Infinity?this.o.startDate.getUTCMonth():-Infinity,t=this.o.endDate!==Infinity?this.o.endDate.getUTCFullYear():Infinity,B=this.o.endDate!==Infinity?this.o.endDate.getUTCMonth():Infinity,u=this.date&&this.date.valueOf(),q;this.picker.find(".datepicker-days thead th.datepicker-switch").text(b[this.o.language].months[G]+" "+w);this.picker.find("tfoot th.today").text(b[this.o.language].today).toggle(this.o.todayBtn!==false);this.picker.find("tfoot th.clear").text(b[this.o.language].clear).toggle(this.o.clearBtn!==false);this.updateNavArrows();this.fillMonths();var I=k(w,G-1,28,0,0,0,0),D=i.getDaysInMonth(I.getUTCFullYear(),I.getUTCMonth());I.setUTCDate(D);I.setUTCDate(D-(I.getUTCDay()-this.o.weekStart+7)%7);var n=new Date(I);n.setUTCDate(n.getUTCDate()+42);n=n.valueOf();var v=[];var z;while(I.valueOf()<n){if(I.getUTCDay()==this.o.weekStart){v.push("<tr>");if(this.o.calendarWeeks){var o=new Date(+I+(this.o.weekStart-I.getUTCDay()-7)%7*86400000),r=new Date(+o+(7+4-o.getUTCDay())%7*86400000),p=new Date(+(p=k(r.getUTCFullYear(),0,1))+(7+4-p.getUTCDay())%7*86400000),x=(r-p)/86400000/7+1;v.push('<td class="cw">'+x+"</td>")}}z=this.getClassNames(I);z.push("day");var y=this.o.beforeShowDay(I);if(y===undefined){y={}}else{if(typeof(y)==="boolean"){y={enabled:y}}else{if(typeof(y)==="string"){y={classes:y}}}}if(y.enabled===false){z.push("disabled")}if(y.classes){z=z.concat(y.classes.split(/\s+/))}if(y.tooltip){q=y.tooltip}z=g.unique(z);v.push('<td class="'+z.join(" ")+'"'+(q?' title="'+q+'"':"")+">"+I.getUTCDate()+"</td>");if(I.getUTCDay()==this.o.weekEnd){v.push("</tr>")}I.setUTCDate(I.getUTCDate()+1)}this.picker.find(".datepicker-days tbody").empty().append(v.join(""));var J=this.date&&this.date.getUTCFullYear();var s=this.picker.find(".datepicker-months").find("th:eq(1)").text(w).end().find("span").removeClass("active");if(J&&J==w){s.eq(this.date.getUTCMonth()).addClass("active")}if(w<A||w>t){s.addClass("disabled")}if(w==A){s.slice(0,E).addClass("disabled")}if(w==t){s.slice(B+1).addClass("disabled")}v="";w=parseInt(w/10,10)*10;var H=this.picker.find(".datepicker-years").find("th:eq(1)").text(w+"-"+(w+9)).end().find("td");w-=1;for(var C=-1;C<11;C++){v+='<span class="year'+(C==-1?" old":C==10?" new":"")+(J==w?" active":"")+(w<A||w>t?" disabled":"")+'">'+w+"</span>";w+=1}H.html(v)},updateNavArrows:function(){if(!this._allow_update){return}var p=new Date(this.viewDate),n=p.getUTCFullYear(),o=p.getUTCMonth();switch(this.viewMode){case 0:if(this.o.startDate!==-Infinity&&n<=this.o.startDate.getUTCFullYear()&&o<=this.o.startDate.getUTCMonth()){this.picker.find(".prev").css({visibility:"hidden"})}else{this.picker.find(".prev").css({visibility:"visible"})}if(this.o.endDate!==Infinity&&n>=this.o.endDate.getUTCFullYear()&&o>=this.o.endDate.getUTCMonth()){this.picker.find(".next").css({visibility:"hidden"})}else{this.picker.find(".next").css({visibility:"visible"})}break;case 1:case 2:if(this.o.startDate!==-Infinity&&n<=this.o.startDate.getUTCFullYear()){this.picker.find(".prev").css({visibility:"hidden"})}else{this.picker.find(".prev").css({visibility:"visible"})}if(this.o.endDate!==Infinity&&n>=this.o.endDate.getUTCFullYear()){this.picker.find(".next").css({visibility:"hidden"})}else{this.picker.find(".next").css({visibility:"visible"})}break}},click:function(r){r.preventDefault();var s=g(r.target).closest("span, td, th");if(s.length==1){switch(s[0].nodeName.toLowerCase()){case"th":switch(s[0].className){case"datepicker-switch":this.showMode(1);break;case"prev":case"next":var n=i.modes[this.viewMode].navStep*(s[0].className=="prev"?-1:1);switch(this.viewMode){case 0:this.viewDate=this.moveMonth(this.viewDate,n);break;case 1:case 2:this.viewDate=this.moveYear(this.viewDate,n);break}this.fill();break;case"today":var o=new Date();o=k(o.getFullYear(),o.getMonth(),o.getDate(),0,0,0);this.showMode(-2);var p=this.o.todayBtn=="linked"?null:"view";this._setDate(o,p);break;case"clear":var q;if(this.isInput){q=this.element}else{if(this.component){q=this.element.find("input")}}if(q){q.val("").change()}this._trigger("changeDate");this.update();if(this.o.autoclose){this.hide()}break}break;case"span":if(!s.is(".disabled")){this.viewDate.setUTCDate(1);if(s.is(".month")){var v=1;var t=s.parent().find("span").index(s);var u=this.viewDate.getUTCFullYear();this.viewDate.setUTCMonth(t);this._trigger("changeMonth",this.viewDate);if(this.o.minViewMode===1){this._setDate(k(u,t,v,0,0,0,0))}}else{var u=parseInt(s.text(),10)||0;var v=1;var t=0;this.viewDate.setUTCFullYear(u);this._trigger("changeYear",this.viewDate);if(this.o.minViewMode===2){this._setDate(k(u,t,v,0,0,0,0))}}this.showMode(-1);this.fill()}break;case"td":if(s.is(".day")&&!s.is(".disabled")){var v=parseInt(s.text(),10)||1;var u=this.viewDate.getUTCFullYear(),t=this.viewDate.getUTCMonth();if(s.is(".old")){if(t===0){t=11;u-=1}else{t-=1}}else{if(s.is(".new")){if(t==11){t=0;u+=1}else{t+=1}}}this._setDate(k(u,t,v,0,0,0,0))}break}}},_setDate:function(n,p){if(!p||p=="date"){this.date=new Date(n)}if(!p||p=="view"){this.viewDate=new Date(n)}this.fill();this.setValue();this._trigger("changeDate");var o;if(this.isInput){o=this.element}else{if(this.component){o=this.element.find("input")}}if(o){o.change();if(this.o.autoclose&&(!p||p=="date")){this.hide()}}},moveMonth:function(n,o){if(!o){return n}var r=new Date(n.valueOf()),v=r.getUTCDate(),s=r.getUTCMonth(),q=Math.abs(o),u,t;o=o>0?1:-1;if(q==1){t=o==-1?function(){return r.getUTCMonth()==s}:function(){return r.getUTCMonth()!=u};u=s+o;r.setUTCMonth(u);if(u<0||u>11){u=(u+12)%12}}else{for(var p=0;p<q;p++){r=this.moveMonth(r,o)}u=r.getUTCMonth();r.setUTCDate(v);t=function(){return u!=r.getUTCMonth()}}while(t()){r.setUTCDate(--v);r.setUTCMonth(u)}return r},moveYear:function(o,n){return this.moveMonth(o,n*12)},dateWithinRange:function(n){return n>=this.o.startDate&&n<=this.o.endDate},keydown:function(u){if(this.picker.is(":not(:visible)")){if(u.keyCode==27){this.show()}return}var q=false,p,o,t,n,s;switch(u.keyCode){case 27:this.hide();u.preventDefault();break;case 37:case 39:if(!this.o.keyboardNavigation){break}p=u.keyCode==37?-1:1;if(u.ctrlKey){n=this.moveYear(this.date,p);s=this.moveYear(this.viewDate,p)}else{if(u.shiftKey){n=this.moveMonth(this.date,p);s=this.moveMonth(this.viewDate,p)}else{n=new Date(this.date);n.setUTCDate(this.date.getUTCDate()+p);s=new Date(this.viewDate);s.setUTCDate(this.viewDate.getUTCDate()+p)}}if(this.dateWithinRange(n)){this.date=n;this.viewDate=s;this.setValue();this.update();u.preventDefault();q=true}break;case 38:case 40:if(!this.o.keyboardNavigation){break}p=u.keyCode==38?-1:1;if(u.ctrlKey){n=this.moveYear(this.date,p);s=this.moveYear(this.viewDate,p)}else{if(u.shiftKey){n=this.moveMonth(this.date,p);s=this.moveMonth(this.viewDate,p)}else{n=new Date(this.date);n.setUTCDate(this.date.getUTCDate()+p*7);s=new Date(this.viewDate);s.setUTCDate(this.viewDate.getUTCDate()+p*7)}}if(this.dateWithinRange(n)){this.date=n;this.viewDate=s;this.setValue();this.update();u.preventDefault();q=true}break;case 13:this.hide();u.preventDefault();break;case 9:this.hide();break}if(q){this._trigger("changeDate");var r;if(this.isInput){r=this.element}else{if(this.component){r=this.element.find("input")}}if(r){r.change()}}},showMode:function(n){if(n){this.viewMode=Math.max(this.o.minViewMode,Math.min(2,this.viewMode+n))}this.picker.find(">div").hide().filter(".datepicker-"+i.modes[this.viewMode].clsName).css("display","block");this.updateNavArrows()}};var m=function(o,n){this.element=g(o);this.inputs=g.map(n.inputs,function(p){return p.jquery?p[0]:p});delete n.inputs;g(this.inputs).datepicker(n).bind("changeDate",g.proxy(this.dateUpdated,this));this.pickers=g.map(this.inputs,function(p){return g(p).data("datepicker")});this.updateDates()};m.prototype={updateDates:function(){this.dates=g.map(this.pickers,function(n){return n.date});this.updateRanges()},updateRanges:function(){var n=g.map(this.dates,function(o){return o.valueOf()});g.each(this.pickers,function(o,q){q.setRange(n)})},dateUpdated:function(q){var r=g(q.target).data("datepicker"),p=r.getUTCDate(),o=g.inArray(q.target,this.inputs),n=this.inputs.length;if(o==-1){return}if(p<this.dates[o]){while(o>=0&&p<this.dates[o]){this.pickers[o--].setUTCDate(p)}}else{if(p>this.dates[o]){while(o<n&&p>this.dates[o]){this.pickers[o++].setUTCDate(p)}}}this.updateDates()},remove:function(){g.map(this.pickers,function(n){n.remove()});delete this.element.data().datepicker}};function f(q,t){var s=g(q).data(),n={},r,p=new RegExp("^"+t.toLowerCase()+"([A-Z])"),t=new RegExp("^"+t.toLowerCase());for(var o in s){if(t.test(o)){r=o.replace(p,function(v,u){return u.toLowerCase()});n[r]=s[o]}}return n}function a(p){var n={};if(!b[p]){p=p.split("-")[0];if(!b[p]){return}}var o=b[p];g.each(l,function(r,q){if(q in o){n[q]=o[q]}});return n}var c=g.fn.datepicker;var j=g.fn.datepicker=function(q){var o=Array.apply(null,arguments);o.shift();var p,n;this.each(function(){var y=g(this),w=y.data("datepicker"),s=typeof q=="object"&&q;if(!w){var u=f(this,"date"),r=g.extend({},e,u,s),t=a(r.language),v=g.extend({},e,t,u,s);if(y.is(".input-daterange")||v.inputs){var x={inputs:v.inputs||y.find("input").toArray()};y.data("datepicker",(w=new m(this,g.extend(v,x))))}else{y.data("datepicker",(w=new h(this,v)))}}if(typeof q=="string"&&typeof w[q]=="function"){p=w[q].apply(w,o);if(p!==undefined){return false}}});if(p!==undefined){return p}else{return this}};var e=g.fn.datepicker.defaults={autoclose:false,beforeShowDay:g.noop,calendarWeeks:false,clearBtn:false,daysOfWeekDisabled:[],endDate:Infinity,forceParse:true,format:"mm/dd/yyyy",keyboardNavigation:true,language:"en",minViewMode:0,rtl:false,startDate:-Infinity,startView:0,todayBtn:false,todayHighlight:false,weekStart:0};var l=g.fn.datepicker.locale_opts=["format","rtl","weekStart"];g.fn.datepicker.Constructor=h;var b=g.fn.datepicker.dates={en:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sun"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa","Su"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",clear:"Clear"}};var i={modes:[{clsName:"days",navFnc:"Month",navStep:1},{clsName:"months",navFnc:"FullYear",navStep:1},{clsName:"years",navFnc:"FullYear",navStep:10}],isLeapYear:function(n){return(((n%4===0)&&(n%100!==0))||(n%400===0))},getDaysInMonth:function(n,o){return[31,(i.isLeapYear(n)?29:28),31,30,31,30,31,31,30,31,30,31][o]},validParts:/dd?|DD?|mm?|MM?|yy(?:yy)?/g,nonpunctuation:/[^ -\/:-@\[\u3400-\u9fff-`{-~\t\n\r]+/g,parseFormat:function(p){var n=p.replace(this.validParts,"\0").split("\0"),o=p.match(this.validParts);if(!n||!n.length||!o||o.length===0){throw new Error("Invalid date format.")}return{separators:n,parts:o}},parseDate:function(q,A,u){if(q instanceof Date){return q}if(typeof A==="string"){A=i.parseFormat(A)}if(/^[\-+]\d+[dmwy]([\s,]+[\-+]\d+[dmwy])*$/.test(q)){var C=/([\-+]\d+)([dmwy])/,t=q.match(/([\-+]\d+)([dmwy])/g),n,r;q=new Date();for(var v=0;v<t.length;v++){n=C.exec(t[v]);r=parseInt(n[1]);switch(n[2]){case"d":q.setUTCDate(q.getUTCDate()+r);break;case"m":q=h.prototype.moveMonth.call(h.prototype,q,r);break;case"w":q.setUTCDate(q.getUTCDate()+r*7);break;case"y":q=h.prototype.moveYear.call(h.prototype,q,r);break}}return k(q.getUTCFullYear(),q.getUTCMonth(),q.getUTCDate(),0,0,0)}var t=q&&q.match(this.nonpunctuation)||[],q=new Date(),y={},z=["yyyy","yy","M","MM","m","mm","d","dd"],B={yyyy:function(E,s){return E.setUTCFullYear(s)},yy:function(E,s){return E.setUTCFullYear(2000+s)},m:function(E,s){s-=1;while(s<0){s+=12}s%=12;E.setUTCMonth(s);while(E.getUTCMonth()!=s){E.setUTCDate(E.getUTCDate()-1)}return E},d:function(E,s){return E.setUTCDate(s)}},p,w,n;B.M=B.MM=B.mm=B.m;B.dd=B.d;q=k(q.getFullYear(),q.getMonth(),q.getDate(),0,0,0);var x=A.parts.slice();if(t.length!=x.length){x=g(x).filter(function(s,E){return g.inArray(E,z)!==-1}).toArray()}if(t.length==x.length){for(var v=0,o=x.length;v<o;v++){p=parseInt(t[v],10);n=x[v];if(isNaN(p)){switch(n){case"MM":w=g(b[u].months).filter(function(){var s=this.slice(0,t[v].length),E=t[v].slice(0,s.length);return s==E});p=g.inArray(w[0],b[u].months)+1;break;case"M":w=g(b[u].monthsShort).filter(function(){var s=this.slice(0,t[v].length),E=t[v].slice(0,s.length);return s==E});p=g.inArray(w[0],b[u].monthsShort)+1;break}}y[n]=p}for(var v=0,D;v<z.length;v++){D=z[v];if(D in y&&!isNaN(y[D])){B[D](q,y[D])}}}return q},formatDate:function(n,r,t){if(typeof r==="string"){r=i.parseFormat(r)}var s={d:n.getUTCDate(),D:b[t].daysShort[n.getUTCDay()],DD:b[t].days[n.getUTCDay()],m:n.getUTCMonth()+1,M:b[t].monthsShort[n.getUTCMonth()],MM:b[t].months[n.getUTCMonth()],yy:n.getUTCFullYear().toString().substring(2),yyyy:n.getUTCFullYear()};s.dd=(s.d<10?"0":"")+s.d;s.mm=(s.m<10?"0":"")+s.m;var n=[],q=g.extend([],r.separators);for(var p=0,o=r.parts.length;p<=o;p++){if(q.length){n.push(q.shift())}n.push(s[r.parts[p]])}return n.join("")},headTemplate:'<thead><tr><th class="prev"><i class="icon-arrow-left"/></th><th colspan="5" class="datepicker-switch"></th><th class="next"><i class="icon-arrow-right"/></th></tr></thead>',contTemplate:'<tbody><tr><td colspan="7"></td></tr></tbody>',footTemplate:'<tfoot><tr><th colspan="7" class="today"></th></tr><tr><th colspan="7" class="clear"></th></tr></tfoot>'};i.template='<div class="datepicker"><div class="datepicker-days"><table class=" table-condensed">'+i.headTemplate+"<tbody></tbody>"+i.footTemplate+'</table></div><div class="datepicker-months"><table class="table-condensed">'+i.headTemplate+i.contTemplate+i.footTemplate+'</table></div><div class="datepicker-years"><table class="table-condensed">'+i.headTemplate+i.contTemplate+i.footTemplate+"</table></div></div>";g.fn.datepicker.DPGlobal=i;g.fn.datepicker.noConflict=function(){g.fn.datepicker=c;return this};g(document).on("focus.datepicker.data-api click.datepicker.data-api",'[data-provide="datepicker"]',function(o){var n=g(this);if(n.data("datepicker")){return}o.preventDefault();j.call(n,"show")});g(function(){j.call(g('[data-provide="datepicker-inline"]'))})}(window.jQuery));(function(b){b.fn.bdatepicker=b.fn.datepicker.noConflict();if(!b.fn.datepicker){b.fn.datepicker=b.fn.bdatepicker}var a=function(c){this.init("date",c,a.defaults);this.initPicker(c,a.defaults)};b.fn.editableutils.inherit(a,b.fn.editabletypes.abstractinput);b.extend(a.prototype,{initPicker:function(c,d){if(!this.options.viewformat){this.options.viewformat=this.options.format}c.datepicker=b.fn.editableutils.tryParseJson(c.datepicker,true);this.options.datepicker=b.extend({},d.datepicker,c.datepicker,{format:this.options.viewformat});this.options.datepicker.language=this.options.datepicker.language||"en";this.dpg=b.fn.bdatepicker.DPGlobal;this.parsedFormat=this.dpg.parseFormat(this.options.format);this.parsedViewFormat=this.dpg.parseFormat(this.options.viewformat)},render:function(){this.$input.bdatepicker(this.options.datepicker);if(this.options.clear){this.$clear=b('<a href="#"></a>').html(this.options.clear).click(b.proxy(function(c){c.preventDefault();c.stopPropagation();this.clear()},this));this.$tpl.parent().append(b('<div class="editable-clear">').append(this.$clear))}},value2html:function(d,c){var e=d?this.dpg.formatDate(d,this.parsedViewFormat,this.options.datepicker.language):"";a.superclass.value2html(e,c)},html2value:function(c){return this.parseDate(c,this.parsedViewFormat)},value2str:function(c){return c?this.dpg.formatDate(c,this.parsedFormat,this.options.datepicker.language):""},str2value:function(c){return this.parseDate(c,this.parsedFormat)},value2submit:function(c){return this.value2str(c)},value2input:function(c){this.$input.bdatepicker("update",c)},input2value:function(){return this.$input.data("datepicker").date},activate:function(){},clear:function(){this.$input.data("datepicker").date=null;this.$input.find(".active").removeClass("active");if(!this.options.showbuttons){this.$input.closest("form").submit()}},autosubmit:function(){this.$input.on("mouseup",".day",function(d){if(b(d.currentTarget).is(".old")||b(d.currentTarget).is(".new")){return}var c=b(this).closest("form");setTimeout(function(){c.submit()},200)})},parseDate:function(f,d){var c=null,e;if(f){c=this.dpg.parseDate(f,d,this.options.datepicker.language);if(typeof f==="string"){e=this.dpg.formatDate(c,d,this.options.datepicker.language);if(f!==e){c=null}}}return c}});a.defaults=b.extend({},b.fn.editabletypes.abstractinput.defaults,{tpl:'<div class="editable-date well"></div>',inputclass:null,format:"yyyy-mm-dd",viewformat:null,datepicker:{weekStart:0,startView:0,minViewMode:0,autoclose:false},clear:"× clear"});b.fn.editabletypes.date=a}(window.jQuery));(function(b){var a=function(c){this.init("datefield",c,a.defaults);this.initPicker(c,a.defaults)};b.fn.editableutils.inherit(a,b.fn.editabletypes.date);b.extend(a.prototype,{render:function(){this.$input=this.$tpl.find("input");this.setClass();this.setAttr("placeholder");this.$tpl.bdatepicker(this.options.datepicker);this.$input.off("focus keydown");this.$input.keyup(b.proxy(function(){this.$tpl.removeData("date");this.$tpl.bdatepicker("update")},this))},value2input:function(c){this.$input.val(c?this.dpg.formatDate(c,this.parsedViewFormat,this.options.datepicker.language):"");this.$tpl.bdatepicker("update")},input2value:function(){return this.html2value(this.$input.val())},activate:function(){b.fn.editabletypes.text.prototype.activate.call(this)},autosubmit:function(){}});a.defaults=b.extend({},b.fn.editabletypes.date.defaults,{tpl:'<div class="input-group input-append date"><input type="text"/><span class="add-on input-group-addon"><i class="icon-th"></i></span></div>',inputclass:"input-small",datepicker:{weekStart:0,startView:0,minViewMode:0,autoclose:true}});b.fn.editabletypes.datefield=a}(window.jQuery));(function(a){var b=function(c){this.init("datetime",c,b.defaults);this.initPicker(c,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.abstractinput);a.extend(b.prototype,{initPicker:function(c,d){if(!this.options.viewformat){this.options.viewformat=this.options.format}c.datetimepicker=a.fn.editableutils.tryParseJson(c.datetimepicker,true);this.options.datetimepicker=a.extend({},d.datetimepicker,c.datetimepicker,{format:this.options.viewformat});this.options.datetimepicker.language=this.options.datetimepicker.language||"en";this.dpg=a.fn.datetimepicker.DPGlobal;this.parsedFormat=this.dpg.parseFormat(this.options.format,this.options.formatType);this.parsedViewFormat=this.dpg.parseFormat(this.options.viewformat,this.options.formatType)},render:function(){this.$input.datetimepicker(this.options.datetimepicker);this.$input.on("changeMode",function(d){var c=a(this).closest("form").parent();setTimeout(function(){c.triggerHandler("resize")},0)});if(this.options.clear){this.$clear=a('<a href="#"></a>').html(this.options.clear).click(a.proxy(function(c){c.preventDefault();c.stopPropagation();this.clear()},this));this.$tpl.parent().append(a('<div class="editable-clear">').append(this.$clear))}},value2html:function(d,c){var e=d?this.dpg.formatDate(this.toUTC(d),this.parsedViewFormat,this.options.datetimepicker.language,this.options.formatType):"";if(c){b.superclass.value2html(e,c)}else{return e}},html2value:function(c){var d=this.parseDate(c,this.parsedViewFormat);return d?this.fromUTC(d):null},value2str:function(c){return c?this.dpg.formatDate(this.toUTC(c),this.parsedFormat,this.options.datetimepicker.language,this.options.formatType):""},str2value:function(d){var c=this.parseDate(d,this.parsedFormat);return c?this.fromUTC(c):null},value2submit:function(c){return this.value2str(c)},value2input:function(c){if(c){this.$input.data("datetimepicker").setDate(c)}},input2value:function(){var c=this.$input.data("datetimepicker");return c.date?c.getDate():null},activate:function(){},clear:function(){this.$input.data("datetimepicker").date=null;this.$input.find(".active").removeClass("active");if(!this.options.showbuttons){this.$input.closest("form").submit()}},autosubmit:function(){this.$input.on("mouseup",".minute",function(d){var c=a(this).closest("form");setTimeout(function(){c.submit()},200)})},toUTC:function(c){return c?new Date(c.valueOf()-c.getTimezoneOffset()*60000):c},fromUTC:function(c){return c?new Date(c.valueOf()+c.getTimezoneOffset()*60000):c},parseDate:function(f,d){var c=null,e;if(f){c=this.dpg.parseDate(f,d,this.options.datetimepicker.language,this.options.formatType);if(typeof f==="string"){e=this.dpg.formatDate(c,d,this.options.datetimepicker.language,this.options.formatType);if(f!==e){c=null}}}return c}});b.defaults=a.extend({},a.fn.editabletypes.abstractinput.defaults,{tpl:'<div class="editable-date well"></div>',inputclass:null,format:"yyyy-mm-dd hh:ii",formatType:"standard",viewformat:null,datetimepicker:{todayHighlight:false,autoclose:false},clear:"× clear"});a.fn.editabletypes.datetime=b}(window.jQuery));(function(b){var a=function(c){this.init("datetimefield",c,a.defaults);this.initPicker(c,a.defaults)};b.fn.editableutils.inherit(a,b.fn.editabletypes.datetime);b.extend(a.prototype,{render:function(){this.$input=this.$tpl.find("input");this.setClass();this.setAttr("placeholder");this.$tpl.datetimepicker(this.options.datetimepicker);this.$input.off("focus keydown");this.$input.keyup(b.proxy(function(){this.$tpl.removeData("date");this.$tpl.datetimepicker("update")},this))},value2input:function(c){this.$input.val(this.value2html(c));this.$tpl.datetimepicker("update")},input2value:function(){return this.html2value(this.$input.val())},activate:function(){b.fn.editabletypes.text.prototype.activate.call(this)},autosubmit:function(){}});a.defaults=b.extend({},b.fn.editabletypes.datetime.defaults,{tpl:'<div class="input-group input-append date"><input type="text"/><span class="input-group-addon add-on"><i class="icon-th"></i></span></div>',inputclass:"input-medium",datetimepicker:{todayHighlight:false,autoclose:true}});b.fn.editabletypes.datetimefield=a}(window.jQuery));(function(a){var b=function(c){this.init("typeahead",c,b.defaults);this.options.typeahead=a.extend({},b.defaults.typeahead,{matcher:this.matcher,sorter:this.sorter,highlighter:this.highlighter,updater:this.updater},c.typeahead)};a.fn.editableutils.inherit(b,a.fn.editabletypes.list);a.extend(b.prototype,{renderList:function(){this.$input=this.$tpl.is("input")?this.$tpl:this.$tpl.find('input[type="text"]');this.options.typeahead.source=this.sourceData;this.$input.typeahead(this.options.typeahead);var c=this.$input.data("typeahead");c.render=a.proxy(this.typeaheadRender,c);c.select=a.proxy(this.typeaheadSelect,c);c.move=a.proxy(this.typeaheadMove,c);this.renderClear();this.setClass();this.setAttr("placeholder")},value2htmlFinal:function(e,d){if(this.getIsObjects()){var c=a.fn.editableutils.itemsByValue(e,this.sourceData);a(d).text(c.length?c[0].text:"")}else{a(d).text(e)}},html2value:function(c){return c?c:null},value2input:function(d){if(this.getIsObjects()){var c=a.fn.editableutils.itemsByValue(d,this.sourceData);this.$input.data("value",d).val(c.length?c[0].text:"")}else{this.$input.val(d)}},input2value:function(){if(this.getIsObjects()){var d=this.$input.data("value"),c=a.fn.editableutils.itemsByValue(d,this.sourceData);if(c.length&&c[0].text.toLowerCase()===this.$input.val().toLowerCase()){return d}else{return null}}else{return this.$input.val()}},getIsObjects:function(){if(this.isObjects===undefined){this.isObjects=false;for(var c=0;c<this.sourceData.length;c++){if(this.sourceData[c].value!==this.sourceData[c].text){this.isObjects=true;break}}}return this.isObjects},activate:a.fn.editabletypes.text.prototype.activate,renderClear:a.fn.editabletypes.text.prototype.renderClear,postrender:a.fn.editabletypes.text.prototype.postrender,toggleClear:a.fn.editabletypes.text.prototype.toggleClear,clear:function(){a.fn.editabletypes.text.prototype.clear.call(this);this.$input.data("value","")},matcher:function(c){return a.fn.typeahead.Constructor.prototype.matcher.call(this,c.text)},sorter:function(e){var f=[],d=[],c=[],g,h;while(g=e.shift()){h=g.text;if(!h.toLowerCase().indexOf(this.query.toLowerCase())){f.push(g)}else{if(~h.indexOf(this.query)){d.push(g)}else{c.push(g)}}}return f.concat(d,c)},highlighter:function(c){return a.fn.typeahead.Constructor.prototype.highlighter.call(this,c.text)},updater:function(c){this.$element.data("value",c.value);return c.text},typeaheadRender:function(c){var d=this;c=a(c).map(function(e,f){e=a(d.options.item).data("item",f);e.find("a").html(d.highlighter(f));return e[0]});if(this.options.autoSelect){c.first().addClass("active")}this.$menu.html(c);return this},typeaheadSelect:function(){var c=this.$menu.find(".active").data("item");if(this.options.autoSelect||c){this.$element.val(this.updater(c)).change()}return this.hide()},typeaheadMove:function(c){if(!this.shown){return}switch(c.keyCode){case 9:case 13:case 27:if(!this.$menu.find(".active").length){return}c.preventDefault();break;case 38:c.preventDefault();this.prev();break;case 40:c.preventDefault();this.next();break}c.stopPropagation()}});b.defaults=a.extend({},a.fn.editabletypes.list.defaults,{tpl:'<input type="text">',typeahead:null,clear:true});a.fn.editabletypes.typeahead=b}(window.jQuery));
\ No newline at end of file diff --git a/src/main/webapp/static/login/echarts/echarts-gl.min.js b/src/main/webapp/static/login/echarts/echarts-gl.min.js new file mode 100644 index 0000000..8d6fd8f --- /dev/null +++ b/src/main/webapp/static/login/echarts/echarts-gl.min.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("echarts")):"function"==typeof define&&define.amd?define(["echarts"],t):"object"==typeof exports?exports["echarts-gl"]=t(require("echarts")):e["echarts-gl"]=t(e.echarts)}(this,function(e){return function(e){function t(n){if(r[n])return r[n].exports;var i=r[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,t),i.l=!0,i.exports}var r={};return t.m=e,t.c=r,t.d=function(e,r,n){t.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=106)}([function(t,r){t.exports=e},function(e,t,r){"use strict";function n(e){return!e||"none"===e}function i(e){return e instanceof HTMLCanvasElement||e instanceof HTMLImageElement||e instanceof Image}function a(e){return e.getZr&&e.setOption}function o(e){return Math.pow(2,Math.round(Math.log(e)/Math.LN2))}function s(e){if((e.wrapS===c.a.REPEAT||e.wrapT===c.a.REPEAT)&&e.image){var t=o(e.width),r=o(e.height);if(t!==e.width||r!==e.height){var n=document.createElement("canvas");n.width=t,n.height=r;n.getContext("2d").drawImage(e.image,0,0,t,r),e.image=n}}}var u=r(40),l=r(52),h=r(5),c=r(4),d=r(8),f=r(19),p=r(35),m=r(15),g=r(0),_=r.n(g),v=r(36),y=r(60),x=r.n(y),T=r(61),b=r(124),w=r(125),E=r(129),S=r(130),A=r(2),M=r(132),C=r(43),L=r(76),D=r(133),N=r(134),R=r(135),P=r(136),I=r(41),O=r(37),F=r(26),B=r(3),U=r(137),z=r(56),G=r(138),H=r(139),V=r(140),k=r(9),W=r(74),j=r(54),X=r(18),q=r(59),Z=r(141),Y=r(146),K=r(71),Q=r(147),J=r(148),$=r(149),ee=r(150),te=r(151),re=r(152);_.a.util.extend(p.a.prototype,Z.a),d.a.import(Y.a),d.a.import(K.a),d.a.import(Q.a),d.a.import(J.a),d.a.import($.a),d.a.import(ee.a),d.a.import(te.a),d.a.import(re.a);var ne=v.a.prototype.addToScene,ie=v.a.prototype.removeFromScene;v.a.prototype.addToScene=function(e){if(ne.call(this,e),this.__zr){var t=this.__zr;e.traverse(function(e){e.__zr=t,e.addAnimatorsToZr&&e.addAnimatorsToZr(t)})}},v.a.prototype.removeFromScene=function(e){ie.call(this,e),e.traverse(function(e){var t=e.__zr;e.__zr=null,t&&e.removeAnimatorsFromZr&&e.removeAnimatorsFromZr(t)})},f.a.prototype.setTextureImage=function(e,t,r,i){if(this.shader){var a,o=r.getZr(),s=this;return s.autoUpdateTextureStatus=!1,s.disableTexture(e),n(t)||(a=ae.loadTexture(t,r,i,function(t){s.enableTexture(e),o&&o.refresh()}),s.set(e,a)),a}};var ae={};ae.Renderer=l.a,ae.Node=p.a,ae.Mesh=u.a,ae.Shader=d.a,ae.Material=f.a,ae.Texture=c.a,ae.Texture2D=h.a,ae.Geometry=m.a,ae.SphereGeometry=M.a,ae.PlaneGeometry=C.a,ae.CubeGeometry=L.a,ae.AmbientLight=D.a,ae.DirectionalLight=N.a,ae.PointLight=R.a,ae.SpotLight=P.a,ae.PerspectiveCamera=I.a,ae.OrthographicCamera=O.a,ae.Vector2=F.a,ae.Vector3=B.a,ae.Vector4=U.a,ae.Quaternion=z.a,ae.Matrix2=G.a,ae.Matrix2d=H.a,ae.Matrix3=V.a,ae.Matrix4=k.a,ae.Plane=W.a,ae.Ray=j.a,ae.BoundingBox=X.a,ae.Frustum=q.a;var oe=T.a.createBlank("rgba(255,255,255,0)").image;ae.loadTexture=function(e,t,r,n){"function"==typeof r&&(n=r,r={}),r=r||{};for(var o=Object.keys(r).sort(),u="",l=0;l<o.length;l++)u+=o[l]+"_"+r[o[l]]+"_";var h=t.__textureCache=t.__textureCache||new x.a(20);if(a(e)){var c=e.__textureid__,d=h.get(u+c);if(d)d.texture.surface.setECharts(e),n&&n(d.texture);else{var f=new b.a(e);f.onupdate=function(){t.getZr().refresh()},d={texture:f.getTexture()};for(var l=0;l<o.length;l++)d.texture[o[l]]=r[o[l]];c=e.__textureid__||"__ecgl_ec__"+d.texture.__uid__,e.__textureid__=c,h.put(u+c,d),n&&n(d.texture)}return d.texture}if(i(e)){var c=e.__textureid__,d=h.get(u+c);if(!d){d={texture:new ae.Texture2D({image:e})};for(var l=0;l<o.length;l++)d.texture[o[l]]=r[o[l]];c=e.__textureid__||"__ecgl_image__"+d.texture.__uid__,e.__textureid__=c,h.put(u+c,d),s(d.texture),n&&n(d.texture)}return d.texture}var d=h.get(u+e);if(d)d.callbacks?d.callbacks.push(n):n&&n(d.texture);else if(e.match(/.hdr$|^data:application\/octet-stream/)){d={callbacks:[n]};var p=T.a.loadTexture(e,{exposure:r.exposure,fileType:"hdr"},function(){p.dirty(),d.callbacks.forEach(function(e){e&&e(p)}),d.callbacks=null});d.texture=p,h.put(u+e,d)}else{for(var p=new ae.Texture2D({image:new Image}),l=0;l<o.length;l++)p[o[l]]=r[o[l]];d={texture:p,callbacks:[n]};var m=p.image;m.onload=function(){p.image=m,s(p),p.dirty(),d.callbacks.forEach(function(e){e&&e(p)}),d.callbacks=null},m.src=e,p.image=oe,h.put(u+e,d)}return d.texture},ae.createAmbientCubemap=function(e,t,r,n){e=e||{};var i=e.texture,a=A.a.firstNotNull(e.exposure,1),o=new w.a({intensity:A.a.firstNotNull(e.specularIntensity,1)}),s=new E.a({intensity:A.a.firstNotNull(e.diffuseIntensity,1),coefficients:[.844,.712,.691,-.037,.083,.167,.343,.288,.299,-.041,-.021,-.009,-.003,-.041,-.064,-.011,-.007,-.004,-.031,.034,.081,-.06,-.049,-.06,.046,.056,.05]});return o.cubemap=ae.loadTexture(i,r,{exposure:a},function(){o.cubemap.flipY=!1;o.prefilter(t,32);s.coefficients=S.a.projectEnvironmentMap(t,o.cubemap,{lod:1}),n&&n()}),{specular:o,diffuse:s}},ae.createBlankTexture=T.a.createBlank,ae.isImage=i,ae.additiveBlend=function(e){e.blendEquation(e.FUNC_ADD),e.blendFunc(e.SRC_ALPHA,e.ONE)},ae.parseColor=function(e,t){return e instanceof Array?(t||(t=[]),t[0]=e[0],t[1]=e[1],t[2]=e[2],e.length>3?t[3]=e[3]:t[3]=1,t):(t=_.a.color.parse(e||"#000",t)||[0,0,0,0],t[0]/=255,t[1]/=255,t[2]/=255,t)},ae.directionFromAlphaBeta=function(e,t){var r=e/180*Math.PI+Math.PI/2,n=-t/180*Math.PI+Math.PI/2,i=[],a=Math.sin(r);return i[0]=a*Math.cos(n),i[1]=-Math.cos(r),i[2]=a*Math.sin(n),i},ae.getShadowResolution=function(e){var t=1024;switch(e){case"low":t=512;break;case"medium":break;case"high":t=2048;break;case"ultra":t=4096}return t},ae.COMMON_SHADERS=["lambert","color","realistic","hatching"],ae.createShader=function(e){var t=d.a.source(e+".vertex"),r=d.a.source(e+".fragment");t||console.error("Vertex shader of '%s' not exits",e),r||console.error("Fragment shader of '%s' not exits",e);var n=new d.a(t,r);return n.name=e,n},ae.createMaterial=function(e,t){t instanceof Array||(t=[t]);var r=ae.createShader(e),n=new f.a({shader:r});return t.forEach(function(e){"string"==typeof e&&n.define(e)}),n},ae.setMaterialFromModel=function(e,t,r,n){t.autoUpdateTextureStatus=!1;var i=r.getModel(e+"Material"),a=i.get("detailTexture"),o=A.a.firstNotNull(i.get("textureTiling"),1),s=A.a.firstNotNull(i.get("textureOffset"),0);"number"==typeof o&&(o=[o,o]),"number"==typeof s&&(s=[s,s]);var u=o[0]>1||o[1]>1?ae.Texture.REPEAT:ae.Texture.CLAMP_TO_EDGE,l={anisotropic:8,wrapS:u,wrapT:u};if("realistic"===e){var h=i.get("roughness"),c=i.get("metalness");null!=c?isNaN(c)&&(t.setTextureImage("metalnessMap",c,n,l),c=A.a.firstNotNull(i.get("metalnessAdjust"),.5)):c=0,null!=h?isNaN(h)&&(t.setTextureImage("roughnessMap",h,n,l),h=A.a.firstNotNull(i.get("roughnessAdjust"),.5)):h=.5;var d=i.get("normalTexture");t.setTextureImage("detailMap",a,n,l),t.setTextureImage("normalMap",d,n,l),t.set({roughness:h,metalness:c,detailUvRepeat:o,detailUvOffset:s})}else if("lambert"===e)t.setTextureImage("detailMap",a,n,l),t.set({detailUvRepeat:o,detailUvOffset:s});else if("color"===e)t.setTextureImage("detailMap",a,n,l),t.set({detailUvRepeat:o,detailUvOffset:s});else if("hatching"===e){for(var f=i.get("hatchingTextures")||[],p=0;p<6;p++)t.setTextureImage("hatch"+(p+1),f[p],n,{anisotropic:8,wrapS:ae.Texture.REPEAT,wrapT:ae.Texture.REPEAT});t.set({detailUvRepeat:o,detailUvOffset:s})}},ae.updateVertexAnimation=function(e,t,r,n){var i=n.get("animation"),a=n.get("animationDurationUpdate"),o=n.get("animationEasingUpdate"),s=r.shadowDepthMaterial;if(i&&t&&a>0&&t.geometry.vertexCount===r.geometry.vertexCount){r.material.define("vertex","VERTEX_ANIMATION"),r.ignorePreZ=!0,s&&s.define("vertex","VERTEX_ANIMATION");for(var u=0;u<e.length;u++)r.geometry.attributes[e[u][0]].value=t.geometry.attributes[e[u][1]].value;r.geometry.dirty(),r.__percent=0,r.material.set("percent",0),r.stopAnimation(),r.animate().when(a,{__percent:1}).during(function(){r.material.set("percent",r.__percent),s&&s.set("percent",r.__percent)}).done(function(){r.ignorePreZ=!1,r.material.undefine("vertex","VERTEX_ANIMATION"),s&&s.undefine("vertex","VERTEX_ANIMATION")}).start(o)}else r.material.undefine("vertex","VERTEX_ANIMATION"),s&&s.undefine("vertex","VERTEX_ANIMATION")},t.a=ae},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a={firstNotNull:function(){for(var e=0,t=arguments.length;e<t;e++)if(null!=arguments[e])return arguments[e]},queryDataIndex:function(e,t){return null!=t.dataIndexInside?t.dataIndexInside:null!=t.dataIndex?i.a.util.isArray(t.dataIndex)?i.a.util.map(t.dataIndex,function(t){return e.indexOfRawIndex(t)}):e.indexOfRawIndex(t.dataIndex):null!=t.name?i.a.util.isArray(t.name)?i.a.util.map(t.name,function(t){return e.indexOfName(t)}):e.indexOfName(t.name):void 0}};t.a=a},function(e,t,r){"use strict";function n(e,t,r){return e<t?t:e>r?r:e}var i=r(12),a=function(e,t,r){e=e||0,t=t||0,r=r||0,this.array=i.a.fromValues(e,t,r),this._dirty=!0};a.prototype={constructor:a,add:function(e){return i.a.add(this.array,this.array,e.array),this._dirty=!0,this},set:function(e,t,r){return this.array[0]=e,this.array[1]=t,this.array[2]=r,this._dirty=!0,this},setArray:function(e){return this.array[0]=e[0],this.array[1]=e[1],this.array[2]=e[2],this._dirty=!0,this},clone:function(){return new a(this.x,this.y,this.z)},copy:function(e){return i.a.copy(this.array,e.array),this._dirty=!0,this},cross:function(e,t){return i.a.cross(this.array,e.array,t.array),this._dirty=!0,this},dist:function(e){return i.a.dist(this.array,e.array)},distance:function(e){return i.a.distance(this.array,e.array)},div:function(e){return i.a.div(this.array,this.array,e.array),this._dirty=!0,this},divide:function(e){return i.a.divide(this.array,this.array,e.array),this._dirty=!0,this},dot:function(e){return i.a.dot(this.array,e.array)},len:function(){return i.a.len(this.array)},length:function(){return i.a.length(this.array)},lerp:function(e,t,r){return i.a.lerp(this.array,e.array,t.array,r),this._dirty=!0,this},min:function(e){return i.a.min(this.array,this.array,e.array),this._dirty=!0,this},max:function(e){return i.a.max(this.array,this.array,e.array),this._dirty=!0,this},mul:function(e){return i.a.mul(this.array,this.array,e.array),this._dirty=!0,this},multiply:function(e){return i.a.multiply(this.array,this.array,e.array),this._dirty=!0,this},negate:function(){return i.a.negate(this.array,this.array),this._dirty=!0,this},normalize:function(){return i.a.normalize(this.array,this.array),this._dirty=!0,this},random:function(e){return i.a.random(this.array,e),this._dirty=!0,this},scale:function(e){return i.a.scale(this.array,this.array,e),this._dirty=!0,this},scaleAndAdd:function(e,t){return i.a.scaleAndAdd(this.array,this.array,e.array,t),this._dirty=!0,this},sqrDist:function(e){return i.a.sqrDist(this.array,e.array)},squaredDistance:function(e){return i.a.squaredDistance(this.array,e.array)},sqrLen:function(){return i.a.sqrLen(this.array)},squaredLength:function(){return i.a.squaredLength(this.array)},sub:function(e){return i.a.sub(this.array,this.array,e.array),this._dirty=!0,this},subtract:function(e){return i.a.subtract(this.array,this.array,e.array),this._dirty=!0,this},transformMat3:function(e){return i.a.transformMat3(this.array,this.array,e.array),this._dirty=!0,this},transformMat4:function(e){return i.a.transformMat4(this.array,this.array,e.array),this._dirty=!0,this},transformQuat:function(e){return i.a.transformQuat(this.array,this.array,e.array),this._dirty=!0,this},applyProjection:function(e){var t=this.array;if(e=e.array,0===e[15]){var r=-1/t[2];t[0]=e[0]*t[0]*r,t[1]=e[5]*t[1]*r,t[2]=(e[10]*t[2]+e[14])*r}else t[0]=e[0]*t[0]+e[12],t[1]=e[5]*t[1]+e[13],t[2]=e[10]*t[2]+e[14];return this._dirty=!0,this},eulerFromQuat:function(e,t){a.eulerFromQuat(this,e,t)},eulerFromMat3:function(e,t){a.eulerFromMat3(this,e,t)},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}};var o=Object.defineProperty;if(o){var s=a.prototype;o(s,"x",{get:function(){return this.array[0]},set:function(e){this.array[0]=e,this._dirty=!0}}),o(s,"y",{get:function(){return this.array[1]},set:function(e){this.array[1]=e,this._dirty=!0}}),o(s,"z",{get:function(){return this.array[2]},set:function(e){this.array[2]=e,this._dirty=!0}})}a.add=function(e,t,r){return i.a.add(e.array,t.array,r.array),e._dirty=!0,e},a.set=function(e,t,r,n){i.a.set(e.array,t,r,n),e._dirty=!0},a.copy=function(e,t){return i.a.copy(e.array,t.array),e._dirty=!0,e},a.cross=function(e,t,r){return i.a.cross(e.array,t.array,r.array),e._dirty=!0,e},a.dist=function(e,t){return i.a.distance(e.array,t.array)},a.distance=a.dist,a.div=function(e,t,r){return i.a.divide(e.array,t.array,r.array),e._dirty=!0,e},a.divide=a.div,a.dot=function(e,t){return i.a.dot(e.array,t.array)},a.len=function(e){return i.a.length(e.array)},a.lerp=function(e,t,r,n){return i.a.lerp(e.array,t.array,r.array,n),e._dirty=!0,e},a.min=function(e,t,r){return i.a.min(e.array,t.array,r.array),e._dirty=!0,e},a.max=function(e,t,r){return i.a.max(e.array,t.array,r.array),e._dirty=!0,e},a.mul=function(e,t,r){return i.a.multiply(e.array,t.array,r.array),e._dirty=!0,e},a.multiply=a.mul,a.negate=function(e,t){return i.a.negate(e.array,t.array),e._dirty=!0,e},a.normalize=function(e,t){return i.a.normalize(e.array,t.array),e._dirty=!0,e},a.random=function(e,t){return i.a.random(e.array,t),e._dirty=!0,e},a.scale=function(e,t,r){return i.a.scale(e.array,t.array,r),e._dirty=!0,e},a.scaleAndAdd=function(e,t,r,n){return i.a.scaleAndAdd(e.array,t.array,r.array,n),e._dirty=!0,e},a.sqrDist=function(e,t){return i.a.sqrDist(e.array,t.array)},a.squaredDistance=a.sqrDist,a.sqrLen=function(e){return i.a.sqrLen(e.array)},a.squaredLength=a.sqrLen,a.sub=function(e,t,r){return i.a.subtract(e.array,t.array,r.array),e._dirty=!0,e},a.subtract=a.sub,a.transformMat3=function(e,t,r){return i.a.transformMat3(e.array,t.array,r.array),e._dirty=!0,e},a.transformMat4=function(e,t,r){return i.a.transformMat4(e.array,t.array,r.array),e._dirty=!0,e},a.transformQuat=function(e,t,r){return i.a.transformQuat(e.array,t.array,r.array),e._dirty=!0,e};var u=Math.atan2,l=Math.asin,h=Math.abs;a.eulerFromQuat=function(e,t,r){e._dirty=!0,t=t.array;var i=e.array,a=t[0],o=t[1],s=t[2],h=t[3],c=a*a,d=o*o,f=s*s,p=h*h,r=(r||"XYZ").toUpperCase();switch(r){case"XYZ":i[0]=u(2*(a*h-o*s),p-c-d+f),i[1]=l(n(2*(a*s+o*h),-1,1)),i[2]=u(2*(s*h-a*o),p+c-d-f);break;case"YXZ":i[0]=l(n(2*(a*h-o*s),-1,1)),i[1]=u(2*(a*s+o*h),p-c-d+f),i[2]=u(2*(a*o+s*h),p-c+d-f);break;case"ZXY":i[0]=l(n(2*(a*h+o*s),-1,1)),i[1]=u(2*(o*h-s*a),p-c-d+f),i[2]=u(2*(s*h-a*o),p-c+d-f);break;case"ZYX":i[0]=u(2*(a*h+s*o),p-c-d+f),i[1]=l(n(2*(o*h-a*s),-1,1)),i[2]=u(2*(a*o+s*h),p+c-d-f);break;case"YZX":i[0]=u(2*(a*h-s*o),p-c+d-f),i[1]=u(2*(o*h-a*s),p+c-d-f),i[2]=l(n(2*(a*o+s*h),-1,1));break;case"XZY":i[0]=u(2*(a*h+o*s),p-c+d-f),i[1]=u(2*(a*s+o*h),p+c-d-f),i[2]=l(n(2*(s*h-a*o),-1,1));break;default:console.warn("Unkown order: "+r)}return e},a.eulerFromMat3=function(e,t,r){var i=t.array,a=i[0],o=i[3],s=i[6],c=i[1],d=i[4],f=i[7],p=i[2],m=i[5],g=i[8],_=e.array,r=(r||"XYZ").toUpperCase();switch(r){case"XYZ":_[1]=l(n(s,-1,1)),h(s)<.99999?(_[0]=u(-f,g),_[2]=u(-o,a)):(_[0]=u(m,d),_[2]=0);break;case"YXZ":_[0]=l(-n(f,-1,1)),h(f)<.99999?(_[1]=u(s,g),_[2]=u(c,d)):(_[1]=u(-p,a),_[2]=0);break;case"ZXY":_[0]=l(n(m,-1,1)),h(m)<.99999?(_[1]=u(-p,g),_[2]=u(-o,d)):(_[1]=0,_[2]=u(c,a));break;case"ZYX":_[1]=l(-n(p,-1,1)),h(p)<.99999?(_[0]=u(m,g),_[2]=u(c,a)):(_[0]=0,_[2]=u(-o,d));break;case"YZX":_[2]=l(n(c,-1,1)),h(c)<.99999?(_[0]=u(-f,d),_[1]=u(-p,a)):(_[0]=0,_[1]=u(s,g));break;case"XZY":_[2]=l(-n(o,-1,1)),h(o)<.99999?(_[0]=u(m,d),_[1]=u(s,a)):(_[0]=u(-f,g),_[1]=0);break;default:console.warn("Unkown order: "+r)}return e._dirty=!0,e},Object.defineProperties(a,{POSITIVE_X:{get:function(){return new a(1,0,0)}},NEGATIVE_X:{get:function(){return new a(-1,0,0)}},POSITIVE_Y:{get:function(){return new a(0,1,0)}},NEGATIVE_Y:{get:function(){return new a(0,-1,0)}},POSITIVE_Z:{get:function(){return new a(0,0,1)}},NEGATIVE_Z:{get:function(){return new a(0,0,-1)}},UP:{get:function(){return new a(0,1,0)}},ZERO:{get:function(){return new a}}}),t.a=a},function(e,t,r){"use strict";var n=r(7),i=r(11),a=r(57),o=n.a.extend({width:512,height:512,type:i.a.UNSIGNED_BYTE,format:i.a.RGBA,wrapS:i.a.REPEAT,wrapT:i.a.REPEAT,minFilter:i.a.LINEAR_MIPMAP_LINEAR,magFilter:i.a.LINEAR,useMipmap:!0,anisotropic:1,flipY:!0,sRGB:!0,unpackAlignment:4,premultiplyAlpha:!1,dynamic:!1,NPOT:!1,__used:0},function(){this._cache=new a.a},{getWebGLTexture:function(e){var t=e.gl,r=this._cache;return r.use(e.__uid__),r.miss("webgl_texture")&&r.put("webgl_texture",t.createTexture()),this.dynamic?this.update(e):r.isDirty()&&(this.update(e),r.fresh()),r.get("webgl_texture")},bind:function(){},unbind:function(){},dirty:function(){this._cache&&this._cache.dirtyAll()},update:function(e){},updateCommon:function(e){var t=e.gl;t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,this.flipY),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,this.premultiplyAlpha),t.pixelStorei(t.UNPACK_ALIGNMENT,this.unpackAlignment),this.format===i.a.DEPTH_COMPONENT&&(this.useMipmap=!1);var r=e.getGLExtension("EXT_sRGB");this.format!==o.SRGB||r||(this.format=o.RGB),this.format!==o.SRGB_ALPHA||r||(this.format=o.RGBA),this.NPOT=!this.isPowerOfTwo()},getAvailableWrapS:function(){return this.NPOT?i.a.CLAMP_TO_EDGE:this.wrapS},getAvailableWrapT:function(){return this.NPOT?i.a.CLAMP_TO_EDGE:this.wrapT},getAvailableMinFilter:function(){var e=this.minFilter;return this.NPOT||!this.useMipmap?e===i.a.NEAREST_MIPMAP_NEAREST||e===i.a.NEAREST_MIPMAP_LINEAR?i.a.NEAREST:e===i.a.LINEAR_MIPMAP_LINEAR||e===i.a.LINEAR_MIPMAP_NEAREST?i.a.LINEAR:e:e},getAvailableMagFilter:function(){return this.magFilter},nextHighestPowerOfTwo:function(e){--e;for(var t=1;t<32;t<<=1)e|=e>>t;return e+1},dispose:function(e){var t=this._cache;t.use(e.__uid__);var r=t.get("webgl_texture");r&&e.gl.deleteTexture(r),t.deleteContext(e.__uid__)},isRenderable:function(){},isPowerOfTwo:function(){}});Object.defineProperty(o.prototype,"width",{get:function(){return this._width},set:function(e){this._width=e}}),Object.defineProperty(o.prototype,"height",{get:function(){return this._height},set:function(e){this._height=e}}),o.BYTE=i.a.BYTE,o.UNSIGNED_BYTE=i.a.UNSIGNED_BYTE,o.SHORT=i.a.SHORT,o.UNSIGNED_SHORT=i.a.UNSIGNED_SHORT,o.INT=i.a.INT,o.UNSIGNED_INT=i.a.UNSIGNED_INT,o.FLOAT=i.a.FLOAT,o.HALF_FLOAT=36193,o.UNSIGNED_INT_24_8_WEBGL=34042,o.DEPTH_COMPONENT=i.a.DEPTH_COMPONENT,o.DEPTH_STENCIL=i.a.DEPTH_STENCIL,o.ALPHA=i.a.ALPHA,o.RGB=i.a.RGB,o.RGBA=i.a.RGBA,o.LUMINANCE=i.a.LUMINANCE,o.LUMINANCE_ALPHA=i.a.LUMINANCE_ALPHA,o.SRGB=35904,o.SRGB_ALPHA=35906,o.COMPRESSED_RGB_S3TC_DXT1_EXT=33776,o.COMPRESSED_RGBA_S3TC_DXT1_EXT=33777,o.COMPRESSED_RGBA_S3TC_DXT3_EXT=33778,o.COMPRESSED_RGBA_S3TC_DXT5_EXT=33779,o.NEAREST=i.a.NEAREST,o.LINEAR=i.a.LINEAR,o.NEAREST_MIPMAP_NEAREST=i.a.NEAREST_MIPMAP_NEAREST,o.LINEAR_MIPMAP_NEAREST=i.a.LINEAR_MIPMAP_NEAREST,o.NEAREST_MIPMAP_LINEAR=i.a.NEAREST_MIPMAP_LINEAR,o.LINEAR_MIPMAP_LINEAR=i.a.LINEAR_MIPMAP_LINEAR,o.REPEAT=i.a.REPEAT,o.CLAMP_TO_EDGE=i.a.CLAMP_TO_EDGE,o.MIRRORED_REPEAT=i.a.MIRRORED_REPEAT,t.a=o},function(e,t,r){"use strict";function n(e){return Math.pow(2,Math.round(Math.log(e)/Math.LN2))}function i(e,t){var r=n(e.width),i=n(e.height);return t=t||document.createElement("canvas"),t.width=r,t.height=i,t.getContext("2d").drawImage(e.image,0,0,r,i),t}var a=r(4),o=r(11),s=r(14),u=r(73),l=u.a.isPowerOfTwo,h=a.a.extend(function(){return{image:null,pixels:null,mipmaps:[],convertToPOT:!1}},{textureType:"texture2D",update:function(e){var t=e.gl;t.bindTexture(t.TEXTURE_2D,this._cache.get("webgl_texture")),this.updateCommon(e);var r=this.format,n=this.type,i=!(!this.convertToPOT||this.mipmaps.length||!this.image||this.wrapS!==a.a.REPEAT&&this.wrapT!==a.a.REPEAT||!this.NPOT);t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,i?this.wrapS:this.getAvailableWrapS()),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,i?this.wrapT:this.getAvailableWrapT()),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,i?this.magFilter:this.getAvailableMagFilter()),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,i?this.minFilter:this.getAvailableMinFilter());var s=e.getGLExtension("EXT_texture_filter_anisotropic");if(s&&this.anisotropic>1&&t.texParameterf(t.TEXTURE_2D,s.TEXTURE_MAX_ANISOTROPY_EXT,this.anisotropic),36193===n){e.getGLExtension("OES_texture_half_float")||(n=o.a.FLOAT)}if(this.mipmaps.length)for(var u=this.width,l=this.height,h=0;h<this.mipmaps.length;h++){var c=this.mipmaps[h];this._updateTextureData(t,c,h,u,l,r,n,!1),u/=2,l/=2}else this._updateTextureData(t,this,0,this.width,this.height,r,n,i),!this.useMipmap||this.NPOT&&!i||t.generateMipmap(t.TEXTURE_2D);t.bindTexture(t.TEXTURE_2D,null)},_updateTextureData:function(e,t,r,n,o,s,u,l){if(t.image){var h=t.image;l&&(this._potCanvas=i(this,this._potCanvas),h=this._potCanvas),e.texImage2D(e.TEXTURE_2D,r,s,s,u,h)}else s<=a.a.COMPRESSED_RGBA_S3TC_DXT5_EXT&&s>=a.a.COMPRESSED_RGB_S3TC_DXT1_EXT?e.compressedTexImage2D(e.TEXTURE_2D,r,s,n,o,0,t.pixels):e.texImage2D(e.TEXTURE_2D,r,s,n,o,0,s,u,t.pixels)},generateMipmap:function(e){var t=e.gl;this.useMipmap&&!this.NPOT&&(t.bindTexture(t.TEXTURE_2D,this._cache.get("webgl_texture")),t.generateMipmap(t.TEXTURE_2D))},isPowerOfTwo:function(){return l(this.width)&&l(this.height)},isRenderable:function(){return this.image?"CANVAS"===this.image.nodeName||"VIDEO"===this.image.nodeName||this.image.complete:!(!this.width||!this.height)},bind:function(e){e.gl.bindTexture(e.gl.TEXTURE_2D,this.getWebGLTexture(e))},unbind:function(e){e.gl.bindTexture(e.gl.TEXTURE_2D,null)},load:function(e,t){var r=s.a.createImage();t&&(r.crossOrigin=t);var n=this;return r.onload=function(){n.dirty(),n.trigger("success",n),r.onload=null},r.onerror=function(){n.trigger("error",n),r.onerror=null},r.src=e,this.image=r,this}});Object.defineProperty(h.prototype,"width",{get:function(){return this.image?this.image.width:this._width},set:function(e){this.image?console.warn("Texture from image can't set width"):(this._width!==e&&this.dirty(),this._width=e)}}),Object.defineProperty(h.prototype,"height",{get:function(){return this.image?this.image.height:this._height},set:function(e){this.image?console.warn("Texture from image can't set height"):(this._height!==e&&this.dirty(),this._height=e)}}),t.a=h},function(e,t,r){"use strict";var n=r(161);t.a=n.a},function(e,t,r){"use strict";var n=r(110),i=r(53),a=r(23),o=function(){this.__uid__=a.a.genGUID()};o.__initializers__=[function(e){a.a.extend(this,e)}],a.a.extend(o,n.a),a.a.extend(o.prototype,i.a),t.a=o},function(e,t,r){"use strict";function n(e){for(var t=[],r=0;r<e;r++)t[r]=0;return t}function i(e,t){var r="vertex:"+e+"fragment:"+t;if(x[r])return x[r];var n=l.a.genGUID();return x[r]=n,T[n]={vertex:e,fragment:t},n}function a(e){return e.replace(/[ \t]*\/\/.*\n/g,"").replace(/[ \t]*\/\*[\s\S]*?\*\//g,"")}function o(){console.error("Wrong uniform/attributes syntax")}function s(e,t){function r(e){e||o();var t=e.match(/\[(.*?)\]/);u=e.replace(/\[(.*?)\]/,""),c[u]={},t&&(c[u].isArray=!0,c[u].arraySize=t[1])}for(var n=/[,=\(\):]/,i=t.replace(/:\s*\[\s*(.*)\s*\]/g,"="+e+"($1)").replace(/\s+/g,"").split(/(?=[,=\(\):])/g),a=[],s=0;s<i.length;s++)i[s].match(n)?a.push(i[s].charAt(0),i[s].slice(1)):a.push(i[s]);i=a;var u,l=0,c={},d=null;r(i[0]);for(var s=1;s<i.length;s++){var f=i[s];if(f)if("="!==f)if(":"!==f)if(","!==f)if(")"!==f)if("("!==f)if(f.indexOf("vec")>=0){if(1!==l&&4!==l){o();break}l=2,d=[]}else if(1!==l)if(4!==l)r(f),l=0;else{var p=f;g.indexOf(p)>=0||_.indexOf(p)>=0||v.indexOf(p)>=0?c[u].semantic=p:"ignore"===p||"unconfigurable"===p?c[u].ignore=!0:c[u].value="bool"===e?"true"===p:parseFloat(p)}else c[u].value="bool"===e?"true"===f:parseFloat(f),d=null;else{if(2!==l){o();break}if(!(d instanceof Array)){o();break}d.push(+i[++s])}else c[u].value=new h.a.Float32Array(d),d=null,l=5;else if(2===l){if(!(d instanceof Array)){o();break}d.push(+i[++s])}else l=5;else l=4;else{if(0!==l&&3!==l){o();break}l=1}}return c}function u(e,t){"object"==typeof e&&(t=e.fragment,e=e.vertex),e=a(e),t=a(t),this._shaderID=i(e,t),this._vertexCode=u.parseImport(e),this._fragmentCode=u.parseImport(t),this.attributeSemantics={},this.matrixSemantics={},this.uniformSemantics={},this.matrixSemanticKeys=[],this.uniformTemplates={},this.attributes={},this.textures={},this.vertexDefines={},this.fragmentDefines={},this._parseAttributes(),this._parseUniforms(),this._parseDefines()}var l=r(23),h=r(14),c=/uniform\s+(bool|float|int|vec2|vec3|vec4|ivec2|ivec3|ivec4|mat2|mat3|mat4|sampler2D|samplerCube)\s+([\s\S]*?);/g,d=/attribute\s+(float|int|vec2|vec3|vec4)\s+([\s\S]*?);/g,f=/#define\s+(\w+)?(\s+[\d-.]+)?\s*;?\s*\n/g,p={bool:"1i",int:"1i",sampler2D:"t",samplerCube:"t",float:"1f",vec2:"2f",vec3:"3f",vec4:"4f",ivec2:"2i",ivec3:"3i",ivec4:"4i",mat2:"m2",mat3:"m3",mat4:"m4"},m={bool:function(){return!0},int:function(){return 0},float:function(){return 0},sampler2D:function(){return null},samplerCube:function(){return null},vec2:function(){return n(2)},vec3:function(){return n(3)},vec4:function(){return n(4)},ivec2:function(){return n(2)},ivec3:function(){return n(3)},ivec4:function(){return n(4)},mat2:function(){return n(4)},mat3:function(){return n(9)},mat4:function(){return n(16)},array:function(){return[]}},g=["POSITION","NORMAL","BINORMAL","TANGENT","TEXCOORD","TEXCOORD_0","TEXCOORD_1","COLOR","JOINT","WEIGHT"],_=["SKIN_MATRIX","VIEWPORT_SIZE","VIEWPORT","DEVICEPIXELRATIO","WINDOW_SIZE","NEAR","FAR","TIME"],v=["WORLD","VIEW","PROJECTION","WORLDVIEW","VIEWPROJECTION","WORLDVIEWPROJECTION","WORLDINVERSE","VIEWINVERSE","PROJECTIONINVERSE","WORLDVIEWINVERSE","VIEWPROJECTIONINVERSE","WORLDVIEWPROJECTIONINVERSE","WORLDTRANSPOSE","VIEWTRANSPOSE","PROJECTIONTRANSPOSE","WORLDVIEWTRANSPOSE","VIEWPROJECTIONTRANSPOSE","WORLDVIEWPROJECTIONTRANSPOSE","WORLDINVERSETRANSPOSE","VIEWINVERSETRANSPOSE","PROJECTIONINVERSETRANSPOSE","WORLDVIEWINVERSETRANSPOSE","VIEWPROJECTIONINVERSETRANSPOSE","WORLDVIEWPROJECTIONINVERSETRANSPOSE"],y={vec4:4,vec3:3,vec2:2,float:1},x={},T={};u.prototype={constructor:u,createUniforms:function(){var e={};for(var t in this.uniformTemplates){var r=this.uniformTemplates[t];e[t]={type:r.type,value:r.value()}}return e},_parseImport:function(){this._vertexCode=u.parseImport(this.vertex),this._fragmentCode=u.parseImport(this.fragment)},_addSemanticUniform:function(e,t,r){if(g.indexOf(r)>=0)this.attributeSemantics[r]={symbol:e,type:t};else if(v.indexOf(r)>=0){var n=!1,i=r;r.match(/TRANSPOSE$/)&&(n=!0,i=r.slice(0,-9)),this.matrixSemantics[r]={symbol:e,type:t,isTranspose:n,semanticNoTranspose:i}}else _.indexOf(r)>=0&&(this.uniformSemantics[r]={symbol:e,type:t})},_addMaterialUniform:function(e,t,r,n,i,a){a[e]={type:r,value:i?m.array:n||m[t],semantic:null}},_parseUniforms:function(){function e(e){return null!=e?function(){return e}:null}function t(t,a,o){var u=s(a,o),l=[];for(var h in u){var c=u[h],d=c.semantic,f=h,m=p[a],g=e(u[h].value);u[h].isArray&&(f+="["+u[h].arraySize+"]",m+="v"),l.push(f),n._uniformList.push(h),c.ignore||("sampler2D"!==a&&"samplerCube"!==a||(n.textures[h]={shaderType:i,type:a}),d?n._addSemanticUniform(h,m,d):n._addMaterialUniform(h,a,m,g,u[h].isArray,r))}return l.length>0?"uniform "+a+" "+l.join(",")+";\n":""}var r={},n=this,i="vertex";this._uniformList=[],this._vertexCode=this._vertexCode.replace(c,t),i="fragment",this._fragmentCode=this._fragmentCode.replace(c,t),n.matrixSemanticKeys=Object.keys(this.matrixSemantics),this.uniformTemplates=r},_parseAttributes:function(){function e(e,n,i){var a=s(n,i),o=y[n]||1,u=[];for(var l in a){var h=a[l].semantic;if(t[l]={type:"float",size:o,semantic:h||null},h){if(g.indexOf(h)<0)throw new Error('Unkown semantic "'+h+'"');r.attributeSemantics[h]={symbol:l,type:n}}u.push(l)}return"attribute "+n+" "+u.join(",")+";\n"}var t={},r=this;this._vertexCode=this._vertexCode.replace(d,e),this.attributes=t},_parseDefines:function(){function e(e,n,i){var a="vertex"===r?t.vertexDefines:t.fragmentDefines;return a[n]||(a[n]="false"!==i&&("true"===i||(i?isNaN(parseFloat(i))?i.trim():parseFloat(i):null))),""}var t=this,r="vertex";this._vertexCode=this._vertexCode.replace(f,e),r="fragment",this._fragmentCode=this._fragmentCode.replace(f,e)},clone:function(){var e=T[this._shaderID];return new u(e.vertex,e.fragment)}},Object.defineProperty&&(Object.defineProperty(u.prototype,"shaderID",{get:function(){return this._shaderID}}),Object.defineProperty(u.prototype,"vertex",{get:function(){return this._vertexCode}}),Object.defineProperty(u.prototype,"fragment",{get:function(){return this._fragmentCode}}),Object.defineProperty(u.prototype,"uniforms",{get:function(){return this._uniformList}}));var b=/(@import)\s*([0-9a-zA-Z_\-\.]*)/g;u.parseImport=function(e){return e=e.replace(b,function(e,t,r){var e=u.source(r);return e?u.parseImport(e):(console.error('Shader chunk "'+r+'" not existed in library'),"")})};var w=/(@export)\s*([0-9a-zA-Z_\-\.]*)\s*\n([\s\S]*?)@end/g;u.import=function(e){e.replace(w,function(e,t,r,n){var n=n.replace(/(^[\s\t\xa0\u3000]+)|([\u3000\xa0\s\t]+\x24)/g,"");if(n){for(var i,a=r.split("."),o=u.codes,s=0;s<a.length-1;)i=a[s++],o[i]||(o[i]={}),o=o[i];i=a[s],o[i]=n}return n})},u.codes={},u.source=function(e){for(var t=e.split("."),r=u.codes,n=0;r&&n<t.length;){r=r[t[n++]]}return"string"!=typeof r?(console.error('Shader "'+e+'" not existed in library'),""):r},t.a=u},function(e,t,r){"use strict";var n=r(21),i=r(12),a=r(55),o=r(34),s=r(3),u=function(){this._axisX=new s.a,this._axisY=new s.a,this._axisZ=new s.a,this.array=n.a.create(),this._dirty=!0};u.prototype={constructor:u,setArray:function(e){for(var t=0;t<this.array.length;t++)this.array[t]=e[t];return this._dirty=!0,this},adjoint:function(){return n.a.adjoint(this.array,this.array),this._dirty=!0,this},clone:function(){return(new u).copy(this)},copy:function(e){return n.a.copy(this.array,e.array),this._dirty=!0,this},determinant:function(){return n.a.determinant(this.array)},fromQuat:function(e){return n.a.fromQuat(this.array,e.array),this._dirty=!0,this},fromRotationTranslation:function(e,t){return n.a.fromRotationTranslation(this.array,e.array,t.array),this._dirty=!0,this},fromMat2d:function(e){return u.fromMat2d(this,e),this},frustum:function(e,t,r,i,a,o){return n.a.frustum(this.array,e,t,r,i,a,o),this._dirty=!0,this},identity:function(){return n.a.identity(this.array),this._dirty=!0,this},invert:function(){return n.a.invert(this.array,this.array),this._dirty=!0,this},lookAt:function(e,t,r){return n.a.lookAt(this.array,e.array,t.array,r.array),this._dirty=!0,this},mul:function(e){return n.a.mul(this.array,this.array,e.array),this._dirty=!0,this},mulLeft:function(e){return n.a.mul(this.array,e.array,this.array),this._dirty=!0,this},multiply:function(e){return n.a.multiply(this.array,this.array,e.array),this._dirty=!0,this},multiplyLeft:function(e){return n.a.multiply(this.array,e.array,this.array),this._dirty=!0,this},ortho:function(e,t,r,i,a,o){return n.a.ortho(this.array,e,t,r,i,a,o),this._dirty=!0,this},perspective:function(e,t,r,i){return n.a.perspective(this.array,e,t,r,i),this._dirty=!0,this},rotate:function(e,t){return n.a.rotate(this.array,this.array,e,t.array),this._dirty=!0,this},rotateX:function(e){return n.a.rotateX(this.array,this.array,e),this._dirty=!0,this},rotateY:function(e){return n.a.rotateY(this.array,this.array,e),this._dirty=!0,this},rotateZ:function(e){return n.a.rotateZ(this.array,this.array,e),this._dirty=!0,this},scale:function(e){return n.a.scale(this.array,this.array,e.array),this._dirty=!0,this},translate:function(e){return n.a.translate(this.array,this.array,e.array),this._dirty=!0,this},transpose:function(){return n.a.transpose(this.array,this.array),this._dirty=!0,this},decomposeMatrix:function(){var e=i.a.create(),t=i.a.create(),r=i.a.create(),n=o.a.create();return function(s,u,l){var h=this.array;i.a.set(e,h[0],h[1],h[2]),i.a.set(t,h[4],h[5],h[6]),i.a.set(r,h[8],h[9],h[10]);var c=i.a.length(e),d=i.a.length(t),f=i.a.length(r);this.determinant()<0&&(c=-c),s&&s.set(c,d,f),l.set(h[12],h[13],h[14]),o.a.fromMat4(n,h),n[0]/=c,n[1]/=c,n[2]/=c,n[3]/=d,n[4]/=d,n[5]/=d,n[6]/=f,n[7]/=f,n[8]/=f,a.a.fromMat3(u.array,n),a.a.normalize(u.array,u.array),u._dirty=!0,l._dirty=!0}}(),toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}};var l=Object.defineProperty;if(l){var h=u.prototype;l(h,"z",{get:function(){var e=this.array;return this._axisZ.set(e[8],e[9],e[10]),this._axisZ},set:function(e){var t=this.array;e=e.array,t[8]=e[0],t[9]=e[1],t[10]=e[2],this._dirty=!0}}),l(h,"y",{get:function(){var e=this.array;return this._axisY.set(e[4],e[5],e[6]),this._axisY},set:function(e){var t=this.array;e=e.array,t[4]=e[0],t[5]=e[1],t[6]=e[2],this._dirty=!0}}),l(h,"x",{get:function(){var e=this.array;return this._axisX.set(e[0],e[1],e[2]),this._axisX},set:function(e){var t=this.array;e=e.array,t[0]=e[0],t[1]=e[1],t[2]=e[2],this._dirty=!0}})}u.adjoint=function(e,t){return n.a.adjoint(e.array,t.array),e._dirty=!0,e},u.copy=function(e,t){return n.a.copy(e.array,t.array),e._dirty=!0,e},u.determinant=function(e){return n.a.determinant(e.array)},u.identity=function(e){return n.a.identity(e.array),e._dirty=!0,e},u.ortho=function(e,t,r,i,a,o,s){return n.a.ortho(e.array,t,r,i,a,o,s),e._dirty=!0,e},u.perspective=function(e,t,r,i,a){return n.a.perspective(e.array,t,r,i,a),e._dirty=!0,e},u.lookAt=function(e,t,r,i){return n.a.lookAt(e.array,t.array,r.array,i.array),e._dirty=!0,e},u.invert=function(e,t){return n.a.invert(e.array,t.array),e._dirty=!0,e},u.mul=function(e,t,r){return n.a.mul(e.array,t.array,r.array),e._dirty=!0,e},u.multiply=u.mul,u.fromQuat=function(e,t){return n.a.fromQuat(e.array,t.array),e._dirty=!0,e},u.fromRotationTranslation=function(e,t,r){return n.a.fromRotationTranslation(e.array,t.array,r.array),e._dirty=!0,e},u.fromMat2d=function(e,t){e._dirty=!0;var t=t.array,e=e.array;return e[0]=t[0],e[4]=t[2],e[12]=t[4],e[1]=t[1],e[5]=t[3],e[13]=t[5],e},u.rotate=function(e,t,r,i){return n.a.rotate(e.array,t.array,r,i.array),e._dirty=!0,e},u.rotateX=function(e,t,r){return n.a.rotateX(e.array,t.array,r),e._dirty=!0,e},u.rotateY=function(e,t,r){return n.a.rotateY(e.array,t.array,r),e._dirty=!0,e},u.rotateZ=function(e,t,r){return n.a.rotateZ(e.array,t.array,r),e._dirty=!0,e},u.scale=function(e,t,r){return n.a.scale(e.array,t.array,r.array),e._dirty=!0,e},u.transpose=function(e,t){return n.a.transpose(e.array,t.array),e._dirty=!0,e},u.translate=function(e,t,r){return n.a.translate(e.array,t.array,r.array),e._dirty=!0,e},t.a=u},function(e,t,r){"use strict";var n=r(7),i=r(4),a=(r(27),r(11)),o=r(57),s=a.a.FRAMEBUFFER,u=a.a.RENDERBUFFER,l=a.a.DEPTH_ATTACHMENT,h=a.a.COLOR_ATTACHMENT0,c=n.a.extend({depthBuffer:!0,viewport:null,_width:0,_height:0,_textures:null,_boundRenderer:null},function(){this._cache=new o.a,this._textures={}},{getTextureWidth:function(){return this._width},getTextureHeight:function(){return this._height},bind:function(e){if(e.__currentFrameBuffer){if(e.__currentFrameBuffer===this)return;console.warn("Renderer already bound with another framebuffer. Unbind it first")}e.__currentFrameBuffer=this;var t=e.gl;t.bindFramebuffer(s,this._getFrameBufferGL(e)),this._boundRenderer=e;var r=this._cache;r.put("viewport",e.viewport);var n,i,a=!1;for(var o in this._textures){a=!0;var h=this._textures[o];h&&(n=h.texture.width,i=h.texture.height,this._doAttach(e,h.texture,o,h.target))}this._width=n,this._height=i,!a&&this.depthBuffer&&console.error("Must attach texture before bind, or renderbuffer may have incorrect width and height."),this.viewport?e.setViewport(this.viewport):e.setViewport(0,0,n,i,1);var c=r.get("attached_textures");if(c)for(var o in c)if(!this._textures[o]){var d=c[o];this._doDetach(t,o,d)}if(!r.get("depthtexture_attached")&&this.depthBuffer){r.miss("renderbuffer")&&r.put("renderbuffer",t.createRenderbuffer());var f=r.get("renderbuffer");n===r.get("renderbuffer_width")&&i===r.get("renderbuffer_height")||(t.bindRenderbuffer(u,f),t.renderbufferStorage(u,t.DEPTH_COMPONENT16,n,i),r.put("renderbuffer_width",n),r.put("renderbuffer_height",i),t.bindRenderbuffer(u,null)),r.get("renderbuffer_attached")||(t.framebufferRenderbuffer(s,l,u,f),r.put("renderbuffer_attached",!0))}},unbind:function(e){e.__currentFrameBuffer=null,e.gl.bindFramebuffer(s,null),this._boundRenderer=null,this._cache.use(e.__uid__);var t=this._cache.get("viewport");t&&e.setViewport(t),this.updateMipmap(e)},updateMipmap:function(e){var t=e.gl;for(var r in this._textures){var n=this._textures[r];if(n){var o=n.texture;if(!o.NPOT&&o.useMipmap&&o.minFilter===i.a.LINEAR_MIPMAP_LINEAR){var s="textureCube"===o.textureType?a.a.TEXTURE_CUBE_MAP:a.a.TEXTURE_2D;t.bindTexture(s,o.getWebGLTexture(e)),t.generateMipmap(s),t.bindTexture(s,null)}}}},checkStatus:function(e){return e.checkFramebufferStatus(s)},_getFrameBufferGL:function(e){var t=this._cache;return t.use(e.__uid__),t.miss("framebuffer")&&t.put("framebuffer",e.gl.createFramebuffer()),t.get("framebuffer")},attach:function(e,t,r){if(!e.width)throw new Error("The texture attached to color buffer is not a valid.");t=t||h,r=r||a.a.TEXTURE_2D;var n,i=this._boundRenderer,o=i&&i.gl;if(o){var s=this._cache;s.use(i.__uid__),n=s.get("attached_textures")}var u=this._textures[t];if(!u||u.target!==r||u.texture!==e||!n||null==n[t]){var l=!0;i&&(l=this._doAttach(i,e,t,r),this.viewport||i.setViewport(0,0,e.width,e.height,1)),l&&(this._textures[t]=this._textures[t]||{},this._textures[t].texture=e,this._textures[t].target=r)}},_doAttach:function(e,t,r,n){var i=e.gl,o=t.getWebGLTexture(e),h=this._cache.get("attached_textures");if(h&&h[r]){var c=h[r];if(c.texture===t&&c.target===n)return}r=+r;var d=!0;if(r===l||r===a.a.DEPTH_STENCIL_ATTACHMENT){if(e.getGLExtension("WEBGL_depth_texture")||(console.error("Depth texture is not supported by the browser"),d=!1),t.format!==a.a.DEPTH_COMPONENT&&t.format!==a.a.DEPTH_STENCIL&&(console.error("The texture attached to depth buffer is not a valid."),d=!1),d){var f=this._cache.get("renderbuffer");f&&(i.framebufferRenderbuffer(s,l,u,null),i.deleteRenderbuffer(f),this._cache.put("renderbuffer",!1)),this._cache.put("renderbuffer_attached",!1),this._cache.put("depthtexture_attached",!0)}}return i.framebufferTexture2D(s,r,n,o,0),h||(h={},this._cache.put("attached_textures",h)),h[r]=h[r]||{},h[r].texture=t,h[r].target=n,d},_doDetach:function(e,t,r){e.framebufferTexture2D(s,t,r,null,0);var n=this._cache.get("attached_textures");n&&n[t]&&(n[t]=null),t!==l&&t!==a.a.DEPTH_STENCIL_ATTACHMENT||this._cache.put("depthtexture_attached",!1)},detach:function(e,t){if(this._textures[e]=null,this._boundRenderer){this._cache.use(this._boundRenderer.__uid__),this._doDetach(this._boundRenderer.gl,e,t)}},dispose:function(e){var t=e.gl,r=this._cache;r.use(e.__uid__);var n=r.get("renderbuffer");n&&t.deleteRenderbuffer(n);var i=r.get("framebuffer");i&&t.deleteFramebuffer(i),r.deleteContext(e.__uid__),this._textures={}}});c.DEPTH_ATTACHMENT=l,c.COLOR_ATTACHMENT0=h,c.STENCIL_ATTACHMENT=a.a.STENCIL_ATTACHMENT,c.DEPTH_STENCIL_ATTACHMENT=a.a.DEPTH_STENCIL_ATTACHMENT,t.a=c},function(e,t,r){"use strict";t.a={DEPTH_BUFFER_BIT:256,STENCIL_BUFFER_BIT:1024,COLOR_BUFFER_BIT:16384,POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,ZERO:0,ONE:1,SRC_COLOR:768,ONE_MINUS_SRC_COLOR:769,SRC_ALPHA:770,ONE_MINUS_SRC_ALPHA:771,DST_ALPHA:772,ONE_MINUS_DST_ALPHA:773,DST_COLOR:774,ONE_MINUS_DST_COLOR:775,SRC_ALPHA_SATURATE:776,FUNC_ADD:32774,BLEND_EQUATION:32777,BLEND_EQUATION_RGB:32777,BLEND_EQUATION_ALPHA:34877,FUNC_SUBTRACT:32778,FUNC_REVERSE_SUBTRACT:32779,BLEND_DST_RGB:32968,BLEND_SRC_RGB:32969,BLEND_DST_ALPHA:32970,BLEND_SRC_ALPHA:32971,CONSTANT_COLOR:32769,ONE_MINUS_CONSTANT_COLOR:32770,CONSTANT_ALPHA:32771,ONE_MINUS_CONSTANT_ALPHA:32772,BLEND_COLOR:32773,ARRAY_BUFFER:34962,ELEMENT_ARRAY_BUFFER:34963,ARRAY_BUFFER_BINDING:34964,ELEMENT_ARRAY_BUFFER_BINDING:34965,STREAM_DRAW:35040,STATIC_DRAW:35044,DYNAMIC_DRAW:35048,BUFFER_SIZE:34660,BUFFER_USAGE:34661,CURRENT_VERTEX_ATTRIB:34342,FRONT:1028,BACK:1029,FRONT_AND_BACK:1032,CULL_FACE:2884,BLEND:3042,DITHER:3024,STENCIL_TEST:2960,DEPTH_TEST:2929,SCISSOR_TEST:3089,POLYGON_OFFSET_FILL:32823,SAMPLE_ALPHA_TO_COVERAGE:32926,SAMPLE_COVERAGE:32928,NO_ERROR:0,INVALID_ENUM:1280,INVALID_VALUE:1281,INVALID_OPERATION:1282,OUT_OF_MEMORY:1285,CW:2304,CCW:2305,LINE_WIDTH:2849,ALIASED_POINT_SIZE_RANGE:33901,ALIASED_LINE_WIDTH_RANGE:33902,CULL_FACE_MODE:2885,FRONT_FACE:2886,DEPTH_RANGE:2928,DEPTH_WRITEMASK:2930,DEPTH_CLEAR_VALUE:2931,DEPTH_FUNC:2932,STENCIL_CLEAR_VALUE:2961,STENCIL_FUNC:2962,STENCIL_FAIL:2964,STENCIL_PASS_DEPTH_FAIL:2965,STENCIL_PASS_DEPTH_PASS:2966,STENCIL_REF:2967,STENCIL_VALUE_MASK:2963,STENCIL_WRITEMASK:2968,STENCIL_BACK_FUNC:34816,STENCIL_BACK_FAIL:34817,STENCIL_BACK_PASS_DEPTH_FAIL:34818,STENCIL_BACK_PASS_DEPTH_PASS:34819,STENCIL_BACK_REF:36003,STENCIL_BACK_VALUE_MASK:36004,STENCIL_BACK_WRITEMASK:36005,VIEWPORT:2978,SCISSOR_BOX:3088,COLOR_CLEAR_VALUE:3106,COLOR_WRITEMASK:3107,UNPACK_ALIGNMENT:3317,PACK_ALIGNMENT:3333,MAX_TEXTURE_SIZE:3379,MAX_VIEWPORT_DIMS:3386,SUBPIXEL_BITS:3408,RED_BITS:3410,GREEN_BITS:3411,BLUE_BITS:3412,ALPHA_BITS:3413,DEPTH_BITS:3414,STENCIL_BITS:3415,POLYGON_OFFSET_UNITS:10752,POLYGON_OFFSET_FACTOR:32824,TEXTURE_BINDING_2D:32873,SAMPLE_BUFFERS:32936,SAMPLES:32937,SAMPLE_COVERAGE_VALUE:32938,SAMPLE_COVERAGE_INVERT:32939,COMPRESSED_TEXTURE_FORMATS:34467,DONT_CARE:4352,FASTEST:4353,NICEST:4354,GENERATE_MIPMAP_HINT:33170,BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DEPTH_COMPONENT:6402,ALPHA:6406,RGB:6407,RGBA:6408,LUMINANCE:6409,LUMINANCE_ALPHA:6410,UNSIGNED_SHORT_4_4_4_4:32819,UNSIGNED_SHORT_5_5_5_1:32820,UNSIGNED_SHORT_5_6_5:33635,FRAGMENT_SHADER:35632,VERTEX_SHADER:35633,MAX_VERTEX_ATTRIBS:34921,MAX_VERTEX_UNIFORM_VECTORS:36347,MAX_VARYING_VECTORS:36348,MAX_COMBINED_TEXTURE_IMAGE_UNITS:35661,MAX_VERTEX_TEXTURE_IMAGE_UNITS:35660,MAX_TEXTURE_IMAGE_UNITS:34930,MAX_FRAGMENT_UNIFORM_VECTORS:36349,SHADER_TYPE:35663,DELETE_STATUS:35712,LINK_STATUS:35714,VALIDATE_STATUS:35715,ATTACHED_SHADERS:35717,ACTIVE_UNIFORMS:35718,ACTIVE_ATTRIBUTES:35721,SHADING_LANGUAGE_VERSION:35724,CURRENT_PROGRAM:35725,NEVER:512,LESS:513,EQUAL:514,LEQUAL:515,GREATER:516,NOTEQUAL:517,GEQUAL:518,ALWAYS:519,KEEP:7680,REPLACE:7681,INCR:7682,DECR:7683,INVERT:5386,INCR_WRAP:34055,DECR_WRAP:34056,VENDOR:7936,RENDERER:7937,VERSION:7938,NEAREST:9728,LINEAR:9729,NEAREST_MIPMAP_NEAREST:9984,LINEAR_MIPMAP_NEAREST:9985,NEAREST_MIPMAP_LINEAR:9986,LINEAR_MIPMAP_LINEAR:9987,TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,TEXTURE_2D:3553,TEXTURE:5890,TEXTURE_CUBE_MAP:34067,TEXTURE_BINDING_CUBE_MAP:34068,TEXTURE_CUBE_MAP_POSITIVE_X:34069,TEXTURE_CUBE_MAP_NEGATIVE_X:34070,TEXTURE_CUBE_MAP_POSITIVE_Y:34071,TEXTURE_CUBE_MAP_NEGATIVE_Y:34072,TEXTURE_CUBE_MAP_POSITIVE_Z:34073,TEXTURE_CUBE_MAP_NEGATIVE_Z:34074,MAX_CUBE_MAP_TEXTURE_SIZE:34076,TEXTURE0:33984,TEXTURE1:33985,TEXTURE2:33986,TEXTURE3:33987,TEXTURE4:33988,TEXTURE5:33989,TEXTURE6:33990,TEXTURE7:33991,TEXTURE8:33992,TEXTURE9:33993,TEXTURE10:33994,TEXTURE11:33995,TEXTURE12:33996,TEXTURE13:33997,TEXTURE14:33998,TEXTURE15:33999,TEXTURE16:34e3,TEXTURE17:34001,TEXTURE18:34002,TEXTURE19:34003,TEXTURE20:34004,TEXTURE21:34005,TEXTURE22:34006,TEXTURE23:34007,TEXTURE24:34008,TEXTURE25:34009,TEXTURE26:34010,TEXTURE27:34011,TEXTURE28:34012,TEXTURE29:34013,TEXTURE30:34014,TEXTURE31:34015,ACTIVE_TEXTURE:34016,REPEAT:10497,CLAMP_TO_EDGE:33071,MIRRORED_REPEAT:33648,FLOAT_VEC2:35664,FLOAT_VEC3:35665,FLOAT_VEC4:35666,INT_VEC2:35667,INT_VEC3:35668,INT_VEC4:35669,BOOL:35670,BOOL_VEC2:35671,BOOL_VEC3:35672,BOOL_VEC4:35673,FLOAT_MAT2:35674,FLOAT_MAT3:35675,FLOAT_MAT4:35676,SAMPLER_2D:35678,SAMPLER_CUBE:35680,VERTEX_ATTRIB_ARRAY_ENABLED:34338,VERTEX_ATTRIB_ARRAY_SIZE:34339,VERTEX_ATTRIB_ARRAY_STRIDE:34340,VERTEX_ATTRIB_ARRAY_TYPE:34341,VERTEX_ATTRIB_ARRAY_NORMALIZED:34922,VERTEX_ATTRIB_ARRAY_POINTER:34373,VERTEX_ATTRIB_ARRAY_BUFFER_BINDING:34975,COMPILE_STATUS:35713,LOW_FLOAT:36336,MEDIUM_FLOAT:36337,HIGH_FLOAT:36338,LOW_INT:36339,MEDIUM_INT:36340,HIGH_INT:36341,FRAMEBUFFER:36160,RENDERBUFFER:36161,RGBA4:32854,RGB5_A1:32855,RGB565:36194,DEPTH_COMPONENT16:33189,STENCIL_INDEX:6401,STENCIL_INDEX8:36168,DEPTH_STENCIL:34041,RENDERBUFFER_WIDTH:36162,RENDERBUFFER_HEIGHT:36163,RENDERBUFFER_INTERNAL_FORMAT:36164,RENDERBUFFER_RED_SIZE:36176,RENDERBUFFER_GREEN_SIZE:36177,RENDERBUFFER_BLUE_SIZE:36178,RENDERBUFFER_ALPHA_SIZE:36179,RENDERBUFFER_DEPTH_SIZE:36180,RENDERBUFFER_STENCIL_SIZE:36181,FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE:36048,FRAMEBUFFER_ATTACHMENT_OBJECT_NAME:36049,FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL:36050,FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE:36051,COLOR_ATTACHMENT0:36064,DEPTH_ATTACHMENT:36096,STENCIL_ATTACHMENT:36128,DEPTH_STENCIL_ATTACHMENT:33306,NONE:0,FRAMEBUFFER_COMPLETE:36053,FRAMEBUFFER_INCOMPLETE_ATTACHMENT:36054,FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:36055,FRAMEBUFFER_INCOMPLETE_DIMENSIONS:36057,FRAMEBUFFER_UNSUPPORTED:36061,FRAMEBUFFER_BINDING:36006,RENDERBUFFER_BINDING:36007,MAX_RENDERBUFFER_SIZE:34024,INVALID_FRAMEBUFFER_OPERATION:1286,UNPACK_FLIP_Y_WEBGL:37440,UNPACK_PREMULTIPLY_ALPHA_WEBGL:37441,CONTEXT_LOST_WEBGL:37442,UNPACK_COLORSPACE_CONVERSION_WEBGL:37443,BROWSER_DEFAULT_WEBGL:37444}},function(e,t,r){"use strict";var n=r(20),i={};i.create=function(){var e=new n.a(3);return e[0]=0,e[1]=0,e[2]=0,e},i.clone=function(e){var t=new n.a(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t},i.fromValues=function(e,t,r){var i=new n.a(3);return i[0]=e,i[1]=t,i[2]=r,i},i.copy=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e},i.set=function(e,t,r,n){return e[0]=t,e[1]=r,e[2]=n,e},i.add=function(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e},i.subtract=function(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e},i.sub=i.subtract,i.multiply=function(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e},i.mul=i.multiply,i.divide=function(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e},i.div=i.divide,i.min=function(e,t,r){return e[0]=Math.min(t[0],r[0]),e[1]=Math.min(t[1],r[1]),e[2]=Math.min(t[2],r[2]),e},i.max=function(e,t,r){return e[0]=Math.max(t[0],r[0]),e[1]=Math.max(t[1],r[1]),e[2]=Math.max(t[2],r[2]),e},i.scale=function(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e},i.scaleAndAdd=function(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e},i.distance=function(e,t){var r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return Math.sqrt(r*r+n*n+i*i)},i.dist=i.distance,i.squaredDistance=function(e,t){var r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return r*r+n*n+i*i},i.sqrDist=i.squaredDistance,i.length=function(e){var t=e[0],r=e[1],n=e[2];return Math.sqrt(t*t+r*r+n*n)},i.len=i.length,i.squaredLength=function(e){var t=e[0],r=e[1],n=e[2];return t*t+r*r+n*n},i.sqrLen=i.squaredLength,i.negate=function(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e},i.inverse=function(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e},i.normalize=function(e,t){var r=t[0],n=t[1],i=t[2],a=r*r+n*n+i*i;return a>0&&(a=1/Math.sqrt(a),e[0]=t[0]*a,e[1]=t[1]*a,e[2]=t[2]*a),e},i.dot=function(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]},i.cross=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],u=r[2];return e[0]=i*u-a*s,e[1]=a*o-n*u,e[2]=n*s-i*o,e},i.lerp=function(e,t,r,n){var i=t[0],a=t[1],o=t[2];return e[0]=i+n*(r[0]-i),e[1]=a+n*(r[1]-a),e[2]=o+n*(r[2]-o),e},i.random=function(e,t){t=t||1;var r=2*Object(n.c)()*Math.PI,i=2*Object(n.c)()-1,a=Math.sqrt(1-i*i)*t;return e[0]=Math.cos(r)*a,e[1]=Math.sin(r)*a,e[2]=i*t,e},i.transformMat4=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=r[3]*n+r[7]*i+r[11]*a+r[15];return o=o||1,e[0]=(r[0]*n+r[4]*i+r[8]*a+r[12])/o,e[1]=(r[1]*n+r[5]*i+r[9]*a+r[13])/o,e[2]=(r[2]*n+r[6]*i+r[10]*a+r[14])/o,e},i.transformMat3=function(e,t,r){var n=t[0],i=t[1],a=t[2];return e[0]=n*r[0]+i*r[3]+a*r[6],e[1]=n*r[1]+i*r[4]+a*r[7],e[2]=n*r[2]+i*r[5]+a*r[8],e},i.transformQuat=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],u=r[2],l=r[3],h=l*n+s*a-u*i,c=l*i+u*n-o*a,d=l*a+o*i-s*n,f=-o*n-s*i-u*a;return e[0]=h*l+f*-o+c*-u-d*-s,e[1]=c*l+f*-s+d*-o-h*-u,e[2]=d*l+f*-u+h*-s-c*-o,e},i.rotateX=function(e,t,r,n){var i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[0],a[1]=i[1]*Math.cos(n)-i[2]*Math.sin(n),a[2]=i[1]*Math.sin(n)+i[2]*Math.cos(n),e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e},i.rotateY=function(e,t,r,n){var i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[2]*Math.sin(n)+i[0]*Math.cos(n),a[1]=i[1],a[2]=i[2]*Math.cos(n)-i[0]*Math.sin(n),e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e},i.rotateZ=function(e,t,r,n){var i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[0]*Math.cos(n)-i[1]*Math.sin(n),a[1]=i[0]*Math.sin(n)+i[1]*Math.cos(n),a[2]=i[2],e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e},i.forEach=function(){var e=i.create();return function(t,r,n,i,a,o){var s,u;for(r||(r=3),n||(n=0),u=i?Math.min(i*r+n,t.length):t.length,s=n;s<u;s+=r)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],a(e,e,o),t[s]=e[0],t[s+1]=e[1],t[s+2]=e[2];return t}}(),i.angle=function(e,t){var r=i.fromValues(e[0],e[1],e[2]),n=i.fromValues(t[0],t[1],t[2]);i.normalize(r,r),i.normalize(n,n);var a=i.dot(r,n);return a>1?0:Math.acos(a)},t.a=i},function(e,t){function r(e,t){"createCanvas"===e&&(J=null),K[e]=t}function n(e){if(null==e||"object"!=typeof e)return e;var t=e,r=k.call(e);if("[object Array]"===r){if(!F(e)){t=[];for(var i=0,a=e.length;i<a;i++)t[i]=n(e[i])}}else if(V[r]){if(!F(e)){var o=e.constructor;if(e.constructor.from)t=o.from(e);else{t=new o(e.length);for(var i=0,a=e.length;i<a;i++)t[i]=n(e[i])}}}else if(!H[r]&&!F(e)&&!A(e)){t={};for(var s in e)e.hasOwnProperty(s)&&(t[s]=n(e[s]))}return t}function i(e,t,r){if(!w(t)||!w(e))return r?n(t):e;for(var a in t)if(t.hasOwnProperty(a)){var o=e[a],s=t[a];!w(s)||!w(o)||x(s)||x(o)||A(s)||A(o)||E(s)||E(o)||F(s)||F(o)?!r&&a in e||(e[a]=n(t[a],!0)):i(o,s,r)}return e}function a(e,t){for(var r=e[0],n=1,a=e.length;n<a;n++)r=i(r,e[n],t);return r}function o(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);return e}function s(e,t,r){for(var n in t)t.hasOwnProperty(n)&&(r?null!=t[n]:null==e[n])&&(e[n]=t[n]);return e}function u(){return J||(J=Q().getContext("2d")),J}function l(e,t){if(e){if(e.indexOf)return e.indexOf(t);for(var r=0,n=e.length;r<n;r++)if(e[r]===t)return r}return-1}function h(e,t){function r(){}var n=e.prototype;r.prototype=t.prototype,e.prototype=new r;for(var i in n)e.prototype[i]=n[i];e.prototype.constructor=e,e.superClass=t}function c(e,t,r){e="prototype"in e?e.prototype:e,t="prototype"in t?t.prototype:t,s(e,t,r)}function d(e){if(e)return"string"!=typeof e&&"number"==typeof e.length}function f(e,t,r){if(e&&t)if(e.forEach&&e.forEach===j)e.forEach(t,r);else if(e.length===+e.length)for(var n=0,i=e.length;n<i;n++)t.call(r,e[n],n,e);else for(var a in e)e.hasOwnProperty(a)&&t.call(r,e[a],a,e)}function p(e,t,r){if(e&&t){if(e.map&&e.map===Z)return e.map(t,r);for(var n=[],i=0,a=e.length;i<a;i++)n.push(t.call(r,e[i],i,e));return n}}function m(e,t,r,n){if(e&&t){if(e.reduce&&e.reduce===Y)return e.reduce(t,r,n);for(var i=0,a=e.length;i<a;i++)r=t.call(n,r,e[i],i,e);return r}}function g(e,t,r){if(e&&t){if(e.filter&&e.filter===X)return e.filter(t,r);for(var n=[],i=0,a=e.length;i<a;i++)t.call(r,e[i],i,e)&&n.push(e[i]);return n}}function _(e,t,r){if(e&&t)for(var n=0,i=e.length;n<i;n++)if(t.call(r,e[n],n,e))return e[n]}function v(e,t){var r=q.call(arguments,2);return function(){return e.apply(t,r.concat(q.call(arguments)))}}function y(e){var t=q.call(arguments,1);return function(){return e.apply(this,t.concat(q.call(arguments)))}}function x(e){return"[object Array]"===k.call(e)}function T(e){return"function"==typeof e}function b(e){return"[object String]"===k.call(e)}function w(e){var t=typeof e;return"function"===t||!!e&&"object"==t}function E(e){return!!H[k.call(e)]}function S(e){return!!V[k.call(e)]}function A(e){return"object"==typeof e&&"number"==typeof e.nodeType&&"object"==typeof e.ownerDocument}function M(e){return e!==e}function C(e){for(var t=0,r=arguments.length;t<r;t++)if(null!=arguments[t])return arguments[t]}function L(e,t){return null!=e?e:t}function D(e,t,r){return null!=e?e:null!=t?t:r}function N(){return Function.call.apply(q,arguments)}function R(e){if("number"==typeof e)return[e,e,e,e];var t=e.length;return 2===t?[e[0],e[1],e[0],e[1]]:3===t?[e[0],e[1],e[2],e[1]]:e}function P(e,t){if(!e)throw new Error(t)}function I(e){return null==e?null:"function"==typeof e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}function O(e){e[$]=!0}function F(e){return e[$]}function B(e){function t(e,t){r?n.set(e,t):n.set(t,e)}var r=x(e),n=this;e instanceof B?e.each(t):e&&f(e,t)}function U(e){return new B(e)}function z(e,t){for(var r=new e.constructor(e.length+t.length),n=0;n<e.length;n++)r[n]=e[n];var i=e.length;for(n=0;n<t.length;n++)r[n+i]=t[n];return r}function G(){}var H={"[object Function]":1,"[object RegExp]":1,"[object Date]":1,"[object Error]":1,"[object CanvasGradient]":1,"[object CanvasPattern]":1,"[object Image]":1,"[object Canvas]":1},V={"[object Int8Array]":1,"[object Uint8Array]":1,"[object Uint8ClampedArray]":1,"[object Int16Array]":1,"[object Uint16Array]":1,"[object Int32Array]":1,"[object Uint32Array]":1,"[object Float32Array]":1,"[object Float64Array]":1},k=Object.prototype.toString,W=Array.prototype,j=W.forEach,X=W.filter,q=W.slice,Z=W.map,Y=W.reduce,K={},Q=function(){return K.createCanvas()};K.createCanvas=function(){return document.createElement("canvas")};var J,$="__ec_primitive__";B.prototype={constructor:B,get:function(e){return this.hasOwnProperty(e)?this[e]:null},set:function(e,t){return this[e]=t},each:function(e,t){void 0!==t&&(e=v(e,t));for(var r in this)this.hasOwnProperty(r)&&e(this[r],r)},removeKey:function(e){delete this[e]}},t.$override=r,t.clone=n,t.merge=i,t.mergeAll=a,t.extend=o,t.defaults=s,t.createCanvas=Q,t.getContext=u,t.indexOf=l,t.inherits=h,t.mixin=c,t.isArrayLike=d,t.each=f,t.map=p,t.reduce=m,t.filter=g,t.find=_,t.bind=v,t.curry=y,t.isArray=x,t.isFunction=T,t.isString=b,t.isObject=w,t.isBuiltInObject=E,t.isTypedArray=S,t.isDom=A,t.eqNaN=M,t.retrieve=C,t.retrieve2=L,t.retrieve3=D,t.slice=N,t.normalizeCssArray=R,t.assert=P,t.trim=I,t.setAsPrimitive=O,t.isPrimitive=F,t.createHashMap=U,t.concatArray=z,t.noop=G},function(e,t,r){"use strict";(function(e){var n,i=r(112),a={};a.supportWebGL=function(){if(null==n)try{var e=document.createElement("canvas");if(!(e.getContext("webgl")||e.getContext("experimental-webgl")))throw new Error}catch(e){n=!1}return n},a.Int8Array="undefined"==typeof Int8Array?Array:Int8Array,a.Uint8Array="undefined"==typeof Uint8Array?Array:Uint8Array,a.Uint16Array="undefined"==typeof Uint16Array?Array:Uint16Array,a.Uint32Array="undefined"==typeof Uint32Array?Array:Uint32Array,a.Int16Array="undefined"==typeof Int16Array?Array:Int16Array,a.Float32Array="undefined"==typeof Float32Array?Array:Float32Array,a.Float64Array="undefined"==typeof Float64Array?Array:Float64Array;var o={};"undefined"!=typeof window?o=window:void 0!==e&&(o=e),a.requestAnimationFrame=o.requestAnimationFrame||o.msRequestAnimationFrame||o.mozRequestAnimationFrame||o.webkitRequestAnimationFrame||function(e){setTimeout(e,16)},a.createCanvas=function(){return document.createElement("canvas")},a.createImage=function(){return new o.Image},a.request={get:i.a.get},t.a=a}).call(t,r(68))},function(e,t,r){"use strict";var n=r(14),i=r(12),a=r(21),o=r(18),s=r(118),u=i.a.create,l=i.a.add,h=i.a.set,c=s.a.Attribute,d=s.a.extend(function(){return{attributes:{position:new c("position","float",3,"POSITION"),texcoord0:new c("texcoord0","float",2,"TEXCOORD_0"),texcoord1:new c("texcoord1","float",2,"TEXCOORD_1"),normal:new c("normal","float",3,"NORMAL"),tangent:new c("tangent","float",4,"TANGENT"),color:new c("color","float",4,"COLOR"),weight:new c("weight","float",3,"WEIGHT"),joint:new c("joint","float",4,"JOINT"),barycentric:new c("barycentric","float",3,null)},boundingBox:null}},{mainAttribute:"position",updateBoundingBox:function(){var e=this.boundingBox;e||(e=this.boundingBox=new o.a);var t=this.attributes.position.value;if(t&&t.length){var r=e.min,n=e.max,a=r.array,s=n.array;i.a.set(a,t[0],t[1],t[2]),i.a.set(s,t[0],t[1],t[2]);for(var u=3;u<t.length;){var l=t[u++],h=t[u++],c=t[u++];l<a[0]&&(a[0]=l),h<a[1]&&(a[1]=h),c<a[2]&&(a[2]=c),l>s[0]&&(s[0]=l),h>s[1]&&(s[1]=h),c>s[2]&&(s[2]=c)}r._dirty=!0,n._dirty=!0}},generateVertexNormals:function(){if(this.vertexCount){var e=this.indices,t=this.attributes,r=t.position.value,a=t.normal.value;if(a&&a.length===r.length)for(var o=0;o<a.length;o++)a[o]=0;else a=t.normal.value=new n.a.Float32Array(r.length);for(var s,l,c,d=u(),f=u(),p=u(),m=u(),g=u(),_=u(),v=e?e.length:this.vertexCount,y=0;y<v;){e?(s=e[y++],l=e[y++],c=e[y++]):(s=y++,l=y++,c=y++),h(d,r[3*s],r[3*s+1],r[3*s+2]),h(f,r[3*l],r[3*l+1],r[3*l+2]),h(p,r[3*c],r[3*c+1],r[3*c+2]),i.a.sub(m,d,f),i.a.sub(g,f,p),i.a.cross(_,m,g);for(var o=0;o<3;o++)a[3*s+o]=a[3*s+o]+_[o],a[3*l+o]=a[3*l+o]+_[o],a[3*c+o]=a[3*c+o]+_[o]}for(var o=0;o<a.length;)h(_,a[o],a[o+1],a[o+2]),i.a.normalize(_,_),a[o++]=_[0],a[o++]=_[1],a[o++]=_[2];this.dirty()}},generateFaceNormals:function(){if(this.vertexCount){this.isUniqueVertex()||this.generateUniqueVertex();var e=this.indices,t=this.attributes,r=t.position.value,n=t.normal.value,a=u(),o=u(),s=u(),l=u(),c=u(),d=u();n||(n=t.normal.value=new Float32Array(r.length));for(var f,p,m,g=e?e.length:this.vertexCount,_=0;_<g;){e?(f=e[_++],p=e[_++],m=e[_++]):(f=_++,p=_++,m=_++),h(a,r[3*f],r[3*f+1],r[3*f+2]),h(o,r[3*p],r[3*p+1],r[3*p+2]),h(s,r[3*m],r[3*m+1],r[3*m+2]),i.a.sub(l,a,o),i.a.sub(c,o,s),i.a.cross(d,l,c),i.a.normalize(d,d);for(var v=0;v<3;v++)n[3*f+v]=d[v],n[3*p+v]=d[v],n[3*m+v]=d[v]}this.dirty()}},generateTangents:function(){if(this.vertexCount){var e=this.vertexCount,t=this.attributes;t.tangent.value||(t.tangent.value=new Float32Array(4*e));var r=t.texcoord0.value,n=t.position.value,a=t.tangent.value,o=t.normal.value;if(!r)return void console.warn("Geometry without texcoords can't generate tangents.");for(var s=[],h=[],c=0;c<e;c++)s[c]=[0,0,0],h[c]=[0,0,0];for(var d,f,p,m=[0,0,0],g=[0,0,0],_=this.indices,v=_?_.length:this.vertexCount,c=0;c<v;){_?(d=_[c++],f=_[c++],p=_[c++]):(d=c++,f=c++,p=c++);var y=r[2*d],x=r[2*f],T=r[2*p],b=r[2*d+1],w=r[2*f+1],E=r[2*p+1],S=n[3*d],A=n[3*f],M=n[3*p],C=n[3*d+1],L=n[3*f+1],D=n[3*p+1],N=n[3*d+2],R=n[3*f+2],P=n[3*p+2],I=A-S,O=M-S,F=L-C,B=D-C,U=R-N,z=P-N,G=x-y,H=T-y,V=w-b,k=E-b,W=1/(G*k-V*H);m[0]=(k*I-V*O)*W,m[1]=(k*F-V*B)*W,m[2]=(k*U-V*z)*W,g[0]=(G*O-H*I)*W,g[1]=(G*B-H*F)*W,g[2]=(G*z-H*U)*W,l(s[d],s[d],m),l(s[f],s[f],m),l(s[p],s[p],m),l(h[d],h[d],g),l(h[f],h[f],g),l(h[p],h[p],g)}for(var j=u(),X=u(),q=u(),c=0;c<e;c++){q[0]=o[3*c],q[1]=o[3*c+1],q[2]=o[3*c+2];var Z=s[c];i.a.scale(j,q,i.a.dot(q,Z)),i.a.sub(j,Z,j),i.a.normalize(j,j),i.a.cross(X,q,Z),a[4*c]=j[0],a[4*c+1]=j[1],a[4*c+2]=j[2],a[4*c+3]=i.a.dot(X,h[c])<0?-1:1}this.dirty()}},isUniqueVertex:function(){return!this.isUseIndices()||this.vertexCount===this.indices.length},generateUniqueVertex:function(){if(this.vertexCount&&this.indices){this.indices.length>65535&&(this.indices=new n.a.Uint32Array(this.indices));for(var e=this.attributes,t=this.indices,r=this.getEnabledAttributes(),i={},a=0;a<r.length;a++){var o=r[a];i[o]=e[o].value,e[o].init(this.indices.length)}for(var s=0,u=0;u<t.length;u++){for(var l=t[u],a=0;a<r.length;a++)for(var o=r[a],h=e[o].value,c=e[o].size,d=0;d<c;d++)h[s*c+d]=i[o][l*c+d];t[u]=s,s++}this.dirty()}},generateBarycentric:function(){if(this.vertexCount){this.isUniqueVertex()||this.generateUniqueVertex();var e=this.attributes,t=e.barycentric.value,r=this.indices;if(!t||t.length!==3*r.length){t=e.barycentric.value=new Float32Array(3*r.length);for(var n=0;n<(r?r.length:this.vertexCount/3);)for(var i=0;i<3;i++){var a=r?r[n++]:3*n+i;t[3*a+i]=1}this.dirty()}}},applyTransform:function(e){var t=this.attributes,r=t.position.value,n=t.normal.value,o=t.tangent.value;e=e.array;var s=a.a.create();a.a.invert(s,e),a.a.transpose(s,s);var u=i.a.transformMat4,l=i.a.forEach;l(r,3,0,null,u,e),n&&l(n,3,0,null,u,s),o&&l(o,4,0,null,u,s),this.boundingBox&&this.updateBoundingBox()},dispose:function(e){var t=this._cache;t.use(e.__uid__);var r=t.get("chunks");if(r)for(var n=0;n<r.length;n++){for(var i=r[n],a=0;a<i.attributeBuffers.length;a++){var o=i.attributeBuffers[a];e.gl.deleteBuffer(o.buffer)}i.indicesBuffer&&e.gl.deleteBuffer(i.indicesBuffer.buffer)}if(this.__vaoCache){var s=e.getGLExtension("OES_vertex_array_object");for(var u in this.__vaoCache){var l=this.__vaoCache[u].vao;l&&s.deleteVertexArrayOES(l)}}this.__vaoCache={},t.deleteContext(e.__uid__)}});d.STATIC_DRAW=s.a.STATIC_DRAW,d.DYNAMIC_DRAW=s.a.DYNAMIC_DRAW,d.STREAM_DRAW=s.a.STREAM_DRAW,d.AttributeBuffer=s.a.AttributeBuffer,d.IndicesBuffer=s.a.IndicesBuffer,d.Attribute=c,t.a=d},function(e,t,r){"use strict";var n=r(7),i=r(37),a=r(43),o=r(8),s=r(19),u=r(40),l=r(11),h=r(126);o.a.import(h.a);var c=new a.a,d=new u.a({geometry:c,frustumCulling:!1}),f=new i.a,p=n.a.extend(function(){return{fragment:"",outputs:null,material:null,blendWithPrevious:!1,clearColor:!1,clearDepth:!0}},function(){var e=new o.a(o.a.source("clay.compositor.vertex"),this.fragment),t=new s.a({shader:e});t.enableTexturesAll(),this.material=t},{setUniform:function(e,t){this.material.setUniform(e,t)},getUniform:function(e){var t=this.material.uniforms[e];if(t)return t.value},attachOutput:function(e,t){this.outputs||(this.outputs={}),t=t||l.a.COLOR_ATTACHMENT0,this.outputs[t]=e},detachOutput:function(e){for(var t in this.outputs)this.outputs[t]===e&&(this.outputs[t]=null)},bind:function(e,t){if(this.outputs)for(var r in this.outputs){var n=this.outputs[r];n&&t.attach(n,r)}t&&t.bind(e)},unbind:function(e,t){t.unbind(e)},render:function(e,t){var r=e.gl;if(t){this.bind(e,t);var n=e.getGLExtension("EXT_draw_buffers");if(n&&this.outputs){var i=[];for(var a in this.outputs)(a=+a)>=r.COLOR_ATTACHMENT0&&a<=r.COLOR_ATTACHMENT0+8&&i.push(a);n.drawBuffersEXT(i)}}this.trigger("beforerender",this,e);var o=this.clearDepth?r.DEPTH_BUFFER_BIT:0;if(r.depthMask(!0),this.clearColor){o|=r.COLOR_BUFFER_BIT,r.colorMask(!0,!0,!0,!0);var s=this.clearColor;Array.isArray(s)&&r.clearColor(s[0],s[1],s[2],s[3])}r.clear(o),this.blendWithPrevious?(r.enable(r.BLEND),this.material.transparent=!0):(r.disable(r.BLEND),this.material.transparent=!1),this.renderQuad(e),this.trigger("afterrender",this,e),t&&this.unbind(e,t)},renderQuad:function(e){d.material=this.material,e.renderPass([d],f)},dispose:function(e){}});t.a=p},function(e,t,r){"use strict";t.a=function(e,t,r){return{seriesType:e,reset:function(e,t){function r(e,t){var r=e.getItemModel(t),n=r.get(i,!0);null!=n&&e.setItemVisual(t,"opacity",n)}var n=e.getData(),i=e.visualColorAccessPath.split(".");i[i.length-1]="opacity";var a=e.get(i);return n.setVisual("opacity",null==a?1:a),{dataEach:n.hasItemOption?r:null}}}}},function(e,t,r){"use strict";var n=r(3),i=r(12),a=i.a.set,o=i.a.copy,s=function(e,t){this.min=e||new n.a(1/0,1/0,1/0),this.max=t||new n.a(-1/0,-1/0,-1/0),this.vertices=null};s.prototype={constructor:s,updateFromVertices:function(e){if(e.length>0){var t=this.min,r=this.max,n=t.array,i=r.array;o(n,e[0]),o(i,e[0]);for(var a=1;a<e.length;a++){var s=e[a];s[0]<n[0]&&(n[0]=s[0]),s[1]<n[1]&&(n[1]=s[1]),s[2]<n[2]&&(n[2]=s[2]),s[0]>i[0]&&(i[0]=s[0]),s[1]>i[1]&&(i[1]=s[1]),s[2]>i[2]&&(i[2]=s[2])}t._dirty=!0,r._dirty=!0}},union:function(e){var t=this.min,r=this.max;return i.a.min(t.array,t.array,e.min.array),i.a.max(r.array,r.array,e.max.array),t._dirty=!0,r._dirty=!0,this},intersection:function(e){var t=this.min,r=this.max;return i.a.max(t.array,t.array,e.min.array),i.a.min(r.array,r.array,e.max.array),t._dirty=!0,r._dirty=!0,this},intersectBoundingBox:function(e){var t=this.min.array,r=this.max.array,n=e.min.array,i=e.max.array;return!(t[0]>i[0]||t[1]>i[1]||t[2]>i[2]||r[0]<n[0]||r[1]<n[1]||r[2]<n[2])},containBoundingBox:function(e){var t=this.min.array,r=this.max.array,n=e.min.array,i=e.max.array;return t[0]<=n[0]&&t[1]<=n[1]&&t[2]<=n[2]&&r[0]>=i[0]&&r[1]>=i[1]&&r[2]>=i[2]},containPoint:function(e){var t=this.min.array,r=this.max.array,n=e.array;return t[0]<=n[0]&&t[1]<=n[1]&&t[2]<=n[2]&&r[0]>=n[0]&&r[1]>=n[1]&&r[2]>=n[2]},isFinite:function(){var e=this.min.array,t=this.max.array;return isFinite(e[0])&&isFinite(e[1])&&isFinite(e[2])&&isFinite(t[0])&&isFinite(t[1])&&isFinite(t[2])},applyTransform:function(e){this.transformFrom(this,e)},transformFrom:function(){var e=i.a.create(),t=i.a.create(),r=i.a.create(),n=i.a.create(),a=i.a.create(),o=i.a.create();return function(i,s){var u=i.min.array,l=i.max.array,h=s.array;return e[0]=h[0]*u[0],e[1]=h[1]*u[0],e[2]=h[2]*u[0],t[0]=h[0]*l[0],t[1]=h[1]*l[0],t[2]=h[2]*l[0],r[0]=h[4]*u[1],r[1]=h[5]*u[1],r[2]=h[6]*u[1],n[0]=h[4]*l[1],n[1]=h[5]*l[1],n[2]=h[6]*l[1],a[0]=h[8]*u[2],a[1]=h[9]*u[2],a[2]=h[10]*u[2],o[0]=h[8]*l[2],o[1]=h[9]*l[2],o[2]=h[10]*l[2],u=this.min.array,l=this.max.array,u[0]=Math.min(e[0],t[0])+Math.min(r[0],n[0])+Math.min(a[0],o[0])+h[12],u[1]=Math.min(e[1],t[1])+Math.min(r[1],n[1])+Math.min(a[1],o[1])+h[13],u[2]=Math.min(e[2],t[2])+Math.min(r[2],n[2])+Math.min(a[2],o[2])+h[14],l[0]=Math.max(e[0],t[0])+Math.max(r[0],n[0])+Math.max(a[0],o[0])+h[12],l[1]=Math.max(e[1],t[1])+Math.max(r[1],n[1])+Math.max(a[1],o[1])+h[13],l[2]=Math.max(e[2],t[2])+Math.max(r[2],n[2])+Math.max(a[2],o[2])+h[14],this.min._dirty=!0,this.max._dirty=!0,this}}(),applyProjection:function(e){var t=this.min.array,r=this.max.array,n=e.array,i=t[0],a=t[1],o=t[2],s=r[0],u=r[1],l=t[2],h=r[0],c=r[1],d=r[2];if(1===n[15])t[0]=n[0]*i+n[12],t[1]=n[5]*a+n[13],r[2]=n[10]*o+n[14],r[0]=n[0]*h+n[12],r[1]=n[5]*c+n[13],t[2]=n[10]*d+n[14];else{var f=-1/o;t[0]=n[0]*i*f,t[1]=n[5]*a*f,r[2]=(n[10]*o+n[14])*f,f=-1/l,r[0]=n[0]*s*f,r[1]=n[5]*u*f,f=-1/d,t[2]=(n[10]*d+n[14])*f}return this.min._dirty=!0,this.max._dirty=!0,this},updateVertices:function(){var e=this.vertices;if(!e){e=[];for(var t=0;t<8;t++)e[t]=i.a.fromValues(0,0,0);this.vertices=e}var r=this.min.array,n=this.max.array;return a(e[0],r[0],r[1],r[2]),a(e[1],r[0],n[1],r[2]),a(e[2],n[0],r[1],r[2]),a(e[3],n[0],n[1],r[2]),a(e[4],r[0],r[1],n[2]),a(e[5],r[0],n[1],n[2]),a(e[6],n[0],r[1],n[2]),a(e[7],n[0],n[1],n[2]),this},copy:function(e){var t=this.min,r=this.max;return o(t.array,e.min.array),o(r.array,e.max.array),t._dirty=!0,r._dirty=!0,this},clone:function(){var e=new s;return e.copy(this),e}},t.a=s},function(e,t,r){"use strict";function n(e){var t=Object.keys(e);t.sort();for(var r=[],n=0;n<t.length;n++){var i=t[n],a=e[i];null===a?r.push(i):r.push(i+" "+a.toString())}return r.join("\n")}function i(e,t,r){r.sort();for(var i=[],a=0;a<r.length;a++){var s=r[a];i.push(s)}var u=n(e)+"\n"+n(t)+"\n"+i.join("\n");if(l[u])return l[u];var h=o.a.genGUID();return l[u]=h,h}var a=r(7),o=r(23),s=r(113),u=s.a.parseToFloat,l={},h=a.a.extend(function(){return{name:"",depthTest:!0,depthMask:!0,transparent:!1,blend:null,autoUpdateTextureStatus:!0,uniforms:{},vertexDefines:{},fragmentDefines:{},_textureStatus:{},_enabledUniforms:null}},function(){this.name||(this.name="MATERIAL_"+this.__uid__),this.shader&&this.attachShader(this.shader,!0)},{precision:"highp",setUniform:function(e,t){void 0===t&&console.warn('Uniform value "'+e+'" is undefined');var r=this.uniforms[e];r&&("string"==typeof t&&(t=u(t)||t),r.value=t,this.autoUpdateTextureStatus&&"t"===r.type&&(t?this.enableTexture(e):this.disableTexture(e)))},setUniforms:function(e){for(var t in e){var r=e[t];this.setUniform(t,r)}},isUniformEnabled:function(e){return this._enabledUniforms.indexOf(e)>=0},getEnabledUniforms:function(){return this._enabledUniforms},getTextureUniforms:function(){return this._textureUniforms},set:function(e,t){if("object"==typeof e)for(var r in e){var n=e[r];this.setUniform(r,n)}else this.setUniform(e,t)},get:function(e){var t=this.uniforms[e];if(t)return t.value},attachShader:function(e,t){var r=this.uniforms;this.uniforms=e.createUniforms(),this.shader=e;var n=this.uniforms;this._enabledUniforms=Object.keys(n),this._enabledUniforms.sort(),this._textureUniforms=this._enabledUniforms.filter(function(e){var t=this.uniforms[e].type;return"t"===t||"tv"===t},this);var i=this.vertexDefines,a=this.fragmentDefines;if(this.vertexDefines=o.a.clone(e.vertexDefines),this.fragmentDefines=o.a.clone(e.fragmentDefines),t){for(var s in r)n[s]&&(n[s].value=r[s].value);o.a.defaults(this.vertexDefines,i),o.a.defaults(this.fragmentDefines,a)}var u={};for(var l in e.textures)u[l]={shaderType:e.textures[l].shaderType,type:e.textures[l].type,enabled:!(!t||!this._textureStatus[l])&&this._textureStatus[l].enabled};this._textureStatus=u,this._programKey=""},clone:function(){var e=new this.constructor({name:this.name,shader:this.shader});for(var t in this.uniforms)e.uniforms[t].value=this.uniforms[t].value;return e.depthTest=this.depthTest,e.depthMask=this.depthMask,e.transparent=this.transparent,e.blend=this.blend,e.vertexDefines=o.a.clone(this.vertexDefines),e.fragmentDefines=o.a.clone(this.fragmentDefines),e.enableTexture(this.getEnabledTextures()),e.precision=this.precision,e},define:function(e,t,r){var n=this.vertexDefines,i=this.fragmentDefines;"vertex"!==e&&"fragment"!==e&&"both"!==e&&arguments.length<3&&(r=t,t=e,e="both"),r=null!=r?r:null,"vertex"!==e&&"both"!==e||n[t]!==r&&(n[t]=r,this._programKey=""),"fragment"!==e&&"both"!==e||i[t]!==r&&(i[t]=r,"both"!==e&&(this._programKey=""))},undefine:function(e,t){"vertex"!==e&&"fragment"!==e&&"both"!==e&&arguments.length<2&&(t=e,e="both"),"vertex"!==e&&"both"!==e||this.isDefined("vertex",t)&&(delete this.vertexDefines[t],this._programKey=""),"fragment"!==e&&"both"!==e||this.isDefined("fragment",t)&&(delete this.fragmentDefines[t],"both"!==e&&(this._programKey=""))},isDefined:function(e,t){switch(e){case"vertex":return void 0!==this.vertexDefines[t];case"fragment":return void 0!==this.fragmentDefines[t]}},getDefine:function(e,t){switch(e){case"vertex":return this.vertexDefines[t];case"fragment":return this.fragmentDefines[t]}},enableTexture:function(e){if(Array.isArray(e))for(var t=0;t<e.length;t++)this.enableTexture(e[t]);else{var r=this._textureStatus[e];if(r){r.enabled||(r.enabled=!0,this._programKey="")}}},enableTexturesAll:function(){var e=this._textureStatus;for(var t in e)e[t].enabled=!0;this._programKey=""},disableTexture:function(e){if(Array.isArray(e))for(var t=0;t<e.length;t++)this.disableTexture(e[t]);else{var r=this._textureStatus[e];if(r){!r.enabled||(r.enabled=!1,this._programKey="")}}},disableTexturesAll:function(){var e=this._textureStatus;for(var t in e)e[t].enabled=!1;this._programKey=""},isTextureEnabled:function(e){var t=this._textureStatus;return!!t[e]&&t[e].enabled},getEnabledTextures:function(){var e=[],t=this._textureStatus;for(var r in t)t[r].enabled&&e.push(r);return e},dirtyDefines:function(){this._programKey=""},getProgramKey:function(){return this._programKey||(this._programKey=i(this.vertexDefines,this.fragmentDefines,this.getEnabledTextures())),this._programKey}});t.a=h},function(e,t,r){"use strict";r.d(t,"b",function(){return n}),r.d(t,"a",function(){return i}),r.d(t,"c",function(){return a});var n=1e-6,i=Array,a=Math.random},function(e,t,r){"use strict";var n=r(20),i={};i.create=function(){var e=new n.a(16);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},i.clone=function(e){var t=new n.a(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},i.copy=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},i.identity=function(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},i.transpose=function(e,t){if(e===t){var r=t[1],n=t[2],i=t[3],a=t[6],o=t[7],s=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=a,e[11]=t[14],e[12]=i,e[13]=o,e[14]=s}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e},i.invert=function(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],l=t[7],h=t[8],c=t[9],d=t[10],f=t[11],p=t[12],m=t[13],g=t[14],_=t[15],v=r*s-n*o,y=r*u-i*o,x=r*l-a*o,T=n*u-i*s,b=n*l-a*s,w=i*l-a*u,E=h*m-c*p,S=h*g-d*p,A=h*_-f*p,M=c*g-d*m,C=c*_-f*m,L=d*_-f*g,D=v*L-y*C+x*M+T*A-b*S+w*E;return D?(D=1/D,e[0]=(s*L-u*C+l*M)*D,e[1]=(i*C-n*L-a*M)*D,e[2]=(m*w-g*b+_*T)*D,e[3]=(d*b-c*w-f*T)*D,e[4]=(u*A-o*L-l*S)*D,e[5]=(r*L-i*A+a*S)*D,e[6]=(g*x-p*w-_*y)*D,e[7]=(h*w-d*x+f*y)*D,e[8]=(o*C-s*A+l*E)*D,e[9]=(n*A-r*C-a*E)*D,e[10]=(p*b-m*x+_*v)*D,e[11]=(c*x-h*b-f*v)*D,e[12]=(s*S-o*M-u*E)*D,e[13]=(r*M-n*S+i*E)*D,e[14]=(m*y-p*T-g*v)*D,e[15]=(h*T-c*y+d*v)*D,e):null},i.adjoint=function(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],l=t[7],h=t[8],c=t[9],d=t[10],f=t[11],p=t[12],m=t[13],g=t[14],_=t[15];return e[0]=s*(d*_-f*g)-c*(u*_-l*g)+m*(u*f-l*d),e[1]=-(n*(d*_-f*g)-c*(i*_-a*g)+m*(i*f-a*d)),e[2]=n*(u*_-l*g)-s*(i*_-a*g)+m*(i*l-a*u),e[3]=-(n*(u*f-l*d)-s*(i*f-a*d)+c*(i*l-a*u)),e[4]=-(o*(d*_-f*g)-h*(u*_-l*g)+p*(u*f-l*d)),e[5]=r*(d*_-f*g)-h*(i*_-a*g)+p*(i*f-a*d),e[6]=-(r*(u*_-l*g)-o*(i*_-a*g)+p*(i*l-a*u)),e[7]=r*(u*f-l*d)-o*(i*f-a*d)+h*(i*l-a*u),e[8]=o*(c*_-f*m)-h*(s*_-l*m)+p*(s*f-l*c),e[9]=-(r*(c*_-f*m)-h*(n*_-a*m)+p*(n*f-a*c)),e[10]=r*(s*_-l*m)-o*(n*_-a*m)+p*(n*l-a*s),e[11]=-(r*(s*f-l*c)-o*(n*f-a*c)+h*(n*l-a*s)),e[12]=-(o*(c*g-d*m)-h*(s*g-u*m)+p*(s*d-u*c)),e[13]=r*(c*g-d*m)-h*(n*g-i*m)+p*(n*d-i*c),e[14]=-(r*(s*g-u*m)-o*(n*g-i*m)+p*(n*u-i*s)),e[15]=r*(s*d-u*c)-o*(n*d-i*c)+h*(n*u-i*s),e},i.determinant=function(e){var t=e[0],r=e[1],n=e[2],i=e[3],a=e[4],o=e[5],s=e[6],u=e[7],l=e[8],h=e[9],c=e[10],d=e[11],f=e[12],p=e[13],m=e[14],g=e[15];return(t*o-r*a)*(c*g-d*m)-(t*s-n*a)*(h*g-d*p)+(t*u-i*a)*(h*m-c*p)+(r*s-n*o)*(l*g-d*f)-(r*u-i*o)*(l*m-c*f)+(n*u-i*s)*(l*p-h*f)},i.multiply=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],l=t[6],h=t[7],c=t[8],d=t[9],f=t[10],p=t[11],m=t[12],g=t[13],_=t[14],v=t[15],y=r[0],x=r[1],T=r[2],b=r[3];return e[0]=y*n+x*s+T*c+b*m,e[1]=y*i+x*u+T*d+b*g,e[2]=y*a+x*l+T*f+b*_,e[3]=y*o+x*h+T*p+b*v,y=r[4],x=r[5],T=r[6],b=r[7],e[4]=y*n+x*s+T*c+b*m,e[5]=y*i+x*u+T*d+b*g,e[6]=y*a+x*l+T*f+b*_,e[7]=y*o+x*h+T*p+b*v,y=r[8],x=r[9],T=r[10],b=r[11],e[8]=y*n+x*s+T*c+b*m,e[9]=y*i+x*u+T*d+b*g,e[10]=y*a+x*l+T*f+b*_,e[11]=y*o+x*h+T*p+b*v,y=r[12],x=r[13],T=r[14],b=r[15],e[12]=y*n+x*s+T*c+b*m,e[13]=y*i+x*u+T*d+b*g,e[14]=y*a+x*l+T*f+b*_,e[15]=y*o+x*h+T*p+b*v,e},i.multiplyAffine=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[4],s=t[5],u=t[6],l=t[8],h=t[9],c=t[10],d=t[12],f=t[13],p=t[14],m=r[0],g=r[1],_=r[2];return e[0]=m*n+g*o+_*l,e[1]=m*i+g*s+_*h,e[2]=m*a+g*u+_*c,m=r[4],g=r[5],_=r[6],e[4]=m*n+g*o+_*l,e[5]=m*i+g*s+_*h,e[6]=m*a+g*u+_*c,m=r[8],g=r[9],_=r[10],e[8]=m*n+g*o+_*l,e[9]=m*i+g*s+_*h,e[10]=m*a+g*u+_*c,m=r[12],g=r[13],_=r[14],e[12]=m*n+g*o+_*l+d,e[13]=m*i+g*s+_*h+f,e[14]=m*a+g*u+_*c+p,e},i.mul=i.multiply,i.mulAffine=i.multiplyAffine,i.translate=function(e,t,r){var n,i,a,o,s,u,l,h,c,d,f,p,m=r[0],g=r[1],_=r[2];return t===e?(e[12]=t[0]*m+t[4]*g+t[8]*_+t[12],e[13]=t[1]*m+t[5]*g+t[9]*_+t[13],e[14]=t[2]*m+t[6]*g+t[10]*_+t[14],e[15]=t[3]*m+t[7]*g+t[11]*_+t[15]):(n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],l=t[6],h=t[7],c=t[8],d=t[9],f=t[10],p=t[11],e[0]=n,e[1]=i,e[2]=a,e[3]=o,e[4]=s,e[5]=u,e[6]=l,e[7]=h,e[8]=c,e[9]=d,e[10]=f,e[11]=p,e[12]=n*m+s*g+c*_+t[12],e[13]=i*m+u*g+d*_+t[13],e[14]=a*m+l*g+f*_+t[14],e[15]=o*m+h*g+p*_+t[15]),e},i.scale=function(e,t,r){var n=r[0],i=r[1],a=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*a,e[9]=t[9]*a,e[10]=t[10]*a,e[11]=t[11]*a,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},i.rotate=function(e,t,r,i){var a,o,s,u,l,h,c,d,f,p,m,g,_,v,y,x,T,b,w,E,S,A,M,C,L=i[0],D=i[1],N=i[2],R=Math.sqrt(L*L+D*D+N*N);return Math.abs(R)<n.b?null:(R=1/R,L*=R,D*=R,N*=R,a=Math.sin(r),o=Math.cos(r),s=1-o,u=t[0],l=t[1],h=t[2],c=t[3],d=t[4],f=t[5],p=t[6],m=t[7],g=t[8],_=t[9],v=t[10],y=t[11],x=L*L*s+o,T=D*L*s+N*a,b=N*L*s-D*a,w=L*D*s-N*a,E=D*D*s+o,S=N*D*s+L*a,A=L*N*s+D*a,M=D*N*s-L*a,C=N*N*s+o,e[0]=u*x+d*T+g*b,e[1]=l*x+f*T+_*b,e[2]=h*x+p*T+v*b,e[3]=c*x+m*T+y*b,e[4]=u*w+d*E+g*S,e[5]=l*w+f*E+_*S,e[6]=h*w+p*E+v*S,e[7]=c*w+m*E+y*S,e[8]=u*A+d*M+g*C,e[9]=l*A+f*M+_*C,e[10]=h*A+p*M+v*C,e[11]=c*A+m*M+y*C,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)},i.rotateX=function(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[4],o=t[5],s=t[6],u=t[7],l=t[8],h=t[9],c=t[10],d=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=a*i+l*n,e[5]=o*i+h*n,e[6]=s*i+c*n,e[7]=u*i+d*n,e[8]=l*i-a*n,e[9]=h*i-o*n,e[10]=c*i-s*n,e[11]=d*i-u*n,e},i.rotateY=function(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],u=t[3],l=t[8],h=t[9],c=t[10],d=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i-l*n,e[1]=o*i-h*n,e[2]=s*i-c*n,e[3]=u*i-d*n,e[8]=a*n+l*i,e[9]=o*n+h*i,e[10]=s*n+c*i,e[11]=u*n+d*i,e},i.rotateZ=function(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],u=t[3],l=t[4],h=t[5],c=t[6],d=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i+l*n,e[1]=o*i+h*n,e[2]=s*i+c*n,e[3]=u*i+d*n,e[4]=l*i-a*n,e[5]=h*i-o*n,e[6]=c*i-s*n,e[7]=d*i-u*n,e},i.fromRotationTranslation=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=n+n,u=i+i,l=a+a,h=n*s,c=n*u,d=n*l,f=i*u,p=i*l,m=a*l,g=o*s,_=o*u,v=o*l;return e[0]=1-(f+m),e[1]=c+v,e[2]=d-_,e[3]=0,e[4]=c-v,e[5]=1-(h+m),e[6]=p+g,e[7]=0,e[8]=d+_,e[9]=p-g,e[10]=1-(h+f),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e},i.fromQuat=function(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=r+r,s=n+n,u=i+i,l=r*o,h=n*o,c=n*s,d=i*o,f=i*s,p=i*u,m=a*o,g=a*s,_=a*u;return e[0]=1-c-p,e[1]=h+_,e[2]=d-g,e[3]=0,e[4]=h-_,e[5]=1-l-p,e[6]=f+m,e[7]=0,e[8]=d+g,e[9]=f-m,e[10]=1-l-c,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},i.frustum=function(e,t,r,n,i,a,o){var s=1/(r-t),u=1/(i-n),l=1/(a-o);return e[0]=2*a*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=2*a*u,e[6]=0,e[7]=0,e[8]=(r+t)*s,e[9]=(i+n)*u,e[10]=(o+a)*l,e[11]=-1,e[12]=0,e[13]=0,e[14]=o*a*2*l,e[15]=0,e},i.perspective=function(e,t,r,n,i){var a=1/Math.tan(t/2),o=1/(n-i);return e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=(i+n)*o,e[11]=-1,e[12]=0,e[13]=0,e[14]=2*i*n*o,e[15]=0,e},i.ortho=function(e,t,r,n,i,a,o){var s=1/(t-r),u=1/(n-i),l=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*u,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*l,e[11]=0,e[12]=(t+r)*s,e[13]=(i+n)*u,e[14]=(o+a)*l,e[15]=1,e},i.lookAt=function(e,t,r,a){var o,s,u,l,h,c,d,f,p,m,g=t[0],_=t[1],v=t[2],y=a[0],x=a[1],T=a[2],b=r[0],w=r[1],E=r[2];return Math.abs(g-b)<n.b&&Math.abs(_-w)<n.b&&Math.abs(v-E)<n.b?i.identity(e):(d=g-b,f=_-w,p=v-E,m=1/Math.sqrt(d*d+f*f+p*p),d*=m,f*=m,p*=m,o=x*p-T*f,s=T*d-y*p,u=y*f-x*d,m=Math.sqrt(o*o+s*s+u*u),m?(m=1/m,o*=m,s*=m,u*=m):(o=0,s=0,u=0),l=f*u-p*s,h=p*o-d*u,c=d*s-f*o,m=Math.sqrt(l*l+h*h+c*c),m?(m=1/m,l*=m,h*=m,c*=m):(l=0,h=0,c=0),e[0]=o,e[1]=l,e[2]=d,e[3]=0,e[4]=s,e[5]=h,e[6]=f,e[7]=0,e[8]=u,e[9]=c,e[10]=p,e[11]=0,e[12]=-(o*g+s*_+u*v),e[13]=-(l*g+h*_+c*v),e[14]=-(d*g+f*_+p*v),e[15]=1,e)},i.frob=function(e){return Math.sqrt(Math.pow(e[0],2)+Math.pow(e[1],2)+Math.pow(e[2],2)+Math.pow(e[3],2)+Math.pow(e[4],2)+Math.pow(e[5],2)+Math.pow(e[6],2)+Math.pow(e[7],2)+Math.pow(e[8],2)+Math.pow(e[9],2)+Math.pow(e[10],2)+Math.pow(e[11],2)+Math.pow(e[12],2)+Math.pow(e[13],2)+Math.pow(e[14],2)+Math.pow(e[15],2))},t.a=i},function(e,t,r){"use strict";function n(e){e=e||"perspective",this.layer=null,this.scene=new o.a,this.rootNode=this.scene,this.viewport={x:0,y:0,width:0,height:0},this.setProjection(e),this._compositor=new p.a,this._temporalSS=new m.a,this._shadowMapPass=new s.a;for(var t=[],r=0,n=0;n<30;n++){for(var i=[],a=0;a<6;a++)i.push(4*Object(g.a)(r,2)-2),i.push(4*Object(g.a)(r,3)-2),r++;t.push(i)}this._pcfKernels=t,this.scene.on("beforerender",function(e,t,r){this.needsTemporalSS()&&this._temporalSS.jitterProjection(e,r)},this)}var i=r(0),a=r.n(i),o=r(36),s=r(174),u=r(41),l=r(37),h=r(9),c=r(3),d=r(26),f=r(53),p=r(176),m=r(200),g=r(49);n.prototype.setProjection=function(e){var t=this.camera;t&&t.update(),"perspective"===e?this.camera instanceof u.a||(this.camera=new u.a,t&&this.camera.setLocalTransform(t.localTransform)):this.camera instanceof l.a||(this.camera=new l.a,t&&this.camera.setLocalTransform(t.localTransform)),this.camera.near=.1,this.camera.far=2e3},n.prototype.setViewport=function(e,t,r,n,i){this.camera instanceof u.a&&(this.camera.aspect=r/n),i=i||1,this.viewport.x=e,this.viewport.y=t,this.viewport.width=r,this.viewport.height=n,this.viewport.devicePixelRatio=i,this._compositor.resize(r*i,n*i),this._temporalSS.resize(r*i,n*i)},n.prototype.containPoint=function(e,t){var r=this.viewport;return t=this.layer.renderer.getHeight()-t,e>=r.x&&t>=r.y&&e<=r.x+r.width&&t<=r.y+r.height};var _=new d.a;n.prototype.castRay=function(e,t,r){var n=this.layer.renderer,i=n.viewport;return n.viewport=this.viewport,n.screenToNDC(e,t,_),this.camera.castRay(_,r),n.viewport=i,r},n.prototype.prepareRender=function(){this.scene.update(),this.camera.update(),this.scene.updateLights();var e=this.scene.updateRenderList(this.camera);this._needsSortProgressively=!1;for(var t=0;t<e.transparent.length;t++){var r=e.transparent[t],n=r.geometry;n.needsSortVerticesProgressively&&n.needsSortVerticesProgressively()&&(this._needsSortProgressively=!0),n.needsSortTrianglesProgressively&&n.needsSortTrianglesProgressively()&&(this._needsSortProgressively=!0)}this._frame=0,this._temporalSS.resetFrame()},n.prototype.render=function(e,t){this._doRender(e,t,this._frame),this._frame++},n.prototype.needsAccumulate=function(){return this.needsTemporalSS()||this._needsSortProgressively},n.prototype.needsTemporalSS=function(){var e=this._enableTemporalSS;return"auto"===e&&(e=this._enablePostEffect),e},n.prototype.hasDOF=function(){return this._enableDOF},n.prototype.isAccumulateFinished=function(){return this.needsTemporalSS()?this._temporalSS.isFinished():this._frame>30},n.prototype._doRender=function(e,t,r){var n=this.scene,i=this.camera;r=r||0,this._updateTransparent(e,n,i,r),t||(this._shadowMapPass.kernelPCF=this._pcfKernels[0],this._shadowMapPass.render(e,n,i,!0)),this._updateShadowPCFKernel(r);var a=e.clearColor;if(e.gl.clearColor(a[0],a[1],a[2],a[3]),this._enablePostEffect&&(this.needsTemporalSS()&&this._temporalSS.jitterProjection(e,i),this._compositor.updateNormal(e,n,i,this._temporalSS.getFrame())),this._updateSSAO(e,n,i,this._temporalSS.getFrame()),this._enablePostEffect){var o=this._compositor.getSourceFrameBuffer();o.bind(e),e.gl.clear(e.gl.DEPTH_BUFFER_BIT|e.gl.COLOR_BUFFER_BIT),e.render(n,i,!0,!0),o.unbind(e),this.needsTemporalSS()&&t?(this._compositor.composite(e,n,i,this._temporalSS.getSourceFrameBuffer(),this._temporalSS.getFrame()),e.setViewport(this.viewport),this._temporalSS.render(e)):(e.setViewport(this.viewport),this._compositor.composite(e,n,i,null,0))}else if(this.needsTemporalSS()&&t){var o=this._temporalSS.getSourceFrameBuffer();o.bind(e),e.saveClear(),e.clearBit=e.gl.DEPTH_BUFFER_BIT|e.gl.COLOR_BUFFER_BIT,e.render(n,i,!0,!0),e.restoreClear(),o.unbind(e),e.setViewport(this.viewport),this._temporalSS.render(e)}else e.setViewport(this.viewport),e.render(n,i,!0,!0)},n.prototype._updateTransparent=function(e,t,r,n){for(var i=new c.a,a=new h.a,o=r.getWorldPosition(),s=t.getRenderList(r).transparent,u=0;u<s.length;u++){var l=s[u],d=l.geometry;h.a.invert(a,l.worldTransform),c.a.transformMat4(i,o,a),d.needsSortTriangles&&d.needsSortTriangles()&&d.doSortTriangles(i,n),d.needsSortVertices&&d.needsSortVertices()&&d.doSortVertices(i,n)}},n.prototype._updateSSAO=function(e,t,r){var n=this._enableSSAO&&this._enablePostEffect;n&&this._compositor.updateSSAO(e,t,r,this._temporalSS.getFrame());for(var i=t.getRenderList(r),a=0;a<i.opaque.length;a++){var o=i.opaque[a];o.renderNormal&&o.material[n?"enableTexture":"disableTexture"]("ssaoMap"),n&&o.material.set("ssaoMap",this._compositor.getSSAOTexture())}},n.prototype._updateShadowPCFKernel=function(e){for(var t=this._pcfKernels[e%this._pcfKernels.length],r=this.scene.getRenderList(this.camera),n=r.opaque,i=0;i<n.length;i++)n[i].receiveShadow&&(n[i].material.set("pcfKernel",t),n[i].material.define("fragment","PCF_KERNEL_SIZE",t.length/2))},n.prototype.dispose=function(e){this._compositor.dispose(e.gl),this._temporalSS.dispose(e.gl),this._shadowMapPass.dispose(e)},n.prototype.setPostEffect=function(e,t){var r=this._compositor;this._enablePostEffect=e.get("enable");var n=e.getModel("bloom"),i=e.getModel("edge"),a=e.getModel("DOF",e.getModel("depthOfField")),o=e.getModel("SSAO",e.getModel("screenSpaceAmbientOcclusion")),s=e.getModel("SSR",e.getModel("screenSpaceReflection")),u=e.getModel("FXAA"),l=e.getModel("colorCorrection");n.get("enable")?r.enableBloom():r.disableBloom(),a.get("enable")?r.enableDOF():r.disableDOF(),s.get("enable")?r.enableSSR():r.disableSSR(),l.get("enable")?r.enableColorCorrection():r.disableColorCorrection(),i.get("enable")?r.enableEdge():r.disableEdge(),u.get("enable")?r.enableFXAA():r.disableFXAA(),this._enableDOF=a.get("enable"),this._enableSSAO=o.get("enable"),this._enableSSAO?r.enableSSAO():r.disableSSAO(),r.setBloomIntensity(n.get("intensity")),r.setEdgeColor(i.get("color")),r.setColorLookupTexture(l.get("lookupTexture"),t),r.setExposure(l.get("exposure")),["radius","quality","intensity"].forEach(function(e){r.setSSAOParameter(e,o.get(e))}),["quality","maxRoughness","physical"].forEach(function(e){r.setSSRParameter(e,s.get(e))}),["quality","focalDistance","focalRange","blurRadius","fstop"].forEach(function(e){r.setDOFParameter(e,a.get(e))}),["brightness","contrast","saturation"].forEach(function(e){r.setColorCorrection(e,l.get(e))})},n.prototype.setDOFFocusOnPoint=function(e){if(this._enablePostEffect){if(e>this.camera.far||e<this.camera.near)return;return this._compositor.setDOFParameter("focalDistance",e),!0}},n.prototype.setTemporalSuperSampling=function(e){this._enableTemporalSS=e.get("enable")},n.prototype.isLinearSpace=function(){return this._enablePostEffect},n.prototype.setRootNode=function(e){if(this.rootNode!==e){for(var t=this.rootNode.children(),r=0;r<t.length;r++)e.add(t[r]);e!==this.scene&&this.scene.add(e),this.rootNode=e}},n.prototype.add=function(e){this.rootNode.add(e)},n.prototype.remove=function(e){this.rootNode.remove(e)},n.prototype.removeAll=function(e){this.rootNode.removeAll(e)},a.a.util.extend(n.prototype,f.a),t.a=n},function(e,t,r){"use strict";var n=0,i=Array.prototype,a=i.forEach,o={genGUID:function(){return++n},relative2absolute:function(e,t){if(!t||e.match(/^\//))return e;for(var r=e.split("/"),n=t.split("/"),i=r[0];"."===i||".."===i;)".."===i&&n.pop(),r.shift(),i=r[0];return n.join("/")+"/"+r.join("/")},extend:function(e,t){if(t)for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);return e},defaults:function(e,t){if(t)for(var r in t)void 0===e[r]&&(e[r]=t[r]);return e},extendWithPropList:function(e,t,r){if(t)for(var n=0;n<r.length;n++){var i=r[n];e[i]=t[i]}return e},defaultsWithPropList:function(e,t,r){if(t)for(var n=0;n<r.length;n++){var i=r[n];null==e[i]&&(e[i]=t[i])}return e},each:function(e,t,r){if(e&&t)if(e.forEach&&e.forEach===a)e.forEach(t,r);else if(e.length===+e.length)for(var n=0,i=e.length;n<i;n++)t.call(r,e[n],n,e);else for(var o in e)e.hasOwnProperty(o)&&t.call(r,e[o],o,e)},isObject:function(e){return e===Object(e)},isArray:function(e){return Array.isArray(e)},isArrayLike:function(e){return!!e&&e.length===+e.length},clone:function(e){if(o.isObject(e)){if(o.isArray(e))return e.slice();if(o.isArrayLike(e)){for(var t=new e.constructor(e.length),r=0;r<e.length;r++)t[r]=e[r];return t}return o.extend({},e)}return e}};t.a=o},function(e,t,r){"use strict";var n=r(35),i=r(8),a=r(119);i.a.import(a.a);var o=n.a.extend(function(){return{color:[1,1,1],intensity:1,castShadow:!0,shadowResolution:512,group:0}},{type:"",clone:function(){var e=n.a.prototype.clone.call(this);return e.color=Array.prototype.slice.call(this.color),e.intensity=this.intensity,e.castShadow=this.castShadow,e.shadowResolution=this.shadowResolution,e}});t.a=o},function(e,t,r){"use strict";var n=r(15),i=r(0),a=r.n(i),o=r(38),s=r(6),u=s.a.vec3,l=[[0,0],[1,1]],h=n.a.extend(function(){return{segmentScale:1,dynamic:!0,useNativeLine:!0,attributes:{position:new n.a.Attribute("position","float",3,"POSITION"),positionPrev:new n.a.Attribute("positionPrev","float",3),positionNext:new n.a.Attribute("positionNext","float",3),prevPositionPrev:new n.a.Attribute("prevPositionPrev","float",3),prevPosition:new n.a.Attribute("prevPosition","float",3),prevPositionNext:new n.a.Attribute("prevPositionNext","float",3),offset:new n.a.Attribute("offset","float",1),color:new n.a.Attribute("color","float",4,"COLOR")}}},{resetOffset:function(){this._vertexOffset=0,this._triangleOffset=0,this._itemVertexOffsets=[]},setVertexCount:function(e){var t=this.attributes;this.vertexCount!==e&&(t.position.init(e),t.color.init(e),this.useNativeLine||(t.positionPrev.init(e),t.positionNext.init(e),t.offset.init(e)),e>65535?this.indices instanceof Uint16Array&&(this.indices=new Uint32Array(this.indices)):this.indices instanceof Uint32Array&&(this.indices=new Uint16Array(this.indices)))},setTriangleCount:function(e){this.triangleCount!==e&&(this.indices=0===e?null:this.vertexCount>65535?new Uint32Array(3*e):new Uint16Array(3*e))},_getCubicCurveApproxStep:function(e,t,r,n){return 1/(u.dist(e,t)+u.dist(r,t)+u.dist(n,r)+1)*this.segmentScale},getCubicCurveVertexCount:function(e,t,r,n){var i=this._getCubicCurveApproxStep(e,t,r,n),a=Math.ceil(1/i);return this.useNativeLine?2*a:2*a+2},getCubicCurveTriangleCount:function(e,t,r,n){var i=this._getCubicCurveApproxStep(e,t,r,n),a=Math.ceil(1/i);return this.useNativeLine?0:2*a},getLineVertexCount:function(){return this.getPolylineVertexCount(l)},getLineTriangleCount:function(){return this.getPolylineTriangleCount(l)},getPolylineVertexCount:function(e){var t;if("number"==typeof e)t=e;else{t="number"!=typeof e[0]?e.length:e.length/3}return this.useNativeLine?2*(t-1):2*(t-1)+2},getPolylineTriangleCount:function(e){var t;if("number"==typeof e)t=e;else{t="number"!=typeof e[0]?e.length:e.length/3}return this.useNativeLine?0:2*Math.max(t-1,0)},addCubicCurve:function(e,t,r,n,i,a){null==a&&(a=1);for(var o=e[0],s=e[1],u=e[2],l=t[0],h=t[1],c=t[2],d=r[0],f=r[1],p=r[2],m=n[0],g=n[1],_=n[2],v=this._getCubicCurveApproxStep(e,t,r,n),y=v*v,x=y*v,T=3*v,b=3*y,w=6*y,E=6*x,S=o-2*l+d,A=s-2*h+f,M=u-2*c+p,C=3*(l-d)-o+m,L=3*(h-f)-s+g,D=3*(c-p)-u+_,N=o,R=s,P=u,I=(l-o)*T+S*b+C*x,O=(h-s)*T+A*b+L*x,F=(c-u)*T+M*b+D*x,B=S*w+C*E,U=A*w+L*E,z=M*w+D*E,G=C*E,H=L*E,V=D*E,k=0,W=0,j=Math.ceil(1/v),X=new Float32Array(3*(j+1)),X=[],q=0,W=0;W<j+1;W++)X[q++]=N,X[q++]=R,X[q++]=P,N+=I,R+=O,P+=F,I+=B,O+=U,F+=z,B+=G,U+=H,z+=V,(k+=v)>1&&(N=I>0?Math.min(N,m):Math.max(N,m),R=O>0?Math.min(R,g):Math.max(R,g),P=F>0?Math.min(P,_):Math.max(P,_));return this.addPolyline(X,i,a)},addLine:function(e,t,r,n){return this.addPolyline([e,t],r,n)},addPolyline:function(e,t,r,n,i){if(e.length){var a="number"!=typeof e[0];if(null==i&&(i=a?e.length:e.length/3),!(i<2)){null==n&&(n=0),null==r&&(r=1),this._itemVertexOffsets.push(this._vertexOffset);var o,s,a="number"!=typeof e[0],u=a?"number"!=typeof t[0]:t.length/4===i,l=this.attributes.position,h=this.attributes.positionPrev,c=this.attributes.positionNext,d=this.attributes.color,f=this.attributes.offset,p=this.indices,m=this._vertexOffset;r=Math.max(r,.01);for(var g=n;g<i;g++){if(a)o=e[g],s=u?t[g]:t;else{var _=3*g;if(o=o||[],o[0]=e[_],o[1]=e[_+1],o[2]=e[_+2],u){var v=4*g;s=s||[],s[0]=t[v],s[1]=t[v+1],s[2]=t[v+2],s[3]=t[v+3]}else s=t}if(this.useNativeLine?g>1&&(l.copy(m,m-1),d.copy(m,m-1),m++):(g<i-1&&(h.set(m+2,o),h.set(m+3,o)),g>0&&(c.set(m-2,o),c.set(m-1,o)),l.set(m,o),l.set(m+1,o),d.set(m,s),d.set(m+1,s),f.set(m,r/2),f.set(m+1,-r/2),m+=2),this.useNativeLine)d.set(m,s),l.set(m,o),m++;else if(g>0){var y=3*this._triangleOffset,p=this.indices;p[y]=m-4,p[y+1]=m-3,p[y+2]=m-2,p[y+3]=m-3,p[y+4]=m-1,p[y+5]=m-2,this._triangleOffset+=2}}if(!this.useNativeLine){var x=this._vertexOffset,T=this._vertexOffset+2*i;h.copy(x,x+2),h.copy(x+1,x+3),c.copy(T-1,T-3),c.copy(T-2,T-4)}return this._vertexOffset=m,this._vertexOffset}}},setItemColor:function(e,t){for(var r=this._itemVertexOffsets[e],n=e<this._itemVertexOffsets.length-1?this._itemVertexOffsets[e+1]:this._vertexOffset,i=r;i<n;i++)this.attributes.color.set(i,t);this.dirty("color")},currentTriangleOffset:function(){return this._triangleOffset},currentVertexOffset:function(){return this._vertexOffset}});a.a.util.defaults(h.prototype,o.a),t.a=h},function(e,t,r){"use strict";var n=r(70),i=function(e,t){e=e||0,t=t||0,this.array=n.a.fromValues(e,t),this._dirty=!0};if(i.prototype={constructor:i,add:function(e){return n.a.add(this.array,this.array,e.array),this._dirty=!0,this},set:function(e,t){return this.array[0]=e,this.array[1]=t,this._dirty=!0,this},setArray:function(e){return this.array[0]=e[0],this.array[1]=e[1],this._dirty=!0,this},clone:function(){return new i(this.x,this.y)},copy:function(e){return n.a.copy(this.array,e.array),this._dirty=!0,this},cross:function(e,t){return n.a.cross(e.array,this.array,t.array),e._dirty=!0,this},dist:function(e){return n.a.dist(this.array,e.array)},distance:function(e){return n.a.distance(this.array,e.array)},div:function(e){return n.a.div(this.array,this.array,e.array),this._dirty=!0,this},divide:function(e){return n.a.divide(this.array,this.array,e.array),this._dirty=!0,this},dot:function(e){return n.a.dot(this.array,e.array)},len:function(){return n.a.len(this.array)},length:function(){return n.a.length(this.array)},lerp:function(e,t,r){return n.a.lerp(this.array,e.array,t.array,r),this._dirty=!0,this},min:function(e){return n.a.min(this.array,this.array,e.array),this._dirty=!0,this},max:function(e){return n.a.max(this.array,this.array,e.array),this._dirty=!0,this},mul:function(e){return n.a.mul(this.array,this.array,e.array),this._dirty=!0,this},multiply:function(e){return n.a.multiply(this.array,this.array,e.array),this._dirty=!0,this},negate:function(){return n.a.negate(this.array,this.array),this._dirty=!0,this},normalize:function(){return n.a.normalize(this.array,this.array),this._dirty=!0,this},random:function(e){return n.a.random(this.array,e),this._dirty=!0,this},scale:function(e){return n.a.scale(this.array,this.array,e),this._dirty=!0,this},scaleAndAdd:function(e,t){return n.a.scaleAndAdd(this.array,this.array,e.array,t),this._dirty=!0,this},sqrDist:function(e){return n.a.sqrDist(this.array,e.array)},squaredDistance:function(e){return n.a.squaredDistance(this.array,e.array)},sqrLen:function(){return n.a.sqrLen(this.array)},squaredLength:function(){return n.a.squaredLength(this.array)},sub:function(e){return n.a.sub(this.array,this.array,e.array),this._dirty=!0,this},subtract:function(e){return n.a.subtract(this.array,this.array,e.array),this._dirty=!0,this},transformMat2:function(e){return n.a.transformMat2(this.array,this.array,e.array),this._dirty=!0,this},transformMat2d:function(e){return n.a.transformMat2d(this.array,this.array,e.array),this._dirty=!0,this},transformMat3:function(e){return n.a.transformMat3(this.array,this.array,e.array),this._dirty=!0,this},transformMat4:function(e){return n.a.transformMat4(this.array,this.array,e.array),this._dirty=!0,this},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}},Object.defineProperty){var a=i.prototype;Object.defineProperty(a,"x",{get:function(){return this.array[0]},set:function(e){this.array[0]=e,this._dirty=!0}}),Object.defineProperty(a,"y",{get:function(){return this.array[1]},set:function(e){this.array[1]=e,this._dirty=!0}})}i.add=function(e,t,r){return n.a.add(e.array,t.array,r.array),e._dirty=!0,e},i.set=function(e,t,r){return n.a.set(e.array,t,r),e._dirty=!0,e},i.copy=function(e,t){return n.a.copy(e.array,t.array),e._dirty=!0,e},i.cross=function(e,t,r){return n.a.cross(e.array,t.array,r.array),e._dirty=!0,e},i.dist=function(e,t){return n.a.distance(e.array,t.array)},i.distance=i.dist,i.div=function(e,t,r){return n.a.divide(e.array,t.array,r.array),e._dirty=!0,e},i.divide=i.div,i.dot=function(e,t){return n.a.dot(e.array,t.array)},i.len=function(e){return n.a.length(e.array)},i.lerp=function(e,t,r,i){return n.a.lerp(e.array,t.array,r.array,i),e._dirty=!0,e},i.min=function(e,t,r){return n.a.min(e.array,t.array,r.array),e._dirty=!0,e},i.max=function(e,t,r){return n.a.max(e.array,t.array,r.array),e._dirty=!0,e},i.mul=function(e,t,r){return n.a.multiply(e.array,t.array,r.array),e._dirty=!0,e},i.multiply=i.mul,i.negate=function(e,t){return n.a.negate(e.array,t.array),e._dirty=!0,e},i.normalize=function(e,t){return n.a.normalize(e.array,t.array),e._dirty=!0,e},i.random=function(e,t){return n.a.random(e.array,t),e._dirty=!0,e},i.scale=function(e,t,r){return n.a.scale(e.array,t.array,r),e._dirty=!0,e},i.scaleAndAdd=function(e,t,r,i){return n.a.scaleAndAdd(e.array,t.array,r.array,i),e._dirty=!0,e},i.sqrDist=function(e,t){return n.a.sqrDist(e.array,t.array)},i.squaredDistance=i.sqrDist,i.sqrLen=function(e){return n.a.sqrLen(e.array)},i.squaredLength=i.sqrLen,i.sub=function(e,t,r){return n.a.subtract(e.array,t.array,r.array),e._dirty=!0,e},i.subtract=i.sub,i.transformMat2=function(e,t,r){return n.a.transformMat2(e.array,t.array,r.array),e._dirty=!0,e},i.transformMat2d=function(e,t,r){return n.a.transformMat2d(e.array,t.array,r.array),e._dirty=!0,e},i.transformMat3=function(e,t,r){return n.a.transformMat3(e.array,t.array,r.array),e._dirty=!0,e},i.transformMat4=function(e,t,r){return n.a.transformMat4(e.array,t.array,r.array),e._dirty=!0,e},t.a=i},function(e,t,r){"use strict";function n(e){return"CANVAS"===e.nodeName||"VIDEO"===e.nodeName||e.complete}var i=r(4),a=r(11),o=r(23),s=r(73),u=r(14),l=s.a.isPowerOfTwo,h=["px","nx","py","ny","pz","nz"],c=i.a.extend(function(){return{image:{px:null,nx:null,py:null,ny:null,pz:null,nz:null},pixels:{px:null,nx:null,py:null,ny:null,pz:null,nz:null},mipmaps:[]}},{textureType:"textureCube",update:function(e){var t=e.gl;t.bindTexture(t.TEXTURE_CUBE_MAP,this._cache.get("webgl_texture")),this.updateCommon(e);var r=this.format,n=this.type;t.texParameteri(t.TEXTURE_CUBE_MAP,t.TEXTURE_WRAP_S,this.getAvailableWrapS()),t.texParameteri(t.TEXTURE_CUBE_MAP,t.TEXTURE_WRAP_T,this.getAvailableWrapT()),t.texParameteri(t.TEXTURE_CUBE_MAP,t.TEXTURE_MAG_FILTER,this.getAvailableMagFilter()),t.texParameteri(t.TEXTURE_CUBE_MAP,t.TEXTURE_MIN_FILTER,this.getAvailableMinFilter());var i=e.getGLExtension("EXT_texture_filter_anisotropic");if(i&&this.anisotropic>1&&t.texParameterf(t.TEXTURE_CUBE_MAP,i.TEXTURE_MAX_ANISOTROPY_EXT,this.anisotropic),36193===n){e.getGLExtension("OES_texture_half_float")||(n=a.a.FLOAT)}if(this.mipmaps.length)for(var o=this.width,s=this.height,u=0;u<this.mipmaps.length;u++){var l=this.mipmaps[u];this._updateTextureData(t,l,u,o,s,r,n),o/=2,s/=2}else this._updateTextureData(t,this,0,this.width,this.height,r,n),!this.NPOT&&this.useMipmap&&t.generateMipmap(t.TEXTURE_CUBE_MAP);t.bindTexture(t.TEXTURE_CUBE_MAP,null)},_updateTextureData:function(e,t,r,n,i,a,o){for(var s=0;s<6;s++){var u=h[s],l=t.image&&t.image[u];l?e.texImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+s,r,a,a,o,l):e.texImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+s,r,a,n,i,0,a,o,t.pixels&&t.pixels[u])}},generateMipmap:function(e){var t=e.gl;this.useMipmap&&!this.NPOT&&(t.bindTexture(t.TEXTURE_CUBE_MAP,this._cache.get("webgl_texture")),t.generateMipmap(t.TEXTURE_CUBE_MAP))},bind:function(e){e.gl.bindTexture(e.gl.TEXTURE_CUBE_MAP,this.getWebGLTexture(e))},unbind:function(e){e.gl.bindTexture(e.gl.TEXTURE_CUBE_MAP,null)},isPowerOfTwo:function(){return this.image.px?l(this.image.px.width)&&l(this.image.px.height):l(this.width)&&l(this.height)},isRenderable:function(){return this.image.px?n(this.image.px)&&n(this.image.nx)&&n(this.image.py)&&n(this.image.ny)&&n(this.image.pz)&&n(this.image.nz):!(!this.width||!this.height)},load:function(e,t){var r=0,n=this;return o.a.each(e,function(e,i){var a=u.a.createImage();t&&(a.crossOrigin=t),a.onload=function(){r--,0===r&&(n.dirty(),n.trigger("success",n)),a.onload=null},a.onerror=function(){r--,a.onerror=null},r++,a.src=e,n.image[i]=a}),this}});Object.defineProperty(c.prototype,"width",{get:function(){return this.image&&this.image.px?this.image.px.width:this._width},set:function(e){this.image&&this.image.px?console.warn("Texture from image can't set width"):(this._width!==e&&this.dirty(),this._width=e)}}),Object.defineProperty(c.prototype,"height",{get:function(){return this.image&&this.image.px?this.image.px.height:this._height},set:function(e){this.image&&this.image.px?console.warn("Texture from image can't set height"):(this._height!==e&&this.dirty(),this._height=e)}}),t.a=c},function(e,t,r){"use strict";t.a={defaultOption:{postEffect:{enable:!1,bloom:{enable:!0,intensity:.1},depthOfField:{enable:!1,focalRange:20,focalDistance:50,blurRadius:10,fstop:2.8,quality:"medium"},screenSpaceAmbientOcclusion:{enable:!1,radius:2,quality:"medium",intensity:1},screenSpaceReflection:{enable:!1,quality:"medium",maxRoughness:.8},colorCorrection:{enable:!0,exposure:0,brightness:0,contrast:1,saturation:1,lookupTexture:""},edge:{enable:!1},FXAA:{enable:!1}},temporalSuperSampling:{enable:"auto"}}}},function(e,t,r){"use strict";t.a={defaultOption:{light:{main:{shadow:!1,shadowQuality:"high",color:"#fff",intensity:1,alpha:0,beta:0},ambient:{color:"#fff",intensity:.2},ambientCubemap:{texture:null,exposure:1,diffuseIntensity:.5,specularIntensity:.5}}}}},function(e,t,r){"use strict";function n(){}var i=r(1),a=r(42),o=r(0),s=r.n(o);n.prototype={constructor:n,setScene:function(e){this._scene=e,this._skybox&&this._skybox.attachScene(this._scene)},initLight:function(e){this._lightRoot=e,this.mainLight=new i.a.DirectionalLight({shadowBias:.005}),this.ambientLight=new i.a.AmbientLight,e.add(this.mainLight),e.add(this.ambientLight)},dispose:function(){this._lightRoot&&(this._lightRoot.remove(this.mainLight),this._lightRoot.remove(this.ambientLight))},updateLight:function(e){var t=this.mainLight,r=this.ambientLight,n=e.getModel("light"),a=n.getModel("main"),o=n.getModel("ambient");t.intensity=a.get("intensity"),r.intensity=o.get("intensity"),t.color=i.a.parseColor(a.get("color")).slice(0,3),r.color=i.a.parseColor(o.get("color")).slice(0,3);var s=a.get("alpha")||0,u=a.get("beta")||0;t.position.setArray(i.a.directionFromAlphaBeta(s,u)),t.lookAt(i.a.Vector3.ZERO),t.castShadow=a.get("shadow"),t.shadowResolution=i.a.getShadowResolution(a.get("shadowQuality"))},updateAmbientCubemap:function(e,t,r){var n=t.getModel("light.ambientCubemap"),a=n.get("texture");if(a){this._cubemapLightsCache=this._cubemapLightsCache||{};var o=this._cubemapLightsCache[a];if(!o){var s=this;o=this._cubemapLightsCache[a]=i.a.createAmbientCubemap(n.option,e,r,function(){s._isSkyboxFromAmbientCubemap&&s._skybox.setEnvironmentMap(o.specular.cubemap),r.getZr().refresh()})}this._lightRoot.add(o.diffuse),this._lightRoot.add(o.specular),this._currentCubemapLights=o}else this._currentCubemapLights&&(this._lightRoot.remove(this._currentCubemapLights.diffuse),this._lightRoot.remove(this._currentCubemapLights.specular),this._currentCubemapLights=null)},updateSkybox:function(e,t,r){var n=t.get("environment"),o=this,u=function(){return o._skybox=o._skybox||new a.a,o._skybox}();if(n&&"none"!==n)if("auto"===n)if(this._isSkyboxFromAmbientCubemap=!0,this._currentCubemapLights){var l=this._currentCubemapLights.specular.cubemap;u.setEnvironmentMap(l),this._scene&&u.attachScene(this._scene),u.material.set("lod",3)}else this._skybox&&this._skybox.detachScene();else if("object"==typeof n&&n.colorStops||"string"==typeof n&&s.a.color.parse(n)){this._isSkyboxFromAmbientCubemap=!1;var h=new i.a.Texture2D({anisotropic:8,flipY:!1});u.setEnvironmentMap(h);var c=h.image=document.createElement("canvas");c.width=c.height=16;var d=c.getContext("2d"),f=new s.a.graphic.Rect({shape:{x:0,y:0,width:16,height:16},style:{fill:n}});f.brush(d),u.attachScene(this._scene)}else{this._isSkyboxFromAmbientCubemap=!1;var h=i.a.loadTexture(n,r,{anisotropic:8,flipY:!1});u.setEnvironmentMap(h),u.attachScene(this._scene)}else this._skybox&&this._skybox.detachScene(this._scene),this._skybox=null;var p=t.coordinateSystem;if(this._skybox)if(!p||!p.viewGL||"auto"===n||n.match&&n.match(/.hdr$/))this._skybox.material.undefine("fragment","SRGB_DECODE");else{var m=p.viewGL.isLinearSpace()?"define":"undefine";this._skybox.material[m]("fragment","SRGB_DECODE")}}},t.a=n},function(e,t,r){"use strict";t.a={defaultOption:{shading:null,realisticMaterial:{textureTiling:1,textureOffset:0,detailTexture:null},lambertMaterial:{textureTiling:1,textureOffset:0,detailTexture:null},colorMaterial:{textureTiling:1,textureOffset:0,detailTexture:null},hatchingMaterial:{textureTiling:1,textureOffset:0,paperColor:"#fff"}}}},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a={};a.getFormattedLabel=function(e,t,r,n,a){r=r||"normal";var o=e.getData(n),s=o.getItemModel(t),u=e.getDataParams(t,n);null!=a&&u.value instanceof Array&&(u.value=u.value[a]);var l=s.get("normal"===r?["label","formatter"]:["emphasis","label","formatter"]);null==l&&(l=s.get(["label","formatter"]));var h;return"function"==typeof l?(u.status=r,h=l(u)):"string"==typeof l&&(h=i.a.format.formatTpl(l,u)),h},a.normalizeToArray=function(e){return e instanceof Array?e:null==e?[]:[e]},t.a=a},function(e,t,r){"use strict";var n=r(20),i={};i.create=function(){var e=new n.a(4);return e[0]=0,e[1]=0,e[2]=0,e[3]=0,e},i.clone=function(e){var t=new n.a(4);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t},i.fromValues=function(e,t,r,i){var a=new n.a(4);return a[0]=e,a[1]=t,a[2]=r,a[3]=i,a},i.copy=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e},i.set=function(e,t,r,n,i){return e[0]=t,e[1]=r,e[2]=n,e[3]=i,e},i.add=function(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e},i.subtract=function(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e},i.sub=i.subtract,i.multiply=function(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e[3]=t[3]*r[3],e},i.mul=i.multiply,i.divide=function(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e[3]=t[3]/r[3],e},i.div=i.divide,i.min=function(e,t,r){return e[0]=Math.min(t[0],r[0]),e[1]=Math.min(t[1],r[1]),e[2]=Math.min(t[2],r[2]),e[3]=Math.min(t[3],r[3]),e},i.max=function(e,t,r){return e[0]=Math.max(t[0],r[0]),e[1]=Math.max(t[1],r[1]),e[2]=Math.max(t[2],r[2]),e[3]=Math.max(t[3],r[3]),e},i.scale=function(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e},i.scaleAndAdd=function(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e[3]=t[3]+r[3]*n,e},i.distance=function(e,t){var r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2],a=t[3]-e[3];return Math.sqrt(r*r+n*n+i*i+a*a)},i.dist=i.distance,i.squaredDistance=function(e,t){var r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2],a=t[3]-e[3];return r*r+n*n+i*i+a*a},i.sqrDist=i.squaredDistance,i.length=function(e){var t=e[0],r=e[1],n=e[2],i=e[3];return Math.sqrt(t*t+r*r+n*n+i*i)},i.len=i.length,i.squaredLength=function(e){var t=e[0],r=e[1],n=e[2],i=e[3];return t*t+r*r+n*n+i*i},i.sqrLen=i.squaredLength,i.negate=function(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=-t[3],e},i.inverse=function(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e[3]=1/t[3],e},i.normalize=function(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=r*r+n*n+i*i+a*a;return o>0&&(o=1/Math.sqrt(o),e[0]=t[0]*o,e[1]=t[1]*o,e[2]=t[2]*o,e[3]=t[3]*o),e},i.dot=function(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]},i.lerp=function(e,t,r,n){var i=t[0],a=t[1],o=t[2],s=t[3];return e[0]=i+n*(r[0]-i),e[1]=a+n*(r[1]-a),e[2]=o+n*(r[2]-o),e[3]=s+n*(r[3]-s),e},i.random=function(e,t){return t=t||1,e[0]=Object(n.c)(),e[1]=Object(n.c)(),e[2]=Object(n.c)(),e[3]=Object(n.c)(),i.normalize(e,e),i.scale(e,e,t),e},i.transformMat4=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3];return e[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,e[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,e[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,e[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,e},i.transformQuat=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],u=r[2],l=r[3],h=l*n+s*a-u*i,c=l*i+u*n-o*a,d=l*a+o*i-s*n,f=-o*n-s*i-u*a;return e[0]=h*l+f*-o+c*-u-d*-s,e[1]=c*l+f*-s+d*-o-h*-u,e[2]=d*l+f*-u+h*-s-c*-o,e},i.forEach=function(){var e=i.create();return function(t,r,n,i,a,o){var s,u;for(r||(r=4),n||(n=0),u=i?Math.min(i*r+n,t.length):t.length,s=n;s<u;s+=r)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],e[3]=t[s+3],a(e,e,o),t[s]=e[0],t[s+1]=e[1],t[s+2]=e[2],t[s+3]=e[3];return t}}(),t.a=i},function(e,t,r){"use strict";var n=r(20),i={};i.create=function(){var e=new n.a(9);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e},i.fromMat4=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[4],e[4]=t[5],e[5]=t[6],e[6]=t[8],e[7]=t[9],e[8]=t[10],e},i.clone=function(e){var t=new n.a(9);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t},i.copy=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e},i.identity=function(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e},i.transpose=function(e,t){if(e===t){var r=t[1],n=t[2],i=t[5];e[1]=t[3],e[2]=t[6],e[3]=r,e[5]=t[7],e[6]=n,e[7]=i}else e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8];return e},i.invert=function(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],l=t[7],h=t[8],c=h*o-s*l,d=-h*a+s*u,f=l*a-o*u,p=r*c+n*d+i*f;return p?(p=1/p,e[0]=c*p,e[1]=(-h*n+i*l)*p,e[2]=(s*n-i*o)*p,e[3]=d*p,e[4]=(h*r-i*u)*p,e[5]=(-s*r+i*a)*p,e[6]=f*p,e[7]=(-l*r+n*u)*p,e[8]=(o*r-n*a)*p,e):null},i.adjoint=function(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],l=t[7],h=t[8];return e[0]=o*h-s*l,e[1]=i*l-n*h,e[2]=n*s-i*o,e[3]=s*u-a*h,e[4]=r*h-i*u,e[5]=i*a-r*s,e[6]=a*l-o*u,e[7]=n*u-r*l,e[8]=r*o-n*a,e},i.determinant=function(e){var t=e[0],r=e[1],n=e[2],i=e[3],a=e[4],o=e[5],s=e[6],u=e[7],l=e[8];return t*(l*a-o*u)+r*(-l*i+o*s)+n*(u*i-a*s)},i.multiply=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],l=t[6],h=t[7],c=t[8],d=r[0],f=r[1],p=r[2],m=r[3],g=r[4],_=r[5],v=r[6],y=r[7],x=r[8];return e[0]=d*n+f*o+p*l,e[1]=d*i+f*s+p*h,e[2]=d*a+f*u+p*c,e[3]=m*n+g*o+_*l,e[4]=m*i+g*s+_*h,e[5]=m*a+g*u+_*c,e[6]=v*n+y*o+x*l,e[7]=v*i+y*s+x*h,e[8]=v*a+y*u+x*c,e},i.mul=i.multiply,i.translate=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],l=t[6],h=t[7],c=t[8],d=r[0],f=r[1];return e[0]=n,e[1]=i,e[2]=a,e[3]=o,e[4]=s,e[5]=u,e[6]=d*n+f*o+l,e[7]=d*i+f*s+h,e[8]=d*a+f*u+c,e},i.rotate=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],l=t[6],h=t[7],c=t[8],d=Math.sin(r),f=Math.cos(r);return e[0]=f*n+d*o,e[1]=f*i+d*s,e[2]=f*a+d*u,e[3]=f*o-d*n,e[4]=f*s-d*i,e[5]=f*u-d*a,e[6]=l,e[7]=h,e[8]=c,e},i.scale=function(e,t,r){var n=r[0],i=r[1];return e[0]=n*t[0],e[1]=n*t[1],e[2]=n*t[2],e[3]=i*t[3],e[4]=i*t[4],e[5]=i*t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e},i.fromMat2d=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=0,e[3]=t[2],e[4]=t[3],e[5]=0,e[6]=t[4],e[7]=t[5],e[8]=1,e},i.fromQuat=function(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=r+r,s=n+n,u=i+i,l=r*o,h=n*o,c=n*s,d=i*o,f=i*s,p=i*u,m=a*o,g=a*s,_=a*u;return e[0]=1-c-p,e[3]=h-_,e[6]=d+g,e[1]=h+_,e[4]=1-l-p,e[7]=f-m,e[2]=d-g,e[5]=f+m,e[8]=1-l-c,e},i.normalFromMat4=function(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],l=t[7],h=t[8],c=t[9],d=t[10],f=t[11],p=t[12],m=t[13],g=t[14],_=t[15],v=r*s-n*o,y=r*u-i*o,x=r*l-a*o,T=n*u-i*s,b=n*l-a*s,w=i*l-a*u,E=h*m-c*p,S=h*g-d*p,A=h*_-f*p,M=c*g-d*m,C=c*_-f*m,L=d*_-f*g,D=v*L-y*C+x*M+T*A-b*S+w*E;return D?(D=1/D,e[0]=(s*L-u*C+l*M)*D,e[1]=(u*A-o*L-l*S)*D,e[2]=(o*C-s*A+l*E)*D,e[3]=(i*C-n*L-a*M)*D,e[4]=(r*L-i*A+a*S)*D,e[5]=(n*A-r*C-a*E)*D,e[6]=(m*w-g*b+_*T)*D,e[7]=(g*x-p*w-_*y)*D,e[8]=(p*b-m*x+_*v)*D,e):null},i.frob=function(e){return Math.sqrt(Math.pow(e[0],2)+Math.pow(e[1],2)+Math.pow(e[2],2)+Math.pow(e[3],2)+Math.pow(e[4],2)+Math.pow(e[5],2)+Math.pow(e[6],2)+Math.pow(e[7],2)+Math.pow(e[8],2))},t.a=i},function(e,t,r){"use strict";var n=r(7),i=r(3),a=r(56),o=r(9),s=r(21),u=r(18),l=0,h=n.a.extend({name:"",position:null,rotation:null,scale:null,worldTransform:null,localTransform:null,autoUpdateLocalTransform:!0,_parent:null,_scene:null,_needsUpdateWorldTransform:!0,_inIterating:!1,__depth:0},function(){this.name||(this.name=(this.type||"NODE")+"_"+l++),this.position||(this.position=new i.a),this.rotation||(this.rotation=new a.a),this.scale||(this.scale=new i.a(1,1,1)),this.worldTransform=new o.a,this.localTransform=new o.a,this._children=[]},{target:null,invisible:!1,isSkinnedMesh:function(){return!1},isRenderable:function(){return!1},setName:function(e){var t=this._scene;if(t){var r=t._nodeRepository;delete r[this.name],r[e]=this}this.name=e},add:function(e){var t=e._parent;if(t!==this){t&&t.remove(e),e._parent=this,this._children.push(e);var r=this._scene;r&&r!==e.scene&&e.traverse(this._addSelfToScene,this),e._needsUpdateWorldTransform=!0}},remove:function(e){var t=this._children,r=t.indexOf(e);r<0||(t.splice(r,1),e._parent=null,this._scene&&e.traverse(this._removeSelfFromScene,this))},removeAll:function(){for(var e=this._children,t=0;t<e.length;t++)e[t]._parent=null,this._scene&&e[t].traverse(this._removeSelfFromScene,this);this._children=[]},getScene:function(){return this._scene},getParent:function(){return this._parent},_removeSelfFromScene:function(e){e._scene.removeFromScene(e),e._scene=null},_addSelfToScene:function(e){this._scene.addToScene(e),e._scene=this._scene},isAncestor:function(e){for(var t=e._parent;t;){if(t===this)return!0;t=t._parent}return!1},children:function(){return this._children.slice()},childAt:function(e){return this._children[e]},getChildByName:function(e){for(var t=this._children,r=0;r<t.length;r++)if(t[r].name===e)return t[r]},getDescendantByName:function(e){for(var t=this._children,r=0;r<t.length;r++){var n=t[r];if(n.name===e)return n;var i=n.getDescendantByName(e);if(i)return i}},queryNode:function(e){if(e){for(var t=e.split("/"),r=this,n=0;n<t.length;n++){var i=t[n];if(i){for(var a=!1,o=r._children,s=0;s<o.length;s++){var u=o[s];if(u.name===i){r=u,a=!0;break}}if(!a)return}}return r}},getPath:function(e){if(!this._parent)return"/";for(var t=this._parent,r=this.name;t._parent&&(r=t.name+"/"+r,t._parent!=e);)t=t._parent;return!t._parent&&e?null:r},traverse:function(e,t){e.call(t,this);for(var r=this._children,n=0,i=r.length;n<i;n++)r[n].traverse(e,t)},eachChild:function(e,t){for(var r=this._children,n=0,i=r.length;n<i;n++){var a=r[n];e.call(t,a,n)}},setLocalTransform:function(e){s.a.copy(this.localTransform.array,e.array),this.decomposeLocalTransform()},decomposeLocalTransform:function(e){var t=e?null:this.scale;this.localTransform.decomposeMatrix(t,this.rotation,this.position)},setWorldTransform:function(e){s.a.copy(this.worldTransform.array,e.array),this.decomposeWorldTransform()},decomposeWorldTransform:function(){var e=s.a.create();return function(t){var r=this.localTransform,n=this.worldTransform;this._parent?(s.a.invert(e,this._parent.worldTransform.array),s.a.multiply(r.array,e,n.array)):s.a.copy(r.array,n.array);var i=t?null:this.scale;r.decomposeMatrix(i,this.rotation,this.position)}}(),transformNeedsUpdate:function(){return this.position._dirty||this.rotation._dirty||this.scale._dirty},updateLocalTransform:function(){var e=this.position,t=this.rotation,r=this.scale;if(this.transformNeedsUpdate()){var n=this.localTransform.array;s.a.fromRotationTranslation(n,t.array,e.array),s.a.scale(n,n,r.array),t._dirty=!1,r._dirty=!1,e._dirty=!1,this._needsUpdateWorldTransform=!0}},_updateWorldTransformTopDown:function(){var e=this.localTransform.array,t=this.worldTransform.array;this._parent?s.a.multiplyAffine(t,this._parent.worldTransform.array,e):s.a.copy(t,e)},updateWorldTransform:function(){for(var e=this;e&&e.getParent()&&e.getParent().transformNeedsUpdate();)e=e.getParent();e.update()},update:function(e){this.autoUpdateLocalTransform?this.updateLocalTransform():e=!0,(e||this._needsUpdateWorldTransform)&&(this._updateWorldTransformTopDown(),e=!0,this._needsUpdateWorldTransform=!1);for(var t=this._children,r=0,n=t.length;r<n;r++)t[r].update(e)},getBoundingBox:function(){function e(e){return!e.invisible&&e.geometry}var t=new u.a,r=new o.a,n=new o.a;return function(i,a){return a=a||new u.a,i=i||e,this._parent?o.a.invert(n,this._parent.worldTransform):o.a.identity(n),this.traverse(function(e){e.geometry&&e.geometry.boundingBox&&(t.copy(e.geometry.boundingBox),o.a.multiply(r,n,e.worldTransform),t.applyTransform(r),a.union(t))},this,e),a}}(),getWorldPosition:function(e){this.transformNeedsUpdate()&&this.updateWorldTransform();var t=this.worldTransform.array;if(e){var r=e.array;return r[0]=t[12],r[1]=t[13],r[2]=t[14],e}return new i.a(t[12],t[13],t[14])},clone:function(){var e=new this.constructor,t=this._children;e.setName(this.name),e.position.copy(this.position),e.rotation.copy(this.rotation),e.scale.copy(this.scale);for(var r=0;r<t.length;r++)e.add(t[r].clone());return e},rotateAround:function(){var e=new i.a,t=new o.a;return function(r,n,i){e.copy(this.position).subtract(r);var a=this.localTransform;a.identity(),a.translate(r),a.rotate(i,n),t.fromRotationTranslation(this.rotation,e),a.multiply(t),a.scale(this.scale),this.decomposeLocalTransform(),this._needsUpdateWorldTransform=!0}}(),lookAt:function(){var e=new o.a;return function(t,r){e.lookAt(this.position,t,r||this.localTransform.y).invert(),this.setLocalTransform(e),this.target=t}}()});t.a=h},function(e,t,r){"use strict";function n(e){var t=[],r=Object.keys(e);r.sort();for(var n=0;n<r.length;n++){var i=r[n];t.push(i+" "+e[i])}var a=t.join("\n");if(g[a])return g[a];var o=h.a.genGUID();return g[a]=o,o}function i(){this.opaque=[],this.transparent=[],this._opaqueCount=0,this._transparentCount=0}function a(e,t){if(t.castShadow&&!e.castShadow)return!0}var o=r(35),s=r(24),u=r(58),l=r(18),h=r(23),c=r(21),d=r(69),f=r(9),p=c.a.create(),m=c.a.create(),g={};i.prototype.startCount=function(){this._opaqueCount=0,this._transparentCount=0},i.prototype.add=function(e,t){t?this.transparent[this._transparentCount++]=e:this.opaque[this._opaqueCount++]=e},i.prototype.endCount=function(){this.transparent.length=this._transparentCount,this.opaque.length=this._opaqueCount};var _=o.a.extend(function(){return{material:null,lights:[],viewBoundingBoxLastFrame:new l.a,shadowUniforms:{},_cameraList:[],_lightUniforms:{},_previousLightNumber:{},_lightNumber:{},_lightProgramKeys:{},_nodeRepository:{},_renderLists:new d.a(20)}},function(){this._scene=this},{addToScene:function(e){e instanceof u.a?(this._cameraList.length>0&&console.warn("Found multiple camera in one scene. Use the fist one."),this._cameraList.push(e)):e instanceof s.a&&this.lights.push(e),e.name&&(this._nodeRepository[e.name]=e)},removeFromScene:function(e){var t;e instanceof u.a?(t=this._cameraList.indexOf(e))>=0&&this._cameraList.splice(t,1):e instanceof s.a&&(t=this.lights.indexOf(e))>=0&&this.lights.splice(t,1),e.name&&delete this._nodeRepository[e.name]},getNode:function(e){return this._nodeRepository[e]},setMainCamera:function(e){var t=this._cameraList.indexOf(e);t>=0&&this._cameraList.splice(t,1),this._cameraList.unshift(e)},getMainCamera:function(){return this._cameraList[0]},getLights:function(){return this.lights},updateLights:function(){var e=this.lights;this._previousLightNumber=this._lightNumber;for(var t={},r=0;r<e.length;r++){var i=e[r];if(!i.invisible){var a=i.group;t[a]||(t[a]={}),t[a][i.type]=t[a][i.type]||0,t[a][i.type]++}}this._lightNumber=t;for(var o in t)this._lightProgramKeys[o]=n(t[o]);this._updateLightUniforms()},cloneNode:function(e){function t(e,r){n[e.__uid__]=r;for(var i=0;i<e._children.length;i++){t(e._children[i],r._children[i])}}var r=e.clone(),n={};return t(e,r),r.traverse(function(e){e.skeleton&&(e.skeleton=e.skeleton.clone(n)),e.material&&(e.material=e.material.clone())}),r},updateRenderList:function(e,t){var r=e.__uid__,n=this._renderLists.get(r);n||(n=new i,this._renderLists.put(r,n)),n.startCount(),t&&(this.viewBoundingBoxLastFrame.min.set(1/0,1/0,1/0),this.viewBoundingBoxLastFrame.max.set(-1/0,-1/0,-1/0));var a=this.material&&this.material.transparent||!1;return this._doUpdateRenderList(this,e,a,n,t),n.endCount(),n},getRenderList:function(e){return this._renderLists.get(e.__uid__)},_doUpdateRenderList:function(e,t,r,n,i){if(!e.invisible)for(var a=0;a<e._children.length;a++){var o=e._children[a];if(o.isRenderable()){var s=o.isSkinnedMesh()?p:o.worldTransform.array,u=o.geometry;c.a.multiplyAffine(m,t.viewMatrix.array,s),(i&&!u.boundingBox||!this.isFrustumCulled(o,t,m))&&n.add(o,o.material.transparent||r)}o._children.length>0&&this._doUpdateRenderList(o,t,r,n,i)}},isFrustumCulled:function(){var e=new l.a,t=new f.a;return function(r,n,i){var a=r.boundingBox;if(a||(a=r.skeleton&&r.skeleton.boundingBox?r.skeleton.boundingBox:r.geometry.boundingBox),!a)return!1;if(t.array=i,e.transformFrom(a,t),r.castShadow&&this.viewBoundingBoxLastFrame.union(e),r.frustumCulling){if(!e.intersectBoundingBox(n.frustum.boundingBox))return!0;t.array=n.projectionMatrix.array,e.max.array[2]>0&&e.min.array[2]<0&&(e.max.array[2]=-1e-20),e.applyProjection(t);var o=e.min.array,s=e.max.array;if(s[0]<-1||o[0]>1||s[1]<-1||o[1]>1||s[2]<-1||o[2]>1)return!0}return!1}}(),_updateLightUniforms:function(){var e=this.lights;e.sort(a);var t=this._lightUniforms;for(var r in t)for(var n in t[r])t[r][n].value.length=0;for(var i=0;i<e.length;i++){var o=e[i];if(!o.invisible){var r=o.group;for(var n in o.uniformTemplates){var s=o.uniformTemplates[n],u=s.value(o);if(null!=u){t[r]||(t[r]={}),t[r][n]||(t[r][n]={type:"",value:[]});var l=t[r][n];switch(l.type=s.type+"v",s.type){case"1i":case"1f":case"t":l.value.push(u);break;case"2f":case"3f":case"4f":for(var h=0;h<u.length;h++)l.value.push(u[h]);break;default:console.error("Unkown light uniform type "+s.type)}}}}}},getLightGroups:function(){var e=[];for(var t in this._lightNumber)e.push(t);return e},getNumberChangedLightGroups:function(){var e=[];for(var t in this._lightNumber)this.isLightNumberChanged(t)&&e.push(t);return e},isLightNumberChanged:function(e){var t=this._previousLightNumber,r=this._lightNumber;for(var n in r[e]){if(!t[e])return!0;if(r[e][n]!==t[e][n])return!0}for(var n in t[e]){if(!r[e])return!0;if(r[e][n]!==t[e][n])return!0}return!1},getLightsNumbers:function(e){return this._lightNumber[e]},getProgramKey:function(e){return this._lightProgramKeys[e]},setLightUniforms:function(){function e(e,t,r){for(var n in e){var i=e[n];if("tv"===i.type){if(!t.hasUniform(n))continue;for(var a=[],o=0;o<i.value.length;o++){var s=i.value[o],u=t.takeCurrentTextureSlot(r,s);a.push(u)}t.setUniform(r.gl,"1iv",n,a)}else t.setUniform(r.gl,i.type,n,i.value)}}return function(t,r,n){e(this._lightUniforms[r],t,n),e(this.shadowUniforms,t,n)}}(),dispose:function(){this.material=null,this._opaqueList=[],this._transparentList=[],this.lights=[],this._lightUniforms={},this._lightNumber={},this._nodeRepository={}}});t.a=_},function(e,t,r){"use strict";var n=r(58),i=n.a.extend({left:-1,right:1,near:-1,far:1,top:1,bottom:-1},{updateProjectionMatrix:function(){this.projectionMatrix.ortho(this.left,this.right,this.bottom,this.top,this.near,this.far)},decomposeProjectionMatrix:function(){var e=this.projectionMatrix.array;this.left=(-1-e[12])/e[0],this.right=(1-e[12])/e[0],this.top=(1-e[13])/e[5],this.bottom=(-1-e[13])/e[5],this.near=-(-1-e[14])/e[10],this.far=-(1-e[14])/e[10]},clone:function(){var e=n.a.prototype.clone.call(this);return e.left=this.left,e.right=this.right,e.near=this.near,e.far=this.far,e.top=this.top,e.bottom=this.bottom,e}});t.a=i},function(e,t,r){"use strict";t.a={convertToDynamicArray:function(e){e&&this.resetOffset();var t=this.attributes;for(var r in t)e||!t[r].value?t[r].value=[]:t[r].value=Array.prototype.slice.call(t[r].value);e||!this.indices?this.indices=[]:this.indices=Array.prototype.slice.call(this.indices)},convertToTypedArray:function(){var e=this.attributes;for(var t in e)e[t].value&&e[t].value.length>0?e[t].value=new Float32Array(e[t].value):e[t].value=null;this.indices&&this.indices.length>0&&(this.indices=this.vertexCount>65535?new Uint32Array(this.indices):new Uint16Array(this.indices)),this.dirty()}}},function(e,t,r){"use strict";function n(e,t){var r=[];return a.a.util.each(e.dimensions,function(n){var i=e.getDimensionInfo(n),a=i.otherDims,o=a[t];null!=o&&!1!==o&&(r[o]=i.name)}),r}var i=r(0),a=r.n(i);t.a=function(e,t,r){var i=e.getData(),o=e.getRawValue(t),s=a.a.util.isArray(o)?function(e){function o(e,t){var n=i.getDimensionInfo(t);if(n&&!1!==n.otherDims.tooltip){var o=n.type,l=(s?"- "+(n.tooltipName||n.name)+": ":"")+("ordinal"===o?e+"":"time"===o?r?"":a.a.format.formatTime("yyyy/MM/dd hh:mm:ss",e):a.a.format.addCommas(e));l&&u.push(a.a.format.encodeHTML(l))}}var s=!0,u=[],l=n(i,"tooltip");return l.length?a.a.util.each(l,function(e){o(i.get(e,t),e)}):a.a.util.each(e,o),(s?"<br/>":"")+u.join(s?"<br/>":", ")}(o):a.a.format.encodeHTML(a.a.format.addCommas(o)),u=i.getName(t),l=i.getItemVisual(t,"color");a.a.util.isObject(l)&&l.colorStops&&(l=(l.colorStops[0]||{}).color),l=l||"transparent";var h=a.a.format.getTooltipMarker(l),c=e.name;return"\0-"===c&&(c=""),c=c?a.a.format.encodeHTML(c)+(r?": ":"<br/>"):"",r?h+c+s:c+h+(u?a.a.format.encodeHTML(u)+": "+s:s)}},function(e,t,r){"use strict";var n=r(72),i=r(11),a=n.a.extend({skeleton:null,joints:null,useSkinMatricesTexture:!1},function(){this.joints||(this.joints=[])},{isSkinnedMesh:function(){return!!(this.skeleton&&this.joints&&this.joints.length>0)},clone:function(){var e=n.a.prototype.clone.call(this);return e.skeleton=this.skeleton,this.joints&&(e.joints=this.joints.slice()),e}});a.POINTS=i.a.POINTS,a.LINES=i.a.LINES,a.LINE_LOOP=i.a.LINE_LOOP,a.LINE_STRIP=i.a.LINE_STRIP,a.TRIANGLES=i.a.TRIANGLES,a.TRIANGLE_STRIP=i.a.TRIANGLE_STRIP,a.TRIANGLE_FAN=i.a.TRIANGLE_FAN,a.BACK=i.a.BACK,a.FRONT=i.a.FRONT,a.FRONT_AND_BACK=i.a.FRONT_AND_BACK,a.CW=i.a.CW,a.CCW=i.a.CCW,t.a=a},function(e,t,r){"use strict";var n=r(58),i=n.a.extend({fov:50,aspect:1,near:.1,far:2e3},{updateProjectionMatrix:function(){var e=this.fov/180*Math.PI;this.projectionMatrix.perspective(e,this.aspect,this.near,this.far)},decomposeProjectionMatrix:function(){var e=this.projectionMatrix.array,t=2*Math.atan(1/e[5]);this.fov=t/Math.PI*180,this.aspect=e[5]/e[0],this.near=e[14]/(e[10]-1),this.far=e[14]/(e[10]+1)},clone:function(){var e=n.a.prototype.clone.call(this);return e.fov=this.fov,e.aspect=this.aspect,e.near=this.near,e.far=this.far,e}});t.a=i},function(e,t,r){"use strict";var n=r(40),i=r(76),a=r(8),o=r(19),s=r(4),u=r(121);a.a.import(u.a);var l=n.a.extend(function(){var e=new a.a({vertex:a.a.source("clay.skybox.vertex"),fragment:a.a.source("clay.skybox.fragment")}),t=new o.a({shader:e,depthMask:!1});return{scene:null,geometry:new i.a,material:t,environmentMap:null,culling:!1}},function(){var e=this.scene;e&&this.attachScene(e),this.environmentMap&&this.setEnvironmentMap(this.environmentMap)},{attachScene:function(e){this.scene&&this.detachScene(),e.skybox=this,this.scene=e,e.on("beforerender",this._beforeRenderScene,this)},detachScene:function(){this.scene&&(this.scene.off("beforerender",this._beforeRenderScene),this.scene.skybox=null),this.scene=null},dispose:function(e){this.detachScene(),this.geometry.dispose(e)},setEnvironmentMap:function(e){"texture2D"===e.textureType?(this.material.define("EQUIRECTANGULAR"),e.minFilter=s.a.LINEAR):this.material.undefine("EQUIRECTANGULAR"),this.material.set("environmentMap",e)},getEnvironmentMap:function(){return this.material.get("environmentMap")},_beforeRenderScene:function(e,t,r){this.renderSkybox(e,r)},renderSkybox:function(e,t){this.position.copy(t.getWorldPosition()),this.update(),e.gl.disable(e.gl.BLEND),this.material.get("lod")>0?this.material.define("fragment","LOD"):this.material.undefine("fragment","LOD"),e.renderPass([this],t)}});t.a=l},function(e,t,r){"use strict";var n=r(15),i=r(18),a=n.a.extend({dynamic:!1,widthSegments:1,heightSegments:1},function(){this.build()},{build:function(){for(var e=this.heightSegments,t=this.widthSegments,r=this.attributes,n=[],a=[],o=[],s=[],u=0;u<=e;u++)for(var l=u/e,h=0;h<=t;h++){var c=h/t;if(n.push([2*c-1,2*l-1,0]),a&&a.push([c,l]),o&&o.push([0,0,1]),h<t&&u<e){var d=h+u*(t+1);s.push([d,d+1,d+t+1]),s.push([d+t+1,d+1,d+t+2])}}r.position.fromArray(n),r.texcoord0.fromArray(a),r.normal.fromArray(o),this.initIndicesFromArray(s),this.boundingBox=new i.a,this.boundingBox.min.set(-1,-1,0),this.boundingBox.max.set(1,1,0)}});t.a=a},function(e,t,r){"use strict";t.a={defaultOption:{viewControl:{projection:"perspective",autoRotate:!1,autoRotateDirection:"cw",autoRotateSpeed:10,autoRotateAfterStill:3,damping:.8,rotateSensitivity:1,zoomSensitivity:1,panSensitivity:1,panMouseButton:"middle",rotateMouseButton:"left",distance:150,minDistance:40,maxDistance:400,orthographicSize:150,maxOrthographicSize:400,minOrthographicSize:20,center:[0,0,0],alpha:0,beta:0,minAlpha:-90,maxAlpha:90}},setView:function(e){e=e||{},this.option.viewControl=this.option.viewControl||{},null!=e.alpha&&(this.option.viewControl.alpha=e.alpha),null!=e.beta&&(this.option.viewControl.beta=e.beta),null!=e.distance&&(this.option.viewControl.distance=e.distance),null!=e.center&&(this.option.viewControl.center=e.center)}}},function(e,t,r){"use strict";function n(e){return e instanceof Array||(e=[e,e]),e}var i=r(7),a=r(26),o=r(3),s=(r(56),r(2)),u=s.a.firstNotNull,l={left:0,middle:1,right:2},h=i.a.extend(function(){return{zr:null,viewGL:null,_center:new o.a,minDistance:.5,maxDistance:1.5,maxOrthographicSize:300,minOrthographicSize:30,minAlpha:-90,maxAlpha:90,minBeta:-1/0,maxBeta:1/0,autoRotateAfterStill:0,autoRotateDirection:"cw",autoRotateSpeed:60,damping:.8,rotateSensitivity:1,zoomSensitivity:1,panSensitivity:1,panMouseButton:"middle",rotateMouseButton:"left",_mode:"rotate",_camera:null,_needsUpdate:!1,_rotating:!1,_phi:0,_theta:0,_mouseX:0,_mouseY:0,_rotateVelocity:new a.a,_panVelocity:new a.a,_distance:500,_zoomSpeed:0,_stillTimeout:0,_animators:[]}},function(){["_mouseDownHandler","_mouseWheelHandler","_mouseMoveHandler","_mouseUpHandler","_pinchHandler","_contextMenuHandler","_update"].forEach(function(e){this[e]=this[e].bind(this)},this)},{init:function(){var e=this.zr;e&&(e.on("mousedown",this._mouseDownHandler),e.on("globalout",this._mouseUpHandler),e.on("mousewheel",this._mouseWheelHandler),e.on("pinch",this._pinchHandler),e.animation.on("frame",this._update),e.dom.addEventListener("contextmenu",this._contextMenuHandler))},dispose:function(){var e=this.zr;e&&(e.off("mousedown",this._mouseDownHandler),e.off("mousemove",this._mouseMoveHandler),e.off("mouseup",this._mouseUpHandler),e.off("mousewheel",this._mouseWheelHandler),e.off("pinch",this._pinchHandler),e.off("globalout",this._mouseUpHandler),e.dom.removeEventListener("contextmenu",this._contextMenuHandler),e.animation.off("frame",this._update)),this.stopAllAnimation()},getDistance:function(){return this._distance},setDistance:function(e){this._distance=e,this._needsUpdate=!0},getOrthographicSize:function(){return this._orthoSize},setOrthographicSize:function(e){this._orthoSize=e,this._needsUpdate=!0},getAlpha:function(){return this._theta/Math.PI*180},getBeta:function(){return-this._phi/Math.PI*180},getCenter:function(){return this._center.toArray()},setAlpha:function(e){e=Math.max(Math.min(this.maxAlpha,e),this.minAlpha),this._theta=e/180*Math.PI,this._needsUpdate=!0},setBeta:function(e){e=Math.max(Math.min(this.maxBeta,e),this.minBeta),this._phi=-e/180*Math.PI,this._needsUpdate=!0},setCenter:function(e){this._center.setArray(e)},setViewGL:function(e){this.viewGL=e},getCamera:function(){return this.viewGL.camera},setFromViewControlModel:function(e,t){t=t||{};var r=t.baseDistance||0,n=t.baseOrthoSize||1,i=e.get("projection");"perspective"!==i&&"orthographic"!==i&&"isometric"!==i&&(i="perspective"),this._projection=i,this.viewGL.setProjection(i);var a=e.get("distance")+r,o=e.get("orthographicSize")+n;[["damping",.8],["autoRotate",!1],["autoRotateAfterStill",3],["autoRotateDirection","cw"],["autoRotateSpeed",10],["minDistance",30],["maxDistance",400],["minOrthographicSize",30],["maxOrthographicSize",300],["minAlpha",-90],["maxAlpha",90],["minBeta",-1/0],["maxBeta",1/0],["rotateSensitivity",1],["zoomSensitivity",1],["panSensitivity",1],["panMouseButton","left"],["rotateMouseButton","middle"]].forEach(function(t){this[t[0]]=u(e.get(t[0]),t[1])},this),this.minDistance+=r,this.maxDistance+=r,this.minOrthographicSize+=n,this.maxOrthographicSize+=n;var s=e.ecModel,l={};["animation","animationDurationUpdate","animationEasingUpdate"].forEach(function(t){l[t]=u(e.get(t),s&&s.get(t))});var h=u(t.alpha,e.get("alpha"))||0,c=u(t.beta,e.get("beta"))||0,d=u(t.center,e.get("center"))||[0,0,0];l.animation&&l.animationDurationUpdate>0&&this._notFirst?this.animateTo({alpha:h,beta:c,center:d,distance:a,targetOrthographicSize:o,easing:l.animationEasingUpdate,duration:l.animationDurationUpdate}):(this.setDistance(a),this.setAlpha(h),this.setBeta(c),this.setCenter(d),this.setOrthographicSize(o)),this._notFirst=!0,this._validateProperties()},_validateProperties:function(){},animateTo:function(e){var t=this.zr,r=this,n={},i={};return null!=e.distance&&(n.distance=this.getDistance(),i.distance=e.distance),null!=e.orthographicSize&&(n.orthographicSize=this.getOrthographicSize(),i.orthographicSize=e.orthographicSize),null!=e.alpha&&(n.alpha=this.getAlpha(),i.alpha=e.alpha),null!=e.beta&&(n.beta=this.getBeta(),i.beta=e.beta),null!=e.center&&(n.center=this.getCenter(),i.center=e.center),this._addAnimator(t.animation.animate(n).when(e.duration||1e3,i).during(function(){null!=n.alpha&&r.setAlpha(n.alpha),null!=n.beta&&r.setBeta(n.beta),null!=n.distance&&r.setDistance(n.distance),null!=n.center&&r.setCenter(n.center),null!=n.orthographicSize&&r.setOrthographicSize(n.orthographicSize),r._needsUpdate=!0})).start(e.easing||"linear")},stopAllAnimation:function(){for(var e=0;e<this._animators.length;e++)this._animators[e].stop();this._animators.length=0},update:function(){this._needsUpdate=!0,this._update(20)},_isAnimating:function(){return this._animators.length>0},_update:function(e){if(this._rotating){var t=("cw"===this.autoRotateDirection?1:-1)*this.autoRotateSpeed/180*Math.PI;this._phi-=t*e/1e3,this._needsUpdate=!0}else this._rotateVelocity.len()>0&&(this._needsUpdate=!0);(Math.abs(this._zoomSpeed)>.1||this._panVelocity.len()>0)&&(this._needsUpdate=!0),this._needsUpdate&&(e=Math.min(e,50),this._updateDistanceOrSize(e),this._updatePan(e),this._updateRotate(e),this._updateTransform(),this.getCamera().update(),this.zr&&this.zr.refresh(),this.trigger("update"),this._needsUpdate=!1)},_updateRotate:function(e){var t=this._rotateVelocity;this._phi=t.y*e/20+this._phi,this._theta=t.x*e/20+this._theta,this.setAlpha(this.getAlpha()),this.setBeta(this.getBeta()),this._vectorDamping(t,Math.pow(this.damping,e/16))},_updateDistanceOrSize:function(e){"perspective"===this._projection?this._setDistance(this._distance+this._zoomSpeed*e/20):this._setOrthoSize(this._orthoSize+this._zoomSpeed*e/20),this._zoomSpeed*=Math.pow(this.damping,e/16)},_setDistance:function(e){this._distance=Math.max(Math.min(e,this.maxDistance),this.minDistance)},_setOrthoSize:function(e){this._orthoSize=Math.max(Math.min(e,this.maxOrthographicSize),this.minOrthographicSize);var t=this.getCamera(),r=this._orthoSize,n=r/this.viewGL.viewport.height*this.viewGL.viewport.width;t.left=-n/2,t.right=n/2,t.top=r/2,t.bottom=-r/2},_updatePan:function(e){var t=this._panVelocity,r=this._distance,n=this.getCamera(),i=n.worldTransform.y,a=n.worldTransform.x;this._center.scaleAndAdd(a,-t.x*r/200).scaleAndAdd(i,-t.y*r/200),this._vectorDamping(t,0)},_updateTransform:function(){var e=this.getCamera(),t=new o.a,r=this._theta+Math.PI/2,n=this._phi+Math.PI/2,i=Math.sin(r);t.x=i*Math.cos(n),t.y=-Math.cos(r),t.z=i*Math.sin(n),e.position.copy(this._center).scaleAndAdd(t,this._distance),e.rotation.identity().rotateY(-this._phi).rotateX(-this._theta)},_startCountingStill:function(){clearTimeout(this._stillTimeout);var e=this.autoRotateAfterStill,t=this;!isNaN(e)&&e>0&&(this._stillTimeout=setTimeout(function(){t._rotating=!0},1e3*e))},_vectorDamping:function(e,t){var r=e.len();r*=t,r<1e-4&&(r=0),e.normalize().scale(r)},_decomposeTransform:function(){if(this.getCamera()){this.getCamera().updateWorldTransform();var e=this.getCamera().worldTransform.z,t=Math.asin(e.y),r=Math.atan2(e.x,e.z);this._theta=t,this._phi=-r,this.setBeta(this.getBeta()),this.setAlpha(this.getAlpha()),this.getCamera().aspect?this._setDistance(this.getCamera().position.dist(this._center)):this._setOrthoSize(this.getCamera().top-this.getCamera().bottom)}},_mouseDownHandler:function(e){if(!e.target&&!this._isAnimating()){var t=e.offsetX,r=e.offsetY;this.viewGL&&!this.viewGL.containPoint(t,r)||(this.zr.on("mousemove",this._mouseMoveHandler),this.zr.on("mouseup",this._mouseUpHandler),e.event.targetTouches?1===e.event.targetTouches.length&&(this._mode="rotate"):e.event.button===l[this.rotateMouseButton]?this._mode="rotate":e.event.button===l[this.panMouseButton]?this._mode="pan":this._mode="",this._rotateVelocity.set(0,0),this._rotating=!1,this.autoRotate&&this._startCountingStill(),this._mouseX=e.offsetX,this._mouseY=e.offsetY)}},_mouseMoveHandler:function(e){if(!(e.target&&e.target.__isGLToZRProxy||this._isAnimating())){var t=n(this.panSensitivity),r=n(this.rotateSensitivity);"rotate"===this._mode?(this._rotateVelocity.y=(e.offsetX-this._mouseX)/this.zr.getHeight()*2*r[0],this._rotateVelocity.x=(e.offsetY-this._mouseY)/this.zr.getWidth()*2*r[1]):"pan"===this._mode&&(this._panVelocity.x=(e.offsetX-this._mouseX)/this.zr.getWidth()*t[0]*400,this._panVelocity.y=(-e.offsetY+this._mouseY)/this.zr.getHeight()*t[1]*400),this._mouseX=e.offsetX,this._mouseY=e.offsetY,e.event.preventDefault()}},_mouseWheelHandler:function(e){if(!this._isAnimating()){var t=e.event.wheelDelta||-e.event.detail;this._zoomHandler(e,t)}},_pinchHandler:function(e){this._isAnimating()||(this._zoomHandler(e,e.pinchScale>1?1:-1),this._mode="")},_zoomHandler:function(e,t){if(0!==t){var r=e.offsetX,n=e.offsetY;if(!this.viewGL||this.viewGL.containPoint(r,n)){var i;i="perspective"===this._projection?Math.max(Math.max(Math.min(this._distance-this.minDistance,this.maxDistance-this._distance))/20,.5):Math.max(Math.max(Math.min(this._orthoSize-this.minOrthographicSize,this.maxOrthographicSize-this._orthoSize))/20,.5),this._zoomSpeed=(t>0?-1:1)*i*this.zoomSensitivity,this._rotating=!1,this.autoRotate&&"rotate"===this._mode&&this._startCountingStill(),e.event.preventDefault()}}},_mouseUpHandler:function(){this.zr.off("mousemove",this._mouseMoveHandler),this.zr.off("mouseup",this._mouseUpHandler)},_isRightMouseButtonUsed:function(){return"right"===this.rotateMouseButton||"right"===this.panMouseButton},_contextMenuHandler:function(e){this._isRightMouseButtonUsed()&&e.preventDefault()},_addAnimator:function(e){var t=this._animators;return t.push(e),e.done(function(){var r=t.indexOf(e);r>=0&&t.splice(r,1)}),e}});Object.defineProperty(h.prototype,"autoRotate",{get:function(e){return this._autoRotate},set:function(e){this._autoRotate=e,this._rotating=e}}),t.a=h},function(e,t,r){"use strict";t.a="@export ecgl.lines3D.vertex\n\nuniform mat4 worldViewProjection : WORLDVIEWPROJECTION;\n\nattribute vec3 position: POSITION;\nattribute vec4 a_Color : COLOR;\nvarying vec4 v_Color;\n\nvoid main()\n{\n gl_Position = worldViewProjection * vec4(position, 1.0);\n v_Color = a_Color;\n}\n\n@end\n\n@export ecgl.lines3D.fragment\n\nuniform vec4 color : [1.0, 1.0, 1.0, 1.0];\n\nvarying vec4 v_Color;\n\n@import clay.util.srgb\n\nvoid main()\n{\n#ifdef SRGB_DECODE\n gl_FragColor = sRGBToLinear(color * v_Color);\n#else\n gl_FragColor = color * v_Color;\n#endif\n}\n@end\n\n\n\n@export ecgl.lines3D.clipNear\n\nvec4 clipNear(vec4 p1, vec4 p2) {\n float n = (p1.w - near) / (p1.w - p2.w);\n return vec4(mix(p1.xy, p2.xy, n), -near, near);\n}\n\n@end\n\n@export ecgl.lines3D.expandLine\n#ifdef VERTEX_ANIMATION\n vec4 prevProj = worldViewProjection * vec4(mix(prevPositionPrev, positionPrev, percent), 1.0);\n vec4 currProj = worldViewProjection * vec4(mix(prevPosition, position, percent), 1.0);\n vec4 nextProj = worldViewProjection * vec4(mix(prevPositionNext, positionNext, percent), 1.0);\n#else\n vec4 prevProj = worldViewProjection * vec4(positionPrev, 1.0);\n vec4 currProj = worldViewProjection * vec4(position, 1.0);\n vec4 nextProj = worldViewProjection * vec4(positionNext, 1.0);\n#endif\n\n if (currProj.w < 0.0) {\n if (nextProj.w > 0.0) {\n currProj = clipNear(currProj, nextProj);\n }\n else if (prevProj.w > 0.0) {\n currProj = clipNear(currProj, prevProj);\n }\n }\n\n vec2 prevScreen = (prevProj.xy / abs(prevProj.w) + 1.0) * 0.5 * viewport.zw;\n vec2 currScreen = (currProj.xy / abs(currProj.w) + 1.0) * 0.5 * viewport.zw;\n vec2 nextScreen = (nextProj.xy / abs(nextProj.w) + 1.0) * 0.5 * viewport.zw;\n\n vec2 dir;\n float len = offset;\n if (position == positionPrev) {\n dir = normalize(nextScreen - currScreen);\n }\n else if (position == positionNext) {\n dir = normalize(currScreen - prevScreen);\n }\n else {\n vec2 dirA = normalize(currScreen - prevScreen);\n vec2 dirB = normalize(nextScreen - currScreen);\n\n vec2 tanget = normalize(dirA + dirB);\n\n float miter = 1.0 / max(dot(tanget, dirA), 0.5);\n len *= miter;\n dir = tanget;\n }\n\n dir = vec2(-dir.y, dir.x) * len;\n currScreen += dir;\n\n currProj.xy = (currScreen / viewport.zw - 0.5) * 2.0 * abs(currProj.w);\n@end\n\n\n@export ecgl.meshLines3D.vertex\n\nattribute vec3 position: POSITION;\nattribute vec3 positionPrev;\nattribute vec3 positionNext;\nattribute float offset;\nattribute vec4 a_Color : COLOR;\n\n#ifdef VERTEX_ANIMATION\nattribute vec3 prevPosition;\nattribute vec3 prevPositionPrev;\nattribute vec3 prevPositionNext;\nuniform float percent : 1.0;\n#endif\n\nuniform mat4 worldViewProjection : WORLDVIEWPROJECTION;\nuniform vec4 viewport : VIEWPORT;\nuniform float near : NEAR;\n\nvarying vec4 v_Color;\n\n@import ecgl.common.wireframe.vertexHeader\n\n@import ecgl.lines3D.clipNear\n\nvoid main()\n{\n @import ecgl.lines3D.expandLine\n\n gl_Position = currProj;\n\n v_Color = a_Color;\n\n @import ecgl.common.wireframe.vertexMain\n}\n@end\n\n\n@export ecgl.meshLines3D.fragment\n\nuniform vec4 color : [1.0, 1.0, 1.0, 1.0];\n\nvarying vec4 v_Color;\n\n@import ecgl.common.wireframe.fragmentHeader\n\n@import clay.util.srgb\n\nvoid main()\n{\n#ifdef SRGB_DECODE\n gl_FragColor = sRGBToLinear(color * v_Color);\n#else\n gl_FragColor = color * v_Color;\n#endif\n\n @import ecgl.common.wireframe.fragmentMain\n}\n\n@end"},function(e,t,r){function n(e,t,r,n,i){var a=0,o=0;null==n&&(n=1/0),null==i&&(i=1/0);var s=0;t.eachChild(function(u,l){var h,c,d=u.position,f=u.getBoundingRect(),p=t.childAt(l+1),m=p&&p.getBoundingRect();if("horizontal"===e){var g=f.width+(m?-m.x+f.x:0);h=a+g,h>n||u.newline?(a=0,h=g,o+=s+r,s=f.height):s=Math.max(s,f.height)}else{var _=f.height+(m?-m.y+f.y:0);c=o+_,c>i||u.newline?(a+=s+r,o=0,c=_,s=f.width):s=Math.max(s,f.width)}u.newline||(d[0]=a,d[1]=o,"horizontal"===e?a=h+r:o=c+r)})}function i(e,t,r){var n=t.width,i=t.height,a=p(e.x,n),o=p(e.y,i),s=p(e.x2,n),u=p(e.y2,i);return(isNaN(a)||isNaN(parseFloat(e.x)))&&(a=0),(isNaN(s)||isNaN(parseFloat(e.x2)))&&(s=n),(isNaN(o)||isNaN(parseFloat(e.y)))&&(o=0),(isNaN(u)||isNaN(parseFloat(e.y2)))&&(u=i),r=m.normalizeCssArray(r||0),{width:Math.max(s-a-r[1]-r[3],0),height:Math.max(u-o-r[0]-r[2],0)}}function a(e,t,r){r=m.normalizeCssArray(r||0);var n=t.width,i=t.height,a=p(e.left,n),o=p(e.top,i),s=p(e.right,n),u=p(e.bottom,i),l=p(e.width,n),h=p(e.height,i),c=r[2]+r[0],f=r[1]+r[3],g=e.aspect;switch(isNaN(l)&&(l=n-s-f-a),isNaN(h)&&(h=i-u-c-o),null!=g&&(isNaN(l)&&isNaN(h)&&(g>n/i?l=.8*n:h=.8*i),isNaN(l)&&(l=g*h),isNaN(h)&&(h=l/g)),isNaN(a)&&(a=n-s-l-f),isNaN(o)&&(o=i-u-h-c),e.left||e.right){case"center":a=n/2-l/2-r[3];break;case"right":a=n-l-f}switch(e.top||e.bottom){case"middle":case"center":o=i/2-h/2-r[0];break;case"bottom":o=i-h-c}a=a||0,o=o||0,isNaN(l)&&(l=n-f-a-(s||0)),isNaN(h)&&(h=i-c-o-(u||0));var _=new d(a+r[3],o+r[0],l,h);return _.margin=r,_}function o(e,t,r,n,i){var o=!i||!i.hv||i.hv[0],s=!i||!i.hv||i.hv[1],u=i&&i.boundingMode||"all";if(o||s){var l;if("raw"===u)l="group"===e.type?new d(0,0,+t.width||0,+t.height||0):e.getBoundingRect();else if(l=e.getBoundingRect(),e.needLocalTransform()){var h=e.getLocalTransform();l=l.clone(),l.applyTransform(h)}t=a(c.defaults({width:l.width,height:l.height},t),r,n);var f=e.position,p=o?t.x-l.x:0,m=s?t.y-l.y:0;e.attr("position","raw"===u?[p,m]:[f[0]+p,f[1]+m])}}function s(e,t){return null!=e[v[t][0]]||null!=e[v[t][1]]&&null!=e[v[t][2]]}function u(e,t,r){function n(r,n){var o={},u=0,l={},h=0;if(g(r,function(t){l[t]=e[t]}),g(r,function(e){i(t,e)&&(o[e]=l[e]=t[e]),a(o,e)&&u++,a(l,e)&&h++}),s[n])return a(t,r[1])?l[r[2]]=null:a(t,r[2])&&(l[r[1]]=null),l;if(2!==h&&u){if(u>=2)return o;for(var c=0;c<r.length;c++){var d=r[c];if(!i(o,d)&&i(e,d)){o[d]=e[d];break}}return o}return l}function i(e,t){return e.hasOwnProperty(t)}function a(e,t){return null!=e[t]&&"auto"!==e[t]}function o(e,t,r){g(e,function(e){t[e]=r[e]})}!c.isObject(r)&&(r={});var s=r.ignoreSize;!c.isArray(s)&&(s=[s,s]);var u=n(v[0],0),l=n(v[1],1);o(v[0],e,u),o(v[1],e,l)}function l(e){return h({},e)}function h(e,t){return t&&e&&g(_,function(r){t.hasOwnProperty(r)&&(e[r]=t[r])}),e}var c=r(13),d=r(82),f=r(85),p=f.parsePercent,m=r(171),g=c.each,_=["left","right","top","bottom","width","height"],v=[["width","left","right"],["height","top","bottom"]],y=n,x=c.curry(n,"vertical"),T=c.curry(n,"horizontal");t.LOCATION_PARAMS=_,t.HV_NAMES=v,t.box=y,t.vbox=x,t.hbox=T,t.getAvailableSize=i,t.getLayoutRect=a,t.positionElement=o,t.sizeCalculable=s,t.mergeLayoutParam=u,t.getLayoutParams=l,t.copyLayoutParams=h},function(e,t,r){"use strict";var n=r(7),i=n.a.extend(function(){return{name:"",inputLinks:{},outputLinks:{},_prevOutputTextures:{},_outputTextures:{},_outputReferences:{},_rendering:!1,_rendered:!1,_compositor:null}},{updateParameter:function(e,t){var r=this.outputs[e],n=r.parameters,i=r._parametersCopy;if(i||(i=r._parametersCopy={}),n)for(var a in n)"width"!==a&&"height"!==a&&(i[a]=n[a]);var o,s;return o=n.width instanceof Function?n.width.call(this,t):n.width,s=n.height instanceof Function?n.height.call(this,t):n.height,i.width===o&&i.height===s||this._outputTextures[e]&&this._outputTextures[e].dispose(t.gl),i.width=o,i.height=s,i},setParameter:function(e,t){},getParameter:function(e){},setParameters:function(e){for(var t in e)this.setParameter(t,e[t])},render:function(){},getOutput:function(e,t){if(null==t)return t=e,this._outputTextures[t];var r=this.outputs[t];if(r)return this._rendered?r.outputLastFrame?this._prevOutputTextures[t]:this._outputTextures[t]:this._rendering?(this._prevOutputTextures[t]||(this._prevOutputTextures[t]=this._compositor.allocateTexture(r.parameters||{})),this._prevOutputTextures[t]):(this.render(e),this._outputTextures[t])},removeReference:function(e){if(0===--this._outputReferences[e]){this.outputs[e].keepLastFrame?(this._prevOutputTextures[e]&&this._compositor.releaseTexture(this._prevOutputTextures[e]),this._prevOutputTextures[e]=this._outputTextures[e]):this._compositor.releaseTexture(this._outputTextures[e])}},link:function(e,t,r){this.inputLinks[e]={node:t,pin:r},t.outputLinks[r]||(t.outputLinks[r]=[]),t.outputLinks[r].push({node:this,pin:e}),this.pass.material.enableTexture(e)},clear:function(){this.inputLinks={},this.outputLinks={}},updateReference:function(e){if(!this._rendering){this._rendering=!0;for(var t in this.inputLinks){var r=this.inputLinks[t];r.node.updateReference(r.pin)}this._rendering=!1}e&&this._outputReferences[e]++},beforeFrame:function(){this._rendered=!1;for(var e in this.outputLinks)this._outputReferences[e]=0},afterFrame:function(){for(var e in this.outputLinks)if(this._outputReferences[e]>0){var t=this.outputs[e];t.keepLastFrame?(this._prevOutputTextures[e]&&this._compositor.releaseTexture(this._prevOutputTextures[e]),this._prevOutputTextures[e]=this._outputTextures[e]):this._compositor.releaseTexture(this._outputTextures[e])}}});t.a=i},function(e,t,r){"use strict";function n(e,t){for(var r=0,n=1/t,i=e;i>0;)r+=n*(i%t),i=Math.floor(i/t),n/=t;return r}t.a=n},function(e,t,r){"use strict";var n=r(0),i=r.n(n);t.a=function(e,t,r){r=r||e.getSource();var n=t||i.a.getCoordinateSystemDimensions(e.get("coordinateSystem"))||["x","y","z"],a=i.a.helper.createDimensions(r,{dimensionsDefine:r.dimensionsDefine||e.get("dimensions"),encodeDefine:r.encodeDefine||e.get("encode"),coordDimensions:n.map(function(t){var r=e.getReferringComponents(t+"Axis3D")[0];return{type:r&&"category"===r.get("type")?"ordinal":"float",name:t}})});"cartesian3D"===e.get("coordinateSystem")&&a.forEach(function(t){if(n.indexOf(t.coordDim)>=0){var r=e.getReferringComponents(t.coordDim+"Axis3D")[0];r&&"category"===r.get("type")&&(t.ordinalMeta=r.getOrdinalMeta())}});var o=i.a.helper.dataStack.enableDataStack(e,a,{byIndex:!0,stackedCoordDimension:"z"}),s=new i.a.List(a,e);return s.setCalculationInfo(o),s.initData(r),s}},function(e,t){function r(e,t,r){return{seriesType:e,performRawSeries:!0,reset:function(e,n,i){function a(t,r){if("function"==typeof u){var n=e.getRawValue(r),i=e.getDataParams(r);t.setItemVisual(r,"symbolSize",u(n,i))}if(t.hasItemOption){var a=t.getItemModel(r),o=a.getShallow("symbol",!0),s=a.getShallow("symbolSize",!0),l=a.getShallow("symbolKeepAspect",!0);null!=o&&t.setItemVisual(r,"symbol",o),null!=s&&t.setItemVisual(r,"symbolSize",s),null!=l&&t.setItemVisual(r,"symbolKeepAspect",l)}}var o=e.getData(),s=e.get("symbol")||t,u=e.get("symbolSize"),l=e.get("symbolKeepAspect");if(o.setVisual({legendSymbol:r||s,symbol:s,symbolSize:u,symbolKeepAspect:l}),!n.isSeriesFiltered(e)){var h="function"==typeof u;return{dataEach:o.hasItemOption||h?a:null}}}}}e.exports=r},function(e,t,r){"use strict";function n(e){return e.material}function i(e,t,r){return t.uniforms[r].value}function a(e,t,r,n){return r!==n}function o(e){return!0}function s(){}function u(e,t,r){this.availableAttributes=e,this.availableAttributeSymbols=t,this.indicesBuffer=r,this.vao=null}function l(e){var t,r;this.bind=function(e){t||(t=f.a.createCanvas(),t.width=t.height=1,t.getContext("2d"));var n=e.gl,i=!r;i&&(r=n.createTexture()),n.bindTexture(n.TEXTURE_2D,r),i&&n.texImage2D(n.TEXTURE_2D,0,n.RGBA,n.RGBA,n.UNSIGNED_BYTE,t)},this.unbind=function(e){e.gl.bindTexture(e.gl.TEXTURE_2D,null)},this.isRenderable=function(){return!0}}var h=r(7),c=r(111),d=r(11),f=r(14),p=r(19),m=r(26),g=r(115),_=r(8),v=r(71),y=r(21),x=r(12);_.a.import(v.a);var T=y.a.create,b={},w={float:d.a.FLOAT,byte:d.a.BYTE,ubyte:d.a.UNSIGNED_BYTE,short:d.a.SHORT,ushort:d.a.UNSIGNED_SHORT},E=h.a.extend(function(){return{canvas:null,_width:100,_height:100,devicePixelRatio:"undefined"!=typeof window&&window.devicePixelRatio||1,clearColor:[0,0,0,0],clearBit:17664,alpha:!0,depth:!0,stencil:!1,antialias:!0,premultipliedAlpha:!0,preserveDrawingBuffer:!1,throwError:!0,gl:null,viewport:{},__currentFrameBuffer:null,_viewportStack:[],_clearStack:[],_sceneRendering:null}},function(){this.canvas||(this.canvas=f.a.createCanvas());var e=this.canvas;try{var t={alpha:this.alpha,depth:this.depth,stencil:this.stencil,antialias:this.antialias,premultipliedAlpha:this.premultipliedAlpha,preserveDrawingBuffer:this.preserveDrawingBuffer};if(this.gl=e.getContext("webgl",t)||e.getContext("experimental-webgl",t),!this.gl)throw new Error;this._glinfo=new c.a(this.gl),this.gl.targetRenderer&&console.error("Already created a renderer"),this.gl.targetRenderer=this,this.resize()}catch(e){throw"Error creating WebGL Context "+e}this._programMgr=new g.a(this),this._placeholderTexture=new l(this)},{resize:function(e,t){var r=this.canvas,n=this.devicePixelRatio;null!=e?(r.style.width=e+"px",r.style.height=t+"px",r.width=e*n,r.height=t*n,this._width=e,this._height=t):(this._width=r.width/n,this._height=r.height/n),this.setViewport(0,0,this._width,this._height)},getWidth:function(){return this._width},getHeight:function(){return this._height},getViewportAspect:function(){var e=this.viewport;return e.width/e.height},setDevicePixelRatio:function(e){this.devicePixelRatio=e,this.resize(this._width,this._height)},getDevicePixelRatio:function(){return this.devicePixelRatio},getGLExtension:function(e){return this._glinfo.getExtension(e)},getGLParameter:function(e){return this._glinfo.getParameter(e)},setViewport:function(e,t,r,n,i){if("object"==typeof e){var a=e;e=a.x,t=a.y,r=a.width,n=a.height,i=a.devicePixelRatio}i=i||this.devicePixelRatio,this.gl.viewport(e*i,t*i,r*i,n*i),this.viewport={x:e,y:t,width:r,height:n,devicePixelRatio:i}},saveViewport:function(){this._viewportStack.push(this.viewport)},restoreViewport:function(){this._viewportStack.length>0&&this.setViewport(this._viewportStack.pop())},saveClear:function(){this._clearStack.push({clearBit:this.clearBit,clearColor:this.clearColor})},restoreClear:function(){if(this._clearStack.length>0){var e=this._clearStack.pop();this.clearColor=e.clearColor,this.clearBit=e.clearBit}},bindSceneRendering:function(e){this._sceneRendering=e},render:function(e,t,r,n){var i=this.gl,a=this.clearColor;if(this.clearBit){i.colorMask(!0,!0,!0,!0),i.depthMask(!0);var o=this.viewport,s=!1,u=o.devicePixelRatio;(o.width!==this._width||o.height!==this._height||u&&u!==this.devicePixelRatio||o.x||o.y)&&(s=!0,i.enable(i.SCISSOR_TEST),i.scissor(o.x*u,o.y*u,o.width*u,o.height*u)),i.clearColor(a[0],a[1],a[2],a[3]),i.clear(this.clearBit),s&&i.disable(i.SCISSOR_TEST)}if(r||e.update(!1),e.updateLights(),!(t=t||e.getMainCamera()))return void console.error("Can't find camera in the scene.");t.update();var l=e.updateRenderList(t,!0);this._sceneRendering=e;var h=l.opaque,c=l.transparent,d=e.material;e.trigger("beforerender",this,e,t,l),n?(this.renderPreZ(h,e,t),i.depthFunc(i.LEQUAL)):i.depthFunc(i.LESS);for(var f=T(),p=x.a.create(),m=0;m<c.length;m++){var g=c[m];y.a.multiplyAffine(f,t.viewMatrix.array,g.worldTransform.array),x.a.transformMat4(p,g.position.array,f),g.__depth=p[2]}this.renderPass(h,t,{getMaterial:function(e){return d||e.material},sortCompare:this.opaqueSortCompare}),this.renderPass(c,t,{getMaterial:function(e){return d||e.material},sortCompare:this.transparentSortCompare}),e.trigger("afterrender",this,e,t,l),this._sceneRendering=null},getProgram:function(e,t,r){return t=t||e.material,this._programMgr.getProgram(e,t,r)},validateProgram:function(e){if(e.__error){var t=e.__error;if(b[e.__uid__])return;if(b[e.__uid__]=!0,this.throwError)throw new Error(t);this.trigger("error",t)}},updatePrograms:function(e,t,r){var i=r&&r.getMaterial||n;t=t||null;for(var a=0;a<e.length;a++){var o=e[a],s=i.call(this,o);if(a>0){var u=e[a-1],l=u.joints?u.joints.length:0;if((o.joints?o.joints.length:0)===l&&o.material===u.material&&o.lightGroup===u.lightGroup){o.__program=u.__program;continue}}var h=this._programMgr.getProgram(o,s,t);this.validateProgram(h),o.__program=h}},renderPass:function(e,t,r){this.trigger("beforerenderpass",this,e,t,r),r=r||{},r.getMaterial=r.getMaterial||n,r.getUniform=r.getUniform||i,r.isMaterialChanged=r.isMaterialChanged||a,r.beforeRender=r.beforeRender||s,r.afterRender=r.afterRender||s;var u=r.ifRender||o;this.updatePrograms(e,this._sceneRendering,r),r.sortCompare&&e.sort(r.sortCompare);var l=this.viewport,h=l.devicePixelRatio,c=[l.x*h,l.y*h,l.width*h,l.height*h],d=this.devicePixelRatio,f=this.__currentFrameBuffer?[this.__currentFrameBuffer.getTextureWidth(),this.__currentFrameBuffer.getTextureHeight()]:[this._width*d,this._height*d],p=[c[2],c[3]],m=Date.now();t?(y.a.copy(S.VIEW,t.viewMatrix.array),y.a.copy(S.PROJECTION,t.projectionMatrix.array),y.a.copy(S.VIEWINVERSE,t.worldTransform.array)):(y.a.identity(S.VIEW),y.a.identity(S.PROJECTION),y.a.identity(S.VIEWINVERSE)),y.a.multiply(S.VIEWPROJECTION,S.PROJECTION,S.VIEW),y.a.invert(S.PROJECTIONINVERSE,S.PROJECTION),y.a.invert(S.VIEWPROJECTIONINVERSE,S.VIEWPROJECTION);for(var g,_,v,x,T,b,w,E,A,M,C,L,D=this.gl,N=this._sceneRendering,R=this.getGLExtension("OES_vertex_array_object"),P=0;P<e.length;P++){var I,O=e[P],F=null!=O.worldTransform;if(u(O)){F&&(I=O.isSkinnedMesh&&O.isSkinnedMesh()?S.IDENTITY:O.worldTransform.array);var B=O.geometry,U=r.getMaterial.call(this,O),z=O.__program,G=U.shader,H=B.__uid__+"-"+z.__uid__,V=H!==M;M=H,V&&R&&R.bindVertexArrayOES(null),F&&(y.a.copy(S.WORLD,I),y.a.multiply(S.WORLDVIEWPROJECTION,S.VIEWPROJECTION,I),y.a.multiplyAffine(S.WORLDVIEW,S.VIEW,I),(G.matrixSemantics.WORLDINVERSE||G.matrixSemantics.WORLDINVERSETRANSPOSE)&&y.a.invert(S.WORLDINVERSE,I),(G.matrixSemantics.WORLDVIEWINVERSE||G.matrixSemantics.WORLDVIEWINVERSETRANSPOSE)&&y.a.invert(S.WORLDVIEWINVERSE,S.WORLDVIEW),(G.matrixSemantics.WORLDVIEWPROJECTIONINVERSE||G.matrixSemantics.WORLDVIEWPROJECTIONINVERSETRANSPOSE)&&y.a.invert(S.WORLDVIEWPROJECTIONINVERSE,S.WORLDVIEWPROJECTION)),O.beforeRender&&O.beforeRender(this),r.beforeRender.call(this,O,U,g);var k=z!==_;k?(z.bind(this),z.setUniformOfSemantic(D,"VIEWPORT",c),z.setUniformOfSemantic(D,"WINDOW_SIZE",f),t&&(z.setUniformOfSemantic(D,"NEAR",t.near),z.setUniformOfSemantic(D,"FAR",t.far)),z.setUniformOfSemantic(D,"DEVICEPIXELRATIO",h),z.setUniformOfSemantic(D,"TIME",m),z.setUniformOfSemantic(D,"VIEWPORT_SIZE",p),N&&N.setLightUniforms(z,O.lightGroup,this)):z=_,(k||r.isMaterialChanged(O,v,U,g))&&(U.depthTest!==x&&(U.depthTest?D.enable(D.DEPTH_TEST):D.disable(D.DEPTH_TEST),x=U.depthTest),U.depthMask!==T&&(D.depthMask(U.depthMask),T=U.depthMask),U.transparent!==A&&(U.transparent?D.enable(D.BLEND):D.disable(D.BLEND),A=U.transparent),U.transparent&&(U.blend?U.blend(D):(D.blendEquationSeparate(D.FUNC_ADD,D.FUNC_ADD),D.blendFuncSeparate(D.SRC_ALPHA,D.ONE_MINUS_SRC_ALPHA,D.ONE,D.ONE_MINUS_SRC_ALPHA))),L=this._bindMaterial(O,U,z,v||null,g||null,_||null,r.getUniform),g=U);var W=G.matrixSemanticKeys;if(F)for(var j=0;j<W.length;j++){var X=W[j],q=G.matrixSemantics[X],Z=S[X];if(q.isTranspose){var Y=S[q.semanticNoTranspose];y.a.transpose(Z,Y)}z.setUniform(D,q.type,q.symbol,Z)}O.cullFace!==w&&(w=O.cullFace,D.cullFace(w)),O.frontFace!==E&&(E=O.frontFace,D.frontFace(E)),O.culling!==b&&(b=O.culling,b?D.enable(D.CULL_FACE):D.disable(D.CULL_FACE)),this._updateSkeleton(O,z,L),V&&(C=this._bindVAO(R,G,B,z)),this._renderObject(O,C),r.afterRender(this,O),O.afterRender&&O.afterRender(this),_=z,v=O}}R&&R.bindVertexArrayOES(null),this.trigger("afterrenderpass",this,e,t,r)},getMaxJointNumber:function(){return this._glinfo.getMaxJointNumber()},_updateSkeleton:function(e,t,r){var n=this.gl,i=e.skeleton;if(i)if(i.update(),e.joints.length>this._glinfo.getMaxJointNumber()){var a=i.getSubSkinMatricesTexture(e.__uid__,e.joints);t.useTextureSlot(this,a,r),t.setUniform(n,"1i","skinMatricesTexture",r),t.setUniform(n,"1f","skinMatricesTextureSize",a.width)}else{var o=i.getSubSkinMatrices(e.__uid__,e.joints);t.setUniformOfSemantic(n,"SKIN_MATRIX",o)}},_renderObject:function(e,t){var r=this.gl,n=e.geometry,i=e.mode;if(null==i&&(i=4),t.indicesBuffer){var a=this.getGLExtension("OES_element_index_uint"),o=a&&n.indices instanceof Uint32Array,s=o?r.UNSIGNED_INT:r.UNSIGNED_SHORT;r.drawElements(i,t.indicesBuffer.count,s,0)}else r.drawArrays(i,0,n.vertexCount)},_bindMaterial:function(e,t,r,n,i,a,o){for(var s=this.gl,u=a===r,l=r.currentTextureSlot(),h=t.getEnabledUniforms(),c=t.getTextureUniforms(),d=this._placeholderTexture,f=0;f<c.length;f++){var p=c[f],m=o(e,t,p),g=t.uniforms[p].type;if("t"===g&&m)m.__slot=-1;else if("tv"===g)for(var _=0;_<m.length;_++)m[_]&&(m[_].__slot=-1)}d.__slot=-1;for(var f=0;f<h.length;f++){var p=h[f],v=t.uniforms[p],m=o(e,t,p),g=v.type,y="t"===g;if(y&&(m&&m.isRenderable()||(m=d)),i&&u){var x=o(n,i,p);if(y&&(x&&x.isRenderable()||(x=d)),x===m){if(y)r.takeCurrentTextureSlot(this,null);else if("tv"===g&&m)for(var _=0;_<m.length;_++)r.takeCurrentTextureSlot(this,null);continue}}if(null!=m)if(y)if(m.__slot<0){var T=r.currentTextureSlot(),b=r.setUniform(s,"1i",p,T);b&&(r.takeCurrentTextureSlot(this,m),m.__slot=T)}else r.setUniform(s,"1i",p,m.__slot);else if(Array.isArray(m)){if(0===m.length)continue;if("tv"===g){if(!r.hasUniform(p))continue;for(var w=[],_=0;_<m.length;_++){var E=m[_];if(E.__slot<0){var T=r.currentTextureSlot();w.push(T),r.takeCurrentTextureSlot(this,E),E.__slot=T}else w.push(E.__slot)}r.setUniform(s,"1iv",p,w)}else r.setUniform(s,v.type,p,m)}else r.setUniform(s,v.type,p,m)}var S=r.currentTextureSlot();return r.resetTextureSlot(l),S},_bindVAO:function(e,t,r,n){var i=!r.dynamic,a=this.gl,o=this.__uid__+"-"+n.__uid__,s=r.__vaoCache[o];if(!s){var l=r.getBufferChunks(this);if(!l||!l.length)return;for(var h=l[0],c=h.attributeBuffers,d=h.indicesBuffer,f=[],p=[],m=0;m<c.length;m++){var g,_=c[m],v=_.name,y=_.semantic;if(y){var x=t.attributeSemantics[y];g=x&&x.symbol}else g=v;g&&n.attributes[g]&&(f.push(_),p.push(g))}s=new u(f,p,d),i&&(r.__vaoCache[o]=s)}var T=!0;e&&i&&(null==s.vao?s.vao=e.createVertexArrayOES():T=!1,e.bindVertexArrayOES(s.vao));var f=s.availableAttributes,d=s.indicesBuffer;if(T){for(var b=n.enableAttributes(this,s.availableAttributeSymbols,e&&i&&s),m=0;m<f.length;m++){var E=b[m];if(-1!==E){var _=f[m],S=_.buffer,A=_.size,M=w[_.type]||a.FLOAT;a.bindBuffer(a.ARRAY_BUFFER,S),a.vertexAttribPointer(E,A,M,!1,0,0)}}r.isUseIndices()&&a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,d.buffer)}return s},renderPreZ:function(e,t,r){var n=this.gl,i=this._prezMaterial||new p.a({shader:new _.a(_.a.source("clay.prez.vertex"),_.a.source("clay.prez.fragment"))});this._prezMaterial=i,n.colorMask(!1,!1,!1,!1),n.depthMask(!0),this.renderPass(e,r,{ifRender:function(e){return!e.ignorePreZ},isMaterialChanged:function(e,t){var r=e.material,n=t.material;return r.get("diffuseMap")!==n.get("diffuseMap")||(r.get("alphaCutoff")||0)!==(n.get("alphaCutoff")||0)},getUniform:function(e,t,r){if("alphaMap"===r)return e.material.get("diffuseMap");if("alphaCutoff"===r){if(e.material.isDefined("fragment","ALPHA_TEST")&&e.material.get("diffuseMap")){return e.material.get("alphaCutoff")||0}return 0}return t.get(r)},getMaterial:function(){return i},sort:this.opaqueSortCompare}),n.colorMask(!0,!0,!0,!0),n.depthMask(!0)},disposeScene:function(e){this.disposeNode(e,!0,!0),e.dispose()},disposeNode:function(e,t,r){e.getParent()&&e.getParent().remove(e);var n={};e.traverse(function(e){var i=e.material;if(e.geometry&&t&&e.geometry.dispose(this),r&&i&&!n[i.__uid__]){for(var a=i.getTextureUniforms(),o=0;o<a.length;o++){var s=a[o],u=i.uniforms[s].value,l=i.uniforms[s].type;if(u)if("t"===l)u.dispose&&u.dispose(this);else if("tv"===l)for(var h=0;h<u.length;h++)u[h]&&u[h].dispose&&u[h].dispose(this)}n[i.__uid__]=!0}e.dispose&&e.dispose(this)},this)},disposeGeometry:function(e){e.dispose(this)},disposeTexture:function(e){e.dispose(this)},disposeFrameBuffer:function(e){e.dispose(this)},dispose:function(){},screenToNDC:function(e,t,r){r||(r=new m.a),t=this._height-t;var n=this.viewport,i=r.array;return i[0]=(e-n.x)/n.width,i[0]=2*i[0]-1,i[1]=(t-n.y)/n.height,i[1]=2*i[1]-1,r}});E.opaqueSortCompare=E.prototype.opaqueSortCompare=function(e,t){return e.renderOrder===t.renderOrder?e.__program===t.__program?e.material===t.material?e.geometry.__uid__-t.geometry.__uid__:e.material.__uid__-t.material.__uid__:e.__program&&t.__program?e.__program.__uid__-t.__program.__uid__:0:e.renderOrder-t.renderOrder},E.transparentSortCompare=E.prototype.transparentSortCompare=function(e,t){return e.renderOrder===t.renderOrder?e.__depth===t.__depth?e.__program===t.__program?e.material===t.material?e.geometry.__uid__-t.geometry.__uid__:e.material.__uid__-t.material.__uid__:e.__program&&t.__program?e.__program.__uid__-t.__program.__uid__:0:e.__depth-t.__depth:e.renderOrder-t.renderOrder};var S={IDENTITY:T(),WORLD:T(),VIEW:T(),PROJECTION:T(),WORLDVIEW:T(),VIEWPROJECTION:T(),WORLDVIEWPROJECTION:T(),WORLDINVERSE:T(),VIEWINVERSE:T(),PROJECTIONINVERSE:T(),WORLDVIEWINVERSE:T(),VIEWPROJECTIONINVERSE:T(),WORLDVIEWPROJECTIONINVERSE:T(),WORLDTRANSPOSE:T(),VIEWTRANSPOSE:T(),PROJECTIONTRANSPOSE:T(),WORLDVIEWTRANSPOSE:T(),VIEWPROJECTIONTRANSPOSE:T(),WORLDVIEWPROJECTIONTRANSPOSE:T(),WORLDINVERSETRANSPOSE:T(),VIEWINVERSETRANSPOSE:T(),PROJECTIONINVERSETRANSPOSE:T(),WORLDVIEWINVERSETRANSPOSE:T(),VIEWPROJECTIONINVERSETRANSPOSE:T(),WORLDVIEWPROJECTIONINVERSETRANSPOSE:T()};E.COLOR_BUFFER_BIT=d.a.COLOR_BUFFER_BIT,E.DEPTH_BUFFER_BIT=d.a.DEPTH_BUFFER_BIT,E.STENCIL_BUFFER_BIT=d.a.STENCIL_BUFFER_BIT,t.a=E},function(e,t,r){"use strict";function n(e,t){this.action=e,this.context=t}var i={trigger:function(e){if(this.hasOwnProperty("__handlers__")&&this.__handlers__.hasOwnProperty(e)){var t=this.__handlers__[e],r=t.length,n=-1,i=arguments;switch(i.length){case 1:for(;++n<r;)t[n].action.call(t[n].context);return;case 2:for(;++n<r;)t[n].action.call(t[n].context,i[1]);return;case 3:for(;++n<r;)t[n].action.call(t[n].context,i[1],i[2]);return;case 4:for(;++n<r;)t[n].action.call(t[n].context,i[1],i[2],i[3]);return;case 5:for(;++n<r;)t[n].action.call(t[n].context,i[1],i[2],i[3],i[4]);return;default:for(;++n<r;)t[n].action.apply(t[n].context,Array.prototype.slice.call(i,1));return}}},on:function(e,t,r){if(e&&t){var i=this.__handlers__||(this.__handlers__={});if(i[e]){if(this.has(e,t))return}else i[e]=[];var a=new n(t,r||this);return i[e].push(a),this}},once:function(e,t,r){function n(){i.off(e,n),t.apply(this,arguments)}if(e&&t){var i=this;return this.on(e,n,r)}},before:function(e,t,r){if(e&&t)return e="before"+e,this.on(e,t,r)},after:function(e,t,r){if(e&&t)return e="after"+e,this.on(e,t,r)},success:function(e,t){return this.once("success",e,t)},error:function(e,t){return this.once("error",e,t)},off:function(e,t){var r=this.__handlers__||(this.__handlers__={});if(!t)return void(r[e]=[]);if(r[e]){for(var n=r[e],i=[],a=0;a<n.length;a++)t&&n[a].action!==t&&i.push(n[a]);r[e]=i}return this},has:function(e,t){var r=this.__handlers__;if(!r||!r[e])return!1;for(var n=r[e],i=0;i<n.length;i++)if(n[i].action===t)return!0}};t.a=i},function(e,t,r){"use strict";var n=r(3),i=r(12),a=function(e,t){this.origin=e||new n.a,this.direction=t||new n.a};a.prototype={constructor:a,intersectPlane:function(e,t){var r=e.normal.array,a=e.distance,o=this.origin.array,s=this.direction.array,u=i.a.dot(r,s);if(0===u)return null;t||(t=new n.a);var l=(i.a.dot(r,o)-a)/u;return i.a.scaleAndAdd(t.array,o,s,-l),t._dirty=!0,t},mirrorAgainstPlane:function(e){var t=i.a.dot(e.normal.array,this.direction.array);i.a.scaleAndAdd(this.direction.array,this.direction.array,e.normal.array,2*-t),this.direction._dirty=!0},distanceToPoint:function(){var e=i.a.create();return function(t){i.a.sub(e,t,this.origin.array);var r=i.a.dot(e,this.direction.array);if(r<0)return i.a.distance(this.origin.array,t);var n=i.a.lenSquared(e);return Math.sqrt(n-r*r)}}(),intersectSphere:function(){var e=i.a.create();return function(t,r,a){var o=this.origin.array,s=this.direction.array;t=t.array,i.a.sub(e,t,o);var u=i.a.dot(e,s),l=i.a.squaredLength(e),h=l-u*u,c=r*r;if(!(h>c)){var d=Math.sqrt(c-h),f=u-d,p=u+d;return a||(a=new n.a),f<0?p<0?null:(i.a.scaleAndAdd(a.array,o,s,p),a):(i.a.scaleAndAdd(a.array,o,s,f),a)}}}(),intersectBoundingBox:function(e,t){var r,a,o,s,u,l,h=this.direction.array,c=this.origin.array,d=e.min.array,f=e.max.array,p=1/h[0],m=1/h[1],g=1/h[2];if(p>=0?(r=(d[0]-c[0])*p,a=(f[0]-c[0])*p):(a=(d[0]-c[0])*p,r=(f[0]-c[0])*p),m>=0?(o=(d[1]-c[1])*m,s=(f[1]-c[1])*m):(s=(d[1]-c[1])*m,o=(f[1]-c[1])*m),r>s||o>a)return null;if((o>r||r!==r)&&(r=o),(s<a||a!==a)&&(a=s),g>=0?(u=(d[2]-c[2])*g,l=(f[2]-c[2])*g):(l=(d[2]-c[2])*g,u=(f[2]-c[2])*g),r>l||u>a)return null;if((u>r||r!==r)&&(r=u),(l<a||a!==a)&&(a=l),a<0)return null;var _=r>=0?r:a;return t||(t=new n.a),i.a.scaleAndAdd(t.array,c,h,_),t},intersectTriangle:function(){var e=i.a.create(),t=i.a.create(),r=i.a.create(),a=i.a.create();return function(o,s,u,l,h,c){var d=this.direction.array,f=this.origin.array;o=o.array,s=s.array,u=u.array,i.a.sub(e,s,o),i.a.sub(t,u,o),i.a.cross(a,t,d);var p=i.a.dot(e,a);if(l){if(p>-1e-5)return null}else if(p>-1e-5&&p<1e-5)return null;i.a.sub(r,f,o);var m=i.a.dot(a,r)/p;if(m<0||m>1)return null;i.a.cross(a,e,r);var g=i.a.dot(d,a)/p;if(g<0||g>1||m+g>1)return null;i.a.cross(a,e,t);var _=-i.a.dot(r,a)/p;return _<0?null:(h||(h=new n.a),c&&n.a.set(c,1-m-g,m,g),i.a.scaleAndAdd(h.array,f,d,_),h)}}(),applyTransform:function(e){n.a.add(this.direction,this.direction,this.origin),n.a.transformMat4(this.origin,this.origin,e),n.a.transformMat4(this.direction,this.direction,e),n.a.sub(this.direction,this.direction,this.origin),n.a.normalize(this.direction,this.direction)},copy:function(e){n.a.copy(this.origin,e.origin),n.a.copy(this.direction,e.direction)},clone:function(){var e=new a;return e.copy(this),e}},t.a=a},function(e,t,r){"use strict";var n=r(20),i=r(12),a=r(33),o=r(34),s={};s.create=function(){var e=new n.a(4);return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e},s.rotationTo=function(){var e=i.a.create(),t=i.a.fromValues(1,0,0),r=i.a.fromValues(0,1,0);return function(n,a,o){var u=i.a.dot(a,o);return u<-.999999?(i.a.cross(e,t,a),i.a.length(e)<1e-6&&i.a.cross(e,r,a),i.a.normalize(e,e),s.setAxisAngle(n,e,Math.PI),n):u>.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(i.a.cross(e,a,o),n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=1+u,s.normalize(n,n))}}(),s.setAxes=function(){var e=o.a.create();return function(t,r,n,i){return e[0]=n[0],e[3]=n[1],e[6]=n[2],e[1]=i[0],e[4]=i[1],e[7]=i[2],e[2]=-r[0],e[5]=-r[1],e[8]=-r[2],s.normalize(t,s.fromMat3(t,e))}}(),s.clone=a.a.clone,s.fromValues=a.a.fromValues,s.copy=a.a.copy,s.set=a.a.set,s.identity=function(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e},s.setAxisAngle=function(e,t,r){r*=.5;var n=Math.sin(r);return e[0]=n*t[0],e[1]=n*t[1],e[2]=n*t[2],e[3]=Math.cos(r),e},s.add=a.a.add,s.multiply=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=r[0],u=r[1],l=r[2],h=r[3];return e[0]=n*h+o*s+i*l-a*u,e[1]=i*h+o*u+a*s-n*l,e[2]=a*h+o*l+n*u-i*s,e[3]=o*h-n*s-i*u-a*l,e},s.mul=s.multiply,s.scale=a.a.scale,s.rotateX=function(e,t,r){r*=.5;var n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u+o*s,e[1]=i*u+a*s,e[2]=a*u-i*s,e[3]=o*u-n*s,e},s.rotateY=function(e,t,r){r*=.5;var n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u-a*s,e[1]=i*u+o*s,e[2]=a*u+n*s,e[3]=o*u-i*s,e},s.rotateZ=function(e,t,r){r*=.5;var n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u+i*s,e[1]=i*u-n*s,e[2]=a*u+o*s,e[3]=o*u-a*s,e},s.calculateW=function(e,t){var r=t[0],n=t[1],i=t[2];return e[0]=r,e[1]=n,e[2]=i,e[3]=Math.sqrt(Math.abs(1-r*r-n*n-i*i)),e},s.dot=a.a.dot,s.lerp=a.a.lerp,s.slerp=function(e,t,r,n){var i,a,o,s,u,l=t[0],h=t[1],c=t[2],d=t[3],f=r[0],p=r[1],m=r[2],g=r[3];return a=l*f+h*p+c*m+d*g,a<0&&(a=-a,f=-f,p=-p,m=-m,g=-g),1-a>1e-6?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-n)*i)/o,u=Math.sin(n*i)/o):(s=1-n,u=n),e[0]=s*l+u*f,e[1]=s*h+u*p,e[2]=s*c+u*m,e[3]=s*d+u*g,e},s.invert=function(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=r*r+n*n+i*i+a*a,s=o?1/o:0;return e[0]=-r*s,e[1]=-n*s,e[2]=-i*s,e[3]=a*s,e},s.conjugate=function(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e},s.length=a.a.length,s.len=s.length,s.squaredLength=a.a.squaredLength,s.sqrLen=s.squaredLength,s.normalize=a.a.normalize,s.fromMat3=function(e,t){var r,n=t[0]+t[4]+t[8];if(n>0)r=Math.sqrt(n+1),e[3]=.5*r,r=.5/r,e[0]=(t[5]-t[7])*r,e[1]=(t[6]-t[2])*r,e[2]=(t[1]-t[3])*r;else{var i=0;t[4]>t[0]&&(i=1),t[8]>t[3*i+i]&&(i=2);var a=(i+1)%3,o=(i+2)%3;r=Math.sqrt(t[3*i+i]-t[3*a+a]-t[3*o+o]+1),e[i]=.5*r,r=.5/r,e[3]=(t[3*a+o]-t[3*o+a])*r,e[a]=(t[3*a+i]+t[3*i+a])*r,e[o]=(t[3*o+i]+t[3*i+o])*r}return e},t.a=s},function(e,t,r){"use strict";var n=r(55),i=r(34),a=function(e,t,r,i){e=e||0,t=t||0,r=r||0,i=void 0===i?1:i,this.array=n.a.fromValues(e,t,r,i),this._dirty=!0};a.prototype={constructor:a,add:function(e){return n.a.add(this.array,this.array,e.array),this._dirty=!0,this},calculateW:function(){return n.a.calculateW(this.array,this.array),this._dirty=!0,this},set:function(e,t,r,n){return this.array[0]=e,this.array[1]=t,this.array[2]=r,this.array[3]=n,this._dirty=!0,this},setArray:function(e){return this.array[0]=e[0],this.array[1]=e[1],this.array[2]=e[2],this.array[3]=e[3],this._dirty=!0,this},clone:function(){return new a(this.x,this.y,this.z,this.w)},conjugate:function(){return n.a.conjugate(this.array,this.array),this._dirty=!0,this},copy:function(e){return n.a.copy(this.array,e.array),this._dirty=!0,this},dot:function(e){return n.a.dot(this.array,e.array)},fromMat3:function(e){return n.a.fromMat3(this.array,e.array),this._dirty=!0,this},fromMat4:function(){var e=i.a.create();return function(t){return i.a.fromMat4(e,t.array),i.a.transpose(e,e),n.a.fromMat3(this.array,e),this._dirty=!0,this}}(),identity:function(){return n.a.identity(this.array),this._dirty=!0,this},invert:function(){return n.a.invert(this.array,this.array),this._dirty=!0,this},len:function(){return n.a.len(this.array)},length:function(){return n.a.length(this.array)},lerp:function(e,t,r){return n.a.lerp(this.array,e.array,t.array,r),this._dirty=!0,this},mul:function(e){return n.a.mul(this.array,this.array,e.array),this._dirty=!0,this},mulLeft:function(e){return n.a.multiply(this.array,e.array,this.array),this._dirty=!0,this},multiply:function(e){return n.a.multiply(this.array,this.array,e.array),this._dirty=!0,this},multiplyLeft:function(e){return n.a.multiply(this.array,e.array,this.array),this._dirty=!0,this},normalize:function(){return n.a.normalize(this.array,this.array),this._dirty=!0,this},rotateX:function(e){return n.a.rotateX(this.array,this.array,e),this._dirty=!0,this},rotateY:function(e){return n.a.rotateY(this.array,this.array,e),this._dirty=!0,this},rotateZ:function(e){return n.a.rotateZ(this.array,this.array,e),this._dirty=!0,this},rotationTo:function(e,t){return n.a.rotationTo(this.array,e.array,t.array),this._dirty=!0,this},setAxes:function(e,t,r){return n.a.setAxes(this.array,e.array,t.array,r.array),this._dirty=!0,this},setAxisAngle:function(e,t){return n.a.setAxisAngle(this.array,e.array,t),this._dirty=!0,this},slerp:function(e,t,r){return n.a.slerp(this.array,e.array,t.array,r),this._dirty=!0,this},sqrLen:function(){return n.a.sqrLen(this.array)},squaredLength:function(){return n.a.squaredLength(this.array)},fromEuler:function(e,t){return a.fromEuler(this,e,t)},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}};var o=Object.defineProperty;if(o){var s=a.prototype;o(s,"x",{get:function(){return this.array[0]},set:function(e){this.array[0]=e,this._dirty=!0}}),o(s,"y",{get:function(){return this.array[1]},set:function(e){this.array[1]=e,this._dirty=!0}}),o(s,"z",{get:function(){return this.array[2]},set:function(e){this.array[2]=e,this._dirty=!0}}),o(s,"w",{get:function(){return this.array[3]},set:function(e){this.array[3]=e,this._dirty=!0}})}a.add=function(e,t,r){return n.a.add(e.array,t.array,r.array),e._dirty=!0,e},a.set=function(e,t,r,i,a){n.a.set(e.array,t,r,i,a),e._dirty=!0},a.copy=function(e,t){return n.a.copy(e.array,t.array),e._dirty=!0,e},a.calculateW=function(e,t){return n.a.calculateW(e.array,t.array),e._dirty=!0,e},a.conjugate=function(e,t){return n.a.conjugate(e.array,t.array),e._dirty=!0,e},a.identity=function(e){return n.a.identity(e.array),e._dirty=!0,e},a.invert=function(e,t){return n.a.invert(e.array,t.array),e._dirty=!0,e},a.dot=function(e,t){return n.a.dot(e.array,t.array)},a.len=function(e){return n.a.length(e.array)},a.lerp=function(e,t,r,i){return n.a.lerp(e.array,t.array,r.array,i),e._dirty=!0,e},a.slerp=function(e,t,r,i){return n.a.slerp(e.array,t.array,r.array,i),e._dirty=!0,e},a.mul=function(e,t,r){return n.a.multiply(e.array,t.array,r.array),e._dirty=!0,e},a.multiply=a.mul,a.rotateX=function(e,t,r){return n.a.rotateX(e.array,t.array,r),e._dirty=!0,e},a.rotateY=function(e,t,r){return n.a.rotateY(e.array,t.array,r),e._dirty=!0,e},a.rotateZ=function(e,t,r){return n.a.rotateZ(e.array,t.array,r),e._dirty=!0,e},a.setAxisAngle=function(e,t,r){return n.a.setAxisAngle(e.array,t.array,r),e._dirty=!0,e},a.normalize=function(e,t){return n.a.normalize(e.array,t.array),e._dirty=!0,e},a.sqrLen=function(e){return n.a.sqrLen(e.array)},a.squaredLength=a.sqrLen,a.fromMat3=function(e,t){return n.a.fromMat3(e.array,t.array),e._dirty=!0,e},a.setAxes=function(e,t,r,i){return n.a.setAxes(e.array,t.array,r.array,i.array),e._dirty=!0,e},a.rotationTo=function(e,t,r){return n.a.rotationTo(e.array,t.array,r.array),e._dirty=!0,e},a.fromEuler=function(e,t,r){e._dirty=!0,t=t.array;var n=e.array,i=Math.cos(t[0]/2),a=Math.cos(t[1]/2),o=Math.cos(t[2]/2),s=Math.sin(t[0]/2),u=Math.sin(t[1]/2),l=Math.sin(t[2]/2),r=(r||"XYZ").toUpperCase();switch(r){case"XYZ":n[0]=s*a*o+i*u*l,n[1]=i*u*o-s*a*l,n[2]=i*a*l+s*u*o,n[3]=i*a*o-s*u*l;break;case"YXZ":n[0]=s*a*o+i*u*l,n[1]=i*u*o-s*a*l,n[2]=i*a*l-s*u*o,n[3]=i*a*o+s*u*l;break;case"ZXY":n[0]=s*a*o-i*u*l,n[1]=i*u*o+s*a*l,n[2]=i*a*l+s*u*o,n[3]=i*a*o-s*u*l;break;case"ZYX":n[0]=s*a*o-i*u*l,n[1]=i*u*o+s*a*l,n[2]=i*a*l-s*u*o,n[3]=i*a*o+s*u*l;break;case"YZX":n[0]=s*a*o+i*u*l,n[1]=i*u*o+s*a*l,n[2]=i*a*l-s*u*o,n[3]=i*a*o-s*u*l;break;case"XZY":n[0]=s*a*o-i*u*l,n[1]=i*u*o-s*a*l,n[2]=i*a*l+s*u*o,n[3]=i*a*o+s*u*l}},t.a=a},function(e,t,r){"use strict";var n=function(){this._contextId=0,this._caches=[],this._context={}};n.prototype={use:function(e,t){var r=this._caches;r[e]||(r[e]={},t&&(r[e]=t())),this._contextId=e,this._context=r[e]},put:function(e,t){this._context[e]=t},get:function(e){return this._context[e]},dirty:function(e){e=e||"";var t="__dt__"+e;this.put(t,!0)},dirtyAll:function(e){e=e||"";for(var t="__dt__"+e,r=this._caches,n=0;n<r.length;n++)r[n]&&(r[n][t]=!0)},fresh:function(e){e=e||"";var t="__dt__"+e;this.put(t,!1)},freshAll:function(e){e=e||"";for(var t="__dt__"+e,r=this._caches,n=0;n<r.length;n++)r[n]&&(r[n][t]=!1)},isDirty:function(e){e=e||"";var t="__dt__"+e,r=this._context;return!r.hasOwnProperty(t)||!0===r[t]},deleteContext:function(e){delete this._caches[e],this._context={}},delete:function(e){delete this._context[e]},clearAll:function(){this._caches={}},getContext:function(){return this._context},eachContext:function(e,t){Object.keys(this._caches).forEach(function(r){e&&e.call(t,r)})},miss:function(e){return!this._context.hasOwnProperty(e)}},n.prototype.constructor=n,t.a=n},function(e,t,r){"use strict";var n=r(35),i=r(9),a=r(59),o=r(54),s=r(33),u=r(12),l=n.a.extend(function(){return{projectionMatrix:new i.a,invProjectionMatrix:new i.a,viewMatrix:new i.a,frustum:new a.a}},function(){this.update(!0)},{update:function(e){n.a.prototype.update.call(this,e),i.a.invert(this.viewMatrix,this.worldTransform),this.updateProjectionMatrix(),i.a.invert(this.invProjectionMatrix,this.projectionMatrix),this.frustum.setFromProjection(this.projectionMatrix)},setViewMatrix:function(e){i.a.copy(this.viewMatrix,e),i.a.invert(this.worldTransform,e),this.decomposeWorldTransform()},decomposeProjectionMatrix:function(){},setProjectionMatrix:function(e){i.a.copy(this.projectionMatrix,e),i.a.invert(this.invProjectionMatrix,e),this.decomposeProjectionMatrix()},updateProjectionMatrix:function(){},castRay:function(){var e=s.a.create();return function(t,r){var n=void 0!==r?r:new o.a,i=t.array[0],a=t.array[1];return s.a.set(e,i,a,-1,1),s.a.transformMat4(e,e,this.invProjectionMatrix.array),s.a.transformMat4(e,e,this.worldTransform.array),u.a.scale(n.origin.array,e,1/e[3]),s.a.set(e,i,a,1,1),s.a.transformMat4(e,e,this.invProjectionMatrix.array),s.a.transformMat4(e,e,this.worldTransform.array),u.a.scale(e,e,1/e[3]),u.a.sub(n.direction.array,e,n.origin.array),u.a.normalize(n.direction.array,n.direction.array),n.direction._dirty=!0,n.origin._dirty=!0,n}}()});t.a=l},function(e,t,r){"use strict";var n=r(18),i=r(74),a=r(12),o=a.a.set,s=a.a.copy,u=a.a.transformMat4,l=Math.min,h=Math.max,c=function(){this.planes=[];for(var e=0;e<6;e++)this.planes.push(new i.a);this.boundingBox=new n.a,this.vertices=[];for(var e=0;e<8;e++)this.vertices[e]=a.a.fromValues(0,0,0)};c.prototype={setFromProjection:function(e){var t=this.planes,r=e.array,n=r[0],i=r[1],a=r[2],s=r[3],u=r[4],l=r[5],h=r[6],c=r[7],d=r[8],f=r[9],p=r[10],m=r[11],g=r[12],_=r[13],v=r[14],y=r[15];o(t[0].normal.array,s-n,c-u,m-d),t[0].distance=-(y-g),t[0].normalize(),o(t[1].normal.array,s+n,c+u,m+d),t[1].distance=-(y+g),t[1].normalize(),o(t[2].normal.array,s+i,c+l,m+f),t[2].distance=-(y+_),t[2].normalize(),o(t[3].normal.array,s-i,c-l,m-f),t[3].distance=-(y-_),t[3].normalize(),o(t[4].normal.array,s-a,c-h,m-p),t[4].distance=-(y-v),t[4].normalize(),o(t[5].normal.array,s+a,c+h,m+p),t[5].distance=-(y+v),t[5].normalize();var x=this.boundingBox,T=this.vertices;if(0===y){var b=l/n,w=-v/(p-1),E=-v/(p+1),S=-E/l,A=-w/l;x.min.set(-S*b,-S,E),x.max.set(S*b,S,w),o(T[0],-S*b,-S,E),o(T[1],-S*b,S,E),o(T[2],S*b,-S,E),o(T[3],S*b,S,E),o(T[4],-A*b,-A,w),o(T[5],-A*b,A,w),o(T[6],A*b,-A,w),o(T[7],A*b,A,w)}else{var M=(-1-g)/n,C=(1-g)/n,L=(1-_)/l,D=(-1-_)/l,N=(-1-v)/p,R=(1-v)/p;x.min.set(Math.min(M,C),Math.min(D,L),Math.min(R,N)),x.max.set(Math.max(C,M),Math.max(L,D),Math.max(N,R));var P=x.min.array,I=x.max.array;o(T[0],P[0],P[1],P[2]),o(T[1],P[0],I[1],P[2]),o(T[2],I[0],P[1],P[2]),o(T[3],I[0],I[1],P[2]),o(T[4],P[0],P[1],I[2]),o(T[5],P[0],I[1],I[2]),o(T[6],I[0],P[1],I[2]),o(T[7],I[0],I[1],I[2])}},getTransformedBoundingBox:function(){var e=a.a.create();return function(t,r){var n=this.vertices,i=r.array,a=t.min,o=t.max,c=a.array,d=o.array,f=n[0];u(e,f,i),s(c,e),s(d,e);for(var p=1;p<8;p++)f=n[p],u(e,f,i),c[0]=l(e[0],c[0]),c[1]=l(e[1],c[1]),c[2]=l(e[2],c[2]),d[0]=h(e[0],d[0]),d[1]=h(e[1],d[1]),d[2]=h(e[2],d[2]);return a._dirty=!0,o._dirty=!0,t}}()},t.a=c},function(e,t){var r=function(){this.head=null,this.tail=null,this._len=0},n=r.prototype;n.insert=function(e){var t=new i(e);return this.insertEntry(t),t},n.insertEntry=function(e){this.head?(this.tail.next=e,e.prev=this.tail,e.next=null,this.tail=e):this.head=this.tail=e,this._len++},n.remove=function(e){var t=e.prev,r=e.next;t?t.next=r:this.head=r,r?r.prev=t:this.tail=t,e.next=e.prev=null,this._len--},n.len=function(){return this._len},n.clear=function(){this.head=this.tail=null,this._len=0};var i=function(e){this.value=e,this.next,this.prev},a=function(e){this._list=new r,this._map={},this._maxSize=e||10,this._lastRemovedEntry=null},o=a.prototype;o.put=function(e,t){var r=this._list,n=this._map,a=null;if(null==n[e]){var o=r.len(),s=this._lastRemovedEntry;if(o>=this._maxSize&&o>0){var u=r.head;r.remove(u),delete n[u.key],a=u.value,this._lastRemovedEntry=u}s?s.value=t:s=new i(t),s.key=e,r.insertEntry(s),n[e]=s}return a},o.get=function(e){var t=this._map[e],r=this._list;if(null!=t)return t!==r.tail&&(r.remove(t),r.insertEntry(t)),t.value},o.clear=function(){this._list.clear(),this._map={}};var s=a;e.exports=s},function(e,t,r){"use strict";var n=r(5),i=r(27),a=r(14),o=r(62),s=r(75),u=r(36),l=r(122),h=r(123),c={loadTexture:function(e,t,r,a){var o;if("function"==typeof t?(r=t,a=r,t={}):t=t||{},"string"==typeof e){if(e.match(/.hdr$/)||"hdr"===t.fileType)return o=new n.a({width:0,height:0,sRGB:!1}),c._fetchTexture(e,function(e){h.a.parseRGBE(e,o,t.exposure),o.dirty(),r&&r(o)},a),o;e.match(/.dds$/)||"dds"===t.fileType?(o=new n.a({width:0,height:0}),c._fetchTexture(e,function(e){l.a.parse(e,o),o.dirty(),r&&r(o)},a)):(o=new n.a,o.load(e),o.success(r),o.error(a))}else"object"==typeof e&&void 0!==e.px&&(o=new i.a,o.load(e),o.success(r),o.error(a));return o},loadPanorama:function(e,t,r,n,i,a){var o=this;"function"==typeof n?(i=n,a=i,n={}):n=n||{},c.loadTexture(t,n,function(t){t.flipY=n.flipY||!1,o.panoramaToCubeMap(e,t,r,n),t.dispose(e),i&&i(r)},a)},panoramaToCubeMap:function(e,t,r,n){var i=new o.a,a=new s.a({scene:new u.a});return a.setEnvironmentMap(t),n=n||{},n.encodeRGBM&&a.material.define("fragment","RGBM_ENCODE"),r.sRGB=t.sRGB,i.texture=r,i.render(e,a.scene),i.texture=null,i.dispose(e),r},heightToNormal:function(e,t){var r=document.createElement("canvas"),n=r.width=e.width,i=r.height=e.height,a=r.getContext("2d");a.drawImage(e,0,0,n,i),t=t||!1;for(var o=a.getImageData(0,0,n,i),s=a.createImageData(n,i),u=0;u<o.data.length;u+=4){if(t){var l=o.data[u],h=o.data[u+1],c=o.data[u+2];if(Math.abs(l-h)+Math.abs(h-c)>20)return console.warn("Given image is not a height map"),e}var d,f,p,m;u%(4*n)==0?(d=o.data[u],p=o.data[u+4]):u%(4*n)==4*(n-1)?(d=o.data[u-4],p=o.data[u]):(d=o.data[u-4],p=o.data[u+4]),u<4*n?(f=o.data[u],m=o.data[u+4*n]):u>n*(i-1)*4?(f=o.data[u-4*n],m=o.data[u]):(f=o.data[u-4*n],m=o.data[u+4*n]),s.data[u]=d-p+127,s.data[u+1]=f-m+127,s.data[u+2]=255,s.data[u+3]=255}return a.putImageData(s,0,0),r},isHeightImage:function(e,t,r){if(!e||!e.width||!e.height)return!1;var n=document.createElement("canvas"),i=n.getContext("2d"),a=t||32;r=r||20,n.width=n.height=a,i.drawImage(e,0,0,a,a);for(var o=i.getImageData(0,0,a,a),s=0;s<o.data.length;s+=4){var u=o.data[s],l=o.data[s+1],h=o.data[s+2];if(Math.abs(u-l)+Math.abs(l-h)>r)return!1}return!0},_fetchTexture:function(e,t,r){a.a.request.get({url:e,responseType:"arraybuffer",onload:t,onerror:r})},createChessboard:function(e,t,r,i){e=e||512,t=t||64,r=r||"black",i=i||"white";var a=Math.ceil(e/t),o=document.createElement("canvas");o.width=e,o.height=e;var s=o.getContext("2d");s.fillStyle=i,s.fillRect(0,0,e,e),s.fillStyle=r;for(var u=0;u<a;u++)for(var l=0;l<a;l++){var h=l%2?u%2:u%2-1;h&&s.fillRect(u*t,l*t,t,t)}return new n.a({image:o,anisotropic:8})},createBlank:function(e){var t=document.createElement("canvas");t.width=1,t.height=1;var r=t.getContext("2d");return r.fillStyle=e,r.fillRect(0,0,1,1),new n.a({image:t})}};t.a=c},function(e,t,r){"use strict";var n=r(7),i=r(3),a=r(41),o=r(10),s=["px","nx","py","ny","pz","nz"],u=n.a.extend(function(){var e={position:new i.a,far:1e3,near:.1,texture:null,shadowMapPass:null},t=e._cameras={px:new a.a({fov:90}),nx:new a.a({fov:90}),py:new a.a({fov:90}),ny:new a.a({fov:90}),pz:new a.a({fov:90}),nz:new a.a({fov:90})};return t.px.lookAt(i.a.POSITIVE_X,i.a.NEGATIVE_Y),t.nx.lookAt(i.a.NEGATIVE_X,i.a.NEGATIVE_Y),t.py.lookAt(i.a.POSITIVE_Y,i.a.POSITIVE_Z),t.ny.lookAt(i.a.NEGATIVE_Y,i.a.NEGATIVE_Z),t.pz.lookAt(i.a.POSITIVE_Z,i.a.NEGATIVE_Y),t.nz.lookAt(i.a.NEGATIVE_Z,i.a.NEGATIVE_Y),e._frameBuffer=new o.a,e},{getCamera:function(e){return this._cameras[e]},render:function(e,t,r){var n=e.gl;r||t.update();for(var a=this.texture.width,o=2*Math.atan(a/(a-.5))/Math.PI*180,u=0;u<6;u++){var l=s[u],h=this._cameras[l];if(i.a.copy(h.position,this.position),h.far=this.far,h.near=this.near,h.fov=o,this.shadowMapPass){h.update();var c=t.getBoundingBox();c.applyTransform(h.viewMatrix),t.viewBoundingBoxLastFrame.copy(c),this.shadowMapPass.render(e,t,h,!0)}this._frameBuffer.attach(this.texture,n.COLOR_ATTACHMENT0,n.TEXTURE_CUBE_MAP_POSITIVE_X+u),this._frameBuffer.bind(e),e.render(t,h,!0),this._frameBuffer.unbind(e)}},dispose:function(e){this._frameBuffer.dispose(e)}});t.a=u},function(e,t,r){"use strict";var n=r(1),i=r(165),a=r(166);n.a.Shader.import(a.a),t.a=n.a.Mesh.extend(function(){return{geometry:new i.a({dynamic:!0}),material:new n.a.Material({shader:n.a.createShader("ecgl.labels"),transparent:!0,depthMask:!1}),culling:!1,castShadow:!1,ignorePicking:!0}})},function(e,t,r){"use strict";function n(e){this.rootNode=new o.a.Node,this._triangulationResults={},this._shadersMap=o.a.COMMON_SHADERS.reduce(function(e,t){return e[t]=o.a.createShader("ecgl."+t),e},{}),this._linesShader=o.a.createShader("ecgl.meshLines3D");var t={};o.a.COMMON_SHADERS.forEach(function(e){t[e]=new o.a.Material({shader:o.a.createShader("ecgl."+e)})}),this._groundMaterials=t,this._groundMesh=new o.a.Mesh({geometry:new o.a.PlaneGeometry({dynamic:!0}),castShadow:!1,renderNormal:!0,$ignorePicking:!0}),this._groundMesh.rotation.rotateX(-Math.PI/2),this._labelsBuilder=new d.a(512,512,e),this._labelsBuilder.getMesh().renderOrder=100,this._labelsBuilder.getMesh().material.depthTest=!1,this.rootNode.add(this._labelsBuilder.getMesh()),this._initMeshes(),this._api=e}var i=r(0),a=r.n(i),o=r(1),s=r(204),u=r(25),l=r(2),h=r(6),c=r(65),d=r(66),f=r(46),p=h.a.vec3;o.a.Shader.import(f.a),n.prototype={constructor:n,extrudeY:!0,update:function(e,t,r,n,i){var a=e.getData();null==n&&(n=0),null==i&&(i=a.count()),this._startIndex=n,this._endIndex=i-1,this._triangulation(e,n,i);var o=this._getShader(e.get("shading"));this._prepareMesh(e,o,r,n,i),this.rootNode.updateWorldTransform(),this._updateRegionMesh(e,r,n,i);var s=e.coordinateSystem;"geo3D"===s.type&&this._updateGroundPlane(e,s,r);var u=this;this._labelsBuilder.updateData(a,n,i),this._labelsBuilder.getLabelPosition=function(e,t,r){var n,i=a.getName(e),o=r;if("geo3D"===s.type){var l=s.getRegion(i);if(!l)return[NaN,NaN,NaN];n=l.center;return s.dataToPoint([n[0],n[1],o])}var h=u._triangulationResults[e-u._startIndex],n=u.extrudeY?[(h.max[0]+h.min[0])/2,h.max[1]+o,(h.max[2]+h.min[2])/2]:[(h.max[0]+h.min[0])/2,(h.max[1]+h.min[1])/2,h.max[2]+o]},this._data=a,this._labelsBuilder.updateLabels(),this._updateDebugWireframe(e),this._lastHoverDataIndex=0},_initMeshes:function(){var e=this,t=function(){var t=new o.a.Mesh({name:"Polygon",material:new o.a.Material({shader:e._shadersMap.lambert}),geometry:new o.a.Geometry({sortTriangles:!0,dynamic:!0}),culling:!1,ignorePicking:!0,renderNormal:!0});return a.a.util.extend(t.geometry,c.a),t}(),r=new o.a.Mesh({material:new o.a.Material({shader:this._linesShader}),castShadow:!1,ignorePicking:!0,$ignorePicking:!0,geometry:new u.a({useNativeLine:!1})});this.rootNode.add(t),this.rootNode.add(r),t.material.define("both","VERTEX_COLOR"),t.material.define("fragment","DOUBLE_SIDED"),this._polygonMesh=t,this._linesMesh=r,this.rootNode.add(this._groundMesh)},_getShader:function(e){var t=this._shadersMap[e];return t||(t=this._shadersMap.lambert),t.__shading=e,t},_prepareMesh:function(e,t,r,n,i){for(var a=0,s=0,u=0,l=0,h=n;h<i;h++){var c=this._getRegionPolygonInfo(h),d=this._getRegionLinesInfo(h,e,this._linesMesh.geometry);a+=c.vertexCount,s+=c.triangleCount,u+=d.vertexCount,l+=d.triangleCount}var f=this._polygonMesh,p=f.geometry;["position","normal","texcoord0","color"].forEach(function(e){p.attributes[e].init(a)}),p.indices=a>65535?new Uint32Array(3*s):new Uint16Array(3*s),f.material.shader!==t&&f.material.attachShader(t,!0),o.a.setMaterialFromModel(t.__shading,f.material,e,r),u>0&&(this._linesMesh.geometry.resetOffset(),this._linesMesh.geometry.setVertexCount(u),this._linesMesh.geometry.setTriangleCount(l)),this._dataIndexOfVertex=new Uint32Array(a),this._vertexRangeOfDataIndex=new Uint32Array(2*(i-n))},_updateRegionMesh:function(e,t,r,n){for(var i=e.getData(),a=0,s=0,u=!1,h=this._polygonMesh,c=this._linesMesh,d=r;d<n;d++){var f=e.getRegionModel(d),p=f.getModel("itemStyle"),m=p.get("color"),g=l.a.firstNotNull(p.get("opacity"),1),_=i.getItemVisual(d,"color",!0);null!=_&&i.hasValue(d)&&(m=_),i.setItemVisual(d,"color",m),i.setItemVisual(d,"opacity",g),m=o.a.parseColor(m);var v=o.a.parseColor(p.get("borderColor"));m[3]*=g,v[3]*=g;var y=m[3]<.99;h.material.set("color",[1,1,1,1]),u=u||y;for(var x=l.a.firstNotNull(f.get("height",!0),e.get("regionHeight")),T=this._updatePolygonGeometry(e,h.geometry,d,x,a,s,m),b=a;b<T.vertexOffset;b++)this._dataIndexOfVertex[b]=d;this._vertexRangeOfDataIndex[2*(d-r)]=a,this._vertexRangeOfDataIndex[2*(d-r)+1]=T.vertexOffset,a=T.vertexOffset,s=T.triangleOffset;var w=p.get("borderWidth"),E=w>0;E&&(w*=t.getDevicePixelRatio(),this._updateLinesGeometry(c.geometry,e,d,x,w,e.coordinateSystem.transform)),c.invisible=!E,c.material.set({color:v})}var h=this._polygonMesh;h.material.transparent=u,h.material.depthMask=!u,h.geometry.updateBoundingBox(),h.frontFace=this.extrudeY?o.a.Mesh.CCW:o.a.Mesh.CW,h.material.get("normalMap")&&h.geometry.generateTangents(),h.seriesIndex=e.seriesIndex,h.on("mousemove",this._onmousemove,this),h.on("mouseout",this._onmouseout,this)},_updateDebugWireframe:function(e){var t=e.getModel("debug.wireframe");if(t.get("show")){var r=o.a.parseColor(t.get("lineStyle.color")||"rgba(0,0,0,0.5)"),n=l.a.firstNotNull(t.get("lineStyle.width"),1),i=this._polygonMesh;i.geometry.generateBarycentric(),i.material.define("both","WIREFRAME_TRIANGLE"),i.material.set("wireframeLineColor",r),i.material.set("wireframeLineWidth",n)}},_onmousemove:function(e){var t=this._dataIndexOfVertex[e.triangle[0]];null==t&&(t=-1),t!==this._lastHoverDataIndex&&(this.downplay(this._lastHoverDataIndex),this.highlight(t),this._labelsBuilder.updateLabels([t])),this._lastHoverDataIndex=t,this._polygonMesh.dataIndex=t},_onmouseout:function(e){e.target&&(this.downplay(this._lastHoverDataIndex),this._lastHoverDataIndex=-1,this._polygonMesh.dataIndex=-1),this._labelsBuilder.updateLabels([])},_updateGroundPlane:function(e,t,r){var n=e.getModel("groundPlane",e);if(this._groundMesh.invisible=!n.get("show",!0),!this._groundMesh.invisible){var i=e.get("shading"),a=this._groundMaterials[i];a||(a=this._groundMaterials.lambert),o.a.setMaterialFromModel(i,a,n,r),a.get("normalMap")&&this._groundMesh.geometry.generateTangents(),this._groundMesh.material=a,this._groundMesh.material.set("color",o.a.parseColor(n.get("color"))),this._groundMesh.scale.set(t.size[0],t.size[2],1)}},_triangulation:function(e,t,r){this._triangulationResults=[];for(var n=[1/0,1/0,1/0],i=[-1/0,-1/0,-1/0],a=e.coordinateSystem,o=t;o<r;o++){for(var u=[],l=e.getRegionPolygonCoords(o),h=0;h<l.length;h++){var c=l[h].exterior,d=l[h].interiors,f=[],m=[];if(!(c.length<3)){for(var g=0,_=0;_<c.length;_++){var v=c[_];f[g++]=v[0],f[g++]=v[1]}for(var _=0;_<d.length;_++)if(!(d[_].length<3)){for(var y=f.length/2,x=0;x<d[_].length;x++){var v=d[_][x];f.push(v[0]),f.push(v[1])}m.push(y)}for(var T=Object(s.a)(f,m),b=new Float64Array(f.length/2*3),w=[],E=[1/0,1/0,1/0],S=[-1/0,-1/0,-1/0],A=0,_=0;_<f.length;)p.set(w,f[_++],0,f[_++]),a&&a.transform&&p.transformMat4(w,w,a.transform),p.min(E,E,w),p.max(S,S,w),b[A++]=w[0],b[A++]=w[1],b[A++]=w[2];p.min(n,n,E),p.max(i,i,S),u.push({points:b,indices:T,min:E,max:S})}}this._triangulationResults.push(u)}this._geoBoundingBox=[n,i]},_getRegionPolygonInfo:function(e){for(var t=this._triangulationResults[e-this._startIndex],r=0,n=0,i=0;i<t.length;i++)r+=t[i].points.length/3,n+=t[i].indices.length/3;return{vertexCount:2*r+4*r,triangleCount:2*n+2*r}},_updatePolygonGeometry:function(e,t,r,n,i,a,o){function s(e,t,r){for(var n=e.points,a=n.length,s=[],u=[],l=0;l<a;l+=3)s[0]=n[l],s[v]=t,s[y]=n[l+2],u[0]=(n[l]*x[0]-T[0])/w,u[1]=(n[l+2]*x[y]-T[2])/w,h.set(i,s),g&&f.set(i,o),d.set(i++,u)}function u(e,t,r){var n=i;s(e,t,r);for(var o=e.indices.length,u=0;u<o;u++)_[3*a+u]=e.indices[u]+n;a+=e.indices.length/3}for(var l=e.get("projectUVOnGround"),h=t.attributes.position,c=t.attributes.normal,d=t.attributes.texcoord0,f=t.attributes.color,m=this._triangulationResults[r-this._startIndex],g=f.value&&o,_=t.indices,v=this.extrudeY?1:2,y=this.extrudeY?2:1,x=[this.rootNode.worldTransform.x.len(),this.rootNode.worldTransform.y.len(),this.rootNode.worldTransform.z.len()],T=p.mul([],this._geoBoundingBox[0],x),b=p.mul([],this._geoBoundingBox[1],x),w=Math.max(b[0]-T[0],b[2]-T[2]),E=this.extrudeY?[0,1,0]:[0,0,1],S=p.negate([],E),A=0;A<m.length;A++){var M=i,C=m[A];u(C,0,0),u(C,n,0);for(var L=C.points.length/3,D=0;D<L;D++)c.set(M+D,S),c.set(M+D+L,E);for(var N=[0,3,1,1,3,2],R=[[],[],[],[]],P=[],I=[],O=[],F=[],B=0,D=0;D<L;D++){for(var U=(D+1)%L,z=(C.points[3*U]-C.points[3*D])*x[0],G=(C.points[3*U+2]-C.points[3*D+2])*x[y],H=Math.sqrt(z*z+G*G),V=0;V<4;V++){var k=0===V||3===V,W=3*(k?D:U);R[V][0]=C.points[W],R[V][v]=V>1?n:0,R[V][y]=C.points[W+2],h.set(i+V,R[V]),l?(F[0]=(C.points[W]*x[0]-T[0])/w,F[1]=(C.points[W+2]*x[y]-T[y])/w):(F[0]=(k?B:B+H)/w,F[1]=(R[V][v]*x[v]-T[v])/w),d.set(i+V,F)}p.sub(P,R[1],R[0]),p.sub(I,R[3],R[0]),p.cross(O,P,I),p.normalize(O,O);for(var V=0;V<4;V++)c.set(i+V,O),g&&f.set(i+V,o);for(var V=0;V<6;V++)_[3*a+V]=N[V]+i;i+=4,a+=2,B+=H}}return t.dirty(),{vertexOffset:i,triangleOffset:a}},_getRegionLinesInfo:function(e,t,r){var n=0,i=0;t.getRegionModel(e).getModel("itemStyle").get("borderWidth")>0&&t.getRegionPolygonCoords(e).forEach(function(e){var t=e.exterior,a=e.interiors;n+=r.getPolylineVertexCount(t),i+=r.getPolylineTriangleCount(t);for(var o=0;o<a.length;o++)n+=r.getPolylineVertexCount(a[o]),i+=r.getPolylineTriangleCount(a[o])},this);return{vertexCount:n,triangleCount:i}},_updateLinesGeometry:function(e,t,r,n,i,a){function o(e){for(var t=new Float64Array(3*e.length),r=0,i=[],o=0;o<e.length;o++)i[0]=e[o][0],i[1]=n+.1,i[2]=e[o][1],a&&p.transformMat4(i,i,a),t[r++]=i[0],t[r++]=i[1],t[r++]=i[2];return t}var s=[1,1,1,1];t.getRegionPolygonCoords(r).forEach(function(t){var r=t.exterior,n=t.interiors;e.addPolyline(o(r),s,i);for(var a=0;a<n.length;a++)e.addPolyline(o(n[a]),s,i)})},highlight:function(e){var t=this._data;if(t){var r=t.getItemModel(e),n=r.getModel("emphasis.itemStyle"),i=n.get("color"),s=l.a.firstNotNull(n.get("opacity"),t.getItemVisual(e,"opacity"),1);if(null==i){var u=t.getItemVisual(e,"color");i=a.a.color.lift(u,-.4)}null==s&&(s=t.getItemVisual(e,"opacity"));var h=o.a.parseColor(i);h[3]*=s,this._setColorOfDataIndex(t,e,h)}},downplay:function(e){var t=this._data;if(t){var r=t.getItemVisual(e,"color"),n=l.a.firstNotNull(t.getItemVisual(e,"opacity"),1),i=o.a.parseColor(r);i[3]*=n,this._setColorOfDataIndex(t,e,i)}},_setColorOfDataIndex:function(e,t,r){if(!(t<this._startIndex&&t>this._endIndex)){t-=this._startIndex;for(var n=this._vertexRangeOfDataIndex[2*t];n<this._vertexRangeOfDataIndex[2*t+1];n++)this._polygonMesh.geometry.attributes.color.set(n,r);this._polygonMesh.geometry.dirty(),this._api.getZr().refresh()}}},t.a=n},function(e,t,r){"use strict";var n=r(97),i=r(6),a=i.a.vec3,o=a.create(),s=a.create(),u=a.create();t.a={needsSortTriangles:function(){return this.indices&&this.sortTriangles},needsSortTrianglesProgressively:function(){return this.needsSortTriangles()&&this.triangleCount>=2e4},doSortTriangles:function(e,t){var r=this.indices;if(0===t){var n=this.attributes.position,e=e.array;this._triangleZList&&this._triangleZList.length===this.triangleCount||(this._triangleZList=new Float32Array(this.triangleCount),this._sortedTriangleIndices=new Uint32Array(this.triangleCount),this._indicesTmp=new r.constructor(r.length),this._triangleZListTmp=new Float32Array(this.triangleCount));for(var i,l=0,h=0;h<r.length;){n.get(r[h++],o),n.get(r[h++],s),n.get(r[h++],u);var c=a.sqrDist(o,e),d=a.sqrDist(s,e),f=a.sqrDist(u,e),p=Math.min(c,d);p=Math.min(p,f),3===h?(i=p,p=0):p-=i,this._triangleZList[l++]=p}}for(var m=this._sortedTriangleIndices,h=0;h<m.length;h++)m[h]=h;if(this.triangleCount<2e4)0===t&&this._simpleSort(!0);else for(var h=0;h<3;h++)this._progressiveQuickSort(3*t+h);for(var g=this._indicesTmp,_=this._triangleZListTmp,v=this._triangleZList,h=0;h<this.triangleCount;h++){var y=3*m[h],x=3*h;g[x++]=r[y++],g[x++]=r[y++],g[x]=r[y],_[h]=v[m[h]]}var T=this._indicesTmp;this._indicesTmp=this.indices,this.indices=T;var T=this._triangleZListTmp;this._triangleZListTmp=this._triangleZList,this._triangleZList=T,this.dirtyIndices()},_simpleSort:function(e){function t(e,t){return r[t]-r[e]}var r=this._triangleZList,i=this._sortedTriangleIndices;e?Array.prototype.sort.call(i,t):n.a.sort(i,t,0,i.length-1)},_progressiveQuickSort:function(e){var t=this._triangleZList,r=this._sortedTriangleIndices;this._quickSort=this._quickSort||new n.a,this._quickSort.step(r,function(e,r){return t[r]-t[e]},e)}}},function(e,t,r){"use strict";function n(e,t,r){this._labelsMesh=new s.a,this._labelTextureSurface=new o.a({width:512,height:512,devicePixelRatio:r.getDevicePixelRatio(),onupdate:function(){r.getZr().refresh()}}),this._api=r,this._labelsMesh.material.set("textureAtlas",this._labelTextureSurface.getTexture())}var i=r(0),a=r.n(i),o=r(81),s=r(63),u=r(2);n.prototype.getLabelPosition=function(e,t,r){return[0,0,0]},n.prototype.getLabelDistance=function(e,t,r){return 0},n.prototype.getMesh=function(){return this._labelsMesh},n.prototype.updateData=function(e,t,r){null==t&&(t=0),null==r&&(r=e.count()),this._labelsVisibilitiesBits&&this._labelsVisibilitiesBits.length===r-t||(this._labelsVisibilitiesBits=new Uint8Array(r-t));for(var n=["label","show"],i=["emphasis","label","show"],a=t;a<r;a++){var o=e.getItemModel(a),s=o.get(n),u=o.get(i);null==u&&(u=s);var l=(s?1:0)|(u?2:0);this._labelsVisibilitiesBits[a-t]=l}this._start=t,this._end=r,this._data=e},n.prototype.updateLabels=function(e){if(this._data){e=e||[];for(var t=e.length>0,r={},n=0;n<e.length;n++)r[e[n]]=!0;this._labelsMesh.geometry.convertToDynamicArray(!0),this._labelTextureSurface.clear();for(var i=["label"],o=["emphasis","label"],s=this._data.hostModel,l=this._data,h=s.getModel(i),c=s.getModel(o,h),d={left:"right",right:"left",top:"center",bottom:"center"},f={left:"middle",right:"middle",top:"bottom",bottom:"top"},p=this._start;p<this._end;p++){var m=!1;t&&r[p]&&(m=!0);if(this._labelsVisibilitiesBits[p-this._start]&(m?2:1)){var g=l.getItemModel(p),_=g.getModel(m?o:i,m?c:h),v=_.get("distance")||0,y=_.get("position"),x=_.getModel("textStyle"),T=this._api.getDevicePixelRatio(),b=s.getFormattedLabel(p,m?"emphasis":"normal");if(null==b||""===b)return;var w=new a.a.graphic.Text;a.a.graphic.setTextStyle(w.style,x,{text:b,textFill:x.get("color")||l.getItemVisual(p,"color")||"#000",textAlign:"left",textVerticalAlign:"top",opacity:u.a.firstNotNull(x.get("opacity"),l.getItemVisual(p,"opacity"),1)});var E=w.getBoundingRect();E.height*=1.2;var S=this._labelTextureSurface.add(w),A=d[y]||"center",M=f[y]||"bottom";this._labelsMesh.geometry.addSprite(this.getLabelPosition(p,y,v),[E.width*T,E.height*T],S,A,M,this.getLabelDistance(p,y,v)*T)}}this._labelsMesh.material.set("uvScale",this._labelTextureSurface.getCoordsScale()),this._labelTextureSurface.getZr().refreshImmediately(),this._labelsMesh.geometry.convertToTypedArray(),this._labelsMesh.geometry.dirty()}},t.a=n},function(e,t,r){"use strict";function n(e,t){return e&&t&&e[0]===t[0]&&e[1]===t[1]}function i(e,t){this.rootNode=new s.a.Node,this.is2D=e,this._labelsBuilder=new h.a(256,256,t),this._labelsBuilder.getMesh().renderOrder=100,this.rootNode.add(this._labelsBuilder.getMesh()),this._api=t,this._spriteImageCanvas=document.createElement("canvas"),this._startDataIndex=0,this._endDataIndex=0,this._sizeScale=1}var a=r(0),o=r.n(a),s=r(1),u=r(239),l=r(240),h=r(66),c=r(9),d=r(2);i.prototype={constructor:i,highlightOnMouseover:!0,update:function(e,t,r,n,i){var a=this._prevMesh;this._prevMesh=this._mesh,this._mesh=a;var o=e.getData();if(null==n&&(n=0),null==i&&(i=o.count()),this._startDataIndex=n,this._endDataIndex=i-1,!this._mesh){var u=this._prevMesh&&this._prevMesh.material;this._mesh=new l.a({renderOrder:10,frustumCulling:!1}),u&&(this._mesh.material=u)}var u=this._mesh.material,h=this._mesh.geometry,c=h.attributes;this.rootNode.remove(this._prevMesh),this.rootNode.add(this._mesh),this._setPositionTextureToMesh(this._mesh,this._positionTexture);var d=this._getSymbolInfo(e,n,i),f=r.getDevicePixelRatio(),p=e.getModel("itemStyle").getItemStyle(),m=e.get("large"),g=1;d.maxSize>2?(g=this._updateSymbolSprite(e,p,d,f),u.enableTexture("sprite")):u.disableTexture("sprite"),c.position.init(i-n);var _=[];if(m){u.undefine("VERTEX_SIZE"),u.undefine("VERTEX_COLOR");var v=o.getVisual("color"),y=o.getVisual("opacity");s.a.parseColor(v,_),_[3]*=y,u.set({color:_,u_Size:d.maxSize*this._sizeScale})}else u.set({color:[1,1,1,1]}),u.define("VERTEX_SIZE"),u.define("VERTEX_COLOR"),c.size.init(i-n),c.color.init(i-n),this._originalOpacity=new Float32Array(i-n);for(var x=o.getLayout("points"),T=c.position.value,b=0;b<i-n;b++){var w=3*b,E=2*b;if(this.is2D?(T[w]=x[E],T[w+1]=x[E+1],T[w+2]=-10):(T[w]=x[w],T[w+1]=x[w+1],T[w+2]=x[w+2]),!m){var v=o.getItemVisual(b,"color"),y=o.getItemVisual(b,"opacity");s.a.parseColor(v,_),_[3]*=y,c.color.set(b,_),_[3]<.99&&!0;var S=o.getItemVisual(b,"symbolSize");S=S instanceof Array?Math.max(S[0],S[1]):S,isNaN(S)&&(S=0),c.size.value[b]=S*g*this._sizeScale,this._originalOpacity[b]=_[3]}}this._mesh.sizeScale=g,h.updateBoundingBox(),h.dirty(),this._updateMaterial(e,p);var A=e.coordinateSystem;if(A&&A.viewGL){u[A.viewGL.isLinearSpace()?"define":"undefine"]("fragment","SRGB_DECODE")}m||this._updateLabelBuilder(e,n,i),this._updateHandler(e,t,r),this._updateAnimation(e),this._api=r},getPointsMesh:function(){return this._mesh},updateLabels:function(e){this._labelsBuilder.updateLabels(e)},hideLabels:function(){this.rootNode.remove(this._labelsBuilder.getMesh())},showLabels:function(){this.rootNode.add(this._labelsBuilder.getMesh())},_updateSymbolSprite:function(e,t,r,i){r.maxSize=Math.min(2*r.maxSize,200);var a=[];return r.aspect>1?(a[0]=r.maxSize,a[1]=r.maxSize/r.aspect):(a[1]=r.maxSize,a[0]=r.maxSize*r.aspect),a[0]=a[0]||1,a[1]=a[1]||1,this._symbolType===r.type&&n(this._symbolSize,a)&&this._lineWidth===t.lineWidth||(u.a.createSymbolSprite(r.type,a,{fill:"#fff",lineWidth:t.lineWidth,stroke:"transparent",shadowColor:"transparent",minMargin:Math.min(a[0]/2,10)},this._spriteImageCanvas),u.a.createSDFFromCanvas(this._spriteImageCanvas,Math.min(this._spriteImageCanvas.width,32),20,this._mesh.material.get("sprite").image),this._symbolType=r.type,this._symbolSize=a,this._lineWidth=t.lineWidth),this._spriteImageCanvas.width/r.maxSize*i},_updateMaterial:function(e,t){var r="lighter"===e.get("blendMode")?s.a.additiveBlend:null,n=this._mesh.material;n.blend=r,n.set("lineWidth",t.lineWidth/20);var i=s.a.parseColor(t.stroke);n.set("strokeColor",i),n.transparent=!0,n.depthMask=!1,n.depthTest=!this.is2D,n.sortVertices=!this.is2D},_updateLabelBuilder:function(e,t,r){var n=e.getData(),i=this._mesh.geometry,a=i.attributes.position.value,t=this._startDataIndex,o=this._mesh.sizeScale;this._labelsBuilder.updateData(n,t,r),this._labelsBuilder.getLabelPosition=function(e,r,n){var i=3*(e-t);return[a[i],a[i+1],a[i+2]]},this._labelsBuilder.getLabelDistance=function(e,r,n){return i.attributes.size.get(e-t)/o/2+n},this._labelsBuilder.updateLabels()},_updateAnimation:function(e){s.a.updateVertexAnimation([["prevPosition","position"],["prevSize","size"]],this._prevMesh,this._mesh,e)},_updateHandler:function(e,t,r){var n,i=e.getData(),a=this._mesh,o=this,s=-1,u=e.coordinateSystem&&"cartesian3D"===e.coordinateSystem.type;u&&(n=e.coordinateSystem.model),a.seriesIndex=e.seriesIndex,a.off("mousemove"),a.off("mouseout"),a.on("mousemove",function(t){var l=t.vertexIndex+o._startDataIndex;l!==s&&(this.highlightOnMouseover&&(this.downplay(i,s),this.highlight(i,l),this._labelsBuilder.updateLabels([l])),u&&r.dispatchAction({type:"grid3DShowAxisPointer",value:[i.get(e.coordDimToDataDim("x")[0],l),i.get(e.coordDimToDataDim("y")[0],l),i.get(e.coordDimToDataDim("z")[0],l)],grid3DIndex:n.componentIndex})),a.dataIndex=l,s=l},this),a.on("mouseout",function(e){var t=e.vertexIndex+o._startDataIndex;this.highlightOnMouseover&&(this.downplay(i,t),this._labelsBuilder.updateLabels()),s=-1,a.dataIndex=-1,u&&r.dispatchAction({type:"grid3DHideAxisPointer",grid3DIndex:n.componentIndex})},this)},updateLayout:function(e,t,r){var n=e.getData();if(this._mesh){var i=this._mesh.geometry.attributes.position.value,a=n.getLayout("points");if(this.is2D)for(var o=0;o<a.length/2;o++){var s=3*o,u=2*o;i[s]=a[u],i[s+1]=a[u+1],i[s+2]=-10}else for(var o=0;o<a.length;o++)i[o]=a[o];this._mesh.geometry.dirty(),r.getZr().refresh()}},updateView:function(e){if(this._mesh){var t=new c.a;c.a.mul(t,e.viewMatrix,this._mesh.worldTransform),c.a.mul(t,e.projectionMatrix,t),this._mesh.updateNDCPosition(t,this.is2D,this._api)}},highlight:function(e,t){if(!(t>this._endDataIndex||t<this._startDataIndex)){var r=e.getItemModel(t),n=r.getModel("emphasis.itemStyle"),i=n.get("color"),a=n.get("opacity");if(null==i){var u=e.getItemVisual(t,"color");i=o.a.color.lift(u,-.4)}null==a&&(a=e.getItemVisual(t,"opacity"));var l=s.a.parseColor(i);l[3]*=a,this._mesh.geometry.attributes.color.set(t-this._startDataIndex,l),this._mesh.geometry.dirtyAttribute("color"),this._api.getZr().refresh()}},downplay:function(e,t){if(!(t>this._endDataIndex||t<this._startDataIndex)){var r=e.getItemVisual(t,"color"),n=e.getItemVisual(t,"opacity"),i=s.a.parseColor(r);i[3]*=n,this._mesh.geometry.attributes.color.set(t-this._startDataIndex,i),this._mesh.geometry.dirtyAttribute("color"),this._api.getZr().refresh()}},fadeOutAll:function(e){if(this._originalOpacity){for(var t=this._mesh.geometry,r=0;r<t.vertexCount;r++){var n=this._originalOpacity[r]*e;t.attributes.color.value[4*r+3]=n}t.dirtyAttribute("color"),this._api.getZr().refresh()}},fadeInAll:function(){this.fadeOutAll(1)},setPositionTexture:function(e){this._mesh&&this._setPositionTextureToMesh(this._mesh,e),this._positionTexture=e},removePositionTexture:function(){this._positionTexture=null,this._mesh&&this._setPositionTextureToMesh(this._mesh,null)},setSizeScale:function(e){if(e!==this._sizeScale){if(this._mesh){var t=this._mesh.material.get("u_Size");this._mesh.material.set("u_Size",t/this._sizeScale*e);var r=this._mesh.geometry.attributes;if(r.size.value)for(var n=0;n<r.size.value.length;n++)r.size.value[n]=r.size.value[n]/this._sizeScale*e}this._sizeScale=e}},_setPositionTextureToMesh:function(e,t){t&&e.material.set("positionTexture",t),e.material[t?"enableTexture":"disableTexture"]("positionTexture")},_getSymbolInfo:function(e,t,r){if(e.get("large")){var n,i,a=d.a.firstNotNull(e.get("symbolSize"),1);return a instanceof Array?(n=Math.max(a[0],a[1]),i=a[0]/a[1]):(n=a,i=1),{maxSize:a,type:e.get("symbol"),aspect:i}}for(var i,o=e.getData(),s=o.getItemVisual(0,"symbol")||"circle",n=0,u=t;u<r;u++){var l,a=o.getItemVisual(u,"symbolSize"),h=o.getItemVisual(u,"symbol");if(a instanceof Array)l=a[0]/a[1],n=Math.max(Math.max(a[0],a[1]),n);else{if(isNaN(a))return;l=1,n=Math.max(a,n)}s=h,i=l}return{maxSize:n,type:s,aspect:i}}},t.a=i},function(e,t){var r;r=function(){return this}();try{r=r||Function("return this")()||(0,eval)("this")}catch(e){"object"==typeof window&&(r=window)}e.exports=r},function(e,t,r){"use strict";var n=r(114),i=function(e){this._list=new n.a,this._map={},this._maxSize=e||10};i.prototype.setMaxSize=function(e){this._maxSize=e},i.prototype.put=function(e,t){if(!this._map.hasOwnProperty(e)){var r=this._list.length();if(r>=this._maxSize&&r>0){var n=this._list.head;this._list.remove(n),delete this._map[n.key]}var i=this._list.insert(t);i.key=e,this._map[e]=i}},i.prototype.get=function(e){var t=this._map[e];if(this._map.hasOwnProperty(e))return t!==this._list.tail&&(this._list.remove(t),this._list.insertEntry(t)),t.value},i.prototype.remove=function(e){var t=this._map[e];void 0!==t&&(delete this._map[e],this._list.remove(t))},i.prototype.clear=function(){this._list.clear(),this._map={}},t.a=i},function(e,t,r){"use strict";var n=r(20),i={};i.create=function(){var e=new n.a(2);return e[0]=0,e[1]=0,e},i.clone=function(e){var t=new n.a(2);return t[0]=e[0],t[1]=e[1],t},i.fromValues=function(e,t){var r=new n.a(2);return r[0]=e,r[1]=t,r},i.copy=function(e,t){return e[0]=t[0],e[1]=t[1],e},i.set=function(e,t,r){return e[0]=t,e[1]=r,e},i.add=function(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e},i.subtract=function(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e},i.sub=i.subtract,i.multiply=function(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e},i.mul=i.multiply,i.divide=function(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e},i.div=i.divide,i.min=function(e,t,r){return e[0]=Math.min(t[0],r[0]),e[1]=Math.min(t[1],r[1]),e},i.max=function(e,t,r){return e[0]=Math.max(t[0],r[0]),e[1]=Math.max(t[1],r[1]),e},i.scale=function(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e},i.scaleAndAdd=function(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e},i.distance=function(e,t){var r=t[0]-e[0],n=t[1]-e[1];return Math.sqrt(r*r+n*n)},i.dist=i.distance,i.squaredDistance=function(e,t){var r=t[0]-e[0],n=t[1]-e[1];return r*r+n*n},i.sqrDist=i.squaredDistance,i.length=function(e){var t=e[0],r=e[1];return Math.sqrt(t*t+r*r)},i.len=i.length,i.squaredLength=function(e){var t=e[0],r=e[1];return t*t+r*r},i.sqrLen=i.squaredLength,i.negate=function(e,t){return e[0]=-t[0],e[1]=-t[1],e},i.inverse=function(e,t){return e[0]=1/t[0],e[1]=1/t[1],e},i.normalize=function(e,t){var r=t[0],n=t[1],i=r*r+n*n;return i>0&&(i=1/Math.sqrt(i),e[0]=t[0]*i,e[1]=t[1]*i),e},i.dot=function(e,t){return e[0]*t[0]+e[1]*t[1]},i.cross=function(e,t,r){var n=t[0]*r[1]-t[1]*r[0];return e[0]=e[1]=0,e[2]=n,e},i.lerp=function(e,t,r,n){var i=t[0],a=t[1];return e[0]=i+n*(r[0]-i),e[1]=a+n*(r[1]-a),e},i.random=function(e,t){t=t||1;var r=2*GLMAT_RANDOM()*Math.PI;return e[0]=Math.cos(r)*t,e[1]=Math.sin(r)*t,e},i.transformMat2=function(e,t,r){var n=t[0],i=t[1];return e[0]=r[0]*n+r[2]*i,e[1]=r[1]*n+r[3]*i,e},i.transformMat2d=function(e,t,r){var n=t[0],i=t[1];return e[0]=r[0]*n+r[2]*i+r[4],e[1]=r[1]*n+r[3]*i+r[5],e},i.transformMat3=function(e,t,r){var n=t[0],i=t[1];return e[0]=r[0]*n+r[3]*i+r[6],e[1]=r[1]*n+r[4]*i+r[7],e},i.transformMat4=function(e,t,r){var n=t[0],i=t[1];return e[0]=r[0]*n+r[4]*i+r[12],e[1]=r[1]*n+r[5]*i+r[13],e},i.forEach=function(){var e=i.create();return function(t,r,n,i,a,o){var s,u;for(r||(r=2),n||(n=0),u=i?Math.min(i*r+n,t.length):t.length,s=n;s<u;s+=r)e[0]=t[s],e[1]=t[s+1],a(e,e,o),t[s]=e[0],t[s+1]=e[1];return t}}(),t.a=i},function(e,t,r){"use strict";t.a="@export clay.prez.vertex\nuniform mat4 WVP : WORLDVIEWPROJECTION;\nattribute vec3 pos : POSITION;\nattribute vec2 uv : TEXCOORD_0;\n@import clay.chunk.skinning_header\nvarying vec2 v_Texcoord;\nvoid main()\n{\n vec3 P = pos;\n#ifdef SKINNING\n @import clay.chunk.skin_matrix\n P = (skinMatrixWS * vec4(pos, 1.0)).xyz;\n#endif\n gl_Position = WVP * vec4(P, 1.0);\n v_Texcoord = uv;\n}\n@end\n@export clay.prez.fragment\nuniform sampler2D alphaMap;\nuniform float alphaCutoff: 0.0;\nvarying vec2 v_Texcoord;\nvoid main()\n{\n if (alphaCutoff > 0.0) {\n if (texture2D(alphaMap, v_Texcoord).a <= alphaCutoff) {\n discard;\n }\n }\n gl_FragColor = vec4(0.0,0.0,0.0,1.0);\n}\n@end"},function(e,t,r){"use strict";var n=r(35),i=r(11),a=n.a.extend({material:null,geometry:null,mode:i.a.TRIANGLES,_renderInfo:null},{__program:null,lightGroup:0,renderOrder:0,culling:!0,cullFace:i.a.BACK,frontFace:i.a.CCW,frustumCulling:!0,receiveShadow:!0,castShadow:!0,ignorePicking:!1,ignorePreZ:!1,ignoreGBuffer:!1,isRenderable:function(){return this.geometry&&this.material&&this.material.shader&&!this.invisible&&this.geometry.vertexCount>0},beforeRender:function(e){},afterRender:function(e,t){},getBoundingBox:function(e,t){return t=n.a.prototype.getBoundingBox.call(this,e,t),this.geometry&&this.geometry.boundingBox&&t.union(this.geometry.boundingBox),t},clone:function(){var e=["castShadow","receiveShadow","mode","culling","cullFace","frontFace","frustumCulling","renderOrder","lineWidth","ignorePicking","ignorePreZ","ignoreGBuffer"];return function(){var t=n.a.prototype.clone.call(this);t.geometry=this.geometry,t.material=this.material;for(var r=0;r<e.length;r++){var i=e[r];t[i]!==this[i]&&(t[i]=this[i])}return t}}()});a.POINTS=i.a.POINTS,a.LINES=i.a.LINES,a.LINE_LOOP=i.a.LINE_LOOP,a.LINE_STRIP=i.a.LINE_STRIP,a.TRIANGLES=i.a.TRIANGLES,a.TRIANGLE_STRIP=i.a.TRIANGLE_STRIP,a.TRIANGLE_FAN=i.a.TRIANGLE_FAN,a.BACK=i.a.BACK,a.FRONT=i.a.FRONT,a.FRONT_AND_BACK=i.a.FRONT_AND_BACK,a.CW=i.a.CW,a.CCW=i.a.CCW,t.a=a},function(e,t,r){"use strict";var n={};n.isPowerOfTwo=function(e){return 0==(e&e-1)},n.nextPowerOfTwo=function(e){return e--,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e},n.nearestPowerOfTwo=function(e){return Math.pow(2,Math.round(Math.log(e)/Math.LN2))},t.a=n},function(e,t,r){"use strict";var n=r(3),i=r(21),a=r(12),o=r(33),s=function(e,t){this.normal=e||new n.a(0,1,0),this.distance=t||0};s.prototype={constructor:s,distanceToPoint:function(e){return a.a.dot(e.array,this.normal.array)-this.distance},projectPoint:function(e,t){t||(t=new n.a);var r=this.distanceToPoint(e);return a.a.scaleAndAdd(t.array,e.array,this.normal.array,-r),t._dirty=!0,t},normalize:function(){var e=1/a.a.len(this.normal.array);a.a.scale(this.normal.array,e),this.distance*=e},intersectFrustum:function(e){for(var t=e.vertices,r=this.normal.array,n=a.a.dot(t[0].array,r)>this.distance,i=1;i<8;i++)if(a.a.dot(t[i].array,r)>this.distance!=n)return!0},intersectLine:function(){var e=a.a.create();return function(t,r,i){var o=this.distanceToPoint(t),s=this.distanceToPoint(r);if(o>0&&s>0||o<0&&s<0)return null;var u=this.normal.array,l=this.distance,h=t.array;a.a.sub(e,r.array,t.array),a.a.normalize(e,e);var c=a.a.dot(u,e);if(0===c)return null;i||(i=new n.a);var d=(a.a.dot(u,h)-l)/c;return a.a.scaleAndAdd(i.array,h,e,-d),i._dirty=!0,i}}(),applyTransform:function(){var e=i.a.create(),t=o.a.create(),r=o.a.create();return r[3]=1,function(n){n=n.array,a.a.scale(r,this.normal.array,this.distance),o.a.transformMat4(r,r,n),this.distance=a.a.dot(r,this.normal.array),i.a.invert(e,n),i.a.transpose(e,e),t[3]=0,a.a.copy(t,this.normal.array),o.a.transformMat4(t,t,e),a.a.copy(this.normal.array,t)}}(),copy:function(e){a.a.copy(this.normal.array,e.normal.array),this.normal._dirty=!0,this.distance=e.distance},clone:function(){var e=new s;return e.copy(this),e}},t.a=s},function(e,t,r){"use strict";var n=r(42);t.a=n.a},function(e,t,r){"use strict";function n(e,t,r){h.identity();var n=new a.a({widthSegments:t,heightSegments:r});switch(e){case"px":o.a.translate(h,h,s.a.POSITIVE_X),o.a.rotateY(h,h,Math.PI/2);break;case"nx":o.a.translate(h,h,s.a.NEGATIVE_X),o.a.rotateY(h,h,-Math.PI/2);break;case"py":o.a.translate(h,h,s.a.POSITIVE_Y),o.a.rotateX(h,h,-Math.PI/2);break;case"ny":o.a.translate(h,h,s.a.NEGATIVE_Y),o.a.rotateX(h,h,Math.PI/2);break;case"pz":o.a.translate(h,h,s.a.POSITIVE_Z);break;case"nz":o.a.translate(h,h,s.a.NEGATIVE_Z),o.a.rotateY(h,h,Math.PI)}return n.applyTransform(h),n}var i=r(15),a=r(43),o=r(9),s=r(3),u=r(18),l=r(14),h=new o.a,c=i.a.extend({dynamic:!1,widthSegments:1,heightSegments:1,depthSegments:1,inside:!1},function(){this.build()},{build:function(){var e={px:n("px",this.depthSegments,this.heightSegments),nx:n("nx",this.depthSegments,this.heightSegments),py:n("py",this.widthSegments,this.depthSegments),ny:n("ny",this.widthSegments,this.depthSegments),pz:n("pz",this.widthSegments,this.heightSegments),nz:n("nz",this.widthSegments,this.heightSegments)},t=["position","texcoord0","normal"],r=0,i=0;for(var a in e)r+=e[a].vertexCount,i+=e[a].indices.length;for(var o=0;o<t.length;o++)this.attributes[t[o]].init(r);this.indices=new l.a.Uint16Array(i);var s=0,h=0;for(var a in e){for(var c=e[a],o=0;o<t.length;o++)for(var d=t[o],f=c.attributes[d].value,p=c.attributes[d].size,m="normal"===d,g=0;g<f.length;g++){var _=f[g];this.inside&&m&&(_=-_),this.attributes[d].value[g+p*h]=_}for(var v=c.indices.length,g=0;g<c.indices.length;g++)this.indices[g+s]=h+c.indices[this.inside?v-g-1:g];s+=c.indices.length,h+=c.vertexCount}this.boundingBox=new u.a,this.boundingBox.max.set(1,1,1),this.boundingBox.min.set(-1,-1,-1)}});t.a=c},function(e,t,r){"use strict";var n=r(5),i=r(27),a=r(4),o=r(10),s=r(16),u=r(19),l=r(8),h=r(42),c=r(36),d=r(62),f=r(14),p=r(61),m=r(127),g=r(128),_={},v=["px","nx","py","ny","pz","nz"];_.prefilterEnvironmentMap=function(e,t,r,s,m){m&&s||(s=_.generateNormalDistribution(),m=_.integrateBRDF(e,s)),r=r||{};var y=r.width||64,x=r.height||64,T=r.type||t.type,b=new i.a({width:y,height:x,type:T,flipY:!1,mipmaps:[]});b.isPowerOfTwo()||console.warn("Width and height must be power of two to enable mipmap.");var w=Math.min(y,x),E=Math.log(w)/Math.log(2)+1,S=new u.a({shader:new l.a({vertex:l.a.source("clay.skybox.vertex"),fragment:g.a})});S.set("normalDistribution",s),r.encodeRGBM&&S.define("fragment","RGBM_ENCODE"),r.decodeRGBM&&S.define("fragment","RGBM_DECODE");var A,M=new c.a;if("texture2D"===t.textureType){var C=new i.a({width:y,height:x,type:T===a.a.FLOAT?a.a.HALF_FLOAT:T});p.a.panoramaToCubeMap(e,t,C,{encodeRGBM:r.decodeRGBM}),t=C}A=new h.a({scene:M,material:S}),A.material.set("environmentMap",t);var L=new d.a({texture:b});r.encodeRGBM&&(T=b.type=a.a.UNSIGNED_BYTE);for(var D=new n.a({width:y,height:x,type:T}),N=new o.a({depthBuffer:!1}),R=f.a[T===a.a.UNSIGNED_BYTE?"Uint8Array":"Float32Array"],P=0;P<E;P++){b.mipmaps[P]={pixels:{}},A.material.set("roughness",P/(E-1));for(var I=D.width,O=2*Math.atan(I/(I-.5))/Math.PI*180,F=0;F<v.length;F++){var B=new R(D.width*D.height*4);N.attach(D),N.bind(e);var U=L.getCamera(v[F]);U.fov=O,e.render(M,U),e.gl.readPixels(0,0,D.width,D.height,a.a.RGBA,T,B),N.unbind(e),b.mipmaps[P].pixels[v[F]]=B}D.width/=2,D.height/=2,D.dirty()}return N.dispose(e),D.dispose(e),A.dispose(e),s.dispose(e),{environmentMap:b,brdfLookup:m,normalDistribution:s,maxMipmapLevel:E}},_.integrateBRDF=function(e,t){t=t||_.generateNormalDistribution();var r=new o.a({depthBuffer:!1}),i=new s.a({fragment:m.a}),u=new n.a({width:512,height:256,type:a.a.HALF_FLOAT,wrapS:a.a.CLAMP_TO_EDGE,wrapT:a.a.CLAMP_TO_EDGE,minFilter:a.a.NEAREST,magFilter:a.a.NEAREST,useMipmap:!1});return i.setUniform("normalDistribution",t),i.setUniform("viewportSize",[512,256]),i.attachOutput(u),i.render(e,r),r.dispose(e),u},_.generateNormalDistribution=function(e,t){for(var e=e||256,t=t||1024,r=new n.a({width:e,height:t,type:a.a.FLOAT,minFilter:a.a.NEAREST,magFilter:a.a.NEAREST,wrapS:a.a.CLAMP_TO_EDGE,wrapT:a.a.CLAMP_TO_EDGE,useMipmap:!1}),i=new Float32Array(t*e*4),o=[],s=0;s<e;s++){for(var u=s/e,l=u*u,h=0;h<t;h++){var c=(h<<16|h>>>16)>>>0;c=((1431655765&c)<<1|(2863311530&c)>>>1)>>>0,c=((858993459&c)<<2|(3435973836&c)>>>2)>>>0,c=((252645135&c)<<4|(4042322160&c)>>>4)>>>0,c=(((16711935&c)<<8|(4278255360&c)>>>8)>>>0)/4294967296;var d=Math.sqrt((1-c)/(1+(l*l-1)*c));o[h]=d}for(var h=0;h<t;h++){var f=4*(h*e+s),d=o[h],p=Math.sqrt(1-d*d),m=h/t,g=2*Math.PI*m;i[f]=p*Math.cos(g),i[f+1]=d,i[f+2]=p*Math.sin(g),i[f+3]=1}}return r.pixels=i,r},t.a=_},function(e,t,r){"use strict";var n=r(20),i={};i.create=function(){var e=new n.a(4);return e[0]=1,e[1]=0,e[2]=0,e[3]=1,e},i.clone=function(e){var t=new n.a(4);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t},i.copy=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e},i.identity=function(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=1,e},i.transpose=function(e,t){if(e===t){var r=t[1];e[1]=t[2],e[2]=r}else e[0]=t[0],e[1]=t[2],e[2]=t[1],e[3]=t[3];return e},i.invert=function(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=r*a-i*n;return o?(o=1/o,e[0]=a*o,e[1]=-n*o,e[2]=-i*o,e[3]=r*o,e):null},i.adjoint=function(e,t){var r=t[0];return e[0]=t[3],e[1]=-t[1],e[2]=-t[2],e[3]=r,e},i.determinant=function(e){return e[0]*e[3]-e[2]*e[1]},i.multiply=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=r[0],u=r[1],l=r[2],h=r[3];return e[0]=n*s+a*u,e[1]=i*s+o*u,e[2]=n*l+a*h,e[3]=i*l+o*h,e},i.mul=i.multiply,i.rotate=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u+a*s,e[1]=i*u+o*s,e[2]=n*-s+a*u,e[3]=i*-s+o*u,e},i.scale=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=r[0],u=r[1];return e[0]=n*s,e[1]=i*s,e[2]=a*u,e[3]=o*u,e},i.frob=function(e){return Math.sqrt(Math.pow(e[0],2)+Math.pow(e[1],2)+Math.pow(e[2],2)+Math.pow(e[3],2))},i.LDU=function(e,t,r,n){return e[2]=n[2]/n[0],r[0]=n[0],r[1]=n[1],r[3]=n[3]-e[2]*r[1],[e,t,r]},t.a=i},function(e,t,r){"use strict";var n=r(20),i={};i.create=function(){var e=new n.a(6);return e[0]=1,e[1]=0,e[2]=0,e[3]=1,e[4]=0,e[5]=0,e},i.clone=function(e){var t=new n.a(6);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t},i.copy=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e},i.identity=function(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=1,e[4]=0,e[5]=0,e},i.invert=function(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=r*a-n*i;return u?(u=1/u,e[0]=a*u,e[1]=-n*u,e[2]=-i*u,e[3]=r*u,e[4]=(i*s-a*o)*u,e[5]=(n*o-r*s)*u,e):null},i.determinant=function(e){return e[0]*e[3]-e[1]*e[2]},i.multiply=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],l=r[0],h=r[1],c=r[2],d=r[3],f=r[4],p=r[5];return e[0]=n*l+a*h,e[1]=i*l+o*h,e[2]=n*c+a*d,e[3]=i*c+o*d,e[4]=n*f+a*p+s,e[5]=i*f+o*p+u,e},i.mul=i.multiply,i.rotate=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],l=Math.sin(r),h=Math.cos(r);return e[0]=n*h+a*l,e[1]=i*h+o*l,e[2]=n*-l+a*h,e[3]=i*-l+o*h,e[4]=s,e[5]=u,e},i.scale=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],l=r[0],h=r[1];return e[0]=n*l,e[1]=i*l,e[2]=a*h,e[3]=o*h,e[4]=s,e[5]=u,e},i.translate=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],l=r[0],h=r[1];return e[0]=n,e[1]=i,e[2]=a,e[3]=o,e[4]=n*l+a*h+s,e[5]=i*l+o*h+u,e},i.frob=function(e){return Math.sqrt(Math.pow(e[0],2)+Math.pow(e[1],2)+Math.pow(e[2],2)+Math.pow(e[3],2)+Math.pow(e[4],2)+Math.pow(e[5],2)+1)},t.a=i},function(e,t){var r="undefined"!=typeof window&&(window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.msRequestAnimationFrame&&window.msRequestAnimationFrame.bind(window)||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame)||function(e){setTimeout(e,16)};e.exports=r},function(e,t,r){"use strict";function n(e,t,r,n,i,a,o){this._zr=e,this._x=0,this._y=0,this._rowHeight=0,this.width=n,this.height=i,this.offsetX=t,this.offsetY=r,this.dpr=o,this.gap=a}function i(e){e=e||{},e.width=e.width||512,e.height=e.height||512,e.devicePixelRatio=e.devicePixelRatio||1,e.gap=null==e.gap?2:e.gap;var t=document.createElement("canvas");t.width=e.width*e.devicePixelRatio,t.height=e.height*e.devicePixelRatio,this._canvas=t,this._texture=new s.a({image:t,flipY:!1});var r=this;this._zr=o.a.zrender.init(t);var i=this._zr.refreshImmediately;this._zr.refreshImmediately=function(){i.call(this),r._texture.dirty(),r.onupdate&&r.onupdate()},this._dpr=e.devicePixelRatio,this._coords={},this.onupdate=e.onupdate,this._gap=e.gap,this._textureAtlasNodes=[new n(this._zr,0,0,e.width,e.height,this._gap,this._dpr)],this._nodeWidth=e.width,this._nodeHeight=e.height,this._currentNodeIdx=0}var a=r(0),o=r.n(a),s=r(5);n.prototype={constructor:n,clear:function(){this._x=0,this._y=0,this._rowHeight=0},add:function(e,t,r){var n=e.getBoundingRect();null==t&&(t=n.width),null==r&&(r=n.height),t*=this.dpr,r*=this.dpr,this._fitElement(e,t,r);var i=this._x,a=this._y,o=this.width*this.dpr,s=this.height*this.dpr,u=this.gap;if(i+t+u>o&&(i=this._x=0,a+=this._rowHeight+u,this._y=a,this._rowHeight=0),this._x+=t+u,this._rowHeight=Math.max(this._rowHeight,r),a+r+u>s)return null;e.position[0]+=this.offsetX*this.dpr+i,e.position[1]+=this.offsetY*this.dpr+a,this._zr.add(e);var l=[this.offsetX/this.width,this.offsetY/this.height];return[[i/o+l[0],a/s+l[1]],[(i+t)/o+l[0],(a+r)/s+l[1]]]},_fitElement:function(e,t,r){var n=e.getBoundingRect(),i=t/n.width,a=r/n.height;e.position=[-n.x*i,-n.y*a],e.scale=[i,a],e.update()}},i.prototype={clear:function(){for(var e=0;e<this._textureAtlasNodes.length;e++)this._textureAtlasNodes[e].clear();this._currentNodeIdx=0,this._zr.clear(),this._coords={}},getWidth:function(){return this._width},getHeight:function(){return this._height},getTexture:function(){return this._texture},getDevicePixelRatio:function(){return this._dpr},getZr:function(){return this._zr},_getCurrentNode:function(){return this._textureAtlasNodes[this._currentNodeIdx]},_expand:function(){if(this._currentNodeIdx++,this._textureAtlasNodes[this._currentNodeIdx])return this._textureAtlasNodes[this._currentNodeIdx];var e=4096/this._dpr,t=this._textureAtlasNodes,r=t.length,i=r*this._nodeWidth%e,a=Math.floor(r*this._nodeWidth/e)*this._nodeHeight;if(!(a>=e)){var o=(i+this._nodeWidth)*this._dpr,s=(a+this._nodeHeight)*this._dpr;try{this._zr.resize({width:o,height:s})}catch(e){this._canvas.width=o,this._canvas.height=s}var u=new n(this._zr,i,a,this._nodeWidth,this._nodeHeight,this._gap,this._dpr);return this._textureAtlasNodes.push(u),u}},add:function(e,t,r){if(this._coords[e.id])return this._coords[e.id];var n=this._getCurrentNode().add(e,t,r);if(!n){var i=this._expand();if(!i)return;n=i.add(e,t,r)}return this._coords[e.id]=n,n},getCoordsScale:function(){var e=this._dpr;return[this._nodeWidth/this._canvas.width*e,this._nodeHeight/this._canvas.height*e]},getCoords:function(e){return this._coords[e]}},t.a=i},function(e,t,r){function n(e,t,r,n){r<0&&(e+=r,r=-r),n<0&&(t+=n,n=-n),this.x=e,this.y=t,this.width=r,this.height=n}var i=r(83),a=r(84),o=i.applyTransform,s=Math.min,u=Math.max;n.prototype={constructor:n,union:function(e){var t=s(e.x,this.x),r=s(e.y,this.y);this.width=u(e.x+e.width,this.x+this.width)-t,this.height=u(e.y+e.height,this.y+this.height)-r,this.x=t,this.y=r},applyTransform:function(){var e=[],t=[],r=[],n=[];return function(i){if(i){e[0]=r[0]=this.x,e[1]=n[1]=this.y,t[0]=n[0]=this.x+this.width,t[1]=r[1]=this.y+this.height,o(e,e,i),o(t,t,i),o(r,r,i),o(n,n,i),this.x=s(e[0],t[0],r[0],n[0]),this.y=s(e[1],t[1],r[1],n[1]);var a=u(e[0],t[0],r[0],n[0]),l=u(e[1],t[1],r[1],n[1]);this.width=a-this.x,this.height=l-this.y}}}(),calculateTransform:function(e){var t=this,r=e.width/t.width,n=e.height/t.height,i=a.create();return a.translate(i,i,[-t.x,-t.y]),a.scale(i,i,[r,n]),a.translate(i,i,[e.x,e.y]),i},intersect:function(e){if(!e)return!1;e instanceof n||(e=n.create(e));var t=this,r=t.x,i=t.x+t.width,a=t.y,o=t.y+t.height,s=e.x,u=e.x+e.width,l=e.y,h=e.y+e.height;return!(i<s||u<r||o<l||h<a)},contain:function(e,t){var r=this;return e>=r.x&&e<=r.x+r.width&&t>=r.y&&t<=r.y+r.height},clone:function(){return new n(this.x,this.y,this.width,this.height)},copy:function(e){this.x=e.x,this.y=e.y,this.width=e.width,this.height=e.height},plain:function(){return{x:this.x,y:this.y,width:this.width,height:this.height}}},n.create=function(e){return new n(e.x,e.y,e.width,e.height)};var l=n;e.exports=l},function(e,t){function r(e,t){var r=new w(2);return null==e&&(e=0),null==t&&(t=0),r[0]=e,r[1]=t,r}function n(e,t){return e[0]=t[0],e[1]=t[1],e}function i(e){var t=new w(2);return t[0]=e[0],t[1]=e[1],t}function a(e,t,r){return e[0]=t,e[1]=r,e}function o(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e}function s(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e}function u(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e}function l(e){return Math.sqrt(h(e))}function h(e){return e[0]*e[0]+e[1]*e[1]}function c(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e}function d(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e}function f(e,t){return e[0]*t[0]+e[1]*t[1]}function p(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e}function m(e,t){var r=l(t);return 0===r?(e[0]=0,e[1]=0):(e[0]=t[0]/r,e[1]=t[1]/r),e}function g(e,t){return Math.sqrt((e[0]-t[0])*(e[0]-t[0])+(e[1]-t[1])*(e[1]-t[1]))}function _(e,t){return(e[0]-t[0])*(e[0]-t[0])+(e[1]-t[1])*(e[1]-t[1])}function v(e,t){return e[0]=-t[0],e[1]=-t[1],e}function y(e,t,r,n){return e[0]=t[0]+n*(r[0]-t[0]),e[1]=t[1]+n*(r[1]-t[1]),e}function x(e,t,r){var n=t[0],i=t[1];return e[0]=r[0]*n+r[2]*i+r[4],e[1]=r[1]*n+r[3]*i+r[5],e}function T(e,t,r){return e[0]=Math.min(t[0],r[0]),e[1]=Math.min(t[1],r[1]),e}function b(e,t,r){return e[0]=Math.max(t[0],r[0]),e[1]=Math.max(t[1],r[1]),e}var w="undefined"==typeof Float32Array?Array:Float32Array,E=l,S=h,A=g,M=_;t.create=r,t.copy=n,t.clone=i,t.set=a,t.add=o,t.scaleAndAdd=s,t.sub=u,t.len=l,t.length=E,t.lenSquare=h,t.lengthSquare=S,t.mul=c,t.div=d,t.dot=f,t.scale=p,t.normalize=m,t.distance=g,t.dist=A,t.distanceSquare=_,t.distSquare=M,t.negate=v,t.lerp=y,t.applyTransform=x,t.min=T,t.max=b},function(e,t){function r(){var e=new c(6);return n(e),e}function n(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=1,e[4]=0,e[5]=0,e}function i(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e}function a(e,t,r){var n=t[0]*r[0]+t[2]*r[1],i=t[1]*r[0]+t[3]*r[1],a=t[0]*r[2]+t[2]*r[3],o=t[1]*r[2]+t[3]*r[3],s=t[0]*r[4]+t[2]*r[5]+t[4],u=t[1]*r[4]+t[3]*r[5]+t[5];return e[0]=n,e[1]=i,e[2]=a,e[3]=o,e[4]=s,e[5]=u,e}function o(e,t,r){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4]+r[0],e[5]=t[5]+r[1],e}function s(e,t,r){var n=t[0],i=t[2],a=t[4],o=t[1],s=t[3],u=t[5],l=Math.sin(r),h=Math.cos(r);return e[0]=n*h+o*l,e[1]=-n*l+o*h,e[2]=i*h+s*l,e[3]=-i*l+h*s,e[4]=h*a+l*u,e[5]=h*u-l*a,e}function u(e,t,r){var n=r[0],i=r[1];return e[0]=t[0]*n,e[1]=t[1]*i,e[2]=t[2]*n,e[3]=t[3]*i,e[4]=t[4]*n,e[5]=t[5]*i,e}function l(e,t){var r=t[0],n=t[2],i=t[4],a=t[1],o=t[3],s=t[5],u=r*o-a*n;return u?(u=1/u,e[0]=o*u,e[1]=-a*u,e[2]=-n*u,e[3]=r*u,e[4]=(n*s-o*i)*u,e[5]=(a*i-r*s)*u,e):null}function h(e){var t=r();return i(t,e),t}var c="undefined"==typeof Float32Array?Array:Float32Array;t.create=r,t.identity=n,t.copy=i,t.mul=a,t.translate=o,t.rotate=s,t.scale=u,t.invert=l,t.clone=h},function(e,t,r){function n(e){return e.replace(/^\s+/,"").replace(/\s+$/,"")}function i(e,t,r,n){var i=t[1]-t[0],a=r[1]-r[0];if(0===i)return 0===a?r[0]:(r[0]+r[1])/2;if(n)if(i>0){if(e<=t[0])return r[0];if(e>=t[1])return r[1]}else{if(e>=t[0])return r[0];if(e<=t[1])return r[1]}else{if(e===t[0])return r[0];if(e===t[1])return r[1]}return(e-t[0])/i*a+r[0]}function a(e,t){switch(e){case"center":case"middle":e="50%";break;case"left":case"top":e="0%";break;case"right":case"bottom":e="100%"}return"string"==typeof e?n(e).match(/%$/)?parseFloat(e)/100*t:parseFloat(e):null==e?NaN:+e}function o(e,t,r){return null==t&&(t=10),t=Math.min(Math.max(0,t),20),e=(+e).toFixed(t),r?e:+e}function s(e){return e.sort(function(e,t){return e-t}),e}function u(e){if(e=+e,isNaN(e))return 0;for(var t=1,r=0;Math.round(e*t)/t!==e;)t*=10,r++;return r}function l(e){var t=e.toString(),r=t.indexOf("e");if(r>0){var n=+t.slice(r+1);return n<0?-n:0}var i=t.indexOf(".");return i<0?0:t.length-1-i}function h(e,t){var r=Math.log,n=Math.LN10,i=Math.floor(r(e[1]-e[0])/n),a=Math.round(r(Math.abs(t[1]-t[0]))/n),o=Math.min(Math.max(-i+a,0),20);return isFinite(o)?o:20}function c(e,t,r){if(!e[t])return 0;var n=x.reduce(e,function(e,t){return e+(isNaN(t)?0:t)},0);if(0===n)return 0;for(var i=Math.pow(10,r),a=x.map(e,function(e){return(isNaN(e)?0:e)/n*i*100}),o=100*i,s=x.map(a,function(e){return Math.floor(e)}),u=x.reduce(s,function(e,t){return e+t},0),l=x.map(a,function(e,t){return e-s[t]});u<o;){for(var h=Number.NEGATIVE_INFINITY,c=null,d=0,f=l.length;d<f;++d)l[d]>h&&(h=l[d],c=d);++s[c],l[c]=0,++u}return s[t]/i}function d(e){var t=2*Math.PI;return(e%t+t)%t}function f(e){return e>-T&&e<T}function p(e){if(e instanceof Date)return e;if("string"==typeof e){var t=b.exec(e);if(!t)return new Date(NaN);if(t[8]){var r=+t[4]||0;return"Z"!==t[8].toUpperCase()&&(r-=t[8].slice(0,3)),new Date(Date.UTC(+t[1],+(t[2]||1)-1,+t[3]||1,r,+(t[5]||0),+t[6]||0,+t[7]||0))}return new Date(+t[1],+(t[2]||1)-1,+t[3]||1,+t[4]||0,+(t[5]||0),+t[6]||0,+t[7]||0)}return null==e?new Date(NaN):new Date(Math.round(e))}function m(e){return Math.pow(10,g(e))}function g(e){return Math.floor(Math.log(e)/Math.LN10)}function _(e,t){var r,n=g(e),i=Math.pow(10,n),a=e/i;return r=t?a<1.5?1:a<2.5?2:a<4?3:a<7?5:10:a<1?1:a<2?2:a<3?3:a<5?5:10,e=r*i,n>=-20?+e.toFixed(n<0?-n:0):e}function v(e){function t(e,r,n){return e.interval[n]<r.interval[n]||e.interval[n]===r.interval[n]&&(e.close[n]-r.close[n]==(n?-1:1)||!n&&t(e,r,1))}e.sort(function(e,r){return t(e,r,0)?-1:1});for(var r=-1/0,n=1,i=0;i<e.length;){for(var a=e[i].interval,o=e[i].close,s=0;s<2;s++)a[s]<=r&&(a[s]=r,o[s]=s?1:1-n),r=a[s],n=o[s];a[0]===a[1]&&o[0]*o[1]!=1?e.splice(i,1):i++}return e}function y(e){return e-parseFloat(e)>=0}var x=r(13),T=1e-4,b=/^(?:(\d{4})(?:[-\/](\d{1,2})(?:[-\/](\d{1,2})(?:[T ](\d{1,2})(?::(\d\d)(?::(\d\d)(?:[.,](\d+))?)?)?(Z|[\+\-]\d\d:?\d\d)?)?)?)?)?$/;t.linearMap=i,t.parsePercent=a,t.round=o,t.asc=s,t.getPrecision=u,t.getPrecisionSafe=l,t.getPixelPrecision=h,t.getPercentWithPrecision=c,t.MAX_SAFE_INTEGER=9007199254740991,t.remRadian=d,t.isRadianAroundZero=f,t.parseDate=p,t.quantity=m,t.nice=_,t.reformIntervals=v,t.isNumeric=y},function(e,t,r){"use strict";function n(e){u.a.defaultsWithPropList(e,h,c),i(e);for(var t="",r=0;r<c.length;r++){t+=e[c[r]].toString()}return t}function i(e){var t=a(e.width,e.height);e.format===s.a.DEPTH_COMPONENT&&(e.useMipmap=!1),t&&e.useMipmap||(e.minFilter==s.a.NEAREST_MIPMAP_NEAREST||e.minFilter==s.a.NEAREST_MIPMAP_LINEAR?e.minFilter=s.a.NEAREST:e.minFilter!=s.a.LINEAR_MIPMAP_LINEAR&&e.minFilter!=s.a.LINEAR_MIPMAP_NEAREST||(e.minFilter=s.a.LINEAR)),t||(e.wrapS=s.a.CLAMP_TO_EDGE,e.wrapT=s.a.CLAMP_TO_EDGE)}function a(e,t){return 0==(e&e-1)&&0==(t&t-1)}var o=r(5),s=r(11),u=r(23),l=function(){this._pool={},this._allocatedTextures=[]};l.prototype={constructor:l,get:function(e){var t=n(e);this._pool.hasOwnProperty(t)||(this._pool[t]=[]);var r=this._pool[t];if(!r.length){var i=new o.a(e);return this._allocatedTextures.push(i),i}return r.pop()},put:function(e){var t=n(e);this._pool.hasOwnProperty(t)||(this._pool[t]=[]),this._pool[t].push(e)},clear:function(e){for(var t=0;t<this._allocatedTextures.length;t++)this._allocatedTextures[t].dispose(e);this._pool={},this._allocatedTextures=[]}};var h={width:512,height:512,type:s.a.UNSIGNED_BYTE,format:s.a.RGBA,wrapS:s.a.CLAMP_TO_EDGE,wrapT:s.a.CLAMP_TO_EDGE,minFilter:s.a.LINEAR_MIPMAP_LINEAR,magFilter:s.a.LINEAR,useMipmap:!0,anisotropic:1,flipY:!0,unpackAlignment:4,premultiplyAlpha:!1},c=Object.keys(h);t.a=l},function(e,t,r){"use strict";t.a="@export clay.compositor.kernel.gaussian_9\nfloat gaussianKernel[9];\ngaussianKernel[0] = 0.07;\ngaussianKernel[1] = 0.09;\ngaussianKernel[2] = 0.12;\ngaussianKernel[3] = 0.14;\ngaussianKernel[4] = 0.16;\ngaussianKernel[5] = 0.14;\ngaussianKernel[6] = 0.12;\ngaussianKernel[7] = 0.09;\ngaussianKernel[8] = 0.07;\n@end\n@export clay.compositor.kernel.gaussian_13\nfloat gaussianKernel[13];\ngaussianKernel[0] = 0.02;\ngaussianKernel[1] = 0.03;\ngaussianKernel[2] = 0.06;\ngaussianKernel[3] = 0.08;\ngaussianKernel[4] = 0.11;\ngaussianKernel[5] = 0.13;\ngaussianKernel[6] = 0.14;\ngaussianKernel[7] = 0.13;\ngaussianKernel[8] = 0.11;\ngaussianKernel[9] = 0.08;\ngaussianKernel[10] = 0.06;\ngaussianKernel[11] = 0.03;\ngaussianKernel[12] = 0.02;\n@end\n@export clay.compositor.gaussian_blur\n#define SHADER_NAME gaussian_blur\nuniform sampler2D texture;varying vec2 v_Texcoord;\nuniform float blurSize : 2.0;\nuniform vec2 textureSize : [512.0, 512.0];\nuniform float blurDir : 0.0;\n@import clay.util.rgbm\n@import clay.util.clamp_sample\nvoid main (void)\n{\n @import clay.compositor.kernel.gaussian_9\n vec2 off = blurSize / textureSize;\n off *= vec2(1.0 - blurDir, blurDir);\n vec4 sum = vec4(0.0);\n float weightAll = 0.0;\n for (int i = 0; i < 9; i++) {\n float w = gaussianKernel[i];\n vec4 texel = decodeHDR(clampSample(texture, v_Texcoord + float(i - 4) * off));\n sum += texel * w;\n weightAll += w;\n }\n gl_FragColor = encodeHDR(sum / max(weightAll, 0.01));\n}\n@end\n"},function(e,t,r){"use strict";t.a="\n@export clay.compositor.lut\nvarying vec2 v_Texcoord;\nuniform sampler2D texture;\nuniform sampler2D lookup;\nvoid main()\n{\n vec4 tex = texture2D(texture, v_Texcoord);\n float blueColor = tex.b * 63.0;\n vec2 quad1;\n quad1.y = floor(floor(blueColor) / 8.0);\n quad1.x = floor(blueColor) - (quad1.y * 8.0);\n vec2 quad2;\n quad2.y = floor(ceil(blueColor) / 8.0);\n quad2.x = ceil(blueColor) - (quad2.y * 8.0);\n vec2 texPos1;\n texPos1.x = (quad1.x * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * tex.r);\n texPos1.y = (quad1.y * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * tex.g);\n vec2 texPos2;\n texPos2.x = (quad2.x * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * tex.r);\n texPos2.y = (quad2.y * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * tex.g);\n vec4 newColor1 = texture2D(lookup, texPos1);\n vec4 newColor2 = texture2D(lookup, texPos2);\n vec4 newColor = mix(newColor1, newColor2, fract(blueColor));\n gl_FragColor = vec4(newColor.rgb, tex.w);\n}\n@end"},function(e,t,r){"use strict";t.a="@export clay.compositor.output\n#define OUTPUT_ALPHA\nvarying vec2 v_Texcoord;\nuniform sampler2D texture;\n@import clay.util.rgbm\nvoid main()\n{\n vec4 tex = decodeHDR(texture2D(texture, v_Texcoord));\n gl_FragColor.rgb = tex.rgb;\n#ifdef OUTPUT_ALPHA\n gl_FragColor.a = tex.a;\n#else\n gl_FragColor.a = 1.0;\n#endif\n gl_FragColor = encodeHDR(gl_FragColor);\n#ifdef PREMULTIPLY_ALPHA\n gl_FragColor.rgb *= gl_FragColor.a;\n#endif\n}\n@end"},function(e,t,r){"use strict";t.a="@export clay.compositor.bright\nuniform sampler2D texture;\nuniform float threshold : 1;\nuniform float scale : 1.0;\nuniform vec2 textureSize: [512, 512];\nvarying vec2 v_Texcoord;\nconst vec3 lumWeight = vec3(0.2125, 0.7154, 0.0721);\n@import clay.util.rgbm\nvec4 median(vec4 a, vec4 b, vec4 c)\n{\n return a + b + c - min(min(a, b), c) - max(max(a, b), c);\n}\nvoid main()\n{\n vec4 texel = decodeHDR(texture2D(texture, v_Texcoord));\n#ifdef ANTI_FLICKER\n vec3 d = 1.0 / textureSize.xyx * vec3(1.0, 1.0, 0.0);\n vec4 s1 = decodeHDR(texture2D(texture, v_Texcoord - d.xz));\n vec4 s2 = decodeHDR(texture2D(texture, v_Texcoord + d.xz));\n vec4 s3 = decodeHDR(texture2D(texture, v_Texcoord - d.zy));\n vec4 s4 = decodeHDR(texture2D(texture, v_Texcoord + d.zy));\n texel = median(median(texel, s1, s2), s3, s4);\n#endif\n float lum = dot(texel.rgb , lumWeight);\n vec4 color;\n if (lum > threshold && texel.a > 0.0)\n {\n color = vec4(texel.rgb * scale, texel.a * scale);\n }\n else\n {\n color = vec4(0.0);\n }\n gl_FragColor = encodeHDR(color);\n}\n@end\n"},function(e,t,r){"use strict";t.a="@export clay.compositor.downsample\nuniform sampler2D texture;\nuniform vec2 textureSize : [512, 512];\nvarying vec2 v_Texcoord;\n@import clay.util.rgbm\nfloat brightness(vec3 c)\n{\n return max(max(c.r, c.g), c.b);\n}\n@import clay.util.clamp_sample\nvoid main()\n{\n vec4 d = vec4(-1.0, -1.0, 1.0, 1.0) / textureSize.xyxy;\n#ifdef ANTI_FLICKER\n vec3 s1 = decodeHDR(clampSample(texture, v_Texcoord + d.xy)).rgb;\n vec3 s2 = decodeHDR(clampSample(texture, v_Texcoord + d.zy)).rgb;\n vec3 s3 = decodeHDR(clampSample(texture, v_Texcoord + d.xw)).rgb;\n vec3 s4 = decodeHDR(clampSample(texture, v_Texcoord + d.zw)).rgb;\n float s1w = 1.0 / (brightness(s1) + 1.0);\n float s2w = 1.0 / (brightness(s2) + 1.0);\n float s3w = 1.0 / (brightness(s3) + 1.0);\n float s4w = 1.0 / (brightness(s4) + 1.0);\n float oneDivideSum = 1.0 / (s1w + s2w + s3w + s4w);\n vec4 color = vec4(\n (s1 * s1w + s2 * s2w + s3 * s3w + s4 * s4w) * oneDivideSum,\n 1.0\n );\n#else\n vec4 color = decodeHDR(clampSample(texture, v_Texcoord + d.xy));\n color += decodeHDR(clampSample(texture, v_Texcoord + d.zy));\n color += decodeHDR(clampSample(texture, v_Texcoord + d.xw));\n color += decodeHDR(clampSample(texture, v_Texcoord + d.zw));\n color *= 0.25;\n#endif\n gl_FragColor = encodeHDR(color);\n}\n@end"},function(e,t,r){"use strict";t.a="\n@export clay.compositor.upsample\n#define HIGH_QUALITY\nuniform sampler2D texture;\nuniform vec2 textureSize : [512, 512];\nuniform float sampleScale: 0.5;\nvarying vec2 v_Texcoord;\n@import clay.util.rgbm\n@import clay.util.clamp_sample\nvoid main()\n{\n#ifdef HIGH_QUALITY\n vec4 d = vec4(1.0, 1.0, -1.0, 0.0) / textureSize.xyxy * sampleScale;\n vec4 s;\n s = decodeHDR(clampSample(texture, v_Texcoord - d.xy));\n s += decodeHDR(clampSample(texture, v_Texcoord - d.wy)) * 2.0;\n s += decodeHDR(clampSample(texture, v_Texcoord - d.zy));\n s += decodeHDR(clampSample(texture, v_Texcoord + d.zw)) * 2.0;\n s += decodeHDR(clampSample(texture, v_Texcoord )) * 4.0;\n s += decodeHDR(clampSample(texture, v_Texcoord + d.xw)) * 2.0;\n s += decodeHDR(clampSample(texture, v_Texcoord + d.zy));\n s += decodeHDR(clampSample(texture, v_Texcoord + d.wy)) * 2.0;\n s += decodeHDR(clampSample(texture, v_Texcoord + d.xy));\n gl_FragColor = encodeHDR(s / 16.0);\n#else\n vec4 d = vec4(-1.0, -1.0, +1.0, +1.0) / textureSize.xyxy;\n vec4 s;\n s = decodeHDR(clampSample(texture, v_Texcoord + d.xy));\n s += decodeHDR(clampSample(texture, v_Texcoord + d.zy));\n s += decodeHDR(clampSample(texture, v_Texcoord + d.xw));\n s += decodeHDR(clampSample(texture, v_Texcoord + d.zw));\n gl_FragColor = encodeHDR(s / 4.0);\n#endif\n}\n@end"},function(e,t,r){"use strict";t.a="@export clay.compositor.hdr.composite\n#define TONEMAPPING\nuniform sampler2D texture;\n#ifdef BLOOM_ENABLED\nuniform sampler2D bloom;\n#endif\n#ifdef LENSFLARE_ENABLED\nuniform sampler2D lensflare;\nuniform sampler2D lensdirt;\n#endif\n#ifdef LUM_ENABLED\nuniform sampler2D lum;\n#endif\n#ifdef LUT_ENABLED\nuniform sampler2D lut;\n#endif\n#ifdef COLOR_CORRECTION\nuniform float brightness : 0.0;\nuniform float contrast : 1.0;\nuniform float saturation : 1.0;\n#endif\n#ifdef VIGNETTE\nuniform float vignetteDarkness: 1.0;\nuniform float vignetteOffset: 1.0;\n#endif\nuniform float exposure : 1.0;\nuniform float bloomIntensity : 0.25;\nuniform float lensflareIntensity : 1;\nvarying vec2 v_Texcoord;\n@import clay.util.srgb\nvec3 ACESToneMapping(vec3 color)\n{\n const float A = 2.51;\n const float B = 0.03;\n const float C = 2.43;\n const float D = 0.59;\n const float E = 0.14;\n return (color * (A * color + B)) / (color * (C * color + D) + E);\n}\nfloat eyeAdaption(float fLum)\n{\n return mix(0.2, fLum, 0.5);\n}\n#ifdef LUT_ENABLED\nvec3 lutTransform(vec3 color) {\n float blueColor = color.b * 63.0;\n vec2 quad1;\n quad1.y = floor(floor(blueColor) / 8.0);\n quad1.x = floor(blueColor) - (quad1.y * 8.0);\n vec2 quad2;\n quad2.y = floor(ceil(blueColor) / 8.0);\n quad2.x = ceil(blueColor) - (quad2.y * 8.0);\n vec2 texPos1;\n texPos1.x = (quad1.x * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * color.r);\n texPos1.y = (quad1.y * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * color.g);\n vec2 texPos2;\n texPos2.x = (quad2.x * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * color.r);\n texPos2.y = (quad2.y * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * color.g);\n vec4 newColor1 = texture2D(lut, texPos1);\n vec4 newColor2 = texture2D(lut, texPos2);\n vec4 newColor = mix(newColor1, newColor2, fract(blueColor));\n return newColor.rgb;\n}\n#endif\n@import clay.util.rgbm\nvoid main()\n{\n vec4 texel = vec4(0.0);\n vec4 originalTexel = vec4(0.0);\n#ifdef TEXTURE_ENABLED\n texel = decodeHDR(texture2D(texture, v_Texcoord));\n originalTexel = texel;\n#endif\n#ifdef BLOOM_ENABLED\n vec4 bloomTexel = decodeHDR(texture2D(bloom, v_Texcoord));\n texel.rgb += bloomTexel.rgb * bloomIntensity;\n texel.a += bloomTexel.a * bloomIntensity;\n#endif\n#ifdef LENSFLARE_ENABLED\n texel += decodeHDR(texture2D(lensflare, v_Texcoord)) * texture2D(lensdirt, v_Texcoord) * lensflareIntensity;\n#endif\n texel.a = min(texel.a, 1.0);\n#ifdef LUM_ENABLED\n float fLum = texture2D(lum, vec2(0.5, 0.5)).r;\n float adaptedLumDest = 3.0 / (max(0.1, 1.0 + 10.0*eyeAdaption(fLum)));\n float exposureBias = adaptedLumDest * exposure;\n#else\n float exposureBias = exposure;\n#endif\n#ifdef TONEMAPPING\n texel.rgb *= exposureBias;\n texel.rgb = ACESToneMapping(texel.rgb);\n#endif\n texel = linearTosRGB(texel);\n#ifdef LUT_ENABLED\n texel.rgb = lutTransform(clamp(texel.rgb,vec3(0.0),vec3(1.0)));\n#endif\n#ifdef COLOR_CORRECTION\n texel.rgb = clamp(texel.rgb + vec3(brightness), 0.0, 1.0);\n texel.rgb = clamp((texel.rgb - vec3(0.5))*contrast+vec3(0.5), 0.0, 1.0);\n float lum = dot(texel.rgb, vec3(0.2125, 0.7154, 0.0721));\n texel.rgb = mix(vec3(lum), texel.rgb, saturation);\n#endif\n#ifdef VIGNETTE\n vec2 uv = (v_Texcoord - vec2(0.5)) * vec2(vignetteOffset);\n texel.rgb = mix(texel.rgb, vec3(1.0 - vignetteDarkness), dot(uv, uv));\n#endif\n gl_FragColor = encodeHDR(texel);\n#ifdef DEBUG\n #if DEBUG == 1\n gl_FragColor = encodeHDR(decodeHDR(texture2D(texture, v_Texcoord)));\n #elif DEBUG == 2\n gl_FragColor = encodeHDR(decodeHDR(texture2D(bloom, v_Texcoord)) * bloomIntensity);\n #elif DEBUG == 3\n gl_FragColor = encodeHDR(decodeHDR(texture2D(lensflare, v_Texcoord) * lensflareIntensity));\n #endif\n#endif\n if (originalTexel.a <= 0.01 && gl_FragColor.a > 1e-5) {\n gl_FragColor.a = dot(gl_FragColor.rgb, vec3(0.2125, 0.7154, 0.0721));\n }\n#ifdef PREMULTIPLY_ALPHA\n gl_FragColor.rgb *= gl_FragColor.a;\n#endif\n}\n@end"},function(e,t,r){"use strict";t.a="@export clay.compositor.blend\n#define SHADER_NAME blend\n#ifdef TEXTURE1_ENABLED\nuniform sampler2D texture1;\nuniform float weight1 : 1.0;\n#endif\n#ifdef TEXTURE2_ENABLED\nuniform sampler2D texture2;\nuniform float weight2 : 1.0;\n#endif\n#ifdef TEXTURE3_ENABLED\nuniform sampler2D texture3;\nuniform float weight3 : 1.0;\n#endif\n#ifdef TEXTURE4_ENABLED\nuniform sampler2D texture4;\nuniform float weight4 : 1.0;\n#endif\n#ifdef TEXTURE5_ENABLED\nuniform sampler2D texture5;\nuniform float weight5 : 1.0;\n#endif\n#ifdef TEXTURE6_ENABLED\nuniform sampler2D texture6;\nuniform float weight6 : 1.0;\n#endif\nvarying vec2 v_Texcoord;\n@import clay.util.rgbm\nvoid main()\n{\n vec4 tex = vec4(0.0);\n#ifdef TEXTURE1_ENABLED\n tex += decodeHDR(texture2D(texture1, v_Texcoord)) * weight1;\n#endif\n#ifdef TEXTURE2_ENABLED\n tex += decodeHDR(texture2D(texture2, v_Texcoord)) * weight2;\n#endif\n#ifdef TEXTURE3_ENABLED\n tex += decodeHDR(texture2D(texture3, v_Texcoord)) * weight3;\n#endif\n#ifdef TEXTURE4_ENABLED\n tex += decodeHDR(texture2D(texture4, v_Texcoord)) * weight4;\n#endif\n#ifdef TEXTURE5_ENABLED\n tex += decodeHDR(texture2D(texture5, v_Texcoord)) * weight5;\n#endif\n#ifdef TEXTURE6_ENABLED\n tex += decodeHDR(texture2D(texture6, v_Texcoord)) * weight6;\n#endif\n gl_FragColor = encodeHDR(tex);\n}\n@end"},function(e,t,r){"use strict";t.a="@export clay.compositor.fxaa\nuniform sampler2D texture;\nuniform vec4 viewport : VIEWPORT;\nvarying vec2 v_Texcoord;\n#define FXAA_REDUCE_MIN (1.0/128.0)\n#define FXAA_REDUCE_MUL (1.0/8.0)\n#define FXAA_SPAN_MAX 8.0\n@import clay.util.rgbm\nvoid main()\n{\n vec2 resolution = 1.0 / viewport.zw;\n vec3 rgbNW = decodeHDR( texture2D( texture, ( gl_FragCoord.xy + vec2( -1.0, -1.0 ) ) * resolution ) ).xyz;\n vec3 rgbNE = decodeHDR( texture2D( texture, ( gl_FragCoord.xy + vec2( 1.0, -1.0 ) ) * resolution ) ).xyz;\n vec3 rgbSW = decodeHDR( texture2D( texture, ( gl_FragCoord.xy + vec2( -1.0, 1.0 ) ) * resolution ) ).xyz;\n vec3 rgbSE = decodeHDR( texture2D( texture, ( gl_FragCoord.xy + vec2( 1.0, 1.0 ) ) * resolution ) ).xyz;\n vec4 rgbaM = decodeHDR( texture2D( texture, gl_FragCoord.xy * resolution ) );\n vec3 rgbM = rgbaM.xyz;\n float opacity = rgbaM.w;\n vec3 luma = vec3( 0.299, 0.587, 0.114 );\n float lumaNW = dot( rgbNW, luma );\n float lumaNE = dot( rgbNE, luma );\n float lumaSW = dot( rgbSW, luma );\n float lumaSE = dot( rgbSE, luma );\n float lumaM = dot( rgbM, luma );\n float lumaMin = min( lumaM, min( min( lumaNW, lumaNE ), min( lumaSW, lumaSE ) ) );\n float lumaMax = max( lumaM, max( max( lumaNW, lumaNE) , max( lumaSW, lumaSE ) ) );\n vec2 dir;\n dir.x = -((lumaNW + lumaNE) - (lumaSW + lumaSE));\n dir.y = ((lumaNW + lumaSW) - (lumaNE + lumaSE));\n float dirReduce = max( ( lumaNW + lumaNE + lumaSW + lumaSE ) * ( 0.25 * FXAA_REDUCE_MUL ), FXAA_REDUCE_MIN );\n float rcpDirMin = 1.0 / ( min( abs( dir.x ), abs( dir.y ) ) + dirReduce );\n dir = min( vec2( FXAA_SPAN_MAX, FXAA_SPAN_MAX),\n max( vec2(-FXAA_SPAN_MAX, -FXAA_SPAN_MAX),\n dir * rcpDirMin)) * resolution;\n vec3 rgbA = decodeHDR( texture2D( texture, gl_FragCoord.xy * resolution + dir * ( 1.0 / 3.0 - 0.5 ) ) ).xyz;\n rgbA += decodeHDR( texture2D( texture, gl_FragCoord.xy * resolution + dir * ( 2.0 / 3.0 - 0.5 ) ) ).xyz;\n rgbA *= 0.5;\n vec3 rgbB = decodeHDR( texture2D( texture, gl_FragCoord.xy * resolution + dir * -0.5 ) ).xyz;\n rgbB += decodeHDR( texture2D( texture, gl_FragCoord.xy * resolution + dir * 0.5 ) ).xyz;\n rgbB *= 0.25;\n rgbB += rgbA * 0.5;\n float lumaB = dot( rgbB, luma );\n if ( ( lumaB < lumaMin ) || ( lumaB > lumaMax ) )\n {\n gl_FragColor = vec4( rgbA, opacity );\n }\n else {\n gl_FragColor = vec4( rgbB, opacity );\n }\n}\n@end"},function(e,t,r){"use strict";var n=r(0),i=r.n(n);t.a={getFilledRegions:function(e,t){var r,n=(e||[]).slice();if("string"==typeof t?(t=i.a.getMap(t),r=t&&t.geoJson):t&&t.features&&(r=t),!r)return[];for(var a={},o=r.features,s=0;s<n.length;s++)a[n[s].name]=n[s];for(var s=0;s<o.length;s++){var u=o[s].properties.name;a[u]||n.push({name:u})}return n},defaultOption:{show:!0,zlevel:-10,map:"",left:0,top:0,width:"100%",height:"100%",boxWidth:100,boxHeight:10,boxDepth:"auto",regionHeight:3,environment:"auto",groundPlane:{show:!1,color:"#aaa"},shading:"lambert",light:{main:{alpha:40,beta:30}},viewControl:{alpha:40,beta:0,distance:100,orthographicSize:60,minAlpha:5,minBeta:-80,maxBeta:80},label:{show:!1,distance:2,textStyle:{fontSize:20,color:"#000",backgroundColor:"rgba(255,255,255,0.7)",padding:3,borderRadius:4}},itemStyle:{color:"#fff",borderWidth:0,borderColor:"#333"},emphasis:{itemStyle:{color:"#639fc0"},label:{show:!0}}}}},function(e,t,r){"use strict";function n(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function i(e,t,r,i,a){var o=r,s=e[t];n(e,t,i);for(var u=r;u<i;u++)a(e[u],s)<0&&(n(e,u,o),o++);return n(e,i,o),o}function a(e,t,r,n){if(r<n){var o=Math.floor((r+n)/2),s=i(e,o,r,n,t);a(e,t,r,s-1),a(e,t,s+1,n)}}function o(){this._parts=[]}o.prototype.step=function(e,t,r){var n=e.length;if(0===r){this._parts=[],this._sorted=!1;var o=Math.floor(n/2);this._parts.push({pivot:o,left:0,right:n-1}),this._currentSortPartIdx=0}if(!this._sorted){var s=this._parts;if(0===s.length)return this._sorted=!0,!0;if(s.length<512){for(var u=0;u<s.length;u++)s[u].pivot=i(e,s[u].pivot,s[u].left,s[u].right,t);for(var l=[],u=0;u<s.length;u++){var h=s[u].left,c=s[u].pivot-1;c>h&&l.push({pivot:Math.floor((c+h)/2),left:h,right:c});var h=s[u].pivot+1,c=s[u].right;c>h&&l.push({pivot:Math.floor((c+h)/2),left:h,right:c})}s=this._parts=l}else for(var u=0;u<Math.floor(s.length/10);u++){var d=s.length-1-this._currentSortPartIdx;if(a(e,t,s[d].left,s[d].right),++this._currentSortPartIdx===s.length)return this._sorted=!0,!0}return!1}},o.sort=a,t.a=o},function(e,t,r){"use strict";function n(e,t){var r=e.getBoxLayoutParams(),n=l.a.getLayoutRect(r,{width:t.getWidth(),height:t.getHeight()});n.y=t.getHeight()-n.y-n.height,this.viewGL.setViewport(n.x,n.y,n.width,n.height,t.getDevicePixelRatio());var i=this.getGeoBoundingRect(),a=i.width/i.height*(e.get("aspectScale")||.75),o=e.get("boxWidth"),s=e.get("boxDepth"),u=e.get("boxHeight");null==u&&(u=5),isNaN(o)&&isNaN(s)&&(o=100),isNaN(s)?s=o/a:isNaN(o)&&(o=s/a),this.setSize(o,u,s),this.regionHeight=e.get("regionHeight"),this.altitudeAxis&&this.altitudeAxis.setExtent(0,Math.max(u-this.regionHeight,0))}function i(e,t){var r=[1/0,-1/0];if(e.eachSeries(function(e){if(e.coordinateSystem===this&&"series.map3D"!==e.type){var t=e.getData(),n=e.coordDimToDataDim("alt"),i=n&&n[0];if(i){var a=t.getDataExtent(i,!0);r[0]=Math.min(r[0],a[0]),r[1]=Math.max(r[1],a[1])}}},this),r&&isFinite(r[1]-r[0])){var n=s.a.helper.createScale(r,{type:"value",min:"dataMin",max:"dataMax"});this.altitudeAxis=new s.a.Axis("altitude",n),this.resize(this.model,t)}}var a=r(99),o=r(0),s=r.n(o),u=r(47),l=r.n(u),h=r(22),c=r(2),d=0,f={dimensions:a.a.prototype.dimensions,create:function(e,t){function r(e,r){var o=f.createGeo3D(e);e.__viewGL=e.__viewGL||new h.a,o.viewGL=e.__viewGL,e.coordinateSystem=o,o.model=e,a.push(o),o.resize=n,o.resize(e,t),o.update=i}var a=[];if(!s.a.getMap)throw new Error("geo3D component depends on geo component");return e.eachComponent("geo3D",function(e,t){r(e,t)}),e.eachSeriesByType("map3D",function(e,t){var n=e.get("coordinateSystem");null==n&&(n="geo3D"),"geo3D"===n&&r(e,t)}),e.eachSeries(function(t){if("geo3D"===t.get("coordinateSystem")){if("series.map3D"===t.type)return;var r=t.getReferringComponents("geo3D")[0];if(r||(r=e.getComponent("geo3D")),!r)throw new Error('geo "'+c.a.firstNotNull(t.get("geo3DIndex"),t.get("geo3DId"),0)+'" not found');t.coordinateSystem=r.coordinateSystem}}),a},createGeo3D:function(e){var t,r=e.get("map");return"string"==typeof r?(t=r,r=s.a.getMap(r)):r&&r.features&&(r={geoJson:r}),null==t&&(t="GEO_ANONYMOUS_"+d++),new a.a(t+d++,t,r&&r.geoJson,r&&r.specialAreas,e.get("nameMap"))}};s.a.registerCoordinateSystem("geo3D",f),t.a=f},function(e,t,r){"use strict";function n(e,t,r,n,i){this.name=e,this.map=t,this.regionHeight=0,this.regions=[],this._nameCoordMap={},this.loadGeoJson(r,n,i),this.transform=d.identity(new Float64Array(16)),this.invTransform=d.identity(new Float64Array(16)),this.extrudeY=!0,this.altitudeAxis}var i=r(0),a=r.n(i),o=r(6),s=r(205),u=r.n(s),l=r(206),h=r.n(l),c=o.a.vec3,d=o.a.mat4,f=[u.a,h.a];n.prototype={constructor:n,type:"geo3D",dimensions:["lng","lat","alt"],containPoint:function(){},loadGeoJson:function(e,t,r){var n=a.a.parseGeoJSON||a.a.parseGeoJson;try{this.regions=e?n(e):[]}catch(e){throw"Invalid geoJson format\n"+e}t=t||{},r=r||{};for(var i=this.regions,o={},s=0;s<i.length;s++){var u=i[s].name;u=r[u]||u,i[s].name=u,o[u]=i[s],this.addGeoCoord(u,i[s].center);var l=t[u];l&&i[s].transformTo(l.left,l.top,l.width,l.height)}this._regionsMap=o,this._geoRect=null,f.forEach(function(e){e(this)},this)},getGeoBoundingRect:function(){if(this._geoRect)return this._geoRect;for(var e,t=this.regions,r=0;r<t.length;r++){var n=t[r].getBoundingRect();e=e||n.clone(),e.union(n)}return this._geoRect=e||new a.a.graphic.BoundingRect(0,0,0,0)},addGeoCoord:function(e,t){this._nameCoordMap[e]=t},getRegion:function(e){return this._regionsMap[e]},getRegionByCoord:function(e){for(var t=this.regions,r=0;r<t.length;r++)if(t[r].contain(e))return t[r]},setSize:function(e,t,r){this.size=[e,t,r];var n=this.getGeoBoundingRect(),i=e/n.width,a=-r/n.height,o=-e/2-n.x*i,s=r/2-n.y*a,u=this.extrudeY?[o,0,s]:[o,s,0],l=this.extrudeY?[i,1,a]:[i,a,1],h=this.transform;d.identity(h),d.translate(h,h,u),d.scale(h,h,l),d.invert(this.invTransform,h)},dataToPoint:function(e,t){t=t||[];var r=this.extrudeY?1:2,n=this.extrudeY?2:1,i=e[2];return isNaN(i)&&(i=0),t[0]=e[0],t[n]=e[1],this.altitudeAxis?t[r]=this.altitudeAxis.dataToCoord(i):t[r]=0,t[r]+=this.regionHeight,c.transformMat4(t,t,this.transform),t},pointToData:function(e,t){}},t.a=n},function(e,t,r){"use strict";function n(){this.width=0,this.height=0,this.altitudeScale=1,this.boxHeight="auto",this.altitudeExtent,this.bearing=0,this.pitch=0,this.center=[0,0],this._origin,this.zoom=0,this._initialZoom,this.maxPitch=60,this.zoomOffset=0}var i=r(6),a=i.a.mat4,o=.6435011087932844,s=Math.PI;n.prototype={constructor:n,dimensions:["lng","lat","alt"],containPoint:function(){},setCameraOption:function(e){this.bearing=e.bearing,this.pitch=e.pitch,this.center=e.center,this.zoom=e.zoom,this._origin||(this._origin=this.projectOnTileWithScale(this.center,512)),null==this._initialZoom&&(this._initialZoom=this.zoom),this.updateTransform()},updateTransform:function(){if(this.height){var e=.5/Math.tan(o/2)*this.height*.1,t=Math.max(Math.min(this.pitch,this.maxPitch),0)/180*Math.PI,r=Math.PI/2+t,n=Math.sin(.3217505543966422)*e/Math.sin(Math.PI-r-.3217505543966422),i=Math.cos(Math.PI/2-t)*n+e,s=1.1*i;this.pitch>50&&(s=1e3);var u=[];a.perspective(u,o,this.width/this.height,1,s),this.viewGL.camera.projectionMatrix.setArray(u),this.viewGL.camera.decomposeProjectionMatrix();var u=a.identity([]),l=this.dataToPoint(this.center);a.scale(u,u,[1,-1,1]),a.translate(u,u,[0,0,-e]),a.rotateX(u,u,t),a.rotateZ(u,u,-this.bearing/180*Math.PI),a.translate(u,u,[-l[0]*this.getScale()*.1,-l[1]*this.getScale()*.1,0]),this.viewGL.camera.viewMatrix.array=u;var h=[];a.invert(h,u),this.viewGL.camera.worldTransform.array=h,this.viewGL.camera.decomposeWorldTransform();var c,d=512*this.getScale();if(this.altitudeExtent&&!isNaN(this.boxHeight)){var f=this.altitudeExtent[1]-this.altitudeExtent[0];c=this.boxHeight/f*this.getScale()/Math.pow(2,this._initialZoom-this.zoomOffset)}else c=d/(2*Math.PI*6378e3*Math.abs(Math.cos(this.center[1]*(Math.PI/180))))*this.altitudeScale*.1;this.viewGL.rootNode.scale.set(.1*this.getScale(),.1*this.getScale(),c)}},getScale:function(){return Math.pow(2,this.zoom-this.zoomOffset)},projectOnTile:function(e,t){return this.projectOnTileWithScale(e,512*this.getScale(),t)},projectOnTileWithScale:function(e,t,r){var n=e[0],i=e[1],a=n*s/180,o=i*s/180,u=t*(a+s)/(2*s),l=t*(s-Math.log(Math.tan(s/4+.5*o)))/(2*s);return r=r||[],r[0]=u,r[1]=l,r},unprojectFromTile:function(e,t){return this.unprojectOnTileWithScale(e,512*this.getScale(),t)},unprojectOnTileWithScale:function(e,t,r){var n=e[0],i=e[1],a=n/t*(2*s)-s,o=2*(Math.atan(Math.exp(s-i/t*(2*s)))-s/4);return r=r||[],r[0]=180*a/s,r[1]=180*o/s,r},dataToPoint:function(e,t){return t=this.projectOnTileWithScale(e,512,t),t[0]-=this._origin[0],t[1]-=this._origin[1],t[2]=isNaN(e[2])?0:e[2],isNaN(e[2])||(t[2]=e[2],this.altitudeExtent&&(t[2]-=this.altitudeExtent[0])),t}},t.a=n},function(e,t,r){"use strict";var n=r(2),i=r(1),a=r(22);t.a=function(e,t,r){function o(e,t){var r=t.getWidth(),n=t.getHeight(),i=t.getDevicePixelRatio();this.viewGL.setViewport(0,0,r,n,i),this.width=r,this.height=n,this.altitudeScale=e.get("altitudeScale"),this.boxHeight=e.get("boxHeight")}function s(e,t){if("auto"!==this.model.get("boxHeight")){var r=[1/0,-1/0];e.eachSeries(function(e){if(e.coordinateSystem===this){var t=e.getData(),n=e.coordDimToDataDim("alt")[0];if(n){var i=t.getDataExtent(n,!0);r[0]=Math.min(r[0],i[0]),r[1]=Math.max(r[1],i[1])}}},this),r&&isFinite(r[1]-r[0])&&(this.altitudeExtent=r)}}return{dimensions:t.prototype.dimensions,create:function(u,l){var h=[];return u.eachComponent(e,function(e){var r=e.__viewGL;r||(r=e.__viewGL=new a.a,r.setRootNode(new i.a.Node));var n=new t;n.viewGL=e.__viewGL,n.resize=o,n.resize(e,l),h.push(n),e.coordinateSystem=n,n.model=e,n.update=s}),u.eachSeries(function(t){if(t.get("coordinateSystem")===e){var r=t.getReferringComponents(e)[0];if(r||(r=u.getComponent(e)),!r)throw new Error(e+' "'+n.a.firstNotNull(t.get(e+"Index"),t.get(e+"Id"),0)+'" not found');t.coordinateSystem=r.coordinateSystem}}),r&&r(h,u,l),h}}}},function(e,t,r){"use strict";t.a="\n@export ecgl.displayShadow.vertex\n\n@import ecgl.common.transformUniforms\n\n@import ecgl.common.uv.header\n\n@import ecgl.common.attributes\n\nvarying vec3 v_WorldPosition;\n\nvarying vec3 v_Normal;\n\nvoid main()\n{\n @import ecgl.common.uv.main\n v_Normal = normalize((worldInverseTranspose * vec4(normal, 0.0)).xyz);\n\n v_WorldPosition = (world * vec4(position, 1.0)).xyz;\n gl_Position = worldViewProjection * vec4(position, 1.0);\n}\n\n@end\n\n\n@export ecgl.displayShadow.fragment\n\n@import ecgl.common.uv.fragmentHeader\n\nvarying vec3 v_Normal;\nvarying vec3 v_WorldPosition;\n\nuniform float roughness: 0.2;\n\n#ifdef DIRECTIONAL_LIGHT_COUNT\n@import clay.header.directional_light\n#endif\n\n@import ecgl.common.ssaoMap.header\n\n@import clay.plugin.compute_shadow_map\n\nvoid main()\n{\n float shadow = 1.0;\n\n @import ecgl.common.ssaoMap.main\n\n#if defined(DIRECTIONAL_LIGHT_COUNT) && defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)\n float shadowContribsDir[DIRECTIONAL_LIGHT_COUNT];\n if(shadowEnabled)\n {\n computeShadowOfDirectionalLights(v_WorldPosition, shadowContribsDir);\n }\n for (int i = 0; i < DIRECTIONAL_LIGHT_COUNT; i++) {\n shadow = min(shadow, shadowContribsDir[i] * 0.5 + 0.5);\n }\n#endif\n\n shadow *= 0.5 + ao * 0.5;\n shadow = clamp(shadow, 0.0, 1.0);\n\n gl_FragColor = vec4(vec3(0.0), 1.0 - shadow);\n}\n\n@end"},function(e,t,r){"use strict";function n(e){this.viewGL=e}var i=r(84),a=r.n(i),o=r(83),s=r.n(o);n.prototype.reset=function(e,t){this._updateCamera(t.getWidth(),t.getHeight(),t.getDevicePixelRatio()),this._viewTransform=a.a.create(),this.updateTransform(e,t)},n.prototype.updateTransform=function(e,t){var r=e.coordinateSystem;r.getRoamTransform&&(a.a.invert(this._viewTransform,r.getRoamTransform()),this._setCameraTransform(this._viewTransform),t.getZr().refresh())},n.prototype.dataToPoint=function(e,t,r){r=e.dataToPoint(t,null,r);var n=this._viewTransform;n&&s.a.applyTransform(r,r,n)},n.prototype.removeTransformInPoint=function(e){return this._viewTransform&&s.a.applyTransform(e,e,this._viewTransform),e},n.prototype.getZoom=function(){if(this._viewTransform){var e=this._viewTransform;return 1/Math.max(Math.sqrt(e[0]*e[0]+e[1]*e[1]),Math.sqrt(e[2]*e[2]+e[3]*e[3]))}return 1},n.prototype._setCameraTransform=function(e){var t=this.viewGL.camera;t.position.set(e[4],e[5],0),t.scale.set(Math.sqrt(e[0]*e[0]+e[1]*e[1]),Math.sqrt(e[2]*e[2]+e[3]*e[3]),1)},n.prototype._updateCamera=function(e,t,r){this.viewGL.setViewport(0,0,e,t,r);var n=this.viewGL.camera;n.left=n.top=0,n.bottom=t,n.right=e,n.near=0,n.far=100},t.a=n},function(e,t,r){(function(e){var r;"undefined"!=typeof window?r=window.__DEV__:void 0!==e&&(r=e.__DEV__),void 0===r&&(r=!0);var n=r;t.__DEV__=n}).call(t,r(68))},function(e,t,r){"use strict";var n=r(15),i=r(0),a=r.n(i),o=r(38),s=r(6),u=s.a.vec2,l=[[0,0],[1,1]],h=n.a.extend(function(){return{segmentScale:4,dynamic:!0,useNativeLine:!0,attributes:{position:new n.a.Attribute("position","float",2,"POSITION"),normal:new n.a.Attribute("normal","float",2),offset:new n.a.Attribute("offset","float",1),color:new n.a.Attribute("color","float",4,"COLOR")}}},{resetOffset:function(){this._vertexOffset=0,this._faceOffset=0,this._itemVertexOffsets=[]},setVertexCount:function(e){var t=this.attributes;this.vertexCount!==e&&(t.position.init(e),t.color.init(e),this.useNativeLine||(t.offset.init(e),t.normal.init(e)),e>65535?this.indices instanceof Uint16Array&&(this.indices=new Uint32Array(this.indices)):this.indices instanceof Uint32Array&&(this.indices=new Uint16Array(this.indices)))},setTriangleCount:function(e){this.triangleCount!==e&&(this.indices=0===e?null:this.vertexCount>65535?new Uint32Array(3*e):new Uint16Array(3*e))},_getCubicCurveApproxStep:function(e,t,r,n){return 1/(u.dist(e,t)+u.dist(r,t)+u.dist(n,r)+1)*this.segmentScale},getCubicCurveVertexCount:function(e,t,r,n){var i=this._getCubicCurveApproxStep(e,t,r,n),a=Math.ceil(1/i);return this.useNativeLine?2*a:2*a+2},getCubicCurveTriangleCount:function(e,t,r,n){var i=this._getCubicCurveApproxStep(e,t,r,n),a=Math.ceil(1/i);return this.useNativeLine?0:2*a},getLineVertexCount:function(){return this.getPolylineVertexCount(l)},getLineTriangleCount:function(){return this.getPolylineTriangleCount(l)},getPolylineVertexCount:function(e){var t;if("number"==typeof e)t=e;else{t="number"!=typeof e[0]?e.length:e.length/2}return this.useNativeLine?2*(t-1):2*(t-1)+2},getPolylineTriangleCount:function(e){var t;if("number"==typeof e)t=e;else{t="number"!=typeof e[0]?e.length:e.length/2}return this.useNativeLine?0:2*(t-1)},addCubicCurve:function(e,t,r,n,i,a){null==a&&(a=1);for(var o=e[0],s=e[1],u=t[0],l=t[1],h=r[0],c=r[1],d=n[0],f=n[1],p=this._getCubicCurveApproxStep(e,t,r,n),m=p*p,g=m*p,_=3*p,v=3*m,y=6*m,x=6*g,T=o-2*u+h,b=s-2*l+c,w=3*(u-h)-o+d,E=3*(l-c)-s+f,S=o,A=s,M=(u-o)*_+T*v+w*g,C=(l-s)*_+b*v+E*g,L=T*y+w*x,D=b*y+E*x,N=w*x,R=E*x,P=0,I=0,O=Math.ceil(1/p),F=new Float32Array(3*(O+1)),F=[],B=0,I=0;I<O+1;I++)F[B++]=S,F[B++]=A,S+=M,A+=C,M+=L,C+=D,L+=N,D+=R,(P+=p)>1&&(S=M>0?Math.min(S,d):Math.max(S,d),A=C>0?Math.min(A,f):Math.max(A,f));this.addPolyline(F,i,a)},addLine:function(e,t,r,n){this.addPolyline([e,t],r,n)},addPolyline:function(){var e=u.create(),t=u.create(),r=u.create(),n=u.create(),i=[],a=[],o=[];return function(s,l,h,c,d){if(s.length){var f="number"!=typeof s[0];if(null==d&&(d=f?s.length:s.length/2),!(d<2)){null==c&&(c=0),null==h&&(h=1),this._itemVertexOffsets.push(this._vertexOffset);for(var p,m=f?"number"!=typeof l[0]:l.length/4===d,g=this.attributes.position,_=this.attributes.color,v=this.attributes.offset,y=this.attributes.normal,x=this.indices,T=this._vertexOffset,b=0;b<d;b++){if(f)i=s[b+c],p=m?l[b+c]:l;else{var w=2*b+c;if(i=i||[],i[0]=s[w],i[1]=s[w+1],m){var E=4*b+c;p=p||[],p[0]=l[E],p[1]=l[E+1],p[2]=l[E+2],p[3]=l[E+3]}else p=l}if(this.useNativeLine)b>1&&(g.copy(T,T-1),_.copy(T,T-1),T++);else{var S;if(b<d-1){if(f)u.copy(a,s[b+1]);else{var w=2*(b+1)+c;a=a||[],a[0]=s[w],a[1]=s[w+1]}if(b>0){u.sub(e,i,o),u.sub(t,a,i),u.normalize(e,e),u.normalize(t,t),u.add(n,e,t),u.normalize(n,n);var A=h/2*Math.min(1/u.dot(e,n),2);r[0]=-n[1],r[1]=n[0],S=A}else u.sub(e,a,i),u.normalize(e,e),r[0]=-e[1],r[1]=e[0],S=h/2}else u.sub(e,i,o),u.normalize(e,e),r[0]=-e[1],r[1]=e[0],S=h/2;y.set(T,r),y.set(T+1,r),v.set(T,S),v.set(T+1,-S),u.copy(o,i),g.set(T,i),g.set(T+1,i),_.set(T,p),_.set(T+1,p),T+=2}if(this.useNativeLine)_.set(T,p),g.set(T,i),T++;else if(b>0){var M=3*this._faceOffset,x=this.indices;x[M]=T-4,x[M+1]=T-3,x[M+2]=T-2,x[M+3]=T-3,x[M+4]=T-1,x[M+5]=T-2,this._faceOffset+=2}}this._vertexOffset=T}}}}(),setItemColor:function(e,t){for(var r=this._itemVertexOffsets[e],n=e<this._itemVertexOffsets.length-1?this._itemVertexOffsets[e+1]:this._vertexOffset,i=r;i<n;i++)this.attributes.color.set(i,t);this.dirty("color")}});a.a.util.defaults(h.prototype,o.a),t.a=h},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});r(107),r(154),r(201),r(207),r(213),r(219),r(225),r(232),r(236),r(243),r(249),r(252),r(256),r(259),r(262),r(275),r(281)},function(e,t,r){"use strict";function n(e){throw new Error(e+" version is too old, needs "+f[e]+" or higher")}function i(e,t){e.replace(".","")-0<f[t].replace(".","")-0&&n(t),console.log("Loaded "+t+", version "+e)}function a(e){this._layers={},this._zr=e}var o=r(0),s=r.n(o),u=r(108),l=r(109),h=r(153),c=r(1),d={version:"1.1.1",dependencies:{echarts:"4.1.0",claygl:"1.2.1"}},f=d.dependencies;i(u.a,"claygl"),i(s.a.version,"echarts"),a.prototype.update=function(e,t){function r(e){var t;e.coordinateSystem&&e.coordinateSystem.model,t=e.get("zlevel");var r=i._layers,n=r[t];if(!n){if(n=r[t]=new l.a("gl-"+t,a),a.painter.isSingleCanvas()){n.virtual=!0;var o=new s.a.graphic.Image({z:1e4,style:{image:n.renderer.canvas},silent:!0});n.__hostImage=o,a.add(o)}a.painter.insertLayer(t,n)}return n.__hostImage&&n.__hostImage.setStyle({width:n.renderer.getWidth(),height:n.renderer.getHeight()}),n}function n(e,t){e&&e.traverse(function(e){e.isRenderable&&e.isRenderable()&&(e.ignorePicking=null!=e.$ignorePicking?e.$ignorePicking:t)})}var i=this,a=t.getZr();if(!a.getWidth()||!a.getHeight())return void console.warn("Dom has no width or height");for(var o in this._layers)this._layers[o].removeViewsAll();e.eachComponent(function(i,a){if("series"!==i){var o=t.getViewOfComponentModel(a),s=a.coordinateSystem;if(o.__ecgl__){var u;if(s){if(!s.viewGL)return void console.error("Can't find viewGL in coordinateSystem of component "+a.id);u=s.viewGL}else{if(!a.viewGL)return void console.error("Can't find viewGL of component "+a.id);u=s.viewGL}var u=s.viewGL,l=r(a);l.addView(u),o.afterRender&&o.afterRender(a,e,t,l),n(o.groupGL,a.get("silent"))}}}),e.eachSeries(function(i){var a=t.getViewOfSeriesModel(i),o=i.coordinateSystem;if(a.__ecgl__){if(o&&!o.viewGL&&!a.viewGL)return void console.error("Can't find viewGL of series "+a.id);var s=o&&o.viewGL||a.viewGL,u=r(i);u.addView(s),a.afterRender&&a.afterRender(i,e,t,u),n(a.groupGL,i.get("silent"))}})};var p=s.a.init;s.a.init=function(){var e=p.apply(this,arguments);return e.getZr().painter.getRenderedCanvas=function(e){function t(e,t){var r=u._zlevelList;null==e&&(e=-1/0);for(var n,a=0;a<r.length;a++){var o=r[a],s=u._layers[o];if(!s.__builtin__&&o>e&&o<t){n=s;break}}n&&n.renderToCanvas&&(i.save(),n.renderToCanvas(i),i.restore())}if(e=e||{},this._singleCanvas)return this._layers[0].dom;var r=document.createElement("canvas"),n=e.pixelRatio||this.dpr;r.width=this.getWidth()*n,r.height=this.getHeight()*n;var i=r.getContext("2d");i.dpr=n,i.clearRect(0,0,r.width,r.height),e.backgroundColor&&(i.fillStyle=e.backgroundColor,i.fillRect(0,0,r.width,r.height));for(var a,o=this.storage.getDisplayList(!0),s={},u=this,l={ctx:i},h=0;h<o.length;h++){var c=o[h];c.zlevel!==a&&(t(a,c.zlevel),a=c.zlevel),this._doPaintEl(c,l,!0,s)}return t(a,1/0),r},e},s.a.registerPostUpdate(function(e,t){var r=t.getZr();(r.__egl=r.__egl||new a(r)).update(e,t)}),s.a.registerPreprocessor(h.a),s.a.graphicGL=c.a},function(e,t,r){"use strict";t.a="1.2.1"},function(e,t,r){"use strict";function n(e){var t=e.__zr;e.__zr=null,t&&e.removeAnimatorsFromZr&&e.removeAnimatorsFromZr(t)}function i(e){for(var t=0;t<e.length;t++)e[t].__used__=0}function a(e,t){for(var r=0;r<t.length;r++)t[r].__used__||t[r].dispose(e)}function o(e,t){e.__used__=e.__used__||0,1===++e.__used__&&t.push(e)}function s(e,t,r){var n,i;e.traverse(function(e){if(e.isRenderable()){var a=e.geometry,s=e.material;if(s!==n)for(var u=s.getTextureUniforms(),l=0;l<u.length;l++){var h=u[l],c=s.uniforms[h].value;if(c)if(c instanceof d.a)o(c,t);else if(c instanceof Array)for(var f=0;f<c.length;f++)c[f]instanceof d.a&&o(c[f],t)}a!==i&&o(a,r),n=s,i=a}});for(var a=0;a<e.lights.length;a++)e.lights[a].cubemap&&o(e.lights[a].cubemap,t)}var u=r(0),l=r.n(u),h=r(52),c=r(117),d=r(4),f=r(1),p=r(53),m=r(80),g=r.n(m),_=function(e,t){this.id=e,this.zr=t;try{this.renderer=new h.a({clearBit:0,devicePixelRatio:t.painter.dpr,preserveDrawingBuffer:!0,premultipliedAlpha:!0}),this.renderer.resize(t.painter.getWidth(),t.painter.getHeight())}catch(e){return this.renderer=null,this.dom=document.createElement("div"),this.dom.style.cssText="position:absolute; left: 0; top: 0; right: 0; bottom: 0;",this.dom.className="ecgl-nowebgl",this.dom.innerHTML="Sorry, your browser does not support WebGL",void console.error(e)}this.onglobalout=this.onglobalout.bind(this),t.on("globalout",this.onglobalout),this.dom=this.renderer.canvas;var r=this.dom.style;r.position="absolute",r.left="0",r.top="0",this.views=[],this._picking=new c.a({renderer:this.renderer}),this._viewsToDispose=[],this._accumulatingId=0,this._zrEventProxy=new l.a.graphic.Rect({shape:{x:-1,y:-1,width:2,height:2},__isGLToZRProxy:!0}),this._backgroundColor=null};_.prototype.addView=function(e){if(e.layer!==this){var t=this._viewsToDispose.indexOf(e);t>=0&&this._viewsToDispose.splice(t,1),this.views.push(e),e.layer=this;var r=this.zr;e.scene.traverse(function(e){e.__zr=r,e.addAnimatorsToZr&&e.addAnimatorsToZr(r)})}},_.prototype.removeView=function(e){if(e.layer===this){var t=this.views.indexOf(e);t>=0&&(this.views.splice(t,1),e.scene.traverse(n,this),e.layer=null,this._viewsToDispose.push(e))}},_.prototype.removeViewsAll=function(){this.views.forEach(function(e){e.scene.traverse(n,this),e.layer=null,this._viewsToDispose.push(e)},this),this.views.length=0},_.prototype.resize=function(e,t){this.renderer.resize(e,t)},_.prototype.clear=function(){var e=this.renderer.gl,t=this._backgroundColor||[0,0,0,0];e.clearColor(t[0],t[1],t[2],t[3]),e.depthMask(!0),e.colorMask(!0,!0,!0,!0),e.clear(e.DEPTH_BUFFER_BIT|e.COLOR_BUFFER_BIT)},_.prototype.clearDepth=function(){var e=this.renderer.gl;e.clear(e.DEPTH_BUFFER_BIT)},_.prototype.clearColor=function(){var e=this.renderer.gl;e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT)},_.prototype.needsRefresh=function(){this.zr.refresh()},_.prototype.refresh=function(e){this._backgroundColor=e?f.a.parseColor(e):[0,0,0,0],this.renderer.clearColor=this._backgroundColor;for(var t=0;t<this.views.length;t++)this.views[t].prepareRender(this.renderer);this._doRender(!1),this._trackAndClean();for(var t=0;t<this._viewsToDispose.length;t++)this._viewsToDispose[t].dispose(this.renderer);this._viewsToDispose.length=0,this._startAccumulating()},_.prototype.renderToCanvas=function(e){this._startAccumulating(!0),e.drawImage(this.dom,0,0,e.canvas.width,e.canvas.height)},_.prototype._doRender=function(e){this.clear(),this.renderer.saveViewport();for(var t=0;t<this.views.length;t++)this.views[t].render(this.renderer,e);this.renderer.restoreViewport()},_.prototype._stopAccumulating=function(){this._accumulatingId=0,clearTimeout(this._accumulatingTimeout)};var v=1;_.prototype._startAccumulating=function(e){function t(i){if(r._accumulatingId&&i===r._accumulatingId){for(var a=!0,o=0;o<r.views.length;o++)a=r.views[o].isAccumulateFinished()&&n;a||(r._doRender(!0),e?t(i):g()(function(){t(i)}))}}var r=this;this._stopAccumulating();for(var n=!1,i=0;i<this.views.length;i++)n=this.views[i].needsAccumulate()||n;n&&(this._accumulatingId=v++,e?t(r._accumulatingId):this._accumulatingTimeout=setTimeout(function(){t(r._accumulatingId)},50))},_.prototype._trackAndClean=function(){var e=[],t=[];this._textureList&&(i(this._textureList),i(this._geometriesList));for(var r=0;r<this.views.length;r++)s(this.views[r].scene,e,t);this._textureList&&(a(this.renderer,this._textureList),a(this.renderer,this._geometriesList)),this._textureList=e,this._geometriesList=t},_.prototype.dispose=function(){this._stopAccumulating(),this.renderer.disposeScene(this.scene),this.zr.off("globalout",this.onglobalout)},_.prototype.onmousedown=function(e){if(!e.target||!e.target.__isGLToZRProxy){e=e.event;var t=this.pickObject(e.offsetX,e.offsetY);t&&(this._dispatchEvent("mousedown",e,t),this._dispatchDataEvent("mousedown",e,t)),this._downX=e.offsetX,this._downY=e.offsetY}},_.prototype.onmousemove=function(e){if(!e.target||!e.target.__isGLToZRProxy){e=e.event;var t=this.pickObject(e.offsetX,e.offsetY),r=t&&t.target,n=this._hovered;this._hovered=t,n&&r!==n.target&&(n.relatedTarget=r,this._dispatchEvent("mouseout",e,n),this.zr.setCursorStyle("default")),this._dispatchEvent("mousemove",e,t),t&&(this.zr.setCursorStyle("pointer"),n&&r===n.target||this._dispatchEvent("mouseover",e,t)),this._dispatchDataEvent("mousemove",e,t)}},_.prototype.onmouseup=function(e){if(!e.target||!e.target.__isGLToZRProxy){e=e.event;var t=this.pickObject(e.offsetX,e.offsetY);t&&(this._dispatchEvent("mouseup",e,t),this._dispatchDataEvent("mouseup",e,t)),this._upX=e.offsetX,this._upY=e.offsetY}},_.prototype.onclick=_.prototype.dblclick=function(e){if(!e.target||!e.target.__isGLToZRProxy){var t=this._upX-this._downX,r=this._upY-this._downY;if(!(Math.sqrt(t*t+r*r)>20)){e=e.event;var n=this.pickObject(e.offsetX,e.offsetY);n&&(this._dispatchEvent(e.type,e,n),this._dispatchDataEvent(e.type,e,n));var i=this._clickToSetFocusPoint(e);if(i){i.view.setDOFFocusOnPoint(i.distance)&&this.zr.refresh()}}}},_.prototype._clickToSetFocusPoint=function(e){for(var t=this.renderer,r=t.viewport,n=this.views.length-1;n>=0;n--){var i=this.views[n];if(i.hasDOF()&&i.containPoint(e.offsetX,e.offsetY)){this._picking.scene=i.scene,this._picking.camera=i.camera,t.viewport=i.viewport;var a=this._picking.pick(e.offsetX,e.offsetY,!0);if(a)return a.view=i,a}}t.viewport=r},_.prototype.onglobalout=function(e){var t=this._hovered;t&&this._dispatchEvent("mouseout",e,{target:t.target})},_.prototype.pickObject=function(e,t){for(var r=[],n=this.renderer,i=n.viewport,a=0;a<this.views.length;a++){var o=this.views[a];o.containPoint(e,t)&&(this._picking.scene=o.scene,this._picking.camera=o.camera,n.viewport=o.viewport,this._picking.pickAll(e,t,r))}return n.viewport=i,r.sort(function(e,t){return e.distance-t.distance}),r[0]},_.prototype._dispatchEvent=function(e,t,r){r||(r={});var n=r.target;for(r.cancelBubble=!1,r.event=t,r.type=e,r.offsetX=t.offsetX,r.offsetY=t.offsetY;n&&(n.trigger(e,r),n=n.getParent(),!r.cancelBubble););this._dispatchToView(e,r)},_.prototype._dispatchDataEvent=function(e,t,r){var n=r&&r.target,i=n&&n.dataIndex,a=n&&n.seriesIndex,o=n&&n.eventData,s=!1,u=this._zrEventProxy;u.position=[t.offsetX,t.offsetY],u.update();var l={target:u};"mousemove"===e&&(null!=i?i!==this._lastDataIndex&&(parseInt(this._lastDataIndex,10)>=0&&(u.dataIndex=this._lastDataIndex,u.seriesIndex=this._lastSeriesIndex,this.zr.handler.dispatchToElement(l,"mouseout",t)),s=!0):null!=o&&o!==this._lastEventData&&(null!=this._lastEventData&&(u.eventData=this._lastEventData,this.zr.handler.dispatchToElement(l,"mouseout",t)),s=!0),this._lastEventData=o,this._lastDataIndex=i,this._lastSeriesIndex=a),u.eventData=o,u.dataIndex=i,u.seriesIndex=a,(null!=o||parseInt(i,10)>=0&&parseInt(a,10)>=0)&&(this.zr.handler.dispatchToElement(l,e,t),s&&this.zr.handler.dispatchToElement(l,"mouseover",t))},_.prototype._dispatchToView=function(e,t){for(var r=0;r<this.views.length;r++)this.views[r].containPoint(t.offsetX,t.offsetY)&&this.views[r].trigger(e,t)},l.a.util.extend(_.prototype,p.a),t.a=_},function(e,t,r){"use strict";function n(e,t,r){"object"==typeof t&&(r=t,t=null);var n,o=this;if(!(e instanceof Function)){n=[];for(var s in e)e.hasOwnProperty(s)&&n.push(s)}var u=function(t){if(o.apply(this,arguments),e instanceof Function?i(this,e.call(this,t)):a(this,e,n),this.constructor===u)for(var r=u.__initializers__,s=0;s<r.length;s++)r[s].apply(this,arguments)};u.__super__=o,o.__initializers__?u.__initializers__=o.__initializers__.slice():u.__initializers__=[],t&&u.__initializers__.push(t);var l=function(){};return l.prototype=o.prototype,u.prototype=new l,u.prototype.constructor=u,i(u.prototype,r),u.extend=o.extend,u.derive=o.extend,u}function i(e,t){if(t)for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])}function a(e,t,r){for(var n=0;n<r.length;n++){var i=r[n];e[i]=t[i]}}t.a={extend:n,derive:n}},function(e,t,r){"use strict";function n(e){function t(t){var n=e.getExtension(t);n||(n=e.getExtension("MOZ_"+t)),n||(n=e.getExtension("WEBKIT_"+t)),r[t]=n}for(var r={},n={},o=0;o<i.length;o++){t(i[o])}for(var o=0;o<a.length;o++){var s=a[o];n[s]=e.getParameter(e[s])}this.getExtension=function(e){return e in r||t(e),r[e]},this.getParameter=function(e){return n[e]},this.getMaxJointNumber=function(){return 15}}var i=["OES_texture_float","OES_texture_half_float","OES_texture_float_linear","OES_texture_half_float_linear","OES_standard_derivatives","OES_vertex_array_object","OES_element_index_uint","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","EXT_texture_filter_anisotropic","EXT_shader_texture_lod","WEBGL_draw_buffers","EXT_frag_depth","EXT_sRGB"],a=["MAX_TEXTURE_SIZE","MAX_CUBE_MAP_TEXTURE_SIZE"];t.a=n},function(e,t,r){"use strict";function n(e){var t=new XMLHttpRequest;t.open("get",e.url),t.responseType=e.responseType||"text",e.onprogress&&(t.onprogress=function(t){if(t.lengthComputable){var r=t.loaded/t.total;e.onprogress(r,t.loaded,t.total)}else e.onprogress(null)}),t.onload=function(r){t.status>=400?e.onerror&&e.onerror():e.onload&&e.onload(t.response)},e.onerror&&(t.onerror=e.onerror),t.send(null)}t.a={get:n}},function(e,t,r){"use strict";function n(e){return e=Math.round(e),e<0?0:e>255?255:e}function i(e){return e=Math.round(e),e<0?0:e>360?360:e}function a(e){return e<0?0:e>1?1:e}function o(e){return n(e.length&&"%"===e.charAt(e.length-1)?parseFloat(e)/100*255:parseInt(e,10))}function s(e){return a(e.length&&"%"===e.charAt(e.length-1)?parseFloat(e)/100:parseFloat(e))}function u(e,t,r){return r<0?r+=1:r>1&&(r-=1),6*r<1?e+(t-e)*r*6:2*r<1?t:3*r<2?e+(t-e)*(2/3-r)*6:e}function l(e,t,r){return e+(t-e)*r}function h(e,t,r,n,i){return e[0]=t,e[1]=r,e[2]=n,e[3]=i,e}function c(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}function d(e,t){y&&c(y,t),y=v.put(e,y||t.slice())}function f(e,t){var r=(parseFloat(e[0])%360+360)%360/360,i=s(e[1]),a=s(e[2]),o=a<=.5?a*(i+1):a+i-a*i,l=2*a-o;return t=t||[],h(t,n(255*u(l,o,r+1/3)),n(255*u(l,o,r)),n(255*u(l,o,r-1/3)),1),4===e.length&&(t[3]=e[3]),t}function p(e){if(e){var t,r,n=e[0]/255,i=e[1]/255,a=e[2]/255,o=Math.min(n,i,a),s=Math.max(n,i,a),u=s-o,l=(s+o)/2;if(0===u)t=0,r=0;else{r=l<.5?u/(s+o):u/(2-s-o);var h=((s-n)/6+u/2)/u,c=((s-i)/6+u/2)/u,d=((s-a)/6+u/2)/u;n===s?t=d-c:i===s?t=1/3+h-d:a===s&&(t=2/3+c-h),t<0&&(t+=1),t>1&&(t-=1)}var f=[360*t,r,l];return null!=e[3]&&f.push(e[3]),f}}var m=r(69),g={},_={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]},v=new m.a(20),y=null;g.parse=function(e,t){if(e){t=t||[];var r=v.get(e);if(r)return c(t,r);e+="";var n=e.replace(/ /g,"").toLowerCase();if(n in _)return c(t,_[n]),d(e,t),t;if("#"!==n.charAt(0)){var i=n.indexOf("("),a=n.indexOf(")");if(-1!==i&&a+1===n.length){var u=n.substr(0,i),l=n.substr(i+1,a-(i+1)).split(","),p=1;switch(u){case"rgba":if(4!==l.length)return void h(t,0,0,0,1);p=s(l.pop());case"rgb":return 3!==l.length?void h(t,0,0,0,1):(h(t,o(l[0]),o(l[1]),o(l[2]),p),d(e,t),t);case"hsla":return 4!==l.length?void h(t,0,0,0,1):(l[3]=s(l[3]),f(l,t),d(e,t),t);case"hsl":return 3!==l.length?void h(t,0,0,0,1):(f(l,t),d(e,t),t);default:return}}h(t,0,0,0,1)}else{if(4===n.length){var m=parseInt(n.substr(1),16);return m>=0&&m<=4095?(h(t,(3840&m)>>4|(3840&m)>>8,240&m|(240&m)>>4,15&m|(15&m)<<4,1),d(e,t),t):void h(t,0,0,0,1)}if(7===n.length){var m=parseInt(n.substr(1),16);return m>=0&&m<=16777215?(h(t,(16711680&m)>>16,(65280&m)>>8,255&m,1),d(e,t),t):void h(t,0,0,0,1)}}}},g.parseToFloat=function(e,t){if(t=g.parse(e,t))return t[0]/=255,t[1]/=255,t[2]/=255,t},g.lift=function(e,t){var r=g.parse(e);if(r){for(var n=0;n<3;n++)r[n]=t<0?r[n]*(1-t)|0:(255-r[n])*t+r[n]|0;return g.stringify(r,4===r.length?"rgba":"rgb")}},g.toHex=function(e){var t=g.parse(e);if(t)return((1<<24)+(t[0]<<16)+(t[1]<<8)+ +t[2]).toString(16).slice(1)},g.fastLerp=function(e,t,r){if(t&&t.length&&e>=0&&e<=1){r=r||[];var i=e*(t.length-1),o=Math.floor(i),s=Math.ceil(i),u=t[o],h=t[s],c=i-o;return r[0]=n(l(u[0],h[0],c)),r[1]=n(l(u[1],h[1],c)),r[2]=n(l(u[2],h[2],c)),r[3]=a(l(u[3],h[3],c)),r}},g.fastMapToColor=g.fastLerp,g.lerp=function(e,t,r){if(t&&t.length&&e>=0&&e<=1){var i=e*(t.length-1),o=Math.floor(i),s=Math.ceil(i),u=g.parse(t[o]),h=g.parse(t[s]),c=i-o,d=g.stringify([n(l(u[0],h[0],c)),n(l(u[1],h[1],c)),n(l(u[2],h[2],c)),a(l(u[3],h[3],c))],"rgba");return r?{color:d,leftIndex:o,rightIndex:s,value:i}:d}},g.mapToColor=g.lerp,g.modifyHSL=function(e,t,r,n){if(e=g.parse(e))return e=p(e),null!=t&&(e[0]=i(t)),null!=r&&(e[1]=s(r)),null!=n&&(e[2]=s(n)),g.stringify(f(e),"rgba")},g.modifyAlpha=function(e,t){if((e=g.parse(e))&&null!=t)return e[3]=a(t),g.stringify(e,"rgba")},g.stringify=function(e,t){if(e&&e.length){var r=e[0]+","+e[1]+","+e[2];return"rgba"!==t&&"hsva"!==t&&"hsla"!==t||(r+=","+e[3]),t+"("+r+")"}},t.a=g},function(e,t,r){"use strict";var n=function(){this.head=null,this.tail=null,this._length=0};n.prototype.insert=function(e){var t=new n.Entry(e);return this.insertEntry(t),t},n.prototype.insertAt=function(e,t){if(!(e<0)){for(var r=this.head,i=0;r&&i!=e;)r=r.next,i++;if(r){var a=new n.Entry(t),o=r.prev;o?(o.next=a,a.prev=o):this.head=a,a.next=r,r.prev=a}else this.insert(t)}},n.prototype.insertBeforeEntry=function(e,t){var r=new n.Entry(e),i=t.prev;i?(i.next=r,r.prev=i):this.head=r,r.next=t,t.prev=r,this._length++},n.prototype.insertEntry=function(e){this.head?(this.tail.next=e,e.prev=this.tail,this.tail=e):this.head=this.tail=e,this._length++},n.prototype.remove=function(e){var t=e.prev,r=e.next;t?t.next=r:this.head=r,r?r.prev=t:this.tail=t,e.next=e.prev=null,this._length--},n.prototype.removeAt=function(e){if(!(e<0)){for(var t=this.head,r=0;t&&r!=e;)t=t.next,r++;return t?(this.remove(t),t.value):void 0}},n.prototype.getHead=function(){if(this.head)return this.head.value},n.prototype.getTail=function(){if(this.tail)return this.tail.value},n.prototype.getAt=function(e){if(!(e<0)){for(var t=this.head,r=0;t&&r!=e;)t=t.next,r++;return t.value}},n.prototype.indexOf=function(e){for(var t=this.head,r=0;t;){if(t.value===e)return r;t=t.next,r++}},n.prototype.length=function(){return this._length},n.prototype.isEmpty=function(){return 0===this._length},n.prototype.forEach=function(e,t){for(var r=this.head,n=0,i=void 0!==t;r;)i?e.call(t,r.value,n):e(r.value,n),r=r.next,n++},n.prototype.clear=function(){this.tail=this.head=null,this._length=0},n.Entry=function(e){this.value=e,this.next=null,this.prev=null},t.a=n},function(e,t,r){"use strict";function n(e,t,r){function n(e,r,n,a){var o="";isNaN(r)&&(r=r in t?t[r]:i[r]),isNaN(n)&&(n=n in t?t[n]:i[n]);for(var s=parseInt(r);s<parseInt(n);s++)o+="{"+a.replace(/float\s*\(\s*_idx_\s*\)/g,s.toFixed(1)).replace(/_idx_/g,s)+"}";return o}var i={};for(var a in r)i[a+"_COUNT"]=r[a];return e.replace(l,n)}function i(e,t,r){var n=[];if(t)for(var i in t){var a=t[i];a>0&&n.push("#define "+i.toUpperCase()+"_COUNT "+a)}if(r)for(var o=0;o<r.length;o++){var s=r[o];n.push("#define "+s.toUpperCase()+"_ENABLED")}for(var s in e){var u=e[s];null===u?n.push("#define "+s):n.push("#define "+s+" "+u.toString())}return n.join("\n")}function a(e){for(var t=[],r=0;r<e.length;r++)t.push("#extension GL_"+e[r]+" : enable");return t.join("\n")}function o(e){return["precision",e,"float"].join(" ")+";\n"+["precision",e,"int"].join(" ")+";\n"+["precision",e,"sampler2D"].join(" ")+";\n"}function s(e){this._renderer=e,this._cache={}}var u=r(116),l=/for\s*?\(int\s*?_idx_\s*\=\s*([\w-]+)\;\s*_idx_\s*<\s*([\w-]+);\s*_idx_\s*\+\+\s*\)\s*\{\{([\s\S]+?)(?=\}\})\}\}/g;s.prototype.getProgram=function(e,t,r){var s=this._cache,l=e.isSkinnedMesh&&e.isSkinnedMesh(),h="s"+t.shader.shaderID+"m"+t.getProgramKey();r&&(h+="se"+r.getProgramKey(e.lightGroup)),l&&(h+=","+e.joints.length);var c=s[h];if(c)return c;var d=r?r.getLightsNumbers(e.lightGroup):{},f=this._renderer,p=f.gl,m=t.getEnabledTextures(),g="";if(l){var _={SKINNING:null,JOINT_COUNT:e.joints.length};e.joints.length>f.getMaxJointNumber()&&(_.USE_SKIN_MATRICES_TEXTURE=null),g="\n"+i(_)+"\n"}var v=g+i(t.vertexDefines,d,m),y=g+i(t.fragmentDefines,d,m),x=v+"\n"+t.shader.vertex,T=["OES_standard_derivatives","EXT_shader_texture_lod"].filter(function(e){return null!=f.getGLExtension(e)});T.indexOf("EXT_shader_texture_lod")>=0&&(y+="\n#define SUPPORT_TEXTURE_LOD"),T.indexOf("OES_standard_derivatives")>=0&&(y+="\n#define SUPPORT_STANDARD_DERIVATIVES");var b=a(T)+"\n"+o(t.precision)+"\n"+y+"\n"+t.shader.fragment,w=n(x,t.vertexDefines,d),E=n(b,t.fragmentDefines,d),c=new u.a;c.uniformSemantics=t.shader.uniformSemantics,c.attributes=t.shader.attributes;var S=c.buildProgram(p,t.shader,w,E);return c.__error=S,s[h]=c,c},t.a=s},function(e,t,r){"use strict";function n(e){for(var t=e.split("\n"),r=0,n=t.length;r<n;r++)t[r]=r+1+": "+t[r];return t.join("\n")}function i(e,t,r){if(!e.getShaderParameter(t,e.COMPILE_STATUS))return[e.getShaderInfoLog(t),n(r)].join("\n")}var a=r(14),o=r(7),s={},u=new a.a.Float32Array(16),l=o.a.extend({uniformSemantics:{},attributes:{}},function(){this._locations={},this._textureSlot=0,this._program=null},{bind:function(e){this._textureSlot=0,e.gl.useProgram(this._program)},hasUniform:function(e){var t=this._locations[e];return null!==t&&void 0!==t},useTextureSlot:function(e,t,r){t&&(e.gl.activeTexture(e.gl.TEXTURE0+r),t.isRenderable()?t.bind(e):t.unbind(e))},currentTextureSlot:function(){return this._textureSlot},resetTextureSlot:function(e){this._textureSlot=e||0},takeCurrentTextureSlot:function(e,t){var r=this._textureSlot;return this.useTextureSlot(e,t,r),this._textureSlot++,r},setUniform:function(e,t,r,n){var i=this._locations,o=i[r];if(null===o||void 0===o)return!1;switch(t){case"m4":if(!(n instanceof Float32Array)){for(var s=0;s<n.length;s++)u[s]=n[s];n=u}e.uniformMatrix4fv(o,!1,n);break;case"2i":e.uniform2i(o,n[0],n[1]);break;case"2f":e.uniform2f(o,n[0],n[1]);break;case"3i":e.uniform3i(o,n[0],n[1],n[2]);break;case"3f":e.uniform3f(o,n[0],n[1],n[2]);break;case"4i":e.uniform4i(o,n[0],n[1],n[2],n[3]);break;case"4f":e.uniform4f(o,n[0],n[1],n[2],n[3]);break;case"1i":e.uniform1i(o,n);break;case"1f":e.uniform1f(o,n);break;case"1fv":e.uniform1fv(o,n);break;case"1iv":e.uniform1iv(o,n);break;case"2iv":e.uniform2iv(o,n);break;case"2fv":e.uniform2fv(o,n);break;case"3iv":e.uniform3iv(o,n);break;case"3fv":e.uniform3fv(o,n);break;case"4iv":e.uniform4iv(o,n);break;case"4fv":e.uniform4fv(o,n);break;case"m2":case"m2v":e.uniformMatrix2fv(o,!1,n);break;case"m3":case"m3v":e.uniformMatrix3fv(o,!1,n);break;case"m4v":if(Array.isArray(n)&&Array.isArray(n[0])){for(var l=new a.a.Float32Array(16*n.length),h=0,s=0;s<n.length;s++)for(var c=n[s],d=0;d<16;d++)l[h++]=c[d];e.uniformMatrix4fv(o,!1,l)}else e.uniformMatrix4fv(o,!1,n)}return!0},setUniformOfSemantic:function(e,t,r){var n=this.uniformSemantics[t];return!!n&&this.setUniform(e,n.type,n.symbol,r)},enableAttributes:function(e,t,r){var n,i=e.gl,a=this._program,o=this._locations;(n=r?r.__enabledAttributeList:s[e.__uid__])||(n=r?r.__enabledAttributeList=[]:s[e.__uid__]=[]);for(var u=[],l=0;l<t.length;l++){var h=t[l];if(this.attributes[h]){var c=o[h];if(null==c){if(-1===(c=i.getAttribLocation(a,h))){u[l]=-1;continue}o[h]=c}u[l]=c,n[c]?n[c]=2:n[c]=1}else u[l]=-1}for(var l=0;l<n.length;l++)switch(n[l]){case 1:i.enableVertexAttribArray(l),n[l]=3;break;case 2:n[l]=3;break;case 3:i.disableVertexAttribArray(l),n[l]=0}return u},buildProgram:function(e,t,r,n){var a=e.createShader(e.VERTEX_SHADER),o=e.createProgram();e.shaderSource(a,r),e.compileShader(a);var s=e.createShader(e.FRAGMENT_SHADER);e.shaderSource(s,n),e.compileShader(s);var u=i(e,a,r);if(u)return u;if(u=i(e,s,n))return u;if(e.attachShader(o,a),e.attachShader(o,s),t.attributeSemantics.POSITION)e.bindAttribLocation(o,0,t.attributeSemantics.POSITION.symbol);else{var l=Object.keys(this.attributes);e.bindAttribLocation(o,0,l[0])}if(e.linkProgram(o),!e.getProgramParameter(o,e.LINK_STATUS))return"Could not link program\n"+e.getProgramInfoLog(o);for(var h=0;h<t.uniforms.length;h++){var c=t.uniforms[h];this._locations[c]=e.getUniformLocation(o,c)}e.deleteShader(a),e.deleteShader(s),this._program=o,this.vertexCode=r,this.fragmentCode=n}});t.a=l},function(e,t,r){"use strict";var n=r(7),i=r(54),a=r(26),o=r(3),s=r(9),u=r(72),l=r(11),h=r(12),c=n.a.extend({scene:null,camera:null,renderer:null},function(){this._ray=new i.a,this._ndc=new a.a},{pick:function(e,t,r){return this.pickAll(e,t,[],r)[0]||null},pickAll:function(e,t,r,n){return this.renderer.screenToNDC(e,t,this._ndc),this.camera.castRay(this._ndc,this._ray),r=r||[],this._intersectNode(this.scene,r,n||!1),r.sort(this._intersectionCompareFunc),r},_intersectNode:function(e,t,r){e instanceof u.a&&e.isRenderable()&&(e.ignorePicking&&!r||!(e.mode===l.a.TRIANGLES&&e.geometry.isUseIndices()||e.geometry.pickByRay||e.geometry.pick)||this._intersectRenderable(e,t));for(var n=0;n<e._children.length;n++)this._intersectNode(e._children[n],t,r)},_intersectRenderable:function(){var e=new o.a,t=new o.a,r=new o.a,n=new i.a,a=new s.a;return function(i,u){var d=i.isSkinnedMesh();n.copy(this._ray),s.a.invert(a,i.worldTransform),d||n.applyTransform(a);var f=i.geometry,p=d?i.skeleton.boundingBox:f.boundingBox;if(!p||n.intersectBoundingBox(p)){if(f.pick)return void f.pick(this._ndc.x,this._ndc.y,this.renderer,this.camera,i,u);if(f.pickByRay)return void f.pickByRay(n,i,u);var m,g,_=i.cullFace===l.a.BACK&&i.frontFace===l.a.CCW||i.cullFace===l.a.FRONT&&i.frontFace===l.a.CW,v=f.indices,y=f.attributes.position,x=f.attributes.weight,T=f.attributes.joint,b=[];if(y&&y.value&&v){if(d){g=i.skeleton.getSubSkinMatrices(i.__uid__,i.joints);for(var w=0;w<i.joints.length;w++){b[w]=b[w]||[];for(var E=0;E<16;E++)b[w][E]=g[16*w+E]}var S=[],A=[],M=[],C=[],L=[],D=f.attributes.skinnedPosition;D&&D.value||(f.createAttribute("skinnedPosition","f",3),D=f.attributes.skinnedPosition,D.init(f.vertexCount));for(var w=0;w<f.vertexCount;w++){y.get(w,S),x.get(w,A),T.get(w,M),A[3]=1-A[0]-A[1]-A[2],h.a.set(C,0,0,0);for(var E=0;E<4;E++)M[E]>=0&&A[E]>1e-4&&(h.a.transformMat4(L,S,b[M[E]]),h.a.scaleAndAdd(C,C,L,A[E]));D.set(w,C)}}for(var w=0;w<v.length;w+=3){var N=v[w],R=v[w+1],P=v[w+2],I=d?f.attributes.skinnedPosition:y;if(I.get(N,e.array),I.get(R,t.array),I.get(P,r.array),m=_?n.intersectTriangle(e,t,r,i.culling):n.intersectTriangle(e,r,t,i.culling)){var O=new o.a;d?o.a.copy(O,m):o.a.transformMat4(O,m,i.worldTransform),u.push(new c.Intersection(m,O,i,[N,R,P],w/3,o.a.dist(O,this._ray.origin)))}}}}}}(),_intersectionCompareFunc:function(e,t){return e.distance-t.distance}});c.Intersection=function(e,t,r,n,i,a){this.point=e,this.pointWorld=t,this.target=r,this.triangle=n,this.triangleIndex=i,this.distance=a},t.a=c},function(e,t,r){"use strict";function n(e){return{byte:c.a.Int8Array,ubyte:c.a.Uint8Array,short:c.a.Int16Array,ushort:c.a.Uint16Array}[e]||c.a.Float32Array}function i(e){return"attr_"+e}function a(e,t,r,n){switch(this.name=e,this.type=t,this.size=r,this.semantic=n||"",this.value=null,r){case 1:this.get=function(e){return this.value[e]},this.set=function(e,t){this.value[e]=t},this.copy=function(e,t){this.value[e]=this.value[e]};break;case 2:this.get=function(e,t){var r=this.value;return t[0]=r[2*e],t[1]=r[2*e+1],t},this.set=function(e,t){var r=this.value;r[2*e]=t[0],r[2*e+1]=t[1]},this.copy=function(e,t){var r=this.value;t*=2,e*=2,r[e]=r[t],r[e+1]=r[t+1]};break;case 3:this.get=function(e,t){var r=3*e,n=this.value;return t[0]=n[r],t[1]=n[r+1],t[2]=n[r+2],t},this.set=function(e,t){var r=3*e,n=this.value;n[r]=t[0],n[r+1]=t[1],n[r+2]=t[2]},this.copy=function(e,t){var r=this.value;t*=3,e*=3,r[e]=r[t],r[e+1]=r[t+1],r[e+2]=r[t+2]};break;case 4:this.get=function(e,t){var r=this.value,n=4*e;return t[0]=r[n],t[1]=r[n+1],t[2]=r[n+2],t[3]=r[n+3],t},this.set=function(e,t){var r=this.value,n=4*e;r[n]=t[0],r[n+1]=t[1],r[n+2]=t[2],r[n+3]=t[3]},this.copy=function(e,t){var r=this.value;t*=4,e*=4,r[e]=r[t],r[e+1]=r[t+1],r[e+2]=r[t+2],r[e+3]=r[t+3]}}}function o(e,t,r,n,i){this.name=e,this.type=t,this.buffer=r,this.size=n,this.semantic=i,this.symbol="",this.needsRemove=!1}function s(e){this.buffer=e,this.count=0}var u=r(7),l=r(11),h=r(57),c=r(14);a.prototype.init=function(e){if(!this.value||this.value.length!=e*this.size){var t=n(this.type);this.value=new t(e*this.size)}},a.prototype.fromArray=function(e){var t,r=n(this.type);if(e[0]&&e[0].length){var i=0,a=this.size;t=new r(e.length*a);for(var o=0;o<e.length;o++)for(var s=0;s<a;s++)t[i++]=e[o][s]}else t=new r(e);this.value=t},a.prototype.clone=function(e){var t=new a(this.name,this.type,this.size,this.semantic);return e&&console.warn("todo"),t};var d=u.a.extend(function(){return{attributes:{},indices:null,dynamic:!0,_enabledAttributes:null,__used:0}},function(){this._cache=new h.a,this._attributeList=Object.keys(this.attributes),this.__vaoCache={}},{mainAttribute:"",pick:null,pickByRay:null,dirty:function(){for(var e=this.getEnabledAttributes(),t=0;t<e.length;t++)this.dirtyAttribute(e[t]);this.dirtyIndices(),this._enabledAttributes=null,this._cache.dirty("any")},dirtyIndices:function(){this._cache.dirtyAll("indices")},dirtyAttribute:function(e){this._cache.dirtyAll(i(e)),this._cache.dirtyAll("attributes")},getTriangleIndices:function(e,t){if(e<this.triangleCount&&e>=0){t||(t=[]);var r=this.indices;return t[0]=r[3*e],t[1]=r[3*e+1],t[2]=r[3*e+2],t}},setTriangleIndices:function(e,t){var r=this.indices;r[3*e]=t[0],r[3*e+1]=t[1],r[3*e+2]=t[2]},isUseIndices:function(){return!!this.indices},initIndicesFromArray:function(e){var t,r=this.vertexCount>65535?c.a.Uint32Array:c.a.Uint16Array;if(e[0]&&e[0].length){var n=0;t=new r(3*e.length);for(var i=0;i<e.length;i++)for(var a=0;a<3;a++)t[n++]=e[i][a]}else t=new r(e);this.indices=t},createAttribute:function(e,t,r,n){var i=new a(e,t,r,n);return this.attributes[e]&&this.removeAttribute(e),this.attributes[e]=i,this._attributeList.push(e),i},removeAttribute:function(e){var t=this._attributeList,r=t.indexOf(e);return r>=0&&(t.splice(r,1),delete this.attributes[e],!0)},getAttribute:function(e){return this.attributes[e]},getEnabledAttributes:function(){var e=this._enabledAttributes,t=this._attributeList;if(e)return e;for(var r=[],n=this.vertexCount,i=0;i<t.length;i++){var a=t[i],o=this.attributes[a];o.value&&o.value.length===n*o.size&&r.push(a)}return this._enabledAttributes=r,r},getBufferChunks:function(e){var t=this._cache;t.use(e.__uid__);var r=t.isDirty("attributes"),n=t.isDirty("indices");if(r||n){this._updateBuffer(e.gl,r,n);for(var a=this.getEnabledAttributes(),o=0;o<a.length;o++)t.fresh(i(a[o]));t.fresh("attributes"),t.fresh("indices")}return t.fresh("any"),t.get("chunks")},_updateBuffer:function(e,t,r){var n=this._cache,a=n.get("chunks"),u=!1;a||(a=[],a[0]={attributeBuffers:[],indicesBuffer:null},n.put("chunks",a),u=!0);var h=a[0],c=h.attributeBuffers,d=h.indicesBuffer;if(t||u){var f=this.getEnabledAttributes(),p={};if(!u)for(var m=0;m<c.length;m++)p[c[m].name]=c[m];for(var g=0;g<f.length;g++){var _,v=f[g],y=this.attributes[v];u||(_=p[v]);var x;x=_?_.buffer:e.createBuffer(),n.isDirty(i(v))&&(e.bindBuffer(e.ARRAY_BUFFER,x),e.bufferData(e.ARRAY_BUFFER,y.value,this.dynamic?l.a.DYNAMIC_DRAW:l.a.STATIC_DRAW)),c[g]=new o(v,y.type,x,y.size,y.semantic)}for(var m=g;m<c.length;m++)e.deleteBuffer(c[m].buffer);c.length=g}this.isUseIndices()&&(r||u)&&(d||(d=new s(e.createBuffer()),h.indicesBuffer=d),d.count=this.indices.length,e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,d.buffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,this.dynamic?l.a.DYNAMIC_DRAW:l.a.STATIC_DRAW))},dispose:function(e){var t=this._cache;t.use(e.__uid__);var r=t.get("chunks");if(r)for(var n=0;n<r.length;n++){for(var i=r[n],a=0;a<i.attributeBuffers.length;a++){var o=i.attributeBuffers[a];e.gl.deleteBuffer(o.buffer)}i.indicesBuffer&&e.gl.deleteBuffer(i.indicesBuffer.buffer)}if(this.__vaoCache){var s=e.getGLExtension("OES_vertex_array_object");for(var u in this.__vaoCache){var l=this.__vaoCache[u].vao;l&&s.deleteVertexArrayOES(l)}}this.__vaoCache={},t.deleteContext(e.__uid__)}});Object.defineProperty&&(Object.defineProperty(d.prototype,"vertexCount",{enumerable:!1,get:function(){var e=this.attributes[this.mainAttribute];return e||(e=this.attributes[this._attributeList[0]]),e&&e.value?e.value.length/e.size:0}}),Object.defineProperty(d.prototype,"triangleCount",{enumerable:!1,get:function(){var e=this.indices;return e?e.length/3:0}})),d.STATIC_DRAW=l.a.STATIC_DRAW,d.DYNAMIC_DRAW=l.a.DYNAMIC_DRAW,d.STREAM_DRAW=l.a.STREAM_DRAW,d.AttributeBuffer=o,d.IndicesBuffer=s,d.Attribute=a,t.a=d},function(e,t,r){"use strict";var n=r(120),i=":unconfigurable;";t.a=["@export clay.header.directional_light","uniform vec3 directionalLightDirection[DIRECTIONAL_LIGHT_COUNT]"+i,"uniform vec3 directionalLightColor[DIRECTIONAL_LIGHT_COUNT]"+i,"@end","@export clay.header.ambient_light","uniform vec3 ambientLightColor[AMBIENT_LIGHT_COUNT]"+i,"@end","@export clay.header.ambient_sh_light","uniform vec3 ambientSHLightColor[AMBIENT_SH_LIGHT_COUNT]"+i,"uniform vec3 ambientSHLightCoefficients[AMBIENT_SH_LIGHT_COUNT * 9]"+i,n.a,"@end","@export clay.header.ambient_cubemap_light","uniform vec3 ambientCubemapLightColor[AMBIENT_CUBEMAP_LIGHT_COUNT]"+i,"uniform samplerCube ambientCubemapLightCubemap[AMBIENT_CUBEMAP_LIGHT_COUNT]"+i,"uniform sampler2D ambientCubemapLightBRDFLookup[AMBIENT_CUBEMAP_LIGHT_COUNT]"+i,"@end","@export clay.header.point_light","uniform vec3 pointLightPosition[POINT_LIGHT_COUNT]"+i,"uniform float pointLightRange[POINT_LIGHT_COUNT]"+i,"uniform vec3 pointLightColor[POINT_LIGHT_COUNT]"+i,"@end","@export clay.header.spot_light","uniform vec3 spotLightPosition[SPOT_LIGHT_COUNT]"+i,"uniform vec3 spotLightDirection[SPOT_LIGHT_COUNT]"+i,"uniform float spotLightRange[SPOT_LIGHT_COUNT]"+i,"uniform float spotLightUmbraAngleCosine[SPOT_LIGHT_COUNT]"+i,"uniform float spotLightPenumbraAngleCosine[SPOT_LIGHT_COUNT]"+i,"uniform float spotLightFalloffFactor[SPOT_LIGHT_COUNT]"+i,"uniform vec3 spotLightColor[SPOT_LIGHT_COUNT]"+i,"@end"].join("\n")},function(e,t,r){"use strict";t.a="vec3 calcAmbientSHLight(int idx, vec3 N) {\n int offset = 9 * idx;\n return ambientSHLightCoefficients[0]\n + ambientSHLightCoefficients[1] * N.x\n + ambientSHLightCoefficients[2] * N.y\n + ambientSHLightCoefficients[3] * N.z\n + ambientSHLightCoefficients[4] * N.x * N.z\n + ambientSHLightCoefficients[5] * N.z * N.y\n + ambientSHLightCoefficients[6] * N.y * N.x\n + ambientSHLightCoefficients[7] * (3.0 * N.z * N.z - 1.0)\n + ambientSHLightCoefficients[8] * (N.x * N.x - N.y * N.y);\n}"},function(e,t,r){"use strict";t.a="@export clay.skybox.vertex\n#define SHADER_NAME skybox\nuniform mat4 world : WORLD;\nuniform mat4 worldViewProjection : WORLDVIEWPROJECTION;\nattribute vec3 position : POSITION;\nvarying vec3 v_WorldPosition;\nvoid main()\n{\n v_WorldPosition = (world * vec4(position, 1.0)).xyz;\n gl_Position = worldViewProjection * vec4(position, 1.0);\n}\n@end\n@export clay.skybox.fragment\n#define PI 3.1415926\nuniform mat4 viewInverse : VIEWINVERSE;\n#ifdef EQUIRECTANGULAR\nuniform sampler2D environmentMap;\n#else\nuniform samplerCube environmentMap;\n#endif\nuniform float lod: 0.0;\nvarying vec3 v_WorldPosition;\n@import clay.util.rgbm\n@import clay.util.srgb\n@import clay.util.ACES\nvoid main()\n{\n vec3 eyePos = viewInverse[3].xyz;\n vec3 V = normalize(v_WorldPosition - eyePos);\n#ifdef EQUIRECTANGULAR\n float phi = acos(V.y);\n float theta = atan(-V.x, V.z) + PI * 0.5;\n vec2 uv = vec2(theta / 2.0 / PI, phi / PI);\n vec4 texel = decodeHDR(texture2D(environmentMap, fract(uv)));\n#else\n #if defined(LOD) || defined(SUPPORT_TEXTURE_LOD)\n vec4 texel = decodeHDR(textureCubeLodEXT(environmentMap, V, lod));\n #else\n vec4 texel = decodeHDR(textureCube(environmentMap, V));\n #endif\n#endif\n#ifdef SRGB_DECODE\n texel = sRGBToLinear(texel);\n#endif\n#ifdef TONEMAPPING\n texel.rgb = ACESToneMapping(texel.rgb);\n#endif\n#ifdef SRGB_ENCODE\n texel = linearTosRGB(texel);\n#endif\n gl_FragColor = encodeHDR(vec4(texel.rgb, 1.0));\n}\n@end"},function(e,t,r){"use strict";function n(e){return e.charCodeAt(0)+(e.charCodeAt(1)<<8)+(e.charCodeAt(2)<<16)+(e.charCodeAt(3)<<24)}var i=r(4),a=r(5),o=(r(27),n("DXT1")),s=n("DXT3"),u=n("DXT5"),l={parse:function(e,t){var r=new Int32Array(e,0,31);if(542327876!==r[0])return null;if(4&!r(20))return null;var n,l,h=r(21),c=r[4],d=r[3],f=512&r[28],p=131072&r[2];switch(h){case o:n=8,l=i.a.COMPRESSED_RGB_S3TC_DXT1_EXT;break;case s:n=16,l=i.a.COMPRESSED_RGBA_S3TC_DXT3_EXT;break;case u:n=16,l=i.a.COMPRESSED_RGBA_S3TC_DXT5_EXT;break;default:return null}var m=r[1]+4,g=f?6:1,_=1;p&&(_=Math.max(1,r[7]));for(var v=[],y=0;y<g;y++){var x=c,T=d;v[y]=new a.a({width:x,height:T,format:l});for(var b=[],w=0;w<_;w++){var E=Math.max(4,x)/4*Math.max(4,T)/4*n,S=new Uint8Array(e,m,E);m+=E,x*=.5,T*=.5,b[w]=S}v[y].pixels=b[0],p&&(v[y].mipmaps=b)}if(!t)return v[0];t.width=v[0].width,t.height=v[0].height,t.format=v[0].format,t.pixels=v[0].pixels,t.mipmaps=v[0].mipmaps}};t.a=l},function(e,t,r){"use strict";function n(e,t,r,n){if(e[3]>0){var i=Math.pow(2,e[3]-128-8+n);t[r+0]=e[0]*i,t[r+1]=e[1]*i,t[r+2]=e[2]*i}else t[r+0]=0,t[r+1]=0,t[r+2]=0;return t[r+3]=1,t}function i(e,t,r){for(var n="",i=t;i<r;i++)n+=h(e[i]);return n}function a(e,t){t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3]}function o(e,t,r,n){for(var i=0,o=0,s=n;s>0;)if(e[o][0]=t[r++],e[o][1]=t[r++],e[o][2]=t[r++],e[o][3]=t[r++],1===e[o][0]&&1===e[o][1]&&1===e[o][2]){for(var u=e[o][3]<<i>>>0;u>0;u--)a(e[o-1],e[o]),o++,s--;i+=8}else o++,s--,i=0;return r}function s(e,t,r,n){if(n<c|n>d)return o(e,t,r,n);var i=t[r++];if(2!=i)return o(e,t,r-1,n);if(e[0][1]=t[r++],e[0][2]=t[r++],i=t[r++],(e[0][2]<<8>>>0|i)>>>0!==n)return null;for(var i=0;i<4;i++)for(var a=0;a<n;){var s=t[r++];if(s>128){s=(127&s)>>>0;for(var u=t[r++];s--;)e[a++][i]=u}else for(;s--;)e[a++][i]=t[r++]}return r}var u=r(4),l=r(5),h=String.fromCharCode,c=8,d=32767,f={parseRGBE:function(e,t,r){null==r&&(r=0);var a=new Uint8Array(e),o=a.length;if("#?"===i(a,0,2)){for(var c=2;c<o&&("\n"!==h(a[c])||"\n"!==h(a[c+1]));c++);if(!(c>=o)){c+=2;for(var d="";c<o;c++){var f=h(a[c]);if("\n"===f)break;d+=f}var p=d.split(" "),m=parseInt(p[1]),g=parseInt(p[3]);if(g&&m){for(var _=c+1,v=[],y=0;y<g;y++){v[y]=[];for(var x=0;x<4;x++)v[y][x]=0}for(var T=new Float32Array(g*m*4),b=0,w=0;w<m;w++){var _=s(v,a,_,g);if(!_)return null;for(var y=0;y<g;y++)n(v[y],T,b,r),b+=4}return t||(t=new l.a),t.width=g,t.height=m,t.pixels=T,t.type=u.a.FLOAT,t}}}},parseRGBEFromPNG:function(e){}};t.a=f},function(e,t,r){"use strict";function n(e){return"_on"+e}var i=r(5),a=r(3),o=r(26),s=["mousedown","mouseup","mousemove","mouseover","mouseout","click","dblclick","contextmenu"],u=function(e){var t=this;this._texture=new i.a({anisotropic:32,flipY:!1,surface:this,dispose:function(e){t.dispose(),i.a.prototype.dispose.call(this,e)}}),s.forEach(function(e){this[n(e)]=function(t){t.triangle&&this._meshes.forEach(function(r){this.dispatchEvent(e,r,t.triangle,t.point)},this)}},this),this._meshes=[],e&&this.setECharts(e),this.onupdate=null};u.prototype={constructor:u,getTexture:function(){return this._texture},setECharts:function(e){this._chart=e;var t=e.getDom();if(t instanceof HTMLCanvasElement){var r=this,n=e.getZr(),i=n.__oldRefreshImmediately||n.refreshImmediately;n.refreshImmediately=function(){i.call(this),r._texture.dirty(),r.onupdate&&r.onupdate()},n.__oldRefreshImmediately=i}else console.error("ECharts must init on canvas if it is used as texture."),t=document.createElement("canvas");this._texture.image=t,this._texture.dirty(),this.onupdate&&this.onupdate()},dispatchEvent:function(){var e=new a.a,t=new a.a,r=new a.a,n=new o.a,i=new o.a,s=new o.a,u=new o.a,l=new a.a;return function(h,c,d,f){var p=c.geometry,m=p.attributes.position,g=p.attributes.texcoord0,_=a.a.dot,v=a.a.cross;m.get(d[0],e.array),m.get(d[1],t.array),m.get(d[2],r.array),g.get(d[0],n.array),g.get(d[1],i.array),g.get(d[2],s.array),v(l,t,r);var y=_(e,l),x=_(f,l)/y;v(l,r,e);var T=_(f,l)/y;v(l,e,t);var b=_(f,l)/y;o.a.scale(u,n,x),o.a.scaleAndAdd(u,u,i,T),o.a.scaleAndAdd(u,u,s,b);var w=u.x*this._chart.getWidth(),E=u.y*this._chart.getHeight();this._chart.getZr().handler.dispatch(h,{zrX:w,zrY:E})}}(),attachToMesh:function(e){this._meshes.indexOf(e)>=0||(s.forEach(function(t){e.on(t,this[n(t)],this)},this),this._meshes.push(e))},detachFromMesh:function(e){var t=this._meshes.indexOf(e);t>=0&&this._meshes.splice(t,1),s.forEach(function(t){e.off(t,this[n(t)])},this)},dispose:function(){this._meshes.forEach(function(e){this.detachFromMesh(e)},this)}},t.a=u},function(e,t,r){"use strict";var n=r(24),i=r(77),a=n.a.extend({cubemap:null,castShadow:!1,_normalDistribution:null,_brdfLookup:null},{type:"AMBIENT_CUBEMAP_LIGHT",prefilter:function(e,t){if(!e.getGLExtension("EXT_shader_texture_lod"))return void console.warn("Device not support textureCubeLodEXT");this._brdfLookup||(this._normalDistribution=i.a.generateNormalDistribution(),this._brdfLookup=i.a.integrateBRDF(e,this._normalDistribution));var r=this.cubemap;if(!r.__prefiltered){var n=i.a.prefilterEnvironmentMap(e,r,{encodeRGBM:!0,width:t,height:t},this._normalDistribution,this._brdfLookup);this.cubemap=n.environmentMap,this.cubemap.__prefiltered=!0,r.dispose(e)}},getBRDFLookup:function(){return this._brdfLookup},uniformTemplates:{ambientCubemapLightColor:{type:"3f",value:function(e){var t=e.color,r=e.intensity;return[t[0]*r,t[1]*r,t[2]*r]}},ambientCubemapLightCubemap:{type:"t",value:function(e){return e.cubemap}},ambientCubemapLightBRDFLookup:{type:"t",value:function(e){return e._brdfLookup}}}});t.a=a},function(e,t,r){"use strict";t.a="\n@export clay.compositor.vertex\nuniform mat4 worldViewProjection : WORLDVIEWPROJECTION;\nattribute vec3 position : POSITION;\nattribute vec2 texcoord : TEXCOORD_0;\nvarying vec2 v_Texcoord;\nvoid main()\n{\n v_Texcoord = texcoord;\n gl_Position = worldViewProjection * vec4(position, 1.0);\n}\n@end"},function(e,t,r){"use strict";t.a="#define SAMPLE_NUMBER 1024\n#define PI 3.14159265358979\nuniform sampler2D normalDistribution;\nuniform vec2 viewportSize : [512, 256];\nconst vec3 N = vec3(0.0, 0.0, 1.0);\nconst float fSampleNumber = float(SAMPLE_NUMBER);\nvec3 importanceSampleNormal(float i, float roughness, vec3 N) {\n vec3 H = texture2D(normalDistribution, vec2(roughness, i)).rgb;\n vec3 upVector = abs(N.y) > 0.999 ? vec3(1.0, 0.0, 0.0) : vec3(0.0, 1.0, 0.0);\n vec3 tangentX = normalize(cross(N, upVector));\n vec3 tangentZ = cross(N, tangentX);\n return normalize(tangentX * H.x + N * H.y + tangentZ * H.z);\n}\nfloat G_Smith(float roughness, float NoV, float NoL) {\n float k = roughness * roughness / 2.0;\n float G1V = NoV / (NoV * (1.0 - k) + k);\n float G1L = NoL / (NoL * (1.0 - k) + k);\n return G1L * G1V;\n}\nvoid main() {\n vec2 uv = gl_FragCoord.xy / viewportSize;\n float NoV = uv.x;\n float roughness = uv.y;\n vec3 V;\n V.x = sqrt(1.0 - NoV * NoV);\n V.y = 0.0;\n V.z = NoV;\n float A = 0.0;\n float B = 0.0;\n for (int i = 0; i < SAMPLE_NUMBER; i++) {\n vec3 H = importanceSampleNormal(float(i) / fSampleNumber, roughness, N);\n vec3 L = reflect(-V, H);\n float NoL = clamp(L.z, 0.0, 1.0);\n float NoH = clamp(H.z, 0.0, 1.0);\n float VoH = clamp(dot(V, H), 0.0, 1.0);\n if (NoL > 0.0) {\n float G = G_Smith(roughness, NoV, NoL);\n float G_Vis = G * VoH / (NoH * NoV);\n float Fc = pow(1.0 - VoH, 5.0);\n A += (1.0 - Fc) * G_Vis;\n B += Fc * G_Vis;\n }\n }\n gl_FragColor = vec4(vec2(A, B) / fSampleNumber, 0.0, 1.0);\n}\n"},function(e,t,r){"use strict";t.a="#define SHADER_NAME prefilter\n#define SAMPLE_NUMBER 1024\n#define PI 3.14159265358979\nuniform mat4 viewInverse : VIEWINVERSE;\nuniform samplerCube environmentMap;\nuniform sampler2D normalDistribution;\nuniform float roughness : 0.5;\nvarying vec2 v_Texcoord;\nvarying vec3 v_WorldPosition;\n@import clay.util.rgbm\nvec3 importanceSampleNormal(float i, float roughness, vec3 N) {\n vec3 H = texture2D(normalDistribution, vec2(roughness, i)).rgb;\n vec3 upVector = abs(N.y) > 0.999 ? vec3(1.0, 0.0, 0.0) : vec3(0.0, 1.0, 0.0);\n vec3 tangentX = normalize(cross(N, upVector));\n vec3 tangentZ = cross(N, tangentX);\n return normalize(tangentX * H.x + N * H.y + tangentZ * H.z);\n}\nvoid main() {\n vec3 eyePos = viewInverse[3].xyz;\n vec3 V = normalize(v_WorldPosition - eyePos);\n vec3 N = V;\n vec3 prefilteredColor = vec3(0.0);\n float totalWeight = 0.0;\n float fMaxSampleNumber = float(SAMPLE_NUMBER);\n for (int i = 0; i < SAMPLE_NUMBER; i++) {\n vec3 H = importanceSampleNormal(float(i) / fMaxSampleNumber, roughness, N);\n vec3 L = reflect(-V, H);\n float NoL = clamp(dot(N, L), 0.0, 1.0);\n if (NoL > 0.0) {\n prefilteredColor += decodeHDR(textureCube(environmentMap, L)).rgb * NoL;\n totalWeight += NoL;\n }\n }\n gl_FragColor = encodeHDR(vec4(prefilteredColor / totalWeight, 1.0));\n}\n"},function(e,t,r){"use strict";var n=r(24),i=r(14),a=n.a.extend({castShadow:!1,coefficients:[]},function(){this._coefficientsTmpArr=new i.a.Float32Array(27)},{type:"AMBIENT_SH_LIGHT",uniformTemplates:{ambientSHLightColor:{type:"3f",value:function(e){var t=e.color,r=e.intensity;return[t[0]*r,t[1]*r,t[2]*r]}},ambientSHLightCoefficients:{type:"3f",value:function(e){for(var t=e._coefficientsTmpArr,r=0;r<e.coefficients.length;r++)t[r]=e.coefficients[r];return t}}}});t.a=a},function(e,t,r){"use strict";function n(e,t){var r=e[0],n=e[1],i=e[2];return 0===t?1:1===t?r:2===t?n:3===t?i:4===t?r*i:5===t?n*i:6===t?r*n:7===t?3*i*i-1:r*r-n*n}function i(e,t,r,i){for(var a=new u.a.Float32Array(27),o=f.a.create(),s=f.a.create(),l=f.a.create(),h=0;h<9;h++){for(var c=f.a.create(),d=0;d<m.length;d++){for(var p=t[m[d]],_=f.a.create(),v=0,y=0,x=g[m[d]],T=0;T<i;T++)for(var b=0;b<r;b++){o[0]=b/(r-1)*2-1,o[1]=T/(i-1)*2-1,o[2]=-1,f.a.normalize(o,o),l[0]=o[x[0]]*x[3],l[1]=o[x[1]]*x[4],l[2]=o[x[2]]*x[5],s[0]=p[y++]/255,s[1]=p[y++]/255,s[2]=p[y++]/255;var w=p[y++]/255*8.12;s[0]*=w,s[1]*=w,s[2]*=w,f.a.scaleAndAdd(_,_,s,n(l,h)*-o[2]),v+=-o[2]}f.a.scaleAndAdd(c,c,_,1/v)}a[3*h]=c[0]/6,a[3*h+1]=c[1]/6,a[3*h+2]=c[2]/6}return a}var a=r(4),o=r(10),s=r(5),u=(r(16),r(14)),l=r(42),h=r(75),c=r(62),d=r(36),f=r(12),p=(r(131),{}),m=["px","nx","py","ny","pz","nz"],g={px:[2,1,0,-1,-1,1],nx:[2,1,0,1,-1,-1],py:[0,2,1,1,-1,-1],ny:[0,2,1,1,1,1],pz:[0,1,2,-1,-1,-1],nz:[0,1,2,1,-1,1]};p.projectEnvironmentMap=function(e,t,r){r=r||{},r.lod=r.lod||0;var n,u=new d.a,f=64;"texture2D"===t.textureType?n=new h.a({scene:u,environmentMap:t}):(f=t.image&&t.image.px?t.image.px.width:t.width,n=new l.a({scene:u,environmentMap:t}));var p=Math.ceil(f/Math.pow(2,r.lod)),g=Math.ceil(f/Math.pow(2,r.lod)),_=new s.a({width:p,height:g}),v=new o.a;n.material.define("fragment","RGBM_ENCODE"),r.decodeRGBM&&n.material.define("fragment","RGBM_DECODE"),n.material.set("lod",r.lod);for(var y=new c.a({texture:_}),x={},T=0;T<m.length;T++){x[m[T]]=new Uint8Array(p*g*4);var b=y.getCamera(m[T]);b.fov=90,v.attach(_),v.bind(e),e.render(u,b),e.gl.readPixels(0,0,p,g,a.a.RGBA,a.a.UNSIGNED_BYTE,x[m[T]]),v.unbind(e)}return n.dispose(e),v.dispose(e),_.dispose(e),i(e,x,p,g)},t.a=p},function(e,t,r){"use strict";t.a="uniform samplerCube environmentMap;\nvarying vec2 v_Texcoord;\n#define TEXTURE_SIZE 16\nmat3 front = mat3(\n 1.0, 0.0, 0.0,\n 0.0, 1.0, 0.0,\n 0.0, 0.0, 1.0\n);\nmat3 back = mat3(\n -1.0, 0.0, 0.0,\n 0.0, 1.0, 0.0,\n 0.0, 0.0, -1.0\n);\nmat3 left = mat3(\n 0.0, 0.0, -1.0,\n 0.0, 1.0, 0.0,\n 1.0, 0.0, 0.0\n);\nmat3 right = mat3(\n 0.0, 0.0, 1.0,\n 0.0, 1.0, 0.0,\n -1.0, 0.0, 0.0\n);\nmat3 up = mat3(\n 1.0, 0.0, 0.0,\n 0.0, 0.0, 1.0,\n 0.0, -1.0, 0.0\n);\nmat3 down = mat3(\n 1.0, 0.0, 0.0,\n 0.0, 0.0, -1.0,\n 0.0, 1.0, 0.0\n);\nfloat harmonics(vec3 normal){\n int index = int(gl_FragCoord.x);\n float x = normal.x;\n float y = normal.y;\n float z = normal.z;\n if(index==0){\n return 1.0;\n }\n else if(index==1){\n return x;\n }\n else if(index==2){\n return y;\n }\n else if(index==3){\n return z;\n }\n else if(index==4){\n return x*z;\n }\n else if(index==5){\n return y*z;\n }\n else if(index==6){\n return x*y;\n }\n else if(index==7){\n return 3.0*z*z - 1.0;\n }\n else{\n return x*x - y*y;\n }\n}\nvec3 sampleSide(mat3 rot)\n{\n vec3 result = vec3(0.0);\n float divider = 0.0;\n for (int i = 0; i < TEXTURE_SIZE * TEXTURE_SIZE; i++) {\n float x = mod(float(i), float(TEXTURE_SIZE));\n float y = float(i / TEXTURE_SIZE);\n vec2 sidecoord = ((vec2(x, y) + vec2(0.5, 0.5)) / vec2(TEXTURE_SIZE)) * 2.0 - 1.0;\n vec3 normal = normalize(vec3(sidecoord, -1.0));\n vec3 fetchNormal = rot * normal;\n vec3 texel = textureCube(environmentMap, fetchNormal).rgb;\n result += harmonics(fetchNormal) * texel * -normal.z;\n divider += -normal.z;\n }\n return result / divider;\n}\nvoid main()\n{\n vec3 result = (\n sampleSide(front) +\n sampleSide(back) +\n sampleSide(left) +\n sampleSide(right) +\n sampleSide(up) +\n sampleSide(down)\n ) / 6.0;\n gl_FragColor = vec4(result, 1.0);\n}"},function(e,t,r){"use strict";var n=r(15),i=r(18),a=n.a.extend({dynamic:!1,widthSegments:40,heightSegments:20,phiStart:0,phiLength:2*Math.PI,thetaStart:0,thetaLength:Math.PI,radius:1},function(){this.build()},{build:function(){var e=this.heightSegments,t=this.widthSegments,r=this.attributes.position,n=this.attributes.texcoord0,a=this.attributes.normal,o=(t+1)*(e+1);r.init(o),n.init(o),a.init(o);var s,u,l,h,c,d,f,p=o>65535?Uint32Array:Uint16Array,m=this.indices=new p(t*e*6),g=this.radius,_=this.phiStart,v=this.phiLength,y=this.thetaStart,x=this.thetaLength,g=this.radius,T=[],b=[],w=0,E=1/g;for(f=0;f<=e;f++)for(d=0;d<=t;d++)h=d/t,c=f/e,s=-g*Math.cos(_+h*v)*Math.sin(y+c*x),u=g*Math.cos(y+c*x),l=g*Math.sin(_+h*v)*Math.sin(y+c*x),T[0]=s,T[1]=u,T[2]=l,b[0]=h,b[1]=c,r.set(w,T),n.set(w,b),T[0]*=E,T[1]*=E,T[2]*=E,a.set(w,T),w++;var S,A,M,C,L=t+1,D=0;for(f=0;f<e;f++)for(d=0;d<t;d++)A=f*L+d,S=f*L+d+1,C=(f+1)*L+d+1,M=(f+1)*L+d,m[D++]=S,m[D++]=A,m[D++]=C,m[D++]=A,m[D++]=M,m[D++]=C;this.boundingBox=new i.a,this.boundingBox.max.set(g,g,g),this.boundingBox.min.set(-g,-g,-g)}});t.a=a},function(e,t,r){"use strict";var n=r(24),i=n.a.extend({castShadow:!1},{type:"AMBIENT_LIGHT",uniformTemplates:{ambientLightColor:{type:"3f",value:function(e){var t=e.color,r=e.intensity;return[t[0]*r,t[1]*r,t[2]*r]}}}});t.a=i},function(e,t,r){"use strict";var n=r(24),i=r(3),a=n.a.extend({shadowBias:.001,shadowSlopeScale:2,shadowCascade:1,cascadeSplitLogFactor:.2},{type:"DIRECTIONAL_LIGHT",uniformTemplates:{directionalLightDirection:{type:"3f",value:function(e){return e.__dir=e.__dir||new i.a,e.__dir.copy(e.worldTransform.z).normalize().negate().array}},directionalLightColor:{type:"3f",value:function(e){var t=e.color,r=e.intensity;return[t[0]*r,t[1]*r,t[2]*r]}}},clone:function(){var e=n.a.prototype.clone.call(this);return e.shadowBias=this.shadowBias,e.shadowSlopeScale=this.shadowSlopeScale,e}});t.a=a},function(e,t,r){"use strict";var n=r(24),i=n.a.extend({range:100,castShadow:!1},{type:"POINT_LIGHT",uniformTemplates:{pointLightPosition:{type:"3f",value:function(e){return e.getWorldPosition().array}},pointLightRange:{type:"1f",value:function(e){return e.range}},pointLightColor:{type:"3f",value:function(e){var t=e.color,r=e.intensity;return[t[0]*r,t[1]*r,t[2]*r]}}},clone:function(){var e=n.a.prototype.clone.call(this);return e.range=this.range,e}});t.a=i},function(e,t,r){"use strict";var n=r(24),i=r(3),a=n.a.extend({range:20,umbraAngle:30,penumbraAngle:45,falloffFactor:2,shadowBias:.001,shadowSlopeScale:2},{type:"SPOT_LIGHT",uniformTemplates:{spotLightPosition:{type:"3f",value:function(e){return e.getWorldPosition().array}},spotLightRange:{type:"1f",value:function(e){return e.range}},spotLightUmbraAngleCosine:{type:"1f",value:function(e){return Math.cos(e.umbraAngle*Math.PI/180)}},spotLightPenumbraAngleCosine:{type:"1f",value:function(e){return Math.cos(e.penumbraAngle*Math.PI/180)}},spotLightFalloffFactor:{type:"1f",value:function(e){return e.falloffFactor}},spotLightDirection:{type:"3f",value:function(e){return e.__dir=e.__dir||new i.a,e.__dir.copy(e.worldTransform.z).negate().array}},spotLightColor:{type:"3f",value:function(e){var t=e.color,r=e.intensity;return[t[0]*r,t[1]*r,t[2]*r]}}},clone:function(){var e=n.a.prototype.clone.call(this);return e.range=this.range,e.umbraAngle=this.umbraAngle,e.penumbraAngle=this.penumbraAngle,e.falloffFactor=this.falloffFactor,e.shadowBias=this.shadowBias,e.shadowSlopeScale=this.shadowSlopeScale,e}});t.a=a},function(e,t,r){"use strict";var n=r(33),i=function(e,t,r,i){e=e||0,t=t||0,r=r||0,i=i||0,this.array=n.a.fromValues(e,t,r,i),this._dirty=!0};i.prototype={constructor:i,add:function(e){return n.a.add(this.array,this.array,e.array),this._dirty=!0,this},set:function(e,t,r,n){return this.array[0]=e,this.array[1]=t,this.array[2]=r,this.array[3]=n,this._dirty=!0,this},setArray:function(e){return this.array[0]=e[0],this.array[1]=e[1],this.array[2]=e[2],this.array[3]=e[3],this._dirty=!0,this},clone:function(){return new i(this.x,this.y,this.z,this.w)},copy:function(e){return n.a.copy(this.array,e.array),this._dirty=!0,this},dist:function(e){return n.a.dist(this.array,e.array)},distance:function(e){return n.a.distance(this.array,e.array)},div:function(e){return n.a.div(this.array,this.array,e.array),this._dirty=!0,this},divide:function(e){return n.a.divide(this.array,this.array,e.array),this._dirty=!0,this},dot:function(e){return n.a.dot(this.array,e.array)},len:function(){return n.a.len(this.array)},length:function(){return n.a.length(this.array)},lerp:function(e,t,r){return n.a.lerp(this.array,e.array,t.array,r),this._dirty=!0,this},min:function(e){return n.a.min(this.array,this.array,e.array),this._dirty=!0,this},max:function(e){return n.a.max(this.array,this.array,e.array),this._dirty=!0,this},mul:function(e){return n.a.mul(this.array,this.array,e.array),this._dirty=!0,this},multiply:function(e){return n.a.multiply(this.array,this.array,e.array),this._dirty=!0,this},negate:function(){return n.a.negate(this.array,this.array),this._dirty=!0,this},normalize:function(){return n.a.normalize(this.array,this.array),this._dirty=!0,this},random:function(e){return n.a.random(this.array,e),this._dirty=!0,this},scale:function(e){return n.a.scale(this.array,this.array,e),this._dirty=!0,this},scaleAndAdd:function(e,t){return n.a.scaleAndAdd(this.array,this.array,e.array,t),this._dirty=!0,this},sqrDist:function(e){return n.a.sqrDist(this.array,e.array)},squaredDistance:function(e){return n.a.squaredDistance(this.array,e.array)},sqrLen:function(){return n.a.sqrLen(this.array)},squaredLength:function(){return n.a.squaredLength(this.array)},sub:function(e){return n.a.sub(this.array,this.array,e.array),this._dirty=!0,this},subtract:function(e){return n.a.subtract(this.array,this.array,e.array),this._dirty=!0,this},transformMat4:function(e){return n.a.transformMat4(this.array,this.array,e.array),this._dirty=!0,this},transformQuat:function(e){return n.a.transformQuat(this.array,this.array,e.array),this._dirty=!0,this},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}};var a=Object.defineProperty;if(a){var o=i.prototype;a(o,"x",{get:function(){return this.array[0]},set:function(e){this.array[0]=e,this._dirty=!0}}),a(o,"y",{get:function(){return this.array[1]},set:function(e){this.array[1]=e,this._dirty=!0}}),a(o,"z",{get:function(){return this.array[2]},set:function(e){this.array[2]=e,this._dirty=!0}}),a(o,"w",{get:function(){return this.array[3]},set:function(e){this.array[3]=e,this._dirty=!0}})}i.add=function(e,t,r){return n.a.add(e.array,t.array,r.array),e._dirty=!0,e},i.set=function(e,t,r,i,a){n.a.set(e.array,t,r,i,a),e._dirty=!0},i.copy=function(e,t){return n.a.copy(e.array,t.array),e._dirty=!0,e},i.dist=function(e,t){return n.a.distance(e.array,t.array)},i.distance=i.dist,i.div=function(e,t,r){return n.a.divide(e.array,t.array,r.array),e._dirty=!0,e},i.divide=i.div,i.dot=function(e,t){return n.a.dot(e.array,t.array)},i.len=function(e){return n.a.length(e.array)},i.lerp=function(e,t,r,i){return n.a.lerp(e.array,t.array,r.array,i),e._dirty=!0,e},i.min=function(e,t,r){return n.a.min(e.array,t.array,r.array),e._dirty=!0,e},i.max=function(e,t,r){return n.a.max(e.array,t.array,r.array),e._dirty=!0,e},i.mul=function(e,t,r){return n.a.multiply(e.array,t.array,r.array),e._dirty=!0,e},i.multiply=i.mul,i.negate=function(e,t){return n.a.negate(e.array,t.array),e._dirty=!0,e},i.normalize=function(e,t){return n.a.normalize(e.array,t.array),e._dirty=!0,e},i.random=function(e,t){return n.a.random(e.array,t),e._dirty=!0,e},i.scale=function(e,t,r){return n.a.scale(e.array,t.array,r),e._dirty=!0,e},i.scaleAndAdd=function(e,t,r,i){return n.a.scaleAndAdd(e.array,t.array,r.array,i),e._dirty=!0,e},i.sqrDist=function(e,t){return n.a.sqrDist(e.array,t.array)},i.squaredDistance=i.sqrDist,i.sqrLen=function(e){return n.a.sqrLen(e.array)},i.squaredLength=i.sqrLen,i.sub=function(e,t,r){return n.a.subtract(e.array,t.array,r.array),e._dirty=!0,e},i.subtract=i.sub,i.transformMat4=function(e,t,r){return n.a.transformMat4(e.array,t.array,r.array),e._dirty=!0,e},i.transformQuat=function(e,t,r){return n.a.transformQuat(e.array,t.array,r.array),e._dirty=!0,e},t.a=i},function(e,t,r){"use strict";var n=r(78),i=function(){this.array=n.a.create(),this._dirty=!0};i.prototype={constructor:i,setArray:function(e){for(var t=0;t<this.array.length;t++)this.array[t]=e[t];return this._dirty=!0,this},clone:function(){return(new i).copy(this)},copy:function(e){return n.a.copy(this.array,e.array),this._dirty=!0,this},adjoint:function(){return n.a.adjoint(this.array,this.array),this._dirty=!0,this},determinant:function(){return n.a.determinant(this.array)},identity:function(){return n.a.identity(this.array),this._dirty=!0,this},invert:function(){return n.a.invert(this.array,this.array),this._dirty=!0,this},mul:function(e){return n.a.mul(this.array,this.array,e.array),this._dirty=!0,this},mulLeft:function(e){return n.a.mul(this.array,e.array,this.array),this._dirty=!0,this},multiply:function(e){return n.a.multiply(this.array,this.array,e.array),this._dirty=!0,this},multiplyLeft:function(e){return n.a.multiply(this.array,e.array,this.array),this._dirty=!0,this},rotate:function(e){return n.a.rotate(this.array,this.array,e),this._dirty=!0,this},scale:function(e){return n.a.scale(this.array,this.array,e.array),this._dirty=!0,this},transpose:function(){return n.a.transpose(this.array,this.array),this._dirty=!0,this},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}},i.adjoint=function(e,t){return n.a.adjoint(e.array,t.array),e._dirty=!0,e},i.copy=function(e,t){return n.a.copy(e.array,t.array),e._dirty=!0,e},i.determinant=function(e){return n.a.determinant(e.array)},i.identity=function(e){return n.a.identity(e.array),e._dirty=!0,e},i.invert=function(e,t){return n.a.invert(e.array,t.array),e._dirty=!0,e},i.mul=function(e,t,r){return n.a.mul(e.array,t.array,r.array),e._dirty=!0,e},i.multiply=i.mul,i.rotate=function(e,t,r){return n.a.rotate(e.array,t.array,r),e._dirty=!0,e},i.scale=function(e,t,r){return n.a.scale(e.array,t.array,r.array),e._dirty=!0,e},i.transpose=function(e,t){return n.a.transpose(e.array,t.array),e._dirty=!0,e},t.a=i},function(e,t,r){"use strict";var n=r(79),i=function(){this.array=n.a.create(),this._dirty=!0};i.prototype={constructor:i,setArray:function(e){for(var t=0;t<this.array.length;t++)this.array[t]=e[t];return this._dirty=!0,this},clone:function(){return(new i).copy(this)},copy:function(e){return n.a.copy(this.array,e.array),this._dirty=!0,this},determinant:function(){return n.a.determinant(this.array)},identity:function(){return n.a.identity(this.array),this._dirty=!0,this},invert:function(){return n.a.invert(this.array,this.array),this._dirty=!0,this},mul:function(e){return n.a.mul(this.array,this.array,e.array),this._dirty=!0,this},mulLeft:function(e){return n.a.mul(this.array,e.array,this.array),this._dirty=!0,this},multiply:function(e){return n.a.multiply(this.array,this.array,e.array),this._dirty=!0,this},multiplyLeft:function(e){return n.a.multiply(this.array,e.array,this.array),this._dirty=!0,this},rotate:function(e){return n.a.rotate(this.array,this.array,e),this._dirty=!0,this},scale:function(e){return n.a.scale(this.array,this.array,e.array),this._dirty=!0,this},translate:function(e){return n.a.translate(this.array,this.array,e.array),this._dirty=!0,this},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}},i.copy=function(e,t){return n.a.copy(e.array,t.array),e._dirty=!0,e},i.determinant=function(e){return n.a.determinant(e.array)},i.identity=function(e){return n.a.identity(e.array),e._dirty=!0,e},i.invert=function(e,t){return n.a.invert(e.array,t.array),e._dirty=!0,e},i.mul=function(e,t,r){return n.a.mul(e.array,t.array,r.array),e._dirty=!0,e},i.multiply=i.mul,i.rotate=function(e,t,r){return n.a.rotate(e.array,t.array,r),e._dirty=!0,e},i.scale=function(e,t,r){return n.a.scale(e.array,t.array,r.array),e._dirty=!0,e},i.translate=function(e,t,r){return n.a.translate(e.array,t.array,r.array),e._dirty=!0,e},t.a=i},function(e,t,r){"use strict";var n=r(34),i=function(){this.array=n.a.create(),this._dirty=!0};i.prototype={constructor:i,setArray:function(e){for(var t=0;t<this.array.length;t++)this.array[t]=e[t];return this._dirty=!0,this},adjoint:function(){return n.a.adjoint(this.array,this.array),this._dirty=!0,this},clone:function(){return(new i).copy(this)},copy:function(e){return n.a.copy(this.array,e.array),this._dirty=!0,this},determinant:function(){return n.a.determinant(this.array)},fromMat2d:function(e){return n.a.fromMat2d(this.array,e.array),this._dirty=!0,this},fromMat4:function(e){return n.a.fromMat4(this.array,e.array),this._dirty=!0,this},fromQuat:function(e){return n.a.fromQuat(this.array,e.array),this._dirty=!0,this},identity:function(){return n.a.identity(this.array),this._dirty=!0,this},invert:function(){return n.a.invert(this.array,this.array),this._dirty=!0,this},mul:function(e){return n.a.mul(this.array,this.array,e.array),this._dirty=!0,this},mulLeft:function(e){return n.a.mul(this.array,e.array,this.array),this._dirty=!0,this},multiply:function(e){return n.a.multiply(this.array,this.array,e.array),this._dirty=!0,this},multiplyLeft:function(e){return n.a.multiply(this.array,e.array,this.array),this._dirty=!0,this},rotate:function(e){return n.a.rotate(this.array,this.array,e),this._dirty=!0,this},scale:function(e){return n.a.scale(this.array,this.array,e.array),this._dirty=!0,this},translate:function(e){return n.a.translate(this.array,this.array,e.array),this._dirty=!0,this},normalFromMat4:function(e){return n.a.normalFromMat4(this.array,e.array),this._dirty=!0,this},transpose:function(){return n.a.transpose(this.array,this.array),this._dirty=!0,this},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}},i.adjoint=function(e,t){return n.a.adjoint(e.array,t.array),e._dirty=!0,e},i.copy=function(e,t){return n.a.copy(e.array,t.array),e._dirty=!0,e},i.determinant=function(e){return n.a.determinant(e.array)},i.identity=function(e){return n.a.identity(e.array),e._dirty=!0,e},i.invert=function(e,t){return n.a.invert(e.array,t.array),e},i.mul=function(e,t,r){return n.a.mul(e.array,t.array,r.array),e._dirty=!0,e},i.multiply=i.mul,i.fromMat2d=function(e,t){return n.a.fromMat2d(e.array,t.array),e._dirty=!0,e},i.fromMat4=function(e,t){return n.a.fromMat4(e.array,t.array),e._dirty=!0,e},i.fromQuat=function(e,t){return n.a.fromQuat(e.array,t.array),e._dirty=!0,e},i.normalFromMat4=function(e,t){return n.a.normalFromMat4(e.array,t.array),e._dirty=!0,e},i.rotate=function(e,t,r){return n.a.rotate(e.array,t.array,r),e._dirty=!0,e},i.scale=function(e,t,r){return n.a.scale(e.array,t.array,r.array),e._dirty=!0,e},i.transpose=function(e,t){return n.a.transpose(e.array,t.array),e._dirty=!0,e},i.translate=function(e,t,r){return n.a.translate(e.array,t.array,r.array),e._dirty=!0,e},t.a=i},function(e,t,r){"use strict";var n=r(142),i=r.n(n),a={_animators:null,getAnimators:function(){return this._animators=this._animators||[],this._animators},animate:function(e,t){this._animators=this._animators||[];var r,n=this;if(e){for(var a=e.split("."),o=n,s=0,u=a.length;s<u;s++)o&&(o=o[a[s]]);o&&(r=o)}else r=n;if(null==r)throw new Error("Target "+e+" not exists");var l=this._animators,h=new i.a(r,t),c=this;return h.during(function(){c.__zr&&c.__zr.refresh()}).done(function(){var e=l.indexOf(h);e>=0&&l.splice(e,1)}),l.push(h),this.__zr&&this.__zr.animation.addAnimator(h),h},stopAnimation:function(e){this._animators=this._animators||[];for(var t=this._animators,r=t.length,n=0;n<r;n++)t[n].stop(e);return t.length=0,this},addAnimatorsToZr:function(e){if(this._animators)for(var t=0;t<this._animators.length;t++)e.animation.addAnimator(this._animators[t])},removeAnimatorsFromZr:function(e){if(this._animators)for(var t=0;t<this._animators.length;t++)e.animation.removeAnimator(this._animators[t])}};t.a=a},function(e,t,r){function n(e,t){return e[t]}function i(e,t,r){e[t]=r}function a(e,t,r){return(t-e)*r+e}function o(e,t,r){return r>.5?t:e}function s(e,t,r,n,i){var o=e.length;if(1==i)for(var s=0;s<o;s++)n[s]=a(e[s],t[s],r);else for(var u=o&&e[0].length,s=0;s<o;s++)for(var l=0;l<u;l++)n[s][l]=a(e[s][l],t[s][l],r)}function u(e,t,r){var n=e.length,i=t.length;if(n!==i){if(n>i)e.length=i;else for(var a=n;a<i;a++)e.push(1===r?t[a]:x.call(t[a]))}for(var o=e[0]&&e[0].length,a=0;a<e.length;a++)if(1===r)isNaN(e[a])&&(e[a]=t[a]);else for(var s=0;s<o;s++)isNaN(e[a][s])&&(e[a][s]=t[a][s])}function l(e,t,r){if(e===t)return!0;var n=e.length;if(n!==t.length)return!1;if(1===r){for(var i=0;i<n;i++)if(e[i]!==t[i])return!1}else for(var a=e[0].length,i=0;i<n;i++)for(var o=0;o<a;o++)if(e[i][o]!==t[i][o])return!1;return!0}function h(e,t,r,n,i,a,o,s,u){var l=e.length;if(1==u)for(var h=0;h<l;h++)s[h]=c(e[h],t[h],r[h],n[h],i,a,o);else for(var d=e[0].length,h=0;h<l;h++)for(var f=0;f<d;f++)s[h][f]=c(e[h][f],t[h][f],r[h][f],n[h][f],i,a,o)}function c(e,t,r,n,i,a,o){var s=.5*(r-e),u=.5*(n-t);return(2*(t-r)+s+u)*o+(-3*(t-r)-2*s-u)*a+s*i+t}function d(e){if(y(e)){var t=e.length;if(y(e[0])){for(var r=[],n=0;n<t;n++)r.push(x.call(e[n]));return r}return x.call(e)}return e}function f(e){return e[0]=Math.floor(e[0]),e[1]=Math.floor(e[1]),e[2]=Math.floor(e[2]),"rgba("+e.join(",")+")"}function p(e){var t=e[e.length-1].value;return y(t&&t[0])?2:1}function m(e,t,r,n,i,d){var m=e._getter,v=e._setter,x="spline"===t,T=n.length;if(T){var b,w=n[0].value,E=y(w),S=!1,A=!1,M=E?p(n):0;n.sort(function(e,t){return e.time-t.time}),b=n[T-1].time;for(var C=[],L=[],D=n[0].value,N=!0,R=0;R<T;R++){C.push(n[R].time/b);var P=n[R].value;if(E&&l(P,D,M)||!E&&P===D||(N=!1),D=P,"string"==typeof P){var I=_.parse(P);I?(P=I,S=!0):A=!0}L.push(P)}if(d||!N){for(var O=L[T-1],R=0;R<T-1;R++)E?u(L[R],O,M):!isNaN(L[R])||isNaN(O)||A||S||(L[R]=O);E&&u(m(e._target,i),O,M);var F,B,U,z,G,H,V=0,k=0;if(S)var W=[0,0,0,0];var j=function(e,t){var r;if(t<0)r=0;else if(t<k){for(F=Math.min(V+1,T-1),r=F;r>=0&&!(C[r]<=t);r--);r=Math.min(r,T-2)}else{for(r=V;r<T&&!(C[r]>t);r++);r=Math.min(r-1,T-2)}V=r,k=t;var n=C[r+1]-C[r];if(0!==n)if(B=(t-C[r])/n,x)if(z=L[r],U=L[0===r?r:r-1],G=L[r>T-2?T-1:r+1],H=L[r>T-3?T-1:r+2],E)h(U,z,G,H,B,B*B,B*B*B,m(e,i),M);else{var u;if(S)u=h(U,z,G,H,B,B*B,B*B*B,W,1),u=f(W);else{if(A)return o(z,G,B);u=c(U,z,G,H,B,B*B,B*B*B)}v(e,i,u)}else if(E)s(L[r],L[r+1],B,m(e,i),M);else{var u;if(S)s(L[r],L[r+1],B,W,1),u=f(W);else{if(A)return o(L[r],L[r+1],B);u=a(L[r],L[r+1],B)}v(e,i,u)}},X=new g({target:e._target,life:b,loop:e._loop,delay:e._delay,onframe:j,ondestroy:r});return t&&"spline"!==t&&(X.easing=t),X}}}var g=r(143),_=r(145),v=r(13),y=v.isArrayLike,x=Array.prototype.slice,T=function(e,t,r,a){this._tracks={},this._target=e,this._loop=t||!1,this._getter=r||n,this._setter=a||i,this._clipCount=0,this._delay=0,this._doneList=[],this._onframeList=[],this._clipList=[]};T.prototype={when:function(e,t){var r=this._tracks;for(var n in t)if(t.hasOwnProperty(n)){if(!r[n]){r[n]=[];var i=this._getter(this._target,n);if(null==i)continue;0!==e&&r[n].push({time:0,value:d(i)})}r[n].push({time:e,value:t[n]})}return this},during:function(e){return this._onframeList.push(e),this},pause:function(){for(var e=0;e<this._clipList.length;e++)this._clipList[e].pause();this._paused=!0},resume:function(){for(var e=0;e<this._clipList.length;e++)this._clipList[e].resume();this._paused=!1},isPaused:function(){return!!this._paused},_doneCallback:function(){this._tracks={},this._clipList.length=0;for(var e=this._doneList,t=e.length,r=0;r<t;r++)e[r].call(this)},start:function(e,t){var r,n=this,i=0,a=function(){--i||n._doneCallback()};for(var o in this._tracks)if(this._tracks.hasOwnProperty(o)){var s=m(this,e,a,this._tracks[o],o,t);s&&(this._clipList.push(s),i++,this.animation&&this.animation.addClip(s),r=s)}if(r){var u=r.onframe;r.onframe=function(e,t){u(e,t);for(var r=0;r<n._onframeList.length;r++)n._onframeList[r](e,t)}}return i||this._doneCallback(),this},stop:function(e){for(var t=this._clipList,r=this.animation,n=0;n<t.length;n++){var i=t[n];e&&i.onframe(this._target,1),r&&r.removeClip(i)}t.length=0},delay:function(e){return this._delay=e,this},done:function(e){return e&&this._doneList.push(e),this},getClips:function(){return this._clipList}};var b=T;e.exports=b},function(e,t,r){function n(e){this._target=e.target,this._life=e.life||1e3,this._delay=e.delay||0,this._initialized=!1,this.loop=null!=e.loop&&e.loop,this.gap=e.gap||0,this.easing=e.easing||"Linear",this.onframe=e.onframe,this.ondestroy=e.ondestroy,this.onrestart=e.onrestart,this._pausedTime=0,this._paused=!1}var i=r(144);n.prototype={constructor:n,step:function(e,t){if(this._initialized||(this._startTime=e+this._delay,this._initialized=!0),this._paused)return void(this._pausedTime+=t);var r=(e-this._startTime-this._pausedTime)/this._life;if(!(r<0)){r=Math.min(r,1);var n=this.easing,a="string"==typeof n?i[n]:n,o="function"==typeof a?a(r):r;return this.fire("frame",o),1==r?this.loop?(this.restart(e),"restart"):(this._needsRemove=!0,"destroy"):null}},restart:function(e){var t=(e-this._startTime-this._pausedTime)%this._life;this._startTime=e-t+this.gap,this._pausedTime=0,this._needsRemove=!1},fire:function(e,t){e="on"+e,this[e]&&this[e](this._target,t)},pause:function(){this._paused=!0},resume:function(){this._paused=!1}};var a=n;e.exports=a},function(e,t){var r={linear:function(e){return e},quadraticIn:function(e){return e*e},quadraticOut:function(e){return e*(2-e)},quadraticInOut:function(e){return(e*=2)<1?.5*e*e:-.5*(--e*(e-2)-1)},cubicIn:function(e){return e*e*e},cubicOut:function(e){return--e*e*e+1},cubicInOut:function(e){return(e*=2)<1?.5*e*e*e:.5*((e-=2)*e*e+2)},quarticIn:function(e){return e*e*e*e},quarticOut:function(e){return 1- --e*e*e*e},quarticInOut:function(e){return(e*=2)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2)},quinticIn:function(e){return e*e*e*e*e},quinticOut:function(e){return--e*e*e*e*e+1},quinticInOut:function(e){return(e*=2)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2)},sinusoidalIn:function(e){return 1-Math.cos(e*Math.PI/2)},sinusoidalOut:function(e){return Math.sin(e*Math.PI/2)},sinusoidalInOut:function(e){return.5*(1-Math.cos(Math.PI*e))},exponentialIn:function(e){return 0===e?0:Math.pow(1024,e-1)},exponentialOut:function(e){return 1===e?1:1-Math.pow(2,-10*e)},exponentialInOut:function(e){return 0===e?0:1===e?1:(e*=2)<1?.5*Math.pow(1024,e-1):.5*(2-Math.pow(2,-10*(e-1)))},circularIn:function(e){return 1-Math.sqrt(1-e*e)},circularOut:function(e){return Math.sqrt(1- --e*e)},circularInOut:function(e){return(e*=2)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1)},elasticIn:function(e){var t,r=.1;return 0===e?0:1===e?1:(!r||r<1?(r=1,t=.1):t=.4*Math.asin(1/r)/(2*Math.PI),-r*Math.pow(2,10*(e-=1))*Math.sin((e-t)*(2*Math.PI)/.4))},elasticOut:function(e){var t,r=.1;return 0===e?0:1===e?1:(!r||r<1?(r=1,t=.1):t=.4*Math.asin(1/r)/(2*Math.PI),r*Math.pow(2,-10*e)*Math.sin((e-t)*(2*Math.PI)/.4)+1)},elasticInOut:function(e){var t,r=.1;return 0===e?0:1===e?1:(!r||r<1?(r=1,t=.1):t=.4*Math.asin(1/r)/(2*Math.PI),(e*=2)<1?r*Math.pow(2,10*(e-=1))*Math.sin((e-t)*(2*Math.PI)/.4)*-.5:r*Math.pow(2,-10*(e-=1))*Math.sin((e-t)*(2*Math.PI)/.4)*.5+1)},backIn:function(e){var t=1.70158;return e*e*((t+1)*e-t)},backOut:function(e){var t=1.70158;return--e*e*((t+1)*e+t)+1},backInOut:function(e){var t=2.5949095;return(e*=2)<1?e*e*((t+1)*e-t)*.5:.5*((e-=2)*e*((t+1)*e+t)+2)},bounceIn:function(e){return 1-r.bounceOut(1-e)},bounceOut:function(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},bounceInOut:function(e){return e<.5?.5*r.bounceIn(2*e):.5*r.bounceOut(2*e-1)+.5}},n=r;e.exports=n},function(e,t,r){function n(e){return e=Math.round(e),e<0?0:e>255?255:e}function i(e){return e=Math.round(e),e<0?0:e>360?360:e}function a(e){return e<0?0:e>1?1:e}function o(e){return n(e.length&&"%"===e.charAt(e.length-1)?parseFloat(e)/100*255:parseInt(e,10))}function s(e){return a(e.length&&"%"===e.charAt(e.length-1)?parseFloat(e)/100:parseFloat(e))}function u(e,t,r){return r<0?r+=1:r>1&&(r-=1),6*r<1?e+(t-e)*r*6:2*r<1?t:3*r<2?e+(t-e)*(2/3-r)*6:e}function l(e,t,r){return e+(t-e)*r}function h(e,t,r,n,i){return e[0]=t,e[1]=r,e[2]=n,e[3]=i,e}function c(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}function d(e,t){A&&c(A,t),A=S.put(e,A||t.slice())}function f(e,t){if(e){t=t||[];var r=S.get(e);if(r)return c(t,r);e+="";var n=e.replace(/ /g,"").toLowerCase();if(n in E)return c(t,E[n]),d(e,t),t;if("#"!==n.charAt(0)){var i=n.indexOf("("),a=n.indexOf(")");if(-1!==i&&a+1===n.length){var u=n.substr(0,i),l=n.substr(i+1,a-(i+1)).split(","),f=1;switch(u){case"rgba":if(4!==l.length)return void h(t,0,0,0,1);f=s(l.pop());case"rgb":return 3!==l.length?void h(t,0,0,0,1):(h(t,o(l[0]),o(l[1]),o(l[2]),f),d(e,t),t);case"hsla":return 4!==l.length?void h(t,0,0,0,1):(l[3]=s(l[3]),p(l,t),d(e,t),t);case"hsl":return 3!==l.length?void h(t,0,0,0,1):(p(l,t),d(e,t),t);default:return}}h(t,0,0,0,1)}else{if(4===n.length){var m=parseInt(n.substr(1),16);return m>=0&&m<=4095?(h(t,(3840&m)>>4|(3840&m)>>8,240&m|(240&m)>>4,15&m|(15&m)<<4,1),d(e,t),t):void h(t,0,0,0,1)}if(7===n.length){var m=parseInt(n.substr(1),16);return m>=0&&m<=16777215?(h(t,(16711680&m)>>16,(65280&m)>>8,255&m,1),d(e,t),t):void h(t,0,0,0,1)}}}}function p(e,t){var r=(parseFloat(e[0])%360+360)%360/360,i=s(e[1]),a=s(e[2]),o=a<=.5?a*(i+1):a+i-a*i,l=2*a-o;return t=t||[],h(t,n(255*u(l,o,r+1/3)),n(255*u(l,o,r)),n(255*u(l,o,r-1/3)),1),4===e.length&&(t[3]=e[3]),t}function m(e){if(e){var t,r,n=e[0]/255,i=e[1]/255,a=e[2]/255,o=Math.min(n,i,a),s=Math.max(n,i,a),u=s-o,l=(s+o)/2;if(0===u)t=0,r=0;else{r=l<.5?u/(s+o):u/(2-s-o);var h=((s-n)/6+u/2)/u,c=((s-i)/6+u/2)/u,d=((s-a)/6+u/2)/u;n===s?t=d-c:i===s?t=1/3+h-d:a===s&&(t=2/3+c-h),t<0&&(t+=1),t>1&&(t-=1)}var f=[360*t,r,l];return null!=e[3]&&f.push(e[3]),f}}function g(e,t){var r=f(e);if(r){for(var n=0;n<3;n++)r[n]=t<0?r[n]*(1-t)|0:(255-r[n])*t+r[n]|0,r[n]>255?r[n]=255:e[n]<0&&(r[n]=0);return b(r,4===r.length?"rgba":"rgb")}}function _(e){var t=f(e);if(t)return((1<<24)+(t[0]<<16)+(t[1]<<8)+ +t[2]).toString(16).slice(1)}function v(e,t,r){if(t&&t.length&&e>=0&&e<=1){r=r||[];var i=e*(t.length-1),o=Math.floor(i),s=Math.ceil(i),u=t[o],h=t[s],c=i-o;return r[0]=n(l(u[0],h[0],c)),r[1]=n(l(u[1],h[1],c)),r[2]=n(l(u[2],h[2],c)),r[3]=a(l(u[3],h[3],c)),r}}function y(e,t,r){if(t&&t.length&&e>=0&&e<=1){var i=e*(t.length-1),o=Math.floor(i),s=Math.ceil(i),u=f(t[o]),h=f(t[s]),c=i-o,d=b([n(l(u[0],h[0],c)),n(l(u[1],h[1],c)),n(l(u[2],h[2],c)),a(l(u[3],h[3],c))],"rgba");return r?{color:d,leftIndex:o,rightIndex:s,value:i}:d}}function x(e,t,r,n){if(e=f(e))return e=m(e),null!=t&&(e[0]=i(t)),null!=r&&(e[1]=s(r)),null!=n&&(e[2]=s(n)),b(p(e),"rgba")}function T(e,t){if((e=f(e))&&null!=t)return e[3]=a(t),b(e,"rgba")}function b(e,t){if(e&&e.length){var r=e[0]+","+e[1]+","+e[2];return"rgba"!==t&&"hsva"!==t&&"hsla"!==t||(r+=","+e[3]),t+"("+r+")"}}var w=r(60),E={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]},S=new w(20),A=null,M=v,C=y;t.parse=f,t.lift=g,t.toHex=_,t.fastLerp=v,t.fastMapToColor=M,t.lerp=y,t.mapToColor=C,t.modifyHSL=x,t.modifyAlpha=T,t.stringify=b},function(e,t,r){"use strict";t.a="\n@export clay.util.rand\nhighp float rand(vec2 uv) {\n const highp float a = 12.9898, b = 78.233, c = 43758.5453;\n highp float dt = dot(uv.xy, vec2(a,b)), sn = mod(dt, 3.141592653589793);\n return fract(sin(sn) * c);\n}\n@end\n@export clay.util.calculate_attenuation\nuniform float attenuationFactor : 5.0;\nfloat lightAttenuation(float dist, float range)\n{\n float attenuation = 1.0;\n attenuation = dist*dist/(range*range+1.0);\n float att_s = attenuationFactor;\n attenuation = 1.0/(attenuation*att_s+1.0);\n att_s = 1.0/(att_s+1.0);\n attenuation = attenuation - att_s;\n attenuation /= 1.0 - att_s;\n return clamp(attenuation, 0.0, 1.0);\n}\n@end\n@export clay.util.edge_factor\n#ifdef SUPPORT_STANDARD_DERIVATIVES\nfloat edgeFactor(float width)\n{\n vec3 d = fwidth(v_Barycentric);\n vec3 a3 = smoothstep(vec3(0.0), d * width, v_Barycentric);\n return min(min(a3.x, a3.y), a3.z);\n}\n#else\nfloat edgeFactor(float width)\n{\n return 1.0;\n}\n#endif\n@end\n@export clay.util.encode_float\nvec4 encodeFloat(const in float depth)\n{\n const vec4 bitShifts = vec4(256.0*256.0*256.0, 256.0*256.0, 256.0, 1.0);\n const vec4 bit_mask = vec4(0.0, 1.0/256.0, 1.0/256.0, 1.0/256.0);\n vec4 res = fract(depth * bitShifts);\n res -= res.xxyz * bit_mask;\n return res;\n}\n@end\n@export clay.util.decode_float\nfloat decodeFloat(const in vec4 color)\n{\n const vec4 bitShifts = vec4(1.0/(256.0*256.0*256.0), 1.0/(256.0*256.0), 1.0/256.0, 1.0);\n return dot(color, bitShifts);\n}\n@end\n@export clay.util.float\n@import clay.util.encode_float\n@import clay.util.decode_float\n@end\n@export clay.util.rgbm_decode\nvec3 RGBMDecode(vec4 rgbm, float range) {\n return range * rgbm.rgb * rgbm.a;\n}\n@end\n@export clay.util.rgbm_encode\nvec4 RGBMEncode(vec3 color, float range) {\n if (dot(color, color) == 0.0) {\n return vec4(0.0);\n }\n vec4 rgbm;\n color /= range;\n rgbm.a = clamp(max(max(color.r, color.g), max(color.b, 1e-6)), 0.0, 1.0);\n rgbm.a = ceil(rgbm.a * 255.0) / 255.0;\n rgbm.rgb = color / rgbm.a;\n return rgbm;\n}\n@end\n@export clay.util.rgbm\n@import clay.util.rgbm_decode\n@import clay.util.rgbm_encode\nvec4 decodeHDR(vec4 color)\n{\n#if defined(RGBM_DECODE) || defined(RGBM)\n return vec4(RGBMDecode(color, 8.12), 1.0);\n#else\n return color;\n#endif\n}\nvec4 encodeHDR(vec4 color)\n{\n#if defined(RGBM_ENCODE) || defined(RGBM)\n return RGBMEncode(color.xyz, 8.12);\n#else\n return color;\n#endif\n}\n@end\n@export clay.util.srgb\nvec4 sRGBToLinear(in vec4 value) {\n return vec4(mix(pow(value.rgb * 0.9478672986 + vec3(0.0521327014), vec3(2.4)), value.rgb * 0.0773993808, vec3(lessThanEqual(value.rgb, vec3(0.04045)))), value.w);\n}\nvec4 linearTosRGB(in vec4 value) {\n return vec4(mix(pow(value.rgb, vec3(0.41666)) * 1.055 - vec3(0.055), value.rgb * 12.92, vec3(lessThanEqual(value.rgb, vec3(0.0031308)))), value.w);\n}\n@end\n@export clay.chunk.skinning_header\n#ifdef SKINNING\nattribute vec3 weight : WEIGHT;\nattribute vec4 joint : JOINT;\n#ifdef USE_SKIN_MATRICES_TEXTURE\nuniform sampler2D skinMatricesTexture : ignore;\nuniform float skinMatricesTextureSize: ignore;\nmat4 getSkinMatrix(sampler2D tex, float idx) {\n float j = idx * 4.0;\n float x = mod(j, skinMatricesTextureSize);\n float y = floor(j / skinMatricesTextureSize) + 0.5;\n vec2 scale = vec2(skinMatricesTextureSize);\n return mat4(\n texture2D(tex, vec2(x + 0.5, y) / scale),\n texture2D(tex, vec2(x + 1.5, y) / scale),\n texture2D(tex, vec2(x + 2.5, y) / scale),\n texture2D(tex, vec2(x + 3.5, y) / scale)\n );\n}\nmat4 getSkinMatrix(float idx) {\n return getSkinMatrix(skinMatricesTexture, idx);\n}\n#else\nuniform mat4 skinMatrix[JOINT_COUNT] : SKIN_MATRIX;\nmat4 getSkinMatrix(float idx) {\n return skinMatrix[int(idx)];\n}\n#endif\n#endif\n@end\n@export clay.chunk.skin_matrix\nmat4 skinMatrixWS = getSkinMatrix(joint.x) * weight.x;\nif (weight.y > 1e-4)\n{\n skinMatrixWS += getSkinMatrix(joint.y) * weight.y;\n}\nif (weight.z > 1e-4)\n{\n skinMatrixWS += getSkinMatrix(joint.z) * weight.z;\n}\nfloat weightW = 1.0-weight.x-weight.y-weight.z;\nif (weightW > 1e-4)\n{\n skinMatrixWS += getSkinMatrix(joint.w) * weightW;\n}\n@end\n@export clay.util.parallax_correct\nvec3 parallaxCorrect(in vec3 dir, in vec3 pos, in vec3 boxMin, in vec3 boxMax) {\n vec3 first = (boxMax - pos) / dir;\n vec3 second = (boxMin - pos) / dir;\n vec3 further = max(first, second);\n float dist = min(further.x, min(further.y, further.z));\n vec3 fixedPos = pos + dir * dist;\n vec3 boxCenter = (boxMax + boxMin) * 0.5;\n return normalize(fixedPos - boxCenter);\n}\n@end\n@export clay.util.clamp_sample\nvec4 clampSample(const in sampler2D texture, const in vec2 coord)\n{\n#ifdef STEREO\n float eye = step(0.5, coord.x) * 0.5;\n vec2 coordClamped = clamp(coord, vec2(eye, 0.0), vec2(0.5 + eye, 1.0));\n#else\n vec2 coordClamped = clamp(coord, vec2(0.0), vec2(1.0));\n#endif\n return texture2D(texture, coordClamped);\n}\n@end\n@export clay.util.ACES\nvec3 ACESToneMapping(vec3 color)\n{\n const float A = 2.51;\n const float B = 0.03;\n const float C = 2.43;\n const float D = 0.59;\n const float E = 0.14;\n return (color * (A * color + B)) / (color * (C * color + D) + E);\n}\n@end"},function(e,t,r){"use strict";t.a="\n@export ecgl.common.transformUniforms\nuniform mat4 worldViewProjection : WORLDVIEWPROJECTION;\nuniform mat4 worldInverseTranspose : WORLDINVERSETRANSPOSE;\nuniform mat4 world : WORLD;\n@end\n\n@export ecgl.common.attributes\nattribute vec3 position : POSITION;\nattribute vec2 texcoord : TEXCOORD_0;\nattribute vec3 normal : NORMAL;\n@end\n\n@export ecgl.common.uv.header\nuniform vec2 uvRepeat : [1.0, 1.0];\nuniform vec2 uvOffset : [0.0, 0.0];\nuniform vec2 detailUvRepeat : [1.0, 1.0];\nuniform vec2 detailUvOffset : [0.0, 0.0];\n\nvarying vec2 v_Texcoord;\nvarying vec2 v_DetailTexcoord;\n@end\n\n@export ecgl.common.uv.main\nv_Texcoord = texcoord * uvRepeat + uvOffset;\nv_DetailTexcoord = texcoord * detailUvRepeat + detailUvOffset;\n@end\n\n@export ecgl.common.uv.fragmentHeader\nvarying vec2 v_Texcoord;\nvarying vec2 v_DetailTexcoord;\n@end\n\n\n@export ecgl.common.albedo.main\n\n vec4 albedoTexel = vec4(1.0);\n#ifdef DIFFUSEMAP_ENABLED\n albedoTexel = texture2D(diffuseMap, v_Texcoord);\n #ifdef SRGB_DECODE\n albedoTexel = sRGBToLinear(albedoTexel);\n #endif\n#endif\n\n#ifdef DETAILMAP_ENABLED\n vec4 detailTexel = texture2D(detailMap, v_DetailTexcoord);\n #ifdef SRGB_DECODE\n detailTexel = sRGBToLinear(detailTexel);\n #endif\n albedoTexel.rgb = mix(albedoTexel.rgb, detailTexel.rgb, detailTexel.a);\n albedoTexel.a = detailTexel.a + (1.0 - detailTexel.a) * albedoTexel.a;\n#endif\n\n@end\n\n@export ecgl.common.wireframe.vertexHeader\n\n#ifdef WIREFRAME_QUAD\nattribute vec4 barycentric;\nvarying vec4 v_Barycentric;\n#elif defined(WIREFRAME_TRIANGLE)\nattribute vec3 barycentric;\nvarying vec3 v_Barycentric;\n#endif\n\n@end\n\n@export ecgl.common.wireframe.vertexMain\n\n#if defined(WIREFRAME_QUAD) || defined(WIREFRAME_TRIANGLE)\n v_Barycentric = barycentric;\n#endif\n\n@end\n\n\n@export ecgl.common.wireframe.fragmentHeader\n\nuniform float wireframeLineWidth : 1;\nuniform vec4 wireframeLineColor: [0, 0, 0, 0.5];\n\n#ifdef WIREFRAME_QUAD\nvarying vec4 v_Barycentric;\nfloat edgeFactor () {\n vec4 d = fwidth(v_Barycentric);\n vec4 a4 = smoothstep(vec4(0.0), d * wireframeLineWidth, v_Barycentric);\n return min(min(min(a4.x, a4.y), a4.z), a4.w);\n}\n#elif defined(WIREFRAME_TRIANGLE)\nvarying vec3 v_Barycentric;\nfloat edgeFactor () {\n vec3 d = fwidth(v_Barycentric);\n vec3 a3 = smoothstep(vec3(0.0), d * wireframeLineWidth, v_Barycentric);\n return min(min(a3.x, a3.y), a3.z);\n}\n#endif\n\n@end\n\n\n@export ecgl.common.wireframe.fragmentMain\n\n#if defined(WIREFRAME_QUAD) || defined(WIREFRAME_TRIANGLE)\n if (wireframeLineWidth > 0.) {\n vec4 lineColor = wireframeLineColor;\n#ifdef SRGB_DECODE\n lineColor = sRGBToLinear(lineColor);\n#endif\n\n gl_FragColor.rgb = mix(gl_FragColor.rgb, lineColor.rgb, (1.0 - edgeFactor()) * lineColor.a);\n }\n#endif\n@end\n\n\n\n\n@export ecgl.common.bumpMap.header\n\n#ifdef BUMPMAP_ENABLED\nuniform sampler2D bumpMap;\nuniform float bumpScale : 1.0;\n\n\nvec3 bumpNormal(vec3 surfPos, vec3 surfNormal, vec3 baseNormal)\n{\n vec2 dSTdx = dFdx(v_Texcoord);\n vec2 dSTdy = dFdy(v_Texcoord);\n\n float Hll = bumpScale * texture2D(bumpMap, v_Texcoord).x;\n float dHx = bumpScale * texture2D(bumpMap, v_Texcoord + dSTdx).x - Hll;\n float dHy = bumpScale * texture2D(bumpMap, v_Texcoord + dSTdy).x - Hll;\n\n vec3 vSigmaX = dFdx(surfPos);\n vec3 vSigmaY = dFdy(surfPos);\n vec3 vN = surfNormal;\n\n vec3 R1 = cross(vSigmaY, vN);\n vec3 R2 = cross(vN, vSigmaX);\n\n float fDet = dot(vSigmaX, R1);\n\n vec3 vGrad = sign(fDet) * (dHx * R1 + dHy * R2);\n return normalize(abs(fDet) * baseNormal - vGrad);\n\n}\n#endif\n\n@end\n\n@export ecgl.common.normalMap.vertexHeader\n\n#ifdef NORMALMAP_ENABLED\nattribute vec4 tangent : TANGENT;\nvarying vec3 v_Tangent;\nvarying vec3 v_Bitangent;\n#endif\n\n@end\n\n@export ecgl.common.normalMap.vertexMain\n\n#ifdef NORMALMAP_ENABLED\n if (dot(tangent, tangent) > 0.0) {\n v_Tangent = normalize((worldInverseTranspose * vec4(tangent.xyz, 0.0)).xyz);\n v_Bitangent = normalize(cross(v_Normal, v_Tangent) * tangent.w);\n }\n#endif\n\n@end\n\n\n@export ecgl.common.normalMap.fragmentHeader\n\n#ifdef NORMALMAP_ENABLED\nuniform sampler2D normalMap;\nvarying vec3 v_Tangent;\nvarying vec3 v_Bitangent;\n#endif\n\n@end\n\n@export ecgl.common.normalMap.fragmentMain\n#ifdef NORMALMAP_ENABLED\n if (dot(v_Tangent, v_Tangent) > 0.0) {\n vec3 normalTexel = texture2D(normalMap, v_DetailTexcoord).xyz;\n if (dot(normalTexel, normalTexel) > 0.0) { N = normalTexel * 2.0 - 1.0;\n mat3 tbn = mat3(v_Tangent, v_Bitangent, v_Normal);\n N = normalize(tbn * N);\n }\n }\n#endif\n@end\n\n\n\n@export ecgl.common.vertexAnimation.header\n\n#ifdef VERTEX_ANIMATION\nattribute vec3 prevPosition;\nattribute vec3 prevNormal;\nuniform float percent;\n#endif\n\n@end\n\n@export ecgl.common.vertexAnimation.main\n\n#ifdef VERTEX_ANIMATION\n vec3 pos = mix(prevPosition, position, percent);\n vec3 norm = mix(prevNormal, normal, percent);\n#else\n vec3 pos = position;\n vec3 norm = normal;\n#endif\n\n@end\n\n\n@export ecgl.common.ssaoMap.header\n#ifdef SSAOMAP_ENABLED\nuniform sampler2D ssaoMap;\nuniform vec4 viewport : VIEWPORT;\n#endif\n@end\n\n@export ecgl.common.ssaoMap.main\n float ao = 1.0;\n#ifdef SSAOMAP_ENABLED\n ao = texture2D(ssaoMap, (gl_FragCoord.xy - viewport.xy) / viewport.zw).r;\n#endif\n@end\n\n\n\n\n@export ecgl.common.diffuseLayer.header\n\n#if (LAYER_DIFFUSEMAP_COUNT > 0)\nuniform float layerDiffuseIntensity[LAYER_DIFFUSEMAP_COUNT];\nuniform sampler2D layerDiffuseMap[LAYER_DIFFUSEMAP_COUNT];\n#endif\n\n@end\n\n@export ecgl.common.emissiveLayer.header\n\n#if (LAYER_EMISSIVEMAP_COUNT > 0)\nuniform float layerEmissionIntensity[LAYER_EMISSIVEMAP_COUNT];\nuniform sampler2D layerEmissiveMap[LAYER_EMISSIVEMAP_COUNT];\n#endif\n\n@end\n\n@export ecgl.common.layers.header\n@import ecgl.common.diffuseLayer.header\n@import ecgl.common.emissiveLayer.header\n@end\n\n@export ecgl.common.diffuseLayer.main\n\n#if (LAYER_DIFFUSEMAP_COUNT > 0)\n for (int _idx_ = 0; _idx_ < LAYER_DIFFUSEMAP_COUNT; _idx_++) {{\n float intensity = layerDiffuseIntensity[_idx_];\n vec4 texel2 = texture2D(layerDiffuseMap[_idx_], v_Texcoord);\n #ifdef SRGB_DECODE\n texel2 = sRGBToLinear(texel2);\n #endif\n albedoTexel.rgb = mix(albedoTexel.rgb, texel2.rgb * intensity, texel2.a);\n albedoTexel.a = texel2.a + (1.0 - texel2.a) * albedoTexel.a;\n }}\n#endif\n\n@end\n\n@export ecgl.common.emissiveLayer.main\n\n#if (LAYER_EMISSIVEMAP_COUNT > 0)\n for (int _idx_ = 0; _idx_ < LAYER_EMISSIVEMAP_COUNT; _idx_++)\n {{\n vec4 texel2 = texture2D(layerEmissiveMap[_idx_], v_Texcoord) * layerEmissionIntensity[_idx_];\n #ifdef SRGB_DECODE\n texel2 = sRGBToLinear(texel2);\n #endif\n float intensity = layerEmissionIntensity[_idx_];\n gl_FragColor.rgb += texel2.rgb * texel2.a * intensity;\n }}\n#endif\n\n@end\n"},function(e,t,r){"use strict";t.a="@export ecgl.color.vertex\n\nuniform mat4 worldViewProjection : WORLDVIEWPROJECTION;\n\n@import ecgl.common.uv.header\n\nattribute vec2 texcoord : TEXCOORD_0;\nattribute vec3 position: POSITION;\n\n@import ecgl.common.wireframe.vertexHeader\n\n#ifdef VERTEX_COLOR\nattribute vec4 a_Color : COLOR;\nvarying vec4 v_Color;\n#endif\n\n#ifdef VERTEX_ANIMATION\nattribute vec3 prevPosition;\nuniform float percent : 1.0;\n#endif\n\nvoid main()\n{\n#ifdef VERTEX_ANIMATION\n vec3 pos = mix(prevPosition, position, percent);\n#else\n vec3 pos = position;\n#endif\n\n gl_Position = worldViewProjection * vec4(pos, 1.0);\n\n @import ecgl.common.uv.main\n\n#ifdef VERTEX_COLOR\n v_Color = a_Color;\n#endif\n\n @import ecgl.common.wireframe.vertexMain\n\n}\n\n@end\n\n@export ecgl.color.fragment\n\n#define LAYER_DIFFUSEMAP_COUNT 0\n#define LAYER_EMISSIVEMAP_COUNT 0\n\nuniform sampler2D diffuseMap;\nuniform sampler2D detailMap;\n\nuniform vec4 color : [1.0, 1.0, 1.0, 1.0];\n\n#ifdef VERTEX_COLOR\nvarying vec4 v_Color;\n#endif\n\n@import ecgl.common.layers.header\n\n@import ecgl.common.uv.fragmentHeader\n\n@import ecgl.common.wireframe.fragmentHeader\n\n@import clay.util.srgb\n\nvoid main()\n{\n#ifdef SRGB_DECODE\n gl_FragColor = sRGBToLinear(color);\n#else\n gl_FragColor = color;\n#endif\n\n#ifdef VERTEX_COLOR\n gl_FragColor *= v_Color;\n#endif\n\n @import ecgl.common.albedo.main\n\n @import ecgl.common.diffuseLayer.main\n\n gl_FragColor *= albedoTexel;\n\n @import ecgl.common.emissiveLayer.main\n\n @import ecgl.common.wireframe.fragmentMain\n\n}\n@end"},function(e,t,r){"use strict";t.a="/**\n * http: */\n\n@export ecgl.lambert.vertex\n\n@import ecgl.common.transformUniforms\n\n@import ecgl.common.uv.header\n\n\n@import ecgl.common.attributes\n\n@import ecgl.common.wireframe.vertexHeader\n\n#ifdef VERTEX_COLOR\nattribute vec4 a_Color : COLOR;\nvarying vec4 v_Color;\n#endif\n\n\n@import ecgl.common.vertexAnimation.header\n\n\nvarying vec3 v_Normal;\nvarying vec3 v_WorldPosition;\n\nvoid main()\n{\n @import ecgl.common.uv.main\n\n @import ecgl.common.vertexAnimation.main\n\n\n gl_Position = worldViewProjection * vec4(pos, 1.0);\n\n v_Normal = normalize((worldInverseTranspose * vec4(norm, 0.0)).xyz);\n v_WorldPosition = (world * vec4(pos, 1.0)).xyz;\n\n#ifdef VERTEX_COLOR\n v_Color = a_Color;\n#endif\n\n @import ecgl.common.wireframe.vertexMain\n}\n\n@end\n\n\n@export ecgl.lambert.fragment\n\n#define LAYER_DIFFUSEMAP_COUNT 0\n#define LAYER_EMISSIVEMAP_COUNT 0\n\n#define NORMAL_UP_AXIS 1\n#define NORMAL_FRONT_AXIS 2\n\n@import ecgl.common.uv.fragmentHeader\n\nvarying vec3 v_Normal;\nvarying vec3 v_WorldPosition;\n\nuniform sampler2D diffuseMap;\nuniform sampler2D detailMap;\n\n@import ecgl.common.layers.header\n\nuniform float emissionIntensity: 1.0;\n\nuniform vec4 color : [1.0, 1.0, 1.0, 1.0];\n\nuniform mat4 viewInverse : VIEWINVERSE;\n\n#ifdef AMBIENT_LIGHT_COUNT\n@import clay.header.ambient_light\n#endif\n#ifdef AMBIENT_SH_LIGHT_COUNT\n@import clay.header.ambient_sh_light\n#endif\n\n#ifdef DIRECTIONAL_LIGHT_COUNT\n@import clay.header.directional_light\n#endif\n\n#ifdef VERTEX_COLOR\nvarying vec4 v_Color;\n#endif\n\n\n@import ecgl.common.ssaoMap.header\n\n@import ecgl.common.bumpMap.header\n\n@import clay.util.srgb\n\n@import ecgl.common.wireframe.fragmentHeader\n\n@import clay.plugin.compute_shadow_map\n\nvoid main()\n{\n#ifdef SRGB_DECODE\n gl_FragColor = sRGBToLinear(color);\n#else\n gl_FragColor = color;\n#endif\n\n#ifdef VERTEX_COLOR\n #ifdef SRGB_DECODE\n gl_FragColor *= sRGBToLinear(v_Color);\n #else\n gl_FragColor *= v_Color;\n #endif\n#endif\n\n @import ecgl.common.albedo.main\n\n @import ecgl.common.diffuseLayer.main\n\n gl_FragColor *= albedoTexel;\n\n vec3 N = v_Normal;\n#ifdef DOUBLE_SIDED\n vec3 eyePos = viewInverse[3].xyz;\n vec3 V = normalize(eyePos - v_WorldPosition);\n\n if (dot(N, V) < 0.0) {\n N = -N;\n }\n#endif\n\n float ambientFactor = 1.0;\n\n#ifdef BUMPMAP_ENABLED\n N = bumpNormal(v_WorldPosition, v_Normal, N);\n ambientFactor = dot(v_Normal, N);\n#endif\n\n vec3 N2 = vec3(N.x, N[NORMAL_UP_AXIS], N[NORMAL_FRONT_AXIS]);\n\n vec3 diffuseColor = vec3(0.0, 0.0, 0.0);\n\n @import ecgl.common.ssaoMap.main\n\n#ifdef AMBIENT_LIGHT_COUNT\n for(int i = 0; i < AMBIENT_LIGHT_COUNT; i++)\n {\n diffuseColor += ambientLightColor[i] * ambientFactor * ao;\n }\n#endif\n#ifdef AMBIENT_SH_LIGHT_COUNT\n for(int _idx_ = 0; _idx_ < AMBIENT_SH_LIGHT_COUNT; _idx_++)\n {{\n diffuseColor += calcAmbientSHLight(_idx_, N2) * ambientSHLightColor[_idx_] * ao;\n }}\n#endif\n#ifdef DIRECTIONAL_LIGHT_COUNT\n#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)\n float shadowContribsDir[DIRECTIONAL_LIGHT_COUNT];\n if(shadowEnabled)\n {\n computeShadowOfDirectionalLights(v_WorldPosition, shadowContribsDir);\n }\n#endif\n for(int i = 0; i < DIRECTIONAL_LIGHT_COUNT; i++)\n {\n vec3 lightDirection = -directionalLightDirection[i];\n vec3 lightColor = directionalLightColor[i];\n\n float shadowContrib = 1.0;\n#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)\n if (shadowEnabled)\n {\n shadowContrib = shadowContribsDir[i];\n }\n#endif\n\n float ndl = dot(N, normalize(lightDirection)) * shadowContrib;\n\n diffuseColor += lightColor * clamp(ndl, 0.0, 1.0);\n }\n#endif\n\n gl_FragColor.rgb *= diffuseColor;\n\n @import ecgl.common.emissiveLayer.main\n\n @import ecgl.common.wireframe.fragmentMain\n}\n\n@end"},function(e,t,r){"use strict";t.a="@export ecgl.realistic.vertex\n\n@import ecgl.common.transformUniforms\n\n@import ecgl.common.uv.header\n\n@import ecgl.common.attributes\n\n\n@import ecgl.common.wireframe.vertexHeader\n\n#ifdef VERTEX_COLOR\nattribute vec4 a_Color : COLOR;\nvarying vec4 v_Color;\n#endif\n\n#ifdef NORMALMAP_ENABLED\nattribute vec4 tangent : TANGENT;\nvarying vec3 v_Tangent;\nvarying vec3 v_Bitangent;\n#endif\n\n@import ecgl.common.vertexAnimation.header\n\nvarying vec3 v_Normal;\nvarying vec3 v_WorldPosition;\n\nvoid main()\n{\n\n @import ecgl.common.uv.main\n\n @import ecgl.common.vertexAnimation.main\n\n gl_Position = worldViewProjection * vec4(pos, 1.0);\n\n v_Normal = normalize((worldInverseTranspose * vec4(norm, 0.0)).xyz);\n v_WorldPosition = (world * vec4(pos, 1.0)).xyz;\n\n#ifdef VERTEX_COLOR\n v_Color = a_Color;\n#endif\n\n#ifdef NORMALMAP_ENABLED\n v_Tangent = normalize((worldInverseTranspose * vec4(tangent.xyz, 0.0)).xyz);\n v_Bitangent = normalize(cross(v_Normal, v_Tangent) * tangent.w);\n#endif\n\n @import ecgl.common.wireframe.vertexMain\n\n}\n\n@end\n\n\n\n@export ecgl.realistic.fragment\n\n#define LAYER_DIFFUSEMAP_COUNT 0\n#define LAYER_EMISSIVEMAP_COUNT 0\n#define PI 3.14159265358979\n#define ROUGHNESS_CHANEL 0\n#define METALNESS_CHANEL 1\n\n#define NORMAL_UP_AXIS 1\n#define NORMAL_FRONT_AXIS 2\n\n#ifdef VERTEX_COLOR\nvarying vec4 v_Color;\n#endif\n\n@import ecgl.common.uv.fragmentHeader\n\nvarying vec3 v_Normal;\nvarying vec3 v_WorldPosition;\n\nuniform sampler2D diffuseMap;\n\nuniform sampler2D detailMap;\nuniform sampler2D metalnessMap;\nuniform sampler2D roughnessMap;\n\n@import ecgl.common.layers.header\n\nuniform float emissionIntensity: 1.0;\n\nuniform vec4 color : [1.0, 1.0, 1.0, 1.0];\n\nuniform float metalness : 0.0;\nuniform float roughness : 0.5;\n\nuniform mat4 viewInverse : VIEWINVERSE;\n\n#ifdef AMBIENT_LIGHT_COUNT\n@import clay.header.ambient_light\n#endif\n\n#ifdef AMBIENT_SH_LIGHT_COUNT\n@import clay.header.ambient_sh_light\n#endif\n\n#ifdef AMBIENT_CUBEMAP_LIGHT_COUNT\n@import clay.header.ambient_cubemap_light\n#endif\n\n#ifdef DIRECTIONAL_LIGHT_COUNT\n@import clay.header.directional_light\n#endif\n\n@import ecgl.common.normalMap.fragmentHeader\n\n@import ecgl.common.ssaoMap.header\n\n@import ecgl.common.bumpMap.header\n\n@import clay.util.srgb\n\n@import clay.util.rgbm\n\n@import ecgl.common.wireframe.fragmentHeader\n\n@import clay.plugin.compute_shadow_map\n\nvec3 F_Schlick(float ndv, vec3 spec) {\n return spec + (1.0 - spec) * pow(1.0 - ndv, 5.0);\n}\n\nfloat D_Phong(float g, float ndh) {\n float a = pow(8192.0, g);\n return (a + 2.0) / 8.0 * pow(ndh, a);\n}\n\nvoid main()\n{\n vec4 albedoColor = color;\n\n vec3 eyePos = viewInverse[3].xyz;\n vec3 V = normalize(eyePos - v_WorldPosition);\n#ifdef VERTEX_COLOR\n #ifdef SRGB_DECODE\n albedoColor *= sRGBToLinear(v_Color);\n #else\n albedoColor *= v_Color;\n #endif\n#endif\n\n @import ecgl.common.albedo.main\n\n @import ecgl.common.diffuseLayer.main\n\n albedoColor *= albedoTexel;\n\n float m = metalness;\n\n#ifdef METALNESSMAP_ENABLED\n float m2 = texture2D(metalnessMap, v_DetailTexcoord)[METALNESS_CHANEL];\n m = clamp(m2 + (m - 0.5) * 2.0, 0.0, 1.0);\n#endif\n\n vec3 baseColor = albedoColor.rgb;\n albedoColor.rgb = baseColor * (1.0 - m);\n vec3 specFactor = mix(vec3(0.04), baseColor, m);\n\n float g = 1.0 - roughness;\n\n#ifdef ROUGHNESSMAP_ENABLED\n float g2 = 1.0 - texture2D(roughnessMap, v_DetailTexcoord)[ROUGHNESS_CHANEL];\n g = clamp(g2 + (g - 0.5) * 2.0, 0.0, 1.0);\n#endif\n\n vec3 N = v_Normal;\n\n#ifdef DOUBLE_SIDED\n if (dot(N, V) < 0.0) {\n N = -N;\n }\n#endif\n\n float ambientFactor = 1.0;\n\n#ifdef BUMPMAP_ENABLED\n N = bumpNormal(v_WorldPosition, v_Normal, N);\n ambientFactor = dot(v_Normal, N);\n#endif\n\n@import ecgl.common.normalMap.fragmentMain\n\n vec3 N2 = vec3(N.x, N[NORMAL_UP_AXIS], N[NORMAL_FRONT_AXIS]);\n\n vec3 diffuseTerm = vec3(0.0);\n vec3 specularTerm = vec3(0.0);\n\n float ndv = clamp(dot(N, V), 0.0, 1.0);\n vec3 fresnelTerm = F_Schlick(ndv, specFactor);\n\n @import ecgl.common.ssaoMap.main\n\n#ifdef AMBIENT_LIGHT_COUNT\n for(int _idx_ = 0; _idx_ < AMBIENT_LIGHT_COUNT; _idx_++)\n {{\n diffuseTerm += ambientLightColor[_idx_] * ambientFactor * ao;\n }}\n#endif\n\n#ifdef AMBIENT_SH_LIGHT_COUNT\n for(int _idx_ = 0; _idx_ < AMBIENT_SH_LIGHT_COUNT; _idx_++)\n {{\n diffuseTerm += calcAmbientSHLight(_idx_, N2) * ambientSHLightColor[_idx_] * ao;\n }}\n#endif\n\n#ifdef DIRECTIONAL_LIGHT_COUNT\n#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)\n float shadowContribsDir[DIRECTIONAL_LIGHT_COUNT];\n if(shadowEnabled)\n {\n computeShadowOfDirectionalLights(v_WorldPosition, shadowContribsDir);\n }\n#endif\n for(int _idx_ = 0; _idx_ < DIRECTIONAL_LIGHT_COUNT; _idx_++)\n {{\n vec3 L = -directionalLightDirection[_idx_];\n vec3 lc = directionalLightColor[_idx_];\n\n vec3 H = normalize(L + V);\n float ndl = clamp(dot(N, normalize(L)), 0.0, 1.0);\n float ndh = clamp(dot(N, H), 0.0, 1.0);\n\n float shadowContrib = 1.0;\n#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)\n if (shadowEnabled)\n {\n shadowContrib = shadowContribsDir[_idx_];\n }\n#endif\n\n vec3 li = lc * ndl * shadowContrib;\n\n diffuseTerm += li;\n specularTerm += li * fresnelTerm * D_Phong(g, ndh);\n }}\n#endif\n\n\n#ifdef AMBIENT_CUBEMAP_LIGHT_COUNT\n vec3 L = reflect(-V, N);\n L = vec3(L.x, L[NORMAL_UP_AXIS], L[NORMAL_FRONT_AXIS]);\n float rough2 = clamp(1.0 - g, 0.0, 1.0);\n float bias2 = rough2 * 5.0;\n vec2 brdfParam2 = texture2D(ambientCubemapLightBRDFLookup[0], vec2(rough2, ndv)).xy;\n vec3 envWeight2 = specFactor * brdfParam2.x + brdfParam2.y;\n vec3 envTexel2;\n for(int _idx_ = 0; _idx_ < AMBIENT_CUBEMAP_LIGHT_COUNT; _idx_++)\n {{\n envTexel2 = RGBMDecode(textureCubeLodEXT(ambientCubemapLightCubemap[_idx_], L, bias2), 8.12);\n specularTerm += ambientCubemapLightColor[_idx_] * envTexel2 * envWeight2 * ao;\n }}\n#endif\n\n gl_FragColor.rgb = albedoColor.rgb * diffuseTerm + specularTerm;\n gl_FragColor.a = albedoColor.a;\n\n#ifdef SRGB_ENCODE\n gl_FragColor = linearTosRGB(gl_FragColor);\n#endif\n\n @import ecgl.common.emissiveLayer.main\n\n @import ecgl.common.wireframe.fragmentMain\n}\n\n@end"},function(e,t,r){"use strict";t.a="@export ecgl.hatching.vertex\n\n@import ecgl.realistic.vertex\n\n@end\n\n\n@export ecgl.hatching.fragment\n\n#define NORMAL_UP_AXIS 1\n#define NORMAL_FRONT_AXIS 2\n\n@import ecgl.common.uv.fragmentHeader\n\nvarying vec3 v_Normal;\nvarying vec3 v_WorldPosition;\n\nuniform vec4 color : [0.0, 0.0, 0.0, 1.0];\nuniform vec4 paperColor : [1.0, 1.0, 1.0, 1.0];\n\nuniform mat4 viewInverse : VIEWINVERSE;\n\n#ifdef AMBIENT_LIGHT_COUNT\n@import clay.header.ambient_light\n#endif\n#ifdef AMBIENT_SH_LIGHT_COUNT\n@import clay.header.ambient_sh_light\n#endif\n\n#ifdef DIRECTIONAL_LIGHT_COUNT\n@import clay.header.directional_light\n#endif\n\n#ifdef VERTEX_COLOR\nvarying vec4 v_Color;\n#endif\n\n\n@import ecgl.common.ssaoMap.header\n\n@import ecgl.common.bumpMap.header\n\n@import clay.util.srgb\n\n@import ecgl.common.wireframe.fragmentHeader\n\n@import clay.plugin.compute_shadow_map\n\nuniform sampler2D hatch1;\nuniform sampler2D hatch2;\nuniform sampler2D hatch3;\nuniform sampler2D hatch4;\nuniform sampler2D hatch5;\nuniform sampler2D hatch6;\n\nfloat shade(in float tone) {\n vec4 c = vec4(1. ,1., 1., 1.);\n float step = 1. / 6.;\n vec2 uv = v_DetailTexcoord;\n if (tone <= step / 2.0) {\n c = mix(vec4(0.), texture2D(hatch6, uv), 12. * tone);\n }\n else if (tone <= step) {\n c = mix(texture2D(hatch6, uv), texture2D(hatch5, uv), 6. * tone);\n }\n if(tone > step && tone <= 2. * step){\n c = mix(texture2D(hatch5, uv), texture2D(hatch4, uv) , 6. * (tone - step));\n }\n if(tone > 2. * step && tone <= 3. * step){\n c = mix(texture2D(hatch4, uv), texture2D(hatch3, uv), 6. * (tone - 2. * step));\n }\n if(tone > 3. * step && tone <= 4. * step){\n c = mix(texture2D(hatch3, uv), texture2D(hatch2, uv), 6. * (tone - 3. * step));\n }\n if(tone > 4. * step && tone <= 5. * step){\n c = mix(texture2D(hatch2, uv), texture2D(hatch1, uv), 6. * (tone - 4. * step));\n }\n if(tone > 5. * step){\n c = mix(texture2D(hatch1, uv), vec4(1.), 6. * (tone - 5. * step));\n }\n\n return c.r;\n}\n\nconst vec3 w = vec3(0.2125, 0.7154, 0.0721);\n\nvoid main()\n{\n#ifdef SRGB_DECODE\n vec4 inkColor = sRGBToLinear(color);\n#else\n vec4 inkColor = color;\n#endif\n\n#ifdef VERTEX_COLOR\n #ifdef SRGB_DECODE\n inkColor *= sRGBToLinear(v_Color);\n #else\n inkColor *= v_Color;\n #endif\n#endif\n\n vec3 N = v_Normal;\n#ifdef DOUBLE_SIDED\n vec3 eyePos = viewInverse[3].xyz;\n vec3 V = normalize(eyePos - v_WorldPosition);\n\n if (dot(N, V) < 0.0) {\n N = -N;\n }\n#endif\n\n float tone = 0.0;\n\n float ambientFactor = 1.0;\n\n#ifdef BUMPMAP_ENABLED\n N = bumpNormal(v_WorldPosition, v_Normal, N);\n ambientFactor = dot(v_Normal, N);\n#endif\n\n vec3 N2 = vec3(N.x, N[NORMAL_UP_AXIS], N[NORMAL_FRONT_AXIS]);\n\n @import ecgl.common.ssaoMap.main\n\n#ifdef AMBIENT_LIGHT_COUNT\n for(int i = 0; i < AMBIENT_LIGHT_COUNT; i++)\n {\n tone += dot(ambientLightColor[i], w) * ambientFactor * ao;\n }\n#endif\n#ifdef AMBIENT_SH_LIGHT_COUNT\n for(int _idx_ = 0; _idx_ < AMBIENT_SH_LIGHT_COUNT; _idx_++)\n {{\n tone += dot(calcAmbientSHLight(_idx_, N2) * ambientSHLightColor[_idx_], w) * ao;\n }}\n#endif\n#ifdef DIRECTIONAL_LIGHT_COUNT\n#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)\n float shadowContribsDir[DIRECTIONAL_LIGHT_COUNT];\n if(shadowEnabled)\n {\n computeShadowOfDirectionalLights(v_WorldPosition, shadowContribsDir);\n }\n#endif\n for(int i = 0; i < DIRECTIONAL_LIGHT_COUNT; i++)\n {\n vec3 lightDirection = -directionalLightDirection[i];\n float lightTone = dot(directionalLightColor[i], w);\n\n float shadowContrib = 1.0;\n#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)\n if (shadowEnabled)\n {\n shadowContrib = shadowContribsDir[i];\n }\n#endif\n\n float ndl = dot(N, normalize(lightDirection)) * shadowContrib;\n\n tone += lightTone * clamp(ndl, 0.0, 1.0);\n }\n#endif\n\n gl_FragColor = mix(inkColor, paperColor, shade(clamp(tone, 0.0, 1.0)));\n }\n@end\n"},function(e,t,r){"use strict";t.a="@export ecgl.sm.depth.vertex\n\nuniform mat4 worldViewProjection : WORLDVIEWPROJECTION;\n\nattribute vec3 position : POSITION;\nattribute vec2 texcoord : TEXCOORD_0;\n\n#ifdef VERTEX_ANIMATION\nattribute vec3 prevPosition;\nuniform float percent : 1.0;\n#endif\n\nvarying vec4 v_ViewPosition;\nvarying vec2 v_Texcoord;\n\nvoid main(){\n\n#ifdef VERTEX_ANIMATION\n vec3 pos = mix(prevPosition, position, percent);\n#else\n vec3 pos = position;\n#endif\n\n v_ViewPosition = worldViewProjection * vec4(pos, 1.0);\n gl_Position = v_ViewPosition;\n\n v_Texcoord = texcoord;\n\n}\n@end\n\n\n\n@export ecgl.sm.depth.fragment\n\n@import clay.sm.depth.fragment\n\n@end"},function(e,t,r){"use strict";function n(e,t){if(e&&e[t]&&(e[t].normal||e[t].emphasis)){var r=e[t].normal,n=e[t].emphasis;r&&(e[t]=r),n&&(e.emphasis=e.emphasis||{},e.emphasis[t]=n)}}function i(e){n(e,"itemStyle"),n(e,"lineStyle"),n(e,"areaStyle"),n(e,"label")}function a(e){e&&(e instanceof Array||(e=[e]),s.a.util.each(e,function(e){if(e.axisLabel){var t=e.axisLabel;s.a.util.extend(t,t.textStyle),t.textStyle=null}}))}var o=r(0),s=r.n(o),u=["bar3D","line3D","map3D","scatter3D","surface","lines3D","scatterGL","scatter3D"];t.a=function(e){s.a.util.each(e.series,function(t){s.a.util.indexOf(u,t.type)>=0&&(i(t),"mapbox"===t.coordinateSystem&&(t.coordinateSystem="mapbox3D",e.mapbox3D=e.mapbox))}),a(e.xAxis3D),a(e.yAxis3D),a(e.zAxis3D),a(e.grid3D),n(e.geo3D)}},function(e,t,r){"use strict";var n=(r(155),r(159),r(160),r(167),r(0)),i=r.n(n);i.a.registerAction({type:"grid3DChangeCamera",event:"grid3dcamerachanged",update:"series:updateCamera"},function(e,t){t.eachComponent({mainType:"grid3D",query:e},function(t){t.setView(e)})}),i.a.registerAction({type:"grid3DShowAxisPointer",event:"grid3dshowaxispointer",update:"grid3D:showAxisPointer"},function(e,t){}),i.a.registerAction({type:"grid3DHideAxisPointer",event:"grid3dhideaxispointer",update:"grid3D:hideAxisPointer"},function(e,t){})},function(e,t,r){"use strict";function n(e,t){return t.type||(t.data?"category":"value")}var i=r(0),a=r.n(i),o=r(156),s=a.a.extendComponentModel({type:"cartesian3DAxis",axis:null,getCoordSysModel:function(){return this.ecModel.queryComponents({mainType:"grid3D",index:this.option.gridIndex,id:this.option.gridId})[0]}});a.a.helper.mixinAxisModelCommonMethods(s),Object(o.a)("x",s,n,{name:"X"}),Object(o.a)("y",s,n,{name:"Y"}),Object(o.a)("z",s,n,{name:"Z"})},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a=r(157),o=r(158),s=r.n(o),u=["value","category","time","log"];t.a=function(e,t,r,n){i.a.util.each(u,function(o){t.extend({type:e+"Axis3D."+o,__ordinalMeta:null,mergeDefaultAndTheme:function(t,n){var a=n.getTheme();i.a.util.merge(t,a.get(o+"Axis3D")),i.a.util.merge(t,this.getDefaultOption()),t.type=r(e,t)},optionUpdated:function(){"category"===this.option.type&&(this.__ordinalMeta=s.a.createByAxisModel(this))},getCategories:function(){if("category"===this.option.type)return this.__ordinalMeta.categories},getOrdinalMeta:function(){return this.__ordinalMeta},defaultOption:i.a.util.merge(i.a.util.clone(a.a[o+"Axis3D"]),n||{},!0)})}),t.superClass.registerSubTypeDefaulter(e+"Axis3D",i.a.util.curry(r,e))}},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a={show:!0,grid3DIndex:0,inverse:!1,name:"",nameLocation:"middle",nameTextStyle:{fontSize:16},nameGap:20,axisPointer:{},axisLine:{},axisTick:{},axisLabel:{},splitArea:{}},o=i.a.util.merge({boundaryGap:!0,axisTick:{alignWithLabel:!1,interval:"auto"},axisLabel:{interval:"auto"},axisPointer:{label:{show:!1}}},a),s=i.a.util.merge({boundaryGap:[0,0],splitNumber:5,axisPointer:{label:{}}},a),u=i.a.util.defaults({scale:!0,min:"dataMin",max:"dataMax"},s),l=i.a.util.defaults({logBase:10},s);l.scale=!0,t.a={categoryAxis3D:o,valueAxis3D:s,timeAxis3D:u,logAxis3D:l}},function(e,t,r){function n(e){this.categories=e.categories||[],this._needCollect=e.needCollect,this._deduplication=e.deduplication,this._map}function i(e){return e._map||(e._map=s(e.categories))}function a(e){return u(e)&&null!=e.value?e.value:e+""}var o=r(13),s=o.createHashMap,u=o.isObject,l=o.map;n.createByAxisModel=function(e){var t=e.option,r=t.data,i=r&&l(r,a);return new n({categories:i,needCollect:!i,deduplication:!1!==t.dedplication})};var h=n.prototype;h.getOrdinal=function(e){return i(this).get(e)},h.parseAndCollect=function(e){var t,r=this._needCollect;if("string"!=typeof e&&!r)return e;if(r&&!this._deduplication)return t=this.categories.length,this.categories[t]=e,t;var n=i(this);return t=n.get(e),null==t&&(r?(t=this.categories.length,this.categories[t]=e,n.set(e,t)):t=NaN),t};var c=n;e.exports=c},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a=r(44),o=r(28),s=r(29),u=i.a.extendComponentModel({type:"grid3D",dependencies:["xAxis3D","yAxis3D","zAxis3D"],defaultOption:{show:!0,zlevel:-10,left:0,top:0,width:"100%",height:"100%",environment:"auto",boxWidth:100,boxHeight:100,boxDepth:100,axisPointer:{show:!0,lineStyle:{color:"rgba(0, 0, 0, 0.8)",width:1},label:{show:!0,formatter:null,margin:8,textStyle:{fontSize:14,color:"#fff",backgroundColor:"rgba(0,0,0,0.5)",padding:3,borderRadius:3}}},axisLine:{show:!0,lineStyle:{color:"#333",width:2,type:"solid"}},axisTick:{show:!0,inside:!1,length:3,lineStyle:{width:1}},axisLabel:{show:!0,inside:!1,rotate:0,margin:8,textStyle:{fontSize:12}},splitLine:{show:!0,lineStyle:{color:["#ccc"],width:1,type:"solid"}},splitArea:{show:!1,areaStyle:{color:["rgba(250,250,250,0.3)","rgba(200,200,200,0.3)"]}},light:{main:{alpha:30,beta:40},ambient:{intensity:.4}},viewControl:{alpha:20,beta:40,autoRotate:!1,distance:200,minDistance:40,maxDistance:400}}});i.a.util.merge(u.prototype,a.a),i.a.util.merge(u.prototype,o.a),i.a.util.merge(u.prototype,s.a)},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a=r(1),o=r(45),s=r(25),u=r(2),l=r(81),h=r(30),c=r(162),d=r(164),f=r(63),p=r(46),m=u.a.firstNotNull;a.a.Shader.import(p.a),["x","y","z"].forEach(function(e){i.a.extendComponentView({type:e+"Axis3D"})});var g={x:0,y:2,z:1};i.a.extendComponentView({type:"grid3D",__ecgl__:!0,init:function(e,t){var r=[["y","z","x",-1,"left"],["y","z","x",1,"right"],["x","y","z",-1,"bottom"],["x","y","z",1,"top"],["x","z","y",-1,"far"],["x","z","y",1,"near"]],n=["x","y","z"],i=new a.a.Material({shader:a.a.createShader("ecgl.color"),depthMask:!1,transparent:!0}),u=new a.a.Material({shader:a.a.createShader("ecgl.meshLines3D"),depthMask:!1,transparent:!0});i.define("fragment","DOUBLE_SIDED"),i.define("both","VERTEX_COLOR"),this.groupGL=new a.a.Node,this._control=new o.a({zr:t.getZr()}),this._control.init(),this._faces=r.map(function(e){var t=new c.a(e,u,i);return this.groupGL.add(t.rootNode),t},this),this._axes=n.map(function(e){var t=new d.a(e,u);return this.groupGL.add(t.rootNode),t},this);var p=t.getDevicePixelRatio();this._axisLabelSurface=new l.a({width:256,height:256,devicePixelRatio:p}),this._axisLabelSurface.onupdate=function(){t.getZr().refresh()},this._axisPointerLineMesh=new a.a.Mesh({geometry:new s.a({useNativeLine:!1}),material:u,castShadow:!1,ignorePicking:!0,renderOrder:3}),this.groupGL.add(this._axisPointerLineMesh),this._axisPointerLabelsSurface=new l.a({width:128,height:128,devicePixelRatio:p}),this._axisPointerLabelsMesh=new f.a({ignorePicking:!0,renderOrder:4,castShadow:!1}),this._axisPointerLabelsMesh.material.set("textureAtlas",this._axisPointerLabelsSurface.getTexture()),this.groupGL.add(this._axisPointerLabelsMesh),this._lightRoot=new a.a.Node,this._sceneHelper=new h.a,this._sceneHelper.initLight(this._lightRoot)},render:function(e,t,r){this._model=e,this._api=r;var n=e.coordinateSystem;n.viewGL.add(this._lightRoot),e.get("show")?n.viewGL.add(this.groupGL):n.viewGL.remove(this.groupGL);var i=this._control;i.setViewGL(n.viewGL);var a=e.getModel("viewControl");i.setFromViewControlModel(a,0),this._axisLabelSurface.clear(),i.off("update"),e.get("show")&&(this._faces.forEach(function(n){n.update(e,t,r)},this),this._axes.forEach(function(t){t.update(e,this._axisLabelSurface,r)},this)),i.on("update",this._onCameraChange.bind(this,e,r),this),this._sceneHelper.setScene(n.viewGL.scene),this._sceneHelper.updateLight(e),n.viewGL.setPostEffect(e.getModel("postEffect"),r),n.viewGL.setTemporalSuperSampling(e.getModel("temporalSuperSampling")),this._initMouseHandler(e)},afterRender:function(e,t,r,n){var i=n.renderer;this._sceneHelper.updateAmbientCubemap(i,e,r),this._sceneHelper.updateSkybox(i,e,r)},showAxisPointer:function(e,t,r,n){this._doShowAxisPointer(),this._updateAxisPointer(n.value)},hideAxisPointer:function(e,t,r,n){this._doHideAxisPointer()},_initMouseHandler:function(e){var t=e.coordinateSystem,r=t.viewGL;e.get("show")&&e.get("axisPointer.show")?r.on("mousemove",this._updateAxisPointerOnMousePosition,this):r.off("mousemove",this._updateAxisPointerOnMousePosition)},_updateAxisPointerOnMousePosition:function(e){if(!e.target){for(var t,r=this._model,n=r.coordinateSystem,i=n.viewGL,o=i.castRay(e.offsetX,e.offsetY,new a.a.Ray),s=0;s<this._faces.length;s++){var u=this._faces[s];if(!u.rootNode.invisible){u.plane.normal.dot(i.camera.worldTransform.z)<0&&u.plane.normal.negate();var l=o.intersectPlane(u.plane);if(l){var h=n.getAxis(u.faceInfo[0]),c=n.getAxis(u.faceInfo[1]),d=g[u.faceInfo[0]],f=g[u.faceInfo[1]];h.contain(l.array[d])&&c.contain(l.array[f])&&(t=l)}}}if(t){var p=n.pointToData(t.array,[],!0);this._updateAxisPointer(p),this._doShowAxisPointer()}else this._doHideAxisPointer()}},_onCameraChange:function(e,t){e.get("show")&&(this._updateFaceVisibility(),this._updateAxisLinePosition());var r=this._control;t.dispatchAction({type:"grid3DChangeCamera",alpha:r.getAlpha(),beta:r.getBeta(),distance:r.getDistance(),center:r.getCenter(),from:this.uid,grid3DId:e.id})},_updateFaceVisibility:function(){var e=this._control.getCamera(),t=new a.a.Vector3;e.update();for(var r=0;r<this._faces.length/2;r++){for(var n=[],i=0;i<2;i++){this._faces[2*r+i].rootNode.getWorldPosition(t),t.transformMat4(e.viewMatrix),n[i]=t.z}var o=n[0]>n[1]?0:1,s=this._faces[2*r+o],u=this._faces[2*r+1-o];s.rootNode.invisible=!0,u.rootNode.invisible=!1}},_updateAxisLinePosition:function(){var e=this._model.coordinateSystem,t=e.getAxis("x"),r=e.getAxis("y"),n=e.getAxis("z"),i=n.getExtentMax(),a=n.getExtentMin(),o=t.getExtentMin(),s=t.getExtentMax(),u=r.getExtentMax(),l=r.getExtentMin(),h=this._axes[0].rootNode,c=this._axes[1].rootNode,d=this._axes[2].rootNode,f=this._faces,p=f[4].rootNode.invisible?l:u,m=f[2].rootNode.invisible?i:a,g=f[0].rootNode.invisible?o:s,_=f[2].rootNode.invisible?i:a,v=f[0].rootNode.invisible?s:o,y=f[4].rootNode.invisible?l:u;h.rotation.identity(),c.rotation.identity(),d.rotation.identity(),f[4].rootNode.invisible&&(this._axes[0].flipped=!0,h.rotation.rotateX(Math.PI)),f[0].rootNode.invisible&&(this._axes[1].flipped=!0,c.rotation.rotateZ(Math.PI)),f[4].rootNode.invisible&&(this._axes[2].flipped=!0,d.rotation.rotateY(Math.PI)),h.position.set(0,m,p),c.position.set(g,_,0),d.position.set(v,0,y),h.update(),c.update(),d.update(),this._updateAxisLabelAlign()},_updateAxisLabelAlign:function(){var e=this._control.getCamera(),t=[new a.a.Vector4,new a.a.Vector4],r=new a.a.Vector4;this.groupGL.getWorldPosition(r),r.w=1,r.transformMat4(e.viewMatrix).transformMat4(e.projectionMatrix),r.x/=r.w,r.y/=r.w,this._axes.forEach(function(n){for(var i=n.axisLineCoords,a=(n.labelsMesh.geometry,0);a<t.length;a++)t[a].setArray(i[a]),t[a].w=1,t[a].transformMat4(n.rootNode.worldTransform).transformMat4(e.viewMatrix).transformMat4(e.projectionMatrix),t[a].x/=t[a].w,t[a].y/=t[a].w;var o,s,u=t[1].x-t[0].x,l=t[1].y-t[0].y,h=(t[1].x+t[0].x)/2,c=(t[1].y+t[0].y)/2;Math.abs(l/u)<.5?(o="center",s=c>r.y?"bottom":"top"):(s="middle",o=h>r.x?"left":"right"),n.setSpriteAlign(o,s,this._api)},this)},_doShowAxisPointer:function(){this._axisPointerLineMesh.invisible&&(this._axisPointerLineMesh.invisible=!1,this._axisPointerLabelsMesh.invisible=!1,this._api.getZr().refresh())},_doHideAxisPointer:function(){this._axisPointerLineMesh.invisible||(this._axisPointerLineMesh.invisible=!0,this._axisPointerLabelsMesh.invisible=!0,this._api.getZr().refresh())},_updateAxisPointer:function(e){function t(e){return u.a.firstNotNull(e.model.get("axisPointer.show"),l.get("show"))}function r(e){var t=e.model.getModel("axisPointer",l),r=t.getModel("lineStyle"),n=a.a.parseColor(r.get("color")),i=m(r.get("width"),1),o=m(r.get("opacity"),1);return n[3]*=o,{color:n,lineWidth:i}}var n=this._model.coordinateSystem,i=n.dataToPoint(e),o=this._axisPointerLineMesh,s=o.geometry,l=this._model.getModel("axisPointer"),h=this._api.getDevicePixelRatio();s.convertToDynamicArray(!0);for(var c=0;c<this._faces.length;c++){var d=this._faces[c];if(!d.rootNode.invisible){for(var f=d.faceInfo,p=f[3]<0?n.getAxis(f[2]).getExtentMin():n.getAxis(f[2]).getExtentMax(),_=g[f[2]],v=0;v<2;v++){var y=f[v],x=f[1-v],T=n.getAxis(y),b=n.getAxis(x);if(t(T)){var w=[0,0,0],E=[0,0,0],S=g[y],A=g[x];w[S]=E[S]=i[S],w[_]=E[_]=p,w[A]=b.getExtentMin(),E[A]=b.getExtentMax();var M=r(T);s.addLine(w,E,M.color,M.lineWidth*h)}}if(t(n.getAxis(f[2]))){var w=i.slice(),E=i.slice();E[_]=p;var M=r(n.getAxis(f[2]));s.addLine(w,E,M.color,M.lineWidth*h)}}}s.convertToTypedArray(),this._updateAxisPointerLabelsMesh(e),this._api.getZr().refresh()},_updateAxisPointerLabelsMesh:function(e){var t=this._model,r=this._axisPointerLabelsMesh,n=this._axisPointerLabelsSurface,a=t.coordinateSystem,o=t.getModel("axisPointer");r.geometry.convertToDynamicArray(!0),n.clear();var s={x:"y",y:"x",z:"y"};this._axes.forEach(function(t,u){var l=a.getAxis(t.dim),h=l.model,c=h.getModel("axisPointer",o),d=c.getModel("label"),f=c.get("lineStyle.color");if(d.get("show")&&c.get("show")){var p=e[u],m=d.get("formatter"),_=l.scale.getLabel(p);if(null!=m)_=m(_,e);else if("interval"===l.scale.type||"log"===l.scale.type){var v=i.a.number.getPrecisionSafe(l.scale.getTicks()[0]);_=p.toFixed(v+2)}var y=d.getModel("textStyle"),x=y.get("color"),T=new i.a.graphic.Text;i.a.graphic.setTextStyle(T.style,y,{text:_,textFill:x||f,textAlign:"left",textVerticalAlign:"top"});var b=n.add(T),w=T.getBoundingRect(),E=this._api.getDevicePixelRatio(),S=t.rootNode.position.toArray();S[g[s[t.dim]]]+=(t.flipped?-1:1)*d.get("margin"),S[g[t.dim]]=l.dataToCoord(e[u]),r.geometry.addSprite(S,[w.width*E,w.height*E],b,t.textAlign,t.textVerticalAlign)}},this),n.getZr().refreshImmediately(),r.material.set("uvScale",n.getCoordsScale()),r.geometry.convertToTypedArray()},dispose:function(){this.groupGL.removeAll(),this._control.dispose()}})},function(e,t,r){"use strict";var n=r(70),i=r(12),a=r(33),o=r(78),s=r(79),u=r(34),l=r(21),h=r(55);t.a={vec2:n.a,vec3:i.a,vec4:a.a,mat2:o.a,mat2d:s.a,mat3:u.a,mat4:l.a,quat:h.a}},function(e,t,r){"use strict";function n(e,t,r,n){var i=[0,0,0],a=n<0?r.getExtentMin():r.getExtentMax();i[d[r.dim]]=a,e.position.setArray(i),e.rotation.identity(),t.distance=-Math.abs(a),t.normal.set(0,0,0),"x"===r.dim?(e.rotation.rotateY(n*Math.PI/2),t.normal.x=-n):"z"===r.dim?(e.rotation.rotateX(-n*Math.PI/2),t.normal.y=-n):(n>0&&e.rotation.rotateY(Math.PI),t.normal.z=-n)}function i(e,t,r){this.rootNode=new s.a.Node;var n=new s.a.Mesh({geometry:new l.a({useNativeLine:!1}),material:t,castShadow:!1,ignorePicking:!0,$ignorePicking:!0,renderOrder:1}),i=new s.a.Mesh({geometry:new h.a,material:r,castShadow:!1,culling:!1,ignorePicking:!0,$ignorePicking:!0,renderOrder:0});this.rootNode.add(i),this.rootNode.add(n),this.faceInfo=e,this.plane=new s.a.Plane,this.linesMesh=n,this.quadsMesh=i}var a=r(0),o=r.n(a),s=r(1),u=r(2),l=r(25),h=r(163),c=u.a.firstNotNull,d={x:0,y:2,z:1};i.prototype.update=function(e,t,r){var i=e.coordinateSystem,a=[i.getAxis(this.faceInfo[0]),i.getAxis(this.faceInfo[1])],o=this.linesMesh.geometry,s=this.quadsMesh.geometry;o.convertToDynamicArray(!0),s.convertToDynamicArray(!0),this._updateSplitLines(o,a,e,r),this._udpateSplitAreas(s,a,e,r),o.convertToTypedArray(),s.convertToTypedArray();var u=i.getAxis(this.faceInfo[2]);n(this.rootNode,this.plane,u,this.faceInfo[3])},i.prototype._updateSplitLines=function(e,t,r,n){var i=n.getDevicePixelRatio();t.forEach(function(n,a){var u=n.model,l=t[1-a].getExtent();if(!n.scale.isBlank()){var h=u.getModel("splitLine",r.getModel("splitLine"));if(h.get("show")){var d=h.getModel("lineStyle"),f=d.get("color"),p=c(d.get("opacity"),1),m=c(d.get("width"),1);f=o.a.util.isArray(f)?f:[f];for(var g=n.getTicksCoords({tickModel:h}),_=0,v=0;v<g.length;v++){var y=g[v].coord,x=s.a.parseColor(f[_%f.length]);x[3]*=p;var T=[0,0,0],b=[0,0,0];T[a]=b[a]=y,T[1-a]=l[0],b[1-a]=l[1],e.addLine(T,b,x,m*i),_++}}}})},i.prototype._udpateSplitAreas=function(e,t,r,n){t.forEach(function(n,i){var a=n.model,u=t[1-i].getExtent();if(!n.scale.isBlank()){var l=a.getModel("splitArea",r.getModel("splitArea"));if(l.get("show")){var h=l.getModel("areaStyle"),d=h.get("color"),f=c(h.get("opacity"),1);d=o.a.util.isArray(d)?d:[d];for(var p=n.getTicksCoords({tickModel:l,clamp:!0}),m=0,g=[0,0,0],_=[0,0,0],v=0;v<p.length;v++){var y=p[v].coord,x=[0,0,0],T=[0,0,0];if(x[i]=T[i]=y,x[1-i]=u[0],T[1-i]=u[1],0!==v){var b=s.a.parseColor(d[m%d.length]);b[3]*=f,e.addQuad([g,x,T,_],b),g=x,_=T,m++}else g=x,_=T}}}})},t.a=i},function(e,t,r){"use strict";var n=r(15),i=r(0),a=r.n(i),o=r(38),s=r(6),u=s.a.vec3,l=n.a.extend(function(){return{segmentScale:1,useNativeLine:!0,attributes:{position:new n.a.Attribute("position","float",3,"POSITION"),normal:new n.a.Attribute("normal","float",3,"NORMAL"),color:new n.a.Attribute("color","float",4,"COLOR")}}},{resetOffset:function(){this._vertexOffset=0,this._faceOffset=0},setQuadCount:function(e){var t=this.attributes,r=this.getQuadVertexCount()*e,n=this.getQuadTriangleCount()*e;this.vertexCount!==r&&(t.position.init(r),t.normal.init(r),t.color.init(r)),this.triangleCount!==n&&(this.indices=r>65535?new Uint32Array(3*n):new Uint16Array(3*n))},getQuadVertexCount:function(){return 4},getQuadTriangleCount:function(){return 2},addQuad:function(){var e=u.create(),t=u.create(),r=u.create(),n=[0,3,1,3,2,1];return function(i,a){var o=this.attributes.position,s=this.attributes.normal,l=this.attributes.color;u.sub(e,i[1],i[0]),u.sub(t,i[2],i[1]),u.cross(r,e,t),u.normalize(r,r);for(var h=0;h<4;h++)o.set(this._vertexOffset+h,i[h]),l.set(this._vertexOffset+h,a),s.set(this._vertexOffset+h,r);for(var c=3*this._faceOffset,h=0;h<6;h++)this.indices[c+h]=n[h]+this._vertexOffset;this._vertexOffset+=4,this._faceOffset+=2}}()});a.a.util.defaults(l.prototype,o.a),t.a=l},function(e,t,r){"use strict";function n(e,t){var r=new o.a.Mesh({geometry:new s.a({useNativeLine:!1}),material:t,castShadow:!1,ignorePicking:!0,renderOrder:2}),n=new l.a;n.material.depthMask=!1;var i=new o.a.Node;i.add(r),i.add(n),this.rootNode=i,this.dim=e,this.linesMesh=r,this.labelsMesh=n,this.axisLineCoords=null,this.labelElements=[]}var i=r(0),a=r.n(i),o=r(1),s=r(25),u=r(2),l=r(63),h=u.a.firstNotNull,c={x:0,y:2,z:1},d={x:"y",y:"x",z:"y"};n.prototype.update=function(e,t,r){var n=e.coordinateSystem,i=n.getAxis(this.dim),s=this.linesMesh.geometry,u=this.labelsMesh.geometry;s.convertToDynamicArray(!0),u.convertToDynamicArray(!0);var l=i.model,f=i.getExtent(),p=r.getDevicePixelRatio(),m=l.getModel("axisLine",e.getModel("axisLine")),g=l.getModel("axisTick",e.getModel("axisTick")),_=l.getModel("axisLabel",e.getModel("axisLabel")),v=m.get("lineStyle.color");if(m.get("show")){var y=m.getModel("lineStyle"),x=[0,0,0],T=[0,0,0],b=c[i.dim];x[b]=f[0],T[b]=f[1],this.axisLineCoords=[x,T];var w=o.a.parseColor(v),E=h(y.get("width"),1),S=h(y.get("opacity"),1);w[3]*=S,s.addLine(x,T,w,E*p)}if(g.get("show")){var A=g.getModel("lineStyle"),M=o.a.parseColor(h(A.get("color"),v)),E=h(A.get("width"),1);M[3]*=h(A.get("opacity"),1);for(var C=i.getTicksCoords(),L=g.get("length"),D=0;D<C.length;D++){var N=C[D].coord,x=[0,0,0],T=[0,0,0],b=c[i.dim],R=c[d[i.dim]];x[b]=T[b]=N,T[R]=L,s.addLine(x,T,M,E*p)}}this.labelElements=[];var p=r.getDevicePixelRatio();if(_.get("show"))for(var C=i.getTicksCoords(),P=l.get("data"),I=_.get("margin"),O=i.getViewLabels(),D=0;D<O.length;D++){var F=O[D].tickValue,B=O[D].formattedLabel,U=O[D].rawLabel,N=i.dataToCoord(F),z=[0,0,0],b=c[i.dim],R=c[d[i.dim]];z[b]=z[b]=N,z[R]=I;var G=_;P&&P[F]&&P[F].textStyle&&(G=new a.a.Model(P[F].textStyle,_,l.ecModel));var H=h(G.get("color"),v),V=new a.a.graphic.Text;a.a.graphic.setTextStyle(V.style,G,{text:B,textFill:"function"==typeof H?H("category"===i.type?U:"value"===i.type?F+"":F,D):H,textVerticalAlign:"top",textAlign:"left"});var k=t.add(V),W=V.getBoundingRect();u.addSprite(z,[W.width*p,W.height*p],k),this.labelElements.push(V)}if(l.get("name")){var j=l.getModel("nameTextStyle"),z=[0,0,0],b=c[i.dim],R=c[d[i.dim]],X=h(j.get("color"),v),q=j.get("borderColor"),E=j.get("borderWidth");z[b]=z[b]=(f[0]+f[1])/2,z[R]=l.get("nameGap");var V=new a.a.graphic.Text;a.a.graphic.setTextStyle(V.style,j,{text:l.get("name"),textFill:X,textStroke:q,lineWidth:E});var k=t.add(V),W=V.getBoundingRect();u.addSprite(z,[W.width*p,W.height*p],k),V.__idx=this.labelElements.length,this.nameLabelElement=V}this.labelsMesh.material.set("textureAtlas",t.getTexture()),this.labelsMesh.material.set("uvScale",t.getCoordsScale()),s.convertToTypedArray(),u.convertToTypedArray()},n.prototype.setSpriteAlign=function(e,t,r){for(var n=r.getDevicePixelRatio(),i=this.labelsMesh.geometry,a=0;a<this.labelElements.length;a++){var o=this.labelElements[a],s=o.getBoundingRect();i.setSpriteAlign(a,[s.width*n,s.height*n],e,t)}var u=this.nameLabelElement;if(u){var s=u.getBoundingRect();i.setSpriteAlign(u.__idx,[s.width*n,s.height*n],e,t),i.dirty()}this.textAlign=e,this.textVerticalAlign=t},t.a=n},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a=r(15),o=r(38),s=[0,1,2,0,2,3],u=a.a.extend(function(){return{attributes:{position:new a.a.Attribute("position","float",3,"POSITION"),texcoord:new a.a.Attribute("texcoord","float",2,"TEXCOORD_0"),offset:new a.a.Attribute("offset","float",2),color:new a.a.Attribute("color","float",4,"COLOR")}}},{resetOffset:function(){this._vertexOffset=0,this._faceOffset=0},setSpriteCount:function(e){this._spriteCount=e;var t=4*e,r=2*e;this.vertexCount!==t&&(this.attributes.position.init(t),this.attributes.offset.init(t),this.attributes.color.init(t)),this.triangleCount!==r&&(this.indices=t>65535?new Uint32Array(3*r):new Uint16Array(3*r))},setSpriteAlign:function(e,t,r,n,i){null==r&&(r="left"),null==n&&(n="top");var a,o,s,u;switch(i=i||0,r){case"left":a=i,s=t[0]+i;break;case"center":case"middle":a=-t[0]/2,s=t[0]/2;break;case"right":a=-t[0]-i,s=-i}switch(n){case"bottom":o=i,u=t[1]+i;break;case"middle":o=-t[1]/2,u=t[1]/2;break;case"top":o=-t[1]-i,u=-i}var l=4*e,h=this.attributes.offset;h.set(l,[a,u]),h.set(l+1,[s,u]),h.set(l+2,[s,o]),h.set(l+3,[a,o])},addSprite:function(e,t,r,n,i,a){var o=this._vertexOffset;this.setSprite(this._vertexOffset/4,e,t,r,n,i,a);for(var u=0;u<s.length;u++)this.indices[3*this._faceOffset+u]=s[u]+o;return this._faceOffset+=2,this._vertexOffset+=4,o/4},setSprite:function(e,t,r,n,i,a,o){for(var s=4*e,u=this.attributes,l=0;l<4;l++)u.position.set(s+l,t);var h=u.texcoord;h.set(s,[n[0][0],n[0][1]]),h.set(s+1,[n[1][0],n[0][1]]),h.set(s+2,[n[1][0],n[1][1]]),h.set(s+3,[n[0][0],n[1][1]]),this.setSpriteAlign(e,r,i,a,o)}});i.a.util.defaults(u.prototype,o.a),t.a=u},function(e,t,r){"use strict";t.a="@export ecgl.labels.vertex\n\nattribute vec3 position: POSITION;\nattribute vec2 texcoord: TEXCOORD_0;\nattribute vec2 offset;\n#ifdef VERTEX_COLOR\nattribute vec4 a_Color : COLOR;\nvarying vec4 v_Color;\n#endif\n\nuniform mat4 worldViewProjection : WORLDVIEWPROJECTION;\nuniform vec4 viewport : VIEWPORT;\n\nvarying vec2 v_Texcoord;\n\nvoid main()\n{\n vec4 proj = worldViewProjection * vec4(position, 1.0);\n\n vec2 screen = (proj.xy / abs(proj.w) + 1.0) * 0.5 * viewport.zw;\n\n screen += offset;\n\n proj.xy = (screen / viewport.zw - 0.5) * 2.0 * abs(proj.w);\n gl_Position = proj;\n#ifdef VERTEX_COLOR\n v_Color = a_Color;\n#endif\n v_Texcoord = texcoord;\n}\n@end\n\n\n@export ecgl.labels.fragment\n\nuniform vec3 color : [1.0, 1.0, 1.0];\nuniform float alpha : 1.0;\nuniform sampler2D textureAtlas;\nuniform vec2 uvScale: [1.0, 1.0];\n\n#ifdef VERTEX_COLOR\nvarying vec4 v_Color;\n#endif\nvarying float v_Miter;\n\nvarying vec2 v_Texcoord;\n\nvoid main()\n{\n gl_FragColor = vec4(color, alpha) * texture2D(textureAtlas, v_Texcoord * uvScale);\n#ifdef VERTEX_COLOR\n gl_FragColor *= v_Color;\n#endif\n}\n\n@end"},function(e,t,r){"use strict";function n(e,t){var r=e.getBoxLayoutParams(),n=h.a.getLayoutRect(r,{width:t.getWidth(),height:t.getHeight()});n.y=t.getHeight()-n.y-n.height,this.viewGL.setViewport(n.x,n.y,n.width,n.height,t.getDevicePixelRatio());var i=e.get("boxWidth"),a=e.get("boxHeight"),o=e.get("boxDepth");this.getAxis("x").setExtent(-i/2,i/2),this.getAxis("y").setExtent(o/2,-o/2),this.getAxis("z").setExtent(-a/2,a/2),this.size=[i,a,o]}function i(e,t){function r(e,t){n[e]=n[e]||[1/0,-1/0],n[e][0]=Math.min(t[0],n[e][0]),n[e][1]=Math.max(t[1],n[e][1])}var n={};e.eachSeries(function(e){if(e.coordinateSystem===this){var t=e.getData();["x","y","z"].forEach(function(e){t.mapDimension(e,!0).forEach(function(n){r(e,t.getDataExtent(n,!0))})})}},this),["xAxis3D","yAxis3D","zAxis3D"].forEach(function(t){e.eachComponent(t,function(e){var r=t.charAt(0),i=e.getReferringComponents("grid3D")[0],a=i.coordinateSystem;if(a===this){var s=a.getAxis(r);if(!s){var l=u.a.helper.createScale(n[r]||[1/0,-1/0],e);s=new o.a(r,l),s.type=e.get("type");var h="category"===s.type;s.onBand=h&&e.get("boundaryGap"),s.inverse=e.get("inverse"),e.axis=s,s.model=e,s.getLabelModel=function(){return e.getModel("axisLabel",i.getModel("axisLabel"))},s.getTickModel=function(){return e.getModel("axisTick",i.getModel("axisTick"))},a.addAxis(s)}}},this)},this),this.resize(this.model,t)}var a=r(168),o=r(170),s=r(0),u=r.n(s),l=r(47),h=r.n(l),c=r(22),d=(r(2),{dimensions:a.a.prototype.dimensions,create:function(e,t){function r(e,t){return s.map(function(r){var n=e.getReferringComponents(r)[0];return null==n&&(n=t.getComponent(r)),n})}var o=[];e.eachComponent("grid3D",function(e){e.__viewGL=e.__viewGL||new c.a;var t=new a.a;t.model=e,t.viewGL=e.__viewGL,e.coordinateSystem=t,o.push(t),t.resize=n,t.update=i});var s=["xAxis3D","yAxis3D","zAxis3D"];return e.eachSeries(function(t){if("cartesian3D"===t.get("coordinateSystem")){var n=t.getReferringComponents("grid3D")[0];if(null==n){var i=r(t,e),n=i[0].getCoordSysModel();i.forEach(function(e){e.getCoordSysModel()})}var a=n.coordinateSystem;t.coordinateSystem=a}}),o}});u.a.registerCoordinateSystem("grid3D",d)},function(e,t,r){"use strict";function n(e){s.a.call(this,e),this.size=[0,0,0]}var i=r(0),a=r.n(i),o=r(169),s=r.n(o);n.prototype={constructor:n,type:"cartesian3D",dimensions:["x","y","z"],model:null,containPoint:function(e){return this.getAxis("x").contain(e[0])&&this.getAxis("y").contain(e[2])&&this.getAxis("z").contain(e[1])},containData:function(e){return this.getAxis("x").containData(e[0])&&this.getAxis("y").containData(e[1])&&this.getAxis("z").containData(e[2])},dataToPoint:function(e,t,r){return t=t||[],t[0]=this.getAxis("x").dataToCoord(e[0],r),t[2]=this.getAxis("y").dataToCoord(e[1],r),t[1]=this.getAxis("z").dataToCoord(e[2],r),t},pointToData:function(e,t,r){return t=t||[],t[0]=this.getAxis("x").coordToData(e[0],r),t[1]=this.getAxis("y").coordToData(e[2],r),t[2]=this.getAxis("z").coordToData(e[1],r),t}},a.a.util.inherits(n,s.a),t.a=n},function(e,t,r){function n(e){return this._axes[e]}var i=r(13),a=function(e){this._axes={},this._dimList=[],this.name=e||""};a.prototype={constructor:a,type:"cartesian",getAxis:function(e){return this._axes[e]},getAxes:function(){return i.map(this._dimList,n,this)},getAxesByScale:function(e){return e=e.toLowerCase(),i.filter(this.getAxes(),function(t){return t.scale.type===e})},addAxis:function(e){var t=e.dim;this._axes[t]=e,this._dimList.push(t)},dataToCoord:function(e){return this._dataCoordConvert(e,"dataToCoord")},coordToData:function(e){return this._dataCoordConvert(e,"coordToData")},_dataCoordConvert:function(e,t){for(var r=this._dimList,n=e instanceof Array?[]:{},i=0;i<r.length;i++){var a=r[i],o=this._axes[a];n[a]=o[t](e[a])}return n}};var o=a;e.exports=o},function(e,t,r){"use strict";function n(e,t,r){a.a.Axis.call(this,e,t,r)}var i=r(0),a=r.n(i);n.prototype={constructor:n,getExtentMin:function(){var e=this._extent;return Math.min(e[0],e[1])},getExtentMax:function(){var e=this._extent;return Math.max(e[0],e[1])},calculateCategoryInterval:function(){return Math.floor(this.scale.count()/8)}},a.a.util.inherits(n,a.a.Axis),t.a=n},function(e,t,r){function n(e){return isNaN(e)?"-":(e=(e+"").split("."),e[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g,"$1,")+(e.length>1?"."+e[1]:""))}function i(e,t){return e=(e||"").toLowerCase().replace(/-(.)/g,function(e,t){return t.toUpperCase()}),t&&e&&(e=e.charAt(0).toUpperCase()+e.slice(1)),e}function a(e){return null==e?"":(e+"").replace(g,function(e,t){return _[t]})}function o(e,t,r){d.isArray(t)||(t=[t]);var n=t.length;if(!n)return"";for(var i=t[0].$vars||[],o=0;o<i.length;o++){var s=v[o];e=e.replace(y(s),y(s,0))}for(var u=0;u<n;u++)for(var l=0;l<i.length;l++){var h=t[u][i[l]];e=e.replace(y(v[l],u),r?a(h):h)}return e}function s(e,t,r){return d.each(t,function(t,n){e=e.replace("{"+n+"}",r?a(t):t)}),e}function u(e,t){e=d.isString(e)?{color:e,extraCssText:t}:e||{};var r=e.color,n=e.type,t=e.extraCssText;return r?"subItem"===n?'<span style="display:inline-block;vertical-align:middle;margin-right:8px;margin-left:3px;border-radius:4px;width:4px;height:4px;background-color:'+a(r)+";"+(t||"")+'"></span>':'<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:'+a(r)+";"+(t||"")+'"></span>':""}function l(e,t){return e+="","0000".substr(0,t-e.length)+e}function h(e,t,r){"week"!==e&&"month"!==e&&"quarter"!==e&&"half-year"!==e&&"year"!==e||(e="MM-dd\nyyyy");var n=p.parseDate(t),i=r?"UTC":"",a=n["get"+i+"FullYear"](),o=n["get"+i+"Month"]()+1,s=n["get"+i+"Date"](),u=n["get"+i+"Hours"](),h=n["get"+i+"Minutes"](),c=n["get"+i+"Seconds"](),d=n["get"+i+"Milliseconds"]();return e=e.replace("MM",l(o,2)).replace("M",o).replace("yyyy",a).replace("yy",a%100).replace("dd",l(s,2)).replace("d",s).replace("hh",l(u,2)).replace("h",u).replace("mm",l(h,2)).replace("m",h).replace("ss",l(c,2)).replace("s",c).replace("SSS",l(d,3))}function c(e){return e?e.charAt(0).toUpperCase()+e.substr(1):e}var d=r(13),f=r(172),p=r(85),m=d.normalizeCssArray,g=/([&<>"'])/g,_={"&":"&","<":"<",">":">",'"':""","'":"'"},v=["a","b","c","d","e","f","g"],y=function(e,t){return"{"+e+(null==t?"":t)+"}"},x=f.truncateText,T=f.getBoundingRect;t.addCommas=n,t.toCamelCase=i,t.normalizeCssArray=m,t.encodeHTML=a,t.formatTpl=o,t.formatTplSimple=s,t.getTooltipMarker=u,t.formatTime=h,t.capitalFirst=c,t.truncateText=x,t.getTextRect=T},function(e,t,r){function n(e,t){I[e]=t}function i(e,t){t=t||P;var r=e+":"+t;if(L[r])return L[r];for(var n=(e+"").split("\n"),i=0,a=0,o=n.length;a<o;a++)i=Math.max(g(n[a],t).width,i);return D>N&&(D=0,L={}),D++,L[r]=i,i}function a(e,t,r,n,i,a,u){return a?s(e,t,r,n,i,a,u):o(e,t,r,n,i,u)}function o(e,t,r,n,a,o){var s=_(e,t,a,o),h=i(e,t);a&&(h+=a[1]+a[3]);var c=s.outerHeight,d=u(0,h,r),f=l(0,c,n),p=new T(d,f,h,c);return p.lineHeight=s.lineHeight,p}function s(e,t,r,n,i,a,o){var s=v(e,{rich:a,truncate:o,font:t,textAlign:r,textPadding:i}),h=s.outerWidth,c=s.outerHeight,d=u(0,h,r),f=l(0,c,n);return new T(d,f,h,c)}function u(e,t,r){return"right"===r?e-=t:"center"===r&&(e-=t/2),e}function l(e,t,r){return"middle"===r?e-=t/2:"bottom"===r&&(e-=t),e}function h(e,t,r){var n=t.x,i=t.y,a=t.height,o=t.width,s=a/2,u="left",l="top";switch(e){case"left":n-=r,i+=s,u="right",l="middle";break;case"right":n+=r+o,i+=s,l="middle";break;case"top":n+=o/2,i-=r,u="center",l="bottom";break;case"bottom":n+=o/2,i+=a+r,u="center";break;case"inside":n+=o/2,i+=s,u="center",l="middle";break;case"insideLeft":n+=r,i+=s,l="middle";break;case"insideRight":n+=o-r,i+=s,u="right",l="middle";break;case"insideTop":n+=o/2,i+=r,u="center";break;case"insideBottom":n+=o/2,i+=a-r,u="center",l="bottom";break;case"insideTopLeft":n+=r,i+=r;break;case"insideTopRight":n+=o-r,i+=r,u="right";break;case"insideBottomLeft":n+=r,i+=a-r,l="bottom";break;case"insideBottomRight":n+=o-r,i+=a-r,u="right",l="bottom"}return{x:n,y:i,textAlign:u,textVerticalAlign:l}}function c(e,t,r,n,i){if(!t)return"";var a=(e+"").split("\n");i=d(t,r,n,i);for(var o=0,s=a.length;o<s;o++)a[o]=f(a[o],i);return a.join("\n")}function d(e,t,r,n){n=S({},n),n.font=t;var r=A(r,"...");n.maxIterations=A(n.maxIterations,2);var a=n.minChar=A(n.minChar,0);n.cnCharWidth=i("国",t);var o=n.ascCharWidth=i("a",t);n.placeholder=A(n.placeholder,"");for(var s=e=Math.max(0,e-1),u=0;u<a&&s>=o;u++)s-=o;var l=i(r);return l>s&&(r="",l=0),s=e-l,n.ellipsis=r,n.ellipsisWidth=l,n.contentWidth=s,n.containerWidth=e,n}function f(e,t){var r=t.containerWidth,n=t.font,a=t.contentWidth;if(!r)return"";var o=i(e,n);if(o<=r)return e;for(var s=0;;s++){if(o<=a||s>=t.maxIterations){e+=t.ellipsis;break}var u=0===s?p(e,a,t.ascCharWidth,t.cnCharWidth):o>0?Math.floor(e.length*a/o):0;e=e.substr(0,u),o=i(e,n)}return""===e&&(e=t.placeholder),e}function p(e,t,r,n){for(var i=0,a=0,o=e.length;a<o&&i<t;a++){var s=e.charCodeAt(a);i+=0<=s&&s<=127?r:n}return a}function m(e){return i("国",e)}function g(e,t){return I.measureText(e,t)}function _(e,t,r,n){null!=e&&(e+="");var i=m(t),a=e?e.split("\n"):[],o=a.length*i,s=o;if(r&&(s+=r[0]+r[2]),e&&n){var u=n.outerHeight,l=n.outerWidth;if(null!=u&&s>u)e="",a=[];else if(null!=l)for(var h=d(l-(r?r[1]+r[3]:0),t,n.ellipsis,{minChar:n.minChar,placeholder:n.placeholder}),c=0,p=a.length;c<p;c++)a[c]=f(a[c],h)}return{lines:a,height:o,outerHeight:s,lineHeight:i}}function v(e,t){var r={lines:[],width:0,height:0};if(null!=e&&(e+=""),!e)return r;for(var n,a=R.lastIndex=0;null!=(n=R.exec(e));){var o=n.index;o>a&&y(r,e.substring(a,o)),y(r,n[2],n[1]),a=R.lastIndex}a<e.length&&y(r,e.substring(a,e.length));var s=r.lines,u=0,l=0,h=[],d=t.textPadding,f=t.truncate,p=f&&f.outerWidth,g=f&&f.outerHeight;d&&(null!=p&&(p-=d[1]+d[3]),null!=g&&(g-=d[0]+d[2]));for(var _=0;_<s.length;_++){for(var v=s[_],x=0,T=0,w=0;w<v.tokens.length;w++){var E=v.tokens[w],S=E.styleName&&t.rich[E.styleName]||{},C=E.textPadding=S.textPadding,L=E.font=S.font||t.font,D=E.textHeight=A(S.textHeight,m(L));if(C&&(D+=C[0]+C[2]),E.height=D,E.lineHeight=M(S.textLineHeight,t.textLineHeight,D),E.textAlign=S&&S.textAlign||t.textAlign,E.textVerticalAlign=S&&S.textVerticalAlign||"middle",null!=g&&u+E.lineHeight>g)return{lines:[],width:0,height:0};E.textWidth=i(E.text,L);var N=S.textWidth,P=null==N||"auto"===N;if("string"==typeof N&&"%"===N.charAt(N.length-1))E.percentWidth=N,h.push(E),N=0;else{if(P){N=E.textWidth;var I=S.textBackgroundColor,O=I&&I.image;O&&(O=b.findExistImage(O),b.isImageReady(O)&&(N=Math.max(N,O.width*D/O.height)))}var F=C?C[1]+C[3]:0;N+=F;var B=null!=p?p-T:null;null!=B&&B<N&&(!P||B<F?(E.text="",E.textWidth=N=0):(E.text=c(E.text,B-F,L,f.ellipsis,{minChar:f.minChar}),E.textWidth=i(E.text,L),N=E.textWidth+F))}T+=E.width=N,S&&(x=Math.max(x,E.lineHeight))}v.width=T,v.lineHeight=x,u+=x,l=Math.max(l,T)}r.outerWidth=r.width=A(t.textWidth,l),r.outerHeight=r.height=A(t.textHeight,u),d&&(r.outerWidth+=d[1]+d[3],r.outerHeight+=d[0]+d[2]);for(var _=0;_<h.length;_++){var E=h[_],U=E.percentWidth;E.width=parseInt(U,10)/100*l}return r}function y(e,t,r){for(var n=""===t,i=t.split("\n"),a=e.lines,o=0;o<i.length;o++){var s=i[o],u={styleName:r,text:s,isLineHolder:!s&&!n};if(o)a.push({tokens:[u]});else{var l=(a[a.length-1]||(a[0]={tokens:[]})).tokens,h=l.length;1===h&&l[0].isLineHolder?l[0]=u:(s||!h||n)&&l.push(u)}}}function x(e){var t=(e.fontSize||e.fontFamily)&&[e.fontStyle,e.fontWeight,(e.fontSize||12)+"px",e.fontFamily||"sans-serif"].join(" ");return t&&C(t)||e.textFont||e.font}var T=r(82),b=r(173),w=r(13),E=w.getContext,S=w.extend,A=w.retrieve2,M=w.retrieve3,C=w.trim,L={},D=0,N=5e3,R=/\{([a-zA-Z0-9_]+)\|([^}]*)\}/g,P="12px sans-serif",I={};I.measureText=function(e,t){var r=E();return r.font=t||P,r.measureText(e)},t.DEFAULT_FONT=P,t.$override=n,t.getWidth=i,t.getBoundingRect=a,t.adjustTextX=u,t.adjustTextY=l,t.adjustTextPositionOnRect=h,t.truncateText=c,t.getLineHeight=m,t.measureText=g,t.parsePlainText=_,t.parseRichText=v,t.makeFont=x},function(e,t,r){function n(e){if("string"==typeof e){var t=u.get(e);return t&&t.image}return e}function i(e,t,r,n,i){if(e){if("string"==typeof e){if(t&&t.__zrImageSrc===e||!r)return t;var s=u.get(e),l={hostEl:r,cb:n,cbPayload:i};return s?(t=s.image,!o(t)&&s.pending.push(l)):(!t&&(t=new Image),t.onload=a,u.put(e,t.__cachedImgObj={image:t,pending:[l]}),t.src=t.__zrImageSrc=e),t}return e}return t}function a(){var e=this.__cachedImgObj;this.onload=this.__cachedImgObj=null;for(var t=0;t<e.pending.length;t++){var r=e.pending[t],n=r.cb;n&&n(this,r.cbPayload),r.hostEl.dirty()}e.pending.length=0}function o(e){return e&&e.width&&e.height}var s=r(60),u=new s(50);t.findExistImage=n,t.createOrUpdateImage=i,t.isImageReady=o},function(e,t,r){"use strict";function n(e,t,r){if("alphaMap"===r)return e.material.get("diffuseMap");if("alphaCutoff"===r){if(e.material.isDefined("fragment","ALPHA_TEST")&&e.material.get("diffuseMap")){return e.material.get("alphaCutoff")||0}return 0}return t.get(r)}function i(e,t){var r=e.material,n=t.material;return r.get("diffuseMap")!==n.get("diffuseMap")||(r.get("alphaCutoff")||0)!==(n.get("alphaCutoff")||0)}var a=r(7),o=r(11),s=r(3),u=r(18),l=r(59),h=r(9),c=r(52),d=r(8),f=r(19),p=r(10),m=r(4),g=r(5),_=r(27),v=r(41),y=r(37),x=r(16),T=r(86),b=r(21),w=r(175),E=["px","nx","py","ny","pz","nz"];d.a.import(w.a);var S=a.a.extend(function(){return{softShadow:S.PCF,shadowBlur:1,lightFrustumBias:"auto",kernelPCF:new Float32Array([1,0,1,1,-1,1,0,1,-1,0,-1,-1,1,-1,0,-1]),precision:"highp",_lastRenderNotCastShadow:!1,_frameBuffer:new p.a,_textures:{},_shadowMapNumber:{POINT_LIGHT:0,DIRECTIONAL_LIGHT:0,SPOT_LIGHT:0},_depthMaterials:{},_distanceMaterials:{},_receivers:[],_lightsCastShadow:[],_lightCameras:{},_lightMaterials:{},_texturePool:new T.a}},function(){this._gaussianPassH=new x.a({fragment:d.a.source("clay.compositor.gaussian_blur")}),this._gaussianPassV=new x.a({fragment:d.a.source("clay.compositor.gaussian_blur")}),this._gaussianPassH.setUniform("blurSize",this.shadowBlur),this._gaussianPassH.setUniform("blurDir",0),this._gaussianPassV.setUniform("blurSize",this.shadowBlur),this._gaussianPassV.setUniform("blurDir",1),this._outputDepthPass=new x.a({fragment:d.a.source("clay.sm.debug_depth")})},{render:function(e,t,r,n){r||(r=t.getMainCamera()),this.trigger("beforerender",this,e,t,r),this._renderShadowPass(e,t,r,n),this.trigger("afterrender",this,e,t,r)},renderDebug:function(e,t){e.saveClear();var r=e.viewport,n=0,i=t||r.width/4,a=i;this.softShadow===S.VSM?this._outputDepthPass.material.define("fragment","USE_VSM"):this._outputDepthPass.material.undefine("fragment","USE_VSM");for(var o in this._textures){var s=this._textures[o];e.setViewport(n,0,i*s.width/s.height,a),this._outputDepthPass.setUniform("depthMap",s),this._outputDepthPass.render(e),n+=i*s.width/s.height}e.setViewport(r),e.restoreClear()},_updateReceivers:function(e,t){if(t.receiveShadow?(this._receivers.push(t),t.material.set("shadowEnabled",1),t.material.set("pcfKernel",this.kernelPCF)):t.material.set("shadowEnabled",0),this.softShadow===S.VSM)t.material.define("fragment","USE_VSM"),t.material.undefine("fragment","PCF_KERNEL_SIZE");else{t.material.undefine("fragment","USE_VSM");var r=this.kernelPCF;r&&r.length?t.material.define("fragment","PCF_KERNEL_SIZE",r.length/2):t.material.undefine("fragment","PCF_KERNEL_SIZE")}},_update:function(e,t){var r=this;t.traverse(function(t){t.isRenderable()&&r._updateReceivers(e,t)});for(var n=0;n<t.lights.length;n++){var i=t.lights[n];i.castShadow&&!i.invisible&&this._lightsCastShadow.push(i)}},_renderShadowPass:function(e,t,r,n){function i(e){return e.height}for(var a in this._shadowMapNumber)this._shadowMapNumber[a]=0;this._lightsCastShadow.length=0,this._receivers.length=0;var o=e.gl;if(n||t.update(),r&&r.update(),t.updateLights(),this._update(e,t),this._lightsCastShadow.length||!this._lastRenderNotCastShadow){this._lastRenderNotCastShadow=0===this._lightsCastShadow,o.enable(o.DEPTH_TEST),o.depthMask(!0),o.disable(o.BLEND),o.clearColor(1,1,1,1);for(var s,u=[],l=[],h=[],c=[],d=[],f=[],p=0;p<this._lightsCastShadow.length;p++){var m=this._lightsCastShadow[p];if("DIRECTIONAL_LIGHT"===m.type){if(s){console.warn("Only one direectional light supported with shadow cascade");continue}if(m.shadowCascade>4){console.warn("Support at most 4 cascade");continue}m.shadowCascade>1&&(s=m),this.renderDirectionalLightShadow(e,t,r,m,d,c,h)}else"SPOT_LIGHT"===m.type?this.renderSpotLightShadow(e,t,m,l,u):"POINT_LIGHT"===m.type&&this.renderPointLightShadow(e,t,m,f);this._shadowMapNumber[m.type]++}for(var g in this._shadowMapNumber)for(var _=this._shadowMapNumber[g],v=g+"_SHADOWMAP_COUNT",p=0;p<this._receivers.length;p++){var y=this._receivers[p],x=y.material;x.fragmentDefines[v]!==_&&(_>0?x.define("fragment",v,_):x.isDefined("fragment",v)&&x.undefine("fragment",v))}for(var p=0;p<this._receivers.length;p++){var y=this._receivers[p],x=y.material;s?x.define("fragment","SHADOW_CASCADE",s.shadowCascade):x.undefine("fragment","SHADOW_CASCADE")}var T=t.shadowUniforms;if(h.length>0){var b=h.map(i);if(T.directionalLightShadowMaps={value:h,type:"tv"},T.directionalLightMatrices={value:c,type:"m4v"},T.directionalLightShadowMapSizes={value:b,type:"1fv"},s){var w=d.slice(),E=d.slice();w.pop(),E.shift(),w.reverse(),E.reverse(),c.reverse(),T.shadowCascadeClipsNear={value:w,type:"1fv"},T.shadowCascadeClipsFar={value:E,type:"1fv"}}}if(u.length>0){var S=u.map(i),T=t.shadowUniforms;T.spotLightShadowMaps={value:u,type:"tv"},T.spotLightMatrices={value:l,type:"m4v"},T.spotLightShadowMapSizes={value:S,type:"1fv"}}f.length>0&&(T.pointLightShadowMaps={value:f,type:"tv"})}},renderDirectionalLightShadow:function(){var e=new l.a,t=new h.a,r=new u.a,a=new h.a,o=new h.a,s=new h.a,d=new h.a;return function(u,l,f,p,m,g,_){var y=this._getDepthMaterial(p),x={getMaterial:function(e){return e.shadowDepthMaterial||y},isMaterialChanged:i,getUniform:n,ifRender:function(e){return e.castShadow},sortCompare:c.a.opaqueSortCompare};if(!l.viewBoundingBoxLastFrame.isFinite()){var T=l.getBoundingBox();l.viewBoundingBoxLastFrame.copy(T).applyTransform(f.viewMatrix)}var w=Math.min(-l.viewBoundingBoxLastFrame.min.z,f.far),E=Math.max(-l.viewBoundingBoxLastFrame.max.z,f.near),A=this._getDirectionalLightCamera(p,l,f),M=s.array;d.copy(A.projectionMatrix),b.a.invert(o.array,A.worldTransform.array),b.a.multiply(o.array,o.array,f.worldTransform.array),b.a.multiply(M,d.array,o.array);for(var C=[],L=f instanceof v.a,D=(f.near+f.far)/(f.near-f.far),N=2*f.near*f.far/(f.near-f.far),R=0;R<=p.shadowCascade;R++){var P=E*Math.pow(w/E,R/p.shadowCascade),I=E+(w-E)*R/p.shadowCascade,O=P*p.cascadeSplitLogFactor+I*(1-p.cascadeSplitLogFactor);C.push(O),m.push(-(-O*D+N)/-O)}var F=this._getTexture(p,p.shadowCascade);_.push(F);var B=u.viewport,U=u.gl;this._frameBuffer.attach(F),this._frameBuffer.bind(u),U.clear(U.COLOR_BUFFER_BIT|U.DEPTH_BUFFER_BIT);for(var R=0;R<p.shadowCascade;R++){var z=C[R],G=C[R+1];L?b.a.perspective(t.array,f.fov/180*Math.PI,f.aspect,z,G):b.a.ortho(t.array,f.left,f.right,f.bottom,f.top,z,G),e.setFromProjection(t),e.getTransformedBoundingBox(r,o),r.applyProjection(d);var H=r.min.array,V=r.max.array;H[0]=Math.max(H[0],-1),H[1]=Math.max(H[1],-1),V[0]=Math.min(V[0],1),V[1]=Math.min(V[1],1),a.ortho(H[0],V[0],H[1],V[1],1,-1),A.projectionMatrix.multiplyLeft(a);var k=p.shadowResolution||512;u.setViewport((p.shadowCascade-R-1)*k,0,k,k,1);var W=l.updateRenderList(A);u.renderPass(W.opaque,A,x),this.softShadow===S.VSM&&this._gaussianFilter(u,F,F.width);var j=new h.a;j.copy(A.viewMatrix).multiplyLeft(A.projectionMatrix),g.push(j.array),A.projectionMatrix.copy(d)}this._frameBuffer.unbind(u),u.setViewport(B)}}(),renderSpotLightShadow:function(e,t,r,a,o){var s=this._getTexture(r),u=this._getSpotLightCamera(r),l=e.gl;this._frameBuffer.attach(s),this._frameBuffer.bind(e),l.clear(l.COLOR_BUFFER_BIT|l.DEPTH_BUFFER_BIT);var d=this._getDepthMaterial(r),f={getMaterial:function(e){return e.shadowDepthMaterial||d},isMaterialChanged:i,getUniform:n,ifRender:function(e){return e.castShadow},sortCompare:c.a.opaqueSortCompare},p=t.updateRenderList(u);e.renderPass(p.opaque,u,f),this._frameBuffer.unbind(e),this.softShadow===S.VSM&&this._gaussianFilter(e,s,s.width);var m=new h.a;m.copy(u.worldTransform).invert().multiplyLeft(u.projectionMatrix),o.push(s),a.push(m.array)},renderPointLightShadow:function(e,t,r,i){var a=this._getTexture(r),o=e.gl;i.push(a);var l=this._getDepthMaterial(r),h={getMaterial:function(e){return e.shadowDepthMaterial||l},getUniform:n,sortCompare:c.a.opaqueSortCompare},d={px:[],py:[],pz:[],nx:[],ny:[],nz:[]},f=new u.a,p=r.getWorldPosition().array,m=new u.a,g=r.range;m.min.setArray(p),m.max.setArray(p);var _=new s.a(g,g,g);m.max.add(_),m.min.sub(_);var v={px:!1,py:!1,pz:!1,nx:!1,ny:!1,nz:!1};t.traverse(function(e){if(e.isRenderable()&&e.castShadow){var t=e.geometry;if(!t.boundingBox){for(var r=0;r<E.length;r++)d[E[r]].push(e);return}if(f.transformFrom(t.boundingBox,e.worldTransform),!f.intersectBoundingBox(m))return;f.updateVertices();for(var r=0;r<E.length;r++)v[E[r]]=!1;for(var r=0;r<8;r++){var n=f.vertices[r],i=n[0]-p[0],a=n[1]-p[1],o=n[2]-p[2],s=Math.abs(i),u=Math.abs(a),l=Math.abs(o);s>u?s>l?v[i>0?"px":"nx"]=!0:v[o>0?"pz":"nz"]=!0:u>l?v[a>0?"py":"ny"]=!0:v[o>0?"pz":"nz"]=!0}for(var r=0;r<E.length;r++)v[E[r]]&&d[E[r]].push(e)}});for(var y=0;y<6;y++){var x=E[y],T=this._getPointLightCamera(r,x);this._frameBuffer.attach(a,o.COLOR_ATTACHMENT0,o.TEXTURE_CUBE_MAP_POSITIVE_X+y),this._frameBuffer.bind(e),o.clear(o.COLOR_BUFFER_BIT|o.DEPTH_BUFFER_BIT),e.renderPass(d[x],T,h)}this._frameBuffer.unbind(e)},_getDepthMaterial:function(e){var t=this._lightMaterials[e.__uid__],r="POINT_LIGHT"===e.type;if(!t){var n=r?"clay.sm.distance.":"clay.sm.depth.";t=new f.a({precision:this.precision,shader:new d.a(d.a.source(n+"vertex"),d.a.source(n+"fragment"))}),this._lightMaterials[e.__uid__]=t}return null!=e.shadowSlopeScale&&t.setUniform("slopeScale",e.shadowSlopeScale),null!=e.shadowBias&&t.setUniform("bias",e.shadowBias),this.softShadow===S.VSM?t.define("fragment","USE_VSM"):t.undefine("fragment","USE_VSM"),r&&(t.set("lightPosition",e.getWorldPosition().array),t.set("range",e.range)),t},_gaussianFilter:function(e,t,r){var n={width:r,height:r,type:m.a.FLOAT},i=this._texturePool.get(n);this._frameBuffer.attach(i),this._frameBuffer.bind(e),this._gaussianPassH.setUniform("texture",t),this._gaussianPassH.setUniform("textureWidth",r),this._gaussianPassH.render(e),this._frameBuffer.attach(t),this._gaussianPassV.setUniform("texture",i),this._gaussianPassV.setUniform("textureHeight",r),this._gaussianPassV.render(e),this._frameBuffer.unbind(e),this._texturePool.put(i)},_getTexture:function(e,t){var r=e.__uid__,n=this._textures[r],i=e.shadowResolution||512;return t=t||1,n||(n="POINT_LIGHT"===e.type?new _.a:new g.a,n.width=i*t,n.height=i,this.softShadow===S.VSM?(n.type=m.a.FLOAT,n.anisotropic=4):(n.minFilter=o.a.NEAREST,n.magFilter=o.a.NEAREST,n.useMipmap=!1),this._textures[r]=n),n},_getPointLightCamera:function(e,t){this._lightCameras.point||(this._lightCameras.point={px:new v.a,nx:new v.a,py:new v.a,ny:new v.a,pz:new v.a,nz:new v.a});var r=this._lightCameras.point[t];switch(r.far=e.range,r.fov=90,r.position.set(0,0,0),t){case"px":r.lookAt(s.a.POSITIVE_X,s.a.NEGATIVE_Y);break;case"nx":r.lookAt(s.a.NEGATIVE_X,s.a.NEGATIVE_Y);break;case"py":r.lookAt(s.a.POSITIVE_Y,s.a.POSITIVE_Z);break;case"ny":r.lookAt(s.a.NEGATIVE_Y,s.a.NEGATIVE_Z);break;case"pz":r.lookAt(s.a.POSITIVE_Z,s.a.NEGATIVE_Y);break;case"nz":r.lookAt(s.a.NEGATIVE_Z,s.a.NEGATIVE_Y)}return e.getWorldPosition(r.position),r.update(),r},_getDirectionalLightCamera:function(){var e=new h.a,t=new u.a,r=new u.a;return function(n,i,a){this._lightCameras.directional||(this._lightCameras.directional=new y.a);var o=this._lightCameras.directional;t.copy(i.viewBoundingBoxLastFrame),t.intersection(a.frustum.boundingBox),o.position.copy(t.min).add(t.max).scale(.5).transformMat4(a.worldTransform),o.rotation.copy(n.rotation),o.scale.copy(n.scale),o.updateWorldTransform(),h.a.invert(e,o.worldTransform),h.a.multiply(e,e,a.worldTransform),r.copy(t).applyTransform(e);var s=r.min.array,u=r.max.array;return o.position.set((s[0]+u[0])/2,(s[1]+u[1])/2,u[2]).transformMat4(o.worldTransform),o.near=0,o.far=-s[2]+u[2],isNaN(this.lightFrustumBias)?o.far*=4:o.far+=this.lightFrustumBias,o.left=s[0],o.right=u[0],o.top=u[1],o.bottom=s[1],o.update(!0),o}}(),_getSpotLightCamera:function(e){this._lightCameras.spot||(this._lightCameras.spot=new v.a);var t=this._lightCameras.spot;return t.fov=2*e.penumbraAngle,t.far=e.range,t.worldTransform.copy(e.worldTransform),t.updateProjectionMatrix(),b.a.invert(t.viewMatrix.array,t.worldTransform.array),t},dispose:function(e){var t=e.gl||e;this._frameBuffer&&this._frameBuffer.dispose(t);for(var r in this._textures)this._textures[r].dispose(t);this._texturePool.clear(e.gl),this._depthMaterials={},this._distanceMaterials={},this._textures={},this._lightCameras={},this._shadowMapNumber={POINT_LIGHT:0,DIRECTIONAL_LIGHT:0,SPOT_LIGHT:0},this._meshMaterials={};for(var n=0;n<this._receivers.length;n++){var i=this._receivers[n];if(i.material){var a=i.material;a.undefine("fragment","POINT_LIGHT_SHADOW_COUNT"),a.undefine("fragment","DIRECTIONAL_LIGHT_SHADOW_COUNT"),a.undefine("fragment","AMBIENT_LIGHT_SHADOW_COUNT"),a.set("shadowEnabled",0)}}this._receivers=[],this._lightsCastShadow=[]}});S.VSM=1,S.PCF=2,t.a=S},function(e,t,r){"use strict";t.a="@export clay.sm.depth.vertex\nuniform mat4 worldViewProjection : WORLDVIEWPROJECTION;\nattribute vec3 position : POSITION;\nattribute vec2 texcoord : TEXCOORD_0;\n@import clay.chunk.skinning_header\nvarying vec4 v_ViewPosition;\nvarying vec2 v_Texcoord;\nvoid main(){\n vec3 skinnedPosition = position;\n#ifdef SKINNING\n @import clay.chunk.skin_matrix\n skinnedPosition = (skinMatrixWS * vec4(position, 1.0)).xyz;\n#endif\n v_ViewPosition = worldViewProjection * vec4(skinnedPosition, 1.0);\n gl_Position = v_ViewPosition;\n v_Texcoord = texcoord;\n}\n@end\n@export clay.sm.depth.fragment\nvarying vec4 v_ViewPosition;\nvarying vec2 v_Texcoord;\nuniform float bias : 0.001;\nuniform float slopeScale : 1.0;\nuniform sampler2D alphaMap;\nuniform float alphaCutoff: 0.0;\n@import clay.util.encode_float\nvoid main(){\n float depth = v_ViewPosition.z / v_ViewPosition.w;\n if (alphaCutoff > 0.0) {\n if (texture2D(alphaMap, v_Texcoord).a <= alphaCutoff) {\n discard;\n }\n }\n#ifdef USE_VSM\n depth = depth * 0.5 + 0.5;\n float moment1 = depth;\n float moment2 = depth * depth;\n float dx = dFdx(depth);\n float dy = dFdy(depth);\n moment2 += 0.25*(dx*dx+dy*dy);\n gl_FragColor = vec4(moment1, moment2, 0.0, 1.0);\n#else\n float dx = dFdx(depth);\n float dy = dFdy(depth);\n depth += sqrt(dx*dx + dy*dy) * slopeScale + bias;\n gl_FragColor = encodeFloat(depth * 0.5 + 0.5);\n#endif\n}\n@end\n@export clay.sm.debug_depth\nuniform sampler2D depthMap;\nvarying vec2 v_Texcoord;\n@import clay.util.decode_float\nvoid main() {\n vec4 tex = texture2D(depthMap, v_Texcoord);\n#ifdef USE_VSM\n gl_FragColor = vec4(tex.rgb, 1.0);\n#else\n float depth = decodeFloat(tex);\n gl_FragColor = vec4(depth, depth, depth, 1.0);\n#endif\n}\n@end\n@export clay.sm.distance.vertex\nuniform mat4 worldViewProjection : WORLDVIEWPROJECTION;\nuniform mat4 world : WORLD;\nattribute vec3 position : POSITION;\n@import clay.chunk.skinning_header\nvarying vec3 v_WorldPosition;\nvoid main (){\n vec3 skinnedPosition = position;\n#ifdef SKINNING\n @import clay.chunk.skin_matrix\n skinnedPosition = (skinMatrixWS * vec4(position, 1.0)).xyz;\n#endif\n gl_Position = worldViewProjection * vec4(skinnedPosition , 1.0);\n v_WorldPosition = (world * vec4(skinnedPosition, 1.0)).xyz;\n}\n@end\n@export clay.sm.distance.fragment\nuniform vec3 lightPosition;\nuniform float range : 100;\nvarying vec3 v_WorldPosition;\n@import clay.util.encode_float\nvoid main(){\n float dist = distance(lightPosition, v_WorldPosition);\n#ifdef USE_VSM\n gl_FragColor = vec4(dist, dist * dist, 0.0, 0.0);\n#else\n dist = dist / range;\n gl_FragColor = encodeFloat(dist);\n#endif\n}\n@end\n@export clay.plugin.shadow_map_common\n@import clay.util.decode_float\nfloat tapShadowMap(sampler2D map, vec2 uv, float z){\n vec4 tex = texture2D(map, uv);\n return step(z, decodeFloat(tex) * 2.0 - 1.0);\n}\nfloat pcf(sampler2D map, vec2 uv, float z, float textureSize, vec2 scale) {\n float shadowContrib = tapShadowMap(map, uv, z);\n vec2 offset = vec2(1.0 / textureSize) * scale;\n#ifdef PCF_KERNEL_SIZE\n for (int _idx_ = 0; _idx_ < PCF_KERNEL_SIZE; _idx_++) {{\n shadowContrib += tapShadowMap(map, uv + offset * pcfKernel[_idx_], z);\n }}\n return shadowContrib / float(PCF_KERNEL_SIZE + 1);\n#else\n shadowContrib += tapShadowMap(map, uv+vec2(offset.x, 0.0), z);\n shadowContrib += tapShadowMap(map, uv+vec2(offset.x, offset.y), z);\n shadowContrib += tapShadowMap(map, uv+vec2(-offset.x, offset.y), z);\n shadowContrib += tapShadowMap(map, uv+vec2(0.0, offset.y), z);\n shadowContrib += tapShadowMap(map, uv+vec2(-offset.x, 0.0), z);\n shadowContrib += tapShadowMap(map, uv+vec2(-offset.x, -offset.y), z);\n shadowContrib += tapShadowMap(map, uv+vec2(offset.x, -offset.y), z);\n shadowContrib += tapShadowMap(map, uv+vec2(0.0, -offset.y), z);\n return shadowContrib / 9.0;\n#endif\n}\nfloat pcf(sampler2D map, vec2 uv, float z, float textureSize) {\n return pcf(map, uv, z, textureSize, vec2(1.0));\n}\nfloat chebyshevUpperBound(vec2 moments, float z){\n float p = 0.0;\n z = z * 0.5 + 0.5;\n if (z <= moments.x) {\n p = 1.0;\n }\n float variance = moments.y - moments.x * moments.x;\n variance = max(variance, 0.0000001);\n float mD = moments.x - z;\n float pMax = variance / (variance + mD * mD);\n pMax = clamp((pMax-0.4)/(1.0-0.4), 0.0, 1.0);\n return max(p, pMax);\n}\nfloat computeShadowContrib(\n sampler2D map, mat4 lightVPM, vec3 position, float textureSize, vec2 scale, vec2 offset\n) {\n vec4 posInLightSpace = lightVPM * vec4(position, 1.0);\n posInLightSpace.xyz /= posInLightSpace.w;\n float z = posInLightSpace.z;\n if(all(greaterThan(posInLightSpace.xyz, vec3(-0.99, -0.99, -1.0))) &&\n all(lessThan(posInLightSpace.xyz, vec3(0.99, 0.99, 1.0)))){\n vec2 uv = (posInLightSpace.xy+1.0) / 2.0;\n #ifdef USE_VSM\n vec2 moments = texture2D(map, uv * scale + offset).xy;\n return chebyshevUpperBound(moments, z);\n #else\n return pcf(map, uv * scale + offset, z, textureSize, scale);\n #endif\n }\n return 1.0;\n}\nfloat computeShadowContrib(sampler2D map, mat4 lightVPM, vec3 position, float textureSize) {\n return computeShadowContrib(map, lightVPM, position, textureSize, vec2(1.0), vec2(0.0));\n}\nfloat computeShadowContribOmni(samplerCube map, vec3 direction, float range)\n{\n float dist = length(direction);\n vec4 shadowTex = textureCube(map, direction);\n#ifdef USE_VSM\n vec2 moments = shadowTex.xy;\n float variance = moments.y - moments.x * moments.x;\n float mD = moments.x - dist;\n float p = variance / (variance + mD * mD);\n if(moments.x + 0.001 < dist){\n return clamp(p, 0.0, 1.0);\n }else{\n return 1.0;\n }\n#else\n return step(dist, (decodeFloat(shadowTex) + 0.0002) * range);\n#endif\n}\n@end\n@export clay.plugin.compute_shadow_map\n#if defined(SPOT_LIGHT_SHADOWMAP_COUNT) || defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT) || defined(POINT_LIGHT_SHADOWMAP_COUNT)\n#ifdef SPOT_LIGHT_SHADOWMAP_COUNT\nuniform sampler2D spotLightShadowMaps[SPOT_LIGHT_SHADOWMAP_COUNT]:unconfigurable;\nuniform mat4 spotLightMatrices[SPOT_LIGHT_SHADOWMAP_COUNT]:unconfigurable;\nuniform float spotLightShadowMapSizes[SPOT_LIGHT_SHADOWMAP_COUNT]:unconfigurable;\n#endif\n#ifdef DIRECTIONAL_LIGHT_SHADOWMAP_COUNT\n#if defined(SHADOW_CASCADE)\nuniform sampler2D directionalLightShadowMaps[1]:unconfigurable;\nuniform mat4 directionalLightMatrices[SHADOW_CASCADE]:unconfigurable;\nuniform float directionalLightShadowMapSizes[1]:unconfigurable;\nuniform float shadowCascadeClipsNear[SHADOW_CASCADE]:unconfigurable;\nuniform float shadowCascadeClipsFar[SHADOW_CASCADE]:unconfigurable;\n#else\nuniform sampler2D directionalLightShadowMaps[DIRECTIONAL_LIGHT_SHADOWMAP_COUNT]:unconfigurable;\nuniform mat4 directionalLightMatrices[DIRECTIONAL_LIGHT_SHADOWMAP_COUNT]:unconfigurable;\nuniform float directionalLightShadowMapSizes[DIRECTIONAL_LIGHT_SHADOWMAP_COUNT]:unconfigurable;\n#endif\n#endif\n#ifdef POINT_LIGHT_SHADOWMAP_COUNT\nuniform samplerCube pointLightShadowMaps[POINT_LIGHT_SHADOWMAP_COUNT]:unconfigurable;\n#endif\nuniform bool shadowEnabled : true;\n#ifdef PCF_KERNEL_SIZE\nuniform vec2 pcfKernel[PCF_KERNEL_SIZE];\n#endif\n@import clay.plugin.shadow_map_common\n#if defined(SPOT_LIGHT_SHADOWMAP_COUNT)\nvoid computeShadowOfSpotLights(vec3 position, inout float shadowContribs[SPOT_LIGHT_COUNT] ) {\n float shadowContrib;\n for(int _idx_ = 0; _idx_ < SPOT_LIGHT_SHADOWMAP_COUNT; _idx_++) {{\n shadowContrib = computeShadowContrib(\n spotLightShadowMaps[_idx_], spotLightMatrices[_idx_], position,\n spotLightShadowMapSizes[_idx_]\n );\n shadowContribs[_idx_] = shadowContrib;\n }}\n for(int _idx_ = SPOT_LIGHT_SHADOWMAP_COUNT; _idx_ < SPOT_LIGHT_COUNT; _idx_++){{\n shadowContribs[_idx_] = 1.0;\n }}\n}\n#endif\n#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)\n#ifdef SHADOW_CASCADE\nvoid computeShadowOfDirectionalLights(vec3 position, inout float shadowContribs[DIRECTIONAL_LIGHT_COUNT]){\n float depth = (2.0 * gl_FragCoord.z - gl_DepthRange.near - gl_DepthRange.far)\n / (gl_DepthRange.far - gl_DepthRange.near);\n float shadowContrib;\n shadowContribs[0] = 1.0;\n for (int _idx_ = 0; _idx_ < SHADOW_CASCADE; _idx_++) {{\n if (\n depth >= shadowCascadeClipsNear[_idx_] &&\n depth <= shadowCascadeClipsFar[_idx_]\n ) {\n shadowContrib = computeShadowContrib(\n directionalLightShadowMaps[0], directionalLightMatrices[_idx_], position,\n directionalLightShadowMapSizes[0],\n vec2(1.0 / float(SHADOW_CASCADE), 1.0),\n vec2(float(_idx_) / float(SHADOW_CASCADE), 0.0)\n );\n shadowContribs[0] = shadowContrib;\n }\n }}\n for(int _idx_ = DIRECTIONAL_LIGHT_SHADOWMAP_COUNT; _idx_ < DIRECTIONAL_LIGHT_COUNT; _idx_++) {{\n shadowContribs[_idx_] = 1.0;\n }}\n}\n#else\nvoid computeShadowOfDirectionalLights(vec3 position, inout float shadowContribs[DIRECTIONAL_LIGHT_COUNT]){\n float shadowContrib;\n for(int _idx_ = 0; _idx_ < DIRECTIONAL_LIGHT_SHADOWMAP_COUNT; _idx_++) {{\n shadowContrib = computeShadowContrib(\n directionalLightShadowMaps[_idx_], directionalLightMatrices[_idx_], position,\n directionalLightShadowMapSizes[_idx_]\n );\n shadowContribs[_idx_] = shadowContrib;\n }}\n for(int _idx_ = DIRECTIONAL_LIGHT_SHADOWMAP_COUNT; _idx_ < DIRECTIONAL_LIGHT_COUNT; _idx_++) {{\n shadowContribs[_idx_] = 1.0;\n }}\n}\n#endif\n#endif\n#if defined(POINT_LIGHT_SHADOWMAP_COUNT)\nvoid computeShadowOfPointLights(vec3 position, inout float shadowContribs[POINT_LIGHT_COUNT] ){\n vec3 lightPosition;\n vec3 direction;\n for(int _idx_ = 0; _idx_ < POINT_LIGHT_SHADOWMAP_COUNT; _idx_++) {{\n lightPosition = pointLightPosition[_idx_];\n direction = position - lightPosition;\n shadowContribs[_idx_] = computeShadowContribOmni(pointLightShadowMaps[_idx_], direction, pointLightRange[_idx_]);\n }}\n for(int _idx_ = POINT_LIGHT_SHADOWMAP_COUNT; _idx_ < POINT_LIGHT_COUNT; _idx_++) {{\n shadowContribs[_idx_] = 1.0;\n }}\n}\n#endif\n#endif\n@end"},function(e,t,r){"use strict";function n(){this._sourceTexture=new a.a({type:o.a.HALF_FLOAT}),this._depthTexture=new a.a({format:o.a.DEPTH_COMPONENT,type:o.a.UNSIGNED_INT}),this._framebuffer=new s.a,this._framebuffer.attach(this._sourceTexture),this._framebuffer.attach(this._depthTexture,s.a.DEPTH_ATTACHMENT),this._normalPass=new f.a,this._compositor=Object(u.a)(m.a);var e=this._compositor.getNodeByName("source");e.texture=this._sourceTexture;var t=this._compositor.getNodeByName("coc");this._sourceNode=e,this._cocNode=t,this._compositeNode=this._compositor.getNodeByName("composite"),this._fxaaNode=this._compositor.getNodeByName("FXAA"),this._dofBlurNodes=["dof_far_blur","dof_near_blur","dof_coc_blur"].map(function(e){return this._compositor.getNodeByName(e)},this),this._dofBlurKernel=0,this._dofBlurKernelSize=new Float32Array(0),this._finalNodesChain=C.map(function(e){return this._compositor.getNodeByName(e)},this);var r={normalTexture:this._normalPass.getNormalTexture(),depthTexture:this._normalPass.getDepthTexture()};this._ssaoPass=new l.a(r),this._ssrPass=new h.a(r),this._edgePass=new p.a(r)}var i=r(8),a=r(5),o=r(4),s=r(10),u=r(177),l=r(189),h=r(191),c=r(193),d=r(1),f=r(194),p=r(196),m=(r(9),r(197)),g=r(87),_=r(88),v=r(89),y=r(90),x=r(91),T=r(92),b=r(93),w=r(94),E=r(95),S=r(198),A=r(199);i.a.import(g.a),i.a.import(_.a),i.a.import(v.a),i.a.import(y.a),i.a.import(x.a),i.a.import(T.a),i.a.import(b.a),i.a.import(w.a),i.a.import(E.a),i.a.import(S.a),i.a.import(A.a);var M={color:{parameters:{width:function(e){return e.getWidth()},height:function(e){return e.getHeight()}}}},C=["composite","FXAA"];n.prototype.resize=function(e,t,r){r=r||1;var e=e*r,t=t*r,n=this._sourceTexture,i=this._depthTexture;n.width=e,n.height=t,i.width=e,i.height=t},n.prototype._ifRenderNormalPass=function(){return this._enableSSAO||this._enableEdge||this._enableSSR},n.prototype._getPrevNode=function(e){for(var t=C.indexOf(e.name)-1,r=this._finalNodesChain[t];r&&!this._compositor.getNodeByName(r.name);)t-=1,r=this._finalNodesChain[t];return r},n.prototype._getNextNode=function(e){for(var t=C.indexOf(e.name)+1,r=this._finalNodesChain[t];r&&!this._compositor.getNodeByName(r.name);)t+=1,r=this._finalNodesChain[t];return r},n.prototype._addChainNode=function(e){var t=this._getPrevNode(e),r=this._getNextNode(e);t&&(t.outputs=M,e.inputs.texture=t.name,r?(e.outputs=M,r.inputs.texture=e.name):e.outputs=null,this._compositor.addNode(e))},n.prototype._removeChainNode=function(e){var t=this._getPrevNode(e),r=this._getNextNode(e);t&&(r?(t.outputs=M,r.inputs.texture=t.name):t.outputs=null,this._compositor.removeNode(e))},n.prototype.updateNormal=function(e,t,r,n){this._ifRenderNormalPass()&&this._normalPass.update(e,t,r)},n.prototype.updateSSAO=function(e,t,r,n){this._ssaoPass.update(e,r,n)},n.prototype.enableSSAO=function(){this._enableSSAO=!0},n.prototype.disableSSAO=function(){this._enableSSAO=!1},n.prototype.enableSSR=function(){this._enableSSR=!0},n.prototype.disableSSR=function(){this._enableSSR=!1},n.prototype.getSSAOTexture=function(){return this._ssaoPass.getTargetTexture()},n.prototype.getSourceFrameBuffer=function(){return this._framebuffer},n.prototype.getSourceTexture=function(){return this._sourceTexture},n.prototype.disableFXAA=function(){this._removeChainNode(this._fxaaNode)},n.prototype.enableFXAA=function(){this._addChainNode(this._fxaaNode)},n.prototype.enableBloom=function(){this._compositeNode.inputs.bloom="bloom_composite",this._compositor.dirty()},n.prototype.disableBloom=function(){this._compositeNode.inputs.bloom=null,this._compositor.dirty()},n.prototype.enableDOF=function(){this._compositeNode.inputs.texture="dof_composite",this._compositor.dirty()},n.prototype.disableDOF=function(){this._compositeNode.inputs.texture="source",this._compositor.dirty()},n.prototype.enableColorCorrection=function(){this._compositeNode.define("COLOR_CORRECTION"),this._enableColorCorrection=!0},n.prototype.disableColorCorrection=function(){this._compositeNode.undefine("COLOR_CORRECTION"),this._enableColorCorrection=!1},n.prototype.enableEdge=function(){this._enableEdge=!0},n.prototype.disableEdge=function(){this._enableEdge=!1},n.prototype.setBloomIntensity=function(e){this._compositeNode.setParameter("bloomIntensity",e)},n.prototype.setSSAOParameter=function(e,t){switch(e){case"quality":var r={low:6,medium:12,high:32,ultra:62}[t]||12;this._ssaoPass.setParameter("kernelSize",r);break;case"radius":this._ssaoPass.setParameter(e,t),this._ssaoPass.setParameter("bias",t/200);break;case"intensity":this._ssaoPass.setParameter(e,t)}},n.prototype.setDOFParameter=function(e,t){switch(e){case"focalDistance":case"focalRange":case"fstop":this._cocNode.setParameter(e,t);break;case"blurRadius":for(var r=0;r<this._dofBlurNodes.length;r++)this._dofBlurNodes[r].setParameter("blurRadius",t);break;case"quality":var n={low:4,medium:8,high:16,ultra:32}[t]||8;this._dofBlurKernelSize=n;for(var r=0;r<this._dofBlurNodes.length;r++)this._dofBlurNodes[r].pass.material.define("POISSON_KERNEL_SIZE",n);this._dofBlurKernel=new Float32Array(2*n)}},n.prototype.setSSRParameter=function(e,t){if(null!=t)switch(e){case"quality":var r={low:10,medium:15,high:30,ultra:80}[t]||20,n={low:32,medium:16,high:8,ultra:4}[t]||16;this._ssrPass.setParameter("maxIteration",r),this._ssrPass.setParameter("pixelStride",n);break;case"maxRoughness":this._ssrPass.setParameter("minGlossiness",Math.max(Math.min(1-t,1),0));break;case"physical":this.setPhysicallyCorrectSSR(t);break;default:console.warn("Unkown SSR parameter "+e)}},n.prototype.setPhysicallyCorrectSSR=function(e){this._ssrPass.setPhysicallyCorrect(e)},n.prototype.setEdgeColor=function(e){var t=d.a.parseColor(e);this._edgePass.setParameter("edgeColor",t)},n.prototype.setExposure=function(e){this._compositeNode.setParameter("exposure",Math.pow(2,e))},n.prototype.setColorLookupTexture=function(e,t){this._compositeNode.pass.material.setTextureImage("lut",this._enableColorCorrection?e:"none",t,{minFilter:d.a.Texture.NEAREST,magFilter:d.a.Texture.NEAREST,flipY:!1})},n.prototype.setColorCorrection=function(e,t){this._compositeNode.setParameter(e,t)},n.prototype.isSSREnabled=function(){return this._enableSSR},n.prototype.composite=function(e,t,r,n,i){var a=this._sourceTexture,o=a;this._enableEdge&&(this._edgePass.update(e,r,a,i),a=o=this._edgePass.getTargetTexture()),this._enableSSR&&(this._ssrPass.update(e,r,a,i),o=this._ssrPass.getTargetTexture(),this._ssrPass.setSSAOTexture(this._enableSSAO?this._ssaoPass.getTargetTexture():null)),this._sourceNode.texture=o,this._cocNode.setParameter("depth",this._depthTexture);for(var s=this._dofBlurKernel,u=this._dofBlurKernelSize,l=Math.floor(c.a.length/2/u),h=i%l,d=0;d<2*u;d++)s[d]=c.a[d+h*u*2];for(var d=0;d<this._dofBlurNodes.length;d++)this._dofBlurNodes[d].setParameter("percent",i/30),this._dofBlurNodes[d].setParameter("poissonKernel",s);this._cocNode.setParameter("zNear",r.near),this._cocNode.setParameter("zFar",r.far),this._compositor.render(e,n)},n.prototype.dispose=function(e){this._sourceTexture.dispose(e),this._depthTexture.dispose(e),this._framebuffer.dispose(e),this._compositor.dispose(e),this._normalPass.dispose(e),this._ssaoPass.dispose(e)},t.a=n},function(e,t,r){"use strict";var n=r(178);t.a=n.a},function(e,t,r){"use strict";function n(e,t){var r=new f.a;t=t||{};var n={textures:{},parameters:{}},a=function(a,o){for(var s=0;s<e.nodes.length;s++){var u=e.nodes[s],l=i(u,n,t);l&&r.addNode(l)}};for(var o in e.parameters){var l=e.parameters[o];n.parameters[o]=s(l)}return u(e,n,t,function(e){n.textures=e,a()}),r}function i(e,t,r){var n,i,a,o=e.type||"filter";if("filter"===o){var u=e.shader.trim(),h=b.exec(u);if(h?n=_.a.source(h[1].trim()):"#"===u.charAt(0)&&(n=t.shaders[u.substr(1)]),n||(n=u),!n)return}if(e.inputs){i={};for(var d in e.inputs)"string"==typeof e.inputs[d]?i[d]=e.inputs[d]:i[d]={node:e.inputs[d].node,pin:e.inputs[d].pin}}if(e.outputs){a={};for(var d in e.outputs){var f=e.outputs[d];a[d]={},null!=f.attachment&&(a[d].attachment=f.attachment),null!=f.keepLastFrame&&(a[d].keepLastFrame=f.keepLastFrame),null!=f.outputLastFrame&&(a[d].outputLastFrame=f.outputLastFrame),f.parameters&&(a[d].parameters=s(f.parameters))}}var v;if(v="scene"===o?new p.a({name:e.name,scene:r.scene,camera:r.camera,outputs:a}):"texture"===o?new m.a({name:e.name,outputs:a}):new g.a({name:e.name,shader:n,inputs:i,outputs:a})){if(e.parameters)for(var d in e.parameters){var y=e.parameters[d];"string"==typeof y&&(y=y.trim(),"#"===y.charAt(0)?y=t.textures[y.substr(1)]:v.on("beforerender",l(d,c(y)))),v.setParameter(d,y)}if(e.defines&&v.pass)for(var d in e.defines){var y=e.defines[d];v.pass.material.define("fragment",d,y)}}return v}function a(e,t){return e}function o(e,t){return t}function s(e){var t={};if(!e)return t;["type","minFilter","magFilter","wrapS","wrapT","flipY","useMipmap"].forEach(function(r){var n=e[r];null!=n&&("string"==typeof n&&(n=v.a[n]),t[r]=n)});var r=e.scale||1;return["width","height"].forEach(function(n){if(null!=e[n]){var i=e[n];"string"==typeof i?(i=i.trim(),t[n]=h(n,c(i),r)):t[n]=i}}),t.width||(t.width=a),t.height||(t.height=o),null!=e.useMipmap&&(t.useMipmap=e.useMipmap),t}function u(e,t,r,n){if(!e.textures)return void n({});var i={},a=0,o=!1,u=r.textureRootPath;d.a.each(e.textures,function(e,t){var r,l=e.path,h=s(e.parameters);if(Array.isArray(l)&&6===l.length)u&&(l=l.map(function(e){return d.a.relative2absolute(e,u)})),r=new x.a(h);else{if("string"!=typeof l)return;u&&(l=d.a.relative2absolute(l,u)),r=new y.a(h)}r.load(l),a++,r.once("success",function(){i[t]=r,0===--a&&(n(i),o=!0)})}),0!==a||o||n(i)}function l(e,t){return function(r){var n=r.getDevicePixelRatio(),i=r.getWidth(),a=r.getHeight(),o=t(i,a,n);this.setParameter(e,o)}}function h(e,t,r){return r=r||1,function(e){var n=e.getDevicePixelRatio(),i=e.getWidth()*r,a=e.getHeight()*r;return t(i,a,n)}}function c(e){var t=/^expr\((.*)\)$/.exec(e);if(t)try{var r=new Function("width","height","dpr","return "+t[1]);return r(1,1),r}catch(e){throw new Error("Invalid expression.")}}var d=r(23),f=r(179),p=r(181),m=r(182),g=r(183),_=r(8),v=r(4),y=r(5),x=r(27),T=r(184);Object(T.a)(_.a);var b=/^#source\((.*?)\)/;t.a=n},function(e,t,r){"use strict";var n=r(180),i=r(86),a=r(10),o=n.a.extend(function(){return{_outputs:[],_texturePool:new i.a,_frameBuffer:new a.a({depthBuffer:!1})}},{addNode:function(e){n.a.prototype.addNode.call(this,e),e._compositor=this},render:function(e,t){if(this._dirty){this.update(),this._dirty=!1,this._outputs.length=0;for(var r=0;r<this.nodes.length;r++)this.nodes[r].outputs||this._outputs.push(this.nodes[r])}for(var r=0;r<this.nodes.length;r++)this.nodes[r].beforeFrame();for(var r=0;r<this._outputs.length;r++)this._outputs[r].updateReference();for(var r=0;r<this._outputs.length;r++)this._outputs[r].render(e,t);for(var r=0;r<this.nodes.length;r++)this.nodes[r].afterFrame()},allocateTexture:function(e){return this._texturePool.get(e)},releaseTexture:function(e){this._texturePool.put(e)},getFrameBuffer:function(){return this._frameBuffer},dispose:function(e){this._texturePool.clear(e)}});t.a=o},function(e,t,r){"use strict";var n=r(7),i=r(48),a=n.a.extend(function(){return{nodes:[]}},{dirty:function(){this._dirty=!0},addNode:function(e){this.nodes.indexOf(e)>=0||(this.nodes.push(e),this._dirty=!0)},removeNode:function(e){"string"==typeof e&&(e=this.getNodeByName(e));var t=this.nodes.indexOf(e);t>=0&&(this.nodes.splice(t,1),this._dirty=!0)},getNodeByName:function(e){for(var t=0;t<this.nodes.length;t++)if(this.nodes[t].name===e)return this.nodes[t]},update:function(){for(var e=0;e<this.nodes.length;e++)this.nodes[e].clear();for(var e=0;e<this.nodes.length;e++){var t=this.nodes[e];if(t.inputs)for(var r in t.inputs)if(t.inputs[r])if(!t.pass||t.pass.material.isUniformEnabled(r)){var n=t.inputs[r],i=this.findPin(n);i?t.link(r,i.node,i.pin):"string"==typeof n?console.warn("Node "+n+" not exist"):console.warn("Pin of "+n.node+"."+n.pin+" not exist")}else console.warn("Pin "+t.name+"."+r+" not used.")}},findPin:function(e){var t;if(("string"==typeof e||e instanceof i.a)&&(e={node:e}),"string"==typeof e.node)for(var r=0;r<this.nodes.length;r++){var n=this.nodes[r];n.name===e.node&&(t=n)}else t=e.node;if(t){var a=e.pin;if(a||t.outputs&&(a=Object.keys(t.outputs)[0]),t.outputs[a])return{node:t,pin:a}}}});t.a=a},function(e,t,r){"use strict";var n=r(48),i=r(11),a=r(10),o=n.a.extend({name:"scene",scene:null,camera:null,autoUpdateScene:!0,preZ:!1},function(){this.frameBuffer=new a.a},{render:function(e){this._rendering=!0;var t=e.gl;this.trigger("beforerender");var r;if(this.outputs){var n=this.frameBuffer;for(var a in this.outputs){var o=this.updateParameter(a,e),s=this.outputs[a],u=this._compositor.allocateTexture(o);this._outputTextures[a]=u;var l=s.attachment||t.COLOR_ATTACHMENT0;"string"==typeof l&&(l=t[l]),n.attach(u,l)}n.bind(e);var h=e.getGLExtension("EXT_draw_buffers");if(h){var c=[];for(var l in this.outputs)(l=parseInt(l))>=t.COLOR_ATTACHMENT0&&l<=t.COLOR_ATTACHMENT0+8&&c.push(l);h.drawBuffersEXT(c)}e.saveClear(),e.clearBit=i.a.DEPTH_BUFFER_BIT|i.a.COLOR_BUFFER_BIT,r=e.render(this.scene,this.camera,!this.autoUpdateScene,this.preZ),e.restoreClear(),n.unbind(e)}else r=e.render(this.scene,this.camera,!this.autoUpdateScene,this.preZ);this.trigger("afterrender",r),this._rendering=!1,this._rendered=!0}});t.a=o},function(e,t,r){"use strict";var n=r(48),i=n.a.extend(function(){return{texture:null,outputs:{color:{}}}},function(){},{getOutput:function(e,t){return this.texture},beforeFrame:function(){},afterFrame:function(){}});t.a=i},function(e,t,r){"use strict";var n=r(16),i=r(48),a=i.a.extend(function(){return{name:"",inputs:{},outputs:null,shader:"",inputLinks:{},outputLinks:{},pass:null,_prevOutputTextures:{},_outputTextures:{},_outputReferences:{},_rendering:!1,_rendered:!1,_compositor:null}},function(){var e=new n.a({fragment:this.shader});this.pass=e},{render:function(e,t){this.trigger("beforerender",e),this._rendering=!0;var r=e.gl;for(var n in this.inputLinks){var i=this.inputLinks[n],a=i.node.getOutput(e,i.pin);this.pass.setUniform(n,a)}if(this.outputs){this.pass.outputs={};var o={};for(var s in this.outputs){var u=this.updateParameter(s,e);isNaN(u.width)&&this.updateParameter(s,e);var l=this.outputs[s],h=this._compositor.allocateTexture(u);this._outputTextures[s]=h;var c=l.attachment||r.COLOR_ATTACHMENT0;"string"==typeof c&&(c=r[c]),o[c]=h}this._compositor.getFrameBuffer().bind(e);for(var c in o)this._compositor.getFrameBuffer().attach(o[c],c);this.pass.render(e),this._compositor.getFrameBuffer().updateMipmap(e)}else this.pass.outputs=null,this._compositor.getFrameBuffer().unbind(e),this.pass.render(e,t);for(var n in this.inputLinks){var i=this.inputLinks[n];i.node.removeReference(i.pin)}this._rendering=!1,this._rendered=!0,this.trigger("afterrender",e)},updateParameter:function(e,t){var r=this.outputs[e],n=r.parameters,i=r._parametersCopy;if(i||(i=r._parametersCopy={}),n)for(var a in n)"width"!==a&&"height"!==a&&(i[a]=n[a]);var o,s;return o=n.width instanceof Function?n.width.call(this,t):n.width,s=n.height instanceof Function?n.height.call(this,t):n.height,o=Math.ceil(o),s=Math.ceil(s),i.width===o&&i.height===s||this._outputTextures[e]&&this._outputTextures[e].dispose(t),i.width=o,i.height=s,i},setParameter:function(e,t){this.pass.setUniform(e,t)},getParameter:function(e){return this.pass.getUniform(e)},setParameters:function(e){for(var t in e)this.setParameter(t,e[t])},define:function(e,t){this.pass.material.define("fragment",e,t)},undefine:function(e){this.pass.material.undefine("fragment",e)},removeReference:function(e){if(0===--this._outputReferences[e]){this.outputs[e].keepLastFrame?(this._prevOutputTextures[e]&&this._compositor.releaseTexture(this._prevOutputTextures[e]),this._prevOutputTextures[e]=this._outputTextures[e]):this._compositor.releaseTexture(this._outputTextures[e])}},clear:function(){i.a.prototype.clear.call(this),this.pass.material.disableTexturesAll()}});t.a=a},function(e,t,r){"use strict";function n(e){e.import(i.a),e.import(a.a),e.import(o.a),e.import(s.a),e.import(u.a),e.import(l.a),e.import(h.a),e.import(c.a),e.import(d.a),e.import(f.a),e.import(p.a),e.import(m.a),e.import(g.a)}t.a=n;var i=r(185),a=r(87),o=r(186),s=r(88),u=r(187),l=r(89),h=r(90),c=r(91),d=r(92),f=r(93),p=r(188),m=r(94),g=r(95)},function(e,t,r){"use strict";t.a="@export clay.compositor.coloradjust\nvarying vec2 v_Texcoord;\nuniform sampler2D texture;\nuniform float brightness : 0.0;\nuniform float contrast : 1.0;\nuniform float exposure : 0.0;\nuniform float gamma : 1.0;\nuniform float saturation : 1.0;\nconst vec3 w = vec3(0.2125, 0.7154, 0.0721);\nvoid main()\n{\n vec4 tex = texture2D( texture, v_Texcoord);\n vec3 color = clamp(tex.rgb + vec3(brightness), 0.0, 1.0);\n color = clamp( (color-vec3(0.5))*contrast+vec3(0.5), 0.0, 1.0);\n color = clamp( color * pow(2.0, exposure), 0.0, 1.0);\n color = clamp( pow(color, vec3(gamma)), 0.0, 1.0);\n float luminance = dot( color, w );\n color = mix(vec3(luminance), color, saturation);\n gl_FragColor = vec4(color, tex.a);\n}\n@end\n@export clay.compositor.brightness\nvarying vec2 v_Texcoord;\nuniform sampler2D texture;\nuniform float brightness : 0.0;\nvoid main()\n{\n vec4 tex = texture2D( texture, v_Texcoord);\n vec3 color = tex.rgb + vec3(brightness);\n gl_FragColor = vec4(color, tex.a);\n}\n@end\n@export clay.compositor.contrast\nvarying vec2 v_Texcoord;\nuniform sampler2D texture;\nuniform float contrast : 1.0;\nvoid main()\n{\n vec4 tex = texture2D( texture, v_Texcoord);\n vec3 color = (tex.rgb-vec3(0.5))*contrast+vec3(0.5);\n gl_FragColor = vec4(color, tex.a);\n}\n@end\n@export clay.compositor.exposure\nvarying vec2 v_Texcoord;\nuniform sampler2D texture;\nuniform float exposure : 0.0;\nvoid main()\n{\n vec4 tex = texture2D(texture, v_Texcoord);\n vec3 color = tex.rgb * pow(2.0, exposure);\n gl_FragColor = vec4(color, tex.a);\n}\n@end\n@export clay.compositor.gamma\nvarying vec2 v_Texcoord;\nuniform sampler2D texture;\nuniform float gamma : 1.0;\nvoid main()\n{\n vec4 tex = texture2D(texture, v_Texcoord);\n vec3 color = pow(tex.rgb, vec3(gamma));\n gl_FragColor = vec4(color, tex.a);\n}\n@end\n@export clay.compositor.saturation\nvarying vec2 v_Texcoord;\nuniform sampler2D texture;\nuniform float saturation : 1.0;\nconst vec3 w = vec3(0.2125, 0.7154, 0.0721);\nvoid main()\n{\n vec4 tex = texture2D(texture, v_Texcoord);\n vec3 color = tex.rgb;\n float luminance = dot(color, w);\n color = mix(vec3(luminance), color, saturation);\n gl_FragColor = vec4(color, tex.a);\n}\n@end"},function(e,t,r){"use strict";t.a="@export clay.compositor.hdr.log_lum\nvarying vec2 v_Texcoord;\nuniform sampler2D texture;\nconst vec3 w = vec3(0.2125, 0.7154, 0.0721);\n@import clay.util.rgbm\nvoid main()\n{\n vec4 tex = decodeHDR(texture2D(texture, v_Texcoord));\n float luminance = dot(tex.rgb, w);\n luminance = log(luminance + 0.001);\n gl_FragColor = encodeHDR(vec4(vec3(luminance), 1.0));\n}\n@end\n@export clay.compositor.hdr.lum_adaption\nvarying vec2 v_Texcoord;\nuniform sampler2D adaptedLum;\nuniform sampler2D currentLum;\nuniform float frameTime : 0.02;\n@import clay.util.rgbm\nvoid main()\n{\n float fAdaptedLum = decodeHDR(texture2D(adaptedLum, vec2(0.5, 0.5))).r;\n float fCurrentLum = exp(encodeHDR(texture2D(currentLum, vec2(0.5, 0.5))).r);\n fAdaptedLum += (fCurrentLum - fAdaptedLum) * (1.0 - pow(0.98, 30.0 * frameTime));\n gl_FragColor = encodeHDR(vec4(vec3(fAdaptedLum), 1.0));\n}\n@end\n@export clay.compositor.lum\nvarying vec2 v_Texcoord;\nuniform sampler2D texture;\nconst vec3 w = vec3(0.2125, 0.7154, 0.0721);\nvoid main()\n{\n vec4 tex = texture2D( texture, v_Texcoord );\n float luminance = dot(tex.rgb, w);\n gl_FragColor = vec4(vec3(luminance), 1.0);\n}\n@end"},function(e,t,r){"use strict";t.a="@export clay.compositor.vignette\n#define OUTPUT_ALPHA\nvarying vec2 v_Texcoord;\nuniform sampler2D texture;\nuniform float darkness: 1;\nuniform float offset: 1;\n@import clay.util.rgbm\nvoid main()\n{\n vec4 texel = decodeHDR(texture2D(texture, v_Texcoord));\n gl_FragColor.rgb = texel.rgb;\n vec2 uv = (v_Texcoord - vec2(0.5)) * vec2(offset);\n gl_FragColor = encodeHDR(vec4(mix(texel.rgb, vec3(1.0 - darkness), dot(uv, uv)), texel.a));\n}\n@end"},function(e,t,r){"use strict";t.a="@export clay.compositor.lensflare\n#define SAMPLE_NUMBER 8\nuniform sampler2D texture;\nuniform sampler2D lenscolor;\nuniform vec2 textureSize : [512, 512];\nuniform float dispersal : 0.3;\nuniform float haloWidth : 0.4;\nuniform float distortion : 1.0;\nvarying vec2 v_Texcoord;\n@import clay.util.rgbm\nvec4 textureDistorted(\n in vec2 texcoord,\n in vec2 direction,\n in vec3 distortion\n) {\n return vec4(\n decodeHDR(texture2D(texture, texcoord + direction * distortion.r)).r,\n decodeHDR(texture2D(texture, texcoord + direction * distortion.g)).g,\n decodeHDR(texture2D(texture, texcoord + direction * distortion.b)).b,\n 1.0\n );\n}\nvoid main()\n{\n vec2 texcoord = -v_Texcoord + vec2(1.0); vec2 textureOffset = 1.0 / textureSize;\n vec2 ghostVec = (vec2(0.5) - texcoord) * dispersal;\n vec2 haloVec = normalize(ghostVec) * haloWidth;\n vec3 distortion = vec3(-textureOffset.x * distortion, 0.0, textureOffset.x * distortion);\n vec4 result = vec4(0.0);\n for (int i = 0; i < SAMPLE_NUMBER; i++)\n {\n vec2 offset = fract(texcoord + ghostVec * float(i));\n float weight = length(vec2(0.5) - offset) / length(vec2(0.5));\n weight = pow(1.0 - weight, 10.0);\n result += textureDistorted(offset, normalize(ghostVec), distortion) * weight;\n }\n result *= texture2D(lenscolor, vec2(length(vec2(0.5) - texcoord)) / length(vec2(0.5)));\n float weight = length(vec2(0.5) - fract(texcoord + haloVec)) / length(vec2(0.5));\n weight = pow(1.0 - weight, 10.0);\n vec2 offset = fract(texcoord + haloVec);\n result += textureDistorted(offset, normalize(ghostVec), distortion) * weight;\n gl_FragColor = result;\n}\n@end"},function(e,t,r){"use strict";function n(e){for(var t=new Uint8Array(e*e*4),r=0,n=new u.a,i=0;i<e;i++)for(var a=0;a<e;a++)n.set(2*Math.random()-1,2*Math.random()-1,0).normalize(),t[r++]=255*(.5*n.x+.5),t[r++]=255*(.5*n.y+.5),t[r++]=0,t[r++]=255;return t}function i(e){return new l.a({pixels:n(e),wrapS:h.a.REPEAT,wrapT:h.a.REPEAT,width:e,height:e})}function a(e,t,r){var n=new Float32Array(3*e);t=t||0;for(var i=0;i<e;i++){var a=Object(p.a)(i+t,2)*(r?1:2)*Math.PI,o=Object(p.a)(i+t,3)*Math.PI,s=Math.random(),u=Math.cos(a)*Math.sin(o)*s,l=Math.cos(o)*s,h=Math.sin(a)*Math.sin(o)*s;n[3*i]=u,n[3*i+1]=l,n[3*i+2]=h}return n}function o(e){e=e||{},this._ssaoPass=new c.a({fragment:d.a.source("ecgl.ssao.estimate")}),this._blurPass=new c.a({fragment:d.a.source("ecgl.ssao.blur")}),this._framebuffer=new f.a({depthBuffer:!1}),this._ssaoTexture=new l.a,this._blurTexture=new l.a,this._blurTexture2=new l.a,this._depthTex=e.depthTexture,this._normalTex=e.normalTexture,this.setNoiseSize(4),this.setKernelSize(e.kernelSize||12),null!=e.radius&&this.setParameter("radius",e.radius),null!=e.power&&this.setParameter("power",e.power),this._normalTex||(this._ssaoPass.material.disableTexture("normalTex"),this._blurPass.material.disableTexture("normalTex")),this._depthTex||this._blurPass.material.disableTexture("depthTex"),this._blurPass.material.setUniform("normalTex",this._normalTex),this._blurPass.material.setUniform("depthTex",this._depthTex)}var s=r(9),u=r(3),l=r(5),h=r(4),c=r(16),d=r(8),f=r(10),p=r(49),m=r(190);d.a.import(m.a),o.prototype.setDepthTexture=function(e){this._depthTex=e},o.prototype.setNormalTexture=function(e){this._normalTex=e,this._ssaoPass.material[e?"enableTexture":"disableTexture"]("normalTex"),this.setKernelSize(this._kernelSize)},o.prototype.update=function(e,t,r){var n=e.getWidth(),i=e.getHeight(),a=this._ssaoPass,o=this._blurPass;a.setUniform("kernel",this._kernels[r%this._kernels.length]),a.setUniform("depthTex",this._depthTex),null!=this._normalTex&&a.setUniform("normalTex",this._normalTex),a.setUniform("depthTexSize",[this._depthTex.width,this._depthTex.height]);var u=new s.a;s.a.transpose(u,t.worldTransform),a.setUniform("projection",t.projectionMatrix.array),a.setUniform("projectionInv",t.invProjectionMatrix.array),a.setUniform("viewInverseTranspose",u.array);var l=this._ssaoTexture,h=this._blurTexture,c=this._blurTexture2;l.width=n/2,l.height=i/2,h.width=n,h.height=i,c.width=n,c.height=i,this._framebuffer.attach(l),this._framebuffer.bind(e),e.gl.clearColor(1,1,1,1),e.gl.clear(e.gl.COLOR_BUFFER_BIT),a.render(e),o.setUniform("textureSize",[n/2,i/2]),o.setUniform("projection",t.projectionMatrix.array),this._framebuffer.attach(h),o.setUniform("direction",0),o.setUniform("ssaoTexture",l),o.render(e),this._framebuffer.attach(c),o.setUniform("textureSize",[n,i]),o.setUniform("direction",1),o.setUniform("ssaoTexture",h),o.render(e),this._framebuffer.unbind(e);var d=e.clearColor;e.gl.clearColor(d[0],d[1],d[2],d[3])},o.prototype.getTargetTexture=function(){return this._blurTexture2},o.prototype.setParameter=function(e,t){"noiseTexSize"===e?this.setNoiseSize(t):"kernelSize"===e?this.setKernelSize(t):"intensity"===e?this._ssaoPass.material.set("intensity",t):this._ssaoPass.setUniform(e,t)},o.prototype.setKernelSize=function(e){this._kernelSize=e,this._ssaoPass.material.define("fragment","KERNEL_SIZE",e),this._kernels=this._kernels||[];for(var t=0;t<30;t++)this._kernels[t]=a(e,t*e,!!this._normalTex)},o.prototype.setNoiseSize=function(e){var t=this._ssaoPass.getUniform("noiseTex");t?(t.data=n(e),t.width=t.height=e,t.dirty()):(t=i(e),this._ssaoPass.setUniform("noiseTex",i(e))),this._ssaoPass.setUniform("noiseTexSize",[e,e])},o.prototype.dispose=function(e){this._blurTexture.dispose(e),this._ssaoTexture.dispose(e),this._blurTexture2.dispose(e)},t.a=o},function(e,t,r){"use strict";t.a="@export ecgl.ssao.estimate\n\nuniform sampler2D depthTex;\n\nuniform sampler2D normalTex;\n\nuniform sampler2D noiseTex;\n\nuniform vec2 depthTexSize;\n\nuniform vec2 noiseTexSize;\n\nuniform mat4 projection;\n\nuniform mat4 projectionInv;\n\nuniform mat4 viewInverseTranspose;\n\nuniform vec3 kernel[KERNEL_SIZE];\n\nuniform float radius : 1;\n\nuniform float power : 1;\n\nuniform float bias: 1e-2;\n\nuniform float intensity: 1.0;\n\nvarying vec2 v_Texcoord;\n\nfloat ssaoEstimator(in vec3 originPos, in mat3 kernelBasis) {\n float occlusion = 0.0;\n\n for (int i = 0; i < KERNEL_SIZE; i++) {\n vec3 samplePos = kernel[i];\n#ifdef NORMALTEX_ENABLED\n samplePos = kernelBasis * samplePos;\n#endif\n samplePos = samplePos * radius + originPos;\n\n vec4 texCoord = projection * vec4(samplePos, 1.0);\n texCoord.xy /= texCoord.w;\n\n vec4 depthTexel = texture2D(depthTex, texCoord.xy * 0.5 + 0.5);\n\n float sampleDepth = depthTexel.r * 2.0 - 1.0;\n if (projection[3][3] == 0.0) {\n sampleDepth = projection[3][2] / (sampleDepth * projection[2][3] - projection[2][2]);\n }\n else {\n sampleDepth = (sampleDepth - projection[3][2]) / projection[2][2];\n }\n \n float rangeCheck = smoothstep(0.0, 1.0, radius / abs(originPos.z - sampleDepth));\n occlusion += rangeCheck * step(samplePos.z, sampleDepth - bias);\n }\n#ifdef NORMALTEX_ENABLED\n occlusion = 1.0 - occlusion / float(KERNEL_SIZE);\n#else\n occlusion = 1.0 - clamp((occlusion / float(KERNEL_SIZE) - 0.6) * 2.5, 0.0, 1.0);\n#endif\n return pow(occlusion, power);\n}\n\nvoid main()\n{\n\n vec4 depthTexel = texture2D(depthTex, v_Texcoord);\n\n#ifdef NORMALTEX_ENABLED\n vec4 tex = texture2D(normalTex, v_Texcoord);\n if (dot(tex.rgb, tex.rgb) == 0.0) {\n gl_FragColor = vec4(1.0);\n return;\n }\n vec3 N = tex.rgb * 2.0 - 1.0;\n N = (viewInverseTranspose * vec4(N, 0.0)).xyz;\n\n vec2 noiseTexCoord = depthTexSize / vec2(noiseTexSize) * v_Texcoord;\n vec3 rvec = texture2D(noiseTex, noiseTexCoord).rgb * 2.0 - 1.0;\n vec3 T = normalize(rvec - N * dot(rvec, N));\n vec3 BT = normalize(cross(N, T));\n mat3 kernelBasis = mat3(T, BT, N);\n#else\n if (depthTexel.r > 0.99999) {\n gl_FragColor = vec4(1.0);\n return;\n }\n mat3 kernelBasis;\n#endif\n\n float z = depthTexel.r * 2.0 - 1.0;\n\n vec4 projectedPos = vec4(v_Texcoord * 2.0 - 1.0, z, 1.0);\n vec4 p4 = projectionInv * projectedPos;\n\n vec3 position = p4.xyz / p4.w;\n\n float ao = ssaoEstimator(position, kernelBasis);\n ao = clamp(1.0 - (1.0 - ao) * intensity, 0.0, 1.0);\n gl_FragColor = vec4(vec3(ao), 1.0);\n}\n\n@end\n\n\n@export ecgl.ssao.blur\n#define SHADER_NAME SSAO_BLUR\n\nuniform sampler2D ssaoTexture;\n\n#ifdef NORMALTEX_ENABLED\nuniform sampler2D normalTex;\n#endif\n\nvarying vec2 v_Texcoord;\n\nuniform vec2 textureSize;\nuniform float blurSize : 1.0;\n\nuniform int direction: 0.0;\n\n#ifdef DEPTHTEX_ENABLED\nuniform sampler2D depthTex;\nuniform mat4 projection;\nuniform float depthRange : 0.5;\n\nfloat getLinearDepth(vec2 coord)\n{\n float depth = texture2D(depthTex, coord).r * 2.0 - 1.0;\n return projection[3][2] / (depth * projection[2][3] - projection[2][2]);\n}\n#endif\n\nvoid main()\n{\n float kernel[5];\n kernel[0] = 0.122581;\n kernel[1] = 0.233062;\n kernel[2] = 0.288713;\n kernel[3] = 0.233062;\n kernel[4] = 0.122581;\n\n vec2 off = vec2(0.0);\n if (direction == 0) {\n off[0] = blurSize / textureSize.x;\n }\n else {\n off[1] = blurSize / textureSize.y;\n }\n\n vec2 coord = v_Texcoord;\n\n float sum = 0.0;\n float weightAll = 0.0;\n\n#ifdef NORMALTEX_ENABLED\n vec3 centerNormal = texture2D(normalTex, v_Texcoord).rgb * 2.0 - 1.0;\n#endif\n#if defined(DEPTHTEX_ENABLED)\n float centerDepth = getLinearDepth(v_Texcoord);\n#endif\n\n for (int i = 0; i < 5; i++) {\n vec2 coord = clamp(v_Texcoord + vec2(float(i) - 2.0) * off, vec2(0.0), vec2(1.0));\n\n float w = kernel[i];\n#ifdef NORMALTEX_ENABLED\n vec3 normal = texture2D(normalTex, coord).rgb * 2.0 - 1.0;\n w *= clamp(dot(normal, centerNormal), 0.0, 1.0);\n#endif\n#ifdef DEPTHTEX_ENABLED\n float d = getLinearDepth(coord);\n w *= (1.0 - smoothstep(abs(centerDepth - d) / depthRange, 0.0, 1.0));\n#endif\n\n weightAll += w;\n sum += texture2D(ssaoTexture, coord).r * w;\n }\n\n gl_FragColor = vec4(vec3(sum / weightAll), 1.0);\n}\n\n@end\n"},function(e,t,r){"use strict";function n(e){e=e||{},this._ssrPass=new s.a({fragment:u.a.source("ecgl.ssr.main"),clearColor:[0,0,0,0]}),this._blurPass1=new s.a({fragment:u.a.source("ecgl.ssr.blur"),clearColor:[0,0,0,0]}),this._blurPass2=new s.a({fragment:u.a.source("ecgl.ssr.blur"),clearColor:[0,0,0,0]}),this._blendPass=new s.a({fragment:u.a.source("clay.compositor.blend")}),this._blendPass.material.disableTexturesAll(),this._blendPass.material.enableTexture(["texture1","texture2"]),this._ssrPass.setUniform("gBufferTexture1",e.normalTexture),this._ssrPass.setUniform("gBufferTexture2",e.depthTexture),this._blurPass1.setUniform("gBufferTexture1",e.normalTexture),this._blurPass1.setUniform("gBufferTexture2",e.depthTexture),this._blurPass2.setUniform("gBufferTexture1",e.normalTexture),this._blurPass2.setUniform("gBufferTexture2",e.depthTexture),this._blurPass2.material.define("fragment","VERTICAL"),this._blurPass2.material.define("fragment","BLEND"),this._ssrTexture=new a.a({type:o.a.HALF_FLOAT}),this._texture2=new a.a({type:o.a.HALF_FLOAT}),this._texture3=new a.a({type:o.a.HALF_FLOAT}),this._prevTexture=new a.a({type:o.a.HALF_FLOAT}),this._currentTexture=new a.a({type:o.a.HALF_FLOAT}),this._frameBuffer=new l.a({depthBuffer:!1}),this._normalDistribution=null,this._totalSamples=256,this._samplePerFrame=4,this._ssrPass.material.define("fragment","SAMPLE_PER_FRAME",this._samplePerFrame),this._ssrPass.material.define("fragment","TOTAL_SAMPLES",this._totalSamples),this._downScale=1}var i=r(9),a=(r(3),r(5)),o=r(4),s=r(16),u=r(8),l=r(10),h=(r(49),r(77)),c=r(192);u.a.import(c.a),n.prototype.setAmbientCubemap=function(e,t){this._ssrPass.material.set("specularCubemap",e),this._ssrPass.material.set("specularIntensity",t);var r=e&&t;this._ssrPass.material[r?"enableTexture":"disableTexture"]("specularCubemap")},n.prototype.update=function(e,t,r,n){var a=e.getWidth(),o=e.getHeight(),s=this._ssrTexture,u=this._texture2,l=this._texture3;s.width=this._prevTexture.width=this._currentTexture.width=a/this._downScale,s.height=this._prevTexture.height=this._currentTexture.height=o/this._downScale,u.width=l.width=a,u.height=l.height=o;var h=this._frameBuffer,c=this._ssrPass,d=this._blurPass1,f=this._blurPass2,p=this._blendPass,m=new i.a,g=new i.a;i.a.transpose(m,t.worldTransform),i.a.transpose(g,t.viewMatrix),c.setUniform("sourceTexture",r),c.setUniform("projection",t.projectionMatrix.array),c.setUniform("projectionInv",t.invProjectionMatrix.array),c.setUniform("toViewSpace",m.array),c.setUniform("toWorldSpace",g.array),c.setUniform("nearZ",t.near);var _=n/this._totalSamples*this._samplePerFrame;if(c.setUniform("jitterOffset",_),c.setUniform("sampleOffset",n*this._samplePerFrame),d.setUniform("textureSize",[s.width,s.height]),f.setUniform("textureSize",[a,o]),f.setUniform("sourceTexture",r),d.setUniform("projection",t.projectionMatrix.array),f.setUniform("projection",t.projectionMatrix.array),h.attach(s),h.bind(e),c.render(e),this._physicallyCorrect&&(h.attach(this._currentTexture),p.setUniform("texture1",this._prevTexture),p.setUniform("texture2",s),p.material.set({weight1:n>=1?.95:0,weight2:n>=1?.05:1}),p.render(e)),h.attach(u),d.setUniform("texture",this._physicallyCorrect?this._currentTexture:s),d.render(e),h.attach(l),f.setUniform("texture",u),f.render(e),h.unbind(e),this._physicallyCorrect){var v=this._prevTexture;this._prevTexture=this._currentTexture,this._currentTexture=v}},n.prototype.getTargetTexture=function(){return this._texture3},n.prototype.setParameter=function(e,t){"maxIteration"===e?this._ssrPass.material.define("fragment","MAX_ITERATION",t):this._ssrPass.setUniform(e,t)},n.prototype.setPhysicallyCorrect=function(e){e?(this._normalDistribution||(this._normalDistribution=h.a.generateNormalDistribution(64,this._totalSamples)),this._ssrPass.material.define("fragment","PHYSICALLY_CORRECT"),this._ssrPass.material.set("normalDistribution",this._normalDistribution),this._ssrPass.material.set("normalDistributionSize",[64,this._totalSamples])):this._ssrPass.material.undefine("fragment","PHYSICALLY_CORRECT"),this._physicallyCorrect=e},n.prototype.setSSAOTexture=function(e){var t=this._blurPass2;e?(t.material.enableTexture("ssaoTex"),t.material.set("ssaoTex",e)):t.material.disableTexture("ssaoTex")},n.prototype.isFinished=function(e){return!this._physicallyCorrect||e>this._totalSamples/this._samplePerFrame},n.prototype.dispose=function(e){this._ssrTexture.dispose(e),this._texture2.dispose(e),this._texture3.dispose(e),this._prevTexture.dispose(e),this._currentTexture.dispose(e),this._frameBuffer.dispose(e)},t.a=n},function(e,t,r){"use strict";t.a="@export ecgl.ssr.main\n\n#define SHADER_NAME SSR\n#define MAX_ITERATION 20;\n#define SAMPLE_PER_FRAME 5;\n#define TOTAL_SAMPLES 128;\n\nuniform sampler2D sourceTexture;\nuniform sampler2D gBufferTexture1;\nuniform sampler2D gBufferTexture2;\nuniform sampler2D gBufferTexture3;\nuniform samplerCube specularCubemap;\nuniform float specularIntensity: 1;\n\nuniform mat4 projection;\nuniform mat4 projectionInv;\nuniform mat4 toViewSpace;\nuniform mat4 toWorldSpace;\n\nuniform float maxRayDistance: 200;\n\nuniform float pixelStride: 16;\nuniform float pixelStrideZCutoff: 50; \nuniform float screenEdgeFadeStart: 0.9; \nuniform float eyeFadeStart : 0.2; uniform float eyeFadeEnd: 0.8; \nuniform float minGlossiness: 0.2; uniform float zThicknessThreshold: 1;\n\nuniform float nearZ;\nuniform vec2 viewportSize : VIEWPORT_SIZE;\n\nuniform float jitterOffset: 0;\n\nvarying vec2 v_Texcoord;\n\n#ifdef DEPTH_DECODE\n@import clay.util.decode_float\n#endif\n\n#ifdef PHYSICALLY_CORRECT\nuniform sampler2D normalDistribution;\nuniform float sampleOffset: 0;\nuniform vec2 normalDistributionSize;\n\nvec3 transformNormal(vec3 H, vec3 N) {\n vec3 upVector = N.y > 0.999 ? vec3(1.0, 0.0, 0.0) : vec3(0.0, 1.0, 0.0);\n vec3 tangentX = normalize(cross(N, upVector));\n vec3 tangentZ = cross(N, tangentX);\n return normalize(tangentX * H.x + N * H.y + tangentZ * H.z);\n}\nvec3 importanceSampleNormalGGX(float i, float roughness, vec3 N) {\n float p = fract((i + sampleOffset) / float(TOTAL_SAMPLES));\n vec3 H = texture2D(normalDistribution,vec2(roughness, p)).rgb;\n return transformNormal(H, N);\n}\nfloat G_Smith(float g, float ndv, float ndl) {\n float roughness = 1.0 - g;\n float k = roughness * roughness / 2.0;\n float G1V = ndv / (ndv * (1.0 - k) + k);\n float G1L = ndl / (ndl * (1.0 - k) + k);\n return G1L * G1V;\n}\nvec3 F_Schlick(float ndv, vec3 spec) {\n return spec + (1.0 - spec) * pow(1.0 - ndv, 5.0);\n}\n#endif\n\nfloat fetchDepth(sampler2D depthTexture, vec2 uv)\n{\n vec4 depthTexel = texture2D(depthTexture, uv);\n return depthTexel.r * 2.0 - 1.0;\n}\n\nfloat linearDepth(float depth)\n{\n if (projection[3][3] == 0.0) {\n return projection[3][2] / (depth * projection[2][3] - projection[2][2]);\n }\n else {\n return (depth - projection[3][2]) / projection[2][2];\n }\n}\n\nbool rayIntersectDepth(float rayZNear, float rayZFar, vec2 hitPixel)\n{\n if (rayZFar > rayZNear)\n {\n float t = rayZFar; rayZFar = rayZNear; rayZNear = t;\n }\n float cameraZ = linearDepth(fetchDepth(gBufferTexture2, hitPixel));\n return rayZFar <= cameraZ && rayZNear >= cameraZ - zThicknessThreshold;\n}\n\n\nbool traceScreenSpaceRay(\n vec3 rayOrigin, vec3 rayDir, float jitter,\n out vec2 hitPixel, out vec3 hitPoint, out float iterationCount\n)\n{\n float rayLength = ((rayOrigin.z + rayDir.z * maxRayDistance) > -nearZ)\n ? (-nearZ - rayOrigin.z) / rayDir.z : maxRayDistance;\n\n vec3 rayEnd = rayOrigin + rayDir * rayLength;\n\n vec4 H0 = projection * vec4(rayOrigin, 1.0);\n vec4 H1 = projection * vec4(rayEnd, 1.0);\n\n float k0 = 1.0 / H0.w, k1 = 1.0 / H1.w;\n\n vec3 Q0 = rayOrigin * k0, Q1 = rayEnd * k1;\n\n vec2 P0 = (H0.xy * k0 * 0.5 + 0.5) * viewportSize;\n vec2 P1 = (H1.xy * k1 * 0.5 + 0.5) * viewportSize;\n\n P1 += dot(P1 - P0, P1 - P0) < 0.0001 ? 0.01 : 0.0;\n vec2 delta = P1 - P0;\n\n bool permute = false;\n if (abs(delta.x) < abs(delta.y)) {\n permute = true;\n delta = delta.yx;\n P0 = P0.yx;\n P1 = P1.yx;\n }\n float stepDir = sign(delta.x);\n float invdx = stepDir / delta.x;\n\n vec3 dQ = (Q1 - Q0) * invdx;\n float dk = (k1 - k0) * invdx;\n\n vec2 dP = vec2(stepDir, delta.y * invdx);\n\n float strideScaler = 1.0 - min(1.0, -rayOrigin.z / pixelStrideZCutoff);\n float pixStride = 1.0 + strideScaler * pixelStride;\n\n dP *= pixStride; dQ *= pixStride; dk *= pixStride;\n\n vec4 pqk = vec4(P0, Q0.z, k0);\n vec4 dPQK = vec4(dP, dQ.z, dk);\n\n pqk += dPQK * jitter;\n float rayZFar = (dPQK.z * 0.5 + pqk.z) / (dPQK.w * 0.5 + pqk.w);\n float rayZNear;\n\n bool intersect = false;\n\n vec2 texelSize = 1.0 / viewportSize;\n\n iterationCount = 0.0;\n\n for (int i = 0; i < MAX_ITERATION; i++)\n {\n pqk += dPQK;\n\n rayZNear = rayZFar;\n rayZFar = (dPQK.z * 0.5 + pqk.z) / (dPQK.w * 0.5 + pqk.w);\n\n hitPixel = permute ? pqk.yx : pqk.xy;\n hitPixel *= texelSize;\n\n intersect = rayIntersectDepth(rayZNear, rayZFar, hitPixel);\n\n iterationCount += 1.0;\n\n dPQK *= 1.2;\n\n if (intersect) {\n break;\n }\n }\n\n Q0.xy += dQ.xy * iterationCount;\n Q0.z = pqk.z;\n hitPoint = Q0 / pqk.w;\n\n return intersect;\n}\n\nfloat calculateAlpha(\n float iterationCount, float reflectivity,\n vec2 hitPixel, vec3 hitPoint, float dist, vec3 rayDir\n)\n{\n float alpha = clamp(reflectivity, 0.0, 1.0);\n alpha *= 1.0 - (iterationCount / float(MAX_ITERATION));\n vec2 hitPixelNDC = hitPixel * 2.0 - 1.0;\n float maxDimension = min(1.0, max(abs(hitPixelNDC.x), abs(hitPixelNDC.y)));\n alpha *= 1.0 - max(0.0, maxDimension - screenEdgeFadeStart) / (1.0 - screenEdgeFadeStart);\n\n float _eyeFadeStart = eyeFadeStart;\n float _eyeFadeEnd = eyeFadeEnd;\n if (_eyeFadeStart > _eyeFadeEnd) {\n float tmp = _eyeFadeEnd;\n _eyeFadeEnd = _eyeFadeStart;\n _eyeFadeStart = tmp;\n }\n\n float eyeDir = clamp(rayDir.z, _eyeFadeStart, _eyeFadeEnd);\n alpha *= 1.0 - (eyeDir - _eyeFadeStart) / (_eyeFadeEnd - _eyeFadeStart);\n\n alpha *= 1.0 - clamp(dist / maxRayDistance, 0.0, 1.0);\n\n return alpha;\n}\n\n@import clay.util.rand\n\n@import clay.util.rgbm\n\nvoid main()\n{\n vec4 normalAndGloss = texture2D(gBufferTexture1, v_Texcoord);\n\n if (dot(normalAndGloss.rgb, vec3(1.0)) == 0.0) {\n discard;\n }\n\n float g = normalAndGloss.a;\n#if !defined(PHYSICALLY_CORRECT)\n if (g <= minGlossiness) {\n discard;\n }\n#endif\n\n float reflectivity = (g - minGlossiness) / (1.0 - minGlossiness);\n\n vec3 N = normalize(normalAndGloss.rgb * 2.0 - 1.0);\n N = normalize((toViewSpace * vec4(N, 0.0)).xyz);\n\n vec4 projectedPos = vec4(v_Texcoord * 2.0 - 1.0, fetchDepth(gBufferTexture2, v_Texcoord), 1.0);\n vec4 pos = projectionInv * projectedPos;\n vec3 rayOrigin = pos.xyz / pos.w;\n vec3 V = -normalize(rayOrigin);\n\n float ndv = clamp(dot(N, V), 0.0, 1.0);\n float iterationCount;\n float jitter = rand(fract(v_Texcoord + jitterOffset));\n\n#ifdef PHYSICALLY_CORRECT\n vec4 color = vec4(vec3(0.0), 1.0);\n vec4 albedoMetalness = texture2D(gBufferTexture3, v_Texcoord);\n vec3 albedo = albedoMetalness.rgb;\n float m = albedoMetalness.a;\n vec3 diffuseColor = albedo * (1.0 - m);\n vec3 spec = mix(vec3(0.04), albedo, m);\n\n float jitter2 = rand(fract(v_Texcoord)) * float(TOTAL_SAMPLES);\n\n for (int i = 0; i < SAMPLE_PER_FRAME; i++) {\n vec3 H = importanceSampleNormalGGX(float(i) + jitter2, 1.0 - g, N);\n vec3 rayDir = normalize(reflect(-V, H));\n#else\n vec3 rayDir = normalize(reflect(-V, N));\n#endif\n vec2 hitPixel;\n vec3 hitPoint;\n\n bool intersect = traceScreenSpaceRay(rayOrigin, rayDir, jitter, hitPixel, hitPoint, iterationCount);\n\n float dist = distance(rayOrigin, hitPoint);\n\n vec3 hitNormal = texture2D(gBufferTexture1, hitPixel).rgb * 2.0 - 1.0;\n hitNormal = normalize((toViewSpace * vec4(hitNormal, 0.0)).xyz);\n#ifdef PHYSICALLY_CORRECT\n float ndl = clamp(dot(N, rayDir), 0.0, 1.0);\n float vdh = clamp(dot(V, H), 0.0, 1.0);\n float ndh = clamp(dot(N, H), 0.0, 1.0);\n vec3 litTexel = vec3(0.0);\n if (dot(hitNormal, rayDir) < 0.0 && intersect) {\n litTexel = texture2D(sourceTexture, hitPixel).rgb;\n litTexel *= pow(clamp(1.0 - dist / 200.0, 0.0, 1.0), 3.0);\n\n }\n else {\n #ifdef SPECULARCUBEMAP_ENABLED\n vec3 rayDirW = normalize(toWorldSpace * vec4(rayDir, 0.0)).rgb;\n litTexel = RGBMDecode(textureCubeLodEXT(specularCubemap, rayDirW, 0.0), 8.12).rgb * specularIntensity;\n#endif\n }\n color.rgb += ndl * litTexel * (\n F_Schlick(ndl, spec) * G_Smith(g, ndv, ndl) * vdh / (ndh * ndv + 0.001)\n );\n }\n color.rgb /= float(SAMPLE_PER_FRAME);\n#else\n #if !defined(SPECULARCUBEMAP_ENABLED)\n if (dot(hitNormal, rayDir) >= 0.0) {\n discard;\n }\n if (!intersect) {\n discard;\n }\n#endif\n float alpha = clamp(calculateAlpha(iterationCount, reflectivity, hitPixel, hitPoint, dist, rayDir), 0.0, 1.0);\n vec4 color = texture2D(sourceTexture, hitPixel);\n color.rgb *= alpha;\n\n#ifdef SPECULARCUBEMAP_ENABLED\n vec3 rayDirW = normalize(toWorldSpace * vec4(rayDir, 0.0)).rgb;\n alpha = alpha * (intersect ? 1.0 : 0.0);\n float bias = (1.0 -g) * 5.0;\n color.rgb += (1.0 - alpha)\n * RGBMDecode(textureCubeLodEXT(specularCubemap, rayDirW, bias), 8.12).rgb\n * specularIntensity;\n#endif\n\n#endif\n\n gl_FragColor = encodeHDR(color);\n}\n@end\n\n@export ecgl.ssr.blur\n\nuniform sampler2D texture;\nuniform sampler2D gBufferTexture1;\nuniform sampler2D gBufferTexture2;\nuniform mat4 projection;\nuniform float depthRange : 0.05;\n\nvarying vec2 v_Texcoord;\n\nuniform vec2 textureSize;\nuniform float blurSize : 1.0;\n\n#ifdef BLEND\n #ifdef SSAOTEX_ENABLED\nuniform sampler2D ssaoTex;\n #endif\nuniform sampler2D sourceTexture;\n#endif\n\nfloat getLinearDepth(vec2 coord)\n{\n float depth = texture2D(gBufferTexture2, coord).r * 2.0 - 1.0;\n return projection[3][2] / (depth * projection[2][3] - projection[2][2]);\n}\n\n@import clay.util.rgbm\n\n\nvoid main()\n{\n @import clay.compositor.kernel.gaussian_9\n\n vec4 centerNTexel = texture2D(gBufferTexture1, v_Texcoord);\n float g = centerNTexel.a;\n float maxBlurSize = clamp(1.0 - g, 0.0, 1.0) * blurSize;\n#ifdef VERTICAL\n vec2 off = vec2(0.0, maxBlurSize / textureSize.y);\n#else\n vec2 off = vec2(maxBlurSize / textureSize.x, 0.0);\n#endif\n\n vec2 coord = v_Texcoord;\n\n vec4 sum = vec4(0.0);\n float weightAll = 0.0;\n\n vec3 cN = centerNTexel.rgb * 2.0 - 1.0;\n float cD = getLinearDepth(v_Texcoord);\n for (int i = 0; i < 9; i++) {\n vec2 coord = clamp((float(i) - 4.0) * off + v_Texcoord, vec2(0.0), vec2(1.0));\n float w = gaussianKernel[i]\n * clamp(dot(cN, texture2D(gBufferTexture1, coord).rgb * 2.0 - 1.0), 0.0, 1.0);\n float d = getLinearDepth(coord);\n w *= (1.0 - smoothstep(abs(cD - d) / depthRange, 0.0, 1.0));\n\n weightAll += w;\n sum += decodeHDR(texture2D(texture, coord)) * w;\n }\n\n#ifdef BLEND\n float aoFactor = 1.0;\n #ifdef SSAOTEX_ENABLED\n aoFactor = texture2D(ssaoTex, v_Texcoord).r;\n #endif\n gl_FragColor = encodeHDR(\n sum / weightAll * aoFactor + decodeHDR(texture2D(sourceTexture, v_Texcoord))\n );\n#else\n gl_FragColor = encodeHDR(sum / weightAll);\n#endif\n}\n\n@end"},function(e,t,r){"use strict";t.a=[0,0,-.321585265978,-.154972575841,.458126042375,.188473391593,.842080129861,.527766490688,.147304551086,-.659453822776,-.331943915203,-.940619700594,.0479226680259,.54812163202,.701581552186,-.709825561388,-.295436780218,.940589268233,-.901489676764,.237713156085,.973570876096,-.109899459384,-.866792314779,-.451805525005,.330975007087,.800048655954,-.344275183665,.381779221166,-.386139432542,-.437418421534,-.576478634965,-.0148463392551,.385798197415,-.262426961053,-.666302061145,.682427250835,-.628010632582,-.732836215494,.10163141741,-.987658134403,.711995289051,-.320024291314,.0296005138058,.950296523438,.0130612307608,-.351024443122,-.879596633704,-.10478487883,.435712737232,.504254490347,.779203817497,.206477676721,.388264289969,-.896736162545,-.153106280781,-.629203242522,-.245517550697,.657969239148,.126830499058,.26862328493,-.634888119007,-.302301223431,.617074219636,.779817204925]},function(e,t,r){"use strict";function n(e,t,r,n,i){var a=e.gl;t.setUniform(a,"1i",r,i),a.activeTexture(a.TEXTURE0+i),n.isRenderable()?n.bind(e):n.unbind(e)}function i(e,t,r,i,a){var o,s,u,l,h=e.gl;return function(a,c,d){if(!l||l.material!==a.material){var f=a.material,p=a.__program,m=f.get("roughness");null==m&&(m=1);var g=f.get("normalMap")||t,_=f.get("roughnessMap"),v=f.get("bumpMap"),y=f.get("uvRepeat"),x=f.get("uvOffset"),T=f.get("detailUvRepeat"),b=f.get("detailUvOffset"),w=!!v&&f.isTextureEnabled("bumpMap"),E=!!_&&f.isTextureEnabled("roughnessMap"),S=f.isDefined("fragment","DOUBLE_SIDED");v=v||r,_=_||i,d!==c?(c.set("normalMap",g),c.set("bumpMap",v),c.set("roughnessMap",_),c.set("useBumpMap",w),c.set("useRoughnessMap",E),c.set("doubleSide",S),null!=y&&c.set("uvRepeat",y),null!=x&&c.set("uvOffset",x),null!=T&&c.set("detailUvRepeat",T),null!=b&&c.set("detailUvOffset",b),c.set("roughness",m)):(p.setUniform(h,"1f","roughness",m),o!==g&&n(e,p,"normalMap",g,0),s!==v&&v&&n(e,p,"bumpMap",v,1),u!==_&&_&&n(e,p,"roughnessMap",_,2),null!=y&&p.setUniform(h,"2f","uvRepeat",y),null!=x&&p.setUniform(h,"2f","uvOffset",x),null!=T&&p.setUniform(h,"2f","detailUvRepeat",T),null!=b&&p.setUniform(h,"2f","detailUvOffset",b),p.setUniform(h,"1i","useBumpMap",+w),p.setUniform(h,"1i","useRoughnessMap",+E),p.setUniform(h,"1i","doubleSide",+S)),o=g,s=v,u=_,l=a}}}function a(e){e=e||{},this._depthTex=new o.a({format:s.a.DEPTH_COMPONENT,type:s.a.UNSIGNED_INT}),this._normalTex=new o.a({type:s.a.HALF_FLOAT}),this._framebuffer=new l.a,this._framebuffer.attach(this._normalTex),this._framebuffer.attach(this._depthTex,l.a.DEPTH_ATTACHMENT),this._normalMaterial=new h.a({shader:new u.a(u.a.source("ecgl.normal.vertex"),u.a.source("ecgl.normal.fragment"))}),this._normalMaterial.enableTexture(["normalMap","bumpMap","roughnessMap"]),this._defaultNormalMap=d.a.createBlank("#000"),this._defaultBumpMap=d.a.createBlank("#000"),this._defaultRoughessMap=d.a.createBlank("#000"),this._debugPass=new c.a({fragment:u.a.source("clay.compositor.output")}),this._debugPass.setUniform("texture",this._normalTex),this._debugPass.material.undefine("fragment","OUTPUT_ALPHA")}var o=r(5),s=r(4),u=r(8),l=r(10),h=r(19),c=r(16),d=r(61),f=r(195);u.a.import(f.a),a.prototype.getDepthTexture=function(){return this._depthTex},a.prototype.getNormalTexture=function(){return this._normalTex},a.prototype.update=function(e,t,r){var n=e.getWidth(),a=e.getHeight(),o=this._depthTex,s=this._normalTex,u=this._normalMaterial;o.width=n,o.height=a,s.width=n,s.height=a;var l=t.getRenderList(r).opaque;this._framebuffer.bind(e),e.gl.clearColor(0,0,0,0),e.gl.clear(e.gl.COLOR_BUFFER_BIT|e.gl.DEPTH_BUFFER_BIT),e.gl.disable(e.gl.BLEND),e.renderPass(l,r,{getMaterial:function(){return u},ifRender:function(e){return e.renderNormal},beforeRender:i(e,this._defaultNormalMap,this._defaultBumpMap,this._defaultRoughessMap,this._normalMaterial),sort:e.opaqueSortCompare}),this._framebuffer.unbind(e)},a.prototype.renderDebug=function(e){this._debugPass.render(e)},a.prototype.dispose=function(e){this._depthTex.dispose(e),this._normalTex.dispose(e)},t.a=a},function(e,t,r){"use strict";t.a="@export ecgl.normal.vertex\n\n@import ecgl.common.transformUniforms\n\n@import ecgl.common.uv.header\n\n@import ecgl.common.attributes\n\nvarying vec3 v_Normal;\nvarying vec3 v_WorldPosition;\n\n@import ecgl.common.normalMap.vertexHeader\n\n@import ecgl.common.vertexAnimation.header\n\nvoid main()\n{\n\n @import ecgl.common.vertexAnimation.main\n\n @import ecgl.common.uv.main\n\n v_Normal = normalize((worldInverseTranspose * vec4(normal, 0.0)).xyz);\n v_WorldPosition = (world * vec4(pos, 1.0)).xyz;\n\n @import ecgl.common.normalMap.vertexMain\n\n gl_Position = worldViewProjection * vec4(pos, 1.0);\n\n}\n\n\n@end\n\n\n@export ecgl.normal.fragment\n\n#define ROUGHNESS_CHANEL 0\n\nuniform bool useBumpMap;\nuniform bool useRoughnessMap;\nuniform bool doubleSide;\nuniform float roughness;\n\n@import ecgl.common.uv.fragmentHeader\n\nvarying vec3 v_Normal;\nvarying vec3 v_WorldPosition;\n\nuniform mat4 viewInverse : VIEWINVERSE;\n\n@import ecgl.common.normalMap.fragmentHeader\n@import ecgl.common.bumpMap.header\n\nuniform sampler2D roughnessMap;\n\nvoid main()\n{\n vec3 N = v_Normal;\n \n bool flipNormal = false;\n if (doubleSide) {\n vec3 eyePos = viewInverse[3].xyz;\n vec3 V = normalize(eyePos - v_WorldPosition);\n\n if (dot(N, V) < 0.0) {\n flipNormal = true;\n }\n }\n\n @import ecgl.common.normalMap.fragmentMain\n\n if (useBumpMap) {\n N = bumpNormal(v_WorldPosition, v_Normal, N);\n }\n\n float g = 1.0 - roughness;\n\n if (useRoughnessMap) {\n float g2 = 1.0 - texture2D(roughnessMap, v_DetailTexcoord)[ROUGHNESS_CHANEL];\n g = clamp(g2 + (g - 0.5) * 2.0, 0.0, 1.0);\n }\n\n if (flipNormal) {\n N = -N;\n }\n\n gl_FragColor.rgb = (N.xyz + 1.0) * 0.5;\n gl_FragColor.a = g;\n}\n@end"},function(e,t,r){"use strict";function n(e){e=e||{},this._edgePass=new o.a({fragment:s.a.source("ecgl.edge")}),this._edgePass.setUniform("normalTexture",e.normalTexture),this._edgePass.setUniform("depthTexture",e.depthTexture),this._targetTexture=new i.a({type:a.a.HALF_FLOAT}),this._frameBuffer=new u.a,this._frameBuffer.attach(this._targetTexture)}var i=(r(9),r(3),r(5)),a=r(4),o=r(16),s=r(8),u=r(10);n.prototype.update=function(e,t,r,n){var i=e.getWidth(),a=e.getHeight(),o=this._targetTexture;o.width=i,o.height=a;var s=this._frameBuffer;s.bind(e),this._edgePass.setUniform("projectionInv",t.invProjectionMatrix.array),this._edgePass.setUniform("textureSize",[i,a]),this._edgePass.setUniform("texture",r),this._edgePass.render(e),s.unbind(e)},n.prototype.getTargetTexture=function(){return this._targetTexture},n.prototype.setParameter=function(e,t){this._edgePass.setUniform(e,t)},n.prototype.dispose=function(e){this._targetTexture.dispose(e),this._frameBuffer.dispose(e)},t.a=n},function(e,t,r){"use strict";t.a={type:"compositor",nodes:[{name:"source",type:"texture",outputs:{color:{}}},{name:"source_half",shader:"#source(clay.compositor.downsample)",inputs:{texture:"source"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 2)",height:"expr(height * 1.0 / 2)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0, height * 1.0] )"}},{name:"bright",shader:"#source(clay.compositor.bright)",inputs:{texture:"source_half"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 2)",height:"expr(height * 1.0 / 2)",type:"HALF_FLOAT"}}},parameters:{threshold:2,scale:4,textureSize:"expr([width * 1.0 / 2, height / 2])"}},{name:"bright_downsample_4",shader:"#source(clay.compositor.downsample)",inputs:{texture:"bright"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 4)",height:"expr(height * 1.0 / 4)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0 / 2, height / 2] )"}},{name:"bright_downsample_8",shader:"#source(clay.compositor.downsample)",inputs:{texture:"bright_downsample_4"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 8)",height:"expr(height * 1.0 / 8)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0 / 4, height / 4] )"}},{name:"bright_downsample_16",shader:"#source(clay.compositor.downsample)",inputs:{texture:"bright_downsample_8"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 16)",height:"expr(height * 1.0 / 16)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0 / 8, height / 8] )"}},{name:"bright_downsample_32",shader:"#source(clay.compositor.downsample)",inputs:{texture:"bright_downsample_16"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 32)",height:"expr(height * 1.0 / 32)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0 / 16, height / 16] )"}},{name:"bright_upsample_16_blur_h",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_downsample_32"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 16)",height:"expr(height * 1.0 / 16)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:0,textureSize:"expr( [width * 1.0 / 32, height / 32] )"}},{name:"bright_upsample_16_blur_v",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_upsample_16_blur_h"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 16)",height:"expr(height * 1.0 / 16)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:1,textureSize:"expr( [width * 1.0 / 16, height * 1.0 / 16] )"}},{name:"bright_upsample_8_blur_h",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_downsample_16"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 8)",height:"expr(height * 1.0 / 8)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:0,textureSize:"expr( [width * 1.0 / 16, height * 1.0 / 16] )"}},{name:"bright_upsample_8_blur_v",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_upsample_8_blur_h"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 8)",height:"expr(height * 1.0 / 8)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:1,textureSize:"expr( [width * 1.0 / 8, height * 1.0 / 8] )"}},{name:"bright_upsample_8_blend",shader:"#source(clay.compositor.blend)",inputs:{texture1:"bright_upsample_8_blur_v",texture2:"bright_upsample_16_blur_v"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 8)",height:"expr(height * 1.0 / 8)",type:"HALF_FLOAT"}}},parameters:{weight1:.3,weight2:.7}},{name:"bright_upsample_4_blur_h",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_downsample_8"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 4)",height:"expr(height * 1.0 / 4)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:0,textureSize:"expr( [width * 1.0 / 8, height * 1.0 / 8] )"}},{name:"bright_upsample_4_blur_v",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_upsample_4_blur_h"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 4)",height:"expr(height * 1.0 / 4)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:1,textureSize:"expr( [width * 1.0 / 4, height * 1.0 / 4] )"}},{name:"bright_upsample_4_blend",shader:"#source(clay.compositor.blend)",inputs:{texture1:"bright_upsample_4_blur_v",texture2:"bright_upsample_8_blend"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 4)",height:"expr(height * 1.0 / 4)",type:"HALF_FLOAT"}}},parameters:{weight1:.3,weight2:.7}},{name:"bright_upsample_2_blur_h",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_downsample_4"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 2)",height:"expr(height * 1.0 / 2)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:0,textureSize:"expr( [width * 1.0 / 4, height * 1.0 / 4] )"}},{name:"bright_upsample_2_blur_v",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_upsample_2_blur_h"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 2)",height:"expr(height * 1.0 / 2)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:1,textureSize:"expr( [width * 1.0 / 2, height * 1.0 / 2] )"}},{name:"bright_upsample_2_blend",shader:"#source(clay.compositor.blend)",inputs:{texture1:"bright_upsample_2_blur_v",texture2:"bright_upsample_4_blend"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 2)",height:"expr(height * 1.0 / 2)",type:"HALF_FLOAT"}}},parameters:{weight1:.3,weight2:.7}},{name:"bright_upsample_full_blur_h",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:0,textureSize:"expr( [width * 1.0 / 2, height * 1.0 / 2] )"}},{name:"bright_upsample_full_blur_v",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_upsample_full_blur_h"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:1,textureSize:"expr( [width * 1.0, height * 1.0] )"}},{name:"bloom_composite",shader:"#source(clay.compositor.blend)",inputs:{texture1:"bright_upsample_full_blur_v",texture2:"bright_upsample_2_blend"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}},parameters:{weight1:.3,weight2:.7}},{name:"coc",shader:"#source(ecgl.dof.coc)",outputs:{color:{parameters:{minFilter:"NEAREST",magFilter:"NEAREST",width:"expr(width * 1.0)",height:"expr(height * 1.0)"}}},parameters:{focalDist:50,focalRange:30}},{name:"dof_far_blur",shader:"#source(ecgl.dof.diskBlur)",inputs:{texture:"source",coc:"coc"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0, height * 1.0] )"}},{name:"dof_near_blur",shader:"#source(ecgl.dof.diskBlur)",inputs:{texture:"source",coc:"coc"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0, height * 1.0] )"},defines:{BLUR_NEARFIELD:null}},{name:"dof_coc_blur",shader:"#source(ecgl.dof.diskBlur)",inputs:{texture:"coc"},outputs:{color:{parameters:{minFilter:"NEAREST",magFilter:"NEAREST",width:"expr(width * 1.0)",height:"expr(height * 1.0)"}}},parameters:{textureSize:"expr( [width * 1.0, height * 1.0] )"},defines:{BLUR_COC:null}},{name:"dof_composite",shader:"#source(ecgl.dof.composite)",inputs:{original:"source",blurred:"dof_far_blur",nearfield:"dof_near_blur",coc:"coc",nearcoc:"dof_coc_blur"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}}},{name:"composite",shader:"#source(clay.compositor.hdr.composite)",inputs:{texture:"source",bloom:"bloom_composite"},defines:{}},{name:"FXAA",shader:"#source(clay.compositor.fxaa)",inputs:{texture:"composite"}}]}},function(e,t,r){"use strict";t.a="@export ecgl.dof.coc\n\nuniform sampler2D depth;\n\nuniform float zNear: 0.1;\nuniform float zFar: 2000;\n\nuniform float focalDistance: 3;\nuniform float focalRange: 1;\nuniform float focalLength: 30;\nuniform float fstop: 2.8;\n\nvarying vec2 v_Texcoord;\n\n@import clay.util.encode_float\n\nvoid main()\n{\n float z = texture2D(depth, v_Texcoord).r * 2.0 - 1.0;\n\n float dist = 2.0 * zNear * zFar / (zFar + zNear - z * (zFar - zNear));\n\n float aperture = focalLength / fstop;\n\n float coc;\n\n float uppper = focalDistance + focalRange;\n float lower = focalDistance - focalRange;\n if (dist <= uppper && dist >= lower) {\n coc = 0.5;\n }\n else {\n float focalAdjusted = dist > uppper ? uppper : lower;\n\n coc = abs(aperture * (focalLength * (dist - focalAdjusted)) / (dist * (focalAdjusted - focalLength)));\n coc = clamp(coc, 0.0, 2.0) / 2.00001;\n\n if (dist < lower) {\n coc = -coc;\n }\n coc = coc * 0.5 + 0.5;\n }\n\n gl_FragColor = encodeFloat(coc);\n}\n@end\n\n\n@export ecgl.dof.composite\n\n#define DEBUG 0\n\nuniform sampler2D original;\nuniform sampler2D blurred;\nuniform sampler2D nearfield;\nuniform sampler2D coc;\nuniform sampler2D nearcoc;\nvarying vec2 v_Texcoord;\n\n@import clay.util.rgbm\n@import clay.util.float\n\nvoid main()\n{\n vec4 blurredColor = texture2D(blurred, v_Texcoord);\n vec4 originalColor = texture2D(original, v_Texcoord);\n\n float fCoc = decodeFloat(texture2D(coc, v_Texcoord));\n\n fCoc = abs(fCoc * 2.0 - 1.0);\n\n float weight = smoothstep(0.0, 1.0, fCoc);\n \n#ifdef NEARFIELD_ENABLED\n vec4 nearfieldColor = texture2D(nearfield, v_Texcoord);\n float fNearCoc = decodeFloat(texture2D(nearcoc, v_Texcoord));\n fNearCoc = abs(fNearCoc * 2.0 - 1.0);\n\n gl_FragColor = encodeHDR(\n mix(\n nearfieldColor, mix(originalColor, blurredColor, weight),\n pow(1.0 - fNearCoc, 4.0)\n )\n );\n#else\n gl_FragColor = encodeHDR(mix(originalColor, blurredColor, weight));\n#endif\n\n}\n\n@end\n\n\n\n@export ecgl.dof.diskBlur\n\n#define POISSON_KERNEL_SIZE 16;\n\nuniform sampler2D texture;\nuniform sampler2D coc;\nvarying vec2 v_Texcoord;\n\nuniform float blurRadius : 10.0;\nuniform vec2 textureSize : [512.0, 512.0];\n\nuniform vec2 poissonKernel[POISSON_KERNEL_SIZE];\n\nuniform float percent;\n\nfloat nrand(const in vec2 n) {\n return fract(sin(dot(n.xy ,vec2(12.9898,78.233))) * 43758.5453);\n}\n\n@import clay.util.rgbm\n@import clay.util.float\n\n\nvoid main()\n{\n vec2 offset = blurRadius / textureSize;\n\n float rnd = 6.28318 * nrand(v_Texcoord + 0.07 * percent );\n float cosa = cos(rnd);\n float sina = sin(rnd);\n vec4 basis = vec4(cosa, -sina, sina, cosa);\n\n#if !defined(BLUR_NEARFIELD) && !defined(BLUR_COC)\n offset *= abs(decodeFloat(texture2D(coc, v_Texcoord)) * 2.0 - 1.0);\n#endif\n\n#ifdef BLUR_COC\n float cocSum = 0.0;\n#else\n vec4 color = vec4(0.0);\n#endif\n\n\n float weightSum = 0.0;\n\n for (int i = 0; i < POISSON_KERNEL_SIZE; i++) {\n vec2 ofs = poissonKernel[i];\n\n ofs = vec2(dot(ofs, basis.xy), dot(ofs, basis.zw));\n\n vec2 uv = v_Texcoord + ofs * offset;\n vec4 texel = texture2D(texture, uv);\n\n float w = 1.0;\n#ifdef BLUR_COC\n float fCoc = decodeFloat(texel) * 2.0 - 1.0;\n cocSum += clamp(fCoc, -1.0, 0.0) * w;\n#else\n texel = texel;\n #if !defined(BLUR_NEARFIELD)\n float fCoc = decodeFloat(texture2D(coc, uv)) * 2.0 - 1.0;\n w *= abs(fCoc);\n #endif\n texel.rgb *= texel.a;\n color += texel * w;\n#endif\n\n weightSum += w;\n }\n\n#ifdef BLUR_COC\n gl_FragColor = encodeFloat(clamp(cocSum / weightSum, -1.0, 0.0) * 0.5 + 0.5);\n#else\n color /= weightSum;\n color.rgb /= (color.a + 0.0001);\n gl_FragColor = color;\n#endif\n}\n\n@end"},function(e,t,r){"use strict";t.a="@export ecgl.edge\n\nuniform sampler2D texture;\n\nuniform sampler2D normalTexture;\nuniform sampler2D depthTexture;\n\nuniform mat4 projectionInv;\n\nuniform vec2 textureSize;\n\nuniform vec4 edgeColor: [0,0,0,0.8];\n\nvarying vec2 v_Texcoord;\n\nvec3 packColor(vec2 coord) {\n float z = texture2D(depthTexture, coord).r * 2.0 - 1.0;\n vec4 p = vec4(v_Texcoord * 2.0 - 1.0, z, 1.0);\n vec4 p4 = projectionInv * p;\n\n return vec3(\n texture2D(normalTexture, coord).rg,\n -p4.z / p4.w / 5.0\n );\n}\n\nvoid main() {\n vec2 cc = v_Texcoord;\n vec3 center = packColor(cc);\n\n float size = clamp(1.0 - (center.z - 10.0) / 100.0, 0.0, 1.0) * 0.5;\n float dx = size / textureSize.x;\n float dy = size / textureSize.y;\n\n vec2 coord;\n vec3 topLeft = packColor(cc+vec2(-dx, -dy));\n vec3 top = packColor(cc+vec2(0.0, -dy));\n vec3 topRight = packColor(cc+vec2(dx, -dy));\n vec3 left = packColor(cc+vec2(-dx, 0.0));\n vec3 right = packColor(cc+vec2(dx, 0.0));\n vec3 bottomLeft = packColor(cc+vec2(-dx, dy));\n vec3 bottom = packColor(cc+vec2(0.0, dy));\n vec3 bottomRight = packColor(cc+vec2(dx, dy));\n\n vec3 v = -topLeft-2.0*top-topRight+bottomLeft+2.0*bottom+bottomRight;\n vec3 h = -bottomLeft-2.0*left-topLeft+bottomRight+2.0*right+topRight;\n\n float edge = sqrt(dot(h, h) + dot(v, v));\n\n edge = smoothstep(0.8, 1.0, edge);\n\n gl_FragColor = mix(texture2D(texture, v_Texcoord), vec4(edgeColor.rgb, 1.0), edgeColor.a * edge);\n}\n@end"},function(e,t,r){"use strict";function n(e){for(var t=[],r=0;r<30;r++)t.push([Object(i.a)(r,2),Object(i.a)(r,3)]);this._haltonSequence=t,this._frame=0,this._sourceTex=new s.a,this._sourceFb=new o.a,this._sourceFb.attach(this._sourceTex),this._prevFrameTex=new s.a,this._outputTex=new s.a;var n=this._blendPass=new a.a({fragment:u.a.source("clay.compositor.blend")});n.material.disableTexturesAll(),n.material.enableTexture(["texture1","texture2"]),this._blendFb=new o.a({depthBuffer:!1}),this._outputPass=new a.a({fragment:u.a.source("clay.compositor.output"),blendWithPrevious:!0}),this._outputPass.material.define("fragment","OUTPUT_ALPHA"),this._outputPass.material.blend=function(e){e.blendEquationSeparate(e.FUNC_ADD,e.FUNC_ADD),e.blendFuncSeparate(e.ONE,e.ONE_MINUS_SRC_ALPHA,e.ONE,e.ONE_MINUS_SRC_ALPHA)}}var i=r(49),a=r(16),o=r(10),s=r(5),u=r(8),l=r(9);n.prototype={constructor:n,jitterProjection:function(e,t){var r=e.viewport,n=r.devicePixelRatio||e.getDevicePixelRatio(),i=r.width*n,a=r.height*n,o=this._haltonSequence[this._frame%this._haltonSequence.length],s=new l.a;s.array[12]=(2*o[0]-1)/i,s.array[13]=(2*o[1]-1)/a,l.a.mul(t.projectionMatrix,s,t.projectionMatrix),l.a.invert(t.invProjectionMatrix,t.projectionMatrix)},resetFrame:function(){this._frame=0},getFrame:function(){return this._frame},getSourceFrameBuffer:function(){return this._sourceFb},getOutputTexture:function(){return this._outputTex},resize:function(e,t){this._prevFrameTex.width=e,this._prevFrameTex.height=t,this._outputTex.width=e,this._outputTex.height=t,this._sourceTex.width=e,this._sourceTex.height=t,this._prevFrameTex.dirty(),this._outputTex.dirty(),this._sourceTex.dirty()},isFinished:function(){return this._frame>=this._haltonSequence.length},render:function(e,t,r){var n=this._blendPass;0===this._frame?(n.setUniform("weight1",0),n.setUniform("weight2",1)):(n.setUniform("weight1",.9),n.setUniform("weight2",.1)),n.setUniform("texture1",this._prevFrameTex),n.setUniform("texture2",t||this._sourceTex),this._blendFb.attach(this._outputTex),this._blendFb.bind(e),n.render(e),this._blendFb.unbind(e),r||(this._outputPass.setUniform("texture",this._outputTex),this._outputPass.render(e));var i=this._prevFrameTex;this._prevFrameTex=this._outputTex,this._outputTex=i,this._frame++},dispose:function(e){this._sourceFb.dispose(e),this._blendFb.dispose(e),this._prevFrameTex.dispose(e),this._outputTex.dispose(e),this._sourceTex.dispose(e),this._outputPass.dispose(e),this._blendPass.dispose(e)}},t.a=n},function(e,t,r){"use strict";var n=r(0),i=r.n(n);r(202),r(203),r(98);i.a.registerAction({type:"geo3DChangeCamera",event:"geo3dcamerachanged",update:"series:updateCamera"},function(e,t){t.eachComponent({mainType:"geo3D",query:e},function(t){t.setView(e)})})},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a=r(44),o=r(28),s=r(29),u=r(31),l=r(96),h=i.a.extendComponentModel({type:"geo3D",layoutMode:"box",coordinateSystem:null,optionUpdated:function(){var e=this.option;e.regions=this.getFilledRegions(e.regions,e.map);var t=i.a.helper.completeDimensions(["value"],e.data,{encodeDef:this.get("encode"),dimsDef:this.get("dimensions")}),r=new i.a.List(t,this);r.initData(e.regions);var n={};r.each(function(e){var t=r.getName(e),i=r.getItemModel(e);n[t]=i}),this._regionModelMap=n,this._data=r},getData:function(){return this._data},getRegionModel:function(e){var t=this.getData().getName(e);return this._regionModelMap[t]||new i.a.Model(null,this)},getRegionPolygonCoords:function(e){var t=this.getData().getName(e),r=this.coordinateSystem.getRegion(t);return r?r.geometries:[]},getFormattedLabel:function(e,t){var r=this._data.getName(e),n=this.getRegionModel(r),i=n.get("normal"===t?["label","formatter"]:["emphasis","label","formatter"]);null==i&&(i=n.get(["label","formatter"]));var a={name:r};if("function"==typeof i)return a.status=t,i(a);if("string"==typeof i){var o=a.seriesName;return i.replace("{a}",null!=o?o:"")}return r},defaultOption:{regions:[]}});i.a.util.merge(h.prototype,l.a),i.a.util.merge(h.prototype,a.a),i.a.util.merge(h.prototype,o.a),i.a.util.merge(h.prototype,s.a),i.a.util.merge(h.prototype,u.a)},function(e,t,r){"use strict";var n=r(64),i=r(0),a=r.n(i),o=r(1),s=r(45),u=r(30);a.a.extendComponentView({type:"geo3D",__ecgl__:!0,init:function(e,t){this._geo3DBuilder=new n.a(t),this.groupGL=new o.a.Node,this._lightRoot=new o.a.Node,this._sceneHelper=new u.a(this._lightRoot),this._sceneHelper.initLight(this._lightRoot),this._control=new s.a({zr:t.getZr()}),this._control.init()},render:function(e,t,r){this.groupGL.add(this._geo3DBuilder.rootNode);var n=e.coordinateSystem;if(n&&n.viewGL){n.viewGL.add(this._lightRoot),e.get("show")?n.viewGL.add(this.groupGL):n.viewGL.remove(this.groupGL);var i=this._control;i.setViewGL(n.viewGL);var a=e.getModel("viewControl");i.setFromViewControlModel(a,0),this._sceneHelper.setScene(n.viewGL.scene),this._sceneHelper.updateLight(e),n.viewGL.setPostEffect(e.getModel("postEffect"),r),n.viewGL.setTemporalSuperSampling(e.getModel("temporalSuperSampling")),this._geo3DBuilder.update(e,t,r,0,e.getData().count());var o=n.viewGL.isLinearSpace()?"define":"undefine";this._geo3DBuilder.rootNode.traverse(function(e){e.material&&e.material[o]("fragment","SRGB_DECODE")}),i.off("update"),i.on("update",function(){r.dispatchAction({type:"geo3DChangeCamera",alpha:i.getAlpha(),beta:i.getBeta(),distance:i.getDistance(),center:i.getCenter(),from:this.uid,geo3DId:e.id})}),i.update()}},afterRender:function(e,t,r,n){var i=n.renderer;this._sceneHelper.updateAmbientCubemap(i,e,r),this._sceneHelper.updateSkybox(i,e,r)},dispose:function(){this._control.dispose()}})},function(e,t,r){"use strict";function n(e,t,r){r=r||2;var n=t&&t.length,a=n?t[0]*r:e.length,s=i(e,0,a,r,!0),u=[];if(!s)return u;var l,h,d,f,p,m,g;if(n&&(s=c(e,t,s,r)),e.length>80*r){l=d=e[0],h=f=e[1];for(var _=r;_<a;_+=r)p=e[_],m=e[_+1],p<l&&(l=p),m<h&&(h=m),p>d&&(d=p),m>f&&(f=m);g=Math.max(d-l,f-h)}return o(s,u,r,l,h,g),u}function i(e,t,r,n,i){var a,o;if(i===N(e,t,r,n)>0)for(a=t;a<r;a+=n)o=C(a,e[a],e[a+1],o);else for(a=r-n;a>=t;a-=n)o=C(a,e[a],e[a+1],o);return o&&b(o,o.next)&&(L(o),o=o.next),o}function a(e,t){if(!e)return e;t||(t=e);var r,n=e;do{if(r=!1,n.steiner||!b(n,n.next)&&0!==T(n.prev,n,n.next))n=n.next;else{if(L(n),(n=t=n.prev)===n.next)return null;r=!0}}while(r||n!==t);return t}function o(e,t,r,n,i,c,d){if(e){!d&&c&&m(e,n,i,c);for(var f,p,g=e;e.prev!==e.next;)if(f=e.prev,p=e.next,c?u(e,n,i,c):s(e))t.push(f.i/r),t.push(e.i/r),t.push(p.i/r),L(e),e=p.next,g=p.next;else if((e=p)===g){d?1===d?(e=l(e,t,r),o(e,t,r,n,i,c,2)):2===d&&h(e,t,r,n,i,c):o(a(e),t,r,n,i,c,1);break}}}function s(e){var t=e.prev,r=e,n=e.next;if(T(t,r,n)>=0)return!1;for(var i=e.next.next;i!==e.prev;){if(y(t.x,t.y,r.x,r.y,n.x,n.y,i.x,i.y)&&T(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function u(e,t,r,n){var i=e.prev,a=e,o=e.next;if(T(i,a,o)>=0)return!1;for(var s=i.x<a.x?i.x<o.x?i.x:o.x:a.x<o.x?a.x:o.x,u=i.y<a.y?i.y<o.y?i.y:o.y:a.y<o.y?a.y:o.y,l=i.x>a.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,h=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,c=_(s,u,t,r,n),d=_(l,h,t,r,n),f=e.nextZ;f&&f.z<=d;){if(f!==e.prev&&f!==e.next&&y(i.x,i.y,a.x,a.y,o.x,o.y,f.x,f.y)&&T(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=e.prevZ;f&&f.z>=c;){if(f!==e.prev&&f!==e.next&&y(i.x,i.y,a.x,a.y,o.x,o.y,f.x,f.y)&&T(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0}function l(e,t,r){var n=e;do{var i=n.prev,a=n.next.next;!b(i,a)&&w(i,n,n.next,a)&&S(i,a)&&S(a,i)&&(t.push(i.i/r),t.push(n.i/r),t.push(a.i/r),L(n),L(n.next),n=e=a),n=n.next}while(n!==e);return n}function h(e,t,r,n,i,s){var u=e;do{for(var l=u.next.next;l!==u.prev;){if(u.i!==l.i&&x(u,l)){var h=M(u,l);return u=a(u,u.next),h=a(h,h.next),o(u,t,r,n,i,s),void o(h,t,r,n,i,s)}l=l.next}u=u.next}while(u!==e)}function c(e,t,r,n){var o,s,u,l,h,c=[];for(o=0,s=t.length;o<s;o++)u=t[o]*n,l=o<s-1?t[o+1]*n:e.length,h=i(e,u,l,n,!1),h===h.next&&(h.steiner=!0),c.push(v(h));for(c.sort(d),o=0;o<c.length;o++)f(c[o],r),r=a(r,r.next);return r}function d(e,t){return e.x-t.x}function f(e,t){if(t=p(e,t)){var r=M(t,e);a(r,r.next)}}function p(e,t){var r,n=t,i=e.x,a=e.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x<n.next.x?n:n.next}}n=n.next}while(n!==t);if(!r)return null;if(i===o)return r.prev;var u,l=r,h=r.x,c=r.y,d=1/0;for(n=r.next;n!==l;)i>=n.x&&n.x>=h&&i!==n.x&&y(a<c?i:o,a,h,c,a<c?o:i,a,n.x,n.y)&&((u=Math.abs(a-n.y)/(i-n.x))<d||u===d&&n.x>r.x)&&S(n,e)&&(r=n,d=u),n=n.next;return r}function m(e,t,r,n){var i=e;do{null===i.z&&(i.z=_(i.x,i.y,t,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,g(i)}function g(e){var t,r,n,i,a,o,s,u,l=1;do{for(r=e,e=null,a=null,o=0;r;){for(o++,n=r,s=0,t=0;t<l&&(s++,n=n.nextZ);t++);for(u=l;s>0||u>0&&n;)0!==s&&(0===u||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,u--),a?a.nextZ=i:e=i,i.prevZ=a,a=i;r=n}a.nextZ=null,l*=2}while(o>1);return e}function _(e,t,r,n,i){return e=32767*(e-r)/i,t=32767*(t-n)/i,e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e|t<<1}function v(e){var t=e,r=e;do{t.x<r.x&&(r=t),t=t.next}while(t!==e);return r}function y(e,t,r,n,i,a,o,s){return(i-o)*(t-s)-(e-o)*(a-s)>=0&&(e-o)*(n-s)-(r-o)*(t-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function x(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!E(e,t)&&S(e,t)&&S(t,e)&&A(e,t)}function T(e,t,r){return(t.y-e.y)*(r.x-t.x)-(t.x-e.x)*(r.y-t.y)}function b(e,t){return e.x===t.x&&e.y===t.y}function w(e,t,r,n){return!!(b(e,t)&&b(r,n)||b(e,n)&&b(r,t))||T(e,t,r)>0!=T(e,t,n)>0&&T(r,n,e)>0!=T(r,n,t)>0}function E(e,t){var r=e;do{if(r.i!==e.i&&r.next.i!==e.i&&r.i!==t.i&&r.next.i!==t.i&&w(r,r.next,e,t))return!0;r=r.next}while(r!==e);return!1}function S(e,t){return T(e.prev,e,e.next)<0?T(e,t,e.next)>=0&&T(e,e.prev,t)>=0:T(e,t,e.prev)<0||T(e,e.next,t)<0}function A(e,t){var r=e,n=!1,i=(e.x+t.x)/2,a=(e.y+t.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==e);return n}function M(e,t){var r=new D(e.i,e.x,e.y),n=new D(t.i,t.x,t.y),i=e.next,a=t.prev;return e.next=t,t.prev=e,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function C(e,t,r,n){var i=new D(e,t,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function L(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function D(e,t,r){this.i=e,this.x=t,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function N(e,t,r,n){for(var i=0,a=t,o=r-n;a<r;a+=n)i+=(e[o]-e[a])*(e[a+1]+e[o+1]),o=a;return i}t.a=n,n.deviation=function(e,t,r,n){var i=t&&t.length,a=i?t[0]*r:e.length,o=Math.abs(N(e,0,a,r));if(i)for(var s=0,u=t.length;s<u;s++){var l=t[s]*r,h=s<u-1?t[s+1]*r:e.length;o-=Math.abs(N(e,l,h,r))}var c=0;for(s=0;s<n.length;s+=3){var d=n[s]*r,f=n[s+1]*r,p=n[s+2]*r;c+=Math.abs((e[d]-e[p])*(e[f+1]-e[d+1])-(e[d]-e[f])*(e[p+1]-e[d+1]))}return 0===o&&0===c?0:Math.abs((c-o)/o)}},function(e,t,r){function n(e){i.each(e.regions,function(e){var t=a[e.name];if(t){var r=e.center;r[0]+=t[0]/10.5,r[1]+=-t[1]/14}})}var i=r(13),a={"南海诸岛":[32,80],"广东":[0,-10],"香港":[10,5],"澳门":[-10,10],"天津":[5,5]};e.exports=n},function(e,t,r){function n(e){i.each(e.regions,function(e){var t=a[e.name];if(t){var r=e.center;r[0]=t[0],r[1]=t[1]}})}var i=r(13),a={Russia:[100,60],"United States":[-99,38],"United States of America":[-99,38]};e.exports=n},function(e,t,r){"use strict";var n=r(0),i=r.n(n);r(208),r(209),r(211);i.a.registerAction({type:"globeChangeCamera",event:"globecamerachanged",update:"series:updateCamera"},function(e,t){t.eachComponent({mainType:"globe",query:e},function(t){t.setView(e)})}),i.a.registerAction({type:"globeUpdateDisplacment",event:"globedisplacementupdated",update:"update"},function(e,t){})},function(e,t,r){"use strict";function n(e,t){e.id=e.id||e.name||t+""}var i=r(0),a=r.n(i),o=r(44),s=r(28),u=r(29),l=r(31),h=a.a.extendComponentModel({type:"globe",layoutMode:"box",coordinateSystem:null,init:function(){h.superApply(this,"init",arguments),a.a.util.each(this.option.layers,function(e,t){a.a.util.merge(e,this.defaultLayerOption),n(e,t)},this)},mergeOption:function(e){function t(e){return a.a.util.reduce(e,function(e,t,r){return n(t,r),e[t.id]=t,e},{})}var r=this.option.layers;if(this.option.layers=null,h.superApply(this,"mergeOption",arguments),r&&r.length){var i=t(e.layers),o=t(r);for(var s in i)o[s]?a.a.util.merge(o[s],i[s],!0):r.push(e.layers[s]);this.option.layers=r}a.a.util.each(this.option.layers,function(e){a.a.util.merge(e,this.defaultLayerOption)},this)},optionUpdated:function(){this.updateDisplacementHash()},defaultLayerOption:{show:!0,type:"overlay"},defaultOption:{show:!0,zlevel:-10,left:0,top:0,width:"100%",height:"100%",environment:"auto",baseColor:"#fff",baseTexture:"",heightTexture:"",displacementTexture:"",displacementScale:0,displacementQuality:"medium",globeRadius:100,globeOuterRadius:150,shading:"lambert",light:{main:{time:""}},viewControl:{autoRotate:!0,panSensitivity:0,targetCoord:null},layers:[]},setDisplacementData:function(e,t,r){this.displacementData=e,this.displacementWidth=t,this.displacementHeight=r},getDisplacementTexture:function(){return this.get("displacementTexture")||this.get("heightTexture")},getDisplacemenScale:function(){var e=this.getDisplacementTexture(),t=this.get("displacementScale");return e&&"none"!==e||(t=0),t},hasDisplacement:function(){return this.getDisplacemenScale()>0},_displacementChanged:!0,_displacementScale:0,updateDisplacementHash:function(){var e=this.getDisplacementTexture(),t=this.getDisplacemenScale();this._displacementChanged=this._displacementTexture!==e||this._displacementScale!==t,this._displacementTexture=e,this._displacementScale=t},isDisplacementChanged:function(){return this._displacementChanged}});a.a.util.merge(h.prototype,o.a),a.a.util.merge(h.prototype,s.a),a.a.util.merge(h.prototype,u.a),a.a.util.merge(h.prototype,l.a)},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a=r(1),o=r(45),s=r(30),u=r(210),l=r(2);i.a.extendComponentView({type:"globe",__ecgl__:!0,_displacementScale:0,init:function(e,t){this.groupGL=new a.a.Node,this._sphereGeometry=new a.a.SphereGeometry({widthSegments:200,heightSegments:100,dynamic:!0}),this._overlayGeometry=new a.a.SphereGeometry({widthSegments:80,heightSegments:40}),this._planeGeometry=new a.a.PlaneGeometry,this._earthMesh=new a.a.Mesh({renderNormal:!0}),this._lightRoot=new a.a.Node,this._sceneHelper=new s.a,this._sceneHelper.initLight(this._lightRoot),this.groupGL.add(this._earthMesh),this._control=new o.a({zr:t.getZr()}),this._control.init(),this._layerMeshes={}},render:function(e,t,r){var n=e.coordinateSystem,i=e.get("shading");n.viewGL.add(this._lightRoot),e.get("show")?n.viewGL.add(this.groupGL):n.viewGL.remove(this.groupGL),this._sceneHelper.setScene(n.viewGL.scene),n.viewGL.setPostEffect(e.getModel("postEffect"),r),n.viewGL.setTemporalSuperSampling(e.getModel("temporalSuperSampling"));var o=this._earthMesh;o.geometry=this._sphereGeometry;var s="ecgl."+i;o.material&&o.material.shader.name===s||(o.material=a.a.createMaterial(s)),a.a.setMaterialFromModel(i,o.material,e,r),["roughnessMap","metalnessMap","detailMap","normalMap"].forEach(function(e){var t=o.material.get(e);t&&(t.flipY=!1)}),o.material.set("color",a.a.parseColor(e.get("baseColor")));var u=.99*n.radius;o.scale.set(u,u,u);var l=o.material.setTextureImage("diffuseMap",e.get("baseTexture"),r,{flipY:!1,anisotropic:8});l&&l.surface&&l.surface.attachToMesh(o);var h=o.material.setTextureImage("bumpMap",e.get("heightTexture"),r,{flipY:!1,anisotropic:8});h&&h.surface&&h.surface.attachToMesh(o),o.material[e.get("postEffect.enable")?"define":"undefine"]("fragment","SRGB_DECODE"),this._updateLight(e,r),this._displaceVertices(e,r),this._updateViewControl(e,r),this._updateLayers(e,r)},afterRender:function(e,t,r,n){var i=n.renderer;this._sceneHelper.updateAmbientCubemap(i,e,r),this._sceneHelper.updateSkybox(i,e,r)},_updateLayers:function(e,t){var r=e.coordinateSystem,n=e.get("layers"),o=r.radius,s=[],u=[],h=[],c=[];i.a.util.each(n,function(e){var n=new i.a.Model(e),d=n.get("type"),f=a.a.loadTexture(n.get("texture"),t,{flipY:!1,anisotropic:8});if(f.surface&&f.surface.attachToMesh(this._earthMesh),"blend"===d){var p=n.get("blendTo"),m=l.a.firstNotNull(n.get("intensity"),1);"emission"===p?(h.push(f),c.push(m)):(s.push(f),u.push(m))}else{var g=n.get("id"),_=this._layerMeshes[g];_||(_=this._layerMeshes[g]=new a.a.Mesh({geometry:this._overlayGeometry,castShadow:!1,ignorePicking:!0}));"lambert"===n.get("shading")?(_.material=_.__lambertMaterial||new a.a.Material({autoUpdateTextureStatus:!1,shader:a.a.createShader("ecgl.lambert"),transparent:!0,depthMask:!1}),_.__lambertMaterial=_.material):(_.material=_.__colorMaterial||new a.a.Material({autoUpdateTextureStatus:!1,shader:a.a.createShader("ecgl.color"),transparent:!0,depthMask:!1}),_.__colorMaterial=_.material),_.material.enableTexture("diffuseMap");var v=n.get("distance"),y=o+(null==v?r.radius/100:v);_.scale.set(y,y,y),o=y;var x=this._blankTexture||(this._blankTexture=a.a.createBlankTexture("rgba(255, 255, 255, 0)"));_.material.set("diffuseMap",x),a.a.loadTexture(n.get("texture"),t,{flipY:!1,anisotropic:8},function(e){e.surface&&e.surface.attachToMesh(_),_.material.set("diffuseMap",e),t.getZr().refresh()}),n.get("show")?this.groupGL.add(_):this.groupGL.remove(_)}},this);var d=this._earthMesh.material;d.define("fragment","LAYER_DIFFUSEMAP_COUNT",s.length),d.define("fragment","LAYER_EMISSIVEMAP_COUNT",h.length),d.set("layerDiffuseMap",s),d.set("layerDiffuseIntensity",u),d.set("layerEmissiveMap",h),d.set("layerEmissionIntensity",c);var f=e.getModel("debug.wireframe");if(f.get("show")){d.define("both","WIREFRAME_TRIANGLE");var p=a.a.parseColor(f.get("lineStyle.color")||"rgba(0,0,0,0.5)"),m=l.a.firstNotNull(f.get("lineStyle.width"),1);d.set("wireframeLineWidth",m),d.set("wireframeLineColor",p)}else d.undefine("both","WIREFRAME_TRIANGLE")},_updateViewControl:function(e,t){function r(){return{type:"globeChangeCamera",alpha:o.getAlpha(),beta:o.getBeta(),distance:o.getDistance()-n.radius,center:o.getCenter(),from:a.uid,globeId:e.id}}var n=e.coordinateSystem,i=e.getModel("viewControl"),a=(n.viewGL.camera,this),o=this._control;o.setViewGL(n.viewGL);var s,u,l=i.get("targetCoord");null!=l&&(u=l[0]+90,s=l[1]),o.setFromViewControlModel(i,{baseDistance:n.radius,alpha:s,beta:u}),o.off("update"),o.on("update",function(){t.dispatchAction(r())})},_displaceVertices:function(e,t){var r=e.get("displacementQuality"),n=e.get("debug.wireframe.show"),i=e.coordinateSystem;if(e.isDisplacementChanged()||r!==this._displacementQuality||n!==this._showDebugWireframe){this._displacementQuality=r,this._showDebugWireframe=n;var a=this._sphereGeometry,o={low:100,medium:200,high:400,ultra:800}[r]||200,s=o/2;(a.widthSegments!==o||n)&&(a.widthSegments=o,a.heightSegments=s,a.build()),this._doDisplaceVertices(a,i),n&&a.generateBarycentric()}},_doDisplaceVertices:function(e,t){var r=e.attributes.position.value,n=e.attributes.texcoord0.value,i=e.__originalPosition;i&&i.length===r.length||(i=new Float32Array(r.length),i.set(r),e.__originalPosition=i);for(var a=t.displacementWidth,o=t.displacementHeight,s=t.displacementData,u=0;u<e.vertexCount;u++){var l=3*u,h=2*u,c=i[l+1],d=i[l+2],f=i[l+3],p=n[h++],m=n[h++],g=Math.round(p*(a-1)),_=Math.round(m*(o-1)),v=_*a+g,y=s?s[v]:0;r[l+1]=c+c*y,r[l+2]=d+d*y,r[l+3]=f+f*y}e.generateVertexNormals(),e.dirty(),e.updateBoundingBox()},_updateLight:function(e,t){var r=this._earthMesh;this._sceneHelper.updateLight(e);var n=this._sceneHelper.mainLight,a=e.get("light.main.time")||new Date,o=u.a.getPosition(i.a.number.parseDate(a),0,0),s=Math.cos(o.altitude);n.position.y=-s*Math.cos(o.azimuth),n.position.x=Math.sin(o.altitude),n.position.z=s*Math.sin(o.azimuth),n.lookAt(r.getWorldPosition())},dispose:function(e,t){this.groupGL.removeAll(),this._control.dispose()}})},function(e,t,r){"use strict";function n(e){return e.valueOf()/x-.5+T}function i(e){return n(e)-b}function a(e,t){return v(p(e)*m(w)-g(t)*p(w),m(e))}function o(e,t){return _(p(t)*m(w)+m(t)*p(w)*p(e))}function s(e,t,r){return v(p(e),m(e)*p(t)-g(r)*m(t))}function u(e,t,r){return _(p(t)*p(r)+m(t)*m(r)*m(e))}function l(e,t){return y*(280.16+360.9856235*e)-t}function h(e){return y*(357.5291+.98560028*e)}function c(e){return e+y*(1.9148*p(e)+.02*p(2*e)+3e-4*p(3*e))+102.9372*y+f}function d(e){var t=h(e),r=c(t);return{dec:o(r,0),ra:a(r,0)}}var f=Math.PI,p=Math.sin,m=Math.cos,g=Math.tan,_=Math.asin,v=Math.atan2,y=f/180,x=864e5,T=2440588,b=2451545,w=23.4397*y,E={};E.getPosition=function(e,t,r){var n=y*-r,a=y*t,o=i(e),h=d(o),c=l(o,n)-h.ra;return{azimuth:s(c,a,h.dec),altitude:u(c,a,h.dec)}},t.a=E},function(e,t,r){"use strict";function n(e,t){var r=document.createElement("canvas"),n=r.getContext("2d"),i=e.width,a=e.height;r.width=i,r.height=a,n.drawImage(e,0,0,i,a);for(var o=n.getImageData(0,0,i,a).data,s=new Float32Array(o.length/4),u=0;u<o.length/4;u++){var l=o[4*u];s[u]=l/255*t}return{data:s,width:i,height:a}}function i(e,t){var r=e.getBoxLayoutParams(),n=h.a.getLayoutRect(r,{width:t.getWidth(),height:t.getHeight()});n.y=t.getHeight()-n.y-n.height,this.viewGL.setViewport(n.x,n.y,n.width,n.height,t.getDevicePixelRatio()),this.radius=e.get("globeRadius");var i=e.get("globeOuterRadius");this.altitudeAxis&&this.altitudeAxis.setExtent(0,i-this.radius)}function a(e,t){var r=[1/0,-1/0];if(e.eachSeries(function(e){if(e.coordinateSystem===this){var t=e.getData(),n=e.coordDimToDataDim("alt"),i=n&&n[0];if(i){var a=t.getDataExtent(i,!0);r[0]=Math.min(r[0],a[0]),r[1]=Math.max(r[1],a[1])}}},this),r&&isFinite(r[1]-r[0])){var n=u.a.helper.createScale(r,{type:"value",min:"dataMin",max:"dataMax"});this.altitudeAxis=new u.a.Axis("altitude",n),this.resize(this.model,t)}}var o=r(212),s=r(0),u=r.n(s),l=r(47),h=r.n(l),c=r(22),d=r(2),f=r(1),p={dimensions:o.a.prototype.dimensions,create:function(e,t){var r=[];return e.eachComponent("globe",function(e){e.__viewGL=e.__viewGL||new c.a;var n=new o.a;n.viewGL=e.__viewGL,e.coordinateSystem=n,n.model=e,r.push(n),n.resize=i,n.resize(e,t),n.update=a}),e.eachSeries(function(t){if("globe"===t.get("coordinateSystem")){var r=t.getReferringComponents("globe")[0];if(r||(r=e.getComponent("globe")),!r)throw new Error('globe "'+d.a.firstNotNull(t.get("globe3DIndex"),t.get("globe3DId"),0)+'" not found');var n=r.coordinateSystem;t.coordinateSystem=n}}),e.eachComponent("globe",function(e,r){var i=e.coordinateSystem,a=e.getDisplacementTexture(),o=e.getDisplacemenScale();if(e.isDisplacementChanged()){if(e.hasDisplacement()){var s=!0;f.a.loadTexture(a,t,function(r){var i=r.image,a=n(i,o);e.setDisplacementData(a.data,a.width,a.height),s||t.dispatchAction({type:"globeUpdateDisplacment"})}),s=!1}else i.setDisplacementData(null,0,0);i.setDisplacementData(e.displacementData,e.displacementWidth,e.displacementHeight)}}),r}};u.a.registerCoordinateSystem("globe",p)},function(e,t,r){"use strict";function n(e){this.radius=e,this.viewGL=null,this.altitudeAxis,this.displacementData=null,this.displacementWidth,this.displacementHeight}var i=r(6),a=i.a.vec3;n.prototype={constructor:n,dimensions:["lng","lat","alt"],type:"globe",containPoint:function(){},setDisplacementData:function(e,t,r){this.displacementData=e,this.displacementWidth=t,this.displacementHeight=r},_getDisplacementScale:function(e,t){var r=(e+180)/360*(this.displacementWidth-1),n=(90-t)/180*(this.displacementHeight-1),i=Math.round(r)+Math.round(n)*this.displacementWidth;return this.displacementData[i]},dataToPoint:function(e,t){var r=e[0],n=e[1],i=e[2]||0,a=this.radius;this.displacementData&&(a*=1+this._getDisplacementScale(r,n)),this.altitudeAxis&&(a+=this.altitudeAxis.dataToCoord(i)),r=r*Math.PI/180,n=n*Math.PI/180;var o=Math.cos(n)*a;return t=t||[],t[0]=-o*Math.cos(r+Math.PI),t[1]=Math.sin(n)*a,t[2]=o*Math.sin(r+Math.PI),t},pointToData:function(e,t){var r=e[0],n=e[1],i=e[2],o=a.len(e);r/=o,n/=o,i/=o;var s=Math.asin(n),u=Math.atan2(i,-r);u<0&&(u=2*Math.PI+u);var l=180*s/Math.PI,h=180*u/Math.PI-180;return t=t||[],t[0]=h,t[1]=l,t[2]=o-this.radius,this.altitudeAxis&&(t[2]=this.altitudeAxis.coordToData(t[2])),t}},t.a=n},function(e,t,r){"use strict";var n=r(0),i=r.n(n);r(214),r(216),r(217);i.a.registerAction({type:"mapbox3DChangeCamera",event:"mapbox3dcamerachanged",update:"mapbox3D:updateCamera"},function(e,t){t.eachComponent({mainType:"mapbox3D",query:e},function(t){t.setMapboxCameraOption(e)})})},function(e,t,r){"use strict";var n=r(215),i=r(0),a=r.n(i),o=r(101),s=Object(o.a)("mapbox3D",n.a,function(e){e.forEach(function(e){e.setCameraOption(e.model.getMapboxCameraOption())})});a.a.registerCoordinateSystem("mapbox3D",s)},function(e,t,r){"use strict";function n(){i.a.apply(this,arguments)}var i=r(100);n.prototype=new i.a,n.prototype.constructor=n,n.prototype.type="mapbox3D",t.a=n},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a=r(28),o=r(29),s=["zoom","center","pitch","bearing"],u=i.a.extendComponentModel({type:"mapbox3D",layoutMode:"box",coordinateSystem:null,defaultOption:{zlevel:-10,style:"mapbox://styles/mapbox/light-v9",center:[0,0],zoom:0,pitch:0,bearing:0,light:{main:{alpha:20,beta:30}},altitudeScale:1,boxHeight:"auto"},getMapboxCameraOption:function(){var e=this;return s.reduce(function(t,r){return t[r]=e.get(r),t},{})},setMapboxCameraOption:function(e){null!=e&&s.forEach(function(t){null!=e[t]&&(this.option[t]=e[t])},this)},getMapbox:function(){return this._mapbox},setMapbox:function(e){this._mapbox=e}});i.a.util.merge(u.prototype,a.a),i.a.util.merge(u.prototype,o.a)},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a=r(218),o=r(30),s=r(1),u=r(102);s.a.Shader.import(u.a);i.a.extendComponentView({type:"mapbox3D",__ecgl__:!0,init:function(e,t){var r=t.getZr();this._zrLayer=new a.a("mapbox3D",r),r.painter.insertLayer(-1e3,this._zrLayer),this._lightRoot=new s.a.Node,this._sceneHelper=new o.a(this._lightRoot),this._sceneHelper.initLight(this._lightRoot);var n=this._zrLayer.getMapbox(),i=this._dispatchInteractAction.bind(this,t,n);["zoom","rotate","drag","pitch","rotate","move"].forEach(function(e){n.on(e,i)}),this._groundMesh=new s.a.Mesh({geometry:new s.a.PlaneGeometry,material:new s.a.Material({shader:new s.a.Shader({vertex:s.a.Shader.source("ecgl.displayShadow.vertex"),fragment:s.a.Shader.source("ecgl.displayShadow.fragment")}),depthMask:!1}),renderOrder:-100,culling:!1,castShadow:!1,$ignorePicking:!0,renderNormal:!0})},render:function(e,t,r){var n=this._zrLayer.getMapbox(),i=e.get("style"),a=JSON.stringify(i);a!==this._oldStyleStr&&i&&n.setStyle(i),this._oldStyleStr=a,n.setCenter(e.get("center")),n.setZoom(e.get("zoom")),n.setPitch(e.get("pitch")),n.setBearing(e.get("bearing")),e.setMapbox(n);var o=e.coordinateSystem;o.viewGL.scene.add(this._lightRoot),o.viewGL.add(this._groundMesh),this._updateGroundMesh(),this._sceneHelper.setScene(o.viewGL.scene),this._sceneHelper.updateLight(e),o.viewGL.setPostEffect(e.getModel("postEffect"),r),o.viewGL.setTemporalSuperSampling(e.getModel("temporalSuperSampling")),this._mapbox3DModel=e},afterRender:function(e,t,r,n){var i=n.renderer;this._sceneHelper.updateAmbientCubemap(i,e,r),this._sceneHelper.updateSkybox(i,e,r),e.coordinateSystem.viewGL.scene.traverse(function(e){e.material&&(e.material.define("fragment","NORMAL_UP_AXIS",2),e.material.define("fragment","NORMAL_FRONT_AXIS",1))})},updateCamera:function(e,t,r,n){e.coordinateSystem.setCameraOption(n),this._updateGroundMesh(),r.getZr().refresh()},_dispatchInteractAction:function(e,t,r){e.dispatchAction({type:"mapbox3DChangeCamera",pitch:t.getPitch(),zoom:t.getZoom(),center:t.getCenter().toArray(),bearing:t.getBearing(),mapbox3DId:this._mapbox3DModel&&this._mapbox3DModel.id})},_updateGroundMesh:function(){if(this._mapbox3DModel){var e=this._mapbox3DModel.coordinateSystem,t=e.dataToPoint(e.center);this._groundMesh.position.set(t[0],t[1],-.001);var r=new s.a.Plane(new s.a.Vector3(0,0,1),0),n=e.viewGL.camera.castRay(new s.a.Vector2(-1,-1)),i=e.viewGL.camera.castRay(new s.a.Vector2(1,1)),a=n.intersectPlane(r),o=i.intersectPlane(r),u=a.dist(o)/e.viewGL.rootNode.scale.x;this._groundMesh.scale.set(u,u,1)}},dispose:function(e,t){this._zrLayer&&this._zrLayer.dispose(),t.getZr().painter.delLayer(-1e3)}})},function(e,t,r){"use strict";function n(e,t){if(this.id=e,this.zr=t,this.dom=document.createElement("div"),this.dom.style.cssText="position:absolute;left:0;right:0;top:0;bottom:0;",!mapboxgl)throw new Error("Mapbox GL library must be included. See https://www.mapbox.com/mapbox-gl-js/api/");this._mapbox=new mapboxgl.Map({container:this.dom}),this._initEvents()}n.prototype.resize=function(){this._mapbox.resize()},n.prototype.getMapbox=function(){return this._mapbox},n.prototype.clear=function(){},n.prototype.refresh=function(){this._mapbox.resize()};var i=["mousedown","mouseup","click","dblclick","mousemove","mousewheel","wheel","touchstart","touchend","touchmove","touchcancel"];n.prototype._initEvents=function(){var e=this._mapbox.getCanvasContainer();this._handlers=this._handlers||{contextmenu:function(e){return e.preventDefault(),!1}},i.forEach(function(t){this._handlers[t]=function(t){var r={};for(var n in t)r[n]=t[n];r.bubbles=!1;var i=new t.constructor(t.type,r);e.dispatchEvent(i)},this.zr.dom.addEventListener(t,this._handlers[t])},this),this.zr.dom.addEventListener("contextmenu",this._handlers.contextmenu)},n.prototype.dispose=function(){i.forEach(function(e){this.zr.dom.removeEventListener(e,this._handlers[e])},this)},t.a=n},function(e,t,r){"use strict";var n=r(0),i=r.n(n);r(220),r(222),r(223);i.a.registerAction({type:"maptalks3DChangeCamera",event:"maptalks3dcamerachanged",update:"maptalks3D:updateCamera"},function(e,t){t.eachComponent({mainType:"maptalks3D",query:e},function(t){t.setMaptalksCameraOption(e)})})},function(e,t,r){"use strict";var n=r(221),i=r(0),a=r.n(i),o=r(101),s=Object(o.a)("maptalks3D",n.a,function(e){e.forEach(function(e){e.setCameraOption(e.model.getMaptalksCameraOption())})});a.a.registerCoordinateSystem("maptalks3D",s)},function(e,t,r){"use strict";function n(){i.a.apply(this,arguments),this.maxPitch=85,this.zoomOffset=1}var i=r(100);n.prototype=new i.a,n.prototype.constructor=n,n.prototype.type="maptalks3D",t.a=n},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a=r(28),o=r(29),s=["zoom","center","pitch","bearing"],u=i.a.extendComponentModel({type:"maptalks3D",layoutMode:"box",coordinateSystem:null,defaultOption:{zlevel:-10,urlTemplate:"http://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png",attribution:'© <a href="http://osm.org">OpenStreetMap</a> contributors, © <a href="https://carto.com/">CARTO</a>',center:[0,0],zoom:0,pitch:0,bearing:0,light:{main:{alpha:20,beta:30}},altitudeScale:1,boxHeight:"auto"},getMaptalksCameraOption:function(){var e=this;return s.reduce(function(t,r){return t[r]=e.get(r),t},{})},setMaptalksCameraOption:function(e){null!=e&&s.forEach(function(t){null!=e[t]&&(this.option[t]=e[t])},this)},getMaptalks:function(){return this._maptalks},setMaptalks:function(e){this._maptalks=e}});i.a.util.merge(u.prototype,a.a),i.a.util.merge(u.prototype,o.a)},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a=r(224),o=r(30),s=r(1),u=r(102);s.a.Shader.import(u.a);i.a.extendComponentView({type:"maptalks3D",__ecgl__:!0,init:function(e,t){this._groundMesh=new s.a.Mesh({geometry:new s.a.PlaneGeometry,material:new s.a.Material({shader:new s.a.Shader({vertex:s.a.Shader.source("ecgl.displayShadow.vertex"),fragment:s.a.Shader.source("ecgl.displayShadow.fragment")}),depthMask:!1}),renderOrder:-100,culling:!1,castShadow:!1,$ignorePicking:!0,renderNormal:!0})},_initMaptalksLayer:function(e,t){var r=t.getZr();this._zrLayer=new a.a("maptalks3D",r,e.get("center"),e.get("zoom")),r.painter.insertLayer(-1e3,this._zrLayer),this._lightRoot=new s.a.Node,this._sceneHelper=new o.a(this._lightRoot),this._sceneHelper.initLight(this._lightRoot);var n=this._zrLayer.getMaptalks(),i=this._dispatchInteractAction.bind(this,t,n);["zoomend","zooming","zoomstart","dragrotating","pitch","pitchend","movestart","moving","moveend","resize","touchstart","touchmove","touchend"].forEach(function(e){n.on(e,i)})},render:function(e,t,r){this._zrLayer||this._initMaptalksLayer(e,r);var n=this._zrLayer.getMaptalks(),i=e.get("urlTemplate"),a=n.getBaseLayer();i!==this._oldUrlTemplate&&(a?a.setOptions({urlTemplate:i,attribution:e.get("attribution")}):(a=new maptalks.TileLayer("maptalks-echarts-gl-baselayer",{urlTemplate:i,subdomains:["a","b","c"],attribution:e.get("attribution")}),n.setBaseLayer(a))),this._oldUrlTemplate=i,n.setCenter(e.get("center")),n.setZoom(e.get("zoom"),{animation:!1}),n.setPitch(e.get("pitch")),n.setBearing(e.get("bearing")),e.setMaptalks(n);var o=e.coordinateSystem;o.viewGL.scene.add(this._lightRoot),o.viewGL.add(this._groundMesh),this._updateGroundMesh(),this._sceneHelper.setScene(o.viewGL.scene),this._sceneHelper.updateLight(e),o.viewGL.setPostEffect(e.getModel("postEffect"),r),o.viewGL.setTemporalSuperSampling(e.getModel("temporalSuperSampling")),this._maptalks3DModel=e},afterRender:function(e,t,r,n){var i=n.renderer;this._sceneHelper.updateAmbientCubemap(i,e,r),this._sceneHelper.updateSkybox(i,e,r),e.coordinateSystem.viewGL.scene.traverse(function(e){e.material&&(e.material.define("fragment","NORMAL_UP_AXIS",2),e.material.define("fragment","NORMAL_FRONT_AXIS",1))})},updateCamera:function(e,t,r,n){e.coordinateSystem.setCameraOption(n),this._updateGroundMesh(),r.getZr().refresh()},_dispatchInteractAction:function(e,t,r){e.dispatchAction({type:"maptalks3DChangeCamera",pitch:t.getPitch(),zoom:t.getZoom(),center:t.getCenter().toArray(),bearing:t.getBearing(),maptalks3DId:this._maptalks3DModel&&this._maptalks3DModel.id})},_updateGroundMesh:function(){if(this._maptalks3DModel){var e=this._maptalks3DModel.coordinateSystem,t=e.dataToPoint(e.center);this._groundMesh.position.set(t[0],t[1],-.001);var r=new s.a.Plane(new s.a.Vector3(0,0,1),0),n=e.viewGL.camera.castRay(new s.a.Vector2(-1,-1)),i=e.viewGL.camera.castRay(new s.a.Vector2(1,1)),a=n.intersectPlane(r),o=i.intersectPlane(r),u=a.dist(o)/e.viewGL.rootNode.scale.x;this._groundMesh.scale.set(u,u,1)}},dispose:function(e,t){this._zrLayer&&this._zrLayer.dispose(),t.getZr().painter.delLayer(-1e3)}})},function(e,t,r){"use strict";function n(e,t,r,n){if(this.id=e,this.zr=t,this.dom=document.createElement("div"),this.dom.style.cssText="position:absolute;left:0;right:0;top:0;bottom:0;",!maptalks)throw new Error("Maptalks library must be included. See https://maptalks.org");this._maptalks=new maptalks.Map(this.dom,{center:r,zoom:n,fog:!1}),this._initEvents()}n.prototype.resize=function(){this._maptalks.checkSize()},n.prototype.getMaptalks=function(){return this._maptalks},n.prototype.clear=function(){},n.prototype.refresh=function(){this._maptalks.checkSize()};var i=["mousedown","mouseup","click","dblclick","mousemove","mousewheel","DOMMouseScroll","touchstart","touchend","touchmove","touchcancel"];n.prototype._initEvents=function(){var e=this.dom;this._handlers=this._handlers||{contextmenu:function(e){return e.preventDefault(),!1}},i.forEach(function(t){this._handlers[t]=function(r){var n={};for(var i in r)n[i]=r[i];n.bubbles=!1;var a=new r.constructor(r.type,n);"mousewheel"===t||"DOMMouseScroll"===t?e.dispatchEvent(a):e.firstElementChild.dispatchEvent(a)},this.zr.dom.addEventListener(t,this._handlers[t])},this),this.zr.dom.addEventListener("contextmenu",this._handlers.contextmenu)},n.prototype.dispose=function(){i.forEach(function(e){this.zr.dom.removeEventListener(e,this._handlers[e])},this),this._maptalks.remove()},t.a=n},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a=(r(226),r(229),r(231),r(17));i.a.registerVisual(Object(a.a)("bar3D")),i.a.registerProcessor(function(e,t){e.eachSeriesByType("bar3d",function(e){var t=e.getData();t.filterSelf(function(e){return t.hasValue(e)})})})},function(e,t,r){"use strict";function n(e,t){var r=e.getData(),n=e.get("minHeight")||0,i=e.get("barSize"),a=["lng","lat","alt"].map(function(t){return e.coordDimToDataDim(t)[0]});if(null==i){var s=t.radius*Math.PI,h=Object(d.a)(r,a[0],a[1]);i=[s/Math.sqrt(r.count()/h),s/Math.sqrt(r.count()/h)]}else u.a.util.isArray(i)||(i=[i,i]);var c=o(r,a);r.each(a,function(e,a,o,s){var u=r.get(c.dimension,s),l=c.isStacked?u-o:t.altitudeAxis.scale.getExtent()[0],h=Math.max(t.altitudeAxis.dataToCoord(o),n),d=t.dataToPoint([e,a,l]),p=t.dataToPoint([e,a,u]),m=f.sub([],p,d);f.normalize(m,m);var g=[i[0],h,i[1]];r.setItemLayout(s,[d,m,g])}),r.setLayout("orient",l.a.UP.array)}function i(e,t){var r=e.getData(),n=e.get("barSize"),i=e.get("minHeight")||0,a=["lng","lat","alt"].map(function(t){return e.coordDimToDataDim(t)[0]});if(null==n){var s=Math.min(t.size[0],t.size[2]),l=Object(d.a)(r,a[0],a[1]);n=[s/Math.sqrt(r.count()/l),s/Math.sqrt(r.count()/l)]}else u.a.util.isArray(n)||(n=[n,n]);var h=[0,1,0],c=o(r,a);r.each(a,function(e,a,o,s){var u=r.get(c.dimension,s),l=c.isStacked?u-o:t.altitudeAxis.scale.getExtent()[0],d=Math.max(t.altitudeAxis.dataToCoord(o),i),f=t.dataToPoint([e,a,l]),p=[n[0],d,n[1]];r.setItemLayout(s,[f,h,p])}),r.setLayout("orient",[1,0,0])}function a(e,t){var r=e.getData(),n=e.coordDimToDataDim("lng")[0],i=e.coordDimToDataDim("lat")[0],a=e.coordDimToDataDim("alt")[0],s=e.get("barSize"),l=e.get("minHeight")||0;if(null==s){var h=r.getDataExtent(n),c=r.getDataExtent(i),f=t.dataToPoint([h[0],c[0]]),p=t.dataToPoint([h[1],c[1]]),m=Math.min(Math.abs(f[0]-p[0]),Math.abs(f[1]-p[1]))||1,g=Object(d.a)(r,n,i);s=[m/Math.sqrt(r.count()/g),m/Math.sqrt(r.count()/g)]}else u.a.util.isArray(s)||(s=[s,s]),s[0]/=t.getScale()/16,s[1]/=t.getScale()/16;var _=[0,0,1],v=[n,i,a],y=o(r,v);r.each(v,function(e,n,i,a){var o=r.get(y.dimension,a),u=y.isStacked?o-i:0,h=t.dataToPoint([e,n,u]),c=t.dataToPoint([e,n,o]),d=Math.max(c[2]-h[2],l),f=[s[0],d,s[1]];r.setItemLayout(a,[h,_,f])}),r.setLayout("orient",[1,0,0])}function o(e,t){var r=p(e,t[2]);return{dimension:r?e.getCalculationInfo("stackResultDimension"):t[2],isStacked:r}}var s=r(0),u=r.n(s),l=r(3),h=r(6),c=r(227),d=r(228),f=h.a.vec3,p=u.a.helper.dataStack.isDimensionStacked;u.a.registerLayout(function(e,t){e.eachSeriesByType("bar3D",function(e){var t=e.coordinateSystem,r=t&&t.type;"globe"===r?n(e,t):"cartesian3D"===r?Object(c.a)(e,t):"geo3D"===r?i(e,t):"mapbox3D"!==r&&"maptalks3D"!==r||a(e,t)})})},function(e,t,r){"use strict";function n(e){var t=e[0],r=e[1];return!(t>0&&r>0||t<0&&r<0)}function i(e,t){var r=e.getData(),i=e.get("barSize");if(null==i){var a,s,h=t.size,c=t.getAxis("x"),d=t.getAxis("y");a="category"===c.type?.7*c.getBandWidth():.6*Math.round(h[0]/Math.sqrt(r.count())),s="category"===d.type?.7*d.getBandWidth():.6*Math.round(h[1]/Math.sqrt(r.count())),i=[a,s]}else o.a.util.isArray(i)||(i=[i,i]);var f=t.getAxis("z").scale.getExtent(),p=n(f),m=["x","y","z"].map(function(t){return e.coordDimToDataDim(t)[0]}),g=l(r,m[2]),_=g?r.getCalculationInfo("stackResultDimension"):m[2];r.each(m,function(e,n,a,o){var s=r.get(_,o),l=g?s-a:p?0:f[0],h=t.dataToPoint([e,n,l]),c=t.dataToPoint([e,n,s]),d=u.dist(h,c),m=[0,c[1]<h[1]?-1:1,0];0===Math.abs(d)&&(d=.1);var v=[i[0],d,i[1]];r.setItemLayout(o,[h,m,v])}),r.setLayout("orient",[1,0,0])}var a=r(0),o=r.n(a),s=r(6),u=s.a.vec3,l=o.a.helper.dataStack.isDimensionStacked;t.a=i},function(e,t,r){"use strict";t.a=function(e,t,r){for(var n=e.getDataExtent(t),i=e.getDataExtent(r),a=n[1]-n[0]||n[0],o=i[1]-i[0]||i[0],s=new Uint8Array(2500),u=0;u<e.count();u++){var l=e.get(t,u),h=e.get(r,u),c=Math.floor((l-n[0])/a*49),d=Math.floor((h-i[0])/o*49),f=50*d+c;s[f]=s[f]||1}for(var p=0,u=0;u<s.length;u++)s[u]&&p++;return p/s.length}},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a=r(1),o=r(2),s=r(32),u=r(230),l=r(66),h=r(6),c=h.a.vec3;i.a.extendChartView({type:"bar3D",__ecgl__:!0,init:function(e,t){this.groupGL=new a.a.Node,this._api=t,this._labelsBuilder=new l.a(256,256,t);var r=this;this._labelsBuilder.getLabelPosition=function(e,t,n){if(r._data){var i=r._data.getItemLayout(e),a=i[0],o=i[1],s=i[2][1];return c.scaleAndAdd([],a,o,n+s)}return[0,0]},this._labelsBuilder.getMesh().renderOrder=100},render:function(e,t,r){var n=this._prevBarMesh;this._prevBarMesh=this._barMesh,this._barMesh=n,this._barMesh||(this._barMesh=new a.a.Mesh({geometry:new u.a,shadowDepthMaterial:new a.a.Material({shader:new a.a.Shader(a.a.Shader.source("ecgl.sm.depth.vertex"),a.a.Shader.source("ecgl.sm.depth.fragment"))}),culling:"cartesian3D"===e.coordinateSystem.type,renderOrder:10,renderNormal:!0})),this.groupGL.remove(this._prevBarMesh),this.groupGL.add(this._barMesh),this.groupGL.add(this._labelsBuilder.getMesh());var i=e.coordinateSystem;if(this._doRender(e,r),i&&i.viewGL){i.viewGL.add(this.groupGL);var o=i.viewGL.isLinearSpace()?"define":"undefine";this._barMesh.material[o]("fragment","SRGB_DECODE")}this._data=e.getData(),this._labelsBuilder.updateData(this._data),this._labelsBuilder.updateLabels(),this._updateAnimation(e)},_updateAnimation:function(e){a.a.updateVertexAnimation([["prevPosition","position"],["prevNormal","normal"]],this._prevBarMesh,this._barMesh,e)},_doRender:function(e,t){var r=e.getData(),n=e.get("shading"),i="color"!==n,o=this,s=this._barMesh,u="ecgl."+n;s.material&&s.material.shader.name===u||(s.material=a.a.createMaterial(u,["VERTEX_COLOR"])),a.a.setMaterialFromModel(n,s.material,e,t),s.geometry.enableNormal=i,s.geometry.resetOffset();var l=e.get("bevelSize"),h=e.get("bevelSmoothness");s.geometry.bevelSegments=h,s.geometry.bevelSize=l;var c=[],d=new Float32Array(4*r.count()),f=0,p=0,m=!1;r.each(function(e){if(r.hasValue(e)){var t=r.getItemVisual(e,"color"),n=r.getItemVisual(e,"opacity");null==n&&(n=1),a.a.parseColor(t,c),c[3]*=n,d[f++]=c[0],d[f++]=c[1],d[f++]=c[2],d[f++]=c[3],c[3]>0&&(p++,c[3]<.99&&(m=!0))}}),s.geometry.setBarCount(p);var g=r.getLayout("orient"),_=this._barIndexOfData=new Int32Array(r.count()),p=0;r.each(function(e){if(!r.hasValue(e))return void(_[e]=-1);var t=r.getItemLayout(e),n=t[0],i=t[1],a=t[2],s=4*e;c[0]=d[s++],c[1]=d[s++],c[2]=d[s++],c[3]=d[s++],c[3]>0&&(o._barMesh.geometry.addBar(n,i,g,a,c,e),_[e]=p++)}),s.geometry.dirty(),s.geometry.updateBoundingBox();var v=s.material;v.transparent=m,v.depthMask=!m,s.geometry.sortTriangles=m,this._initHandler(e,t)},_initHandler:function(e,t){var r=e.getData(),n=this._barMesh,i="cartesian3D"===e.coordinateSystem.type;n.seriesIndex=e.seriesIndex;var a=-1;n.off("mousemove"),n.off("mouseout"),n.on("mousemove",function(e){var o=n.geometry.getDataIndexOfVertex(e.triangle[0]);o!==a&&(this._downplay(a),this._highlight(o),this._labelsBuilder.updateLabels([o]),i&&t.dispatchAction({type:"grid3DShowAxisPointer",value:[r.get("x",o),r.get("y",o),r.get("z",o,!0)]})),a=o,n.dataIndex=o},this),n.on("mouseout",function(e){this._downplay(a),this._labelsBuilder.updateLabels(),a=-1,n.dataIndex=-1,i&&t.dispatchAction({type:"grid3DHideAxisPointer"})},this)},_highlight:function(e){var t=this._data;if(t){var r=this._barIndexOfData[e];if(!(r<0)){var n=t.getItemModel(e),o=n.getModel("emphasis.itemStyle"),s=o.get("color"),u=o.get("opacity");if(null==s){var l=t.getItemVisual(e,"color");s=i.a.color.lift(l,-.4)}null==u&&(u=t.getItemVisual(e,"opacity"));var h=a.a.parseColor(s);h[3]*=u,this._barMesh.geometry.setColor(r,h),this._api.getZr().refresh()}}},_downplay:function(e){var t=this._data;if(t){var r=this._barIndexOfData[e];if(!(r<0)){var n=t.getItemVisual(e,"color"),i=t.getItemVisual(e,"opacity"),o=a.a.parseColor(n);o[3]*=i,this._barMesh.geometry.setColor(r,o),this._api.getZr().refresh()}}},highlight:function(e,t,r,n){this._toggleStatus("highlight",e,t,r,n)},downplay:function(e,t,r,n){this._toggleStatus("downplay",e,t,r,n)},_toggleStatus:function(e,t,r,n,a){var u=t.getData(),l=o.a.queryDataIndex(u,a),h=this;null!=l?i.a.util.each(s.a.normalizeToArray(l),function(t){"highlight"===e?this._highlight(t):this._downplay(t)},this):u.each(function(t){"highlight"===e?h._highlight(t):h._downplay(t)})},remove:function(){this.groupGL.removeAll()},dispose:function(){this.groupGL.removeAll()}})},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a=r(38),o=r(65),s=r(15),u=r(6),l=u.a.vec3,h=u.a.mat3,c=s.a.extend(function(){return{attributes:{position:new s.a.Attribute("position","float",3,"POSITION"),normal:new s.a.Attribute("normal","float",3,"NORMAL"),color:new s.a.Attribute("color","float",4,"COLOR"),prevPosition:new s.a.Attribute("prevPosition","float",3),prevNormal:new s.a.Attribute("prevNormal","float",3)},dynamic:!0,enableNormal:!1,bevelSize:1,bevelSegments:0,_dataIndices:null,_vertexOffset:0,_triangleOffset:0}},{resetOffset:function(){this._vertexOffset=0,this._triangleOffset=0},setBarCount:function(e){var t=this.enableNormal,r=this.getBarVertexCount()*e,n=this.getBarTriangleCount()*e;this.vertexCount!==r&&(this.attributes.position.init(r),t?this.attributes.normal.init(r):this.attributes.normal.value=null,this.attributes.color.init(r)),this.triangleCount!==n&&(this.indices=r>65535?new Uint32Array(3*n):new Uint16Array(3*n),this._dataIndices=new Uint32Array(r))},getBarVertexCount:function(){var e=this.bevelSize>0?this.bevelSegments:0;return e>0?this._getBevelBarVertexCount(e):this.enableNormal?24:8},getBarTriangleCount:function(){var e=this.bevelSize>0?this.bevelSegments:0;return e>0?this._getBevelBarTriangleCount(e):12},_getBevelBarVertexCount:function(e){return 4*(e+1)*(e+1)*2},_getBevelBarTriangleCount:function(e){return(4*e+3+1)*(2*e+1)*2+4},setColor:function(e,t){for(var r=this.getBarVertexCount(),n=r*e,i=r*(e+1),a=n;a<i;a++)this.attributes.color.set(a,t);this.dirtyAttribute("color")},getDataIndexOfVertex:function(e){return this._dataIndices?this._dataIndices[e]:null},addBar:function(){for(var e=l.create,t=l.scaleAndAdd,r=e(),n=e(),i=e(),a=e(),o=e(),s=e(),u=e(),h=[],c=[],d=0;d<8;d++)h[d]=e();for(var f=[[0,1,5,4],[2,3,7,6],[4,5,6,7],[3,2,1,0],[0,4,7,3],[1,2,6,5]],p=[0,1,2,0,2,3],m=[],d=0;d<f.length;d++)for(var g=f[d],_=0;_<2;_++){for(var v=[],y=0;y<3;y++)v.push(g[p[3*_+y]]);m.push(v)}return function(e,d,g,_,v,y){var x=this._vertexOffset;if(this.bevelSize>0&&this.bevelSegments>0)this._addBevelBar(e,d,g,_,this.bevelSize,this.bevelSegments,v);else{l.copy(i,d),l.normalize(i,i),l.cross(a,g,i),l.normalize(a,a),l.cross(n,i,a),l.normalize(a,a),l.negate(o,n),l.negate(s,i),l.negate(u,a),t(h[0],e,n,_[0]/2),t(h[0],h[0],a,_[2]/2),t(h[1],e,n,_[0]/2),t(h[1],h[1],u,_[2]/2),t(h[2],e,o,_[0]/2),t(h[2],h[2],u,_[2]/2),t(h[3],e,o,_[0]/2),t(h[3],h[3],a,_[2]/2),t(r,e,i,_[1]),t(h[4],r,n,_[0]/2),t(h[4],h[4],a,_[2]/2),t(h[5],r,n,_[0]/2),t(h[5],h[5],u,_[2]/2),t(h[6],r,o,_[0]/2),t(h[6],h[6],u,_[2]/2),t(h[7],r,o,_[0]/2),t(h[7],h[7],a,_[2]/2);var T=this.attributes;if(this.enableNormal){c[0]=n,c[1]=o,c[2]=i,c[3]=s,c[4]=a,c[5]=u;for(var b=this._vertexOffset,w=0;w<f.length;w++){for(var E=3*this._triangleOffset,S=0;S<6;S++)this.indices[E++]=b+p[S];b+=4,this._triangleOffset+=2}for(var w=0;w<f.length;w++)for(var A=c[w],S=0;S<4;S++){var M=f[w][S];T.position.set(this._vertexOffset,h[M]),T.normal.set(this._vertexOffset,A),T.color.set(this._vertexOffset++,v)}}else{for(var w=0;w<m.length;w++){for(var E=3*this._triangleOffset,S=0;S<3;S++)this.indices[E+S]=m[w][S]+this._vertexOffset;this._triangleOffset++}for(var w=0;w<h.length;w++)T.position.set(this._vertexOffset,h[w]),T.color.set(this._vertexOffset++,v)}}for(var C=this._vertexOffset,w=x;w<C;w++)this._dataIndices[w]=y}}(),_addBevelBar:function(){var e=l.create(),t=l.create(),r=l.create(),n=h.create(),i=[],a=[1,-1,-1,1],o=[1,1,-1,-1],s=[2,0];return function(u,h,c,d,f,p,m){l.copy(t,h),l.normalize(t,t),l.cross(r,c,t),l.normalize(r,r),l.cross(e,t,r),l.normalize(r,r),n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=t[0],n[4]=t[1],n[5]=t[2],n[6]=r[0],n[7]=r[1],n[8]=r[2],f=Math.min(d[0],d[2])/2*f;for(var g=0;g<3;g++)i[g]=Math.max(d[g]-2*f,0);for(var _=(d[0]-i[0])/2,v=(d[1]-i[1])/2,y=(d[2]-i[2])/2,x=[],T=[],b=this._vertexOffset,w=[],g=0;g<2;g++){w[g]=w[g]=[];for(var E=0;E<=p;E++)for(var S=0;S<4;S++){(0===E&&0===g||1===g&&E===p)&&w[g].push(b);for(var A=0;A<=p;A++){var M=A/p*Math.PI/2+Math.PI/2*S,C=E/p*Math.PI/2+Math.PI/2*g;T[0]=_*Math.cos(M)*Math.sin(C),T[1]=v*Math.cos(C),T[2]=y*Math.sin(M)*Math.sin(C),x[0]=T[0]+a[S]*i[0]/2,x[1]=T[1]+v+s[g]*i[1]/2,x[2]=T[2]+o[S]*i[2]/2,Math.abs(_-v)<1e-6&&Math.abs(v-y)<1e-6||(T[0]/=_*_,T[1]/=v*v,T[2]/=y*y),l.normalize(T,T),l.transformMat3(x,x,n),l.transformMat3(T,T,n),l.add(x,x,u),this.attributes.position.set(b,x),this.enableNormal&&this.attributes.normal.set(b,T),this.attributes.color.set(b,m),b++}}}for(var L=4*p+3,D=2*p+1,N=L+1,S=0;S<D;S++)for(var g=0;g<=L;g++){var R=S*N+g+this._vertexOffset,P=S*N+(g+1)%N+this._vertexOffset,I=(S+1)*N+(g+1)%N+this._vertexOffset,O=(S+1)*N+g+this._vertexOffset;this.setTriangleIndices(this._triangleOffset++,[I,R,P]),this.setTriangleIndices(this._triangleOffset++,[I,O,R])}this.setTriangleIndices(this._triangleOffset++,[w[0][0],w[0][2],w[0][1]]),this.setTriangleIndices(this._triangleOffset++,[w[0][0],w[0][3],w[0][2]]),this.setTriangleIndices(this._triangleOffset++,[w[1][0],w[1][1],w[1][2]]),this.setTriangleIndices(this._triangleOffset++,[w[1][0],w[1][2],w[1][3]]),this._vertexOffset=b}}()});i.a.util.defaults(c.prototype,a.a),i.a.util.defaults(c.prototype,o.a),t.a=c},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a=r(31),o=r(32),s=r(39),u=r(50),l=i.a.extendSeriesModel({type:"series.bar3D",dependencies:["globe"],visualColorAccessPath:"itemStyle.color",getInitialData:function(e,t){return Object(u.a)(this)},getFormattedLabel:function(e,t,r,n){var i=o.a.getFormattedLabel(this,e,t,r,n);return null==i&&(i=this.getData().get("z",e)),i},formatTooltip:function(e){return Object(s.a)(this,e)},defaultOption:{coordinateSystem:"cartesian3D",globeIndex:0,grid3DIndex:0,zlevel:-10,bevelSize:0,bevelSmoothness:2,onGridPlane:"xy",shading:"color",minHeight:0,itemStyle:{opacity:1},label:{show:!1,distance:2,textStyle:{fontSize:14,color:"#000",backgroundColor:"rgba(255,255,255,0.7)",padding:3,borderRadius:3}},emphasis:{label:{show:!0}},animationDurationUpdate:500}});i.a.util.merge(l.prototype,a.a)},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a=(r(233),r(234),r(51)),o=r.n(a),s=r(17);i.a.registerVisual(o()("line3D","circle",null)),i.a.registerVisual(Object(s.a)("line3D")),i.a.registerLayout(function(e,t){e.eachSeriesByType("line3D",function(e){var t=e.getData(),r=e.coordinateSystem;if(r){if("cartesian3D"!==r.type)return;var n=new Float32Array(3*t.count()),i=[],a=[],o=r.dimensions,s=o.map(function(t){return e.coordDimToDataDim(t)[0]});r&&t.each(s,function(e,t,o,s){i[0]=e,i[1]=t,i[2]=o,r.dataToPoint(i,a),n[3*s]=a[0],n[3*s+1]=a[1],n[3*s+2]=a[2]}),t.setLayout("points",n)}})})},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a=r(39),o=r(50);i.a.extendSeriesModel({type:"series.line3D",dependencies:["grid3D"],visualColorAccessPath:"lineStyle.color",getInitialData:function(e,t){return Object(o.a)(this)},formatTooltip:function(e){return Object(a.a)(this,e)},defaultOption:{coordinateSystem:"cartesian3D",zlevel:-10,grid3DIndex:0,lineStyle:{width:2},animationDurationUpdate:500}})},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a=r(1),o=r(2),s=r(25),u=r(9),l=r(3),h=r(235),c=r.n(h),d=r(6),f=r(46),p=d.a.vec3;a.a.Shader.import(f.a);i.a.extendChartView({type:"line3D",__ecgl__:!0,init:function(e,t){this.groupGL=new a.a.Node,this._api=t},render:function(e,t,r){var n=this._prevLine3DMesh;this._prevLine3DMesh=this._line3DMesh,this._line3DMesh=n,this._line3DMesh||(this._line3DMesh=new a.a.Mesh({geometry:new s.a({useNativeLine:!1,sortTriangles:!0}),material:new a.a.Material({shader:a.a.createShader("ecgl.meshLines3D")}),renderOrder:10}),this._line3DMesh.geometry.pick=this._pick.bind(this)),this.groupGL.remove(this._prevLine3DMesh),this.groupGL.add(this._line3DMesh);var i=e.coordinateSystem;if(i&&i.viewGL){i.viewGL.add(this.groupGL);var o=i.viewGL.isLinearSpace()?"define":"undefine";this._line3DMesh.material[o]("fragment","SRGB_DECODE")}this._doRender(e,r),this._data=e.getData(),this._camera=i.viewGL.camera,this.updateCamera(),this._updateAnimation(e)},updateCamera:function(){this._updateNDCPosition()},_doRender:function(e,t){var r=e.getData(),n=this._line3DMesh;n.geometry.resetOffset();var i=r.getLayout("points"),s=[],u=new Float32Array(i.length/3*4),l=0,h=!1;r.each(function(e){var t=r.getItemVisual(e,"color"),n=r.getItemVisual(e,"opacity");null==n&&(n=1),a.a.parseColor(t,s),s[3]*=n,u[l++]=s[0],u[l++]=s[1],u[l++]=s[2],u[l++]=s[3],s[3]<.99&&(h=!0)}),n.geometry.setVertexCount(n.geometry.getPolylineVertexCount(i)),n.geometry.setTriangleCount(n.geometry.getPolylineTriangleCount(i)),n.geometry.addPolyline(i,u,o.a.firstNotNull(e.get("lineStyle.width"),1)),n.geometry.dirty(),n.geometry.updateBoundingBox();var c=n.material;c.transparent=h,c.depthMask=!h;var d=e.getModel("debug.wireframe");d.get("show")?(n.geometry.createAttribute("barycentric","float",3),n.geometry.generateBarycentric(),n.material.set("both","WIREFRAME_TRIANGLE"),n.material.set("wireframeLineColor",a.a.parseColor(d.get("lineStyle.color")||"rgba(0,0,0,0.5)")),n.material.set("wireframeLineWidth",o.a.firstNotNull(d.get("lineStyle.width"),1))):n.material.set("both","WIREFRAME_TRIANGLE"),this._points=i,this._initHandler(e,t)},_updateAnimation:function(e){a.a.updateVertexAnimation([["prevPosition","position"],["prevPositionPrev","positionPrev"],["prevPositionNext","positionNext"]],this._prevLine3DMesh,this._line3DMesh,e)},_initHandler:function(e,t){var r=e.getData(),n=e.coordinateSystem,i=this._line3DMesh,a=-1;i.seriesIndex=e.seriesIndex,i.off("mousemove"),i.off("mouseout"),i.on("mousemove",function(e){var o=n.pointToData(e.point.array),s=r.indicesOfNearest("x",o[0])[0];s!==a&&(t.dispatchAction({type:"grid3DShowAxisPointer",value:[r.get("x",s),r.get("y",s),r.get("z",s)]}),i.dataIndex=s),a=s},this),i.on("mouseout",function(e){a=-1,i.dataIndex=-1,t.dispatchAction({type:"grid3DHideAxisPointer"})},this)},_updateNDCPosition:function(){var e=new u.a,t=this._camera;u.a.multiply(e,t.projectionMatrix,t.viewMatrix);var r=this._positionNDC,n=this._points,i=n.length/3;r&&r.length/2===i||(r=this._positionNDC=new Float32Array(2*i));for(var a=[],o=0;o<i;o++){var s=3*o,l=2*o;a[0]=n[s],a[1]=n[s+1],a[2]=n[s+2],a[3]=1,p.transformMat4(a,a,e.array),r[l]=a[0]/a[3],r[l+1]=a[1]/a[3]}},_pick:function(e,t,r,n,i,a){var o=this._positionNDC,s=this._data.hostModel,u=s.get("lineStyle.width"),h=-1,d=r.viewport.width,f=r.viewport.height,p=.5*d,m=.5*f;e=(e+1)*p,t=(t+1)*m;for(var g=1;g<o.length/2;g++){var _=(o[2*(g-1)]+1)*p,v=(o[2*(g-1)+1]+1)*m,y=(o[2*g]+1)*p,x=(o[2*g+1]+1)*m;if(c.a.containStroke(_,v,y,x,u,e,t)){h=(_-e)*(_-e)+(v-t)*(v-t)<(y-e)*(y-e)+(x-t)*(x-t)?g-1:g}}if(h>=0){var T=3*h,b=new l.a(this._points[T],this._points[T+1],this._points[T+2]);a.push({dataIndex:h,point:b,pointWorld:b.clone(),target:this._line3DMesh,distance:this._camera.getWorldPosition().dist(b)})}},remove:function(){this.groupGL.removeAll()},dispose:function(){this.groupGL.removeAll()}})},function(e,t){function r(e,t,r,n,i,a,o){if(0===i)return!1;var s=i,u=0,l=e;if(o>t+s&&o>n+s||o<t-s&&o<n-s||a>e+s&&a>r+s||a<e-s&&a<r-s)return!1;if(e===r)return Math.abs(a-e)<=s/2;u=(t-n)/(e-r),l=(e*n-r*t)/(e-r);var h=u*a-o+l;return h*h/(u*u+1)<=s/2*s/2}t.containStroke=r},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a=(r(237),r(238),r(51)),o=r.n(a),s=r(17);i.a.registerVisual(o()("scatter3D","circle",null)),i.a.registerVisual(Object(s.a)("scatter3D")),i.a.registerLayout({seriesType:"scatter3D",reset:function(e){var t=e.coordinateSystem;if(t){var r=t.dimensions;if(r.length<3)return;var n=r.map(function(t){return e.coordDimToDataDim(t)[0]}),i=[],a=[];return{progress:function(e,r){for(var o=new Float32Array(3*(e.end-e.start)),s=e.start;s<e.end;s++){var u=3*(s-e.start);i[0]=r.get(n[0],s),i[1]=r.get(n[1],s),i[2]=r.get(n[2],s),t.dataToPoint(i,a),o[u]=a[0],o[u+1]=a[1],o[u+2]=a[2]}r.setLayout("points",o)}}}}})},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a=r(32),o=r(39),s=r(50);i.a.extendSeriesModel({type:"series.scatter3D",dependencies:["globe","grid3D","geo3D"],visualColorAccessPath:"itemStyle.color",getInitialData:function(e,t){return Object(s.a)(this)},getFormattedLabel:function(e,t,r,n){var i=a.a.getFormattedLabel(this,e,t,r,n);if(null==i){var o=this.getData(),s=o.dimensions[o.dimensions.length-1];i=o.get(s,e)}return i},formatTooltip:function(e){return Object(o.a)(this,e)},defaultOption:{coordinateSystem:"cartesian3D",zlevel:-10,progressive:1e5,progressiveThreshold:1e5,grid3DIndex:0,globeIndex:0,symbol:"circle",symbolSize:10,blendMode:"source-over",label:{show:!1,position:"right",distance:5,textStyle:{fontSize:14,color:"#000",backgroundColor:"rgba(255,255,255,0.7)",padding:3,borderRadius:3}},itemStyle:{opacity:.8},emphasis:{label:{show:!0}},animationDurationUpdate:500}})},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a=r(1),o=r(2),s=r(32),u=r(67);i.a.extendChartView({type:"scatter3D",__ecgl__:!0,init:function(e,t){this.groupGL=new a.a.Node,this._pointsBuilderList=[],this._currentStep=0},render:function(e,t,r){if(this.groupGL.removeAll(),e.getData().count()){var n=e.coordinateSystem;if(n&&n.viewGL){n.viewGL.add(this.groupGL),this._camera=n.viewGL.camera;var i=this._pointsBuilderList[0];i||(i=this._pointsBuilderList[0]=new u.a(!1,r)),this._pointsBuilderList.length=1,this.groupGL.add(i.rootNode),i.update(e,t,r),i.updateView(n.viewGL.camera)}}},incrementalPrepareRender:function(e,t,r){var n=e.coordinateSystem;n&&n.viewGL&&(n.viewGL.add(this.groupGL),this._camera=n.viewGL.camera),this.groupGL.removeAll(),this._currentStep=0},incrementalRender:function(e,t,r,n){if(!(e.end<=e.start)){var i=this._pointsBuilderList[this._currentStep];i||(i=new u.a(!1,n),this._pointsBuilderList[this._currentStep]=i),this.groupGL.add(i.rootNode),i.update(t,r,n,e.start,e.end),i.updateView(t.coordinateSystem.viewGL.camera),this._currentStep++}},updateCamera:function(){this._pointsBuilderList.forEach(function(e){e.updateView(this._camera)},this)},highlight:function(e,t,r,n){this._toggleStatus("highlight",e,t,r,n)},downplay:function(e,t,r,n){this._toggleStatus("downplay",e,t,r,n)},_toggleStatus:function(e,t,r,n,a){var u=t.getData(),l=o.a.queryDataIndex(u,a),h="highlight"===e;null!=l?i.a.util.each(s.a.normalizeToArray(l),function(e){for(var t=0;t<this._pointsBuilderList.length;t++){var r=this._pointsBuilderList[t];h?r.highlight(u,e):r.downplay(u,e)}},this):u.each(function(e){for(var t=0;t<this._pointsBuilderList.length;t++){var r=this._pointsBuilderList[t];h?r.highlight(u,e):r.downplay(u,e)}})},dispose:function(){this.groupGL.removeAll()},remove:function(){this.groupGL.removeAll()}})},function(e,t,r){"use strict";function n(e,t,r){var t=t||document.createElement("canvas");t.width=e,t.height=e;var n=t.getContext("2d");return r&&r(n),t}function i(e,t,r,n){s.a.util.isArray(t)||(t=[t,t]);var i=u.getMarginByStyle(r,n),a=t[0]+i.left+i.right,o=t[1]+i.top+i.bottom,l=s.a.helper.createSymbol(e,0,0,t[0],t[1]),h=Math.max(a,o);l.position=[i.left,i.top],a>o?l.position[1]+=(h-o)/2:l.position[0]+=(h-a)/2;var c=l.getBoundingRect();return l.position[0]-=c.x,l.position[1]-=c.y,l.setStyle(r),l.update(),l.__size=h,l}function a(e,t,r){function n(e){return e<128?1:-1}for(var i=t.width,a=t.height,o=e.canvas.width,s=e.canvas.height,u=i/o,l=a/s,h=e.createImageData(o,s),c=0;c<s;c++)for(var d=0;d<o;d++){var f=function(e,o){var s=1/0;e=Math.floor(e*u),o=Math.floor(o*l);for(var h=o*i+e,c=t.data[4*h],d=n(c),f=Math.max(o-r,0);f<Math.min(o+r,a);f++)for(var p=Math.max(e-r,0);p<Math.min(e+r,i);p++){var h=f*i+p,m=t.data[4*h],g=n(m),_=p-e,v=f-o;if(d!==g){var y=_*_+v*v;y<s&&(s=y)}}return d*Math.sqrt(s)}(d,c),p=f/r*.5+.5,m=4*(c*o+d);h.data[m++]=255*(1-p),h.data[m++]=255*(1-p),h.data[m++]=255*(1-p),h.data[m++]=255}return h}var o=r(0),s=r.n(o),u={getMarginByStyle:function(e){var t=e.minMargin||0,r=0;e.stroke&&"none"!==e.stroke&&(r=null==e.lineWidth?1:e.lineWidth);var n=e.shadowBlur||0,i=e.shadowOffsetX||0,a=e.shadowOffsetY||0,o={};return o.left=Math.max(r/2,-i+n,t),o.right=Math.max(r/2,i+n,t),o.top=Math.max(r/2,-a+n,t),o.bottom=Math.max(r/2,a+n,t),o},createSymbolSprite:function(e,t,r,a){var o=i(e,t,r),s=u.getMarginByStyle(r);return{image:n(o.__size,a,function(e){o.brush(e)}),margin:s}},createSDFFromCanvas:function(e,t,r,i){return n(t,i,function(t){var n=e.getContext("2d"),i=n.getImageData(0,0,e.width,e.height);t.putImageData(a(t,i,r),0,0)})},createSimpleSprite:function(e,t){return n(e,t,function(t){var r=e/2;t.beginPath(),t.arc(r,r,60,0,2*Math.PI,!1),t.closePath();var n=t.createRadialGradient(r,r,0,r,r,r);n.addColorStop(0,"rgba(255, 255, 255, 1)"),n.addColorStop(.5,"rgba(255, 255, 255, 0.5)"),n.addColorStop(1,"rgba(255, 255, 255, 0)"),t.fillStyle=n,t.fill()})}};t.a=u},function(e,t,r){"use strict";var n=r(1),i=r(241),a=r(0),o=r.n(a),s=r(6),u=r(242),l=s.a.vec4;n.a.Shader.import(u.a);var h=n.a.Mesh.extend(function(){var e=new n.a.Geometry({dynamic:!0,attributes:{color:new n.a.Geometry.Attribute("color","float",4,"COLOR"),position:new n.a.Geometry.Attribute("position","float",3,"POSITION"),size:new n.a.Geometry.Attribute("size","float",1),prevPosition:new n.a.Geometry.Attribute("prevPosition","float",3),prevSize:new n.a.Geometry.Attribute("prevSize","float",1)}});o.a.util.extend(e,i.a);var t=new n.a.Material({shader:n.a.createShader("ecgl.sdfSprite"),transparent:!0,depthMask:!1});t.enableTexture("sprite"),t.define("both","VERTEX_COLOR"),t.define("both","VERTEX_SIZE");var r=new n.a.Texture2D({image:document.createElement("canvas"),flipY:!1});return t.set("sprite",r),e.pick=this._pick.bind(this),{geometry:e,material:t,mode:n.a.Mesh.POINTS,sizeScale:1}},{_pick:function(e,t,r,i,a,o){var s=this._positionNDC;if(s)for(var u=r.viewport,l=2/u.width,h=2/u.height,c=this.geometry.vertexCount-1;c>=0;c--){var d;d=this.geometry.indices?this.geometry.indices[c]:c;var f=s[2*d],p=s[2*d+1],m=this.geometry.attributes.size.get(d)/this.sizeScale,g=m/2;if(e>f-g*l&&e<f+g*l&&t>p-g*h&&t<p+g*h){var _=new n.a.Vector3,v=new n.a.Vector3;this.geometry.attributes.position.get(d,_.array),n.a.Vector3.transformMat4(v,_,this.worldTransform),o.push({vertexIndex:d,point:_,pointWorld:v,target:this,distance:v.distance(i.getWorldPosition())})}}},updateNDCPosition:function(e,t,r){var n=this._positionNDC,i=this.geometry;n&&n.length/2===i.vertexCount||(n=this._positionNDC=new Float32Array(2*i.vertexCount));for(var a=l.create(),o=0;o<i.vertexCount;o++)i.attributes.position.get(o,a),a[3]=1,l.transformMat4(a,a,e.array),l.scale(a,a,1/a[3]),n[2*o]=a[0],n[2*o+1]=a[1]}});t.a=h},function(e,t,r){"use strict";var n=r(97),i=r(6),a=i.a.vec3;t.a={needsSortVertices:function(){return this.sortVertices},needsSortVerticesProgressively:function(){return this.needsSortVertices()&&this.vertexCount>=2e4},doSortVertices:function(e,t){var r=this.indices,n=a.create();if(!r){r=this.indices=this.vertexCount>65535?new Uint32Array(this.vertexCount):new Uint16Array(this.vertexCount);for(var i=0;i<r.length;i++)r[i]=i}if(0===t){var o=this.attributes.position,e=e.array,s=0;this._zList&&this._zList.length===this.vertexCount||(this._zList=new Float32Array(this.vertexCount));for(var u,i=0;i<this.vertexCount;i++){o.get(i,n);var l=a.sqrDist(n,e);isNaN(l)&&(l=1e7,s++),0===i?(u=l,l=0):l-=u,this._zList[i]=l}this._noneCount=s}if(this.vertexCount<2e4)0===t&&this._simpleSort(this._noneCount/this.vertexCount>.05);else for(var i=0;i<3;i++)this._progressiveQuickSort(3*t+i);this.dirtyIndices()},_simpleSort:function(e){function t(e,t){return r[t]-r[e]}var r=this._zList,i=this.indices;e?Array.prototype.sort.call(i,t):n.a.sort(i,t,0,i.length-1)},_progressiveQuickSort:function(e){var t=this._zList,r=this.indices;this._quickSort=this._quickSort||new n.a,this._quickSort.step(r,function(e,r){return t[r]-t[e]},e)}}},function(e,t,r){"use strict";t.a="@export ecgl.sdfSprite.vertex\n\nuniform mat4 worldViewProjection : WORLDVIEWPROJECTION;\nuniform float elapsedTime : 0;\n\nattribute vec3 position : POSITION;\n\n#ifdef VERTEX_SIZE\nattribute float size;\n#else\nuniform float u_Size;\n#endif\n\n#ifdef VERTEX_COLOR\nattribute vec4 a_FillColor: COLOR;\nvarying vec4 v_Color;\n#endif\n\n#ifdef VERTEX_ANIMATION\nattribute vec3 prevPosition;\nattribute float prevSize;\nuniform float percent : 1.0;\n#endif\n\n\n#ifdef POSITIONTEXTURE_ENABLED\nuniform sampler2D positionTexture;\n#endif\n\nvarying float v_Size;\n\nvoid main()\n{\n\n#ifdef POSITIONTEXTURE_ENABLED\n gl_Position = worldViewProjection * vec4(texture2D(positionTexture, position.xy).xy, -10.0, 1.0);\n#else\n\n #ifdef VERTEX_ANIMATION\n vec3 pos = mix(prevPosition, position, percent);\n #else\n vec3 pos = position;\n #endif\n gl_Position = worldViewProjection * vec4(pos, 1.0);\n#endif\n\n#ifdef VERTEX_SIZE\n#ifdef VERTEX_ANIMATION\n v_Size = mix(prevSize, size, percent);\n#else\n v_Size = size;\n#endif\n#else\n v_Size = u_Size;\n#endif\n\n#ifdef VERTEX_COLOR\n v_Color = a_FillColor;\n #endif\n\n gl_PointSize = v_Size;\n}\n\n@end\n\n@export ecgl.sdfSprite.fragment\n\nuniform vec4 color: [1, 1, 1, 1];\nuniform vec4 strokeColor: [1, 1, 1, 1];\nuniform float smoothing: 0.07;\n\nuniform float lineWidth: 0.0;\n\n#ifdef VERTEX_COLOR\nvarying vec4 v_Color;\n#endif\n\nvarying float v_Size;\n\nuniform sampler2D sprite;\n\n@import clay.util.srgb\n\nvoid main()\n{\n gl_FragColor = color;\n\n vec4 _strokeColor = strokeColor;\n\n#ifdef VERTEX_COLOR\n gl_FragColor *= v_Color;\n #endif\n\n#ifdef SPRITE_ENABLED\n float d = texture2D(sprite, gl_PointCoord).r;\n gl_FragColor.a *= smoothstep(0.5 - smoothing, 0.5 + smoothing, d);\n\n if (lineWidth > 0.0) {\n float sLineWidth = lineWidth / 2.0;\n\n float outlineMaxValue0 = 0.5 + sLineWidth;\n float outlineMaxValue1 = 0.5 + sLineWidth + smoothing;\n float outlineMinValue0 = 0.5 - sLineWidth - smoothing;\n float outlineMinValue1 = 0.5 - sLineWidth;\n\n if (d <= outlineMaxValue1 && d >= outlineMinValue0) {\n float a = _strokeColor.a;\n if (d <= outlineMinValue1) {\n a = a * smoothstep(outlineMinValue0, outlineMinValue1, d);\n }\n else {\n a = a * smoothstep(outlineMaxValue1, outlineMaxValue0, d);\n }\n gl_FragColor.rgb = mix(gl_FragColor.rgb * gl_FragColor.a, _strokeColor.rgb, a);\n gl_FragColor.a = gl_FragColor.a * (1.0 - a) + a;\n }\n }\n#endif\n\n#ifdef SRGB_DECODE\n gl_FragColor = sRGBToLinear(gl_FragColor);\n#endif\n}\n@end"},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a=(r(244),r(245),r(248),r(17));i.a.registerVisual(Object(a.a)("lines3D")),i.a.registerAction({type:"lines3DPauseEffect",event:"lines3deffectpaused",update:"series.lines3D:pauseEffect"},function(){}),i.a.registerAction({type:"lines3DResumeEffect",event:"lines3deffectresumed",update:"series.lines3D:resumeEffect"},function(){}),i.a.registerAction({type:"lines3DToggleEffect",event:"lines3deffectchanged",update:"series.lines3D:toggleEffect"},function(){})},function(e,t,r){"use strict";function n(e,t){f.copy(w,e[0]),f.copy(E,e[1]);var r=[],n=r[0]=v(),i=r[1]=v(),a=r[2]=v(),o=r[3]=v();t.dataToPoint(w,n),t.dataToPoint(E,o),p(y,n),g(x,o,n),p(x,x),m(T,x,y),p(T,T),m(x,y,T),_(i,y,x),p(i,i),p(y,o),g(x,n,o),p(x,x),m(T,x,y),p(T,T),m(x,y,T),_(a,y,x),p(a,a),_(b,n,o),p(b,b);var s=d.dot(n,b),u=d.dot(b,i),l=(Math.max(d.len(n),d.len(o))-s)/u*2;return d.scaleAndAdd(i,n,i,l),d.scaleAndAdd(a,o,a,l),r}function i(e,t,r){var n=[],i=n[0]=d.create(),a=n[1]=d.create(),o=n[2]=d.create(),s=n[3]=d.create();t.dataToPoint(e[0],i),t.dataToPoint(e[1],s);var u=d.dist(i,s);return d.lerp(a,i,s,.3),d.lerp(o,i,s,.3),d.scaleAndAdd(a,a,r,Math.min(.1*u,10)),d.scaleAndAdd(o,o,r,Math.min(.1*u,10)),n}function a(e,t){for(var r=new Float32Array(3*e.length),n=0,i=[],a=0;a<e.length;a++)t.dataToPoint(e[a],i),r[n++]=i[0],r[n++]=i[1],r[n++]=i[2];return r}function o(e){var t=[];return e.each(function(r){var n=e.getItemModel(r),i=n.option instanceof Array?n.option:n.getShallow("coords",!0);t.push(i)}),{coordsList:t}}function s(e,t){var r=e.getData(),i=e.get("polyline");r.setLayout("lineType",i?"polyline":"cubicBezier");var s=o(r);r.each(function(e){var o=s.coordsList[e],u=i?a:n;r.setItemLayout(e,u(o,t))})}function u(e,t,r){var n=e.getData(),s=e.get("polyline"),u=o(n);n.setLayout("lineType",s?"polyline":"cubicBezier"),n.each(function(e){var o=u.coordsList[e],l=s?a(o,t):i(o,t,r);n.setItemLayout(e,l)})}var l=r(0),h=r.n(l),c=r(6),d=c.a.vec3,f=c.a.vec2,p=d.normalize,m=d.cross,g=d.sub,_=d.add,v=d.create,y=v(),x=v(),T=v(),b=v(),w=[],E=[];h.a.registerLayout(function(e,t){e.eachSeriesByType("lines3D",function(e){var t=e.coordinateSystem;"globe"===t.type?s(e,t):"geo3D"===t.type?u(e,t,[0,1,0]):"mapbox3D"!==t.type&&"maptalks3D"!==t.type||u(e,t,[0,0,1])})})},function(e,t,r){"use strict";function n(e){return null!=e.radius?e.radius:null!=e.size?Math.max(e.size[0],e.size[1],e.size[2]):100}var i=r(0),a=r.n(i),o=r(1),s=r(25),u=r(246),l=r(46);o.a.Shader.import(l.a);a.a.extendChartView({type:"lines3D",__ecgl__:!0,init:function(e,t){this.groupGL=new o.a.Node,this._meshLinesMaterial=new o.a.Material({shader:o.a.createShader("ecgl.meshLines3D"),transparent:!0,depthMask:!1}),this._linesMesh=new o.a.Mesh({geometry:new s.a,material:this._meshLinesMaterial,$ignorePicking:!0}),this._trailMesh=new u.a},render:function(e,t,r){this.groupGL.add(this._linesMesh);var n=e.coordinateSystem,i=e.getData();if(n&&n.viewGL){n.viewGL.add(this.groupGL),this._updateLines(e,t,r);var a=n.viewGL.isLinearSpace()?"define":"undefine";this._linesMesh.material[a]("fragment","SRGB_DECODE"),this._trailMesh.material[a]("fragment","SRGB_DECODE")}var s=this._trailMesh;if(s.stopAnimation(),e.get("effect.show")){this.groupGL.add(s),s.updateData(i,r,this._linesMesh.geometry),s.__time=s.__time||0;this._curveEffectsAnimator=s.animate("",{loop:!0}).when(36e5,{__time:36e5}).during(function(){s.setAnimationTime(s.__time)}).start()}else this.groupGL.remove(s),this._curveEffectsAnimator=null;this._linesMesh.material.blend=this._trailMesh.material.blend="lighter"===e.get("blendMode")?o.a.additiveBlend:null},pauseEffect:function(){this._curveEffectsAnimator&&this._curveEffectsAnimator.pause()},resumeEffect:function(){this._curveEffectsAnimator&&this._curveEffectsAnimator.resume()},toggleEffect:function(){var e=this._curveEffectsAnimator;e&&(e.isPaused()?e.resume():e.pause())},_updateLines:function(e,t,r){var i=e.getData(),a=e.coordinateSystem,s=this._linesMesh.geometry,u=e.get("polyline");s.expandLine=!0;var l=n(a);s.segmentScale=l/20;var h="lineStyle.width".split("."),c=r.getDevicePixelRatio(),d=0;i.each(function(e){var t=i.getItemModel(e),r=t.get(h);null==r&&(r=1),i.setItemVisual(e,"lineWidth",r),d=Math.max(r,d)}),s.useNativeLine=!1;var f=0,p=0;i.each(function(e){var t=i.getItemLayout(e);u?(f+=s.getPolylineVertexCount(t),p+=s.getPolylineTriangleCount(t)):(f+=s.getCubicCurveVertexCount(t[0],t[1],t[2],t[3]),p+=s.getCubicCurveTriangleCount(t[0],t[1],t[2],t[3]))}),s.setVertexCount(f),s.setTriangleCount(p),s.resetOffset();var m=[];i.each(function(e){var t=i.getItemLayout(e),r=i.getItemVisual(e,"color"),n=i.getItemVisual(e,"opacity"),a=i.getItemVisual(e,"lineWidth")*c;null==n&&(n=1),m=o.a.parseColor(r,m),m[3]*=n,u?s.addPolyline(t,m,a):s.addCubicCurve(t[0],t[1],t[2],t[3],m,a)}),s.dirty()},remove:function(){this.groupGL.removeAll()},dispose:function(){this.groupGL.removeAll()}})},function(e,t,r){"use strict";function n(e){return e>0?1:-1}var i=r(0),a=(r.n(i),r(1)),o=r(6),s=r(25),u=r(247),l=o.a.vec3;a.a.Shader.import(u.a),t.a=a.a.Mesh.extend(function(){var e=new a.a.Material({shader:new a.a.Shader(a.a.Shader.source("ecgl.trail2.vertex"),a.a.Shader.source("ecgl.trail2.fragment")),transparent:!0,depthMask:!1}),t=new s.a({dynamic:!0});return t.createAttribute("dist","float",1),t.createAttribute("distAll","float",1),t.createAttribute("start","float",1),{geometry:t,material:e,culling:!1,$ignorePicking:!0}},{updateData:function(e,t,r){var i=e.hostModel,o=this.geometry,s=i.getModel("effect"),u=s.get("trailWidth")*t.getDevicePixelRatio(),h=s.get("trailLength"),c=i.get("effect.constantSpeed"),d=1e3*i.get("effect.period"),f=null!=c;f?this.material.set("speed",c/1e3):this.material.set("period",d),this.material[f?"define":"undefine"]("vertex","CONSTANT_SPEED");var p=i.get("polyline");o.trailLength=h,this.material.set("trailLength",h),o.resetOffset(),["position","positionPrev","positionNext"].forEach(function(e){o.attributes[e].value=r.attributes[e].value}),["dist","distAll","start","offset","color"].forEach(function(e){o.attributes[e].init(o.vertexCount)}),o.indices=r.indices;var m=[],g=s.get("trailColor"),_=s.get("trailOpacity"),v=null!=g,y=null!=_;this.updateWorldTransform();var x=this.worldTransform.x.len(),T=this.worldTransform.y.len(),b=this.worldTransform.z.len(),w=0,E=0;e.each(function(t){var i=e.getItemLayout(t),s=y?_:e.getItemVisual(t,"opacity"),h=e.getItemVisual(t,"color");null==s&&(s=1),m=a.a.parseColor(v?g:h,m),m[3]*=s;for(var c=p?r.getPolylineVertexCount(i):r.getCubicCurveVertexCount(i[0],i[1],i[2],i[3]),S=0,A=[],M=[],C=w;C<w+c;C++)o.attributes.position.get(C,A),A[0]*=x,A[1]*=T,A[2]*=b,C>w&&(S+=l.dist(A,M)),o.attributes.dist.set(C,S),l.copy(M,A);E=Math.max(E,S);for(var L=Math.random()*(f?S:d),C=w;C<w+c;C++)o.attributes.distAll.set(C,S),o.attributes.start.set(C,L),o.attributes.offset.set(C,n(r.attributes.offset.get(C))*u/2),o.attributes.color.set(C,m);w+=c}),this.material.set("spotSize",.1*E*h),this.material.set("spotIntensity",s.get("spotIntensity")),o.dirty()},setAnimationTime:function(e){this.material.set("time",e)}})},function(e,t,r){"use strict";t.a="@export ecgl.trail2.vertex\nattribute vec3 position: POSITION;\nattribute vec3 positionPrev;\nattribute vec3 positionNext;\nattribute float offset;\nattribute float dist;\nattribute float distAll;\nattribute float start;\n\nattribute vec4 a_Color : COLOR;\n\nuniform mat4 worldViewProjection : WORLDVIEWPROJECTION;\nuniform vec4 viewport : VIEWPORT;\nuniform float near : NEAR;\n\nuniform float speed : 0;\nuniform float trailLength: 0.3;\nuniform float time;\nuniform float period: 1000;\n\nuniform float spotSize: 1;\n\nvarying vec4 v_Color;\nvarying float v_Percent;\nvarying float v_SpotPercent;\n\n@import ecgl.common.wireframe.vertexHeader\n\n@import ecgl.lines3D.clipNear\n\nvoid main()\n{\n @import ecgl.lines3D.expandLine\n\n gl_Position = currProj;\n\n v_Color = a_Color;\n\n @import ecgl.common.wireframe.vertexMain\n\n#ifdef CONSTANT_SPEED\n float t = mod((speed * time + start) / distAll, 1. + trailLength) - trailLength;\n#else\n float t = mod((time + start) / period, 1. + trailLength) - trailLength;\n#endif\n\n float trailLen = distAll * trailLength;\n\n v_Percent = (dist - t * distAll) / trailLen;\n\n v_SpotPercent = spotSize / distAll;\n\n }\n@end\n\n\n@export ecgl.trail2.fragment\n\nuniform vec4 color : [1.0, 1.0, 1.0, 1.0];\nuniform float spotIntensity: 5;\n\nvarying vec4 v_Color;\nvarying float v_Percent;\nvarying float v_SpotPercent;\n\n@import ecgl.common.wireframe.fragmentHeader\n\n@import clay.util.srgb\n\nvoid main()\n{\n if (v_Percent > 1.0 || v_Percent < 0.0) {\n discard;\n }\n\n float fade = v_Percent;\n\n#ifdef SRGB_DECODE\n gl_FragColor = sRGBToLinear(color * v_Color);\n#else\n gl_FragColor = color * v_Color;\n#endif\n\n @import ecgl.common.wireframe.fragmentMain\n\n if (v_Percent > (1.0 - v_SpotPercent)) {\n gl_FragColor.rgb *= spotIntensity;\n }\n\n gl_FragColor.a *= fade;\n}\n\n@end"},function(e,t,r){"use strict";var n=r(0),i=r.n(n);i.a.extendSeriesModel({type:"series.lines3D",dependencies:["globe"],visualColorAccessPath:"lineStyle.color",getInitialData:function(e,t){var r=new i.a.List(["value"],this);return r.hasItemOption=!1,r.initData(e.data,[],function(e,t,n,i){if(e instanceof Array)return NaN;r.hasItemOption=!0;var a=e.value;return null!=a?a instanceof Array?a[i]:a:void 0}),r},defaultOption:{coordinateSystem:"globe",globeIndex:0,geo3DIndex:0,zlevel:-10,polyline:!1,effect:{show:!1,period:4,trailWidth:4,trailLength:.2,spotIntensity:6},silent:!0,blendMode:"source-over",lineStyle:{width:1,opacity:.5}}})},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a=(r(250),r(251),r(17));i.a.registerVisual(Object(a.a)("polygons3D"))},function(e,t,r){"use strict";function n(e,t){for(var r=[],n=0;n<t.length;n++)r.push(e.dataToPoint(t[n]));return r}var i=r(0),a=r.n(i),o=r(31),s=a.a.extendSeriesModel({type:"series.polygons3D",getRegionModel:function(e){return this.getData().getItemModel(e)},getRegionPolygonCoords:function(e){var t=this.coordinateSystem,r=this.getData().getItemModel(e),i=r.option instanceof Array?r.option:r.getShallow("coords");r.get("multiPolygon")||(i=[i]);for(var a=[],o=0;o<i.length;o++){for(var s=[],u=1;u<i[o].length;u++)s.push(n(t,i[o][u]));a.push({exterior:n(t,i[o][0]),interiors:s})}return a},getInitialData:function(e){var t=new a.a.List(["value"],this);return t.hasItemOption=!1,t.initData(e.data,[],function(e,r,n,i){if(e instanceof Array)return NaN;t.hasItemOption=!0;var a=e.value;return null!=a?a instanceof Array?a[i]:a:void 0}),t},defaultOption:{show:!0,data:null,multiPolygon:!1,progressiveThreshold:1e3,progressive:1e3,zlevel:-10,label:{show:!1,distance:2,textStyle:{fontSize:20,color:"#000",backgroundColor:"rgba(255,255,255,0.7)",padding:3,borderRadius:4}},itemStyle:{color:"#fff",borderWidth:0,borderColor:"#333"},emphasis:{itemStyle:{color:"#639fc0"},label:{show:!0}}}});a.a.util.merge(s.prototype,o.a)},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a=r(64),o=r(1);i.a.extendChartView({type:"polygons3D",__ecgl__:!0,init:function(e,t){this.groupGL=new o.a.Node,this._geo3DBuilderList=[],this._currentStep=0},render:function(e,t,r){this.groupGL.removeAll();var n=e.coordinateSystem;n&&n.viewGL&&n.viewGL.add(this.groupGL);var i=this._geo3DBuilderList[0];i||(i=new a.a(r),i.extrudeY="mapbox3D"!==n.type&&"maptalks3D"!==n.type,this._geo3DBuilderList[0]=i),this._updateShaderDefines(n,i),i.update(e,t,r),this._geo3DBuilderList.length=1,this.groupGL.add(i.rootNode)},incrementalPrepareRender:function(e,t,r){this.groupGL.removeAll();var n=e.coordinateSystem;n&&n.viewGL&&n.viewGL.add(this.groupGL),this._currentStep=0},incrementalRender:function(e,t,r,n){var i=this._geo3DBuilderList[this._currentStep],o=t.coordinateSystem;i||(i=new a.a(n),i.extrudeY="mapbox3D"!==o.type&&"maptalks3D"!==o.type,this._geo3DBuilderList[this._currentStep]=i),i.update(t,r,n,e.start,e.end),this.groupGL.add(i.rootNode),this._updateShaderDefines(o,i),this._currentStep++},_updateShaderDefines:function(e,t){var r=e.viewGL.isLinearSpace()?"define":"undefine";t.rootNode.traverse(function(t){t.material&&(t.material[r]("fragment","SRGB_DECODE"),"mapbox3D"!==e.type&&"maptalks3D"!==e.type||(t.material.define("fragment","NORMAL_UP_AXIS",2),t.material.define("fragment","NORMAL_FRONT_AXIS",1)))})},remove:function(){this.groupGL.removeAll()},dispose:function(){this.groupGL.removeAll()}})},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a=(r(253),r(254),r(255),r(17));i.a.registerVisual(Object(a.a)("surface"))},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a=r(31),o=r(39),s=r(50),u=i.a.extendSeriesModel({type:"series.surface",dependencies:["globe","grid3D","geo3D"],visualColorAccessPath:"itemStyle.color",formatTooltip:function(e){return Object(o.a)(this,e)},getInitialData:function(e,t){function r(e){return!(isNaN(e.min)||isNaN(e.max)||isNaN(e.step))}function n(e){var t=i.a.number.getPrecisionSafe;return Math.max(t(e.min),t(e.max),t(e.step))+1}var a=e.data;if(!a)if(e.parametric){var o=e.parametricEquation||{},u=o.u||{},l=o.v||{};["u","v"].forEach(function(e){r(o[e])}),["x","y","z"].forEach(function(e){o[e]});var h=Math.floor((u.max+u.step-u.min)/u.step),c=Math.floor((l.max+l.step-l.min)/l.step);a=new Float32Array(h*c*5);for(var d=n(u),f=n(l),p=0,m=0;m<c;m++)for(var g=0;g<h;g++){var _=g*u.step+u.min,v=m*l.step+l.min,y=i.a.number.round(Math.min(_,u.max),d),x=i.a.number.round(Math.min(v,l.max),f),T=o.x(y,x),b=o.y(y,x),w=o.z(y,x);a[p++]=T,a[p++]=b,a[p++]=w,a[p++]=y,a[p++]=x}}else{var E=e.equation||{},S=E.x||{},A=E.y||{};if(["x","y"].forEach(function(e){r(E[e])}),"function"!=typeof E.z)return;var M=Math.floor((S.max+S.step-S.min)/S.step),C=Math.floor((A.max+A.step-A.min)/A.step);a=new Float32Array(M*C*3);for(var L=n(S),D=n(A),p=0,m=0;m<C;m++)for(var g=0;g<M;g++){var T=g*S.step+S.min,b=m*A.step+A.min,N=i.a.number.round(Math.min(T,S.max),L),R=i.a.number.round(Math.min(b,A.max),D),w=E.z(N,R);a[p++]=N,a[p++]=R,a[p++]=w}}var P=["x","y","z"];return e.parametric&&P.push("u","v"),Object(s.a)(this,P,a)},defaultOption:{coordinateSystem:"cartesian3D",zlevel:-10,grid3DIndex:0,shading:"lambert",parametric:!1,wireframe:{show:!0,lineStyle:{color:"rgba(0,0,0,0.5)",width:1}},equation:{x:{min:-1,max:1,step:.1},y:{min:-1,max:1,step:.1},z:null},parametricEquation:{u:{min:-1,max:1,step:.1},v:{min:-1,max:1,step:.1},x:null,y:null,z:null},itemStyle:{},animationDurationUpdate:500}});i.a.util.merge(u.prototype,a.a)},function(e,t,r){"use strict";function n(e){return isNaN(e[0])||isNaN(e[1])||isNaN(e[2])}var i=r(0),a=r.n(i),o=r(1),s=(r(2),r(6)),u=r(65),l=s.a.vec3;a.a.extendChartView({type:"surface",__ecgl__:!0,init:function(e,t){this.groupGL=new o.a.Node},render:function(e,t,r){var n=this._prevSurfaceMesh;this._prevSurfaceMesh=this._surfaceMesh,this._surfaceMesh=n,this._surfaceMesh||(this._surfaceMesh=this._createSurfaceMesh()),this.groupGL.remove(this._prevSurfaceMesh),this.groupGL.add(this._surfaceMesh);var i=e.coordinateSystem,a=e.get("shading"),s=e.getData(),u="ecgl."+a;if(this._surfaceMesh.material&&this._surfaceMesh.material.shader.name===u||(this._surfaceMesh.material=o.a.createMaterial(u,["VERTEX_COLOR","DOUBLE_SIDED"])),o.a.setMaterialFromModel(a,this._surfaceMesh.material,e,r),i&&i.viewGL){i.viewGL.add(this.groupGL);var l=i.viewGL.isLinearSpace()?"define":"undefine";this._surfaceMesh.material[l]("fragment","SRGB_DECODE")}var h=e.get("parametric"),c=this._getDataShape(s,h),d=e.getModel("wireframe"),f=d.get("lineStyle.width"),p=d.get("show")&&f>0;this._updateSurfaceMesh(this._surfaceMesh,e,c,p);var m=this._surfaceMesh.material;p?(m.define("WIREFRAME_QUAD"),m.set("wireframeLineWidth",f),m.set("wireframeLineColor",o.a.parseColor(d.get("lineStyle.color")))):m.undefine("WIREFRAME_QUAD"),this._initHandler(e,r),this._updateAnimation(e)},_updateAnimation:function(e){o.a.updateVertexAnimation([["prevPosition","position"],["prevNormal","normal"]],this._prevSurfaceMesh,this._surfaceMesh,e)},_createSurfaceMesh:function(){var e=new o.a.Mesh({geometry:new o.a.Geometry({dynamic:!0,sortTriangles:!0}),shadowDepthMaterial:new o.a.Material({shader:new o.a.Shader(o.a.Shader.source("ecgl.sm.depth.vertex"),o.a.Shader.source("ecgl.sm.depth.fragment"))}),culling:!1,renderOrder:10,renderNormal:!0});return e.geometry.createAttribute("barycentric","float",4),e.geometry.createAttribute("prevPosition","float",3),e.geometry.createAttribute("prevNormal","float",3),a.a.util.extend(e.geometry,u.a),e},_initHandler:function(e,t){function r(e,t){for(var r=1/0,n=-1,a=[],o=0;o<e.length;o++){i.geometry.attributes.position.get(e[o],a);var s=l.dist(t.array,a);s<r&&(r=s,n=e[o])}return n}var n=e.getData(),i=this._surfaceMesh,a=e.coordinateSystem;i.seriesIndex=e.seriesIndex;var o=-1;i.off("mousemove"),i.off("mouseout"),i.on("mousemove",function(e){var s=r(e.triangle,e.point);if(s>=0){var u=[];i.geometry.attributes.position.get(s,u);for(var h=a.pointToData(u),c=1/0,d=-1,f=[],p=0;p<n.count();p++){f[0]=n.get("x",p),f[1]=n.get("y",p),f[2]=n.get("z",p);var m=l.squaredDistance(f,h);m<c&&(d=p,c=m)}d!==o&&t.dispatchAction({type:"grid3DShowAxisPointer",value:h}),o=d,i.dataIndex=d}else i.dataIndex=-1},this),i.on("mouseout",function(e){o=-1,i.dataIndex=-1,t.dispatchAction({type:"grid3DHideAxisPointer"})},this)},_updateSurfaceMesh:function(e,t,r,i){var a=e.geometry,s=t.getData(),u=s.getLayout("points"),h=0;s.each(function(e){s.hasValue(e)||h++});var c=h||i,d=a.attributes.position,f=a.attributes.normal,p=a.attributes.texcoord0,m=a.attributes.barycentric,g=a.attributes.color,_=r.row,v=r.column,y=t.get("shading"),x="color"!==y;if(c){var T=(_-1)*(v-1)*4;d.init(T),i&&m.init(T)}else d.value=new Float32Array(u);g.init(a.vertexCount),p.init(a.vertexCount);var b=[0,3,1,1,3,2],w=[[1,1,0,0],[0,1,0,1],[1,0,0,1],[1,0,1,0]],E=a.indices=new(a.vertexCount>65535?Uint32Array:Uint16Array)((_-1)*(v-1)*6),S=function(e,t,r){r[1]=e*v+t,r[0]=e*v+t+1,r[3]=(e+1)*v+t+1,r[2]=(e+1)*v+t},A=!1;if(c){var M=[],C=[],L=0;x?f.init(a.vertexCount):f.value=null;for(var D=[[],[],[]],N=[],R=[],P=l.create(),I=function(e,t,r){var n=3*t;return r[0]=e[n],r[1]=e[n+1],r[2]=e[n+2],r},O=new Float32Array(u.length),F=new Float32Array(u.length/3*4),B=0;B<s.count();B++)if(s.hasValue(B)){var U=o.a.parseColor(s.getItemVisual(B,"color")),z=s.getItemVisual(B,"opacity");U[3]*=z,U[3]<.99&&(A=!0);for(var G=0;G<4;G++)F[4*B+G]=U[G]}for(var H=[1e7,1e7,1e7],B=0;B<_-1;B++)for(var V=0;V<v-1;V++){var k=B*(v-1)+V,W=4*k;S(B,V,M);for(var j=!1,G=0;G<4;G++)I(u,M[G],C),n(C)&&(j=!0);for(var G=0;G<4;G++)j?d.set(W+G,H):(I(u,M[G],C),d.set(W+G,C)),i&&m.set(W+G,w[G]);for(var G=0;G<6;G++)E[L++]=b[G]+W;if(x&&!j)for(var G=0;G<2;G++){for(var X=3*G,q=0;q<3;q++){var Z=M[b[X]+q];I(u,Z,D[q])}l.sub(N,D[0],D[1]),l.sub(R,D[1],D[2]),l.cross(P,N,R);for(var q=0;q<3;q++){var Y=3*M[b[X]+q];O[Y]=O[Y]+P[0],O[Y+1]=O[Y+1]+P[1],O[Y+2]=O[Y+2]+P[2]}}}if(x)for(var B=0;B<O.length/3;B++)I(O,B,P),l.normalize(P,P),O[3*B]=P[0],O[3*B+1]=P[1],O[3*B+2]=P[2];for(var U=[],K=[],B=0;B<_-1;B++)for(var V=0;V<v-1;V++){var k=B*(v-1)+V,W=4*k;S(B,V,M);for(var G=0;G<4;G++){for(var q=0;q<4;q++)U[q]=F[4*M[G]+q];g.set(W+G,U),x&&(I(O,M[G],P),f.set(W+G,P));var Z=M[G];K[0]=Z%v/(v-1),K[1]=Math.floor(Z/v)/(_-1),p.set(W+G,K)}k++}}else{for(var K=[],B=0;B<s.count();B++){K[0]=B%v/(v-1),K[1]=Math.floor(B/v)/(_-1);var U=o.a.parseColor(s.getItemVisual(B,"color")),z=s.getItemVisual(B,"opacity");U[3]*=z,U[3]<.99&&(A=!0),g.set(B,U),p.set(B,K)}for(var M=[],Q=0,B=0;B<_-1;B++)for(var V=0;V<v-1;V++){S(B,V,M);for(var G=0;G<6;G++)E[Q++]=M[b[G]]}x?a.generateVertexNormals():f.value=null}e.material.get("normalMap")&&a.generateTangents(),a.updateBoundingBox(),a.dirty(),e.material.transparent=A,e.material.depthMask=!A},_getDataShape:function(e,t){for(var r=-1/0,n=0,i=0,a=t?"u":"x",o=0;o<e.count();o++){var s=e.get(a,o);s<r&&(i,i=0,n++),r=s,i++}return{row:n+1,column:i}},dispose:function(){this.groupGL.removeAll()},remove:function(){this.groupGL.removeAll()}})},function(e,t,r){"use strict";var n=r(0);r.n(n).a.registerLayout(function(e,t){e.eachSeriesByType("surface",function(e){var t=e.coordinateSystem;!t||t.type;var r=e.getData(),n=new Float32Array(3*r.count()),i=[NaN,NaN,NaN];if(t&&"cartesian3D"===t.type){var a=t.dimensions,o=a.map(function(t){return e.coordDimToDataDim(t)[0]});r.each(o,function(e,a,o,s){var u;u=r.hasValue(s)?t.dataToPoint([e,a,o]):i,n[3*s]=u[0],n[3*s+1]=u[1],n[3*s+2]=u[2]})}r.setLayout("points",n)})})},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a=(r(99),r(257),r(258),r(17));i.a.registerVisual(Object(a.a)("map3D")),i.a.registerAction({type:"map3DChangeCamera",event:"map3dcamerachanged",update:"series:updateCamera"},function(e,t){t.eachComponent({mainType:"series",subType:"map3D",query:e},function(t){t.setView(e)})})},function(e,t,r){"use strict";function n(e,t){for(var r=[],n=0;n<t.length;n++)r.push(e.dataToPoint(t[n]));return r}var i=r(0),a=r.n(i),o=r(44),s=r(28),u=r(29),l=r(31),h=r(96),c=r(32),d=r(39),f=r(98),p=a.a.extendSeriesModel({type:"series.map3D",layoutMode:"box",coordinateSystem:null,visualColorAccessPath:"itemStyle.color",optionUpdated:function(e){e=e||{};var t=this.get("coordinateSystem");if(null!=t&&"geo3D"!==t){this.get("groundPlane.show")&&(this.option.groundPlane.show=!1),this._geo=null}},getInitialData:function(e){e.data=this.getFilledRegions(e.data,e.map);var t=a.a.helper.completeDimensions(["value"],e.data),r=new a.a.List(t,this);r.initData(e.data);var n={};return r.each(function(e){var t=r.getName(e),i=r.getItemModel(e);n[t]=i}),this._regionModelMap=n,r},formatTooltip:function(e){return Object(d.a)(this,e)},getRegionModel:function(e){var t=this.getData().getName(e);return this._regionModelMap[t]||new a.a.Model(null,this)},getRegionPolygonCoords:function(e){var t=this.coordinateSystem,r=this.getData().getName(e);if(t.transform){var i=t.getRegion(r);return i?i.geometries:[]}this._geo||(this._geo=f.a.createGeo3D(this));for(var i=this._geo.getRegion(r),a=[],o=0;o<i.geometries.length;o++){var s=i.geometries[o],u=[],l=n(t,s.exterior);if(u&&u.length)for(var h=0;h<s.interiors.length;h++)u.push(n(t,u[h]));a.push({interiors:u,exterior:l})}return a},getFormattedLabel:function(e,t){var r=c.a.getFormattedLabel(this,e,t);return null==r&&(r=this.getData().getName(e)),r},defaultOption:{coordinateSystem:"geo3D",data:null}});a.a.util.merge(p.prototype,h.a),a.a.util.merge(p.prototype,o.a),a.a.util.merge(p.prototype,s.a),a.a.util.merge(p.prototype,u.a),a.a.util.merge(p.prototype,l.a)},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a=r(1),o=r(45),s=r(30),u=r(64);i.a.extendChartView({type:"map3D",__ecgl__:!0,init:function(e,t){this._geo3DBuilder=new u.a(t),this.groupGL=new a.a.Node},render:function(e,t,r){var n=e.coordinateSystem;if(n&&n.viewGL){this.groupGL.add(this._geo3DBuilder.rootNode),n.viewGL.add(this.groupGL);if("geo3D"===n.type){n,this._sceneHelper||(this._sceneHelper=new s.a,this._sceneHelper.initLight(this.groupGL)),this._sceneHelper.setScene(n.viewGL.scene),this._sceneHelper.updateLight(e),n.viewGL.setPostEffect(e.getModel("postEffect"),r),n.viewGL.setTemporalSuperSampling(e.getModel("temporalSuperSampling"));var i=this._control;i||(i=this._control=new o.a({zr:r.getZr()}),this._control.init());var a=e.getModel("viewControl");i.setViewGL(n.viewGL),i.setFromViewControlModel(a,0),i.off("update"),i.on("update",function(){r.dispatchAction({type:"map3DChangeCamera",alpha:i.getAlpha(),beta:i.getBeta(),distance:i.getDistance(),from:this.uid,map3DId:e.id})}),this._geo3DBuilder.extrudeY=!0}else this._control&&(this._control.dispose(),this._control=null),this._sceneHelper&&(this._sceneHelper.dispose(),this._sceneHelper=null),e.getData().getLayout("geo3D"),this._geo3DBuilder.extrudeY=!1;this._geo3DBuilder.update(e,t,r,0,e.getData().count());var u=n.viewGL.isLinearSpace()?"define":"undefine";this._geo3DBuilder.rootNode.traverse(function(e){e.material&&e.material[u]("fragment","SRGB_DECODE")})}},afterRender:function(e,t,r,n){var i=n.renderer,a=e.coordinateSystem;a&&"geo3D"===a.type&&(this._sceneHelper.updateAmbientCubemap(i,e,r),this._sceneHelper.updateSkybox(i,e,r))},dispose:function(){this.groupGL.removeAll(),this._control.dispose()}})},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a=(r(260),r(261),r(51)),o=r.n(a),s=r(17);i.a.registerVisual(o()("scatterGL","circle",null)),i.a.registerVisual(Object(s.a)("scatterGL")),i.a.registerLayout({seriesType:"scatterGL",reset:function(e){var t,r=e.coordinateSystem;if(r){var n=r.dimensions,i=[];1===n.length?t=function(e,t){for(var i=new Float32Array(2*(e.end-e.start)),a=e.start;a<e.end;a++){var o=2*(a-e.start),s=t.get(n[0],a),u=r.dataToPoint(s);i[o]=u[0],i[o+1]=u[1]}t.setLayout("points",i)}:2===n.length&&(t=function(e,t){for(var a=new Float32Array(2*(e.end-e.start)),o=e.start;o<e.end;o++){var s=2*(o-e.start),u=t.get(n[0],o),l=t.get(n[1],o);i[0]=u,i[1]=l,i=r.dataToPoint(i),a[s]=i[0],a[s+1]=i[1]}t.setLayout("points",a)})}return{progress:t}}})},function(e,t,r){"use strict";var n=r(0),i=r.n(n);i.a.extendSeriesModel({type:"series.scatterGL",dependencies:["grid","polar","geo","singleAxis"],visualColorAccessPath:"itemStyle.color",getInitialData:function(){return i.a.helper.createList(this)},defaultOption:{coordinateSystem:"cartesian2d",zlevel:10,progressive:1e5,progressiveThreshold:1e5,large:!1,symbol:"circle",symbolSize:10,zoomScale:0,blendMode:"source-over",itemStyle:{opacity:.8},postEffect:{enable:!1,colorCorrection:{exposure:0,brightness:0,contrast:1,saturation:1,enable:!0}}}})},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a=r(1),o=r(22),s=r(67),u=r(103);r(2);i.a.extendChartView({type:"scatterGL",__ecgl__:!0,init:function(e,t){this.groupGL=new a.a.Node,this.viewGL=new o.a("orthographic"),this.viewGL.add(this.groupGL),this._pointsBuilderList=[],this._currentStep=0,this._sizeScale=1,this._glViewHelper=new u.a(this.viewGL)},render:function(e,t,r){if(this.groupGL.removeAll(),this._glViewHelper.reset(e,r),e.getData().count()){var n=this._pointsBuilderList[0];n||(n=this._pointsBuilderList[0]=new s.a(!0,r)),this._pointsBuilderList.length=1,this.groupGL.add(n.rootNode),this._removeTransformInPoints(e.getData().getLayout("points")),n.update(e,t,r),this.viewGL.setPostEffect(e.getModel("postEffect"),r)}},incrementalPrepareRender:function(e,t,r){this.groupGL.removeAll(),this._glViewHelper.reset(e,r),this._currentStep=0,this.viewGL.setPostEffect(e.getModel("postEffect"),r)},incrementalRender:function(e,t,r,n){if(!(e.end<=e.start)){var i=this._pointsBuilderList[this._currentStep];i||(i=new s.a(!0,n),this._pointsBuilderList[this._currentStep]=i),this.groupGL.add(i.rootNode),this._removeTransformInPoints(t.getData().getLayout("points")),i.setSizeScale(this._sizeScale),i.update(t,r,n,e.start,e.end),n.getZr().refresh(),this._currentStep++}},updateTransform:function(e,t,r){if(e.coordinateSystem.getRoamTransform){this._glViewHelper.updateTransform(e,r);var n=this._glViewHelper.getZoom(),i=Math.max((e.get("zoomScale")||0)*(n-1)+1,0);this._sizeScale=i,this._pointsBuilderList.forEach(function(e){e.setSizeScale(i)})}},_removeTransformInPoints:function(e){if(e)for(var t=[],r=0;r<e.length;r+=2)t[0]=e[r],t[1]=e[r+1],this._glViewHelper.removeTransformInPoint(t),e[r]=t[0],e[r+1]=t[1]},dispose:function(){this.groupGL.removeAll()},remove:function(){this.groupGL.removeAll()}})},function(e,t,r){"use strict";function n(){}var i=r(0),a=r.n(i),o=(r(263),r(268),r(51)),s=r.n(o),u=r(17);a.a.registerVisual(s()("graphGL","circle",null)),a.a.registerVisual(Object(u.a)("graphGL")),a.a.registerVisual(function(e){var t={};e.eachSeriesByType("graphGL",function(e){var r=e.getCategoriesData(),n=e.getData(),i={};r.each(function(n){var a=r.getName(n);i[a]=n;var o=r.getItemModel(n),s=o.get("itemStyle.color")||e.getColorFromPalette(a,t);r.setItemVisual(n,"color",s)}),r.count()&&n.each(function(e){var t=n.getItemModel(e),a=t.getShallow("category");null!=a&&("string"==typeof a&&(a=i[a]),n.getItemVisual(e,"color",!0)||n.setItemVisual(e,"color",r.getItemVisual(a,"color")))})})}),a.a.registerVisual(function(e){e.eachSeriesByType("graphGL",function(e){var t=e.getGraph(),r=e.getEdgeData(),n="lineStyle.color".split("."),i="lineStyle.opacity".split(".");r.setVisual("color",e.get(n)),r.setVisual("opacity",e.get(i)),r.each(function(e){var a=r.getItemModel(e),o=t.getEdgeByIndex(e),s=a.get(n),u=a.get(i);switch(s){case"source":s=o.node1.getVisual("color");break;case"target":s=o.node2.getVisual("color")}o.setVisual("color",s),o.setVisual("opacity",u)})})}),a.a.registerAction({type:"graphGLRoam",event:"graphglroam",update:"series.graphGL:roam"},function(e,t){t.eachComponent({mainType:"series",query:e},function(t){t.setView(e)})}),a.a.registerAction({type:"graphGLStartLayout",event:"graphgllayoutstarted",update:"series.graphGL:startLayout"},n),a.a.registerAction({type:"graphGLStopLayout",event:"graphgllayoutstopped",update:"series.graphGL:stopLayout"},n),a.a.registerAction({type:"graphGLFocusNodeAdjacency",event:"graphGLFocusNodeAdjacency",update:"series.graphGL:focusNodeAdjacency"},n),a.a.registerAction({type:"graphGLUnfocusNodeAdjacency",event:"graphGLUnfocusNodeAdjacency",update:"series.graphGL:unfocusNodeAdjacency"},n)},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a=r(264),o=r(32),s=i.a.extendSeriesModel({type:"series.graphGL",visualColorAccessPath:"itemStyle.color",init:function(e){s.superApply(this,"init",arguments),this.legendDataProvider=function(){return this._categoriesData},this._updateCategoriesData()},mergeOption:function(e){s.superApply(this,"mergeOption",arguments),this._updateCategoriesData()},getFormattedLabel:function(e,t,r,n){var i=o.a.getFormattedLabel(this,e,t,r,n);if(null==i){var a=this.getData(),s=a.dimensions[a.dimensions.length-1];i=a.get(s,e)}return i},getInitialData:function(e,t){function r(e,r){function n(e){return e=this.parsePath(e),e&&"label"===e[0]?o:this.parentModel}e.wrapMethod("getItemModel",function(e){var t=s._categoriesModels,r=e.getShallow("category"),n=t[r];return n&&(n.parentModel=e.parentModel,e.parentModel=n),e});var a=s.getModel("edgeLabel"),o=new i.a.Model({label:a.option},a.parentModel,t);r.wrapMethod("getItemModel",function(e){return e.customizeGetParent(n),e})}var n=e.edges||e.links||[],o=e.data||e.nodes||[],s=this;if(o&&n)return Object(a.a)(o,n,this,!0,r).data},getGraph:function(){return this.getData().graph},getEdgeData:function(){return this.getGraph().edgeData},getCategoriesData:function(){return this._categoriesData},formatTooltip:function(e,t,r){if("edge"===r){var n=this.getData(),a=this.getDataParams(e,r),o=n.graph.getEdgeByIndex(e),u=n.getName(o.node1.dataIndex),l=n.getName(o.node2.dataIndex),h=[];return null!=u&&h.push(u),null!=l&&h.push(l),h=i.a.format.encodeHTML(h.join(" > ")),a.value&&(h+=" : "+i.a.format.encodeHTML(a.value)),h}return s.superApply(this,"formatTooltip",arguments)},_updateCategoriesData:function(){var e=(this.option.categories||[]).map(function(e){return null!=e.value?e:i.a.util.extend({value:0},e)}),t=new i.a.List(["value"],this);t.initData(e),this._categoriesData=t,this._categoriesModels=t.mapArray(function(e){return t.getItemModel(e,!0)})},setView:function(e){null!=e.zoom&&(this.option.zoom=e.zoom),null!=e.offset&&(this.option.offset=e.offset)},setNodePosition:function(e){for(var t=0;t<e.length/2;t++){var r=e[2*t],n=e[2*t+1],i=this.getData().getRawDataItem(t);i.x=r,i.y=n}},isAnimationEnabled:function(){return s.superCall(this,"isAnimationEnabled")&&!("force"===this.get("layout")&&this.get("force.layoutAnimation"))},defaultOption:{zlevel:10,z:2,legendHoverLink:!0,layout:"forceAtlas2",forceAtlas2:{initLayout:null,GPU:!0,steps:1,maxSteps:1e3,repulsionByDegree:!0,linLogMode:!1,strongGravityMode:!1,gravity:1,edgeWeightInfluence:1,edgeWeight:[1,4],nodeWeight:[1,4],preventOverlap:!1,gravityCenter:null},focusNodeAdjacency:!0,focusNodeAdjacencyOn:"mouseover",left:"center",top:"center",symbol:"circle",symbolSize:5,roam:!1,center:null,zoom:1,label:{show:!1,formatter:"{b}",position:"right",distance:5,textStyle:{fontSize:14}},itemStyle:{},lineStyle:{color:"#aaa",width:1,opacity:.5},emphasis:{label:{show:!0}},animation:!1}})},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a=r(265),o=r.n(a),s=r(267),u=r.n(s),l=r(2);t.a=function(e,t,r,n,a){for(var s=new o.a(n),h=0;h<e.length;h++)s.addNode(l.a.firstNotNull(e[h].id,e[h].name,h),h);for(var c=[],d=[],f=0,h=0;h<t.length;h++){var p=t[h],m=p.source,g=p.target;s.addEdge(m,g,f)&&(d.push(p),c.push(l.a.firstNotNull(p.id,m+" > "+g)),f++)}var _,v=i.a.helper.completeDimensions(["value"],e);_=new i.a.List(v,r),_.initData(e);var y=new i.a.List(["value"],r);return y.initData(d,c),a&&a(_,y),u()({mainData:_,struct:s,structAttr:"graph",datas:{node:_,edge:y},datasAttr:{node:"data",edge:"edgeData"}}),s.update(),s}},function(e,t,r){function n(e){return"_EC_"+e}function i(e,t){this.id=null==e?"":e,this.inEdges=[],this.outEdges=[],this.edges=[],this.hostGraph,this.dataIndex=null==t?-1:t}function a(e,t,r){this.node1=e,this.node2=t,this.dataIndex=null==r?-1:r}var o=r(104),s=(o.__DEV__,r(13)),u=r(266),l=u.enableClassCheck,h=function(e){this._directed=e||!1,this.nodes=[],this.edges=[],this._nodesMap={},this._edgesMap={},this.data,this.edgeData},c=h.prototype;c.type="graph",c.isDirected=function(){return this._directed},c.addNode=function(e,t){e=e||""+t;var r=this._nodesMap;if(!r[n(e)]){var a=new i(e,t);return a.hostGraph=this,this.nodes.push(a),r[n(e)]=a,a}},c.getNodeByIndex=function(e){var t=this.data.getRawIndex(e);return this.nodes[t]},c.getNodeById=function(e){return this._nodesMap[n(e)]},c.addEdge=function(e,t,r){var o=this._nodesMap,s=this._edgesMap;if("number"==typeof e&&(e=this.nodes[e]),"number"==typeof t&&(t=this.nodes[t]),i.isInstance(e)||(e=o[n(e)]),i.isInstance(t)||(t=o[n(t)]),e&&t){var u=e.id+"-"+t.id;if(!s[u]){var l=new a(e,t,r);return l.hostGraph=this,this._directed&&(e.outEdges.push(l),t.inEdges.push(l)),e.edges.push(l),e!==t&&t.edges.push(l),this.edges.push(l),s[u]=l,l}}},c.getEdgeByIndex=function(e){var t=this.edgeData.getRawIndex(e);return this.edges[t]},c.getEdge=function(e,t){i.isInstance(e)&&(e=e.id),i.isInstance(t)&&(t=t.id);var r=this._edgesMap;return this._directed?r[e+"-"+t]:r[e+"-"+t]||r[t+"-"+e]},c.eachNode=function(e,t){for(var r=this.nodes,n=r.length,i=0;i<n;i++)r[i].dataIndex>=0&&e.call(t,r[i],i)},c.eachEdge=function(e,t){for(var r=this.edges,n=r.length,i=0;i<n;i++)r[i].dataIndex>=0&&r[i].node1.dataIndex>=0&&r[i].node2.dataIndex>=0&&e.call(t,r[i],i)},c.breadthFirstTraverse=function(e,t,r,a){if(i.isInstance(t)||(t=this._nodesMap[n(t)]),t){for(var o="out"===r?"outEdges":"in"===r?"inEdges":"edges",s=0;s<this.nodes.length;s++)this.nodes[s].__visited=!1;if(!e.call(a,t,null))for(var u=[t];u.length;)for(var l=u.shift(),h=l[o],s=0;s<h.length;s++){var c=h[s],d=c.node1===l?c.node2:c.node1;if(!d.__visited){if(e.call(a,d,l))return;u.push(d),d.__visited=!0}}}},c.update=function(){for(var e=this.data,t=this.edgeData,r=this.nodes,n=this.edges,i=0,a=r.length;i<a;i++)r[i].dataIndex=-1;for(var i=0,a=e.count();i<a;i++)r[e.getRawIndex(i)].dataIndex=i;t.filterSelf(function(e){var r=n[t.getRawIndex(e)];return r.node1.dataIndex>=0&&r.node2.dataIndex>=0});for(var i=0,a=n.length;i<a;i++)n[i].dataIndex=-1;for(var i=0,a=t.count();i<a;i++)n[t.getRawIndex(i)].dataIndex=i},c.clone=function(){for(var e=new h(this._directed),t=this.nodes,r=this.edges,n=0;n<t.length;n++)e.addNode(t[n].id,t[n].dataIndex);for(var n=0;n<r.length;n++){var i=r[n];e.addEdge(i.node1.id,i.node2.id,i.dataIndex)}return e},i.prototype={constructor:i,degree:function(){return this.edges.length},inDegree:function(){return this.inEdges.length},outDegree:function(){return this.outEdges.length},getModel:function(e){if(!(this.dataIndex<0)){return this.hostGraph.data.getItemModel(this.dataIndex).getModel(e)}}},a.prototype.getModel=function(e){if(!(this.dataIndex<0)){return this.hostGraph.edgeData.getItemModel(this.dataIndex).getModel(e)}};var d=function(e,t){return{getValue:function(r){var n=this[e][t];return n.get(n.getDimension(r||"value"),this.dataIndex)},setVisual:function(r,n){this.dataIndex>=0&&this[e][t].setItemVisual(this.dataIndex,r,n)},getVisual:function(r,n){return this[e][t].getItemVisual(this.dataIndex,r,n)},setLayout:function(r,n){this.dataIndex>=0&&this[e][t].setItemLayout(this.dataIndex,r,n)},getLayout:function(){return this[e][t].getItemLayout(this.dataIndex)},getGraphicEl:function(){return this[e][t].getItemGraphicEl(this.dataIndex)},getRawIndex:function(){return this[e][t].getRawIndex(this.dataIndex)}}};s.mixin(i,d("hostGraph","data")),s.mixin(a,d("hostGraph","edgeData")),h.Node=i,h.Edge=a,l(i),l(a);var f=h;e.exports=f},function(e,t,r){function n(e){var t={main:"",sub:""};return e&&(e=e.split(f),t.main=e[0]||"",t.sub=e[1]||""),t}function i(e){d.assert(/^[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)?$/.test(e),'componentType "'+e+'" illegal')}function a(e,t){e.$constructor=e,e.extend=function(e){var t=this,r=function(){e.$constructor?e.$constructor.apply(this,arguments):t.apply(this,arguments)};return d.extend(r.prototype,e),r.extend=this.extend,r.superCall=s,r.superApply=u,d.inherits(r,this),r.superClass=t,r}}function o(e){var t=["__\0is_clz",m++,Math.random().toFixed(3)].join("_");e.prototype[t]=!0,e.isInstance=function(e){return!(!e||!e[t])}}function s(e,t){var r=d.slice(arguments,2);return this.superClass.prototype[t].apply(e,r)}function u(e,t,r){return this.superClass.prototype[t].apply(e,r)}function l(e,t){function r(e){var t=a[e.main];return t&&t[p]||(t=a[e.main]={},t[p]=!0),t}t=t||{};var a={};if(e.registerClass=function(e,t){if(t)if(i(t),t=n(t),t.sub){if(t.sub!==p){var o=r(t);o[t.sub]=e}}else a[t.main]=e;return e},e.getClass=function(e,t,r){var n=a[e];if(n&&n[p]&&(n=t?n[t]:null),r&&!n)throw new Error(t?"Component "+e+"."+(t||"")+" not exists. Load it first.":e+".type should be specified.");return n},e.getClassesByMainType=function(e){e=n(e);var t=[],r=a[e.main];return r&&r[p]?d.each(r,function(e,r){r!==p&&t.push(e)}):t.push(r),t},e.hasClass=function(e){return e=n(e),!!a[e.main]},e.getAllClassMainTypes=function(){var e=[];return d.each(a,function(t,r){e.push(r)}),e},e.hasSubTypes=function(e){e=n(e);var t=a[e.main];return t&&t[p]},e.parseClassType=n,t.registerWhenExtend){var o=e.extend;o&&(e.extend=function(t){var r=o.call(this,t);return e.registerClass(r,t.type)})}return e}function h(e,t){}var c=r(104),d=(c.__DEV__,r(13)),f=".",p="___EC__COMPONENT__CONTAINER___",m=0;t.parseClassType=n,t.enableClassExtend=a,t.enableClassCheck=o,t.enableClassManagement=l,t.setReadOnly=h},function(e,t,r){function n(e){var t=e.mainData,r=e.datas;r||(r={main:t},e.datasAttr={main:"data"}),e.datas=e.mainData=null,l(t,r,e),d(r,function(r){d(t.TRANSFERABLE_METHODS,function(t){r.wrapMethod(t,c.curry(i,e))})}),t.wrapMethod("cloneShallow",c.curry(o,e)),d(t.CHANGABLE_METHODS,function(r){t.wrapMethod(r,c.curry(a,e))}),c.assert(r[t.dataType]===t)}function i(e,t){if(u(this)){var r=c.extend({},this[f]);r[this.dataType]=t,l(t,r,e)}else h(t,this.dataType,this[p],e);return t}function a(e,t){return e.struct&&e.struct.update(this),t}function o(e,t){return d(t[f],function(r,n){r!==t&&h(r.cloneShallow(),n,t,e)}),t}function s(e){var t=this[p];return null==e||null==t?t:t[f][e]}function u(e){return e[p]===e}function l(e,t,r){e[f]={},d(t,function(t,n){h(t,n,e,r)})}function h(e,t,r,n){r[f][t]=e,e[p]=r,e.dataType=t,n.struct&&(e[n.structAttr]=n.struct,n.struct[n.datasAttr[t]]=e),e.getLinkedData=s}var c=r(13),d=c.each,f="\0__link_datas",p="\0__link_mainData",m=n;e.exports=m},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a=r(47),o=r.n(a),s=r(1),u=r(22),l=r(105),h=r(2),c=r(269),d=r(271),f=r(80),p=r.n(f),m=r(6),g=r(273),_=r(67),v=r(274),y=m.a.vec2;s.a.Shader.import(v.a);var x=1;i.a.extendChartView({type:"graphGL",__ecgl__:!0,init:function(e,t){this.groupGL=new s.a.Node,this.viewGL=new u.a("orthographic"),this.viewGL.camera.left=this.viewGL.camera.right=0,this.viewGL.add(this.groupGL),this._pointsBuilder=new _.a(!0,t),this._forceEdgesMesh=new s.a.Mesh({material:new s.a.Material({shader:s.a.createShader("ecgl.forceAtlas2.edges"),transparent:!0,depthMask:!1,depthTest:!1}),$ignorePicking:!0,geometry:new s.a.Geometry({attributes:{node:new s.a.Geometry.Attribute("node","float",2),color:new s.a.Geometry.Attribute("color","float",4,"COLOR")},dynamic:!0,mainAttribute:"node"}),renderOrder:-1,mode:s.a.Mesh.LINES}),this._edgesMesh=new s.a.Mesh({material:new s.a.Material({shader:s.a.createShader("ecgl.meshLines2D"),transparent:!0,depthMask:!1,depthTest:!1}),$ignorePicking:!0,geometry:new l.a({useNativeLine:!1,dynamic:!0}),renderOrder:-1,culling:!1}),this._layoutId=0,this._control=new g.a({zr:t.getZr(),viewGL:this.viewGL}),this._control.setTarget(this.groupGL),this._control.init(),this._clickHandler=this._clickHandler.bind(this)},render:function(e,t,r){this.groupGL.add(this._pointsBuilder.rootNode),this._model=e,this._api=r,this._initLayout(e,t,r),this._pointsBuilder.update(e,t,r),this._forceLayoutInstance instanceof c.a||this.groupGL.remove(this._forceEdgesMesh),this._updateCamera(e,r),this._control.off("update"),this._control.on("update",function(){r.dispatchAction({type:"graphGLRoam",seriesId:e.id,zoom:this._control.getZoom(),offset:this._control.getOffset()}),this._pointsBuilder.updateView(this.viewGL.camera)},this),this._control.setZoom(h.a.firstNotNull(e.get("zoom"),1)),this._control.setOffset(e.get("offset")||[0,0]);var n=this._pointsBuilder.getPointsMesh();if(n.off("mousemove",this._mousemoveHandler),n.off("mouseout",this._mouseOutHandler,this),r.getZr().off("click",this._clickHandler),this._pointsBuilder.highlightOnMouseover=!0,e.get("focusNodeAdjacency")){var i=e.get("focusNodeAdjacencyOn");"click"===i?r.getZr().on("click",this._clickHandler):"mouseover"===i&&(n.on("mousemove",this._mousemoveHandler,this),n.on("mouseout",this._mouseOutHandler,this),this._pointsBuilder.highlightOnMouseover=!1)}this._lastMouseOverDataIndex=-1},_clickHandler:function(e){if(!this._layouting){var t=this._pointsBuilder.getPointsMesh().dataIndex;t>=0?this._api.dispatchAction({type:"graphGLFocusNodeAdjacency",seriesId:this._model.id,dataIndex:t}):this._api.dispatchAction({type:"graphGLUnfocusNodeAdjacency",seriesId:this._model.id})}},_mousemoveHandler:function(e){if(!this._layouting){var t=this._pointsBuilder.getPointsMesh().dataIndex;t>=0?t!==this._lastMouseOverDataIndex&&this._api.dispatchAction({type:"graphGLFocusNodeAdjacency",seriesId:this._model.id,dataIndex:t}):this._mouseOutHandler(e),this._lastMouseOverDataIndex=t}},_mouseOutHandler:function(e){this._layouting||(this._api.dispatchAction({type:"graphGLUnfocusNodeAdjacency",seriesId:this._model.id}),this._lastMouseOverDataIndex=-1)},_updateForceEdgesGeometry:function(e,t){var r=this._forceEdgesMesh.geometry,n=t.getEdgeData(),i=0,a=this._forceLayoutInstance,o=2*n.count();r.attributes.node.init(o),r.attributes.color.init(o),n.each(function(t){var o=e[t];r.attributes.node.set(i,a.getNodeUV(o.node1)),r.attributes.node.set(i+1,a.getNodeUV(o.node2));var u=n.getItemVisual(o.dataIndex,"color"),l=s.a.parseColor(u);l[3]*=h.a.firstNotNull(n.getItemVisual(o.dataIndex,"opacity"),1),r.attributes.color.set(i,l),r.attributes.color.set(i+1,l),i+=2}),r.dirty()},_updateMeshLinesGeometry:function(){var e=this._model.getEdgeData(),t=this._edgesMesh.geometry,e=this._model.getEdgeData(),r=this._model.getData().getLayout("points");t.resetOffset(),t.setVertexCount(e.count()*t.getLineVertexCount()),t.setTriangleCount(e.count()*t.getLineTriangleCount());var n=[],i=[],a=["lineStyle","width"];this._originalEdgeColors=new Float32Array(4*e.count()),this._edgeIndicesMap=new Float32Array(e.count()),e.each(function(o){var u=e.graph.getEdgeByIndex(o),l=2*u.node1.dataIndex,c=2*u.node2.dataIndex;n[0]=r[l],n[1]=r[l+1],i[0]=r[c],i[1]=r[c+1];var d=e.getItemVisual(u.dataIndex,"color"),f=s.a.parseColor(d);f[3]*=h.a.firstNotNull(e.getItemVisual(u.dataIndex,"opacity"),1);var p=e.getItemModel(u.dataIndex),m=h.a.firstNotNull(p.get(a),1)*this._api.getDevicePixelRatio();t.addLine(n,i,f,m);for(var g=0;g<4;g++)this._originalEdgeColors[4*u.dataIndex+g]=f[g];this._edgeIndicesMap[u.dataIndex]=o},this),t.dirty()},_updateForceNodesGeometry:function(e){for(var t=this._pointsBuilder.getPointsMesh(),r=[],n=0;n<e.count();n++)this._forceLayoutInstance.getNodeUV(n,r),t.geometry.attributes.position.set(n,r);t.geometry.dirty("position")},_initLayout:function(e,t,r){var n=e.get("layout"),a=e.getGraph(),s=e.getBoxLayoutParams(),u=o.a.getLayoutRect(s,{width:r.getWidth(),height:r.getHeight()});"force"===n&&(n="forceAtlas2"),this.stopLayout(e,t,r,{beforeLayout:!0});var l=e.getData(),f=e.getData();if("forceAtlas2"===n){var p=e.getModel("forceAtlas2"),m=this._forceLayoutInstance,g=[],_=[],v=l.getDataExtent("value"),y=f.getDataExtent("value"),x=h.a.firstNotNull(p.get("edgeWeight"),1),T=h.a.firstNotNull(p.get("nodeWeight"),1);"number"==typeof x&&(x=[x,x]),"number"==typeof T&&(T=[T,T]);var b=0,w={},E=new Float32Array(2*l.count());if(a.eachNode(function(e){var t,r,n=e.dataIndex,a=l.get("value",n);if(l.hasItemOption){var o=l.getItemModel(n);t=o.get("x"),r=o.get("y")}null==t&&(t=u.x+Math.random()*u.width,r=u.y+Math.random()*u.height),E[2*b]=t,E[2*b+1]=r,w[e.id]=b++;var s=i.a.number.linearMap(a,v,T);isNaN(s)&&(s=isNaN(T[0])?1:T[0]),g.push({x:t,y:r,mass:s,size:l.getItemVisual(n,"symbolSize")})}),l.setLayout("points",E),a.eachEdge(function(e){var t=e.dataIndex,r=l.get("value",t),n=i.a.number.linearMap(r,y,x);isNaN(n)&&(n=isNaN(x[0])?1:x[0]),_.push({node1:w[e.node1.id],node2:w[e.node2.id],weight:n,dataIndex:t})}),!m){var S=p.get("GPU");this._forceLayoutInstance&&((!S||this._forceLayoutInstance instanceof c.a)&&(S||this._forceLayoutInstance instanceof d.a)||(this._forceLayoutInstanceToDispose=this._forceLayoutInstance)),m=this._forceLayoutInstance=S?new c.a:new d.a}m.initData(g,_),m.updateOption(p.option),this._updateForceEdgesGeometry(m.getEdges(),e),this._updatePositionTexture(),r.dispatchAction({type:"graphGLStartLayout",from:this.uid})}else{var E=new Float32Array(2*l.count()),b=0;a.eachNode(function(e){var t,r,n=e.dataIndex;if(l.hasItemOption){var i=l.getItemModel(n);t=i.get("x"),r=i.get("y")}E[b++]=t,E[b++]=r}),l.setLayout("points",E),this._updateAfterLayout(e,t,r)}},_updatePositionTexture:function(){var e=this._forceLayoutInstance.getNodePositionTexture();this._pointsBuilder.setPositionTexture(e),this._forceEdgesMesh.material.set("positionTex",e)},startLayout:function(e,t,r,n){if(!n||null==n.from||n.from===this.uid){var i=this.viewGL,r=this._api,a=this._forceLayoutInstance,o=this._model.getData(),s=this._model.getModel("forceAtlas2");if(a&&(this.groupGL.remove(this._edgesMesh),this.groupGL.add(this._forceEdgesMesh),this._forceLayoutInstance)){this._updateForceNodesGeometry(e.getData()),this._pointsBuilder.hideLabels();var u=this,l=this._layoutId=x++,h=s.getShallow("maxSteps"),c=s.getShallow("steps"),d=0,f=Math.max(2*c,20),m=function(t){if(t===u._layoutId)return a.isFinished(h)?(r.dispatchAction({type:"graphGLStopLayout",from:u.uid}),void r.dispatchAction({type:"graphGLFinishLayout",points:o.getLayout("points"),from:u.uid})):void a.update(i.layer.renderer,c,function(){u._updatePositionTexture(),d+=c,d>=f&&(u._syncNodePosition(e),d=0),r.getZr().refresh(),p()(function(){m(t)})})};p()(function(){u._forceLayoutInstanceToDispose&&(u._forceLayoutInstanceToDispose.dispose(i.layer.renderer),u._forceLayoutInstanceToDispose=null),m(l)}),this._layouting=!0}}},stopLayout:function(e,t,r,n){n&&null!=n.from&&n.from!==this.uid||(this._layoutId=0,this.groupGL.remove(this._forceEdgesMesh),this.groupGL.add(this._edgesMesh),this._forceLayoutInstance&&this.viewGL.layer&&(n&&n.beforeLayout||(this._syncNodePosition(e),this._updateAfterLayout(e,t,r)),this._api.getZr().refresh(),this._layouting=!1))},_syncNodePosition:function(e){var t=this._forceLayoutInstance.getNodePosition(this.viewGL.layer.renderer);e.getData().setLayout("points",t),e.setNodePosition(t)},_updateAfterLayout:function(e,t,r){this._updateMeshLinesGeometry(),this._pointsBuilder.removePositionTexture(),this._pointsBuilder.updateLayout(e,t,r),this._pointsBuilder.updateView(this.viewGL.camera),this._pointsBuilder.updateLabels(),this._pointsBuilder.showLabels()},focusNodeAdjacency:function(e,t,r,n){var i=this._model.getData();this._downplayAll();var a=n.dataIndex,o=i.graph,s=[],u=o.getNodeByIndex(a);s.push(u),u.edges.forEach(function(e){e.dataIndex<0||(e.node1!==u&&s.push(e.node1),e.node2!==u&&s.push(e.node2))},this),this._pointsBuilder.fadeOutAll(.05),this._fadeOutEdgesAll(.05),s.forEach(function(e){this._pointsBuilder.highlight(i,e.dataIndex)},this),this._pointsBuilder.updateLabels(s.map(function(e){return e.dataIndex}));var l=[];u.edges.forEach(function(e){e.dataIndex>=0&&(this._highlightEdge(e.dataIndex),l.push(e))},this),this._focusNodes=s,this._focusEdges=l},unfocusNodeAdjacency:function(e,t,r,n){this._downplayAll(),this._pointsBuilder.fadeInAll(),this._fadeInEdgesAll(),this._pointsBuilder.updateLabels()},_highlightEdge:function(e){var t=this._model.getEdgeData().getItemModel(e),r=s.a.parseColor(t.get("emphasis.lineStyle.color")||t.get("lineStyle.color")),n=h.a.firstNotNull(t.get("emphasis.lineStyle.opacity"),t.get("lineStyle.opacity"),1);r[3]*=n,this._edgesMesh.geometry.setItemColor(this._edgeIndicesMap[e],r)},_downplayAll:function(){this._focusNodes&&this._focusNodes.forEach(function(e){this._pointsBuilder.downplay(this._model.getData(),e.dataIndex)},this),this._focusEdges&&this._focusEdges.forEach(function(e){this._downplayEdge(e.dataIndex)},this)},_downplayEdge:function(e){var t=this._getColor(e,[]);this._edgesMesh.geometry.setItemColor(this._edgeIndicesMap[e],t)},_setEdgeFade:function(){var e=[];return function(t,r){this._getColor(t,e),e[3]*=r,this._edgesMesh.geometry.setItemColor(this._edgeIndicesMap[t],e)}}(),_getColor:function(e,t){for(var r=0;r<4;r++)t[r]=this._originalEdgeColors[4*e+r];return t},_fadeOutEdgesAll:function(e){this._model.getData().graph.eachEdge(function(t){this._setEdgeFade(t.dataIndex,e)},this)},_fadeInEdgesAll:function(){this._fadeOutEdgesAll(1)},_updateCamera:function(e,t){this.viewGL.setViewport(0,0,t.getWidth(),t.getHeight(),t.getDevicePixelRatio());for(var r=this.viewGL.camera,n=e.getData(),i=n.getLayout("points"),a=y.create(1/0,1/0),o=y.create(-1/0,-1/0),s=[],u=0;u<i.length;)s[0]=i[u++],s[1]=i[u++],y.min(a,a,s),y.max(o,o,s);var l=(o[1]+a[1])/2,h=(o[0]+a[0])/2;if(!(h>r.left&&h<r.right&&l<r.bottom&&l>r.top)){var c=Math.max(o[0]-a[0],10),d=c/t.getWidth()*t.getHeight();c*=1.4,d*=1.4,a[0]-=.2*c,r.left=a[0],r.top=l-d/2,r.bottom=l+d/2,r.right=c+a[0],r.near=0,r.far=100}},dispose:function(){var e=this.viewGL.layer.renderer;this._forceLayoutInstance&&this._forceLayoutInstance.dispose(e),this.groupGL.removeAll(),this._layoutId=-1},remove:function(){this.groupGL.removeAll(),this._control.dispose()}})},function(e,t,r){"use strict";function n(e){var t={type:o.a.Texture.FLOAT,minFilter:o.a.Texture.NEAREST,magFilter:o.a.Texture.NEAREST};this._positionSourceTex=new o.a.Texture2D(t),this._positionSourceTex.flipY=!1,this._positionTex=new o.a.Texture2D(t),this._positionPrevTex=new o.a.Texture2D(t),this._forceTex=new o.a.Texture2D(t),this._forcePrevTex=new o.a.Texture2D(t),this._weightedSumTex=new o.a.Texture2D(t),this._weightedSumTex.width=this._weightedSumTex.height=1,this._globalSpeedTex=new o.a.Texture2D(t),this._globalSpeedPrevTex=new o.a.Texture2D(t),this._globalSpeedTex.width=this._globalSpeedTex.height=1,this._globalSpeedPrevTex.width=this._globalSpeedPrevTex.height=1,this._nodeRepulsionPass=new s.a({fragment:o.a.Shader.source("ecgl.forceAtlas2.updateNodeRepulsion")}),this._positionPass=new s.a({fragment:o.a.Shader.source("ecgl.forceAtlas2.updatePosition")}),this._globalSpeedPass=new s.a({fragment:o.a.Shader.source("ecgl.forceAtlas2.calcGlobalSpeed")}),this._copyPass=new s.a({fragment:o.a.Shader.source("clay.compositor.output")});var r=function(e){e.blendEquation(e.FUNC_ADD),e.blendFunc(e.ONE,e.ONE)};this._edgeForceMesh=new o.a.Mesh({geometry:new o.a.Geometry({attributes:{node1:new o.a.Geometry.Attribute("node1","float",2),node2:new o.a.Geometry.Attribute("node2","float",2),weight:new o.a.Geometry.Attribute("weight","float",1)},dynamic:!0,mainAttribute:"node1"}),material:new o.a.Material({transparent:!0,shader:o.a.createShader("ecgl.forceAtlas2.updateEdgeAttraction"),blend:r,depthMask:!1,depthText:!1}),mode:o.a.Mesh.POINTS}),this._weightedSumMesh=new o.a.Mesh({geometry:new o.a.Geometry({attributes:{node:new o.a.Geometry.Attribute("node","float",2)},dynamic:!0,mainAttribute:"node"}),material:new o.a.Material({transparent:!0,shader:o.a.createShader("ecgl.forceAtlas2.calcWeightedSum"),blend:r,depthMask:!1,depthText:!1}),mode:o.a.Mesh.POINTS}),this._framebuffer=new u.a({depthBuffer:!1}),this._dummyCamera=new o.a.OrthographicCamera({left:-1,right:1,top:1,bottom:-1,near:0,far:100}),this._globalSpeed=0}var i=r(0),a=r.n(i),o=r(1),s=r(16),u=r(10),l=r(270);o.a.Shader.import(l.a);var h={repulsionByDegree:!0,linLogMode:!1,strongGravityMode:!1,gravity:1,scaling:1,edgeWeightInfluence:1,jitterTolerence:.1,preventOverlap:!1,dissuadeHubs:!1,gravityCenter:null};n.prototype.updateOption=function(e){for(var t in h)this[t]=h[t];var r=this._nodes.length;if(this.jitterTolerence=r>5e4?10:r>5e3?1:.1,this.scaling=r>100?2:10,e)for(var t in h)null!=e[t]&&(this[t]=e[t]);if(this.repulsionByDegree)for(var n=this._positionSourceTex.pixels,i=0;i<this._nodes.length;i++)n[4*i+2]=(this._nodes[i].degree||0)+1},n.prototype._updateGravityCenter=function(e){var t=this._nodes,r=this._edges;if(this.gravityCenter)this._gravityCenter=this.gravityCenter;else{for(var n=[1/0,1/0],i=[-1/0,-1/0],a=0;a<t.length;a++)n[0]=Math.min(t[a].x,n[0]),n[1]=Math.min(t[a].y,n[1]),i[0]=Math.max(t[a].x,i[0]),i[1]=Math.max(t[a].y,i[1]);this._gravityCenter=[.5*(n[0]+i[0]),.5*(n[1]+i[1])]}for(var a=0;a<r.length;a++){var o=r[a].node1,s=r[a].node2;t[o].degree=(t[o].degree||0)+1,t[s].degree=(t[s].degree||0)+1}},n.prototype.initData=function(e,t){this._nodes=e,this._edges=t,this._updateGravityCenter();var r=Math.ceil(Math.sqrt(e.length)),n=r,i=new Float32Array(r*n*4);this._resize(r,n);for(var a=0,o=0;o<e.length;o++){var s=e[o];i[a++]=s.x||0,i[a++]=s.y||0,i[a++]=s.mass||1,i[a++]=s.size||1}this._positionSourceTex.pixels=i;var u=this._edgeForceMesh.geometry,l=t.length;u.attributes.node1.init(2*l),u.attributes.node2.init(2*l),u.attributes.weight.init(2*l);for(var h=[],o=0;o<t.length;o++){var c=u.attributes,d=t[o].weight;null==d&&(d=1),c.node1.set(o,this.getNodeUV(t[o].node1,h)),c.node2.set(o,this.getNodeUV(t[o].node2,h)),c.weight.set(o,d),c.node1.set(o+l,this.getNodeUV(t[o].node2,h)),c.node2.set(o+l,this.getNodeUV(t[o].node1,h)),c.weight.set(o+l,d)}var f=this._weightedSumMesh.geometry;f.attributes.node.init(e.length);for(var o=0;o<e.length;o++)f.attributes.node.set(o,this.getNodeUV(o,h));u.dirty(),f.dirty(),this._nodeRepulsionPass.material.define("fragment","NODE_COUNT",e.length),this._nodeRepulsionPass.material.setUniform("textureSize",[r,n]),this._inited=!1,this._frame=0},n.prototype.getNodes=function(){return this._nodes},n.prototype.getEdges=function(){return this._edges},n.prototype.step=function(e){this._inited||(this._initFromSource(e),this._inited=!0),this._frame++,this._framebuffer.attach(this._forceTex),this._framebuffer.bind(e);var t=this._nodeRepulsionPass;t.setUniform("strongGravityMode",this.strongGravityMode),t.setUniform("gravity",this.gravity),t.setUniform("gravityCenter",this._gravityCenter),t.setUniform("scaling",this.scaling),t.setUniform("preventOverlap",this.preventOverlap),t.setUniform("positionTex",this._positionPrevTex),t.render(e);var r=this._edgeForceMesh;r.material.set("linLogMode",this.linLogMode),r.material.set("edgeWeightInfluence",this.edgeWeightInfluence),r.material.set("preventOverlap",this.preventOverlap),r.material.set("positionTex",this._positionPrevTex),e.gl.enable(e.gl.BLEND),e.renderPass([r],this._dummyCamera),this._framebuffer.attach(this._weightedSumTex),e.gl.clearColor(0,0,0,0),e.gl.clear(e.gl.COLOR_BUFFER_BIT),e.gl.enable(e.gl.BLEND);var n=this._weightedSumMesh;n.material.set("positionTex",this._positionPrevTex),n.material.set("forceTex",this._forceTex),n.material.set("forcePrevTex",this._forcePrevTex),e.renderPass([n],this._dummyCamera),this._framebuffer.attach(this._globalSpeedTex);var i=this._globalSpeedPass;i.setUniform("globalSpeedPrevTex",this._globalSpeedPrevTex),i.setUniform("weightedSumTex",this._weightedSumTex),i.setUniform("jitterTolerence",this.jitterTolerence),e.gl.disable(e.gl.BLEND),i.render(e);var a=this._positionPass;this._framebuffer.attach(this._positionTex),a.setUniform("globalSpeedTex",this._globalSpeedTex),a.setUniform("positionTex",this._positionPrevTex),a.setUniform("forceTex",this._forceTex),a.setUniform("forcePrevTex",this._forcePrevTex),a.render(e),this._framebuffer.unbind(e),this._swapTexture()},n.prototype.update=function(e,t,r){null==t&&(t=1),t=Math.max(t,1);for(var n=0;n<t;n++)this.step(e);r&&r()},n.prototype.getNodePositionTexture=function(){return this._inited?this._positionPrevTex:this._positionSourceTex},n.prototype.getNodeUV=function(e,t){t=t||[];var r=this._positionTex.width,n=this._positionTex.height;return t[0]=e%r/(r-1),t[1]=Math.floor(e/r)/(n-1)||0,t},n.prototype.getNodePosition=function(e,t){var r=this._positionArr,n=this._positionTex.width,i=this._positionTex.height,a=n*i;r&&r.length===4*a||(r=this._positionArr=new Float32Array(4*a)),this._framebuffer.bind(e),this._framebuffer.attach(this._positionPrevTex),e.gl.readPixels(0,0,n,i,e.gl.RGBA,e.gl.FLOAT,r),this._framebuffer.unbind(e),t||(t=new Float32Array(2*this._nodes.length));for(var o=0;o<this._nodes.length;o++)t[2*o]=r[4*o],t[2*o+1]=r[4*o+1];return t},n.prototype.getTextureData=function(e,t){var r=this["_"+t+"Tex"],n=r.width,i=r.height;this._framebuffer.bind(e),this._framebuffer.attach(r);var a=new Float32Array(n*i*4);return e.gl.readPixels(0,0,n,i,e.gl.RGBA,e.gl.FLOAT,a),this._framebuffer.unbind(e),a},n.prototype.getTextureSize=function(){return{width:this._positionTex.width,height:this._positionTex.height}},n.prototype.isFinished=function(e){return this._frame>e},n.prototype._swapTexture=function(){var e=this._positionPrevTex;this._positionPrevTex=this._positionTex,this._positionTex=e;var e=this._forcePrevTex;this._forcePrevTex=this._forceTex,this._forceTex=e;var e=this._globalSpeedPrevTex;this._globalSpeedPrevTex=this._globalSpeedTex,this._globalSpeedTex=e},n.prototype._initFromSource=function(e){this._framebuffer.attach(this._positionPrevTex),this._framebuffer.bind(e),this._copyPass.setUniform("texture",this._positionSourceTex),this._copyPass.render(e),e.gl.clearColor(0,0,0,0),this._framebuffer.attach(this._forcePrevTex),e.gl.clear(e.gl.COLOR_BUFFER_BIT),this._framebuffer.attach(this._globalSpeedPrevTex),e.gl.clear(e.gl.COLOR_BUFFER_BIT),this._framebuffer.unbind(e)},n.prototype._resize=function(e,t){["_positionSourceTex","_positionTex","_positionPrevTex","_forceTex","_forcePrevTex"].forEach(function(r){this[r].width=e,this[r].height=t,this[r].dirty()},this)},n.prototype.dispose=function(e){this._framebuffer.dispose(e),this._copyPass.dispose(e),this._nodeRepulsionPass.dispose(e),this._positionPass.dispose(e),this._globalSpeedPass.dispose(e),this._edgeForceMesh.geometry.dispose(e),this._weightedSumMesh.geometry.dispose(e),this._positionSourceTex.dispose(e),this._positionTex.dispose(e),this._positionPrevTex.dispose(e),this._forceTex.dispose(e),this._forcePrevTex.dispose(e),this._weightedSumTex.dispose(e),this._globalSpeedTex.dispose(e),this._globalSpeedPrevTex.dispose(e)},a.a.ForceAtlas2GPU=n,t.a=n},function(e,t,r){"use strict";t.a="@export ecgl.forceAtlas2.updateNodeRepulsion\n\n#define NODE_COUNT 0\n\nuniform sampler2D positionTex;\n\nuniform vec2 textureSize;\nuniform float gravity;\nuniform float scaling;\nuniform vec2 gravityCenter;\n\nuniform bool strongGravityMode;\nuniform bool preventOverlap;\n\nvarying vec2 v_Texcoord;\n\nvoid main() {\n\n vec4 n0 = texture2D(positionTex, v_Texcoord);\n\n vec2 force = vec2(0.0);\n for (int i = 0; i < NODE_COUNT; i++) {\n vec2 uv = vec2(\n mod(float(i), textureSize.x) / (textureSize.x - 1.0),\n floor(float(i) / textureSize.x) / (textureSize.y - 1.0)\n );\n vec4 n1 = texture2D(positionTex, uv);\n\n vec2 dir = n0.xy - n1.xy;\n float d2 = dot(dir, dir);\n\n if (d2 > 0.0) {\n float factor = 0.0;\n if (preventOverlap) {\n float d = sqrt(d2);\n d = d - n0.w - n1.w;\n if (d > 0.0) {\n factor = scaling * n0.z * n1.z / (d * d);\n }\n else if (d < 0.0) {\n factor = scaling * 100.0 * n0.z * n1.z;\n }\n }\n else {\n factor = scaling * n0.z * n1.z / d2;\n }\n force += dir * factor;\n }\n }\n\n vec2 dir = gravityCenter - n0.xy;\n float d = 1.0;\n if (!strongGravityMode) {\n d = length(dir);\n }\n\n force += dir * n0.z * gravity / (d + 1.0);\n\n gl_FragColor = vec4(force, 0.0, 1.0);\n}\n@end\n\n@export ecgl.forceAtlas2.updateEdgeAttraction.vertex\n\nattribute vec2 node1;\nattribute vec2 node2;\nattribute float weight;\n\nuniform sampler2D positionTex;\nuniform float edgeWeightInfluence;\nuniform bool preventOverlap;\nuniform bool linLogMode;\n\nuniform vec2 windowSize: WINDOW_SIZE;\n\nvarying vec2 v_Force;\n\nvoid main() {\n\n vec4 n0 = texture2D(positionTex, node1);\n vec4 n1 = texture2D(positionTex, node2);\n\n vec2 dir = n1.xy - n0.xy;\n float d = length(dir);\n float w;\n if (edgeWeightInfluence == 0.0) {\n w = 1.0;\n }\n else if (edgeWeightInfluence == 1.0) {\n w = weight;\n }\n else {\n w = pow(weight, edgeWeightInfluence);\n }\n vec2 offset = vec2(1.0 / windowSize.x, 1.0 / windowSize.y);\n vec2 scale = vec2((windowSize.x - 1.0) / windowSize.x, (windowSize.y - 1.0) / windowSize.y);\n vec2 pos = node1 * scale * 2.0 - 1.0;\n gl_Position = vec4(pos + offset, 0.0, 1.0);\n gl_PointSize = 1.0;\n\n float factor;\n if (preventOverlap) {\n d = d - n1.w - n0.w;\n }\n if (d <= 0.0) {\n v_Force = vec2(0.0);\n return;\n }\n\n if (linLogMode) {\n factor = w * log(d) / d;\n }\n else {\n factor = w;\n }\n v_Force = dir * factor;\n}\n@end\n\n@export ecgl.forceAtlas2.updateEdgeAttraction.fragment\n\nvarying vec2 v_Force;\n\nvoid main() {\n gl_FragColor = vec4(v_Force, 0.0, 0.0);\n}\n@end\n\n@export ecgl.forceAtlas2.calcWeightedSum.vertex\n\nattribute vec2 node;\n\nvarying vec2 v_NodeUv;\n\nvoid main() {\n\n v_NodeUv = node;\n gl_Position = vec4(0.0, 0.0, 0.0, 1.0);\n gl_PointSize = 1.0;\n}\n@end\n\n@export ecgl.forceAtlas2.calcWeightedSum.fragment\n\nvarying vec2 v_NodeUv;\n\nuniform sampler2D positionTex;\nuniform sampler2D forceTex;\nuniform sampler2D forcePrevTex;\n\nvoid main() {\n vec2 force = texture2D(forceTex, v_NodeUv).rg;\n vec2 forcePrev = texture2D(forcePrevTex, v_NodeUv).rg;\n\n float mass = texture2D(positionTex, v_NodeUv).z;\n float swing = length(force - forcePrev) * mass;\n float traction = length(force + forcePrev) * 0.5 * mass;\n\n gl_FragColor = vec4(swing, traction, 0.0, 0.0);\n}\n@end\n\n@export ecgl.forceAtlas2.calcGlobalSpeed\n\nuniform sampler2D globalSpeedPrevTex;\nuniform sampler2D weightedSumTex;\nuniform float jitterTolerence;\n\nvoid main() {\n vec2 weightedSum = texture2D(weightedSumTex, vec2(0.5)).xy;\n float prevGlobalSpeed = texture2D(globalSpeedPrevTex, vec2(0.5)).x;\n float globalSpeed = jitterTolerence * jitterTolerence\n * weightedSum.y / weightedSum.x;\n if (prevGlobalSpeed > 0.0) {\n globalSpeed = min(globalSpeed / prevGlobalSpeed, 1.5) * prevGlobalSpeed;\n }\n gl_FragColor = vec4(globalSpeed, 0.0, 0.0, 1.0);\n}\n@end\n\n@export ecgl.forceAtlas2.updatePosition\n\nuniform sampler2D forceTex;\nuniform sampler2D forcePrevTex;\nuniform sampler2D positionTex;\nuniform sampler2D globalSpeedTex;\n\nvarying vec2 v_Texcoord;\n\nvoid main() {\n vec2 force = texture2D(forceTex, v_Texcoord).xy;\n vec2 forcePrev = texture2D(forcePrevTex, v_Texcoord).xy;\n vec4 node = texture2D(positionTex, v_Texcoord);\n\n float globalSpeed = texture2D(globalSpeedTex, vec2(0.5)).r;\n float swing = length(force - forcePrev);\n float speed = 0.1 * globalSpeed / (0.1 + globalSpeed * sqrt(swing));\n\n float df = length(force);\n if (df > 0.0) {\n speed = min(df * speed, 10.0) / df;\n\n gl_FragColor = vec4(node.xy + speed * force, node.zw);\n }\n else {\n gl_FragColor = node;\n }\n}\n@end\n\n@export ecgl.forceAtlas2.edges.vertex\nuniform mat4 worldViewProjection : WORLDVIEWPROJECTION;\n\nattribute vec2 node;\nattribute vec4 a_Color : COLOR;\nvarying vec4 v_Color;\n\nuniform sampler2D positionTex;\n\nvoid main()\n{\n gl_Position = worldViewProjection * vec4(\n texture2D(positionTex, node).xy, -10.0, 1.0\n );\n v_Color = a_Color;\n}\n@end\n\n@export ecgl.forceAtlas2.edges.fragment\nuniform vec4 color : [1.0, 1.0, 1.0, 1.0];\nvarying vec4 v_Color;\nvoid main() {\n gl_FragColor = color * v_Color;\n}\n@end"},function(e,t,r){"use strict";var n=r(5),i=r(4),a=r(272),o=a.a.toString();o=o.slice(o.indexOf("{")+1,o.lastIndexOf("}"));var s={barnesHutOptimize:!0,barnesHutTheta:1.5,repulsionByDegree:!0,linLogMode:!1,strongGravityMode:!1,gravity:1,scaling:1,edgeWeightInfluence:1,jitterTolerence:.1,preventOverlap:!1,dissuadeHubs:!1,gravityCenter:null},u=function(e){for(var t in s)this[t]=s[t];if(e)for(var t in e)this[t]=e[t];this._nodes=[],this._edges=[],this._disposed=!1,this._positionTex=new n.a({type:i.a.FLOAT,flipY:!1,minFilter:i.a.NEAREST,magFilter:i.a.NEAREST})};u.prototype.initData=function(e,t){var r=new Blob([o]),n=window.URL.createObjectURL(r);this._worker=new Worker(n),this._worker.onmessage=this._$onupdate.bind(this),this._nodes=e,this._edges=t,this._frame=0;for(var i=e.length,a=t.length,s=new Float32Array(2*i),u=new Float32Array(i),l=new Float32Array(i),h=new Float32Array(2*a),c=new Float32Array(a),d=0;d<e.length;d++){var f=e[d];s[2*d]=f.x,s[2*d+1]=f.y,u[d]=null==f.mass?1:f.mass,l[d]=null==f.size?1:f.size}for(var d=0;d<t.length;d++){var p=t[d],m=p.node1,g=p.node2;h[2*d]=m,h[2*d+1]=g,c[d]=null==p.weight?1:p.weight}var _=Math.ceil(Math.sqrt(e.length)),v=_,y=new Float32Array(_*v*4),x=this._positionTex;x.width=_,x.height=v,x.pixels=y,this._worker.postMessage({cmd:"init",nodesPosition:s,nodesMass:u,nodesSize:l,edges:h,edgesWeight:c}),this._globalSpeed=1/0},u.prototype.updateOption=function(e){var t={};for(var r in s)t[r]=s[r];var n=this._nodes,i=this._edges,a=n.length;if(t.jitterTolerence=a>5e4?10:a>5e3?1:.1,t.scaling=a>100?2:10,t.barnesHutOptimize=a>1e3,e)for(var r in s)null!=e[r]&&(t[r]=e[r]);if(!t.gravityCenter){for(var o=[1/0,1/0],u=[-1/0,-1/0],l=0;l<n.length;l++)o[0]=Math.min(n[l].x,o[0]),o[1]=Math.min(n[l].y,o[1]),u[0]=Math.max(n[l].x,u[0]),u[1]=Math.max(n[l].y,u[1]);t.gravityCenter=[.5*(o[0]+u[0]),.5*(o[1]+u[1])]}for(var l=0;l<i.length;l++){var h=i[l].node1,c=i[l].node2;n[h].degree=(n[h].degree||0)+1,n[c].degree=(n[c].degree||0)+1}this._worker&&this._worker.postMessage({cmd:"updateConfig",config:t})},u.prototype.update=function(e,t,r){null==t&&(t=1),t=Math.max(t,1),this._frame+=t,this._onupdate=r,this._worker&&this._worker.postMessage({cmd:"update",steps:Math.round(t)})},u.prototype._$onupdate=function(e){if(!this._disposed){var t=new Float32Array(e.data.buffer);this._globalSpeed=e.data.globalSpeed,this._positionArr=t,this._updateTexture(t),this._onupdate&&this._onupdate()}},u.prototype.getNodePositionTexture=function(){return this._positionTex},u.prototype.getNodeUV=function(e,t){t=t||[];var r=this._positionTex.width,n=this._positionTex.height;return t[0]=e%r/(r-1),t[1]=Math.floor(e/r)/(n-1),t},u.prototype.getNodes=function(){return this._nodes},u.prototype.getEdges=function(){return this._edges},u.prototype.isFinished=function(e){return this._frame>e},u.prototype.getNodePosition=function(e,t){if(t||(t=new Float32Array(2*this._nodes.length)),this._positionArr)for(var r=0;r<this._positionArr.length;r++)t[r]=this._positionArr[r];return t},u.prototype._updateTexture=function(e){for(var t=this._positionTex.pixels,r=0,n=0;n<e.length;)t[r++]=e[n++],t[r++]=e[n++],t[r++]=1,t[r++]=1;this._positionTex.dirty()},u.prototype.dispose=function(e){this._disposed=!0,this._worker=null},t.a=u},function(e,t,r){"use strict";function n(){function e(){this.subRegions=[],this.nSubRegions=0,this.node=null,this.mass=0,this.centerOfMass=null,this.bbox=new Float32Array(4),this.size=0}function t(){this.position=new Float32Array(2),this.force=i.create(),this.forcePrev=i.create(),this.mass=1,this.inDegree=0,this.outDegree=0}function r(e,t){this.source=e,this.target=t,this.weight=1}function n(){this.autoSettings=!0,this.barnesHutOptimize=!0,this.barnesHutTheta=1.5,this.repulsionByDegree=!0,this.linLogMode=!1,this.strongGravityMode=!1,this.gravity=1,this.scaling=1,this.edgeWeightInfluence=1,this.jitterTolerence=.1,this.preventOverlap=!1,this.dissuadeHubs=!1,this.rootRegion=new e,this.rootRegion.centerOfMass=i.create(),this.nodes=[],this.edges=[],this.bbox=new Float32Array(4),this.gravityCenter=null,this._massArr=null,this._swingingArr=null,this._sizeArr=null,this._globalSpeed=0}var i={create:function(){return new Float32Array(2)},dist:function(e,t){var r=t[0]-e[0],n=t[1]-e[1];return Math.sqrt(r*r+n*n)},len:function(e){var t=e[0],r=e[1];return Math.sqrt(t*t+r*r)},scaleAndAdd:function(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e},scale:function(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e},add:function(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e},sub:function(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e},normalize:function(e,t){var r=t[0],n=t[1],i=r*r+n*n;return i>0&&(i=1/Math.sqrt(i),e[0]=t[0]*i,e[1]=t[1]*i),e},negate:function(e,t){return e[0]=-t[0],e[1]=-t[1],e},copy:function(e,t){return e[0]=t[0],e[1]=t[1],e},set:function(e,t,r){return e[0]=t,e[1]=r,e}},a=e.prototype;a.beforeUpdate=function(){for(var e=0;e<this.nSubRegions;e++)this.subRegions[e].beforeUpdate();this.mass=0,this.centerOfMass&&(this.centerOfMass[0]=0,this.centerOfMass[1]=0),this.nSubRegions=0,this.node=null},a.afterUpdate=function(){this.subRegions.length=this.nSubRegions;for(var e=0;e<this.nSubRegions;e++)this.subRegions[e].afterUpdate()},a.addNode=function(e){if(0===this.nSubRegions){if(null==this.node)return void(this.node=e);this._addNodeToSubRegion(this.node),this.node=null}this._addNodeToSubRegion(e),this._updateCenterOfMass(e)},a.findSubRegion=function(e,t){for(var r=0;r<this.nSubRegions;r++){var n=this.subRegions[r];if(n.contain(e,t))return n}},a.contain=function(e,t){return this.bbox[0]<=e&&this.bbox[2]>=e&&this.bbox[1]<=t&&this.bbox[3]>=t},a.setBBox=function(e,t,r,n){this.bbox[0]=e,this.bbox[1]=t,this.bbox[2]=r,this.bbox[3]=n,this.size=(r-e+n-t)/2},a._newSubRegion=function(){var t=this.subRegions[this.nSubRegions];return t||(t=new e,this.subRegions[this.nSubRegions]=t),this.nSubRegions++,t},a._addNodeToSubRegion=function(e){var t=this.findSubRegion(e.position[0],e.position[1]),r=this.bbox;if(!t){var n=(r[0]+r[2])/2,i=(r[1]+r[3])/2,a=(r[2]-r[0])/2,o=(r[3]-r[1])/2,s=e.position[0]>=n?1:0,u=e.position[1]>=i?1:0,t=this._newSubRegion();t.setBBox(s*a+r[0],u*o+r[1],(s+1)*a+r[0],(u+1)*o+r[1])}t.addNode(e)},a._updateCenterOfMass=function(e){null==this.centerOfMass&&(this.centerOfMass=new Float32Array(2));var t=this.centerOfMass[0]*this.mass,r=this.centerOfMass[1]*this.mass;t+=e.position[0]*e.mass,r+=e.position[1]*e.mass,this.mass+=e.mass,this.centerOfMass[0]=t/this.mass,this.centerOfMass[1]=r/this.mass};var o=n.prototype;o.initNodes=function(e,r,n){var i=r.length;this.nodes.length=0;for(var a=void 0!==n,o=0;o<i;o++){var s=new t;s.position[0]=e[2*o],s.position[1]=e[2*o+1],s.mass=r[o],a&&(s.size=n[o]),this.nodes.push(s)}this._massArr=r,this._swingingArr=new Float32Array(i),a&&(this._sizeArr=n)},o.initEdges=function(e,t){var n=e.length/2;this.edges.length=0;for(var i=0;i<n;i++){var a=e[2*i],o=e[2*i+1],s=this.nodes[a],u=this.nodes[o];if(!s||!u)return void console.error("Node not exists, try initNodes before initEdges");s.outDegree++,u.inDegree++;var l=new r(s,u);t&&(l.weight=t[i]),this.edges.push(l)}},o.updateSettings=function(){if(this.repulsionByDegree)for(var e=0;e<this.nodes.length;e++){var t=this.nodes[e];t.mass=t.inDegree+t.outDegree+1}else for(var e=0;e<this.nodes.length;e++){var t=this.nodes[e];t.mass=this._massArr[e]}},o.update=function(){var e=this.nodes.length;if(this.updateSettings(),this.updateBBox(),this.barnesHutOptimize){this.rootRegion.setBBox(this.bbox[0],this.bbox[1],this.bbox[2],this.bbox[3]),this.rootRegion.beforeUpdate();for(var t=0;t<e;t++)this.rootRegion.addNode(this.nodes[t]);this.rootRegion.afterUpdate()}for(var t=0;t<e;t++){var r=this.nodes[t];i.copy(r.forcePrev,r.force),i.set(r.force,0,0)}for(var t=0;t<e;t++){var n=this.nodes[t];if(this.barnesHutOptimize)this.applyRegionToNodeRepulsion(this.rootRegion,n);else for(var a=t+1;a<e;a++){var o=this.nodes[a];this.applyNodeToNodeRepulsion(n,o,!1)}this.gravity>0&&(this.strongGravityMode?this.applyNodeStrongGravity(n):this.applyNodeGravity(n))}for(var t=0;t<this.edges.length;t++)this.applyEdgeAttraction(this.edges[t]);for(var s=0,u=0,l=i.create(),t=0;t<e;t++){var r=this.nodes[t],h=i.dist(r.force,r.forcePrev);s+=h*r.mass,i.add(l,r.force,r.forcePrev);u+=.5*i.len(l)*r.mass,this._swingingArr[t]=h}var c=this.jitterTolerence*this.jitterTolerence*u/s;this._globalSpeed>0&&(c=Math.min(c/this._globalSpeed,1.5)*this._globalSpeed),this._globalSpeed=c;for(var t=0;t<e;t++){var r=this.nodes[t],h=this._swingingArr[t],d=.1*c/(1+c*Math.sqrt(h)),f=i.len(r.force);f>0&&(d=Math.min(f*d,10)/f,i.scaleAndAdd(r.position,r.position,r.force,d))}},o.applyRegionToNodeRepulsion=function(){var e=i.create();return function(t,r){if(t.node)this.applyNodeToNodeRepulsion(t.node,r,!0);else{i.sub(e,r.position,t.centerOfMass);var n=e[0]*e[0]+e[1]*e[1];if(n>this.barnesHutTheta*t.size*t.size){var a=this.scaling*r.mass*t.mass/n;i.scaleAndAdd(r.force,r.force,e,a)}else for(var o=0;o<t.nSubRegions;o++)this.applyRegionToNodeRepulsion(t.subRegions[o],r)}}}(),o.applyNodeToNodeRepulsion=function(){var e=i.create();return function(t,r,n){if(t!=r){i.sub(e,t.position,r.position);var a=e[0]*e[0]+e[1]*e[1];if(0!==a){var o;if(this.preventOverlap){var s=Math.sqrt(a);if((s=s-t.size-r.size)>0)o=this.scaling*t.mass*r.mass/(s*s);else{if(!(s<0))return;o=100*this.scaling*t.mass*r.mass}}else o=this.scaling*t.mass*r.mass/a;i.scaleAndAdd(t.force,t.force,e,o),i.scaleAndAdd(r.force,r.force,e,-o)}}}}(),o.applyEdgeAttraction=function(){var e=i.create();return function(t){var r=t.source,n=t.target;i.sub(e,r.position,n.position);var a,o=i.len(e);a=0===this.edgeWeightInfluence?1:1===this.edgeWeightInfluence?t.weight:Math.pow(t.weight,this.edgeWeightInfluence);var s;this.preventOverlap&&(o=o-r.size-n.size)<=0||(s=this.linLogMode?-a*Math.log(o+1)/(o+1):-a,i.scaleAndAdd(r.force,r.force,e,s),i.scaleAndAdd(n.force,n.force,e,-s))}}(),o.applyNodeGravity=function(){var e=i.create();return function(t){i.sub(e,this.gravityCenter,t.position);var r=i.len(e);i.scaleAndAdd(t.force,t.force,e,this.gravity*t.mass/(r+1))}}(),o.applyNodeStrongGravity=function(){var e=i.create();return function(t){i.sub(e,this.gravityCenter,t.position),i.scaleAndAdd(t.force,t.force,e,this.gravity*t.mass)}}(),o.updateBBox=function(){for(var e=1/0,t=1/0,r=-1/0,n=-1/0,i=0;i<this.nodes.length;i++){var a=this.nodes[i].position;e=Math.min(e,a[0]),t=Math.min(t,a[1]),r=Math.max(r,a[0]),n=Math.max(n,a[1])}this.bbox[0]=e,this.bbox[1]=t,this.bbox[2]=r,this.bbox[3]=n},o.getGlobalSpeed=function(){return this._globalSpeed};var s=null;self.onmessage=function(e){switch(e.data.cmd){case"init":s=new n,s.initNodes(e.data.nodesPosition,e.data.nodesMass,e.data.nodesSize),s.initEdges(e.data.edges,e.data.edgesWeight);break;case"updateConfig":if(s)for(var t in e.data.config)s[t]=e.data.config[t];break;case"update":var r=e.data.steps;if(s){for(var i=0;i<r;i++)s.update();for(var a=s.nodes.length,o=new Float32Array(2*a),i=0;i<a;i++){var u=s.nodes[i];o[2*i]=u.position[0],o[2*i+1]=u.position[1]}self.postMessage({buffer:o.buffer,globalSpeed:s.getGlobalSpeed()},[o.buffer])}else{var l=new Float32Array;self.postMessage({buffer:l.buffer,globalSpeed:s.getGlobalSpeed()},[l.buffer])}}}}t.a=n},function(e,t,r){"use strict";var n=r(7),i=(r(2),n.a.extend(function(){return{zr:null,viewGL:null,minZoom:.2,maxZoom:5,_needsUpdate:!1,_dx:0,_dy:0,_zoom:1}},function(){this._mouseDownHandler=this._mouseDownHandler.bind(this),this._mouseWheelHandler=this._mouseWheelHandler.bind(this),this._mouseMoveHandler=this._mouseMoveHandler.bind(this),this._mouseUpHandler=this._mouseUpHandler.bind(this),this._update=this._update.bind(this)},{init:function(){var e=this.zr;e.on("mousedown",this._mouseDownHandler),e.on("mousewheel",this._mouseWheelHandler),e.on("globalout",this._mouseUpHandler),e.animation.on("frame",this._update)},setTarget:function(e){this._target=e},setZoom:function(e){this._zoom=Math.max(Math.min(e,this.maxZoom),this.minZoom),this._needsUpdate=!0},setOffset:function(e){this._dx=e[0],this._dy=e[1],this._needsUpdate=!0},getZoom:function(){return this._zoom},getOffset:function(){return[this._dx,this._dy]},_update:function(){if(this._target&&this._needsUpdate){var e=this._target,t=this._zoom;e.position.x=this._dx,e.position.y=this._dy,e.scale.set(t,t,t),this.zr.refresh(),this._needsUpdate=!1,this.trigger("update")}},_mouseDownHandler:function(e){if(!e.target){var t=e.offsetX,r=e.offsetY;if(!this.viewGL||this.viewGL.containPoint(t,r)){this.zr.on("mousemove",this._mouseMoveHandler),this.zr.on("mouseup",this._mouseUpHandler);var n=this._convertPos(t,r);this._x=n.x,this._y=n.y}}},_convertPos:function(e,t){var r=this.viewGL.camera,n=this.viewGL.viewport;return{x:(e-n.x)/n.width*(r.right-r.left)+r.left,y:(t-n.y)/n.height*(r.bottom-r.top)+r.top}},_mouseMoveHandler:function(e){var t=this._convertPos(e.offsetX,e.offsetY);this._dx+=t.x-this._x,this._dy+=t.y-this._y,this._x=t.x,this._y=t.y,this._needsUpdate=!0},_mouseUpHandler:function(e){this.zr.off("mousemove",this._mouseMoveHandler),this.zr.off("mouseup",this._mouseUpHandler)},_mouseWheelHandler:function(e){e=e.event;var t=e.wheelDelta||-e.detail;if(0!==t){var r=e.offsetX,n=e.offsetY;if(!this.viewGL||this.viewGL.containPoint(r,n)){var i=t>0?1.1:.9,a=Math.max(Math.min(this._zoom*i,this.maxZoom),this.minZoom);i=a/this._zoom;var o=this._convertPos(r,n),s=(o.x-this._dx)*(i-1),u=(o.y-this._dy)*(i-1);this._dx-=s,this._dy-=u,this._zoom=a,this._needsUpdate=!0}}},dispose:function(){var e=this.zr;e.off("mousedown",this._mouseDownHandler),e.off("mousemove",this._mouseMoveHandler),e.off("mouseup",this._mouseUpHandler),e.off("mousewheel",this._mouseWheelHandler),e.off("globalout",this._mouseUpHandler),e.animation.off("frame",this._update)}}));t.a=i},function(e,t,r){"use strict";t.a="@export ecgl.lines2D.vertex\n\nuniform mat4 worldViewProjection : WORLDVIEWPROJECTION;\n\nattribute vec2 position: POSITION;\nattribute vec4 a_Color : COLOR;\nvarying vec4 v_Color;\n\n#ifdef POSITIONTEXTURE_ENABLED\nuniform sampler2D positionTexture;\n#endif\n\nvoid main()\n{\n gl_Position = worldViewProjection * vec4(position, -10.0, 1.0);\n\n v_Color = a_Color;\n}\n\n@end\n\n@export ecgl.lines2D.fragment\n\nuniform vec4 color : [1.0, 1.0, 1.0, 1.0];\n\nvarying vec4 v_Color;\n\nvoid main()\n{\n gl_FragColor = color * v_Color;\n}\n@end\n\n\n@export ecgl.meshLines2D.vertex\n\nattribute vec2 position: POSITION;\nattribute vec2 normal;\nattribute float offset;\nattribute vec4 a_Color : COLOR;\n\nuniform mat4 worldViewProjection : WORLDVIEWPROJECTION;\nuniform vec4 viewport : VIEWPORT;\n\nvarying vec4 v_Color;\nvarying float v_Miter;\n\nvoid main()\n{\n vec4 p2 = worldViewProjection * vec4(position + normal, -10.0, 1.0);\n gl_Position = worldViewProjection * vec4(position, -10.0, 1.0);\n\n p2.xy /= p2.w;\n gl_Position.xy /= gl_Position.w;\n\n vec2 N = normalize(p2.xy - gl_Position.xy);\n gl_Position.xy += N * offset / viewport.zw * 2.0;\n\n gl_Position.xy *= gl_Position.w;\n\n v_Color = a_Color;\n}\n@end\n\n\n@export ecgl.meshLines2D.fragment\n\nuniform vec4 color : [1.0, 1.0, 1.0, 1.0];\n\nvarying vec4 v_Color;\nvarying float v_Miter;\n\nvoid main()\n{\n gl_FragColor = color * v_Color;\n}\n\n@end"},function(e,t,r){"use strict";var n=r(0);r.n(n),r(276),r(280)},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a=r(1),o=r(2),s=r(22),u=r(277);i.a.extendChartView({type:"flowGL",__ecgl__:!0,init:function(e,t){this.viewGL=new s.a("orthographic"),this.groupGL=new a.a.Node,this.viewGL.add(this.groupGL),this._particleSurface=new u.a;var r=new a.a.Mesh({geometry:new a.a.PlaneGeometry,material:new a.a.Material({shader:new a.a.Shader({vertex:a.a.Shader.source("ecgl.color.vertex"),fragment:a.a.Shader.source("ecgl.color.fragment")}),transparent:!0})});r.material.enableTexture("diffuseMap"),this.groupGL.add(r),this._planeMesh=r},render:function(e,t,r){var n=this._particleSurface;n.setParticleType(e.get("particleType")),n.setSupersampling(e.get("supersampling")),this._updateData(e,r),this._updateCamera(r.getWidth(),r.getHeight(),r.getDevicePixelRatio());var i=o.a.firstNotNull(e.get("particleDensity"),128);n.setParticleDensity(i,i);var s=this._planeMesh,u=+new Date,l=this,h=!0;s.__percent=0,s.stopAnimation(),s.animate("",{loop:!0}).when(1e5,{__percent:1}).during(function(){var e=+new Date,t=Math.min(e-u,20);u+=t,l._renderer&&(n.update(l._renderer,r,t/1e3,h),s.material.set("diffuseMap",n.getSurfaceTexture())),h=!1}).start();var c=e.getModel("itemStyle"),d=a.a.parseColor(c.get("color"));d[3]*=o.a.firstNotNull(c.get("opacity"),1),s.material.set("color",d),n.setColorTextureImage(e.get("colorTexture"),r),n.setParticleSize(e.get("particleSize")),n.particleSpeedScaling=e.get("particleSpeed"),n.motionBlurFactor=1-Math.pow(.1,e.get("particleTrail"))},updateTransform:function(e,t,r){this._updateData(e,r)},afterRender:function(e,t,r,n){var i=n.renderer;this._renderer=i},_updateData:function(e,t){var r=e.coordinateSystem,n=r.dimensions.map(function(t){return e.coordDimToDataDim(t)[0]}),i=e.getData(),a=i.getDataExtent(n[0]),o=i.getDataExtent(n[1]),s=e.get("gridWidth"),u=e.get("gridHeight");if(null==s||"auto"===s){var l=(a[1]-a[0])/(o[1]-o[0]);s=Math.round(Math.sqrt(l*i.count()))}null!=u&&"auto"!==u||(u=Math.ceil(i.count()/s));var h=this._particleSurface.vectorFieldTexture,c=h.pixels;if(c&&c.length===u*s*4)for(var d=0;d<c.length;d++)c[d]=0;else c=h.pixels=new Float32Array(s*u*4);var f=0,p=1/0,m=new Float32Array(2*i.count()),g=0,_=[[1/0,1/0],[-1/0,-1/0]];i.each([n[0],n[1],"vx","vy"],function(e,t,n,i){var a=r.dataToPoint([e,t]);m[g++]=a[0],m[g++]=a[1],_[0][0]=Math.min(a[0],_[0][0]),_[0][1]=Math.min(a[1],_[0][1]),_[1][0]=Math.max(a[0],_[1][0]),_[1][1]=Math.max(a[1],_[1][1]);var o=Math.sqrt(n*n+i*i);f=Math.max(f,o),p=Math.min(p,o)}),i.each(["vx","vy"],function(e,t,r){var n=Math.round((m[2*r]-_[0][0])/(_[1][0]-_[0][0])*(s-1)),i=u-1-Math.round((m[2*r+1]-_[0][1])/(_[1][1]-_[0][1])*(u-1)),a=4*(i*s+n);c[a]=e/f*.5+.5,c[a+1]=t/f*.5+.5,c[a+3]=1}),h.width=s,h.height=u,"bmap"===e.get("coordinateSystem")&&this._fillEmptyPixels(h),h.dirty(),this._updatePlanePosition(_[0],_[1],e,t),this._updateGradientTexture(i.getVisual("visualMeta"),[p,f])},_fillEmptyPixels:function(e){function t(e,t,r){e=Math.max(Math.min(e,i-1),0),t=Math.max(Math.min(t,a-1),0);var o=4*(t*(i-1)+e);return 0!==n[o+3]&&(r[0]=n[o],r[1]=n[o+1],!0)}function r(e,t,r){r[0]=e[0]+t[0],r[1]=e[1]+t[1]}for(var n=e.pixels,i=e.width,a=e.height,o=[],s=[],u=[],l=[],h=[],c=0,d=0;d<a;d++)for(var f=0;f<i;f++){var p=4*(d*(i-1)+f);0===n[p+3]&&(c=o[0]=o[1]=0,t(f-1,d,s)&&(c++,r(s,o,o)),t(f+1,d,u)&&(c++,r(u,o,o)),t(f,d-1,l)&&(c++,r(l,o,o)),t(f,d+1,h)&&(c++,r(h,o,o)),o[0]/=c,o[1]/=c,n[p]=o[0],n[p+1]=o[1]),n[p+3]=1}},_updateGradientTexture:function(e,t){if(!e||!e.length)return void this._particleSurface.setGradientTexture(null);this._gradientTexture=this._gradientTexture||new a.a.Texture2D({image:document.createElement("canvas")});var r=this._gradientTexture,n=r.image;n.width=200,n.height=1;var i=n.getContext("2d"),o=i.createLinearGradient(0,.5,n.width,.5);e[0].stops.forEach(function(e){var r;t[1]===t[0]?r=0:(r=e.value/t[1],r=Math.min(Math.max(r,0),1)),o.addColorStop(r,e.color)}),i.fillStyle=o,i.fillRect(0,0,n.width,n.height),r.dirty(),this._particleSurface.setGradientTexture(this._gradientTexture)},_updatePlanePosition:function(e,t,r,n){var i=this._limitInViewportAndFullFill(e,t,r,n);e=i.leftTop,t=i.rightBottom,this._particleSurface.setRegion(i.region),this._planeMesh.position.set((e[0]+t[0])/2,n.getHeight()-(e[1]+t[1])/2,0);var a=t[0]-e[0],o=t[1]-e[1];this._planeMesh.scale.set(a/2,o/2,1),this._particleSurface.resize(Math.max(Math.min(a,2048),1),Math.max(Math.min(o,2048),1)),this._renderer&&this._particleSurface.clearFrame(this._renderer)},_limitInViewportAndFullFill:function(e,t,r,n){var i=[Math.max(e[0],0),Math.max(e[1],0)],a=[Math.min(t[0],n.getWidth()),Math.min(t[1],n.getHeight())];if("bmap"===r.get("coordinateSystem")){var o=r.getData().getDataExtent(r.coordDimToDataDim("lng")[0]);Math.floor(o[1]-o[0])>=359&&(i[0]>0&&(i[0]=0),a[0]<n.getWidth()&&(a[0]=n.getWidth()))}var s=t[0]-e[0],u=t[1]-e[1],l=a[0]-i[0],h=a[1]-i[1];return{leftTop:i,rightBottom:a,region:[(i[0]-e[0])/s,1-h/u-(i[1]-e[1])/u,l/s,h/u]}},_updateCamera:function(e,t,r){this.viewGL.setViewport(0,0,e,t,r);var n=this.viewGL.camera;n.left=n.bottom=0,n.top=t,n.right=e,n.near=0,n.far=100,n.position.z=10},remove:function(){this._planeMesh.stopAnimation(),this.groupGL.removeAll()},dispose:function(){this._renderer&&this._particleSurface.dispose(this._renderer),this.groupGL.removeAll()}})},function(e,t,r){"use strict";function n(e){var t=document.createElement("canvas");t.width=t.height=e;var r=t.getContext("2d");return r.fillStyle="#fff",r.arc(e/2,e/2,e/2,0,2*Math.PI),r.fill(),t}var i=r(16),a=r(15),o=r(40),s=r(19),u=r(8),l=r(5),h=r(4),c=r(37),d=r(43),f=r(10),p=r(278),m=r(279);u.a.import(m.a);var g=function(){this.motionBlurFactor=.99,this.vectorFieldTexture=new l.a({type:h.a.FLOAT,flipY:!1}),this.particleLife=[5,20],this._particleType="point",this._particleSize=1,this.particleColor=[1,1,1,1],this.particleSpeedScaling=1,this._thisFrameTexture=null,this._particlePass=null,this._spawnTexture=null,this._particleTexture0=null,this._particleTexture1=null,this._particlePointsMesh=null,this._surfaceFrameBuffer=null,this._elapsedTime=0,this._scene=null,this._camera=null,this._lastFrameTexture=null,this._supersampling=1,this._downsampleTextures=[],this._width=512,this._height=512,this.init()};g.prototype={constructor:g,init:function(){var e={type:h.a.FLOAT,minFilter:h.a.NEAREST,magFilter:h.a.NEAREST,useMipmap:!1};this._spawnTexture=new l.a(e),this._particleTexture0=new l.a(e),this._particleTexture1=new l.a(e),this._frameBuffer=new f.a({depthBuffer:!1}),this._particlePass=new i.a({fragment:u.a.source("ecgl.vfParticle.particle.fragment")}),this._particlePass.setUniform("velocityTexture",this.vectorFieldTexture),this._particlePass.setUniform("spawnTexture",this._spawnTexture),this._downsamplePass=new i.a({fragment:u.a.source("clay.compositor.downsample")});var t=new o.a({renderOrder:10,material:new s.a({shader:new u.a(u.a.source("ecgl.vfParticle.renderPoints.vertex"),u.a.source("ecgl.vfParticle.renderPoints.fragment"))}),mode:o.a.POINTS,geometry:new a.a({dynamic:!0,mainAttribute:"texcoord0"})}),r=new o.a({renderOrder:10,material:new s.a({shader:new u.a(u.a.source("ecgl.vfParticle.renderLines.vertex"),u.a.source("ecgl.vfParticle.renderLines.fragment"))}),geometry:new p.a,culling:!1}),n=new o.a({material:new s.a({shader:new u.a(u.a.source("ecgl.color.vertex"),u.a.source("ecgl.color.fragment"))}),geometry:new d.a});n.material.enableTexture("diffuseMap"),this._particlePointsMesh=t,this._particleLinesMesh=r,this._lastFrameFullQuadMesh=n,this._camera=new c.a,this._thisFrameTexture=new l.a,this._lastFrameTexture=new l.a},setParticleDensity:function(e,t){for(var r=e*t,n=new Float32Array(4*r),i=0,a=this.particleLife,o=0;o<e;o++)for(var s=0;s<t;s++,i++){n[4*i]=Math.random(),n[4*i+1]=Math.random(),n[4*i+2]=Math.random();var u=(a[1]-a[0])*Math.random()+a[0];n[4*i+3]=u}"line"===this._particleType?this._setLineGeometry(e,t):this._setPointsGeometry(e,t),this._spawnTexture.width=e,this._spawnTexture.height=t,this._spawnTexture.pixels=n,this._particleTexture0.width=this._particleTexture1.width=e,this._particleTexture0.height=this._particleTexture1.height=t,this._particlePass.setUniform("textureSize",[e,t])},_setPointsGeometry:function(e,t){var r=e*t,n=this._particlePointsMesh.geometry,i=n.attributes;i.texcoord0.init(r);for(var a=0,o=0;o<e;o++)for(var s=0;s<t;s++,a++)i.texcoord0.value[2*a]=o/e,i.texcoord0.value[2*a+1]=s/t;n.dirty()},_setLineGeometry:function(e,t){var r=e*t,n=this._getParticleMesh().geometry;n.setLineCount(r),n.resetOffset();for(var i=0;i<e;i++)for(var a=0;a<t;a++)n.addLine([i/e,a/t]);n.dirty()},_getParticleMesh:function(){return"line"===this._particleType?this._particleLinesMesh:this._particlePointsMesh},update:function(e,t,r,n){var i=this._getParticleMesh(),a=this._frameBuffer,o=this._particlePass;n&&this._updateDownsampleTextures(e,t),i.material.set("size",this._particleSize*this._supersampling),i.material.set("color",this.particleColor),o.setUniform("speedScaling",this.particleSpeedScaling),a.attach(this._particleTexture1),o.setUniform("firstFrameTime",n?(this.particleLife[1]+this.particleLife[0])/2:0),o.setUniform("particleTexture",this._particleTexture0),o.setUniform("deltaTime",r),o.setUniform("elapsedTime",this._elapsedTime),o.render(e,a),i.material.set("particleTexture",this._particleTexture1),i.material.set("prevParticleTexture",this._particleTexture0),a.attach(this._thisFrameTexture),a.bind(e),e.gl.clear(e.gl.DEPTH_BUFFER_BIT|e.gl.COLOR_BUFFER_BIT);var s=this._lastFrameFullQuadMesh;s.material.set("diffuseMap",this._lastFrameTexture),s.material.set("color",[1,1,1,this.motionBlurFactor]),this._camera.update(!0),e.renderPass([s,i],this._camera),a.unbind(e),this._downsample(e),this._swapTexture(),this._elapsedTime+=r},_downsample:function(e){var t=this._downsampleTextures;if(0!==t.length)for(var r=0,n=this._thisFrameTexture,i=t[r];i;)this._frameBuffer.attach(i),this._downsamplePass.setUniform("texture",n),this._downsamplePass.setUniform("textureSize",[n.width,n.height]),this._downsamplePass.render(e,this._frameBuffer),n=i,i=t[++r]},getSurfaceTexture:function(){var e=this._downsampleTextures;return e.length>0?e[e.length-1]:this._lastFrameTexture},setRegion:function(e){this._particlePass.setUniform("region",e)},resize:function(e,t){this._lastFrameTexture.width=e*this._supersampling,this._lastFrameTexture.height=t*this._supersampling,this._thisFrameTexture.width=e*this._supersampling,this._thisFrameTexture.height=t*this._supersampling,this._width=e,this._height=t},setParticleSize:function(e){var t=this._getParticleMesh();if(e<=2)return t.material.disableTexture("spriteTexture"),void(t.material.transparent=!1);this._spriteTexture||(this._spriteTexture=new l.a),this._spriteTexture.image&&this._spriteTexture.image.width===e||(this._spriteTexture.image=n(e),this._spriteTexture.dirty()),t.material.transparent=!0,t.material.enableTexture("spriteTexture"),t.material.set("spriteTexture",this._spriteTexture),this._particleSize=e},setGradientTexture:function(e){var t=this._getParticleMesh().material;t[e?"enableTexture":"disableTexture"]("gradientTexture"),t.setUniform("gradientTexture",e)},setColorTextureImage:function(e,t){this._getParticleMesh().material.setTextureImage("colorTexture",e,t,{flipY:!0})},setParticleType:function(e){this._particleType=e},clearFrame:function(e){var t=this._frameBuffer;t.attach(this._lastFrameTexture),t.bind(e),e.gl.clear(e.gl.DEPTH_BUFFER_BIT|e.gl.COLOR_BUFFER_BIT),t.unbind(e)},setSupersampling:function(e){this._supersampling=e,this.resize(this._width,this._height)},_updateDownsampleTextures:function(e,t){for(var r=this._downsampleTextures,n=Math.max(Math.floor(Math.log(this._supersampling/t.getDevicePixelRatio())/Math.log(2)),0),i=2,a=this._width*this._supersampling,o=this._height*this._supersampling,s=0;s<n;s++)r[s]=r[s]||new l.a,r[s].width=a/i,r[s].height=o/i,i*=2;for(;s<r.length;s++)r[s].dispose(e);r.length=n},_swapTexture:function(){var e=this._particleTexture0;this._particleTexture0=this._particleTexture1,this._particleTexture1=e;var e=this._thisFrameTexture;this._thisFrameTexture=this._lastFrameTexture,this._lastFrameTexture=e},dispose:function(e){e.disposeFrameBuffer(this._frameBuffer),e.disposeTexture(this.vectorFieldTexture),e.disposeTexture(this._spawnTexture),e.disposeTexture(this._particleTexture0),e.disposeTexture(this._particleTexture1),e.disposeTexture(this._thisFrameTexture),e.disposeTexture(this._lastFrameTexture),e.disposeGeometry(this._particleLinesMesh.geometry),e.disposeGeometry(this._particlePointsMesh.geometry),e.disposeGeometry(this._lastFrameFullQuadMesh.geometry),this._spriteTexture&&e.disposeTexture(this._spriteTexture),this._particlePass.dispose(e),this._downsamplePass.dispose(e),this._downsampleTextures.forEach(function(t){t.dispose(e)})}},t.a=g},function(e,t,r){"use strict";var n=r(15),i=r(0),a=(r.n(i),n.a.extend(function(){return{dynamic:!0,attributes:{position:new n.a.Attribute("position","float",3,"POSITION")}}},{resetOffset:function(){this._vertexOffset=0,this._faceOffset=0},setLineCount:function(e){var t=this.attributes,r=4*e,n=2*e;this.vertexCount!==r&&t.position.init(r),this.triangleCount!==n&&(this.indices=0===n?null:this.vertexCount>65535?new Uint32Array(3*n):new Uint16Array(3*n))},addLine:function(e){var t=this._vertexOffset;this.attributes.position.set(t,[e[0],e[1],1]),this.attributes.position.set(t+1,[e[0],e[1],-1]),this.attributes.position.set(t+2,[e[0],e[1],2]),this.attributes.position.set(t+3,[e[0],e[1],-2]),this.setTriangleIndices(this._faceOffset++,[t,t+1,t+2]),this.setTriangleIndices(this._faceOffset++,[t+1,t+2,t+3]),this._vertexOffset+=4}}));t.a=a},function(e,t,r){"use strict";t.a="@export ecgl.vfParticle.particle.fragment\n\nuniform sampler2D particleTexture;\nuniform sampler2D spawnTexture;\nuniform sampler2D velocityTexture;\n\nuniform float deltaTime;\nuniform float elapsedTime;\n\nuniform float speedScaling : 1.0;\n\nuniform vec2 textureSize;\nuniform vec4 region : [0, 0, 1, 1];\nuniform float firstFrameTime;\n\nvarying vec2 v_Texcoord;\n\n\nvoid main()\n{\n vec4 p = texture2D(particleTexture, v_Texcoord);\n bool spawn = false;\n if (p.w <= 0.0) {\n p = texture2D(spawnTexture, fract(v_Texcoord + elapsedTime / 10.0));\n p.w -= firstFrameTime;\n spawn = true;\n }\n vec2 v = texture2D(velocityTexture, fract(p.xy * region.zw + region.xy)).xy;\n v = (v - 0.5) * 2.0;\n p.z = length(v);\n p.xy += v * deltaTime / 10.0 * speedScaling;\n p.w -= deltaTime;\n\n if (spawn || p.xy != fract(p.xy)) {\n p.z = 0.0;\n }\n p.xy = fract(p.xy);\n\n gl_FragColor = p;\n}\n@end\n\n@export ecgl.vfParticle.renderPoints.vertex\n\n#define PI 3.1415926\n\nattribute vec2 texcoord : TEXCOORD_0;\n\nuniform sampler2D particleTexture;\nuniform mat4 worldViewProjection : WORLDVIEWPROJECTION;\n\nuniform float size : 1.0;\n\nvarying float v_Mag;\nvarying vec2 v_Uv;\n\nvoid main()\n{\n vec4 p = texture2D(particleTexture, texcoord);\n\n if (p.w > 0.0 && p.z > 1e-5) {\n gl_Position = worldViewProjection * vec4(p.xy * 2.0 - 1.0, 0.0, 1.0);\n }\n else {\n gl_Position = vec4(100000.0, 100000.0, 100000.0, 1.0);\n }\n\n v_Mag = p.z;\n v_Uv = p.xy;\n\n gl_PointSize = size;\n}\n\n@end\n\n@export ecgl.vfParticle.renderPoints.fragment\n\nuniform vec4 color : [1.0, 1.0, 1.0, 1.0];\nuniform sampler2D gradientTexture;\nuniform sampler2D colorTexture;\nuniform sampler2D spriteTexture;\n\nvarying float v_Mag;\nvarying vec2 v_Uv;\n\nvoid main()\n{\n gl_FragColor = color;\n#ifdef SPRITETEXTURE_ENABLED\n gl_FragColor *= texture2D(spriteTexture, gl_PointCoord);\n if (color.a == 0.0) {\n discard;\n }\n#endif\n#ifdef GRADIENTTEXTURE_ENABLED\n gl_FragColor *= texture2D(gradientTexture, vec2(v_Mag, 0.5));\n#endif\n#ifdef COLORTEXTURE_ENABLED\n gl_FragColor *= texture2D(colorTexture, v_Uv);\n#endif\n}\n\n@end\n\n@export ecgl.vfParticle.renderLines.vertex\n\n#define PI 3.1415926\n\nattribute vec3 position : POSITION;\n\nuniform sampler2D particleTexture;\nuniform sampler2D prevParticleTexture;\n\nuniform float size : 1.0;\nuniform vec4 vp: VIEWPORT;\nuniform mat4 worldViewProjection : WORLDVIEWPROJECTION;\n\nvarying float v_Mag;\nvarying vec2 v_Uv;\n\n@import clay.util.rand\n\nvoid main()\n{\n vec4 p = texture2D(particleTexture, position.xy);\n vec4 p2 = texture2D(prevParticleTexture, position.xy);\n\n p.xy = p.xy * 2.0 - 1.0;\n p2.xy = p2.xy * 2.0 - 1.0;\n\n if (p.w > 0.0 && p.z > 1e-5) {\n vec2 dir = normalize(p.xy - p2.xy);\n vec2 norm = vec2(dir.y / vp.z, -dir.x / vp.w) * sign(position.z) * size;\n if (abs(position.z) == 2.0) {\n gl_Position = vec4(p.xy + norm, 0.0, 1.0);\n v_Uv = p.xy;\n v_Mag = p.z;\n }\n else {\n gl_Position = vec4(p2.xy + norm, 0.0, 1.0);\n v_Mag = p2.z;\n v_Uv = p2.xy;\n }\n gl_Position = worldViewProjection * gl_Position;\n }\n else {\n gl_Position = vec4(100000.0, 100000.0, 100000.0, 1.0);\n }\n}\n\n@end\n\n@export ecgl.vfParticle.renderLines.fragment\n\nuniform vec4 color : [1.0, 1.0, 1.0, 1.0];\nuniform sampler2D gradientTexture;\nuniform sampler2D colorTexture;\n\nvarying float v_Mag;\nvarying vec2 v_Uv;\n\nvoid main()\n{\n gl_FragColor = color;\n #ifdef GRADIENTTEXTURE_ENABLED\n gl_FragColor *= texture2D(gradientTexture, vec2(v_Mag, 0.5));\n#endif\n#ifdef COLORTEXTURE_ENABLED\n gl_FragColor *= texture2D(colorTexture, v_Uv);\n#endif\n}\n\n@end\n"},function(e,t,r){"use strict";var n=r(0),i=r.n(n);i.a.extendSeriesModel({type:"series.flowGL",dependencies:["geo","grid","bmap"],visualColorAccessPath:"itemStyle.color",getInitialData:function(e,t){var r=i.a.getCoordinateSystemDimensions(this.get("coordinateSystem"))||["x","y"];r.push("vx","vy");var n=i.a.helper.completeDimensions(r,this.getSource(),{encodeDef:this.get("encode"),dimsDef:this.get("dimensions")}),a=new i.a.List(n,this);return a.initData(this.getSource()),a},defaultOption:{coordinateSystem:"cartesian2d",zlevel:10,supersampling:1,particleType:"point",particleDensity:128,particleSize:1,particleSpeed:1,particleTrail:2,colorTexture:null,gridWidth:"auto",gridHeight:"auto",itemStyle:{color:"#fff",opacity:.8}}})},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a=(r(282),r(283),r(17));i.a.registerVisual(Object(a.a)("linesGL"))},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a=r(13),o=(r.n(a),i.a.extendSeriesModel({type:"series.linesGL",dependencies:["grid","geo"],visualColorAccessPath:"lineStyle.color",streamEnabled:!0,init:function(e){var t=this._processFlatCoordsArray(e.data);this._flatCoords=t.flatCoords,this._flatCoordsOffset=t.flatCoordsOffset,t.flatCoords&&(e.data=new Float32Array(t.count)),o.superApply(this,"init",arguments)},mergeOption:function(e){var t=this._processFlatCoordsArray(e.data);this._flatCoords=t.flatCoords,this._flatCoordsOffset=t.flatCoordsOffset,t.flatCoords&&(e.data=new Float32Array(t.count)),o.superApply(this,"mergeOption",arguments)},appendData:function(e){var t=this._processFlatCoordsArray(e.data);t.flatCoords&&(this._flatCoords?(this._flatCoords=Object(a.concatArray)(this._flatCoords,t.flatCoords),this._flatCoordsOffset=Object(a.concatArray)(this._flatCoordsOffset,t.flatCoordsOffset)):(this._flatCoords=t.flatCoords,this._flatCoordsOffset=t.flatCoordsOffset),e.data=new Float32Array(t.count)),this.getRawData().appendData(e.data)},_getCoordsFromItemModel:function(e){var t=this.getData().getItemModel(e),r=t.option instanceof Array?t.option:t.getShallow("coords");return r},getLineCoordsCount:function(e){return this._flatCoordsOffset?this._flatCoordsOffset[2*e+1]:this._getCoordsFromItemModel(e).length},getLineCoords:function(e,t){if(this._flatCoordsOffset){for(var r=this._flatCoordsOffset[2*e],n=this._flatCoordsOffset[2*e+1],i=0;i<n;i++)t[i]=t[i]||[],t[i][0]=this._flatCoords[r+2*i],t[i][1]=this._flatCoords[r+2*i+1];return n}for(var a=this._getCoordsFromItemModel(e),i=0;i<a.length;i++)t[i]=t[i]||[],t[i][0]=a[i][0],t[i][1]=a[i][1];return a.length},_processFlatCoordsArray:function(e){var t=0;if(this._flatCoords&&(t=this._flatCoords.length),"number"==typeof e[0]){for(var r=e.length,n=new Uint32Array(r),i=new Float64Array(r),a=0,o=0,s=0,u=0;u<r;){s++;var l=e[u++];n[o++]=a+t,n[o++]=l;for(var h=0;h<l;h++){var c=e[u++],d=e[u++];i[a++]=c,i[a++]=d}}return{flatCoordsOffset:new Uint32Array(n.buffer,0,o),flatCoords:i,count:s}}return{flatCoordsOffset:null,flatCoords:null,count:e.length}},getInitialData:function(e,t){var r=new i.a.List(["value"],this);return r.hasItemOption=!1,r.initData(e.data,[],function(e,t,n,i){if(e instanceof Array)return NaN;r.hasItemOption=!0;var a=e.value;return null!=a?a instanceof Array?a[i]:a:void 0}),r},defaultOption:{coordinateSystem:"geo",zlevel:10,progressive:1e4,progressiveThreshold:5e4,blendMode:"source-over",lineStyle:{opacity:.8},postEffect:{enable:!1,colorCorrection:{exposure:0,brightness:0,contrast:1,saturation:1,enable:!0}}}}))},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a=r(1),o=r(22),s=r(105),u=r(103),l=r(2);i.a.extendChartView({type:"linesGL",__ecgl__:!0,init:function(e,t){this.groupGL=new a.a.Node,this.viewGL=new o.a("orthographic"),this.viewGL.add(this.groupGL),this._glViewHelper=new u.a(this.viewGL),this._nativeLinesShader=a.a.createShader("ecgl.lines3D"),this._meshLinesShader=a.a.createShader("ecgl.meshLines3D"),this._linesMeshes=[],this._currentStep=0},render:function(e,t,r){this.groupGL.removeAll(),this._glViewHelper.reset(e,r);var n=this._linesMeshes[0];n||(n=this._linesMeshes[0]=this._createLinesMesh(e)),this._linesMeshes.length=1,this.groupGL.add(n),this._updateLinesMesh(e,n,0,e.getData().count()),this.viewGL.setPostEffect(e.getModel("postEffect"),r)},incrementalPrepareRender:function(e,t,r){this.groupGL.removeAll(),this._glViewHelper.reset(e,r),this._currentStep=0,this.viewGL.setPostEffect(e.getModel("postEffect"),r)},incrementalRender:function(e,t,r,n){var i=this._linesMeshes[this._currentStep];i||(i=this._createLinesMesh(t),this._linesMeshes[this._currentStep]=i),this._updateLinesMesh(t,i,e.start,e.end),this.groupGL.add(i),n.getZr().refresh(),this._currentStep++},updateTransform:function(e,t,r){e.coordinateSystem.getRoamTransform&&this._glViewHelper.updateTransform(e,r)},_createLinesMesh:function(e){return new a.a.Mesh({$ignorePicking:!0,material:new a.a.Material({shader:a.a.createShader("ecgl.lines3D"),transparent:!0,depthMask:!1,depthTest:!1}),geometry:new s.a({segmentScale:10,useNativeLine:!0,dynamic:!1}),mode:a.a.Mesh.LINES,culling:!1})},_updateLinesMesh:function(e,t,r,n){function i(){g[0]=m[0]*T+v[0]*x-(m[1]-v[1])*s,g[1]=m[1]*T+v[1]*x-(v[0]-m[0])*s,_[0]=m[0]*x+v[0]*T-(m[1]-v[1])*s,_[1]=m[1]*x+v[1]*T-(v[0]-m[0])*s}var o=e.getData();t.material.blend="lighter"===e.get("blendMode")?a.a.additiveBlend:null;var s=e.get("lineStyle.curveness")||0,u=e.get("polyline"),h=t.geometry,c=e.coordinateSystem,d=l.a.firstNotNull(e.get("lineStyle.width"),1);d>1?(t.material.shader!==this._meshLinesShader&&t.material.attachShader(this._meshLinesShader),t.mode=a.a.Mesh.TRIANGLES):(t.material.shader!==this._nativeLinesShader&&t.material.attachShader(this._nativeLinesShader),t.mode=a.a.Mesh.LINES),r=r||0,n=n||o.count(),h.resetOffset();var f=0,p=0,m=[],g=[],_=[],v=[],y=[],x=.3,T=.7;if(u||0!==s)for(var b=r;b<n;b++)if(u){var w=e.getLineCoordsCount(b);f+=h.getPolylineVertexCount(w),p+=h.getPolylineTriangleCount(w)}else e.getLineCoords(b,y),this._glViewHelper.dataToPoint(c,y[0],m),this._glViewHelper.dataToPoint(c,y[1],v),i(),f+=h.getCubicCurveVertexCount(m,g,_,v),p+=h.getCubicCurveTriangleCount(m,g,_,v);else{var E=n-r;f+=E*h.getLineVertexCount(),p+=E*h.getLineVertexCount()}h.setVertexCount(f),h.setTriangleCount(p);for(var S=r,A=[],b=r;b<n;b++){a.a.parseColor(o.getItemVisual(S,"color"),A);var M=l.a.firstNotNull(o.getItemVisual(S,"opacity"),1);A[3]*=M;for(var w=e.getLineCoords(b,y),C=0;C<w;C++)this._glViewHelper.dataToPoint(c,y[C],y[C]);u?h.addPolyline(y,A,d,0,w):0!==s?(m=y[0],v=y[1],i(),h.addCubicCurve(m,g,_,v,A,d)):h.addPolyline(y,A,d,0,2),S++}},dispose:function(){this.groupGL.removeAll()},remove:function(){this.groupGL.removeAll()}})}])});
\ No newline at end of file diff --git a/src/main/webapp/static/login/echarts/echarts.min.js b/src/main/webapp/static/login/echarts/echarts.min.js new file mode 100644 index 0000000..93c11b3 --- /dev/null +++ b/src/main/webapp/static/login/echarts/echarts.min.js @@ -0,0 +1,22 @@ + +/* +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you 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. +*/ + + +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e(t.echarts={})}(this,function(t){"use strict";function e(t,e){"createCanvas"===t&&(q_=null),j_[t]=e}function i(t){if(null==t||"object"!=typeof t)return t;var e=t,n=G_.call(t);if("[object Array]"===n){if(!O(t)){e=[];for(var o=0,a=t.length;o<a;o++)e[o]=i(t[o])}}else if(V_[n]){if(!O(t)){var r=t.constructor;if(t.constructor.from)e=r.from(t);else{e=new r(t.length);for(var o=0,a=t.length;o<a;o++)e[o]=i(t[o])}}}else if(!B_[n]&&!O(t)&&!M(t)){e={};for(var s in t)t.hasOwnProperty(s)&&(e[s]=i(t[s]))}return e}function n(t,e,o){if(!w(e)||!w(t))return o?i(e):t;for(var a in e)if(e.hasOwnProperty(a)){var r=t[a],s=e[a];!w(s)||!w(r)||y(s)||y(r)||M(s)||M(r)||b(s)||b(r)||O(s)||O(r)?!o&&a in t||(t[a]=i(e[a],!0)):n(r,s,o)}return t}function o(t,e){for(var i=t[0],o=1,a=t.length;o<a;o++)i=n(i,t[o],e);return i}function a(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);return t}function r(t,e,i){for(var n in e)e.hasOwnProperty(n)&&(i?null!=e[n]:null==t[n])&&(t[n]=e[n]);return t}function s(){return q_||(q_=Y_().getContext("2d")),q_}function l(t,e){if(t){if(t.indexOf)return t.indexOf(e);for(var i=0,n=t.length;i<n;i++)if(t[i]===e)return i}return-1}function u(t,e){function i(){}var n=t.prototype;i.prototype=e.prototype,t.prototype=new i;for(var o in n)t.prototype[o]=n[o];t.prototype.constructor=t,t.superClass=e}function h(t,e,i){r(t="prototype"in t?t.prototype:t,e="prototype"in e?e.prototype:e,i)}function c(t){if(t)return"string"!=typeof t&&"number"==typeof t.length}function d(t,e,i){if(t&&e)if(t.forEach&&t.forEach===W_)t.forEach(e,i);else if(t.length===+t.length)for(var n=0,o=t.length;n<o;n++)e.call(i,t[n],n,t);else for(var a in t)t.hasOwnProperty(a)&&e.call(i,t[a],a,t)}function f(t,e,i){if(t&&e){if(t.map&&t.map===U_)return t.map(e,i);for(var n=[],o=0,a=t.length;o<a;o++)n.push(e.call(i,t[o],o,t));return n}}function p(t,e,i,n){if(t&&e){if(t.reduce&&t.reduce===X_)return t.reduce(e,i,n);for(var o=0,a=t.length;o<a;o++)i=e.call(n,i,t[o],o,t);return i}}function g(t,e,i){if(t&&e){if(t.filter&&t.filter===H_)return t.filter(e,i);for(var n=[],o=0,a=t.length;o<a;o++)e.call(i,t[o],o,t)&&n.push(t[o]);return n}}function m(t,e){var i=Z_.call(arguments,2);return function(){return t.apply(e,i.concat(Z_.call(arguments)))}}function v(t){var e=Z_.call(arguments,1);return function(){return t.apply(this,e.concat(Z_.call(arguments)))}}function y(t){return"[object Array]"===G_.call(t)}function x(t){return"function"==typeof t}function _(t){return"[object String]"===G_.call(t)}function w(t){var e=typeof t;return"function"===e||!!t&&"object"==e}function b(t){return!!B_[G_.call(t)]}function S(t){return!!V_[G_.call(t)]}function M(t){return"object"==typeof t&&"number"==typeof t.nodeType&&"object"==typeof t.ownerDocument}function I(t){return t!==t}function T(t){for(var e=0,i=arguments.length;e<i;e++)if(null!=arguments[e])return arguments[e]}function A(t,e){return null!=t?t:e}function D(t,e,i){return null!=t?t:null!=e?e:i}function C(){return Function.call.apply(Z_,arguments)}function L(t){if("number"==typeof t)return[t,t,t,t];var e=t.length;return 2===e?[t[0],t[1],t[0],t[1]]:3===e?[t[0],t[1],t[2],t[1]]:t}function k(t,e){if(!t)throw new Error(e)}function P(t){return null==t?null:"function"==typeof t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}function N(t){t[K_]=!0}function O(t){return t[K_]}function E(t){function e(t,e){i?n.set(t,e):n.set(e,t)}var i=y(t);this.data={};var n=this;t instanceof E?t.each(e):t&&d(t,e)}function R(t){return new E(t)}function z(t,e){for(var i=new t.constructor(t.length+e.length),n=0;n<t.length;n++)i[n]=t[n];var o=t.length;for(n=0;n<e.length;n++)i[n+o]=e[n];return i}function B(){}function V(t,e){var i=new J_(2);return null==t&&(t=0),null==e&&(e=0),i[0]=t,i[1]=e,i}function G(t,e){return t[0]=e[0],t[1]=e[1],t}function F(t){var e=new J_(2);return e[0]=t[0],e[1]=t[1],e}function W(t,e,i){return t[0]=e,t[1]=i,t}function H(t,e,i){return t[0]=e[0]+i[0],t[1]=e[1]+i[1],t}function Z(t,e,i,n){return t[0]=e[0]+i[0]*n,t[1]=e[1]+i[1]*n,t}function U(t,e,i){return t[0]=e[0]-i[0],t[1]=e[1]-i[1],t}function X(t){return Math.sqrt(j(t))}function j(t){return t[0]*t[0]+t[1]*t[1]}function Y(t,e,i){return t[0]=e[0]*i,t[1]=e[1]*i,t}function q(t,e){var i=X(e);return 0===i?(t[0]=0,t[1]=0):(t[0]=e[0]/i,t[1]=e[1]/i),t}function K(t,e){return Math.sqrt((t[0]-e[0])*(t[0]-e[0])+(t[1]-e[1])*(t[1]-e[1]))}function $(t,e){return(t[0]-e[0])*(t[0]-e[0])+(t[1]-e[1])*(t[1]-e[1])}function J(t,e,i,n){return t[0]=e[0]+n*(i[0]-e[0]),t[1]=e[1]+n*(i[1]-e[1]),t}function Q(t,e,i){var n=e[0],o=e[1];return t[0]=i[0]*n+i[2]*o+i[4],t[1]=i[1]*n+i[3]*o+i[5],t}function tt(t,e,i){return t[0]=Math.min(e[0],i[0]),t[1]=Math.min(e[1],i[1]),t}function et(t,e,i){return t[0]=Math.max(e[0],i[0]),t[1]=Math.max(e[1],i[1]),t}function it(){this.on("mousedown",this._dragStart,this),this.on("mousemove",this._drag,this),this.on("mouseup",this._dragEnd,this),this.on("globalout",this._dragEnd,this)}function nt(t,e){return{target:t,topTarget:e&&e.topTarget}}function ot(t,e){var i=t._$eventProcessor;return null!=e&&i&&i.normalizeQuery&&(e=i.normalizeQuery(e)),e}function at(t){return t.getBoundingClientRect?t.getBoundingClientRect():{left:0,top:0}}function rt(t,e,i,n){return i=i||{},n||!z_.canvasSupported?st(t,e,i):z_.browser.firefox&&null!=e.layerX&&e.layerX!==e.offsetX?(i.zrX=e.layerX,i.zrY=e.layerY):null!=e.offsetX?(i.zrX=e.offsetX,i.zrY=e.offsetY):st(t,e,i),i}function st(t,e,i){var n=at(t);i.zrX=e.clientX-n.left,i.zrY=e.clientY-n.top}function lt(t,e,i){if(null!=(e=e||window.event).zrX)return e;var n=e.type;if(n&&n.indexOf("touch")>=0){var o="touchend"!=n?e.targetTouches[0]:e.changedTouches[0];o&&rt(t,o,e,i)}else rt(t,e,e,i),e.zrDelta=e.wheelDelta?e.wheelDelta/120:-(e.detail||0)/3;var a=e.button;return null==e.which&&void 0!==a&&sw.test(e.type)&&(e.which=1&a?1:2&a?3:4&a?2:0),e}function ut(t,e,i){rw?t.addEventListener(e,i):t.attachEvent("on"+e,i)}function ht(t,e,i){rw?t.removeEventListener(e,i):t.detachEvent("on"+e,i)}function ct(t){return t.which>1}function dt(t,e,i){return{type:t,event:i,target:e.target,topTarget:e.topTarget,cancelBubble:!1,offsetX:i.zrX,offsetY:i.zrY,gestureEvent:i.gestureEvent,pinchX:i.pinchX,pinchY:i.pinchY,pinchScale:i.pinchScale,wheelDelta:i.zrDelta,zrByTouch:i.zrByTouch,which:i.which,stop:ft}}function ft(t){lw(this.event)}function pt(){}function gt(t,e,i){if(t[t.rectHover?"rectContain":"contain"](e,i)){for(var n,o=t;o;){if(o.clipPath&&!o.clipPath.contain(e,i))return!1;o.silent&&(n=!0),o=o.parent}return!n||uw}return!1}function mt(){var t=new dw(6);return vt(t),t}function vt(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t}function yt(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t}function xt(t,e,i){var n=e[0]*i[0]+e[2]*i[1],o=e[1]*i[0]+e[3]*i[1],a=e[0]*i[2]+e[2]*i[3],r=e[1]*i[2]+e[3]*i[3],s=e[0]*i[4]+e[2]*i[5]+e[4],l=e[1]*i[4]+e[3]*i[5]+e[5];return t[0]=n,t[1]=o,t[2]=a,t[3]=r,t[4]=s,t[5]=l,t}function _t(t,e,i){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4]+i[0],t[5]=e[5]+i[1],t}function wt(t,e,i){var n=e[0],o=e[2],a=e[4],r=e[1],s=e[3],l=e[5],u=Math.sin(i),h=Math.cos(i);return t[0]=n*h+r*u,t[1]=-n*u+r*h,t[2]=o*h+s*u,t[3]=-o*u+h*s,t[4]=h*a+u*l,t[5]=h*l-u*a,t}function bt(t,e,i){var n=i[0],o=i[1];return t[0]=e[0]*n,t[1]=e[1]*o,t[2]=e[2]*n,t[3]=e[3]*o,t[4]=e[4]*n,t[5]=e[5]*o,t}function St(t,e){var i=e[0],n=e[2],o=e[4],a=e[1],r=e[3],s=e[5],l=i*r-a*n;return l?(l=1/l,t[0]=r*l,t[1]=-a*l,t[2]=-n*l,t[3]=i*l,t[4]=(n*s-r*o)*l,t[5]=(a*o-i*s)*l,t):null}function Mt(t){var e=mt();return yt(e,t),e}function It(t){return t>gw||t<-gw}function Tt(t){this._target=t.target,this._life=t.life||1e3,this._delay=t.delay||0,this._initialized=!1,this.loop=null!=t.loop&&t.loop,this.gap=t.gap||0,this.easing=t.easing||"Linear",this.onframe=t.onframe,this.ondestroy=t.ondestroy,this.onrestart=t.onrestart,this._pausedTime=0,this._paused=!1}function At(t){return(t=Math.round(t))<0?0:t>255?255:t}function Dt(t){return(t=Math.round(t))<0?0:t>360?360:t}function Ct(t){return t<0?0:t>1?1:t}function Lt(t){return At(t.length&&"%"===t.charAt(t.length-1)?parseFloat(t)/100*255:parseInt(t,10))}function kt(t){return Ct(t.length&&"%"===t.charAt(t.length-1)?parseFloat(t)/100:parseFloat(t))}function Pt(t,e,i){return i<0?i+=1:i>1&&(i-=1),6*i<1?t+(e-t)*i*6:2*i<1?e:3*i<2?t+(e-t)*(2/3-i)*6:t}function Nt(t,e,i){return t+(e-t)*i}function Ot(t,e,i,n,o){return t[0]=e,t[1]=i,t[2]=n,t[3]=o,t}function Et(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}function Rt(t,e){Cw&&Et(Cw,e),Cw=Dw.put(t,Cw||e.slice())}function zt(t,e){if(t){e=e||[];var i=Dw.get(t);if(i)return Et(e,i);var n=(t+="").replace(/ /g,"").toLowerCase();if(n in Aw)return Et(e,Aw[n]),Rt(t,e),e;if("#"!==n.charAt(0)){var o=n.indexOf("("),a=n.indexOf(")");if(-1!==o&&a+1===n.length){var r=n.substr(0,o),s=n.substr(o+1,a-(o+1)).split(","),l=1;switch(r){case"rgba":if(4!==s.length)return void Ot(e,0,0,0,1);l=kt(s.pop());case"rgb":return 3!==s.length?void Ot(e,0,0,0,1):(Ot(e,Lt(s[0]),Lt(s[1]),Lt(s[2]),l),Rt(t,e),e);case"hsla":return 4!==s.length?void Ot(e,0,0,0,1):(s[3]=kt(s[3]),Bt(s,e),Rt(t,e),e);case"hsl":return 3!==s.length?void Ot(e,0,0,0,1):(Bt(s,e),Rt(t,e),e);default:return}}Ot(e,0,0,0,1)}else{if(4===n.length)return(u=parseInt(n.substr(1),16))>=0&&u<=4095?(Ot(e,(3840&u)>>4|(3840&u)>>8,240&u|(240&u)>>4,15&u|(15&u)<<4,1),Rt(t,e),e):void Ot(e,0,0,0,1);if(7===n.length){var u=parseInt(n.substr(1),16);return u>=0&&u<=16777215?(Ot(e,(16711680&u)>>16,(65280&u)>>8,255&u,1),Rt(t,e),e):void Ot(e,0,0,0,1)}}}}function Bt(t,e){var i=(parseFloat(t[0])%360+360)%360/360,n=kt(t[1]),o=kt(t[2]),a=o<=.5?o*(n+1):o+n-o*n,r=2*o-a;return e=e||[],Ot(e,At(255*Pt(r,a,i+1/3)),At(255*Pt(r,a,i)),At(255*Pt(r,a,i-1/3)),1),4===t.length&&(e[3]=t[3]),e}function Vt(t){if(t){var e,i,n=t[0]/255,o=t[1]/255,a=t[2]/255,r=Math.min(n,o,a),s=Math.max(n,o,a),l=s-r,u=(s+r)/2;if(0===l)e=0,i=0;else{i=u<.5?l/(s+r):l/(2-s-r);var h=((s-n)/6+l/2)/l,c=((s-o)/6+l/2)/l,d=((s-a)/6+l/2)/l;n===s?e=d-c:o===s?e=1/3+h-d:a===s&&(e=2/3+c-h),e<0&&(e+=1),e>1&&(e-=1)}var f=[360*e,i,u];return null!=t[3]&&f.push(t[3]),f}}function Gt(t,e){var i=zt(t);if(i){for(var n=0;n<3;n++)i[n]=e<0?i[n]*(1-e)|0:(255-i[n])*e+i[n]|0,i[n]>255?i[n]=255:t[n]<0&&(i[n]=0);return Xt(i,4===i.length?"rgba":"rgb")}}function Ft(t){var e=zt(t);if(e)return((1<<24)+(e[0]<<16)+(e[1]<<8)+ +e[2]).toString(16).slice(1)}function Wt(t,e,i){if(e&&e.length&&t>=0&&t<=1){i=i||[];var n=t*(e.length-1),o=Math.floor(n),a=Math.ceil(n),r=e[o],s=e[a],l=n-o;return i[0]=At(Nt(r[0],s[0],l)),i[1]=At(Nt(r[1],s[1],l)),i[2]=At(Nt(r[2],s[2],l)),i[3]=Ct(Nt(r[3],s[3],l)),i}}function Ht(t,e,i){if(e&&e.length&&t>=0&&t<=1){var n=t*(e.length-1),o=Math.floor(n),a=Math.ceil(n),r=zt(e[o]),s=zt(e[a]),l=n-o,u=Xt([At(Nt(r[0],s[0],l)),At(Nt(r[1],s[1],l)),At(Nt(r[2],s[2],l)),Ct(Nt(r[3],s[3],l))],"rgba");return i?{color:u,leftIndex:o,rightIndex:a,value:n}:u}}function Zt(t,e,i,n){if(t=zt(t))return t=Vt(t),null!=e&&(t[0]=Dt(e)),null!=i&&(t[1]=kt(i)),null!=n&&(t[2]=kt(n)),Xt(Bt(t),"rgba")}function Ut(t,e){if((t=zt(t))&&null!=e)return t[3]=Ct(e),Xt(t,"rgba")}function Xt(t,e){if(t&&t.length){var i=t[0]+","+t[1]+","+t[2];return"rgba"!==e&&"hsva"!==e&&"hsla"!==e||(i+=","+t[3]),e+"("+i+")"}}function jt(t,e){return t[e]}function Yt(t,e,i){t[e]=i}function qt(t,e,i){return(e-t)*i+t}function Kt(t,e,i){return i>.5?e:t}function $t(t,e,i,n,o){var a=t.length;if(1==o)for(s=0;s<a;s++)n[s]=qt(t[s],e[s],i);else for(var r=a&&t[0].length,s=0;s<a;s++)for(var l=0;l<r;l++)n[s][l]=qt(t[s][l],e[s][l],i)}function Jt(t,e,i){var n=t.length,o=e.length;if(n!==o)if(n>o)t.length=o;else for(r=n;r<o;r++)t.push(1===i?e[r]:Nw.call(e[r]));for(var a=t[0]&&t[0].length,r=0;r<t.length;r++)if(1===i)isNaN(t[r])&&(t[r]=e[r]);else for(var s=0;s<a;s++)isNaN(t[r][s])&&(t[r][s]=e[r][s])}function Qt(t,e,i){if(t===e)return!0;var n=t.length;if(n!==e.length)return!1;if(1===i){for(a=0;a<n;a++)if(t[a]!==e[a])return!1}else for(var o=t[0].length,a=0;a<n;a++)for(var r=0;r<o;r++)if(t[a][r]!==e[a][r])return!1;return!0}function te(t,e,i,n,o,a,r,s,l){var u=t.length;if(1==l)for(c=0;c<u;c++)s[c]=ee(t[c],e[c],i[c],n[c],o,a,r);else for(var h=t[0].length,c=0;c<u;c++)for(var d=0;d<h;d++)s[c][d]=ee(t[c][d],e[c][d],i[c][d],n[c][d],o,a,r)}function ee(t,e,i,n,o,a,r){var s=.5*(i-t),l=.5*(n-e);return(2*(e-i)+s+l)*r+(-3*(e-i)-2*s-l)*a+s*o+e}function ie(t){if(c(t)){var e=t.length;if(c(t[0])){for(var i=[],n=0;n<e;n++)i.push(Nw.call(t[n]));return i}return Nw.call(t)}return t}function ne(t){return t[0]=Math.floor(t[0]),t[1]=Math.floor(t[1]),t[2]=Math.floor(t[2]),"rgba("+t.join(",")+")"}function oe(t){var e=t[t.length-1].value;return c(e&&e[0])?2:1}function ae(t,e,i,n,o,a){var r=t._getter,s=t._setter,l="spline"===e,u=n.length;if(u){var h,d=c(n[0].value),f=!1,p=!1,g=d?oe(n):0;n.sort(function(t,e){return t.time-e.time}),h=n[u-1].time;for(var m=[],v=[],y=n[0].value,x=!0,_=0;_<u;_++){m.push(n[_].time/h);var w=n[_].value;if(d&&Qt(w,y,g)||!d&&w===y||(x=!1),y=w,"string"==typeof w){var b=zt(w);b?(w=b,f=!0):p=!0}v.push(w)}if(a||!x){for(var S=v[u-1],_=0;_<u-1;_++)d?Jt(v[_],S,g):!isNaN(v[_])||isNaN(S)||p||f||(v[_]=S);d&&Jt(r(t._target,o),S,g);var M,I,T,A,D,C,L=0,k=0;if(f)var P=[0,0,0,0];var N=new Tt({target:t._target,life:h,loop:t._loop,delay:t._delay,onframe:function(t,e){var i;if(e<0)i=0;else if(e<k){for(i=M=Math.min(L+1,u-1);i>=0&&!(m[i]<=e);i--);i=Math.min(i,u-2)}else{for(i=L;i<u&&!(m[i]>e);i++);i=Math.min(i-1,u-2)}L=i,k=e;var n=m[i+1]-m[i];if(0!==n)if(I=(e-m[i])/n,l)if(A=v[i],T=v[0===i?i:i-1],D=v[i>u-2?u-1:i+1],C=v[i>u-3?u-1:i+2],d)te(T,A,D,C,I,I*I,I*I*I,r(t,o),g);else{if(f)a=te(T,A,D,C,I,I*I,I*I*I,P,1),a=ne(P);else{if(p)return Kt(A,D,I);a=ee(T,A,D,C,I,I*I,I*I*I)}s(t,o,a)}else if(d)$t(v[i],v[i+1],I,r(t,o),g);else{var a;if(f)$t(v[i],v[i+1],I,P,1),a=ne(P);else{if(p)return Kt(v[i],v[i+1],I);a=qt(v[i],v[i+1],I)}s(t,o,a)}},ondestroy:i});return e&&"spline"!==e&&(N.easing=e),N}}}function re(t,e,i,n,o,a,r,s){_(n)?(a=o,o=n,n=0):x(o)?(a=o,o="linear",n=0):x(n)?(a=n,n=0):x(i)?(a=i,i=500):i||(i=500),t.stopAnimation(),se(t,"",t,e,i,n,s);var l=t.animators.slice(),u=l.length;u||a&&a();for(var h=0;h<l.length;h++)l[h].done(function(){--u||a&&a()}).start(o,r)}function se(t,e,i,n,o,a,r){var s={},l=0;for(var u in n)n.hasOwnProperty(u)&&(null!=i[u]?w(n[u])&&!c(n[u])?se(t,e?e+"."+u:u,i[u],n[u],o,a,r):(r?(s[u]=i[u],le(t,e,u,n[u])):s[u]=n[u],l++):null==n[u]||r||le(t,e,u,n[u]));l>0&&t.animate(e,!1).when(null==o?500:o,s).delay(a||0)}function le(t,e,i,n){if(e){var o={};o[e]={},o[e][i]=n,t.attr(o)}else t.attr(i,n)}function ue(t,e,i,n){i<0&&(t+=i,i=-i),n<0&&(e+=n,n=-n),this.x=t,this.y=e,this.width=i,this.height=n}function he(t){for(var e=0;t>=Uw;)e|=1&t,t>>=1;return t+e}function ce(t,e,i,n){var o=e+1;if(o===i)return 1;if(n(t[o++],t[e])<0){for(;o<i&&n(t[o],t[o-1])<0;)o++;de(t,e,o)}else for(;o<i&&n(t[o],t[o-1])>=0;)o++;return o-e}function de(t,e,i){for(i--;e<i;){var n=t[e];t[e++]=t[i],t[i--]=n}}function fe(t,e,i,n,o){for(n===e&&n++;n<i;n++){for(var a,r=t[n],s=e,l=n;s<l;)o(r,t[a=s+l>>>1])<0?l=a:s=a+1;var u=n-s;switch(u){case 3:t[s+3]=t[s+2];case 2:t[s+2]=t[s+1];case 1:t[s+1]=t[s];break;default:for(;u>0;)t[s+u]=t[s+u-1],u--}t[s]=r}}function pe(t,e,i,n,o,a){var r=0,s=0,l=1;if(a(t,e[i+o])>0){for(s=n-o;l<s&&a(t,e[i+o+l])>0;)r=l,(l=1+(l<<1))<=0&&(l=s);l>s&&(l=s),r+=o,l+=o}else{for(s=o+1;l<s&&a(t,e[i+o-l])<=0;)r=l,(l=1+(l<<1))<=0&&(l=s);l>s&&(l=s);var u=r;r=o-l,l=o-u}for(r++;r<l;){var h=r+(l-r>>>1);a(t,e[i+h])>0?r=h+1:l=h}return l}function ge(t,e,i,n,o,a){var r=0,s=0,l=1;if(a(t,e[i+o])<0){for(s=o+1;l<s&&a(t,e[i+o-l])<0;)r=l,(l=1+(l<<1))<=0&&(l=s);l>s&&(l=s);var u=r;r=o-l,l=o-u}else{for(s=n-o;l<s&&a(t,e[i+o+l])>=0;)r=l,(l=1+(l<<1))<=0&&(l=s);l>s&&(l=s),r+=o,l+=o}for(r++;r<l;){var h=r+(l-r>>>1);a(t,e[i+h])<0?l=h:r=h+1}return l}function me(t,e){function i(i){var s=a[i],u=r[i],h=a[i+1],c=r[i+1];r[i]=u+c,i===l-3&&(a[i+1]=a[i+2],r[i+1]=r[i+2]),l--;var d=ge(t[h],t,s,u,0,e);s+=d,0!==(u-=d)&&0!==(c=pe(t[s+u-1],t,h,c,c-1,e))&&(u<=c?n(s,u,h,c):o(s,u,h,c))}function n(i,n,o,a){var r=0;for(r=0;r<n;r++)u[r]=t[i+r];var l=0,h=o,c=i;if(t[c++]=t[h++],0!=--a)if(1!==n){for(var d,f,p,g=s;;){d=0,f=0,p=!1;do{if(e(t[h],u[l])<0){if(t[c++]=t[h++],f++,d=0,0==--a){p=!0;break}}else if(t[c++]=u[l++],d++,f=0,1==--n){p=!0;break}}while((d|f)<g);if(p)break;do{if(0!==(d=ge(t[h],u,l,n,0,e))){for(r=0;r<d;r++)t[c+r]=u[l+r];if(c+=d,l+=d,(n-=d)<=1){p=!0;break}}if(t[c++]=t[h++],0==--a){p=!0;break}if(0!==(f=pe(u[l],t,h,a,0,e))){for(r=0;r<f;r++)t[c+r]=t[h+r];if(c+=f,h+=f,0===(a-=f)){p=!0;break}}if(t[c++]=u[l++],1==--n){p=!0;break}g--}while(d>=Xw||f>=Xw);if(p)break;g<0&&(g=0),g+=2}if((s=g)<1&&(s=1),1===n){for(r=0;r<a;r++)t[c+r]=t[h+r];t[c+a]=u[l]}else{if(0===n)throw new Error;for(r=0;r<n;r++)t[c+r]=u[l+r]}}else{for(r=0;r<a;r++)t[c+r]=t[h+r];t[c+a]=u[l]}else for(r=0;r<n;r++)t[c+r]=u[l+r]}function o(i,n,o,a){var r=0;for(r=0;r<a;r++)u[r]=t[o+r];var l=i+n-1,h=a-1,c=o+a-1,d=0,f=0;if(t[c--]=t[l--],0!=--n)if(1!==a){for(var p=s;;){var g=0,m=0,v=!1;do{if(e(u[h],t[l])<0){if(t[c--]=t[l--],g++,m=0,0==--n){v=!0;break}}else if(t[c--]=u[h--],m++,g=0,1==--a){v=!0;break}}while((g|m)<p);if(v)break;do{if(0!=(g=n-ge(u[h],t,i,n,n-1,e))){for(n-=g,f=(c-=g)+1,d=(l-=g)+1,r=g-1;r>=0;r--)t[f+r]=t[d+r];if(0===n){v=!0;break}}if(t[c--]=u[h--],1==--a){v=!0;break}if(0!=(m=a-pe(t[l],u,0,a,a-1,e))){for(a-=m,f=(c-=m)+1,d=(h-=m)+1,r=0;r<m;r++)t[f+r]=u[d+r];if(a<=1){v=!0;break}}if(t[c--]=t[l--],0==--n){v=!0;break}p--}while(g>=Xw||m>=Xw);if(v)break;p<0&&(p=0),p+=2}if((s=p)<1&&(s=1),1===a){for(f=(c-=n)+1,d=(l-=n)+1,r=n-1;r>=0;r--)t[f+r]=t[d+r];t[c]=u[h]}else{if(0===a)throw new Error;for(d=c-(a-1),r=0;r<a;r++)t[d+r]=u[r]}}else{for(f=(c-=n)+1,d=(l-=n)+1,r=n-1;r>=0;r--)t[f+r]=t[d+r];t[c]=u[h]}else for(d=c-(a-1),r=0;r<a;r++)t[d+r]=u[r]}var a,r,s=Xw,l=0,u=[];a=[],r=[],this.mergeRuns=function(){for(;l>1;){var t=l-2;if(t>=1&&r[t-1]<=r[t]+r[t+1]||t>=2&&r[t-2]<=r[t]+r[t-1])r[t-1]<r[t+1]&&t--;else if(r[t]>r[t+1])break;i(t)}},this.forceMergeRuns=function(){for(;l>1;){var t=l-2;t>0&&r[t-1]<r[t+1]&&t--,i(t)}},this.pushRun=function(t,e){a[l]=t,r[l]=e,l+=1}}function ve(t,e,i,n){i||(i=0),n||(n=t.length);var o=n-i;if(!(o<2)){var a=0;if(o<Uw)return a=ce(t,i,n,e),void fe(t,i,n,i+a,e);var r=new me(t,e),s=he(o);do{if((a=ce(t,i,n,e))<s){var l=o;l>s&&(l=s),fe(t,i,i+l,i+a,e),a=l}r.pushRun(i,a),r.mergeRuns(),o-=a,i+=a}while(0!==o);r.forceMergeRuns()}}function ye(t,e){return t.zlevel===e.zlevel?t.z===e.z?t.z2-e.z2:t.z-e.z:t.zlevel-e.zlevel}function xe(t,e,i){var n=null==e.x?0:e.x,o=null==e.x2?1:e.x2,a=null==e.y?0:e.y,r=null==e.y2?0:e.y2;return e.global||(n=n*i.width+i.x,o=o*i.width+i.x,a=a*i.height+i.y,r=r*i.height+i.y),n=isNaN(n)?0:n,o=isNaN(o)?1:o,a=isNaN(a)?0:a,r=isNaN(r)?0:r,t.createLinearGradient(n,a,o,r)}function _e(t,e,i){var n=i.width,o=i.height,a=Math.min(n,o),r=null==e.x?.5:e.x,s=null==e.y?.5:e.y,l=null==e.r?.5:e.r;return e.global||(r=r*n+i.x,s=s*o+i.y,l*=a),t.createRadialGradient(r,s,0,r,s,l)}function we(){return!1}function be(t,e,i){var n=Y_(),o=e.getWidth(),a=e.getHeight(),r=n.style;return r&&(r.position="absolute",r.left=0,r.top=0,r.width=o+"px",r.height=a+"px",n.setAttribute("data-zr-dom-id",t)),n.width=o*i,n.height=a*i,n}function Se(t){if("string"==typeof t){var e=ob.get(t);return e&&e.image}return t}function Me(t,e,i,n,o){if(t){if("string"==typeof t){if(e&&e.__zrImageSrc===t||!i)return e;var a=ob.get(t),r={hostEl:i,cb:n,cbPayload:o};return a?!Te(e=a.image)&&a.pending.push(r):(!e&&(e=new Image),e.onload=e.onerror=Ie,ob.put(t,e.__cachedImgObj={image:e,pending:[r]}),e.src=e.__zrImageSrc=t),e}return t}return e}function Ie(){var t=this.__cachedImgObj;this.onload=this.onerror=this.__cachedImgObj=null;for(var e=0;e<t.pending.length;e++){var i=t.pending[e],n=i.cb;n&&n(this,i.cbPayload),i.hostEl.dirty()}t.pending.length=0}function Te(t){return t&&t.width&&t.height}function Ae(t,e){var i=t+":"+(e=e||ub);if(ab[i])return ab[i];for(var n=(t+"").split("\n"),o=0,a=0,r=n.length;a<r;a++)o=Math.max(Ve(n[a],e).width,o);return rb>sb&&(rb=0,ab={}),rb++,ab[i]=o,o}function De(t,e,i,n,o,a,r){return a?Le(t,e,i,n,o,a,r):Ce(t,e,i,n,o,r)}function Ce(t,e,i,n,o,a){var r=Ge(t,e,o,a),s=Ae(t,e);o&&(s+=o[1]+o[3]);var l=r.outerHeight,u=new ue(ke(0,s,i),Pe(0,l,n),s,l);return u.lineHeight=r.lineHeight,u}function Le(t,e,i,n,o,a,r){var s=Fe(t,{rich:a,truncate:r,font:e,textAlign:i,textPadding:o}),l=s.outerWidth,u=s.outerHeight;return new ue(ke(0,l,i),Pe(0,u,n),l,u)}function ke(t,e,i){return"right"===i?t-=e:"center"===i&&(t-=e/2),t}function Pe(t,e,i){return"middle"===i?t-=e/2:"bottom"===i&&(t-=e),t}function Ne(t,e,i){var n=e.x,o=e.y,a=e.height,r=e.width,s=a/2,l="left",u="top";switch(t){case"left":n-=i,o+=s,l="right",u="middle";break;case"right":n+=i+r,o+=s,u="middle";break;case"top":n+=r/2,o-=i,l="center",u="bottom";break;case"bottom":n+=r/2,o+=a+i,l="center";break;case"inside":n+=r/2,o+=s,l="center",u="middle";break;case"insideLeft":n+=i,o+=s,u="middle";break;case"insideRight":n+=r-i,o+=s,l="right",u="middle";break;case"insideTop":n+=r/2,o+=i,l="center";break;case"insideBottom":n+=r/2,o+=a-i,l="center",u="bottom";break;case"insideTopLeft":n+=i,o+=i;break;case"insideTopRight":n+=r-i,o+=i,l="right";break;case"insideBottomLeft":n+=i,o+=a-i,u="bottom";break;case"insideBottomRight":n+=r-i,o+=a-i,l="right",u="bottom"}return{x:n,y:o,textAlign:l,textVerticalAlign:u}}function Oe(t,e,i,n,o){if(!e)return"";var a=(t+"").split("\n");o=Ee(e,i,n,o);for(var r=0,s=a.length;r<s;r++)a[r]=Re(a[r],o);return a.join("\n")}function Ee(t,e,i,n){(n=a({},n)).font=e;var i=A(i,"...");n.maxIterations=A(n.maxIterations,2);var o=n.minChar=A(n.minChar,0);n.cnCharWidth=Ae("国",e);var r=n.ascCharWidth=Ae("a",e);n.placeholder=A(n.placeholder,"");for(var s=t=Math.max(0,t-1),l=0;l<o&&s>=r;l++)s-=r;var u=Ae(i);return u>s&&(i="",u=0),s=t-u,n.ellipsis=i,n.ellipsisWidth=u,n.contentWidth=s,n.containerWidth=t,n}function Re(t,e){var i=e.containerWidth,n=e.font,o=e.contentWidth;if(!i)return"";var a=Ae(t,n);if(a<=i)return t;for(var r=0;;r++){if(a<=o||r>=e.maxIterations){t+=e.ellipsis;break}var s=0===r?ze(t,o,e.ascCharWidth,e.cnCharWidth):a>0?Math.floor(t.length*o/a):0;a=Ae(t=t.substr(0,s),n)}return""===t&&(t=e.placeholder),t}function ze(t,e,i,n){for(var o=0,a=0,r=t.length;a<r&&o<e;a++){var s=t.charCodeAt(a);o+=0<=s&&s<=127?i:n}return a}function Be(t){return Ae("国",t)}function Ve(t,e){return hb.measureText(t,e)}function Ge(t,e,i,n){null!=t&&(t+="");var o=Be(e),a=t?t.split("\n"):[],r=a.length*o,s=r;if(i&&(s+=i[0]+i[2]),t&&n){var l=n.outerHeight,u=n.outerWidth;if(null!=l&&s>l)t="",a=[];else if(null!=u)for(var h=Ee(u-(i?i[1]+i[3]:0),e,n.ellipsis,{minChar:n.minChar,placeholder:n.placeholder}),c=0,d=a.length;c<d;c++)a[c]=Re(a[c],h)}return{lines:a,height:r,outerHeight:s,lineHeight:o}}function Fe(t,e){var i={lines:[],width:0,height:0};if(null!=t&&(t+=""),!t)return i;for(var n,o=lb.lastIndex=0;null!=(n=lb.exec(t));){var a=n.index;a>o&&We(i,t.substring(o,a)),We(i,n[2],n[1]),o=lb.lastIndex}o<t.length&&We(i,t.substring(o,t.length));var r=i.lines,s=0,l=0,u=[],h=e.textPadding,c=e.truncate,d=c&&c.outerWidth,f=c&&c.outerHeight;h&&(null!=d&&(d-=h[1]+h[3]),null!=f&&(f-=h[0]+h[2]));for(L=0;L<r.length;L++){for(var p=r[L],g=0,m=0,v=0;v<p.tokens.length;v++){var y=(k=p.tokens[v]).styleName&&e.rich[k.styleName]||{},x=k.textPadding=y.textPadding,_=k.font=y.font||e.font,w=k.textHeight=A(y.textHeight,Be(_));if(x&&(w+=x[0]+x[2]),k.height=w,k.lineHeight=D(y.textLineHeight,e.textLineHeight,w),k.textAlign=y&&y.textAlign||e.textAlign,k.textVerticalAlign=y&&y.textVerticalAlign||"middle",null!=f&&s+k.lineHeight>f)return{lines:[],width:0,height:0};k.textWidth=Ae(k.text,_);var b=y.textWidth,S=null==b||"auto"===b;if("string"==typeof b&&"%"===b.charAt(b.length-1))k.percentWidth=b,u.push(k),b=0;else{if(S){b=k.textWidth;var M=y.textBackgroundColor,I=M&&M.image;I&&Te(I=Se(I))&&(b=Math.max(b,I.width*w/I.height))}var T=x?x[1]+x[3]:0;b+=T;var C=null!=d?d-m:null;null!=C&&C<b&&(!S||C<T?(k.text="",k.textWidth=b=0):(k.text=Oe(k.text,C-T,_,c.ellipsis,{minChar:c.minChar}),k.textWidth=Ae(k.text,_),b=k.textWidth+T))}m+=k.width=b,y&&(g=Math.max(g,k.lineHeight))}p.width=m,p.lineHeight=g,s+=g,l=Math.max(l,m)}i.outerWidth=i.width=A(e.textWidth,l),i.outerHeight=i.height=A(e.textHeight,s),h&&(i.outerWidth+=h[1]+h[3],i.outerHeight+=h[0]+h[2]);for(var L=0;L<u.length;L++){var k=u[L],P=k.percentWidth;k.width=parseInt(P,10)/100*l}return i}function We(t,e,i){for(var n=""===e,o=e.split("\n"),a=t.lines,r=0;r<o.length;r++){var s=o[r],l={styleName:i,text:s,isLineHolder:!s&&!n};if(r)a.push({tokens:[l]});else{var u=(a[a.length-1]||(a[0]={tokens:[]})).tokens,h=u.length;1===h&&u[0].isLineHolder?u[0]=l:(s||!h||n)&&u.push(l)}}}function He(t){var e=(t.fontSize||t.fontFamily)&&[t.fontStyle,t.fontWeight,(t.fontSize||12)+"px",t.fontFamily||"sans-serif"].join(" ");return e&&P(e)||t.textFont||t.font}function Ze(t,e){var i,n,o,a,r=e.x,s=e.y,l=e.width,u=e.height,h=e.r;l<0&&(r+=l,l=-l),u<0&&(s+=u,u=-u),"number"==typeof h?i=n=o=a=h:h instanceof Array?1===h.length?i=n=o=a=h[0]:2===h.length?(i=o=h[0],n=a=h[1]):3===h.length?(i=h[0],n=a=h[1],o=h[2]):(i=h[0],n=h[1],o=h[2],a=h[3]):i=n=o=a=0;var c;i+n>l&&(i*=l/(c=i+n),n*=l/c),o+a>l&&(o*=l/(c=o+a),a*=l/c),n+o>u&&(n*=u/(c=n+o),o*=u/c),i+a>u&&(i*=u/(c=i+a),a*=u/c),t.moveTo(r+i,s),t.lineTo(r+l-n,s),0!==n&&t.arc(r+l-n,s+n,n,-Math.PI/2,0),t.lineTo(r+l,s+u-o),0!==o&&t.arc(r+l-o,s+u-o,o,0,Math.PI/2),t.lineTo(r+a,s+u),0!==a&&t.arc(r+a,s+u-a,a,Math.PI/2,Math.PI),t.lineTo(r,s+i),0!==i&&t.arc(r+i,s+i,i,Math.PI,1.5*Math.PI)}function Ue(t){return Xe(t),d(t.rich,Xe),t}function Xe(t){if(t){t.font=He(t);var e=t.textAlign;"middle"===e&&(e="center"),t.textAlign=null==e||cb[e]?e:"left";var i=t.textVerticalAlign||t.textBaseline;"center"===i&&(i="middle"),t.textVerticalAlign=null==i||db[i]?i:"top",t.textPadding&&(t.textPadding=L(t.textPadding))}}function je(t,e,i,n,o,a){n.rich?qe(t,e,i,n,o):Ye(t,e,i,n,o,a)}function Ye(t,e,i,n,o,a){var r=a&&a.style,s=r&&"text"===a.type,l=n.font||ub;s&&l===(r.font||ub)||(e.font=l);var u=t.__computedFont;t.__styleFont!==l&&(t.__styleFont=l,u=t.__computedFont=e.font);var h=n.textPadding,c=t.__textCotentBlock;c&&!t.__dirtyText||(c=t.__textCotentBlock=Ge(i,u,h,n.truncate));var d=c.outerHeight,f=c.lines,p=c.lineHeight,g=ii(d,n,o),m=g.baseX,v=g.baseY,y=g.textAlign||"left",x=g.textVerticalAlign;$e(e,n,o,m,v);var _=Pe(v,d,x),w=m,b=_,S=Qe(n);if(S||h){var M=Ae(i,u);h&&(M+=h[1]+h[3]);var I=ke(m,M,y);S&&ti(t,e,n,I,_,M,d),h&&(w=si(m,y,h),b+=h[0])}e.textAlign=y,e.textBaseline="middle";for(R=0;R<fb.length;R++){var T=fb[R],A=T[0],D=T[1],C=n[A];s&&C===r[A]||(e[D]=qw(e,D,C||T[2]))}b+=p/2;var L=n.textStrokeWidth,k=s?r.textStrokeWidth:null,P=!s||L!==k,N=!s||P||n.textStroke!==r.textStroke,O=oi(n.textStroke,L),E=ai(n.textFill);if(O&&(P&&(e.lineWidth=L),N&&(e.strokeStyle=O)),E&&(s&&n.textFill===r.textFill&&!r.textBackgroundColor||(e.fillStyle=E)),1===f.length)O&&e.strokeText(f[0],w,b),E&&e.fillText(f[0],w,b);else for(var R=0;R<f.length;R++)O&&e.strokeText(f[R],w,b),E&&e.fillText(f[R],w,b),b+=p}function qe(t,e,i,n,o){var a=t.__textCotentBlock;a&&!t.__dirtyText||(a=t.__textCotentBlock=Fe(i,n)),Ke(t,e,a,n,o)}function Ke(t,e,i,n,o){var a=i.width,r=i.outerWidth,s=i.outerHeight,l=n.textPadding,u=ii(s,n,o),h=u.baseX,c=u.baseY,d=u.textAlign,f=u.textVerticalAlign;$e(e,n,o,h,c);var p=ke(h,r,d),g=Pe(c,s,f),m=p,v=g;l&&(m+=l[3],v+=l[0]);var y=m+a;Qe(n)&&ti(t,e,n,p,g,r,s);for(var x=0;x<i.lines.length;x++){for(var _,w=i.lines[x],b=w.tokens,S=b.length,M=w.lineHeight,I=w.width,T=0,A=m,D=y,C=S-1;T<S&&(!(_=b[T]).textAlign||"left"===_.textAlign);)Je(t,e,_,n,M,v,A,"left"),I-=_.width,A+=_.width,T++;for(;C>=0&&"right"===(_=b[C]).textAlign;)Je(t,e,_,n,M,v,D,"right"),I-=_.width,D-=_.width,C--;for(A+=(a-(A-m)-(y-D)-I)/2;T<=C;)Je(t,e,_=b[T],n,M,v,A+_.width/2,"center"),A+=_.width,T++;v+=M}}function $e(t,e,i,n,o){if(i&&e.textRotation){var a=e.textOrigin;"center"===a?(n=i.width/2+i.x,o=i.height/2+i.y):a&&(n=a[0]+i.x,o=a[1]+i.y),t.translate(n,o),t.rotate(-e.textRotation),t.translate(-n,-o)}}function Je(t,e,i,n,o,a,r,s){var l=n.rich[i.styleName]||{};l.text=i.text;var u=i.textVerticalAlign,h=a+o/2;"top"===u?h=a+i.height/2:"bottom"===u&&(h=a+o-i.height/2),!i.isLineHolder&&Qe(l)&&ti(t,e,l,"right"===s?r-i.width:"center"===s?r-i.width/2:r,h-i.height/2,i.width,i.height);var c=i.textPadding;c&&(r=si(r,s,c),h-=i.height/2-c[2]-i.textHeight/2),ni(e,"shadowBlur",D(l.textShadowBlur,n.textShadowBlur,0)),ni(e,"shadowColor",l.textShadowColor||n.textShadowColor||"transparent"),ni(e,"shadowOffsetX",D(l.textShadowOffsetX,n.textShadowOffsetX,0)),ni(e,"shadowOffsetY",D(l.textShadowOffsetY,n.textShadowOffsetY,0)),ni(e,"textAlign",s),ni(e,"textBaseline","middle"),ni(e,"font",i.font||ub);var d=oi(l.textStroke||n.textStroke,p),f=ai(l.textFill||n.textFill),p=A(l.textStrokeWidth,n.textStrokeWidth);d&&(ni(e,"lineWidth",p),ni(e,"strokeStyle",d),e.strokeText(i.text,r,h)),f&&(ni(e,"fillStyle",f),e.fillText(i.text,r,h))}function Qe(t){return t.textBackgroundColor||t.textBorderWidth&&t.textBorderColor}function ti(t,e,i,n,o,a,r){var s=i.textBackgroundColor,l=i.textBorderWidth,u=i.textBorderColor,h=_(s);if(ni(e,"shadowBlur",i.textBoxShadowBlur||0),ni(e,"shadowColor",i.textBoxShadowColor||"transparent"),ni(e,"shadowOffsetX",i.textBoxShadowOffsetX||0),ni(e,"shadowOffsetY",i.textBoxShadowOffsetY||0),h||l&&u){e.beginPath();var c=i.textBorderRadius;c?Ze(e,{x:n,y:o,width:a,height:r,r:c}):e.rect(n,o,a,r),e.closePath()}if(h)if(ni(e,"fillStyle",s),null!=i.fillOpacity){f=e.globalAlpha;e.globalAlpha=i.fillOpacity*i.opacity,e.fill(),e.globalAlpha=f}else e.fill();else if(x(s))ni(e,"fillStyle",s(i)),e.fill();else if(w(s)){var d=s.image;(d=Me(d,null,t,ei,s))&&Te(d)&&e.drawImage(d,n,o,a,r)}if(l&&u)if(ni(e,"lineWidth",l),ni(e,"strokeStyle",u),null!=i.strokeOpacity){var f=e.globalAlpha;e.globalAlpha=i.strokeOpacity*i.opacity,e.stroke(),e.globalAlpha=f}else e.stroke()}function ei(t,e){e.image=t}function ii(t,e,i){var n=e.x||0,o=e.y||0,a=e.textAlign,r=e.textVerticalAlign;if(i){var s=e.textPosition;if(s instanceof Array)n=i.x+ri(s[0],i.width),o=i.y+ri(s[1],i.height);else{var l=Ne(s,i,e.textDistance);n=l.x,o=l.y,a=a||l.textAlign,r=r||l.textVerticalAlign}var u=e.textOffset;u&&(n+=u[0],o+=u[1])}return{baseX:n,baseY:o,textAlign:a,textVerticalAlign:r}}function ni(t,e,i){return t[e]=qw(t,e,i),t[e]}function oi(t,e){return null==t||e<=0||"transparent"===t||"none"===t?null:t.image||t.colorStops?"#000":t}function ai(t){return null==t||"none"===t?null:t.image||t.colorStops?"#000":t}function ri(t,e){return"string"==typeof t?t.lastIndexOf("%")>=0?parseFloat(t)/100*e:parseFloat(t):t}function si(t,e,i){return"right"===e?t-i[1]:"center"===e?t+i[3]/2-i[1]/2:t+i[3]}function li(t,e){return null!=t&&(t||e.textBackgroundColor||e.textBorderWidth&&e.textBorderColor||e.textPadding)}function ui(t){t=t||{},Gw.call(this,t);for(var e in t)t.hasOwnProperty(e)&&"style"!==e&&(this[e]=t[e]);this.style=new $w(t.style,this),this._rect=null,this.__clipPaths=[]}function hi(t){ui.call(this,t)}function ci(t){return parseInt(t,10)}function di(t){return!!t&&(!!t.__builtin__||"function"==typeof t.resize&&"function"==typeof t.refresh)}function fi(t,e,i){return mb.copy(t.getBoundingRect()),t.transform&&mb.applyTransform(t.transform),vb.width=e,vb.height=i,!mb.intersect(vb)}function pi(t,e){if(t==e)return!1;if(!t||!e||t.length!==e.length)return!0;for(var i=0;i<t.length;i++)if(t[i]!==e[i])return!0}function gi(t,e){for(var i=0;i<t.length;i++){var n=t[i];n.setTransform(e),e.beginPath(),n.buildPath(e,n.shape),e.clip(),n.restoreTransform(e)}}function mi(t,e){var i=document.createElement("div");return i.style.cssText=["position:relative","overflow:hidden","width:"+t+"px","height:"+e+"px","padding:0","margin:0","border-width:0"].join(";")+";",i}function vi(t){var e=t[1][0]-t[0][0],i=t[1][1]-t[0][1];return Math.sqrt(e*e+i*i)}function yi(t){return[(t[0][0]+t[1][0])/2,(t[0][1]+t[1][1])/2]}function xi(t){return"mousewheel"===t&&z_.browser.firefox?"DOMMouseScroll":t}function _i(t,e,i){var n=t._gestureMgr;"start"===i&&n.clear();var o=n.recognize(e,t.handler.findHover(e.zrX,e.zrY,null).target,t.dom);if("end"===i&&n.clear(),o){var a=o.type;e.gestureEvent=a,t.handler.dispatchToElement({target:o.target},a,o.event)}}function wi(t){t._touching=!0,clearTimeout(t._touchTimer),t._touchTimer=setTimeout(function(){t._touching=!1},700)}function bi(t){var e=t.pointerType;return"pen"===e||"touch"===e}function Si(t){function e(t,e){return function(){if(!e._touching)return t.apply(e,arguments)}}d(Sb,function(e){t._handlers[e]=m(Tb[e],t)}),d(Ib,function(e){t._handlers[e]=m(Tb[e],t)}),d(bb,function(i){t._handlers[i]=e(Tb[i],t)})}function Mi(t){function e(e,i){d(e,function(e){ut(t,xi(e),i._handlers[e])},i)}aw.call(this),this.dom=t,this._touching=!1,this._touchTimer,this._gestureMgr=new _b,this._handlers={},Si(this),z_.pointerEventsSupported?e(Ib,this):(z_.touchEventsSupported&&e(Sb,this),e(bb,this))}function Ii(t,e){var i=new kb(E_(),t,e);return Lb[i.id]=i,i}function Ti(t,e){Cb[t]=e}function Ai(t){delete Lb[t]}function Di(t){return t instanceof Array?t:null==t?[]:[t]}function Ci(t,e,i){if(t){t[e]=t[e]||{},t.emphasis=t.emphasis||{},t.emphasis[e]=t.emphasis[e]||{};for(var n=0,o=i.length;n<o;n++){var a=i[n];!t.emphasis[e].hasOwnProperty(a)&&t[e].hasOwnProperty(a)&&(t.emphasis[e][a]=t[e][a])}}}function Li(t){return!Ob(t)||Eb(t)||t instanceof Date?t:t.value}function ki(t){return Ob(t)&&!(t instanceof Array)}function Pi(t,e){e=(e||[]).slice();var i=f(t||[],function(t,e){return{exist:t}});return Nb(e,function(t,n){if(Ob(t)){for(o=0;o<i.length;o++)if(!i[o].option&&null!=t.id&&i[o].exist.id===t.id+"")return i[o].option=t,void(e[n]=null);for(var o=0;o<i.length;o++){var a=i[o].exist;if(!(i[o].option||null!=a.id&&null!=t.id||null==t.name||Ei(t)||Ei(a)||a.name!==t.name+""))return i[o].option=t,void(e[n]=null)}}}),Nb(e,function(t,e){if(Ob(t)){for(var n=0;n<i.length;n++){var o=i[n].exist;if(!i[n].option&&!Ei(o)&&null==t.id){i[n].option=t;break}}n>=i.length&&i.push({option:t})}}),i}function Ni(t){var e=R();Nb(t,function(t,i){var n=t.exist;n&&e.set(n.id,t)}),Nb(t,function(t,i){var n=t.option;k(!n||null==n.id||!e.get(n.id)||e.get(n.id)===t,"id duplicates: "+(n&&n.id)),n&&null!=n.id&&e.set(n.id,t),!t.keyInfo&&(t.keyInfo={})}),Nb(t,function(t,i){var n=t.exist,o=t.option,a=t.keyInfo;if(Ob(o)){if(a.name=null!=o.name?o.name+"":n?n.name:Rb+i,n)a.id=n.id;else if(null!=o.id)a.id=o.id+"";else{var r=0;do{a.id="\0"+a.name+"\0"+r++}while(e.get(a.id))}e.set(a.id,t)}})}function Oi(t){var e=t.name;return!(!e||!e.indexOf(Rb))}function Ei(t){return Ob(t)&&t.id&&0===(t.id+"").indexOf("\0_ec_\0")}function Ri(t,e){function i(t,e,i){for(var n=0,o=t.length;n<o;n++)for(var a=t[n].seriesId,r=Di(t[n].dataIndex),s=i&&i[a],l=0,u=r.length;l<u;l++){var h=r[l];s&&s[h]?s[h]=null:(e[a]||(e[a]={}))[h]=1}}function n(t,e){var i=[];for(var o in t)if(t.hasOwnProperty(o)&&null!=t[o])if(e)i.push(+o);else{var a=n(t[o],!0);a.length&&i.push({seriesId:o,dataIndex:a})}return i}var o={},a={};return i(t||[],o),i(e||[],a,o),[n(o),n(a)]}function zi(t,e){return null!=e.dataIndexInside?e.dataIndexInside:null!=e.dataIndex?y(e.dataIndex)?f(e.dataIndex,function(e){return t.indexOfRawIndex(e)}):t.indexOfRawIndex(e.dataIndex):null!=e.name?y(e.name)?f(e.name,function(e){return t.indexOfName(e)}):t.indexOfName(e.name):void 0}function Bi(){var t="__\0ec_inner_"+Bb+++"_"+Math.random().toFixed(5);return function(e){return e[t]||(e[t]={})}}function Vi(t,e,i){if(_(e)){var n={};n[e+"Index"]=0,e=n}var o=i&&i.defaultMainType;!o||Gi(e,o+"Index")||Gi(e,o+"Id")||Gi(e,o+"Name")||(e[o+"Index"]=0);var a={};return Nb(e,function(n,o){var n=e[o];if("dataIndex"!==o&&"dataIndexInside"!==o){var r=o.match(/^(\w+)(Index|Id|Name)$/)||[],s=r[1],u=(r[2]||"").toLowerCase();if(!(!s||!u||null==n||"index"===u&&"none"===n||i&&i.includeMainTypes&&l(i.includeMainTypes,s)<0)){var h={mainType:s};"index"===u&&"all"===n||(h[u]=n);var c=t.queryComponents(h);a[s+"Models"]=c,a[s+"Model"]=c[0]}}else a[o]=n}),a}function Gi(t,e){return t&&t.hasOwnProperty(e)}function Fi(t,e,i){t.setAttribute?t.setAttribute(e,i):t[e]=i}function Wi(t,e){return t.getAttribute?t.getAttribute(e):t[e]}function Hi(t){return"auto"===t?z_.domSupported?"html":"richText":t||"html"}function Zi(t){var e={main:"",sub:""};return t&&(t=t.split(Vb),e.main=t[0]||"",e.sub=t[1]||""),e}function Ui(t){k(/^[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)?$/.test(t),'componentType "'+t+'" illegal')}function Xi(t,e){t.$constructor=t,t.extend=function(t){var e=this,i=function(){t.$constructor?t.$constructor.apply(this,arguments):e.apply(this,arguments)};return a(i.prototype,t),i.extend=this.extend,i.superCall=Yi,i.superApply=qi,u(i,this),i.superClass=e,i}}function ji(t){var e=["__\0is_clz",Fb++,Math.random().toFixed(3)].join("_");t.prototype[e]=!0,t.isInstance=function(t){return!(!t||!t[e])}}function Yi(t,e){var i=C(arguments,2);return this.superClass.prototype[e].apply(t,i)}function qi(t,e,i){return this.superClass.prototype[e].apply(t,i)}function Ki(t,e){function i(t){var e=n[t.main];return e&&e[Gb]||((e=n[t.main]={})[Gb]=!0),e}e=e||{};var n={};if(t.registerClass=function(t,e){return e&&(Ui(e),(e=Zi(e)).sub?e.sub!==Gb&&(i(e)[e.sub]=t):n[e.main]=t),t},t.getClass=function(t,e,i){var o=n[t];if(o&&o[Gb]&&(o=e?o[e]:null),i&&!o)throw new Error(e?"Component "+t+"."+(e||"")+" not exists. Load it first.":t+".type should be specified.");return o},t.getClassesByMainType=function(t){t=Zi(t);var e=[],i=n[t.main];return i&&i[Gb]?d(i,function(t,i){i!==Gb&&e.push(t)}):e.push(i),e},t.hasClass=function(t){return t=Zi(t),!!n[t.main]},t.getAllClassMainTypes=function(){var t=[];return d(n,function(e,i){t.push(i)}),t},t.hasSubTypes=function(t){t=Zi(t);var e=n[t.main];return e&&e[Gb]},t.parseClassType=Zi,e.registerWhenExtend){var o=t.extend;o&&(t.extend=function(e){var i=o.call(this,e);return t.registerClass(i,e.type)})}return t}function $i(t){return t>-qb&&t<qb}function Ji(t){return t>qb||t<-qb}function Qi(t,e,i,n,o){var a=1-o;return a*a*(a*t+3*o*e)+o*o*(o*n+3*a*i)}function tn(t,e,i,n,o){var a=1-o;return 3*(((e-t)*a+2*(i-e)*o)*a+(n-i)*o*o)}function en(t,e,i,n,o,a){var r=n+3*(e-i)-t,s=3*(i-2*e+t),l=3*(e-t),u=t-o,h=s*s-3*r*l,c=s*l-9*r*u,d=l*l-3*s*u,f=0;if($i(h)&&$i(c))$i(s)?a[0]=0:(M=-l/s)>=0&&M<=1&&(a[f++]=M);else{var p=c*c-4*h*d;if($i(p)){var g=c/h,m=-g/2;(M=-s/r+g)>=0&&M<=1&&(a[f++]=M),m>=0&&m<=1&&(a[f++]=m)}else if(p>0){var v=Yb(p),y=h*s+1.5*r*(-c+v),x=h*s+1.5*r*(-c-v);(M=(-s-((y=y<0?-jb(-y,Jb):jb(y,Jb))+(x=x<0?-jb(-x,Jb):jb(x,Jb))))/(3*r))>=0&&M<=1&&(a[f++]=M)}else{var _=(2*h*s-3*r*c)/(2*Yb(h*h*h)),w=Math.acos(_)/3,b=Yb(h),S=Math.cos(w),M=(-s-2*b*S)/(3*r),m=(-s+b*(S+$b*Math.sin(w)))/(3*r),I=(-s+b*(S-$b*Math.sin(w)))/(3*r);M>=0&&M<=1&&(a[f++]=M),m>=0&&m<=1&&(a[f++]=m),I>=0&&I<=1&&(a[f++]=I)}}return f}function nn(t,e,i,n,o){var a=6*i-12*e+6*t,r=9*e+3*n-3*t-9*i,s=3*e-3*t,l=0;if($i(r))Ji(a)&&(c=-s/a)>=0&&c<=1&&(o[l++]=c);else{var u=a*a-4*r*s;if($i(u))o[0]=-a/(2*r);else if(u>0){var h=Yb(u),c=(-a+h)/(2*r),d=(-a-h)/(2*r);c>=0&&c<=1&&(o[l++]=c),d>=0&&d<=1&&(o[l++]=d)}}return l}function on(t,e,i,n,o,a){var r=(e-t)*o+t,s=(i-e)*o+e,l=(n-i)*o+i,u=(s-r)*o+r,h=(l-s)*o+s,c=(h-u)*o+u;a[0]=t,a[1]=r,a[2]=u,a[3]=c,a[4]=c,a[5]=h,a[6]=l,a[7]=n}function an(t,e,i,n,o,a,r,s,l,u,h){var c,d,f,p,g,m=.005,v=1/0;Qb[0]=l,Qb[1]=u;for(var y=0;y<1;y+=.05)tS[0]=Qi(t,i,o,r,y),tS[1]=Qi(e,n,a,s,y),(p=iw(Qb,tS))<v&&(c=y,v=p);v=1/0;for(var x=0;x<32&&!(m<Kb);x++)d=c-m,f=c+m,tS[0]=Qi(t,i,o,r,d),tS[1]=Qi(e,n,a,s,d),p=iw(tS,Qb),d>=0&&p<v?(c=d,v=p):(eS[0]=Qi(t,i,o,r,f),eS[1]=Qi(e,n,a,s,f),g=iw(eS,Qb),f<=1&&g<v?(c=f,v=g):m*=.5);return h&&(h[0]=Qi(t,i,o,r,c),h[1]=Qi(e,n,a,s,c)),Yb(v)}function rn(t,e,i,n){var o=1-n;return o*(o*t+2*n*e)+n*n*i}function sn(t,e,i,n){return 2*((1-n)*(e-t)+n*(i-e))}function ln(t,e,i,n,o){var a=t-2*e+i,r=2*(e-t),s=t-n,l=0;if($i(a))Ji(r)&&(c=-s/r)>=0&&c<=1&&(o[l++]=c);else{var u=r*r-4*a*s;if($i(u))(c=-r/(2*a))>=0&&c<=1&&(o[l++]=c);else if(u>0){var h=Yb(u),c=(-r+h)/(2*a),d=(-r-h)/(2*a);c>=0&&c<=1&&(o[l++]=c),d>=0&&d<=1&&(o[l++]=d)}}return l}function un(t,e,i){var n=t+i-2*e;return 0===n?.5:(t-e)/n}function hn(t,e,i,n,o){var a=(e-t)*n+t,r=(i-e)*n+e,s=(r-a)*n+a;o[0]=t,o[1]=a,o[2]=s,o[3]=s,o[4]=r,o[5]=i}function cn(t,e,i,n,o,a,r,s,l){var u,h=.005,c=1/0;Qb[0]=r,Qb[1]=s;for(var d=0;d<1;d+=.05)tS[0]=rn(t,i,o,d),tS[1]=rn(e,n,a,d),(m=iw(Qb,tS))<c&&(u=d,c=m);c=1/0;for(var f=0;f<32&&!(h<Kb);f++){var p=u-h,g=u+h;tS[0]=rn(t,i,o,p),tS[1]=rn(e,n,a,p);var m=iw(tS,Qb);if(p>=0&&m<c)u=p,c=m;else{eS[0]=rn(t,i,o,g),eS[1]=rn(e,n,a,g);var v=iw(eS,Qb);g<=1&&v<c?(u=g,c=v):h*=.5}}return l&&(l[0]=rn(t,i,o,u),l[1]=rn(e,n,a,u)),Yb(c)}function dn(t,e,i){if(0!==t.length){var n,o=t[0],a=o[0],r=o[0],s=o[1],l=o[1];for(n=1;n<t.length;n++)o=t[n],a=iS(a,o[0]),r=nS(r,o[0]),s=iS(s,o[1]),l=nS(l,o[1]);e[0]=a,e[1]=s,i[0]=r,i[1]=l}}function fn(t,e,i,n,o,a){o[0]=iS(t,i),o[1]=iS(e,n),a[0]=nS(t,i),a[1]=nS(e,n)}function pn(t,e,i,n,o,a,r,s,l,u){var h,c=nn,d=Qi,f=c(t,i,o,r,hS);for(l[0]=1/0,l[1]=1/0,u[0]=-1/0,u[1]=-1/0,h=0;h<f;h++){var p=d(t,i,o,r,hS[h]);l[0]=iS(p,l[0]),u[0]=nS(p,u[0])}for(f=c(e,n,a,s,cS),h=0;h<f;h++){var g=d(e,n,a,s,cS[h]);l[1]=iS(g,l[1]),u[1]=nS(g,u[1])}l[0]=iS(t,l[0]),u[0]=nS(t,u[0]),l[0]=iS(r,l[0]),u[0]=nS(r,u[0]),l[1]=iS(e,l[1]),u[1]=nS(e,u[1]),l[1]=iS(s,l[1]),u[1]=nS(s,u[1])}function gn(t,e,i,n,o,a,r,s){var l=un,u=rn,h=nS(iS(l(t,i,o),1),0),c=nS(iS(l(e,n,a),1),0),d=u(t,i,o,h),f=u(e,n,a,c);r[0]=iS(t,o,d),r[1]=iS(e,a,f),s[0]=nS(t,o,d),s[1]=nS(e,a,f)}function mn(t,e,i,n,o,a,r,s,l){var u=tt,h=et,c=Math.abs(o-a);if(c%rS<1e-4&&c>1e-4)return s[0]=t-i,s[1]=e-n,l[0]=t+i,void(l[1]=e+n);if(sS[0]=aS(o)*i+t,sS[1]=oS(o)*n+e,lS[0]=aS(a)*i+t,lS[1]=oS(a)*n+e,u(s,sS,lS),h(l,sS,lS),(o%=rS)<0&&(o+=rS),(a%=rS)<0&&(a+=rS),o>a&&!r?a+=rS:o<a&&r&&(o+=rS),r){var d=a;a=o,o=d}for(var f=0;f<a;f+=Math.PI/2)f>o&&(uS[0]=aS(f)*i+t,uS[1]=oS(f)*n+e,u(s,uS,s),h(l,uS,l))}function vn(t,e,i,n,o,a,r){if(0===o)return!1;var s=o,l=0,u=t;if(r>e+s&&r>n+s||r<e-s&&r<n-s||a>t+s&&a>i+s||a<t-s&&a<i-s)return!1;if(t===i)return Math.abs(a-t)<=s/2;var h=(l=(e-n)/(t-i))*a-r+(u=(t*n-i*e)/(t-i));return h*h/(l*l+1)<=s/2*s/2}function yn(t,e,i,n,o,a,r,s,l,u,h){if(0===l)return!1;var c=l;return!(h>e+c&&h>n+c&&h>a+c&&h>s+c||h<e-c&&h<n-c&&h<a-c&&h<s-c||u>t+c&&u>i+c&&u>o+c&&u>r+c||u<t-c&&u<i-c&&u<o-c&&u<r-c)&&an(t,e,i,n,o,a,r,s,u,h,null)<=c/2}function xn(t,e,i,n,o,a,r,s,l){if(0===r)return!1;var u=r;return!(l>e+u&&l>n+u&&l>a+u||l<e-u&&l<n-u&&l<a-u||s>t+u&&s>i+u&&s>o+u||s<t-u&&s<i-u&&s<o-u)&&cn(t,e,i,n,o,a,s,l,null)<=u/2}function _n(t){return(t%=IS)<0&&(t+=IS),t}function wn(t,e,i,n,o,a,r,s,l){if(0===r)return!1;var u=r;s-=t,l-=e;var h=Math.sqrt(s*s+l*l);if(h-u>i||h+u<i)return!1;if(Math.abs(n-o)%TS<1e-4)return!0;if(a){var c=n;n=_n(o),o=_n(c)}else n=_n(n),o=_n(o);n>o&&(o+=TS);var d=Math.atan2(l,s);return d<0&&(d+=TS),d>=n&&d<=o||d+TS>=n&&d+TS<=o}function bn(t,e,i,n,o,a){if(a>e&&a>n||a<e&&a<n)return 0;if(n===e)return 0;var r=n<e?1:-1,s=(a-e)/(n-e);1!==s&&0!==s||(r=n<e?.5:-.5);var l=s*(i-t)+t;return l===o?1/0:l>o?r:0}function Sn(t,e){return Math.abs(t-e)<CS}function Mn(){var t=kS[0];kS[0]=kS[1],kS[1]=t}function In(t,e,i,n,o,a,r,s,l,u){if(u>e&&u>n&&u>a&&u>s||u<e&&u<n&&u<a&&u<s)return 0;var h=en(e,n,a,s,u,LS);if(0===h)return 0;for(var c,d,f=0,p=-1,g=0;g<h;g++){var m=LS[g],v=0===m||1===m?.5:1;Qi(t,i,o,r,m)<l||(p<0&&(p=nn(e,n,a,s,kS),kS[1]<kS[0]&&p>1&&Mn(),c=Qi(e,n,a,s,kS[0]),p>1&&(d=Qi(e,n,a,s,kS[1]))),2==p?m<kS[0]?f+=c<e?v:-v:m<kS[1]?f+=d<c?v:-v:f+=s<d?v:-v:m<kS[0]?f+=c<e?v:-v:f+=s<c?v:-v)}return f}function Tn(t,e,i,n,o,a,r,s){if(s>e&&s>n&&s>a||s<e&&s<n&&s<a)return 0;var l=ln(e,n,a,s,LS);if(0===l)return 0;var u=un(e,n,a);if(u>=0&&u<=1){for(var h=0,c=rn(e,n,a,u),d=0;d<l;d++){f=0===LS[d]||1===LS[d]?.5:1;(p=rn(t,i,o,LS[d]))<r||(LS[d]<u?h+=c<e?f:-f:h+=a<c?f:-f)}return h}var f=0===LS[0]||1===LS[0]?.5:1,p=rn(t,i,o,LS[0]);return p<r?0:a<e?f:-f}function An(t,e,i,n,o,a,r,s){if((s-=e)>i||s<-i)return 0;u=Math.sqrt(i*i-s*s);LS[0]=-u,LS[1]=u;var l=Math.abs(n-o);if(l<1e-4)return 0;if(l%DS<1e-4){n=0,o=DS;p=a?1:-1;return r>=LS[0]+t&&r<=LS[1]+t?p:0}if(a){var u=n;n=_n(o),o=_n(u)}else n=_n(n),o=_n(o);n>o&&(o+=DS);for(var h=0,c=0;c<2;c++){var d=LS[c];if(d+t>r){var f=Math.atan2(s,d),p=a?1:-1;f<0&&(f=DS+f),(f>=n&&f<=o||f+DS>=n&&f+DS<=o)&&(f>Math.PI/2&&f<1.5*Math.PI&&(p=-p),h+=p)}}return h}function Dn(t,e,i,n,o){for(var a=0,r=0,s=0,l=0,u=0,h=0;h<t.length;){var c=t[h++];switch(c===AS.M&&h>1&&(i||(a+=bn(r,s,l,u,n,o))),1==h&&(l=r=t[h],u=s=t[h+1]),c){case AS.M:r=l=t[h++],s=u=t[h++];break;case AS.L:if(i){if(vn(r,s,t[h],t[h+1],e,n,o))return!0}else a+=bn(r,s,t[h],t[h+1],n,o)||0;r=t[h++],s=t[h++];break;case AS.C:if(i){if(yn(r,s,t[h++],t[h++],t[h++],t[h++],t[h],t[h+1],e,n,o))return!0}else a+=In(r,s,t[h++],t[h++],t[h++],t[h++],t[h],t[h+1],n,o)||0;r=t[h++],s=t[h++];break;case AS.Q:if(i){if(xn(r,s,t[h++],t[h++],t[h],t[h+1],e,n,o))return!0}else a+=Tn(r,s,t[h++],t[h++],t[h],t[h+1],n,o)||0;r=t[h++],s=t[h++];break;case AS.A:var d=t[h++],f=t[h++],p=t[h++],g=t[h++],m=t[h++],v=t[h++],y=(t[h++],1-t[h++]),x=Math.cos(m)*p+d,_=Math.sin(m)*g+f;h>1?a+=bn(r,s,x,_,n,o):(l=x,u=_);var w=(n-d)*g/p+d;if(i){if(wn(d,f,g,m,m+v,y,e,w,o))return!0}else a+=An(d,f,g,m,m+v,y,w,o);r=Math.cos(m+v)*p+d,s=Math.sin(m+v)*g+f;break;case AS.R:l=r=t[h++],u=s=t[h++];var x=l+t[h++],_=u+t[h++];if(i){if(vn(l,u,x,u,e,n,o)||vn(x,u,x,_,e,n,o)||vn(x,_,l,_,e,n,o)||vn(l,_,l,u,e,n,o))return!0}else a+=bn(x,u,x,_,n,o),a+=bn(l,_,l,u,n,o);break;case AS.Z:if(i){if(vn(r,s,l,u,e,n,o))return!0}else a+=bn(r,s,l,u,n,o);r=l,s=u}}return i||Sn(s,u)||(a+=bn(r,s,l,u,n,o)||0),0!==a}function Cn(t,e,i){return Dn(t,0,!1,e,i)}function Ln(t,e,i,n){return Dn(t,e,!0,i,n)}function kn(t){ui.call(this,t),this.path=null}function Pn(t,e,i,n,o,a,r,s,l,u,h){var c=l*(HS/180),d=WS(c)*(t-i)/2+FS(c)*(e-n)/2,f=-1*FS(c)*(t-i)/2+WS(c)*(e-n)/2,p=d*d/(r*r)+f*f/(s*s);p>1&&(r*=GS(p),s*=GS(p));var g=(o===a?-1:1)*GS((r*r*(s*s)-r*r*(f*f)-s*s*(d*d))/(r*r*(f*f)+s*s*(d*d)))||0,m=g*r*f/s,v=g*-s*d/r,y=(t+i)/2+WS(c)*m-FS(c)*v,x=(e+n)/2+FS(c)*m+WS(c)*v,_=XS([1,0],[(d-m)/r,(f-v)/s]),w=[(d-m)/r,(f-v)/s],b=[(-1*d-m)/r,(-1*f-v)/s],S=XS(w,b);US(w,b)<=-1&&(S=HS),US(w,b)>=1&&(S=0),0===a&&S>0&&(S-=2*HS),1===a&&S<0&&(S+=2*HS),h.addData(u,y,x,r,s,_,S,c,a)}function Nn(t){if(!t)return new MS;for(var e,i=0,n=0,o=i,a=n,r=new MS,s=MS.CMD,l=t.match(jS),u=0;u<l.length;u++){for(var h,c=l[u],d=c.charAt(0),f=c.match(YS)||[],p=f.length,g=0;g<p;g++)f[g]=parseFloat(f[g]);for(var m=0;m<p;){var v,y,x,_,w,b,S,M=i,I=n;switch(d){case"l":i+=f[m++],n+=f[m++],h=s.L,r.addData(h,i,n);break;case"L":i=f[m++],n=f[m++],h=s.L,r.addData(h,i,n);break;case"m":i+=f[m++],n+=f[m++],h=s.M,r.addData(h,i,n),o=i,a=n,d="l";break;case"M":i=f[m++],n=f[m++],h=s.M,r.addData(h,i,n),o=i,a=n,d="L";break;case"h":i+=f[m++],h=s.L,r.addData(h,i,n);break;case"H":i=f[m++],h=s.L,r.addData(h,i,n);break;case"v":n+=f[m++],h=s.L,r.addData(h,i,n);break;case"V":n=f[m++],h=s.L,r.addData(h,i,n);break;case"C":h=s.C,r.addData(h,f[m++],f[m++],f[m++],f[m++],f[m++],f[m++]),i=f[m-2],n=f[m-1];break;case"c":h=s.C,r.addData(h,f[m++]+i,f[m++]+n,f[m++]+i,f[m++]+n,f[m++]+i,f[m++]+n),i+=f[m-2],n+=f[m-1];break;case"S":v=i,y=n;var T=r.len(),A=r.data;e===s.C&&(v+=i-A[T-4],y+=n-A[T-3]),h=s.C,M=f[m++],I=f[m++],i=f[m++],n=f[m++],r.addData(h,v,y,M,I,i,n);break;case"s":v=i,y=n;var T=r.len(),A=r.data;e===s.C&&(v+=i-A[T-4],y+=n-A[T-3]),h=s.C,M=i+f[m++],I=n+f[m++],i+=f[m++],n+=f[m++],r.addData(h,v,y,M,I,i,n);break;case"Q":M=f[m++],I=f[m++],i=f[m++],n=f[m++],h=s.Q,r.addData(h,M,I,i,n);break;case"q":M=f[m++]+i,I=f[m++]+n,i+=f[m++],n+=f[m++],h=s.Q,r.addData(h,M,I,i,n);break;case"T":v=i,y=n;var T=r.len(),A=r.data;e===s.Q&&(v+=i-A[T-4],y+=n-A[T-3]),i=f[m++],n=f[m++],h=s.Q,r.addData(h,v,y,i,n);break;case"t":v=i,y=n;var T=r.len(),A=r.data;e===s.Q&&(v+=i-A[T-4],y+=n-A[T-3]),i+=f[m++],n+=f[m++],h=s.Q,r.addData(h,v,y,i,n);break;case"A":x=f[m++],_=f[m++],w=f[m++],b=f[m++],S=f[m++],Pn(M=i,I=n,i=f[m++],n=f[m++],b,S,x,_,w,h=s.A,r);break;case"a":x=f[m++],_=f[m++],w=f[m++],b=f[m++],S=f[m++],Pn(M=i,I=n,i+=f[m++],n+=f[m++],b,S,x,_,w,h=s.A,r)}}"z"!==d&&"Z"!==d||(h=s.Z,r.addData(h),i=o,n=a),e=h}return r.toStatic(),r}function On(t,e){var i=Nn(t);return e=e||{},e.buildPath=function(t){if(t.setData)t.setData(i.data),(e=t.getContext())&&t.rebuildPath(e);else{var e=t;i.rebuildPath(e)}},e.applyTransform=function(t){VS(i,t),this.dirty(!0)},e}function En(t,e){return new kn(On(t,e))}function Rn(t,e){return kn.extend(On(t,e))}function zn(t,e,i,n,o,a,r){var s=.5*(i-t),l=.5*(n-e);return(2*(e-i)+s+l)*r+(-3*(e-i)-2*s-l)*a+s*o+e}function Bn(t,e,i){var n=e.points,o=e.smooth;if(n&&n.length>=2){if(o&&"spline"!==o){var a=iM(n,o,i,e.smoothConstraint);t.moveTo(n[0][0],n[0][1]);for(var r=n.length,s=0;s<(i?r:r-1);s++){var l=a[2*s],u=a[2*s+1],h=n[(s+1)%r];t.bezierCurveTo(l[0],l[1],u[0],u[1],h[0],h[1])}}else{"spline"===o&&(n=eM(n,i)),t.moveTo(n[0][0],n[0][1]);for(var s=1,c=n.length;s<c;s++)t.lineTo(n[s][0],n[s][1])}i&&t.closePath()}}function Vn(t,e,i){var n=t.cpx2,o=t.cpy2;return null===n||null===o?[(i?tn:Qi)(t.x1,t.cpx1,t.cpx2,t.x2,e),(i?tn:Qi)(t.y1,t.cpy1,t.cpy2,t.y2,e)]:[(i?sn:rn)(t.x1,t.cpx1,t.x2,e),(i?sn:rn)(t.y1,t.cpy1,t.y2,e)]}function Gn(t){ui.call(this,t),this._displayables=[],this._temporaryDisplayables=[],this._cursor=0,this.notClear=!0}function Fn(t){return kn.extend(t)}function Wn(t,e,i,n){var o=En(t,e);return i&&("center"===n&&(i=Zn(i,o.getBoundingRect())),Un(o,i)),o}function Hn(t,e,i){var n=new hi({style:{image:t,x:e.x,y:e.y,width:e.width,height:e.height},onload:function(t){if("center"===i){var o={width:t.width,height:t.height};n.setStyle(Zn(e,o))}}});return n}function Zn(t,e){var i,n=e.width/e.height,o=t.height*n;return i=o<=t.width?t.height:(o=t.width)/n,{x:t.x+t.width/2-o/2,y:t.y+t.height/2-i/2,width:o,height:i}}function Un(t,e){if(t.applyTransform){var i=t.getBoundingRect().calculateTransform(e);t.applyTransform(i)}}function Xn(t){var e=t.shape,i=t.style.lineWidth;return gM(2*e.x1)===gM(2*e.x2)&&(e.x1=e.x2=Yn(e.x1,i,!0)),gM(2*e.y1)===gM(2*e.y2)&&(e.y1=e.y2=Yn(e.y1,i,!0)),t}function jn(t){var e=t.shape,i=t.style.lineWidth,n=e.x,o=e.y,a=e.width,r=e.height;return e.x=Yn(e.x,i,!0),e.y=Yn(e.y,i,!0),e.width=Math.max(Yn(n+a,i,!1)-e.x,0===a?0:1),e.height=Math.max(Yn(o+r,i,!1)-e.y,0===r?0:1),t}function Yn(t,e,i){var n=gM(2*t);return(n+gM(e))%2==0?n/2:(n+(i?1:-1))/2}function qn(t){return null!=t&&"none"!==t}function Kn(t){if("string"!=typeof t)return t;var e=_M.get(t);return e||(e=Gt(t,-.1),wM<1e4&&(_M.set(t,e),wM++)),e}function $n(t){if(t.__hoverStlDirty){t.__hoverStlDirty=!1;var e=t.__hoverStl;if(e){var i=t.__normalStl={},n=t.style;for(var o in e)null!=e[o]&&(i[o]=n[o]);i.fill=n.fill,i.stroke=n.stroke}else t.__normalStl=null}}function Jn(t){var e=t.__hoverStl;if(e&&!t.__highlighted){var i=t.useHoverLayer;t.__highlighted=i?"layer":"plain";var n=t.__zr;if(n||!i){var o=t,a=t.style;i&&(a=(o=n.addHover(t)).style),xo(a),i||$n(o),a.extendFrom(e),Qn(a,e,"fill"),Qn(a,e,"stroke"),yo(a),i||(t.dirty(!1),t.z2+=1)}}}function Qn(t,e,i){!qn(e[i])&&qn(t[i])&&(t[i]=Kn(t[i]))}function to(t){t.__highlighted&&(eo(t),t.__highlighted=!1)}function eo(t){var e=t.__highlighted;if("layer"===e)t.__zr&&t.__zr.removeHover(t);else if(e){var i=t.style,n=t.__normalStl;n&&(xo(i),t.setStyle(n),yo(i),t.z2-=1)}}function io(t,e){t.isGroup?t.traverse(function(t){!t.isGroup&&e(t)}):e(t)}function no(t,e){e=t.__hoverStl=!1!==e&&(e||{}),t.__hoverStlDirty=!0,t.__highlighted&&(to(t),Jn(t))}function oo(t){return t&&t.__isEmphasisEntered}function ao(t){this.__hoverSilentOnTouch&&t.zrByTouch||!this.__isEmphasisEntered&&io(this,Jn)}function ro(t){this.__hoverSilentOnTouch&&t.zrByTouch||!this.__isEmphasisEntered&&io(this,to)}function so(){this.__isEmphasisEntered=!0,io(this,Jn)}function lo(){this.__isEmphasisEntered=!1,io(this,to)}function uo(t,e,i){t.isGroup?t.traverse(function(t){!t.isGroup&&no(t,t.hoverStyle||e)}):no(t,t.hoverStyle||e),ho(t,i)}function ho(t,e){var i=!1===e;if(t.__hoverSilentOnTouch=null!=e&&e.hoverSilentOnTouch,!i||t.__hoverStyleTrigger){var n=i?"off":"on";t[n]("mouseover",ao)[n]("mouseout",ro),t[n]("emphasis",so)[n]("normal",lo),t.__hoverStyleTrigger=!i}}function co(t,e,i,n,o,a,r){var s,l=(o=o||yM).labelFetcher,u=o.labelDataIndex,h=o.labelDimIndex,c=i.getShallow("show"),d=n.getShallow("show");(c||d)&&(l&&(s=l.getFormattedLabel(u,"normal",null,h)),null==s&&(s=x(o.defaultText)?o.defaultText(u,o):o.defaultText));var f=c?s:null,p=d?A(l?l.getFormattedLabel(u,"emphasis",null,h):null,s):null;null==f&&null==p||(fo(t,i,a,o),fo(e,n,r,o,!0)),t.text=f,e.text=p}function fo(t,e,i,n,o){return po(t,e,n,o),i&&a(t,i),t}function po(t,e,i,n){if((i=i||yM).isRectText){var o=e.getShallow("position")||(n?null:"inside");"outside"===o&&(o="top"),t.textPosition=o,t.textOffset=e.getShallow("offset");var a=e.getShallow("rotate");null!=a&&(a*=Math.PI/180),t.textRotation=a,t.textDistance=A(e.getShallow("distance"),n?null:5)}var r,s=e.ecModel,l=s&&s.option.textStyle,u=go(e);if(u){r={};for(var h in u)if(u.hasOwnProperty(h)){var c=e.getModel(["rich",h]);mo(r[h]={},c,l,i,n)}}return t.rich=r,mo(t,e,l,i,n,!0),i.forceRich&&!i.textStyle&&(i.textStyle={}),t}function go(t){for(var e;t&&t!==t.ecModel;){var i=(t.option||yM).rich;if(i){e=e||{};for(var n in i)i.hasOwnProperty(n)&&(e[n]=1)}t=t.parentModel}return e}function mo(t,e,i,n,o,a){i=!o&&i||yM,t.textFill=vo(e.getShallow("color"),n)||i.color,t.textStroke=vo(e.getShallow("textBorderColor"),n)||i.textBorderColor,t.textStrokeWidth=A(e.getShallow("textBorderWidth"),i.textBorderWidth),t.insideRawTextPosition=t.textPosition,o||(a&&(t.insideRollbackOpt=n,yo(t)),null==t.textFill&&(t.textFill=n.autoColor)),t.fontStyle=e.getShallow("fontStyle")||i.fontStyle,t.fontWeight=e.getShallow("fontWeight")||i.fontWeight,t.fontSize=e.getShallow("fontSize")||i.fontSize,t.fontFamily=e.getShallow("fontFamily")||i.fontFamily,t.textAlign=e.getShallow("align"),t.textVerticalAlign=e.getShallow("verticalAlign")||e.getShallow("baseline"),t.textLineHeight=e.getShallow("lineHeight"),t.textWidth=e.getShallow("width"),t.textHeight=e.getShallow("height"),t.textTag=e.getShallow("tag"),a&&n.disableBox||(t.textBackgroundColor=vo(e.getShallow("backgroundColor"),n),t.textPadding=e.getShallow("padding"),t.textBorderColor=vo(e.getShallow("borderColor"),n),t.textBorderWidth=e.getShallow("borderWidth"),t.textBorderRadius=e.getShallow("borderRadius"),t.textBoxShadowColor=e.getShallow("shadowColor"),t.textBoxShadowBlur=e.getShallow("shadowBlur"),t.textBoxShadowOffsetX=e.getShallow("shadowOffsetX"),t.textBoxShadowOffsetY=e.getShallow("shadowOffsetY")),t.textShadowColor=e.getShallow("textShadowColor")||i.textShadowColor,t.textShadowBlur=e.getShallow("textShadowBlur")||i.textShadowBlur,t.textShadowOffsetX=e.getShallow("textShadowOffsetX")||i.textShadowOffsetX,t.textShadowOffsetY=e.getShallow("textShadowOffsetY")||i.textShadowOffsetY}function vo(t,e){return"auto"!==t?t:e&&e.autoColor?e.autoColor:null}function yo(t){var e=t.insideRollbackOpt;if(e&&null==t.textFill){var i,n=e.useInsideStyle,o=t.insideRawTextPosition,a=e.autoColor;!1!==n&&(!0===n||e.isRectText&&o&&"string"==typeof o&&o.indexOf("inside")>=0)?(i={textFill:null,textStroke:t.textStroke,textStrokeWidth:t.textStrokeWidth},t.textFill="#fff",null==t.textStroke&&(t.textStroke=a,null==t.textStrokeWidth&&(t.textStrokeWidth=2))):null!=a&&(i={textFill:null},t.textFill=a),i&&(t.insideRollback=i)}}function xo(t){var e=t.insideRollback;e&&(t.textFill=e.textFill,t.textStroke=e.textStroke,t.textStrokeWidth=e.textStrokeWidth,t.insideRollback=null)}function _o(t,e){var i=e||e.getModel("textStyle");return P([t.fontStyle||i&&i.getShallow("fontStyle")||"",t.fontWeight||i&&i.getShallow("fontWeight")||"",(t.fontSize||i&&i.getShallow("fontSize")||12)+"px",t.fontFamily||i&&i.getShallow("fontFamily")||"sans-serif"].join(" "))}function wo(t,e,i,n,o,a){if("function"==typeof o&&(a=o,o=null),n&&n.isAnimationEnabled()){var r=t?"Update":"",s=n.getShallow("animationDuration"+r),l=n.getShallow("animationEasing"+r),u=n.getShallow("animationDelay"+r);"function"==typeof u&&(u=u(o,n.getAnimationDelayParams?n.getAnimationDelayParams(e,o):null)),"function"==typeof s&&(s=s(o)),s>0?e.animateTo(i,s,u||0,l,a,!!a):(e.stopAnimation(),e.attr(i),a&&a())}else e.stopAnimation(),e.attr(i),a&&a()}function bo(t,e,i,n,o){wo(!0,t,e,i,n,o)}function So(t,e,i,n,o){wo(!1,t,e,i,n,o)}function Mo(t,e){for(var i=vt([]);t&&t!==e;)xt(i,t.getLocalTransform(),i),t=t.parent;return i}function Io(t,e,i){return e&&!c(e)&&(e=mw.getLocalTransform(e)),i&&(e=St([],e)),Q([],t,e)}function To(t,e,i){var n=0===e[4]||0===e[5]||0===e[0]?1:Math.abs(2*e[4]/e[0]),o=0===e[4]||0===e[5]||0===e[2]?1:Math.abs(2*e[4]/e[2]),a=["left"===t?-n:"right"===t?n:0,"top"===t?-o:"bottom"===t?o:0];return a=Io(a,e,i),Math.abs(a[0])>Math.abs(a[1])?a[0]>0?"right":"left":a[1]>0?"bottom":"top"}function Ao(t,e,i,n){function o(t){var e={position:F(t.position),rotation:t.rotation};return t.shape&&(e.shape=a({},t.shape)),e}if(t&&e){var r=function(t){var e={};return t.traverse(function(t){!t.isGroup&&t.anid&&(e[t.anid]=t)}),e}(t);e.traverse(function(t){if(!t.isGroup&&t.anid){var e=r[t.anid];if(e){var n=o(t);t.attr(o(e)),bo(t,n,i,t.dataIndex)}}})}}function Do(t,e){return f(t,function(t){var i=t[0];i=mM(i,e.x),i=vM(i,e.x+e.width);var n=t[1];return n=mM(n,e.y),n=vM(n,e.y+e.height),[i,n]})}function Co(t,e,i){var n=(e=a({rectHover:!0},e)).style={strokeNoScale:!0};if(i=i||{x:-1,y:-1,width:2,height:2},t)return 0===t.indexOf("image://")?(n.image=t.slice(8),r(n,i),new hi(e)):Wn(t.replace("path://",""),e,i,"center")}function Lo(t,e,i){this.parentModel=e,this.ecModel=i,this.option=t}function ko(t,e,i){for(var n=0;n<e.length&&(!e[n]||null!=(t=t&&"object"==typeof t?t[e[n]]:null));n++);return null==t&&i&&(t=i.get(e)),t}function Po(t,e){var i=DM(t).getParent;return i?i.call(t,e):t.parentModel}function No(t){return[t||"",CM++,Math.random().toFixed(5)].join("_")}function Oo(t){return t.replace(/^\s+/,"").replace(/\s+$/,"")}function Eo(t,e,i,n){var o=e[1]-e[0],a=i[1]-i[0];if(0===o)return 0===a?i[0]:(i[0]+i[1])/2;if(n)if(o>0){if(t<=e[0])return i[0];if(t>=e[1])return i[1]}else{if(t>=e[0])return i[0];if(t<=e[1])return i[1]}else{if(t===e[0])return i[0];if(t===e[1])return i[1]}return(t-e[0])/o*a+i[0]}function Ro(t,e){switch(t){case"center":case"middle":t="50%";break;case"left":case"top":t="0%";break;case"right":case"bottom":t="100%"}return"string"==typeof t?Oo(t).match(/%$/)?parseFloat(t)/100*e:parseFloat(t):null==t?NaN:+t}function zo(t,e,i){return null==e&&(e=10),e=Math.min(Math.max(0,e),20),t=(+t).toFixed(e),i?t:+t}function Bo(t){return t.sort(function(t,e){return t-e}),t}function Vo(t){if(t=+t,isNaN(t))return 0;for(var e=1,i=0;Math.round(t*e)/e!==t;)e*=10,i++;return i}function Go(t){var e=t.toString(),i=e.indexOf("e");if(i>0){var n=+e.slice(i+1);return n<0?-n:0}var o=e.indexOf(".");return o<0?0:e.length-1-o}function Fo(t,e){var i=Math.log,n=Math.LN10,o=Math.floor(i(t[1]-t[0])/n),a=Math.round(i(Math.abs(e[1]-e[0]))/n),r=Math.min(Math.max(-o+a,0),20);return isFinite(r)?r:20}function Wo(t,e,i){if(!t[e])return 0;var n=p(t,function(t,e){return t+(isNaN(e)?0:e)},0);if(0===n)return 0;for(var o=Math.pow(10,i),a=f(t,function(t){return(isNaN(t)?0:t)/n*o*100}),r=100*o,s=f(a,function(t){return Math.floor(t)}),l=p(s,function(t,e){return t+e},0),u=f(a,function(t,e){return t-s[e]});l<r;){for(var h=Number.NEGATIVE_INFINITY,c=null,d=0,g=u.length;d<g;++d)u[d]>h&&(h=u[d],c=d);++s[c],u[c]=0,++l}return s[e]/o}function Ho(t){var e=2*Math.PI;return(t%e+e)%e}function Zo(t){return t>-LM&&t<LM}function Uo(t){if(t instanceof Date)return t;if("string"==typeof t){var e=PM.exec(t);if(!e)return new Date(NaN);if(e[8]){var i=+e[4]||0;return"Z"!==e[8].toUpperCase()&&(i-=e[8].slice(0,3)),new Date(Date.UTC(+e[1],+(e[2]||1)-1,+e[3]||1,i,+(e[5]||0),+e[6]||0,+e[7]||0))}return new Date(+e[1],+(e[2]||1)-1,+e[3]||1,+e[4]||0,+(e[5]||0),+e[6]||0,+e[7]||0)}return null==t?new Date(NaN):new Date(Math.round(t))}function Xo(t){return Math.pow(10,jo(t))}function jo(t){return Math.floor(Math.log(t)/Math.LN10)}function Yo(t,e){var i,n=jo(t),o=Math.pow(10,n),a=t/o;return i=e?a<1.5?1:a<2.5?2:a<4?3:a<7?5:10:a<1?1:a<2?2:a<3?3:a<5?5:10,t=i*o,n>=-20?+t.toFixed(n<0?-n:0):t}function qo(t){function e(t,i,n){return t.interval[n]<i.interval[n]||t.interval[n]===i.interval[n]&&(t.close[n]-i.close[n]==(n?-1:1)||!n&&e(t,i,1))}t.sort(function(t,i){return e(t,i,0)?-1:1});for(var i=-1/0,n=1,o=0;o<t.length;){for(var a=t[o].interval,r=t[o].close,s=0;s<2;s++)a[s]<=i&&(a[s]=i,r[s]=s?1:1-n),i=a[s],n=r[s];a[0]===a[1]&&r[0]*r[1]!=1?t.splice(o,1):o++}return t}function Ko(t){return t-parseFloat(t)>=0}function $o(t){return isNaN(t)?"-":(t=(t+"").split("."))[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g,"$1,")+(t.length>1?"."+t[1]:"")}function Jo(t,e){return t=(t||"").toLowerCase().replace(/-(.)/g,function(t,e){return e.toUpperCase()}),e&&t&&(t=t.charAt(0).toUpperCase()+t.slice(1)),t}function Qo(t){return null==t?"":(t+"").replace(EM,function(t,e){return RM[e]})}function ta(t,e,i){y(e)||(e=[e]);var n=e.length;if(!n)return"";for(var o=e[0].$vars||[],a=0;a<o.length;a++){var r=zM[a];t=t.replace(BM(r),BM(r,0))}for(var s=0;s<n;s++)for(var l=0;l<o.length;l++){var u=e[s][o[l]];t=t.replace(BM(zM[l],s),i?Qo(u):u)}return t}function ea(t,e,i){return d(e,function(e,n){t=t.replace("{"+n+"}",i?Qo(e):e)}),t}function ia(t,e){var i=(t=_(t)?{color:t,extraCssText:e}:t||{}).color,n=t.type,e=t.extraCssText,o=t.renderMode||"html",a=t.markerId||"X";return i?"html"===o?"subItem"===n?'<span style="display:inline-block;vertical-align:middle;margin-right:8px;margin-left:3px;border-radius:4px;width:4px;height:4px;background-color:'+Qo(i)+";"+(e||"")+'"></span>':'<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:'+Qo(i)+";"+(e||"")+'"></span>':{renderMode:o,content:"{marker"+a+"|} ",style:{color:i}}:""}function na(t,e){return t+="","0000".substr(0,e-t.length)+t}function oa(t,e,i){"week"!==t&&"month"!==t&&"quarter"!==t&&"half-year"!==t&&"year"!==t||(t="MM-dd\nyyyy");var n=Uo(e),o=i?"UTC":"",a=n["get"+o+"FullYear"](),r=n["get"+o+"Month"]()+1,s=n["get"+o+"Date"](),l=n["get"+o+"Hours"](),u=n["get"+o+"Minutes"](),h=n["get"+o+"Seconds"](),c=n["get"+o+"Milliseconds"]();return t=t.replace("MM",na(r,2)).replace("M",r).replace("yyyy",a).replace("yy",a%100).replace("dd",na(s,2)).replace("d",s).replace("hh",na(l,2)).replace("h",l).replace("mm",na(u,2)).replace("m",u).replace("ss",na(h,2)).replace("s",h).replace("SSS",na(c,3))}function aa(t){return t?t.charAt(0).toUpperCase()+t.substr(1):t}function ra(t,e,i,n,o){var a=0,r=0;null==n&&(n=1/0),null==o&&(o=1/0);var s=0;e.eachChild(function(l,u){var h,c,d=l.position,f=l.getBoundingRect(),p=e.childAt(u+1),g=p&&p.getBoundingRect();if("horizontal"===t){var m=f.width+(g?-g.x+f.x:0);(h=a+m)>n||l.newline?(a=0,h=m,r+=s+i,s=f.height):s=Math.max(s,f.height)}else{var v=f.height+(g?-g.y+f.y:0);(c=r+v)>o||l.newline?(a+=s+i,r=0,c=v,s=f.width):s=Math.max(s,f.width)}l.newline||(d[0]=a,d[1]=r,"horizontal"===t?a=h+i:r=c+i)})}function sa(t,e,i){var n=e.width,o=e.height,a=Ro(t.x,n),r=Ro(t.y,o),s=Ro(t.x2,n),l=Ro(t.y2,o);return(isNaN(a)||isNaN(parseFloat(t.x)))&&(a=0),(isNaN(s)||isNaN(parseFloat(t.x2)))&&(s=n),(isNaN(r)||isNaN(parseFloat(t.y)))&&(r=0),(isNaN(l)||isNaN(parseFloat(t.y2)))&&(l=o),i=OM(i||0),{width:Math.max(s-a-i[1]-i[3],0),height:Math.max(l-r-i[0]-i[2],0)}}function la(t,e,i){i=OM(i||0);var n=e.width,o=e.height,a=Ro(t.left,n),r=Ro(t.top,o),s=Ro(t.right,n),l=Ro(t.bottom,o),u=Ro(t.width,n),h=Ro(t.height,o),c=i[2]+i[0],d=i[1]+i[3],f=t.aspect;switch(isNaN(u)&&(u=n-s-d-a),isNaN(h)&&(h=o-l-c-r),null!=f&&(isNaN(u)&&isNaN(h)&&(f>n/o?u=.8*n:h=.8*o),isNaN(u)&&(u=f*h),isNaN(h)&&(h=u/f)),isNaN(a)&&(a=n-s-u-d),isNaN(r)&&(r=o-l-h-c),t.left||t.right){case"center":a=n/2-u/2-i[3];break;case"right":a=n-u-d}switch(t.top||t.bottom){case"middle":case"center":r=o/2-h/2-i[0];break;case"bottom":r=o-h-c}a=a||0,r=r||0,isNaN(u)&&(u=n-d-a-(s||0)),isNaN(h)&&(h=o-c-r-(l||0));var p=new ue(a+i[3],r+i[0],u,h);return p.margin=i,p}function ua(t,e,i,n,o){var a=!o||!o.hv||o.hv[0],s=!o||!o.hv||o.hv[1],l=o&&o.boundingMode||"all";if(a||s){var u;if("raw"===l)u="group"===t.type?new ue(0,0,+e.width||0,+e.height||0):t.getBoundingRect();else if(u=t.getBoundingRect(),t.needLocalTransform()){var h=t.getLocalTransform();(u=u.clone()).applyTransform(h)}e=la(r({width:u.width,height:u.height},e),i,n);var c=t.position,d=a?e.x-u.x:0,f=s?e.y-u.y:0;t.attr("position","raw"===l?[d,f]:[c[0]+d,c[1]+f])}}function ha(t,e){return null!=t[ZM[e][0]]||null!=t[ZM[e][1]]&&null!=t[ZM[e][2]]}function ca(t,e,i){function n(i,n){var r={},l=0,u={},h=0;if(WM(i,function(e){u[e]=t[e]}),WM(i,function(t){o(e,t)&&(r[t]=u[t]=e[t]),a(r,t)&&l++,a(u,t)&&h++}),s[n])return a(e,i[1])?u[i[2]]=null:a(e,i[2])&&(u[i[1]]=null),u;if(2!==h&&l){if(l>=2)return r;for(var c=0;c<i.length;c++){var d=i[c];if(!o(r,d)&&o(t,d)){r[d]=t[d];break}}return r}return u}function o(t,e){return t.hasOwnProperty(e)}function a(t,e){return null!=t[e]&&"auto"!==t[e]}function r(t,e,i){WM(t,function(t){e[t]=i[t]})}!w(i)&&(i={});var s=i.ignoreSize;!y(s)&&(s=[s,s]);var l=n(ZM[0],0),u=n(ZM[1],1);r(ZM[0],t,l),r(ZM[1],t,u)}function da(t){return fa({},t)}function fa(t,e){return e&&t&&WM(HM,function(i){e.hasOwnProperty(i)&&(t[i]=e[i])}),t}function pa(t,e){for(var i=t.length,n=0;n<i;n++)if(t[n].length>e)return t[n];return t[i-1]}function ga(t){var e=t.get("coordinateSystem"),i={coordSysName:e,coordSysDims:[],axisMap:R(),categoryAxisMap:R()},n=QM[e];if(n)return n(t,i,i.axisMap,i.categoryAxisMap),i}function ma(t){return"category"===t.get("type")}function va(t){this.fromDataset=t.fromDataset,this.data=t.data||(t.sourceFormat===nI?{}:[]),this.sourceFormat=t.sourceFormat||oI,this.seriesLayoutBy=t.seriesLayoutBy||rI,this.dimensionsDefine=t.dimensionsDefine,this.encodeDefine=t.encodeDefine&&R(t.encodeDefine),this.startIndex=t.startIndex||0,this.dimensionsDetectCount=t.dimensionsDetectCount}function ya(t){var e=t.option.source,i=oI;if(S(e))i=aI;else if(y(e)){0===e.length&&(i=eI);for(var n=0,o=e.length;n<o;n++){var a=e[n];if(null!=a){if(y(a)){i=eI;break}if(w(a)){i=iI;break}}}}else if(w(e)){for(var r in e)if(e.hasOwnProperty(r)&&c(e[r])){i=nI;break}}else if(null!=e)throw new Error("Invalid data");lI(t).sourceFormat=i}function xa(t){return lI(t).source}function _a(t){lI(t).datasetMap=R()}function wa(t){var e=t.option,i=e.data,n=S(i)?aI:tI,o=!1,a=e.seriesLayoutBy,r=e.sourceHeader,s=e.dimensions,l=Aa(t);if(l){var u=l.option;i=u.source,n=lI(l).sourceFormat,o=!0,a=a||u.seriesLayoutBy,null==r&&(r=u.sourceHeader),s=s||u.dimensions}var h=ba(i,n,a,r,s),c=e.encode;!c&&l&&(c=Ta(t,l,i,n,a,h)),lI(t).source=new va({data:i,fromDataset:o,seriesLayoutBy:a,sourceFormat:n,dimensionsDefine:h.dimensionsDefine,startIndex:h.startIndex,dimensionsDetectCount:h.dimensionsDetectCount,encodeDefine:c})}function ba(t,e,i,n,o){if(!t)return{dimensionsDefine:Sa(o)};var a,r,s;if(e===eI)"auto"===n||null==n?Ma(function(t){null!=t&&"-"!==t&&(_(t)?null==r&&(r=1):r=0)},i,t,10):r=n?1:0,o||1!==r||(o=[],Ma(function(t,e){o[e]=null!=t?t:""},i,t)),a=o?o.length:i===sI?t.length:t[0]?t[0].length:null;else if(e===iI)o||(o=Ia(t),s=!0);else if(e===nI)o||(o=[],s=!0,d(t,function(t,e){o.push(e)}));else if(e===tI){var l=Li(t[0]);a=y(l)&&l.length||1}var u;return s&&d(o,function(t,e){"name"===(w(t)?t.name:t)&&(u=e)}),{startIndex:r,dimensionsDefine:Sa(o),dimensionsDetectCount:a,potentialNameDimIndex:u}}function Sa(t){if(t){var e=R();return f(t,function(t,i){if(null==(t=a({},w(t)?t:{name:t})).name)return t;t.name+="",null==t.displayName&&(t.displayName=t.name);var n=e.get(t.name);return n?t.name+="-"+n.count++:e.set(t.name,{count:1}),t})}}function Ma(t,e,i,n){if(null==n&&(n=1/0),e===sI)for(a=0;a<i.length&&a<n;a++)t(i[a]?i[a][0]:null,a);else for(var o=i[0]||[],a=0;a<o.length&&a<n;a++)t(o[a],a)}function Ia(t){for(var e,i=0;i<t.length&&!(e=t[i++]););if(e){var n=[];return d(e,function(t,e){n.push(e)}),n}}function Ta(t,e,i,n,o,a){var r=ga(t),s={},l=[],u=[],h=t.subType,c=R(["pie","map","funnel"]),f=R(["line","bar","pictorialBar","scatter","effectScatter","candlestick","boxplot"]);if(r&&null!=f.get(h)){var p=t.ecModel,g=lI(p).datasetMap,m=e.uid+"_"+o,v=g.get(m)||g.set(m,{categoryWayDim:1,valueWayDim:0});d(r.coordSysDims,function(t){if(null==r.firstCategoryDimIndex){e=v.valueWayDim++;s[t]=e,u.push(e)}else if(r.categoryAxisMap.get(t))s[t]=0,l.push(0);else{var e=v.categoryWayDim++;s[t]=e,u.push(e)}})}else if(null!=c.get(h)){for(var y,x=0;x<5&&null==y;x++)Ca(i,n,o,a.dimensionsDefine,a.startIndex,x)||(y=x);if(null!=y){s.value=y;var _=a.potentialNameDimIndex||Math.max(y-1,0);u.push(_),l.push(_)}}return l.length&&(s.itemName=l),u.length&&(s.seriesName=u),s}function Aa(t){var e=t.option;if(!e.data)return t.ecModel.getComponent("dataset",e.datasetIndex||0)}function Da(t,e){return Ca(t.data,t.sourceFormat,t.seriesLayoutBy,t.dimensionsDefine,t.startIndex,e)}function Ca(t,e,i,n,o,a){function r(t){return(null==t||!isFinite(t)||""===t)&&(!(!_(t)||"-"===t)||void 0)}var s;if(S(t))return!1;var l;if(n&&(l=w(l=n[a])?l.name:l),e===eI)if(i===sI){for(var u=t[a],h=0;h<(u||[]).length&&h<5;h++)if(null!=(s=r(u[o+h])))return s}else for(h=0;h<t.length&&h<5;h++){var c=t[o+h];if(c&&null!=(s=r(c[a])))return s}else if(e===iI){if(!l)return;for(h=0;h<t.length&&h<5;h++)if((d=t[h])&&null!=(s=r(d[l])))return s}else if(e===nI){if(!l)return;if(!(u=t[l])||S(u))return!1;for(h=0;h<u.length&&h<5;h++)if(null!=(s=r(u[h])))return s}else if(e===tI)for(h=0;h<t.length&&h<5;h++){var d=t[h],f=Li(d);if(!y(f))return!1;if(null!=(s=r(f[a])))return s}return!1}function La(t,e){if(e){var i=e.seiresIndex,n=e.seriesId,o=e.seriesName;return null!=i&&t.componentIndex!==i||null!=n&&t.id!==n||null!=o&&t.name!==o}}function ka(t,e){var o=t.color&&!t.colorLayer;d(e,function(e,a){"colorLayer"===a&&o||YM.hasClass(a)||("object"==typeof e?t[a]=t[a]?n(t[a],e,!1):i(e):null==t[a]&&(t[a]=e))})}function Pa(t){t=t,this.option={},this.option[uI]=1,this._componentsMap=R({series:[]}),this._seriesIndices,this._seriesIndicesMap,ka(t,this._theme.option),n(t,KM,!1),this.mergeOption(t)}function Na(t,e){y(e)||(e=e?[e]:[]);var i={};return d(e,function(e){i[e]=(t.get(e)||[]).slice()}),i}function Oa(t,e,i){return e.type?e.type:i?i.subType:YM.determineSubType(t,e)}function Ea(t,e){t._seriesIndicesMap=R(t._seriesIndices=f(e,function(t){return t.componentIndex})||[])}function Ra(t,e){return e.hasOwnProperty("subType")?g(t,function(t){return t.subType===e.subType}):t}function za(t){d(cI,function(e){this[e]=m(t[e],t)},this)}function Ba(){this._coordinateSystems=[]}function Va(t){this._api=t,this._timelineOptions=[],this._mediaList=[],this._mediaDefault,this._currentMediaIndices=[],this._optionBackup,this._newBaseOption}function Ga(t,e,i){var n,o,a=[],r=[],s=t.timeline;if(t.baseOption&&(o=t.baseOption),(s||t.options)&&(o=o||{},a=(t.options||[]).slice()),t.media){o=o||{};var l=t.media;fI(l,function(t){t&&t.option&&(t.query?r.push(t):n||(n=t))})}return o||(o=t),o.timeline||(o.timeline=s),fI([o].concat(a).concat(f(r,function(t){return t.option})),function(t){fI(e,function(e){e(t,i)})}),{baseOption:o,timelineOptions:a,mediaDefault:n,mediaList:r}}function Fa(t,e,i){var n={width:e,height:i,aspectratio:e/i},o=!0;return d(t,function(t,e){var i=e.match(vI);if(i&&i[1]&&i[2]){var a=i[1],r=i[2].toLowerCase();Wa(n[r],t,a)||(o=!1)}}),o}function Wa(t,e,i){return"min"===i?t>=e:"max"===i?t<=e:t===e}function Ha(t,e){return t.join(",")===e.join(",")}function Za(t,e){fI(e=e||{},function(e,i){if(null!=e){var n=t[i];if(YM.hasClass(i)){e=Di(e);var o=Pi(n=Di(n),e);t[i]=gI(o,function(t){return t.option&&t.exist?mI(t.exist,t.option,!0):t.exist||t.option})}else t[i]=mI(n,e,!0)}})}function Ua(t){var e=t&&t.itemStyle;if(e)for(var i=0,o=_I.length;i<o;i++){var a=_I[i],r=e.normal,s=e.emphasis;r&&r[a]&&(t[a]=t[a]||{},t[a].normal?n(t[a].normal,r[a]):t[a].normal=r[a],r[a]=null),s&&s[a]&&(t[a]=t[a]||{},t[a].emphasis?n(t[a].emphasis,s[a]):t[a].emphasis=s[a],s[a]=null)}}function Xa(t,e,i){if(t&&t[e]&&(t[e].normal||t[e].emphasis)){var n=t[e].normal,o=t[e].emphasis;n&&(i?(t[e].normal=t[e].emphasis=null,r(t[e],n)):t[e]=n),o&&(t.emphasis=t.emphasis||{},t.emphasis[e]=o)}}function ja(t){Xa(t,"itemStyle"),Xa(t,"lineStyle"),Xa(t,"areaStyle"),Xa(t,"label"),Xa(t,"labelLine"),Xa(t,"upperLabel"),Xa(t,"edgeLabel")}function Ya(t,e){var i=xI(t)&&t[e],n=xI(i)&&i.textStyle;if(n)for(var o=0,a=zb.length;o<a;o++){var e=zb[o];n.hasOwnProperty(e)&&(i[e]=n[e])}}function qa(t){t&&(ja(t),Ya(t,"label"),t.emphasis&&Ya(t.emphasis,"label"))}function Ka(t){if(xI(t)){Ua(t),ja(t),Ya(t,"label"),Ya(t,"upperLabel"),Ya(t,"edgeLabel"),t.emphasis&&(Ya(t.emphasis,"label"),Ya(t.emphasis,"upperLabel"),Ya(t.emphasis,"edgeLabel"));var e=t.markPoint;e&&(Ua(e),qa(e));var i=t.markLine;i&&(Ua(i),qa(i));var n=t.markArea;n&&qa(n);var o=t.data;if("graph"===t.type){o=o||t.nodes;var a=t.links||t.edges;if(a&&!S(a))for(s=0;s<a.length;s++)qa(a[s]);d(t.categories,function(t){ja(t)})}if(o&&!S(o))for(s=0;s<o.length;s++)qa(o[s]);if((e=t.markPoint)&&e.data)for(var r=e.data,s=0;s<r.length;s++)qa(r[s]);if((i=t.markLine)&&i.data)for(var l=i.data,s=0;s<l.length;s++)y(l[s])?(qa(l[s][0]),qa(l[s][1])):qa(l[s]);"gauge"===t.type?(Ya(t,"axisLabel"),Ya(t,"title"),Ya(t,"detail")):"treemap"===t.type?(Xa(t.breadcrumb,"itemStyle"),d(t.levels,function(t){ja(t)})):"tree"===t.type&&ja(t.leaves)}}function $a(t){return y(t)?t:t?[t]:[]}function Ja(t){return(y(t)?t[0]:t)||{}}function Qa(t,e){e=e.split(",");for(var i=t,n=0;n<e.length&&null!=(i=i&&i[e[n]]);n++);return i}function tr(t,e,i,n){e=e.split(",");for(var o,a=t,r=0;r<e.length-1;r++)null==a[o=e[r]]&&(a[o]={}),a=a[o];(n||null==a[e[r]])&&(a[e[r]]=i)}function er(t){d(bI,function(e){e[0]in t&&!(e[1]in t)&&(t[e[1]]=t[e[0]])})}function ir(t){d(t,function(e,i){var n=[],o=[NaN,NaN],a=[e.stackResultDimension,e.stackedOverDimension],r=e.data,s=e.isStackedByIndex,l=r.map(a,function(a,l,u){var h=r.get(e.stackedDimension,u);if(isNaN(h))return o;var c,d;s?d=r.getRawIndex(u):c=r.get(e.stackedByDimension,u);for(var f=NaN,p=i-1;p>=0;p--){var g=t[p];if(s||(d=g.data.rawIndexOf(g.stackedByDimension,c)),d>=0){var m=g.data.getByRawIndex(g.stackResultDimension,d);if(h>=0&&m>0||h<=0&&m<0){h+=m,f=m;break}}}return n[0]=h,n[1]=f,n});r.hostModel.setData(l),e.data=l})}function nr(t,e){va.isInstance(t)||(t=va.seriesDataToSource(t)),this._source=t;var i=this._data=t.data,n=t.sourceFormat;n===aI&&(this._offset=0,this._dimSize=e,this._data=i),a(this,TI[n===eI?n+"_"+t.seriesLayoutBy:n])}function or(){return this._data.length}function ar(t){return this._data[t]}function rr(t){for(var e=0;e<t.length;e++)this._data.push(t[e])}function sr(t,e,i,n){return null!=i?t[i]:t}function lr(t,e,i,n){return ur(t[n],this._dimensionInfos[e])}function ur(t,e){var i=e&&e.type;if("ordinal"===i){var n=e&&e.ordinalMeta;return n?n.parseAndCollect(t):t}return"time"===i&&"number"!=typeof t&&null!=t&&"-"!==t&&(t=+Uo(t)),null==t||""===t?NaN:+t}function hr(t,e,i){if(t){var n=t.getRawDataItem(e);if(null!=n){var o,a,r=t.getProvider().getSource().sourceFormat,s=t.getDimensionInfo(i);return s&&(o=s.name,a=s.index),AI[r](n,e,a,o)}}}function cr(t,e,i){if(t){var n=t.getProvider().getSource().sourceFormat;if(n===tI||n===iI){var o=t.getRawDataItem(e);return n!==tI||w(o)||(o=null),o?o[i]:void 0}}}function dr(t){return new fr(t)}function fr(t){t=t||{},this._reset=t.reset,this._plan=t.plan,this._count=t.count,this._onDirty=t.onDirty,this._dirty=!0,this.context}function pr(t,e,i,n,o,a){PI.reset(i,n,o,a),t._callingProgress=e,t._callingProgress({start:i,end:n,count:n-i,next:PI.next},t.context)}function gr(t,e){t._dueIndex=t._outputDueEnd=t._dueEnd=0,t._settedOutputEnd=null;var i,n;!e&&t._reset&&((i=t._reset(t.context))&&i.progress&&(n=i.forceFirstProgress,i=i.progress),y(i)&&!i.length&&(i=null)),t._progress=i,t._modBy=t._modDataCount=null;var o=t._downstream;return o&&o.dirty(),n}function mr(t){var e=t.name;Oi(t)||(t.name=vr(t)||e)}function vr(t){var e=t.getRawData(),i=[];return d(e.mapDimension("seriesName",!0),function(t){var n=e.getDimensionInfo(t);n.displayName&&i.push(n.displayName)}),i.join(" ")}function yr(t){return t.model.getRawData().count()}function xr(t){var e=t.model;return e.setData(e.getRawData().cloneShallow()),_r}function _r(t,e){t.end>e.outputData.count()&&e.model.getRawData().cloneShallow(e.outputData)}function wr(t,e){d(t.CHANGABLE_METHODS,function(i){t.wrapMethod(i,v(br,e))})}function br(t){var e=Sr(t);e&&e.setOutputEnd(this.count())}function Sr(t){var e=(t.ecModel||{}).scheduler,i=e&&e.getPipeline(t.uid);if(i){var n=i.currentTask;if(n){var o=n.agentStubMap;o&&(n=o.get(t.uid))}return n}}function Mr(){this.group=new Zw,this.uid=No("viewChart"),this.renderTask=dr({plan:Ar,reset:Dr}),this.renderTask.context={view:this}}function Ir(t,e){if(t&&(t.trigger(e),"group"===t.type))for(var i=0;i<t.childCount();i++)Ir(t.childAt(i),e)}function Tr(t,e,i){var n=zi(t,e);null!=n?d(Di(n),function(e){Ir(t.getItemGraphicEl(e),i)}):t.eachItemGraphicEl(function(t){Ir(t,i)})}function Ar(t){return VI(t.model)}function Dr(t){var e=t.model,i=t.ecModel,n=t.api,o=t.payload,a=e.pipelineContext.progressiveRender,r=t.view,s=o&&BI(o).updateMethod,l=a?"incrementalPrepareRender":s&&r[s]?s:"render";return"render"!==l&&r[l](e,i,n,o),FI[l]}function Cr(t,e,i){function n(){h=(new Date).getTime(),c=null,t.apply(r,s||[])}var o,a,r,s,l,u=0,h=0,c=null;e=e||0;var d=function(){o=(new Date).getTime(),r=this,s=arguments;var t=l||e,d=l||i;l=null,a=o-(d?u:h)-t,clearTimeout(c),d?c=setTimeout(n,t):a>=0?n():c=setTimeout(n,-a),u=o};return d.clear=function(){c&&(clearTimeout(c),c=null)},d.debounceNextCall=function(t){l=t},d}function Lr(t,e,i,n){var o=t[e];if(o){var a=o[WI]||o,r=o[ZI];if(o[HI]!==i||r!==n){if(null==i||!n)return t[e]=a;(o=t[e]=Cr(a,i,"debounce"===n))[WI]=a,o[ZI]=n,o[HI]=i}return o}}function kr(t,e){var i=t[e];i&&i[WI]&&(t[e]=i[WI])}function Pr(t,e,i,n){this.ecInstance=t,this.api=e,this.unfinished;var i=this._dataProcessorHandlers=i.slice(),n=this._visualHandlers=n.slice();this._allHandlers=i.concat(n),this._stageTaskMap=R()}function Nr(t,e,i,n,o){function a(t,e){return t.setDirty&&(!t.dirtyMap||t.dirtyMap.get(e.__pipeline.id))}o=o||{};var r;d(e,function(e,s){if(!o.visualType||o.visualType===e.visualType){var l=t._stageTaskMap.get(e.uid),u=l.seriesTaskMap,h=l.overallTask;if(h){var c,d=h.agentStubMap;d.each(function(t){a(o,t)&&(t.dirty(),c=!0)}),c&&h.dirty(),KI(h,n);var f=t.getPerformArgs(h,o.block);d.each(function(t){t.perform(f)}),r|=h.perform(f)}else u&&u.each(function(s,l){a(o,s)&&s.dirty();var u=t.getPerformArgs(s,o.block);u.skip=!e.performRawSeries&&i.isSeriesFiltered(s.context.model),KI(s,n),r|=s.perform(u)})}}),t.unfinished|=r}function Or(t,e,i,n,o){function a(i){var a=i.uid,s=r.get(a)||r.set(a,dr({plan:Gr,reset:Fr,count:Hr}));s.context={model:i,ecModel:n,api:o,useClearVisual:e.isVisual&&!e.isLayout,plan:e.plan,reset:e.reset,scheduler:t},Zr(t,i,s)}var r=i.seriesTaskMap||(i.seriesTaskMap=R()),s=e.seriesType,l=e.getTargetSeries;e.createOnAllSeries?n.eachRawSeries(a):s?n.eachRawSeriesByType(s,a):l&&l(n,o).each(a);var u=t._pipelineMap;r.each(function(t,e){u.get(e)||(t.dispose(),r.removeKey(e))})}function Er(t,e,i,n,o){function a(e){var i=e.uid,n=s.get(i);n||(n=s.set(i,dr({reset:zr,onDirty:Vr})),r.dirty()),n.context={model:e,overallProgress:h,modifyOutputEnd:c},n.agent=r,n.__block=h,Zr(t,e,n)}var r=i.overallTask=i.overallTask||dr({reset:Rr});r.context={ecModel:n,api:o,overallReset:e.overallReset,scheduler:t};var s=r.agentStubMap=r.agentStubMap||R(),l=e.seriesType,u=e.getTargetSeries,h=!0,c=e.modifyOutputEnd;l?n.eachRawSeriesByType(l,a):u?u(n,o).each(a):(h=!1,d(n.getSeries(),a));var f=t._pipelineMap;s.each(function(t,e){f.get(e)||(t.dispose(),r.dirty(),s.removeKey(e))})}function Rr(t){t.overallReset(t.ecModel,t.api,t.payload)}function zr(t,e){return t.overallProgress&&Br}function Br(){this.agent.dirty(),this.getDownstream().dirty()}function Vr(){this.agent&&this.agent.dirty()}function Gr(t){return t.plan&&t.plan(t.model,t.ecModel,t.api,t.payload)}function Fr(t){t.useClearVisual&&t.data.clearAllVisual();var e=t.resetDefines=Di(t.reset(t.model,t.ecModel,t.api,t.payload));return e.length>1?f(e,function(t,e){return Wr(e)}):$I}function Wr(t){return function(e,i){var n=i.data,o=i.resetDefines[t];if(o&&o.dataEach)for(var a=e.start;a<e.end;a++)o.dataEach(n,a);else o&&o.progress&&o.progress(e,n)}}function Hr(t){return t.data.count()}function Zr(t,e,i){var n=e.uid,o=t._pipelineMap.get(n);!o.head&&(o.head=i),o.tail&&o.tail.pipe(i),o.tail=i,i.__idxInPipeline=o.count++,i.__pipeline=o}function Ur(t){JI=null;try{t(QI,tT)}catch(t){}return JI}function Xr(t,e){for(var i in e.prototype)t[i]=B}function jr(t){for(_(t)&&(t=(new DOMParser).parseFromString(t,"text/xml")),9===t.nodeType&&(t=t.firstChild);"svg"!==t.nodeName.toLowerCase()||1!==t.nodeType;)t=t.nextSibling;return t}function Yr(){this._defs={},this._root=null,this._isDefine=!1,this._isText=!1}function qr(t,e){for(var i=t.firstChild;i;){if(1===i.nodeType){var n=i.getAttribute("offset");n=n.indexOf("%")>0?parseInt(n,10)/100:n?parseFloat(n):0;var o=i.getAttribute("stop-color")||"#000000";e.addColorStop(n,o)}i=i.nextSibling}}function Kr(t,e){t&&t.__inheritedStyle&&(e.__inheritedStyle||(e.__inheritedStyle={}),r(e.__inheritedStyle,t.__inheritedStyle))}function $r(t){for(var e=P(t).split(rT),i=[],n=0;n<e.length;n+=2){var o=parseFloat(e[n]),a=parseFloat(e[n+1]);i.push([o,a])}return i}function Jr(t,e,i,n){var o=e.__inheritedStyle||{},r="text"===e.type;if(1===t.nodeType&&(ts(t,e),a(o,es(t)),!n))for(var s in uT)if(uT.hasOwnProperty(s)){var l=t.getAttribute(s);null!=l&&(o[uT[s]]=l)}var u=r?"textFill":"fill",h=r?"textStroke":"stroke";e.style=e.style||new $w;var c=e.style;null!=o.fill&&c.set(u,Qr(o.fill,i)),null!=o.stroke&&c.set(h,Qr(o.stroke,i)),d(["lineWidth","opacity","fillOpacity","strokeOpacity","miterLimit","fontSize"],function(t){var e="lineWidth"===t&&r?"textStrokeWidth":t;null!=o[t]&&c.set(e,parseFloat(o[t]))}),o.textBaseline&&"auto"!==o.textBaseline||(o.textBaseline="alphabetic"),"alphabetic"===o.textBaseline&&(o.textBaseline="bottom"),"start"===o.textAlign&&(o.textAlign="left"),"end"===o.textAlign&&(o.textAlign="right"),d(["lineDashOffset","lineCap","lineJoin","fontWeight","fontFamily","fontStyle","textAlign","textBaseline"],function(t){null!=o[t]&&c.set(t,o[t])}),o.lineDash&&(e.style.lineDash=P(o.lineDash).split(rT)),c[h]&&"none"!==c[h]&&(e[h]=!0),e.__inheritedStyle=o}function Qr(t,e){var i=e&&t&&t.match(hT);return i?e[P(i[1])]:t}function ts(t,e){var i=t.getAttribute("transform");if(i){var n=null,o=[];(i=i.replace(/,/g," ")).replace(cT,function(t,e,i){o.push(e,i)});for(var a=o.length-1;a>0;a-=2){var r=o[a],s=o[a-1];switch(n=n||mt(),s){case"translate":r=P(r).split(rT),_t(n,n,[parseFloat(r[0]),parseFloat(r[1]||0)]);break;case"scale":r=P(r).split(rT),bt(n,n,[parseFloat(r[0]),parseFloat(r[1]||r[0])]);break;case"rotate":r=P(r).split(rT),wt(n,n,parseFloat(r[0]));break;case"skew":r=P(r).split(rT),console.warn("Skew transform is not supported yet");break;case"matrix":r=P(r).split(rT);n[0]=parseFloat(r[0]),n[1]=parseFloat(r[1]),n[2]=parseFloat(r[2]),n[3]=parseFloat(r[3]),n[4]=parseFloat(r[4]),n[5]=parseFloat(r[5])}}}e.setLocalTransform(n)}function es(t){var e=t.getAttribute("style"),i={};if(!e)return i;var n={};dT.lastIndex=0;for(var o;null!=(o=dT.exec(e));)n[o[1]]=o[2];for(var a in uT)uT.hasOwnProperty(a)&&null!=n[a]&&(i[uT[a]]=n[a]);return i}function is(t,e,i){var n=e/t.width,o=i/t.height,a=Math.min(n,o);return{scale:[a,a],position:[-(t.x+t.width/2)*a+e/2,-(t.y+t.height/2)*a+i/2]}}function ns(t,e){return(new Yr).parse(t,e)}function os(t){return function(e,i,n){e=e&&e.toLowerCase(),aw.prototype[t].call(this,e,i,n)}}function as(){aw.call(this)}function rs(t,e,n){function o(t,e){return t.__prio-e.__prio}n=n||{},"string"==typeof e&&(e=BT[e]),this.id,this.group,this._dom=t;var a=this._zr=Ii(t,{renderer:n.renderer||"canvas",devicePixelRatio:n.devicePixelRatio,width:n.width,height:n.height});this._throttledZrFlush=Cr(m(a.flush,a),17),(e=i(e))&&MI(e,!0),this._theme=e,this._chartsViews=[],this._chartsMap={},this._componentsViews=[],this._componentsMap={},this._coordSysMgr=new Ba;var r=this._api=Ms(this);ve(zT,o),ve(OT,o),this._scheduler=new Pr(this,r,OT,zT),aw.call(this,this._ecEventProcessor=new Is),this._messageCenter=new as,this._initEvents(),this.resize=m(this.resize,this),this._pendingActions=[],a.animation.on("frame",this._onframe,this),ps(a,this),N(this)}function ss(t,e,i){var n,o=this._model,a=this._coordSysMgr.getCoordinateSystems();e=Vi(o,e);for(var r=0;r<a.length;r++){var s=a[r];if(s[t]&&null!=(n=s[t](o,e,i)))return n}}function ls(t){var e=t._model,i=t._scheduler;i.restorePipelines(e),i.prepareStageTasks(),gs(t,"component",e,i),gs(t,"chart",e,i),i.plan()}function us(t,e,i,n,o){function a(n){n&&n.__alive&&n[e]&&n[e](n.__model,r,t._api,i)}var r=t._model;if(n){var s={};s[n+"Id"]=i[n+"Id"],s[n+"Index"]=i[n+"Index"],s[n+"Name"]=i[n+"Name"];var l={mainType:n,query:s};o&&(l.subType=o);var u=i.excludeSeriesId;null!=u&&(u=R(Di(u))),r&&r.eachComponent(l,function(e){u&&null!=u.get(e.id)||a(t["series"===n?"_chartsMap":"_componentsMap"][e.__viewId])},t)}else vT(t._componentsViews.concat(t._chartsViews),a)}function hs(t,e){var i=t._chartsMap,n=t._scheduler;e.eachSeries(function(t){n.updateStreamModes(t,i[t.__viewId])})}function cs(t,e){var i=t.type,n=t.escapeConnect,o=PT[i],s=o.actionInfo,l=(s.update||"update").split(":"),u=l.pop();l=null!=l[0]&&_T(l[0]),this[TT]=!0;var h=[t],c=!1;t.batch&&(c=!0,h=f(t.batch,function(e){return e=r(a({},e),t),e.batch=null,e}));var d,p=[],g="highlight"===i||"downplay"===i;vT(h,function(t){d=o.action(t,this._model,this._api),(d=d||a({},t)).type=s.event||d.type,p.push(d),g?us(this,u,t,"series"):l&&us(this,u,t,l.main,l.sub)},this),"none"===u||g||l||(this[AT]?(ls(this),LT.update.call(this,t),this[AT]=!1):LT[u].call(this,t)),d=c?{type:s.event||i,escapeConnect:n,batch:p}:p[0],this[TT]=!1,!e&&this._messageCenter.trigger(d.type,d)}function ds(t){for(var e=this._pendingActions;e.length;){var i=e.shift();cs.call(this,i,t)}}function fs(t){!t&&this.trigger("updated")}function ps(t,e){t.on("rendered",function(){e.trigger("rendered"),!t.animation.isFinished()||e[AT]||e._scheduler.unfinished||e._pendingActions.length||e.trigger("finished")})}function gs(t,e,i,n){function o(t){var e="_ec_"+t.id+"_"+t.type,o=s[e];if(!o){var h=_T(t.type);(o=new(a?EI.getClass(h.main,h.sub):Mr.getClass(h.sub))).init(i,u),s[e]=o,r.push(o),l.add(o.group)}t.__viewId=o.__id=e,o.__alive=!0,o.__model=t,o.group.__ecComponentInfo={mainType:t.mainType,index:t.componentIndex},!a&&n.prepareView(o,t,i,u)}for(var a="component"===e,r=a?t._componentsViews:t._chartsViews,s=a?t._componentsMap:t._chartsMap,l=t._zr,u=t._api,h=0;h<r.length;h++)r[h].__alive=!1;a?i.eachComponent(function(t,e){"series"!==t&&o(e)}):i.eachSeries(o);for(h=0;h<r.length;){var c=r[h];c.__alive?h++:(!a&&c.renderTask.dispose(),l.remove(c.group),c.dispose(i,u),r.splice(h,1),delete s[c.__id],c.__id=c.group.__ecComponentInfo=null)}}function ms(t){t.clearColorPalette(),t.eachSeries(function(t){t.clearColorPalette()})}function vs(t,e,i,n){ys(t,e,i,n),vT(t._chartsViews,function(t){t.__alive=!1}),xs(t,e,i,n),vT(t._chartsViews,function(t){t.__alive||t.remove(e,i)})}function ys(t,e,i,n,o){vT(o||t._componentsViews,function(t){var o=t.__model;t.render(o,e,i,n),Ss(o,t)})}function xs(t,e,i,n,o){var a,r=t._scheduler;e.eachSeries(function(e){var i=t._chartsMap[e.__viewId];i.__alive=!0;var s=i.renderTask;r.updatePayload(s,n),o&&o.get(e.uid)&&s.dirty(),a|=s.perform(r.getPerformArgs(s)),i.group.silent=!!e.get("silent"),Ss(e,i),bs(e,i)}),r.unfinished|=a,ws(t._zr,e),jI(t._zr.dom,e)}function _s(t,e){vT(RT,function(i){i(t,e)})}function ws(t,e){var i=t.storage,n=0;i.traverse(function(t){t.isGroup||n++}),n>e.get("hoverLayerThreshold")&&!z_.node&&i.traverse(function(t){t.isGroup||(t.useHoverLayer=!0)})}function bs(t,e){var i=t.get("blendMode")||null;e.group.traverse(function(t){t.isGroup||t.style.blend!==i&&t.setStyle("blend",i),t.eachPendingDisplayable&&t.eachPendingDisplayable(function(t){t.setStyle("blend",i)})})}function Ss(t,e){var i=t.get("z"),n=t.get("zlevel");e.group.traverse(function(t){"group"!==t.type&&(null!=i&&(t.z=i),null!=n&&(t.zlevel=n))})}function Ms(t){var e=t._coordSysMgr;return a(new za(t),{getCoordinateSystems:m(e.getCoordinateSystems,e),getComponentByElement:function(e){for(;e;){var i=e.__ecComponentInfo;if(null!=i)return t._model.getComponent(i.mainType,i.index);e=e.parent}}})}function Is(){this.eventInfo}function Ts(t){function e(t,e){for(var n=0;n<t.length;n++)t[n][i]=e}var i="__connectUpdateStatus";vT(NT,function(n,o){t._messageCenter.on(o,function(n){if(FT[t.group]&&0!==t[i]){if(n&&n.escapeConnect)return;var o=t.makeActionFromEvent(n),a=[];vT(GT,function(e){e!==t&&e.group===t.group&&a.push(e)}),e(a,0),vT(a,function(t){1!==t[i]&&t.dispatchAction(o)}),e(a,2)}})})}function As(t){FT[t]=!1}function Ds(t){return GT[Wi(t,ZT)]}function Cs(t,e){BT[t]=e}function Ls(t){ET.push(t)}function ks(t,e){Rs(OT,t,e,bT)}function Ps(t,e,i){"function"==typeof e&&(i=e,e="");var n=xT(t)?t.type:[t,t={event:e}][0];t.event=(t.event||n).toLowerCase(),e=t.event,mT(DT.test(n)&&DT.test(e)),PT[n]||(PT[n]={action:i,actionInfo:t}),NT[e]=n}function Ns(t,e){Ba.register(t,e)}function Os(t,e){Rs(zT,t,e,ST,"layout")}function Es(t,e){Rs(zT,t,e,MT,"visual")}function Rs(t,e,i,n,o){(yT(e)||xT(e))&&(i=e,e=n);var a=Pr.wrapStageHandler(i,o);return a.__prio=e,a.__raw=i,t.push(a),a}function zs(t,e){VT[t]=e}function Bs(t){return YM.extend(t)}function Vs(t){return EI.extend(t)}function Gs(t){return OI.extend(t)}function Fs(t){return Mr.extend(t)}function Ws(t){return t}function Hs(t,e,i,n,o){this._old=t,this._new=e,this._oldKeyGetter=i||Ws,this._newKeyGetter=n||Ws,this.context=o}function Zs(t,e,i,n,o){for(var a=0;a<t.length;a++){var r="_ec_"+o[n](t[a],a),s=e[r];null==s?(i.push(r),e[r]=a):(s.length||(e[r]=s=[s]),s.push(a))}}function Us(t){var e={},i=e.encode={},n=R(),o=[],a=[];d(t.dimensions,function(e){var r=t.getDimensionInfo(e),s=r.coordDim;if(s){var l=i[s];i.hasOwnProperty(s)||(l=i[s]=[]),l[r.coordDimIndex]=e,r.isExtraCoord||(n.set(s,1),js(r.type)&&(o[0]=e)),r.defaultTooltip&&a.push(e)}jT.each(function(t,e){var n=i[e];i.hasOwnProperty(e)||(n=i[e]=[]);var o=r.otherDims[e];null!=o&&!1!==o&&(n[o]=r.name)})});var r=[],s={};n.each(function(t,e){var n=i[e];s[e]=n[0],r=r.concat(n)}),e.dataDimsOnCoord=r,e.encodeFirstDimNotExtra=s;var l=i.label;l&&l.length&&(o=l.slice());var u=i.tooltip;return u&&u.length?a=u.slice():a.length||(a=o.slice()),i.defaultedLabel=o,i.defaultedTooltip=a,e}function Xs(t){return"category"===t?"ordinal":"time"===t?"time":"float"}function js(t){return!("ordinal"===t||"time"===t)}function Ys(t){return t._rawCount>65535?$T:JT}function qs(t){var e=t.constructor;return e===Array?t.slice():new e(t)}function Ks(t,e){d(QT.concat(e.__wrappedMethods||[]),function(i){e.hasOwnProperty(i)&&(t[i]=e[i])}),t.__wrappedMethods=e.__wrappedMethods,d(tA,function(n){t[n]=i(e[n])}),t._calculationInfo=a(e._calculationInfo)}function $s(t){var e=t._invertedIndicesMap;d(e,function(i,n){var o=t._dimensionInfos[n].ordinalMeta;if(o){i=e[n]=new $T(o.categories.length);for(a=0;a<i.length;a++)i[a]=NaN;for(var a=0;a<t._count;a++)i[t.get(n,a)]=a}})}function Js(t,e,i){var n;if(null!=e){var o=t._chunkSize,a=Math.floor(i/o),r=i%o,s=t.dimensions[e],l=t._storage[s][a];if(l){n=l[r];var u=t._dimensionInfos[s].ordinalMeta;u&&u.categories.length&&(n=u.categories[n])}}return n}function Qs(t){return t}function tl(t){return t<this._count&&t>=0?this._indices[t]:-1}function el(t,e){var i=t._idList[e];return null==i&&(i=Js(t,t._idDimIdx,e)),null==i&&(i=qT+e),i}function il(t){return y(t)||(t=[t]),t}function nl(t,e){var i=t.dimensions,n=new eA(f(i,t.getDimensionInfo,t),t.hostModel);Ks(n,t);for(var o=n._storage={},a=t._storage,r=0;r<i.length;r++){var s=i[r];a[s]&&(l(e,s)>=0?(o[s]=ol(a[s]),n._rawExtent[s]=al(),n._extent[s]=null):o[s]=a[s])}return n}function ol(t){for(var e=new Array(t.length),i=0;i<t.length;i++)e[i]=qs(t[i]);return e}function al(){return[1/0,-1/0]}function rl(t,e,n){function o(t,e,i){null!=jT.get(e)?t.otherDims[e]=i:(t.coordDim=e,t.coordDimIndex=i,h.set(e,!0))}va.isInstance(e)||(e=va.seriesDataToSource(e)),n=n||{},t=(t||[]).slice();for(var s=(n.dimsDef||[]).slice(),l=R(n.encodeDef),u=R(),h=R(),c=[],f=sl(e,t,s,n.dimCount),p=0;p<f;p++){var g=s[p]=a({},w(s[p])?s[p]:{name:s[p]}),m=g.name,v=c[p]={otherDims:{}};null!=m&&null==u.get(m)&&(v.name=v.displayName=m,u.set(m,p)),null!=g.type&&(v.type=g.type),null!=g.displayName&&(v.displayName=g.displayName)}l.each(function(t,e){if(1===(t=Di(t).slice()).length&&t[0]<0)l.set(e,!1);else{var i=l.set(e,[]);d(t,function(t,n){_(t)&&(t=u.get(t)),null!=t&&t<f&&(i[n]=t,o(c[t],e,n))})}});var y=0;d(t,function(t,e){var n,t,a,s;if(_(t))n=t,t={};else{n=t.name;var u=t.ordinalMeta;t.ordinalMeta=null,(t=i(t)).ordinalMeta=u,a=t.dimsDef,s=t.otherDims,t.name=t.coordDim=t.coordDimIndex=t.dimsDef=t.otherDims=null}var h=l.get(n);if(!1!==h){if(!(h=Di(h)).length)for(var f=0;f<(a&&a.length||1);f++){for(;y<c.length&&null!=c[y].coordDim;)y++;y<c.length&&h.push(y++)}d(h,function(e,i){var l=c[e];if(o(r(l,t),n,i),null==l.name&&a){var u=a[i];!w(u)&&(u={name:u}),l.name=l.displayName=u.name,l.defaultTooltip=u.defaultTooltip}s&&r(l.otherDims,s)})}});var x=n.generateCoord,b=n.generateCoordCount,S=null!=b;b=x?b||1:0;for(var M=x||"value",I=0;I<f;I++)null==(v=c[I]=c[I]||{}).coordDim&&(v.coordDim=ll(M,h,S),v.coordDimIndex=0,(!x||b<=0)&&(v.isExtraCoord=!0),b--),null==v.name&&(v.name=ll(v.coordDim,u)),null==v.type&&Da(e,I,v.name)&&(v.type="ordinal");return c}function sl(t,e,i,n){var o=Math.max(t.dimensionsDetectCount||1,e.length,i.length,n||0);return d(e,function(t){var e=t.dimsDef;e&&(o=Math.max(o,e.length))}),o}function ll(t,e,i){if(i||null!=e.get(t)){for(var n=0;null!=e.get(t+n);)n++;t+=n}return e.set(t,!0),t}function ul(t,e,i){var n,o,a,r,s=(i=i||{}).byIndex,l=i.stackedCoordDimension,u=!(!t||!t.get("stack"));if(d(e,function(t,i){_(t)&&(e[i]=t={name:t}),u&&!t.isExtraCoord&&(s||n||!t.ordinalMeta||(n=t),o||"ordinal"===t.type||"time"===t.type||l&&l!==t.coordDim||(o=t))}),!o||s||n||(s=!0),o){a="__\0ecstackresult",r="__\0ecstackedover",n&&(n.createInvertedIndices=!0);var h=o.coordDim,c=o.type,f=0;d(e,function(t){t.coordDim===h&&f++}),e.push({name:a,coordDim:h,coordDimIndex:f,type:c,isExtraCoord:!0,isCalculationCoord:!0}),f++,e.push({name:r,coordDim:r,coordDimIndex:f,type:c,isExtraCoord:!0,isCalculationCoord:!0})}return{stackedDimension:o&&o.name,stackedByDimension:n&&n.name,isStackedByIndex:s,stackedOverDimension:r,stackResultDimension:a}}function hl(t,e){return!!e&&e===t.getCalculationInfo("stackedDimension")}function cl(t,e){return hl(t,e)?t.getCalculationInfo("stackResultDimension"):e}function dl(t,e,i){i=i||{},va.isInstance(t)||(t=va.seriesDataToSource(t));var n,o=e.get("coordinateSystem"),a=Ba.get(o),r=ga(e);r&&(n=f(r.coordSysDims,function(t){var e={name:t},i=r.axisMap.get(t);if(i){var n=i.get("type");e.type=Xs(n)}return e})),n||(n=a&&(a.getDimensionsInfo?a.getDimensionsInfo():a.dimensions.slice())||["x","y"]);var s,l,u=oA(t,{coordDimensions:n,generateCoord:i.generateCoord});r&&d(u,function(t,e){var i=t.coordDim,n=r.categoryAxisMap.get(i);n&&(null==s&&(s=e),t.ordinalMeta=n.getOrdinalMeta()),null!=t.otherDims.itemName&&(l=!0)}),l||null==s||(u[s].otherDims.itemName=0);var h=ul(e,u),c=new eA(u,e);c.setCalculationInfo(h);var p=null!=s&&fl(t)?function(t,e,i,n){return n===s?i:this.defaultDimValueGetter(t,e,i,n)}:null;return c.hasItemOption=!1,c.initData(t,null,p),c}function fl(t){if(t.sourceFormat===tI){var e=pl(t.data||[]);return null!=e&&!y(Li(e))}}function pl(t){for(var e=0;e<t.length&&null==t[e];)e++;return t[e]}function gl(t){this._setting=t||{},this._extent=[1/0,-1/0],this._interval=0,this.init&&this.init.apply(this,arguments)}function ml(t){this.categories=t.categories||[],this._needCollect=t.needCollect,this._deduplication=t.deduplication,this._map}function vl(t){return t._map||(t._map=R(t.categories))}function yl(t){return w(t)&&null!=t.value?t.value:t+""}function xl(t,e,i,n){var o={},a=t[1]-t[0],r=o.interval=Yo(a/e,!0);null!=i&&r<i&&(r=o.interval=i),null!=n&&r>n&&(r=o.interval=n);var s=o.intervalPrecision=_l(r);return bl(o.niceTickExtent=[lA(Math.ceil(t[0]/r)*r,s),lA(Math.floor(t[1]/r)*r,s)],t),o}function _l(t){return Go(t)+2}function wl(t,e,i){t[e]=Math.max(Math.min(t[e],i[1]),i[0])}function bl(t,e){!isFinite(t[0])&&(t[0]=e[0]),!isFinite(t[1])&&(t[1]=e[1]),wl(t,0,e),wl(t,1,e),t[0]>t[1]&&(t[0]=t[1])}function Sl(t,e,i,n){var o=[];if(!t)return o;e[0]<i[0]&&o.push(e[0]);for(var a=i[0];a<=i[1]&&(o.push(a),(a=lA(a+t,n))!==o[o.length-1]);)if(o.length>1e4)return[];return e[1]>(o.length?o[o.length-1]:i[1])&&o.push(e[1]),o}function Ml(t){return t.get("stack")||cA+t.seriesIndex}function Il(t){return t.dim+t.index}function Tl(t){var e=[],i=t.axis;if("category"===i.type){for(var n=i.getBandWidth(),o=0;o<t.count;o++)e.push(r({bandWidth:n,axisKey:"axis0",stackId:cA+o},t));for(var a=Cl(e),s=[],o=0;o<t.count;o++){var l=a.axis0[cA+o];l.offsetCenter=l.offset+l.width/2,s.push(l)}return s}}function Al(t,e){var i=[];return e.eachSeriesByType(t,function(t){Pl(t)&&!Nl(t)&&i.push(t)}),i}function Dl(t){var e=[];return d(t,function(t){var i=t.getData(),n=t.coordinateSystem.getBaseAxis(),o=n.getExtent(),a="category"===n.type?n.getBandWidth():Math.abs(o[1]-o[0])/i.count(),r=Ro(t.get("barWidth"),a),s=Ro(t.get("barMaxWidth"),a),l=t.get("barGap"),u=t.get("barCategoryGap");e.push({bandWidth:a,barWidth:r,barMaxWidth:s,barGap:l,barCategoryGap:u,axisKey:Il(n),stackId:Ml(t)})}),Cl(e)}function Cl(t){var e={};d(t,function(t,i){var n=t.axisKey,o=t.bandWidth,a=e[n]||{bandWidth:o,remainedWidth:o,autoWidthCount:0,categoryGap:"20%",gap:"30%",stacks:{}},r=a.stacks;e[n]=a;var s=t.stackId;r[s]||a.autoWidthCount++,r[s]=r[s]||{width:0,maxWidth:0};var l=t.barWidth;l&&!r[s].width&&(r[s].width=l,l=Math.min(a.remainedWidth,l),a.remainedWidth-=l);var u=t.barMaxWidth;u&&(r[s].maxWidth=u);var h=t.barGap;null!=h&&(a.gap=h);var c=t.barCategoryGap;null!=c&&(a.categoryGap=c)});var i={};return d(e,function(t,e){i[e]={};var n=t.stacks,o=t.bandWidth,a=Ro(t.categoryGap,o),r=Ro(t.gap,1),s=t.remainedWidth,l=t.autoWidthCount,u=(s-a)/(l+(l-1)*r);u=Math.max(u,0),d(n,function(t,e){var i=t.maxWidth;i&&i<u&&(i=Math.min(i,s),t.width&&(i=Math.min(i,t.width)),s-=i,t.width=i,l--)}),u=(s-a)/(l+(l-1)*r),u=Math.max(u,0);var h,c=0;d(n,function(t,e){t.width||(t.width=u),h=t,c+=t.width*(1+r)}),h&&(c-=h.width*r);var f=-c/2;d(n,function(t,n){i[e][n]=i[e][n]||{offset:f,width:t.width},f+=t.width*(1+r)})}),i}function Ll(t,e,i){if(t&&e){var n=t[Il(e)];return null!=n&&null!=i&&(n=n[Ml(i)]),n}}function kl(t,e){var i=Al(t,e),n=Dl(i),o={};d(i,function(t){var e=t.getData(),i=t.coordinateSystem,a=i.getBaseAxis(),r=Ml(t),s=n[Il(a)][r],l=s.offset,u=s.width,h=i.getOtherAxis(a),c=t.get("barMinHeight")||0;o[r]=o[r]||[],e.setLayout({offset:l,size:u});for(var d=e.mapDimension(h.dim),f=e.mapDimension(a.dim),p=hl(e,d),g=h.isHorizontal(),m=Ol(a,h,p),v=0,y=e.count();v<y;v++){var x=e.get(d,v),_=e.get(f,v);if(!isNaN(x)){var w=x>=0?"p":"n",b=m;p&&(o[r][_]||(o[r][_]={p:m,n:m}),b=o[r][_][w]);var S,M,I,T;if(g)S=b,M=(A=i.dataToPoint([x,_]))[1]+l,I=A[0]-m,T=u,Math.abs(I)<c&&(I=(I<0?-1:1)*c),p&&(o[r][_][w]+=I);else{var A=i.dataToPoint([_,x]);S=A[0]+l,M=b,I=u,T=A[1]-m,Math.abs(T)<c&&(T=(T<=0?-1:1)*c),p&&(o[r][_][w]+=T)}e.setItemLayout(v,{x:S,y:M,width:I,height:T})}}},this)}function Pl(t){return t.coordinateSystem&&"cartesian2d"===t.coordinateSystem.type}function Nl(t){return t.pipelineContext&&t.pipelineContext.large}function Ol(t,e,i){var n,o,a=e.getGlobalExtent();a[0]>a[1]?(n=a[1],o=a[0]):(n=a[0],o=a[1]);var r=e.toGlobalCoord(e.dataToCoord(0));return r<n&&(r=n),r>o&&(r=o),r}function El(t,e){return SA(t,bA(e))}function Rl(t,e){var i,n,o,a=t.type,r=e.getMin(),s=e.getMax(),l=null!=r,u=null!=s,h=t.getExtent();"ordinal"===a?i=e.getCategories().length:(y(n=e.get("boundaryGap"))||(n=[n||0,n||0]),"boolean"==typeof n[0]&&(n=[0,0]),n[0]=Ro(n[0],1),n[1]=Ro(n[1],1),o=h[1]-h[0]||Math.abs(h[0])),null==r&&(r="ordinal"===a?i?0:NaN:h[0]-n[0]*o),null==s&&(s="ordinal"===a?i?i-1:NaN:h[1]+n[1]*o),"dataMin"===r?r=h[0]:"function"==typeof r&&(r=r({min:h[0],max:h[1]})),"dataMax"===s?s=h[1]:"function"==typeof s&&(s=s({min:h[0],max:h[1]})),(null==r||!isFinite(r))&&(r=NaN),(null==s||!isFinite(s))&&(s=NaN),t.setBlank(I(r)||I(s)||"ordinal"===a&&!t.getOrdinalMeta().categories.length),e.getNeedCrossZero()&&(r>0&&s>0&&!l&&(r=0),r<0&&s<0&&!u&&(s=0));var c=e.ecModel;if(c&&"time"===a){var f,p=Al("bar",c);if(d(p,function(t){f|=t.getBaseAxis()===e.axis}),f){var g=Dl(p),m=zl(r,s,e,g);r=m.min,s=m.max}}return[r,s]}function zl(t,e,i,n){var o=i.axis.getExtent(),a=o[1]-o[0],r=Ll(n,i.axis);if(void 0===r)return{min:t,max:e};var s=1/0;d(r,function(t){s=Math.min(t.offset,s)});var l=-1/0;d(r,function(t){l=Math.max(t.offset+t.width,l)}),s=Math.abs(s),l=Math.abs(l);var u=s+l,h=e-t,c=h/(1-(s+l)/a)-h;return e+=c*(l/u),t-=c*(s/u),{min:t,max:e}}function Bl(t,e){var i=Rl(t,e),n=null!=e.getMin(),o=null!=e.getMax(),a=e.get("splitNumber");"log"===t.type&&(t.base=e.get("logBase"));var r=t.type;t.setExtent(i[0],i[1]),t.niceExtent({splitNumber:a,fixMin:n,fixMax:o,minInterval:"interval"===r||"time"===r?e.get("minInterval"):null,maxInterval:"interval"===r||"time"===r?e.get("maxInterval"):null});var s=e.get("interval");null!=s&&t.setInterval&&t.setInterval(s)}function Vl(t,e){if(e=e||t.get("type"))switch(e){case"category":return new sA(t.getOrdinalMeta?t.getOrdinalMeta():t.getCategories(),[1/0,-1/0]);case"value":return new hA;default:return(gl.getClass(e)||hA).create(t)}}function Gl(t){var e=t.scale.getExtent(),i=e[0],n=e[1];return!(i>0&&n>0||i<0&&n<0)}function Fl(t){var e=t.getLabelModel().get("formatter"),i="category"===t.type?t.scale.getExtent()[0]:null;return"string"==typeof e?e=function(e){return function(i){return i=t.scale.getLabel(i),e.replace("{value}",null!=i?i:"")}}(e):"function"==typeof e?function(n,o){return null!=i&&(o=n-i),e(Wl(t,n),o)}:function(e){return t.scale.getLabel(e)}}function Wl(t,e){return"category"===t.type?t.scale.getLabel(e):e}function Hl(t){var e=t.model,i=t.scale;if(e.get("axisLabel.show")&&!i.isBlank()){var n,o,a="category"===t.type,r=i.getExtent();o=a?i.count():(n=i.getTicks()).length;var s,l=t.getLabelModel(),u=Fl(t),h=1;o>40&&(h=Math.ceil(o/40));for(var c=0;c<o;c+=h){var d=u(n?n[c]:r[0]+c),f=Zl(l.getTextRect(d),l.get("rotate")||0);s?s.union(f):s=f}return s}}function Zl(t,e){var i=e*Math.PI/180,n=t.plain(),o=n.width,a=n.height,r=o*Math.cos(i)+a*Math.sin(i),s=o*Math.sin(i)+a*Math.cos(i);return new ue(n.x,n.y,r,s)}function Ul(t,e){if("image"!==this.type){var i=this.style,n=this.shape;n&&"line"===n.symbolType?i.stroke=t:this.__isEmptyBrush?(i.stroke=t,i.fill=e||"#fff"):(i.fill&&(i.fill=t),i.stroke&&(i.stroke=t)),this.dirty(!1)}}function Xl(t,e,i,n,o,a,r){var s=0===t.indexOf("empty");s&&(t=t.substr(5,1).toLowerCase()+t.substr(6));var l;return l=0===t.indexOf("image://")?Hn(t.slice(8),new ue(e,i,n,o),r?"center":"cover"):0===t.indexOf("path://")?Wn(t.slice(7),{},new ue(e,i,n,o),r?"center":"cover"):new RA({shape:{symbolType:t,x:e,y:i,width:n,height:o}}),l.__isEmptyBrush=s,l.setColor=Ul,l.setColor(a),l}function jl(t,e){return Math.abs(t-e)<VA}function Yl(t,e,i){var n=0,o=t[0];if(!o)return!1;for(var a=1;a<t.length;a++){var r=t[a];n+=bn(o[0],o[1],r[0],r[1],e,i),o=r}var s=t[0];return jl(o[0],s[0])&&jl(o[1],s[1])||(n+=bn(o[0],o[1],s[0],s[1],e,i)),0!==n}function ql(t,e,i){if(this.name=t,this.geometries=e,i)i=[i[0],i[1]];else{var n=this.getBoundingRect();i=[n.x+n.width/2,n.y+n.height/2]}this.center=i}function Kl(t){if(!t.UTF8Encoding)return t;var e=t.UTF8Scale;null==e&&(e=1024);for(var i=t.features,n=0;n<i.length;n++)for(var o=i[n].geometry,a=o.coordinates,r=o.encodeOffsets,s=0;s<a.length;s++){var l=a[s];if("Polygon"===o.type)a[s]=$l(l,r[s],e);else if("MultiPolygon"===o.type)for(var u=0;u<l.length;u++){var h=l[u];l[u]=$l(h,r[s][u],e)}}return t.UTF8Encoding=!1,t}function $l(t,e,i){for(var n=[],o=e[0],a=e[1],r=0;r<t.length;r+=2){var s=t.charCodeAt(r)-64,l=t.charCodeAt(r+1)-64;s=s>>1^-(1&s),l=l>>1^-(1&l),o=s+=o,a=l+=a,n.push([s/i,l/i])}return n}function Jl(t){return"category"===t.type?tu(t):nu(t)}function Ql(t,e){return"category"===t.type?iu(t,e):{ticks:t.scale.getTicks()}}function tu(t){var e=t.getLabelModel(),i=eu(t,e);return!e.get("show")||t.scale.isBlank()?{labels:[],labelCategoryInterval:i.labelCategoryInterval}:i}function eu(t,e){var i=ou(t,"labels"),n=du(e),o=au(i,n);if(o)return o;var a,r;return a=x(n)?cu(t,n):hu(t,r="auto"===n?su(t):n),ru(i,n,{labels:a,labelCategoryInterval:r})}function iu(t,e){var i=ou(t,"ticks"),n=du(e),o=au(i,n);if(o)return o;var a,r;if(e.get("show")&&!t.scale.isBlank()||(a=[]),x(n))a=cu(t,n,!0);else if("auto"===n){var s=eu(t,t.getLabelModel());r=s.labelCategoryInterval,a=f(s.labels,function(t){return t.tickValue})}else a=hu(t,r=n,!0);return ru(i,n,{ticks:a,tickCategoryInterval:r})}function nu(t){var e=t.scale.getTicks(),i=Fl(t);return{labels:f(e,function(e,n){return{formattedLabel:i(e,n),rawLabel:t.scale.getLabel(e),tickValue:e}})}}function ou(t,e){return FA(t)[e]||(FA(t)[e]=[])}function au(t,e){for(var i=0;i<t.length;i++)if(t[i].key===e)return t[i].value}function ru(t,e,i){return t.push({key:e,value:i}),i}function su(t){var e=FA(t).autoInterval;return null!=e?e:FA(t).autoInterval=t.calculateCategoryInterval()}function lu(t){var e=uu(t),i=Fl(t),n=(e.axisRotate-e.labelRotate)/180*Math.PI,o=t.scale,a=o.getExtent(),r=o.count();if(a[1]-a[0]<1)return 0;var s=1;r>40&&(s=Math.max(1,Math.floor(r/40)));for(var l=a[0],u=t.dataToCoord(l+1)-t.dataToCoord(l),h=Math.abs(u*Math.cos(n)),c=Math.abs(u*Math.sin(n)),d=0,f=0;l<=a[1];l+=s){var p=0,g=0,m=De(i(l),e.font,"center","top");p=1.3*m.width,g=1.3*m.height,d=Math.max(d,p,7),f=Math.max(f,g,7)}var v=d/h,y=f/c;isNaN(v)&&(v=1/0),isNaN(y)&&(y=1/0);var x=Math.max(0,Math.floor(Math.min(v,y))),_=FA(t.model),w=_.lastAutoInterval,b=_.lastTickCount;return null!=w&&null!=b&&Math.abs(w-x)<=1&&Math.abs(b-r)<=1&&w>x?x=w:(_.lastTickCount=r,_.lastAutoInterval=x),x}function uu(t){var e=t.getLabelModel();return{axisRotate:t.getRotate?t.getRotate():t.isHorizontal&&!t.isHorizontal()?90:0,labelRotate:e.get("rotate")||0,font:e.getFont()}}function hu(t,e,i){function n(t){l.push(i?t:{formattedLabel:o(t),rawLabel:a.getLabel(t),tickValue:t})}var o=Fl(t),a=t.scale,r=a.getExtent(),s=t.getLabelModel(),l=[],u=Math.max((e||0)+1,1),h=r[0],c=a.count();0!==h&&u>1&&c/u>2&&(h=Math.round(Math.ceil(h/u)*u));var d={min:s.get("showMinLabel"),max:s.get("showMaxLabel")};d.min&&h!==r[0]&&n(r[0]);for(var f=h;f<=r[1];f+=u)n(f);return d.max&&f!==r[1]&&n(r[1]),l}function cu(t,e,i){var n=t.scale,o=Fl(t),a=[];return d(n.getTicks(),function(t){var r=n.getLabel(t);e(t,r)&&a.push(i?t:{formattedLabel:o(t),rawLabel:r,tickValue:t})}),a}function du(t){var e=t.get("interval");return null==e?"auto":e}function fu(t,e){var i=(t[1]-t[0])/e/2;t[0]+=i,t[1]-=i}function pu(t,e,i,n,o){function a(t,e){return h?t>e:t<e}var r=e.length;if(t.onBand&&!n&&r){var s,l=t.getExtent();if(1===r)e[0].coord=l[0],s=e[1]={coord:l[0]};else{var u=e[1].coord-e[0].coord;d(e,function(t){t.coord-=u/2;var e=e||0;e%2>0&&(t.coord-=u/(2*(e+1)))}),s={coord:e[r-1].coord+u},e.push(s)}var h=l[0]>l[1];a(e[0].coord,l[0])&&(o?e[0].coord=l[0]:e.shift()),o&&a(l[0],e[0].coord)&&e.unshift({coord:l[0]}),a(l[1],s.coord)&&(o?s.coord=l[1]:e.pop()),o&&a(s.coord,l[1])&&e.push({coord:l[1]})}}function gu(t,e){var i=t.mapDimension("defaultedLabel",!0),n=i.length;if(1===n)return hr(t,e,i[0]);if(n){for(var o=[],a=0;a<i.length;a++){var r=hr(t,e,i[a]);o.push(r)}return o.join(" ")}}function mu(t,e,i){Zw.call(this),this.updateData(t,e,i)}function vu(t){return[t[0]/2,t[1]/2]}function yu(t,e){this.parent.drift(t,e)}function xu(){!oo(this)&&wu.call(this)}function _u(){!oo(this)&&bu.call(this)}function wu(){if(!this.incremental&&!this.useHoverLayer){var t=this.__symbolOriginalScale,e=t[1]/t[0];this.animateTo({scale:[Math.max(1.1*t[0],t[0]+3),Math.max(1.1*t[1],t[1]+3*e)]},400,"elasticOut")}}function bu(){this.incremental||this.useHoverLayer||this.animateTo({scale:this.__symbolOriginalScale},400,"elasticOut")}function Su(t){this.group=new Zw,this._symbolCtor=t||mu}function Mu(t,e,i,n){return e&&!isNaN(e[0])&&!isNaN(e[1])&&!(n.isIgnore&&n.isIgnore(i))&&!(n.clipShape&&!n.clipShape.contain(e[0],e[1]))&&"none"!==t.getItemVisual(i,"symbol")}function Iu(t){return null==t||w(t)||(t={isIgnore:t}),t||{}}function Tu(t){var e=t.hostModel;return{itemStyle:e.getModel("itemStyle").getItemStyle(["color"]),hoverItemStyle:e.getModel("emphasis.itemStyle").getItemStyle(),symbolRotate:e.get("symbolRotate"),symbolOffset:e.get("symbolOffset"),hoverAnimation:e.get("hoverAnimation"),labelModel:e.getModel("label"),hoverLabelModel:e.getModel("emphasis.label"),cursorStyle:e.get("cursor")}}function Au(t,e,i){var n,o=t.getBaseAxis(),a=t.getOtherAxis(o),r=Du(a,i),s=o.dim,l=a.dim,u=e.mapDimension(l),h=e.mapDimension(s),c="x"===l||"radius"===l?1:0,d=f(t.dimensions,function(t){return e.mapDimension(t)}),p=e.getCalculationInfo("stackResultDimension");return(n|=hl(e,d[0]))&&(d[0]=p),(n|=hl(e,d[1]))&&(d[1]=p),{dataDimsForPoint:d,valueStart:r,valueAxisDim:l,baseAxisDim:s,stacked:!!n,valueDim:u,baseDim:h,baseDataOffset:c,stackedOverDimension:e.getCalculationInfo("stackedOverDimension")}}function Du(t,e){var i=0,n=t.scale.getExtent();return"start"===e?i=n[0]:"end"===e?i=n[1]:n[0]>0?i=n[0]:n[1]<0&&(i=n[1]),i}function Cu(t,e,i,n){var o=NaN;t.stacked&&(o=i.get(i.getCalculationInfo("stackedOverDimension"),n)),isNaN(o)&&(o=t.valueStart);var a=t.baseDataOffset,r=[];return r[a]=i.get(t.baseDim,n),r[1-a]=o,e.dataToPoint(r)}function Lu(t,e){var i=[];return e.diff(t).add(function(t){i.push({cmd:"+",idx:t})}).update(function(t,e){i.push({cmd:"=",idx:e,idx1:t})}).remove(function(t){i.push({cmd:"-",idx:t})}).execute(),i}function ku(t){return isNaN(t[0])||isNaN(t[1])}function Pu(t,e,i,n,o,a,r,s,l,u,h){return"none"!==u&&u?Nu.apply(this,arguments):Ou.apply(this,arguments)}function Nu(t,e,i,n,o,a,r,s,l,u,h){for(var c=0,d=i,f=0;f<n;f++){var p=e[d];if(d>=o||d<0)break;if(ku(p)){if(h){d+=a;continue}break}if(d===i)t[a>0?"moveTo":"lineTo"](p[0],p[1]);else if(l>0){var g=e[c],m="y"===u?1:0,v=(p[m]-g[m])*l;oD(rD,g),rD[m]=g[m]+v,oD(sD,p),sD[m]=p[m]-v,t.bezierCurveTo(rD[0],rD[1],sD[0],sD[1],p[0],p[1])}else t.lineTo(p[0],p[1]);c=d,d+=a}return f}function Ou(t,e,i,n,o,a,r,s,l,u,h){for(var c=0,d=i,f=0;f<n;f++){var p=e[d];if(d>=o||d<0)break;if(ku(p)){if(h){d+=a;continue}break}if(d===i)t[a>0?"moveTo":"lineTo"](p[0],p[1]),oD(rD,p);else if(l>0){var g=d+a,m=e[g];if(h)for(;m&&ku(e[g]);)m=e[g+=a];var v=.5,y=e[c];if(!(m=e[g])||ku(m))oD(sD,p);else{ku(m)&&!h&&(m=p),U(aD,m,y);var x,_;if("x"===u||"y"===u){var w="x"===u?0:1;x=Math.abs(p[w]-y[w]),_=Math.abs(p[w]-m[w])}else x=ew(p,y),_=ew(p,m);nD(sD,p,aD,-l*(1-(v=_/(_+x))))}eD(rD,rD,s),iD(rD,rD,r),eD(sD,sD,s),iD(sD,sD,r),t.bezierCurveTo(rD[0],rD[1],sD[0],sD[1],p[0],p[1]),nD(rD,p,aD,l*v)}else t.lineTo(p[0],p[1]);c=d,d+=a}return f}function Eu(t,e){var i=[1/0,1/0],n=[-1/0,-1/0];if(e)for(var o=0;o<t.length;o++){var a=t[o];a[0]<i[0]&&(i[0]=a[0]),a[1]<i[1]&&(i[1]=a[1]),a[0]>n[0]&&(n[0]=a[0]),a[1]>n[1]&&(n[1]=a[1])}return{min:e?i:n,max:e?n:i}}function Ru(t,e){if(t.length===e.length){for(var i=0;i<t.length;i++){var n=t[i],o=e[i];if(n[0]!==o[0]||n[1]!==o[1])return}return!0}}function zu(t){return"number"==typeof t?t:t?.5:0}function Bu(t){var e=t.getGlobalExtent();if(t.onBand){var i=t.getBandWidth()/2-1,n=e[1]>e[0]?1:-1;e[0]+=n*i,e[1]-=n*i}return e}function Vu(t,e,i){if(!i.valueDim)return[];for(var n=[],o=0,a=e.count();o<a;o++)n.push(Cu(i,t,e,o));return n}function Gu(t,e,i,n){var o=Bu(t.getAxis("x")),a=Bu(t.getAxis("y")),r=t.getBaseAxis().isHorizontal(),s=Math.min(o[0],o[1]),l=Math.min(a[0],a[1]),u=Math.max(o[0],o[1])-s,h=Math.max(a[0],a[1])-l;if(i)s-=.5,u+=.5,l-=.5,h+=.5;else{var c=n.get("lineStyle.width")||2,d=n.get("clipOverflow")?c/2:Math.max(u,h);r?(l-=d,h+=2*d):(s-=d,u+=2*d)}var f=new aM({shape:{x:s,y:l,width:u,height:h}});return e&&(f.shape[r?"width":"height"]=0,So(f,{shape:{width:u,height:h}},n)),f}function Fu(t,e,i,n){var o=t.getAngleAxis(),a=t.getRadiusAxis().getExtent().slice();a[0]>a[1]&&a.reverse();var r=o.getExtent(),s=Math.PI/180;i&&(a[0]-=.5,a[1]+=.5);var l=new QS({shape:{cx:zo(t.cx,1),cy:zo(t.cy,1),r0:zo(a[0],1),r:zo(a[1],1),startAngle:-r[0]*s,endAngle:-r[1]*s,clockwise:o.inverse}});return e&&(l.shape.endAngle=-r[0]*s,So(l,{shape:{endAngle:-r[1]*s}},n)),l}function Wu(t,e,i,n){return"polar"===t.type?Fu(t,e,i,n):Gu(t,e,i,n)}function Hu(t,e,i){for(var n=e.getBaseAxis(),o="x"===n.dim||"radius"===n.dim?0:1,a=[],r=0;r<t.length-1;r++){var s=t[r+1],l=t[r];a.push(l);var u=[];switch(i){case"end":u[o]=s[o],u[1-o]=l[1-o],a.push(u);break;case"middle":var h=(l[o]+s[o])/2,c=[];u[o]=c[o]=h,u[1-o]=l[1-o],c[1-o]=s[1-o],a.push(u),a.push(c);break;default:u[o]=l[o],u[1-o]=s[1-o],a.push(u)}}return t[r]&&a.push(t[r]),a}function Zu(t,e){var i=t.getVisual("visualMeta");if(i&&i.length&&t.count()&&"cartesian2d"===e.type){for(var n,o,a=i.length-1;a>=0;a--){var r=i[a].dimension,s=t.dimensions[r],l=t.getDimensionInfo(s);if("x"===(n=l&&l.coordDim)||"y"===n){o=i[a];break}}if(o){var u=e.getAxis(n),h=f(o.stops,function(t){return{coord:u.toGlobalCoord(u.dataToCoord(t.value)),color:t.color}}),c=h.length,p=o.outerColors.slice();c&&h[0].coord>h[c-1].coord&&(h.reverse(),p.reverse());var g=h[0].coord-10,m=h[c-1].coord+10,v=m-g;if(v<.001)return"transparent";d(h,function(t){t.offset=(t.coord-g)/v}),h.push({offset:c?h[c-1].offset:.5,color:p[1]||"transparent"}),h.unshift({offset:c?h[0].offset:.5,color:p[0]||"transparent"});var y=new dM(0,0,0,0,h,!0);return y[n]=g,y[n+"2"]=m,y}}}function Uu(t,e,i){var n=t.get("showAllSymbol"),o="auto"===n;if(!n||o){var a=i.getAxesByScale("ordinal")[0];if(a&&(!o||!Xu(a,e))){var r=e.mapDimension(a.dim),s={};return d(a.getViewLabels(),function(t){s[t.tickValue]=1}),function(t){return!s.hasOwnProperty(e.get(r,t))}}}}function Xu(t,e){var i=t.getExtent(),n=Math.abs(i[1]-i[0])/t.scale.count();isNaN(n)&&(n=0);for(var o=e.count(),a=Math.max(1,Math.round(o/5)),r=0;r<o;r+=a)if(1.5*mu.getSymbolSize(e,r)[t.isHorizontal()?1:0]>n)return!1;return!0}function ju(t){return this._axes[t]}function Yu(t){pD.call(this,t)}function qu(t,e){return e.type||(e.data?"category":"value")}function Ku(t,e,i){return t.getCoordSysModel()===e}function $u(t,e,i){this._coordsMap={},this._coordsList=[],this._axesMap={},this._axesList=[],this._initCartesian(t,e,i),this.model=t}function Ju(t,e,i,n){function o(t){return t.dim+"_"+t.index}i.getAxesOnZeroOf=function(){return a?[a]:[]};var a,r=t[e],s=i.model,l=s.get("axisLine.onZero"),u=s.get("axisLine.onZeroAxisIndex");if(l){if(null!=u)Qu(r[u])&&(a=r[u]);else for(var h in r)if(r.hasOwnProperty(h)&&Qu(r[h])&&!n[o(r[h])]){a=r[h];break}a&&(n[o(a)]=!0)}}function Qu(t){return t&&"category"!==t.type&&"time"!==t.type&&Gl(t)}function th(t,e){var i=t.getExtent(),n=i[0]+i[1];t.toGlobalCoord="x"===t.dim?function(t){return t+e}:function(t){return n-t+e},t.toLocalCoord="x"===t.dim?function(t){return t-e}:function(t){return n-t+e}}function eh(t,e){return f(SD,function(e){return t.getReferringComponents(e)[0]})}function ih(t){return"cartesian2d"===t.get("coordinateSystem")}function nh(t){var e={componentType:t.mainType,componentIndex:t.componentIndex};return e[t.mainType+"Index"]=t.componentIndex,e}function oh(t,e,i,n){var o,a,r=Ho(i-t.rotation),s=n[0]>n[1],l="start"===e&&!s||"start"!==e&&s;return Zo(r-MD/2)?(a=l?"bottom":"top",o="center"):Zo(r-1.5*MD)?(a=l?"top":"bottom",o="center"):(a="middle",o=r<1.5*MD&&r>MD/2?l?"left":"right":l?"right":"left"),{rotation:r,textAlign:o,textVerticalAlign:a}}function ah(t){var e=t.get("tooltip");return t.get("silent")||!(t.get("triggerEvent")||e&&e.show)}function rh(t,e,i){var n=t.get("axisLabel.showMinLabel"),o=t.get("axisLabel.showMaxLabel");e=e||[],i=i||[];var a=e[0],r=e[1],s=e[e.length-1],l=e[e.length-2],u=i[0],h=i[1],c=i[i.length-1],d=i[i.length-2];!1===n?(sh(a),sh(u)):lh(a,r)&&(n?(sh(r),sh(h)):(sh(a),sh(u))),!1===o?(sh(s),sh(c)):lh(l,s)&&(o?(sh(l),sh(d)):(sh(s),sh(c)))}function sh(t){t&&(t.ignore=!0)}function lh(t,e,i){var n=t&&t.getBoundingRect().clone(),o=e&&e.getBoundingRect().clone();if(n&&o){var a=vt([]);return wt(a,a,-t.rotation),n.applyTransform(xt([],a,t.getLocalTransform())),o.applyTransform(xt([],a,e.getLocalTransform())),n.intersect(o)}}function uh(t){return"middle"===t||"center"===t}function hh(t,e,i){var n=e.axis;if(e.get("axisTick.show")&&!n.scale.isBlank()){for(var o=e.getModel("axisTick"),a=o.getModel("lineStyle"),s=o.get("length"),l=n.getTicksCoords(),u=[],h=[],c=t._transform,d=[],f=0;f<l.length;f++){var p=l[f].coord;u[0]=p,u[1]=0,h[0]=p,h[1]=i.tickDirection*s,c&&(Q(u,u,c),Q(h,h,c));var g=new rM(Xn({anid:"tick_"+l[f].tickValue,shape:{x1:u[0],y1:u[1],x2:h[0],y2:h[1]},style:r(a.getLineStyle(),{stroke:e.get("axisLine.lineStyle.color")}),z2:2,silent:!0}));t.group.add(g),d.push(g)}return d}}function ch(t,e,i){var n=e.axis;if(T(i.axisLabelShow,e.get("axisLabel.show"))&&!n.scale.isBlank()){var o=e.getModel("axisLabel"),a=o.get("margin"),r=n.getViewLabels(),s=(T(i.labelRotate,o.get("rotate"))||0)*MD/180,l=AD(i.rotation,s,i.labelDirection),u=e.getCategories(!0),h=[],c=ah(e),f=e.get("triggerEvent");return d(r,function(r,s){var d=r.tickValue,p=r.formattedLabel,g=r.rawLabel,m=o;u&&u[d]&&u[d].textStyle&&(m=new Lo(u[d].textStyle,o,e.ecModel));var v=m.getTextColor()||e.get("axisLine.lineStyle.color"),y=[n.dataToCoord(d),i.labelOffset+i.labelDirection*a],x=new qS({anid:"label_"+d,position:y,rotation:l.rotation,silent:c,z2:10});fo(x.style,m,{text:p,textAlign:m.getShallow("align",!0)||l.textAlign,textVerticalAlign:m.getShallow("verticalAlign",!0)||m.getShallow("baseline",!0)||l.textVerticalAlign,textFill:"function"==typeof v?v("category"===n.type?g:"value"===n.type?d+"":d,s):v}),f&&(x.eventData=nh(e),x.eventData.targetType="axisLabel",x.eventData.value=g),t._dumbGroup.add(x),x.updateTransform(),h.push(x),t.group.add(x),x.decomposeTransform()}),h}}function dh(t,e){var i={axesInfo:{},seriesInvolved:!1,coordSysAxesInfo:{},coordSysMap:{}};return fh(i,t,e),i.seriesInvolved&&gh(i,t),i}function fh(t,e,i){var n=e.getComponent("tooltip"),o=e.getComponent("axisPointer"),a=o.get("link",!0)||[],r=[];DD(i.getCoordinateSystems(),function(i){function s(n,s,l){var c=l.model.getModel("axisPointer",o),d=c.get("show");if(d&&("auto"!==d||n||wh(c))){null==s&&(s=c.get("triggerTooltip"));var f=(c=n?ph(l,h,o,e,n,s):c).get("snap"),p=bh(l.model),g=s||f||"category"===l.type,m=t.axesInfo[p]={key:p,axis:l,coordSys:i,axisPointerModel:c,triggerTooltip:s,involveSeries:g,snap:f,useHandle:wh(c),seriesModels:[]};u[p]=m,t.seriesInvolved|=g;var v=mh(a,l);if(null!=v){var y=r[v]||(r[v]={axesInfo:{}});y.axesInfo[p]=m,y.mapper=a[v].mapper,m.linkGroup=y}}}if(i.axisPointerEnabled){var l=bh(i.model),u=t.coordSysAxesInfo[l]={};t.coordSysMap[l]=i;var h=i.model.getModel("tooltip",n);if(DD(i.getAxes(),CD(s,!1,null)),i.getTooltipAxes&&n&&h.get("show")){var c="axis"===h.get("trigger"),d="cross"===h.get("axisPointer.type"),f=i.getTooltipAxes(h.get("axisPointer.axis"));(c||d)&&DD(f.baseAxes,CD(s,!d||"cross",c)),d&&DD(f.otherAxes,CD(s,"cross",!1))}}})}function ph(t,e,n,o,a,s){var l=e.getModel("axisPointer"),u={};DD(["type","snap","lineStyle","shadowStyle","label","animation","animationDurationUpdate","animationEasingUpdate","z"],function(t){u[t]=i(l.get(t))}),u.snap="category"!==t.type&&!!s,"cross"===l.get("type")&&(u.type="line");var h=u.label||(u.label={});if(null==h.show&&(h.show=!1),"cross"===a){var c=l.get("label.show");if(h.show=null==c||c,!s){var d=u.lineStyle=l.get("crossStyle");d&&r(h,d.textStyle)}}return t.model.getModel("axisPointer",new Lo(u,n,o))}function gh(t,e){e.eachSeries(function(e){var i=e.coordinateSystem,n=e.get("tooltip.trigger",!0),o=e.get("tooltip.show",!0);i&&"none"!==n&&!1!==n&&"item"!==n&&!1!==o&&!1!==e.get("axisPointer.show",!0)&&DD(t.coordSysAxesInfo[bh(i.model)],function(t){var n=t.axis;i.getAxis(n.dim)===n&&(t.seriesModels.push(e),null==t.seriesDataCount&&(t.seriesDataCount=0),t.seriesDataCount+=e.getData().count())})},this)}function mh(t,e){for(var i=e.model,n=e.dim,o=0;o<t.length;o++){var a=t[o]||{};if(vh(a[n+"AxisId"],i.id)||vh(a[n+"AxisIndex"],i.componentIndex)||vh(a[n+"AxisName"],i.name))return o}}function vh(t,e){return"all"===t||y(t)&&l(t,e)>=0||t===e}function yh(t){var e=xh(t);if(e){var i=e.axisPointerModel,n=e.axis.scale,o=i.option,a=i.get("status"),r=i.get("value");null!=r&&(r=n.parse(r));var s=wh(i);null==a&&(o.status=s?"show":"hide");var l=n.getExtent().slice();l[0]>l[1]&&l.reverse(),(null==r||r>l[1])&&(r=l[1]),r<l[0]&&(r=l[0]),o.value=r,s&&(o.status=e.axis.scale.isBlank()?"hide":"show")}}function xh(t){var e=(t.ecModel.getComponent("axisPointer")||{}).coordSysAxesInfo;return e&&e.axesInfo[bh(t)]}function _h(t){var e=xh(t);return e&&e.axisPointerModel}function wh(t){return!!t.get("handle.show")}function bh(t){return t.type+"||"+t.id}function Sh(t,e,i,n,o,a){var r=LD.getAxisPointerClass(t.axisPointerClass);if(r){var s=_h(e);s?(t._axisPointer||(t._axisPointer=new r)).render(e,s,n,a):Mh(t,n)}}function Mh(t,e,i){var n=t._axisPointer;n&&n.dispose(e,i),t._axisPointer=null}function Ih(t,e,i){i=i||{};var n=t.coordinateSystem,o=e.axis,a={},r=o.getAxesOnZeroOf()[0],s=o.position,l=r?"onZero":s,u=o.dim,h=n.getRect(),c=[h.x,h.x+h.width,h.y,h.y+h.height],d={left:0,right:1,top:0,bottom:1,onZero:2},f=e.get("offset")||0,p="x"===u?[c[2]-f,c[3]+f]:[c[0]-f,c[1]+f];if(r){var g=r.toGlobalCoord(r.dataToCoord(0));p[d.onZero]=Math.max(Math.min(g,p[1]),p[0])}a.position=["y"===u?p[d[l]]:c[0],"x"===u?p[d[l]]:c[3]],a.rotation=Math.PI/2*("x"===u?0:1);var m={top:-1,bottom:1,left:-1,right:1};a.labelDirection=a.tickDirection=a.nameDirection=m[s],a.labelOffset=r?p[d[s]]-p[d.onZero]:0,e.get("axisTick.inside")&&(a.tickDirection=-a.tickDirection),T(i.labelInside,e.get("axisLabel.inside"))&&(a.labelDirection=-a.labelDirection);var v=e.get("axisLabel.rotate");return a.labelRotate="top"===l?-v:v,a.z2=1,a}function Th(t,e,i,n,o,a,r){co(t,e,i.getModel("label"),i.getModel("emphasis.label"),{labelFetcher:o,labelDataIndex:a,defaultText:gu(o.getData(),a),isRectText:!0,autoColor:n}),Ah(t),Ah(e)}function Ah(t,e){"outside"===t.textPosition&&(t.textPosition=e)}function Dh(t,e,i){i.style.text=null,bo(i,{shape:{width:0}},e,t,function(){i.parent&&i.parent.remove(i)})}function Ch(t,e,i){i.style.text=null,bo(i,{shape:{r:i.shape.r0}},e,t,function(){i.parent&&i.parent.remove(i)})}function Lh(t,e,i,n,o,a,s,l){var u=e.getItemVisual(i,"color"),h=e.getItemVisual(i,"opacity"),c=n.getModel("itemStyle"),d=n.getModel("emphasis.itemStyle").getBarItemStyle();l||t.setShape("r",c.get("barBorderRadius")||0),t.useStyle(r({fill:u,opacity:h},c.getBarItemStyle()));var f=n.getShallow("cursor");f&&t.attr("cursor",f);var p=s?o.height>0?"bottom":"top":o.width>0?"left":"right";l||Th(t.style,d,n,u,a,i,p),uo(t,d)}function kh(t,e){var i=t.get(BD)||0;return Math.min(i,Math.abs(e.width),Math.abs(e.height))}function Ph(t,e,i){var n=t.getData(),o=[],a=n.getLayout("valueAxisHorizontal")?1:0;o[1-a]=n.getLayout("valueAxisStart");var r=new FD({shape:{points:n.getLayout("largePoints")},incremental:!!i,__startPoint:o,__valueIdx:a});e.add(r),Nh(r,t,n)}function Nh(t,e,i){var n=i.getVisual("borderColor")||i.getVisual("color"),o=e.getModel("itemStyle").getItemStyle(["color","borderColor"]);t.useStyle(o),t.style.fill=null,t.style.stroke=n,t.style.lineWidth=i.getLayout("barWidth")}function Oh(t,e,i,n){var o=e.getData(),a=this.dataIndex,r=o.getName(a),s=e.get("selectedOffset");n.dispatchAction({type:"pieToggleSelect",from:t,name:r,seriesId:e.id}),o.each(function(t){Eh(o.getItemGraphicEl(t),o.getItemLayout(t),e.isSelected(o.getName(t)),s,i)})}function Eh(t,e,i,n,o){var a=(e.startAngle+e.endAngle)/2,r=Math.cos(a),s=Math.sin(a),l=i?n:0,u=[r*l,s*l];o?t.animate().when(200,{position:u}).start("bounceOut"):t.attr("position",u)}function Rh(t,e){function i(){a.ignore=a.hoverIgnore,r.ignore=r.hoverIgnore}function n(){a.ignore=a.normalIgnore,r.ignore=r.normalIgnore}Zw.call(this);var o=new QS({z2:2}),a=new oM,r=new qS;this.add(o),this.add(a),this.add(r),this.updateData(t,e,!0),this.on("emphasis",i).on("normal",n).on("mouseover",i).on("mouseout",n)}function zh(t,e,i,n,o,a,r){function s(e,i){for(var n=e;n>=0&&(t[n].y-=i,!(n>0&&t[n].y>t[n-1].y+t[n-1].height));n--);}function l(t,e,i,n,o,a){for(var r=e?Number.MAX_VALUE:0,s=0,l=t.length;s<l;s++)if("center"!==t[s].position){var u=Math.abs(t[s].y-n),h=t[s].len,c=t[s].len2,d=u<o+h?Math.sqrt((o+h+c)*(o+h+c)-u*u):Math.abs(t[s].x-i);e&&d>=r&&(d=r-10),!e&&d<=r&&(d=r+10),t[s].x=i+d*a,r=d}}t.sort(function(t,e){return t.y-e.y});for(var u,h=0,c=t.length,d=[],f=[],p=0;p<c;p++)(u=t[p].y-h)<0&&function(e,i,n,o){for(var a=e;a<i;a++)if(t[a].y+=n,a>e&&a+1<i&&t[a+1].y>t[a].y+t[a].height)return void s(a,n/2);s(i-1,n/2)}(p,c,-u),h=t[p].y+t[p].height;r-h<0&&s(c-1,h-r);for(p=0;p<c;p++)t[p].y>=i?f.push(t[p]):d.push(t[p]);l(d,!1,e,i,n,o),l(f,!0,e,i,n,o)}function Bh(t,e,i,n,o,a){for(var r=[],s=[],l=0;l<t.length;l++)t[l].x<e?r.push(t[l]):s.push(t[l]);zh(s,e,i,n,1,o,a),zh(r,e,i,n,-1,o,a);for(l=0;l<t.length;l++){var u=t[l].linePoints;if(u){var h=u[1][0]-u[2][0];t[l].x<e?u[2][0]=t[l].x+3:u[2][0]=t[l].x-3,u[1][1]=u[2][1]=t[l].y,u[1][0]=u[2][0]+h}}}function Vh(){this.group=new Zw}function Gh(t,e,i){HA.call(this,t,e,i),this.type="value",this.angle=0,this.name="",this.model}function Fh(t,e,i){this._model=t,this.dimensions=[],this._indicatorAxes=f(t.getIndicatorModels(),function(t,e){var i="indicator_"+e,n=new Gh(i,new hA);return n.name=t.get("name"),n.model=t,t.axis=n,this.dimensions.push(i),n},this),this.resize(t,i),this.cx,this.cy,this.r,this.r0,this.startAngle}function Wh(t,e){return r({show:e},t)}function Hh(t){return y(t)||(t=[+t,+t]),t}function Zh(){mw.call(this)}function Uh(t){this.name=t,this.zoomLimit,mw.call(this),this._roamTransformable=new Zh,this._rawTransformable=new Zh,this._center,this._zoom}function Xh(t,e,i,n){var o=i.seriesModel,a=o?o.coordinateSystem:null;return a===this?a[t](n):null}function jh(t){for(var e,i=0;i<t.length;i++){var n=t[i].getBoundingRect();(e=e||n.clone()).union(n)}return e}function Yh(t,e){var i,n,o=t.svgXML;try{k(null!=(n=(i=o&&ns(o,{ignoreViewBox:!0,ignoreRootClip:!0})||{}).root))}catch(t){throw new Error("Invalid svg format\n"+t.message)}var a=i.width,r=i.height,s=i.viewBoxRect;if(e||(e=null==a||null==r?n.getBoundingRect():new ue(0,0,0,0),null!=a&&(e.width=a),null!=r&&(e.height=r)),s){var l=is(s,e.width,e.height),u=n;(n=new Zw).add(u),u.scale=l.scale,u.position=l.position}return n.setClipPath(new aM({shape:e.plain()})),{root:n,boundingRect:e}}function qh(t){return function(e,i){var n=[];return d(Kh(e),function(o){var a=yC[o.type][t];a&&n.push(a(e,o,i))}),n}}function Kh(t){return pT.retrieveMap(t)||[]}function $h(t,e,i,n){Uh.call(this,t),this.map=e;var o=xC.load(e,i);this._nameCoordMap=o.nameCoordMap,this._regionsMap=o.nameCoordMap,this._invertLongitute=null==n||n,this.regions=o.regions,this._rect=o.boundingRect}function Jh(t,e,i,n){var o=i.geoModel,a=i.seriesModel,r=o?o.coordinateSystem:a?a.coordinateSystem||(a.getReferringComponents("geo")[0]||{}).coordinateSystem:null;return r===this?r[t](n):null}function Qh(t,e){var i=t.get("boundingCoords");if(null!=i){var n=i[0],o=i[1];isNaN(n[0])||isNaN(n[1])||isNaN(o[0])||isNaN(o[1])||this.setBoundingRect(n[0],n[1],o[0]-n[0],o[1]-n[1])}var a,r=this.getBoundingRect(),s=t.get("layoutCenter"),l=t.get("layoutSize"),u=e.getWidth(),h=e.getHeight(),c=r.width/r.height*this.aspectScale,d=!1;s&&l&&(s=[Ro(s[0],u),Ro(s[1],h)],l=Ro(l,Math.min(u,h)),isNaN(s[0])||isNaN(s[1])||isNaN(l)||(d=!0));if(d){var f={};c>1?(f.width=l,f.height=l/c):(f.height=l,f.width=l*c),f.y=s[1]-f.height/2,f.x=s[0]-f.width/2}else(a=t.getBoxLayoutParams()).aspect=c,f=la(a,{width:u,height:h});this.setViewRect(f.x,f.y,f.width,f.height),this.setCenter(t.get("center")),this.setZoom(t.get("zoom"))}function tc(t,e){d(e.get("geoCoord"),function(e,i){t.addGeoCoord(i,e)})}function ec(t,e,i){oc(t)[e]=i}function ic(t,e,i){var n=oc(t);n[e]===i&&(n[e]=null)}function nc(t,e){return!!oc(t)[e]}function oc(t){return t[bC]||(t[bC]={})}function ac(t){this.pointerChecker,this._zr=t,this._opt={};var e=m,n=e(rc,this),o=e(sc,this),a=e(lc,this),s=e(uc,this),l=e(hc,this);aw.call(this),this.setPointerChecker=function(t){this.pointerChecker=t},this.enable=function(e,u){this.disable(),this._opt=r(i(u)||{},{zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0}),null==e&&(e=!0),!0!==e&&"move"!==e&&"pan"!==e||(t.on("mousedown",n),t.on("mousemove",o),t.on("mouseup",a)),!0!==e&&"scale"!==e&&"zoom"!==e||(t.on("mousewheel",s),t.on("pinch",l))},this.disable=function(){t.off("mousedown",n),t.off("mousemove",o),t.off("mouseup",a),t.off("mousewheel",s),t.off("pinch",l)},this.dispose=this.disable,this.isDragging=function(){return this._dragging},this.isPinching=function(){return this._pinching}}function rc(t){if(!(ct(t)||t.target&&t.target.draggable)){var e=t.offsetX,i=t.offsetY;this.pointerChecker&&this.pointerChecker(t,e,i)&&(this._x=e,this._y=i,this._dragging=!0)}}function sc(t){if(!ct(t)&&fc("moveOnMouseMove",t,this._opt)&&this._dragging&&"pinch"!==t.gestureEvent&&!nc(this._zr,"globalPan")){var e=t.offsetX,i=t.offsetY,n=this._x,o=this._y,a=e-n,r=i-o;this._x=e,this._y=i,this._opt.preventDefaultMouseMove&&lw(t.event),dc(this,"pan","moveOnMouseMove",t,{dx:a,dy:r,oldX:n,oldY:o,newX:e,newY:i})}}function lc(t){ct(t)||(this._dragging=!1)}function uc(t){var e=fc("zoomOnMouseWheel",t,this._opt),i=fc("moveOnMouseWheel",t,this._opt),n=t.wheelDelta,o=Math.abs(n),a=t.offsetX,r=t.offsetY;if(0!==n&&(e||i)){if(e){var s=o>3?1.4:o>1?1.2:1.1;cc(this,"zoom","zoomOnMouseWheel",t,{scale:n>0?s:1/s,originX:a,originY:r})}if(i){var l=Math.abs(n);cc(this,"scrollMove","moveOnMouseWheel",t,{scrollDelta:(n>0?1:-1)*(l>3?.4:l>1?.15:.05),originX:a,originY:r})}}}function hc(t){nc(this._zr,"globalPan")||cc(this,"zoom",null,t,{scale:t.pinchScale>1?1.1:1/1.1,originX:t.pinchX,originY:t.pinchY})}function cc(t,e,i,n,o){t.pointerChecker&&t.pointerChecker(n,o.originX,o.originY)&&(lw(n.event),dc(t,e,i,n,o))}function dc(t,e,i,n,o){o.isAvailableBehavior=m(fc,null,i,n),t.trigger(e,o)}function fc(t,e,i){var n=i[t];return!t||n&&(!_(n)||e.event[n+"Key"])}function pc(t,e,i){var n=t.target,o=n.position;o[0]+=e,o[1]+=i,n.dirty()}function gc(t,e,i,n){var o=t.target,a=t.zoomLimit,r=o.position,s=o.scale,l=t.zoom=t.zoom||1;if(l*=e,a){var u=a.min||0,h=a.max||1/0;l=Math.max(Math.min(h,l),u)}var c=l/t.zoom;t.zoom=l,r[0]-=(i-r[0])*(c-1),r[1]-=(n-r[1])*(c-1),s[0]*=c,s[1]*=c,o.dirty()}function mc(t,e,i){var n=e.getComponentByElement(t.topTarget),o=n&&n.coordinateSystem;return n&&n!==i&&!SC[n.mainType]&&o&&o.model!==i}function vc(t,e){var i=t.getItemStyle(),n=t.get("areaColor");return null!=n&&(i.fill=n),i}function yc(t,e,i,n,o){i.off("click"),i.off("mousedown"),e.get("selectedMode")&&(i.on("mousedown",function(){t._mouseDownFlag=!0}),i.on("click",function(a){if(t._mouseDownFlag){t._mouseDownFlag=!1;for(var r=a.target;!r.__regions;)r=r.parent;if(r){var s={type:("geo"===e.mainType?"geo":"map")+"ToggleSelect",batch:f(r.__regions,function(t){return{name:t.name,from:o.uid}})};s[e.mainType+"Id"]=e.id,n.dispatchAction(s),xc(e,i)}}}))}function xc(t,e){e.eachChild(function(e){d(e.__regions,function(i){e.trigger(t.isSelected(i.name)?"emphasis":"normal")})})}function _c(t,e){var i=new Zw;this.uid=No("ec_map_draw"),this._controller=new ac(t.getZr()),this._controllerHost={target:e?i:null},this.group=i,this._updateGroup=e,this._mouseDownFlag,this._mapName,this._initialized,i.add(this._regionsGroup=new Zw),i.add(this._backgroundGroup=new Zw)}function wc(t,e,i){var n=t.getZoom(),o=t.getCenter(),a=e.zoom,r=t.dataToPoint(o);if(null!=e.dx&&null!=e.dy){r[0]-=e.dx,r[1]-=e.dy;o=t.pointToData(r);t.setCenter(o)}if(null!=a){if(i){var s=i.min||0,l=i.max||1/0;a=Math.max(Math.min(n*a,l),s)/n}t.scale[0]*=a,t.scale[1]*=a;var u=t.position,h=(e.originX-u[0])*(a-1),c=(e.originY-u[1])*(a-1);u[0]-=h,u[1]-=c,t.updateTransform();o=t.pointToData(r);t.setCenter(o),t.setZoom(a*n)}return{center:t.getCenter(),zoom:t.getZoom()}}function bc(t,e){var i={};return d(t,function(t){t.each(t.mapDimension("value"),function(e,n){var o="ec-"+t.getName(n);i[o]=i[o]||[],isNaN(e)||i[o].push(e)})}),t[0].map(t[0].mapDimension("value"),function(n,o){for(var a="ec-"+t[0].getName(o),r=0,s=1/0,l=-1/0,u=i[a].length,h=0;h<u;h++)s=Math.min(s,i[a][h]),l=Math.max(l,i[a][h]),r+=i[a][h];var c;return c="min"===e?s:"max"===e?l:"average"===e?r/u:r,0===u?NaN:c})}function Sc(t){var e=t.mainData,i=t.datas;i||(i={main:e},t.datasAttr={main:"data"}),t.datas=t.mainData=null,Cc(e,i,t),MC(i,function(i){MC(e.TRANSFERABLE_METHODS,function(e){i.wrapMethod(e,v(Mc,t))})}),e.wrapMethod("cloneShallow",v(Tc,t)),MC(e.CHANGABLE_METHODS,function(i){e.wrapMethod(i,v(Ic,t))}),k(i[e.dataType]===e)}function Mc(t,e){if(Dc(this)){var i=a({},this[IC]);i[this.dataType]=e,Cc(e,i,t)}else Lc(e,this.dataType,this[TC],t);return e}function Ic(t,e){return t.struct&&t.struct.update(this),e}function Tc(t,e){return MC(e[IC],function(i,n){i!==e&&Lc(i.cloneShallow(),n,e,t)}),e}function Ac(t){var e=this[TC];return null==t||null==e?e:e[IC][t]}function Dc(t){return t[TC]===t}function Cc(t,e,i){t[IC]={},MC(e,function(e,n){Lc(e,n,t,i)})}function Lc(t,e,i,n){i[IC][e]=t,t[TC]=i,t.dataType=e,n.struct&&(t[n.structAttr]=n.struct,n.struct[n.datasAttr[e]]=t),t.getLinkedData=Ac}function kc(t,e,i){this.root,this.data,this._nodes=[],this.hostModel=t,this.levelModels=f(e||[],function(e){return new Lo(e,t,t.ecModel)}),this.leavesModel=new Lo(i||{},t,t.ecModel)}function Pc(t,e){var i=e.children;t.parentNode!==e&&(i.push(t),t.parentNode=e)}function Nc(t){t.hierNode={defaultAncestor:null,ancestor:t,prelim:0,modifier:0,change:0,shift:0,i:0,thread:null};for(var e,i,n=[t];e=n.pop();)if(i=e.children,e.isExpand&&i.length)for(var o=i.length-1;o>=0;o--){var a=i[o];a.hierNode={defaultAncestor:null,ancestor:a,prelim:0,modifier:0,change:0,shift:0,i:o,thread:null},n.push(a)}}function Oc(t,e){var i=t.isExpand?t.children:[],n=t.parentNode.children,o=t.hierNode.i?n[t.hierNode.i-1]:null;if(i.length){Vc(t);var a=(i[0].hierNode.prelim+i[i.length-1].hierNode.prelim)/2;o?(t.hierNode.prelim=o.hierNode.prelim+e(t,o),t.hierNode.modifier=t.hierNode.prelim-a):t.hierNode.prelim=a}else o&&(t.hierNode.prelim=o.hierNode.prelim+e(t,o));t.parentNode.hierNode.defaultAncestor=Gc(t,o,t.parentNode.hierNode.defaultAncestor||n[0],e)}function Ec(t){var e=t.hierNode.prelim+t.parentNode.hierNode.modifier;t.setLayout({x:e},!0),t.hierNode.modifier+=t.parentNode.hierNode.modifier}function Rc(t){return arguments.length?t:Uc}function zc(t,e){var i={};return t-=Math.PI/2,i.x=e*Math.cos(t),i.y=e*Math.sin(t),i}function Bc(t,e){return la(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}function Vc(t){for(var e=t.children,i=e.length,n=0,o=0;--i>=0;){var a=e[i];a.hierNode.prelim+=n,a.hierNode.modifier+=n,o+=a.hierNode.change,n+=a.hierNode.shift+o}}function Gc(t,e,i,n){if(e){for(var o=t,a=t,r=a.parentNode.children[0],s=e,l=o.hierNode.modifier,u=a.hierNode.modifier,h=r.hierNode.modifier,c=s.hierNode.modifier;s=Fc(s),a=Wc(a),s&&a;){o=Fc(o),r=Wc(r),o.hierNode.ancestor=t;var d=s.hierNode.prelim+c-a.hierNode.prelim-u+n(s,a);d>0&&(Zc(Hc(s,t,i),t,d),u+=d,l+=d),c+=s.hierNode.modifier,u+=a.hierNode.modifier,l+=o.hierNode.modifier,h+=r.hierNode.modifier}s&&!Fc(o)&&(o.hierNode.thread=s,o.hierNode.modifier+=c-l),a&&!Wc(r)&&(r.hierNode.thread=a,r.hierNode.modifier+=u-h,i=t)}return i}function Fc(t){var e=t.children;return e.length&&t.isExpand?e[e.length-1]:t.hierNode.thread}function Wc(t){var e=t.children;return e.length&&t.isExpand?e[0]:t.hierNode.thread}function Hc(t,e,i){return t.hierNode.ancestor.parentNode===e.parentNode?t.hierNode.ancestor:i}function Zc(t,e,i){var n=i/(e.hierNode.i-t.hierNode.i);e.hierNode.change-=n,e.hierNode.shift+=i,e.hierNode.modifier+=i,e.hierNode.prelim+=i,t.hierNode.change+=n}function Uc(t,e){return t.parentNode===e.parentNode?1:2}function Xc(t,e){var i=t.getItemLayout(e);return i&&!isNaN(i.x)&&!isNaN(i.y)&&"none"!==t.getItemVisual(e,"symbol")}function jc(t,e,i){return i.itemModel=e,i.itemStyle=e.getModel("itemStyle").getItemStyle(),i.hoverItemStyle=e.getModel("emphasis.itemStyle").getItemStyle(),i.lineStyle=e.getModel("lineStyle").getLineStyle(),i.labelModel=e.getModel("label"),i.hoverLabelModel=e.getModel("emphasis.label"),!1===t.isExpand&&0!==t.children.length?i.symbolInnerColor=i.itemStyle.fill:i.symbolInnerColor="#fff",i}function Yc(t,e,i,n,o,a){var s=!i,l=t.tree.getNodeByDataIndex(e),a=jc(l,l.getModel(),a),u=t.tree.root,h=l.parentNode===u?l:l.parentNode||l,c=t.getItemGraphicEl(h.dataIndex),d=h.getLayout(),f=c?{x:c.position[0],y:c.position[1],rawX:c.__radialOldRawX,rawY:c.__radialOldRawY}:d,p=l.getLayout();s?(i=new mu(t,e,a)).attr("position",[f.x,f.y]):i.updateData(t,e,a),i.__radialOldRawX=i.__radialRawX,i.__radialOldRawY=i.__radialRawY,i.__radialRawX=p.rawX,i.__radialRawY=p.rawY,n.add(i),t.setItemGraphicEl(e,i),bo(i,{position:[p.x,p.y]},o);var g=i.getSymbolPath();if("radial"===a.layout){var m,v,y=u.children[0],x=y.getLayout(),_=y.children.length;if(p.x===x.x&&!0===l.isExpand){var w={};w.x=(y.children[0].getLayout().x+y.children[_-1].getLayout().x)/2,w.y=(y.children[0].getLayout().y+y.children[_-1].getLayout().y)/2,(m=Math.atan2(w.y-x.y,w.x-x.x))<0&&(m=2*Math.PI+m),(v=w.x<x.x)&&(m-=Math.PI)}else(m=Math.atan2(p.y-x.y,p.x-x.x))<0&&(m=2*Math.PI+m),0===l.children.length||0!==l.children.length&&!1===l.isExpand?(v=p.x<x.x)&&(m-=Math.PI):(v=p.x>x.x)||(m-=Math.PI);var b=v?"left":"right";g.setStyle({textPosition:b,textRotation:-m,textOrigin:"center",verticalAlign:"middle"})}if(l.parentNode&&l.parentNode!==u){var S=i.__edge;S||(S=i.__edge=new lM({shape:Kc(a,f,f),style:r({opacity:0,strokeNoScale:!0},a.lineStyle)})),bo(S,{shape:Kc(a,d,p),style:{opacity:1}},o),n.add(S)}}function qc(t,e,i,n,o,a){for(var r,s=t.tree.getNodeByDataIndex(e),l=t.tree.root,a=jc(s,s.getModel(),a),u=s.parentNode===l?s:s.parentNode||s;null==(r=u.getLayout());)u=u.parentNode===l?u:u.parentNode||u;bo(i,{position:[r.x+1,r.y+1]},o,function(){n.remove(i),t.setItemGraphicEl(e,null)}),i.fadeOut(null,{keepLabel:!0});var h=i.__edge;h&&bo(h,{shape:Kc(a,r,r),style:{opacity:0}},o,function(){n.remove(h)})}function Kc(t,e,i){var n,o,a,r,s,l,u,h,c=t.orient;if("radial"===t.layout){s=e.rawX,u=e.rawY,l=i.rawX,h=i.rawY;var d=zc(s,u),f=zc(s,u+(h-u)*t.curvature),p=zc(l,h+(u-h)*t.curvature),g=zc(l,h);return{x1:d.x,y1:d.y,x2:g.x,y2:g.y,cpx1:f.x,cpy1:f.y,cpx2:p.x,cpy2:p.y}}return s=e.x,u=e.y,l=i.x,h=i.y,"LR"!==c&&"RL"!==c||(n=s+(l-s)*t.curvature,o=u,a=l+(s-l)*t.curvature,r=h),"TB"!==c&&"BT"!==c||(n=s,o=u+(h-u)*t.curvature,a=l,r=h+(u-h)*t.curvature),{x1:s,y1:u,x2:l,y2:h,cpx1:n,cpy1:o,cpx2:a,cpy2:r}}function $c(t,e,i){for(var n,o=[t],a=[];n=o.pop();)if(a.push(n),n.isExpand){var r=n.children;if(r.length)for(var s=0;s<r.length;s++)o.push(r[s])}for(;n=a.pop();)e(n,i)}function Jc(t,e){for(var i,n=[t];i=n.pop();)if(e(i),i.isExpand){var o=i.children;if(o.length)for(var a=o.length-1;a>=0;a--)n.push(o[a])}}function Qc(t,e){var i=Bc(t,e);t.layoutInfo=i;var n=t.get("layout"),o=0,a=0,r=null;"radial"===n?(o=2*Math.PI,a=Math.min(i.height,i.width)/2,r=Rc(function(t,e){return(t.parentNode===e.parentNode?1:2)/t.depth})):(o=i.width,a=i.height,r=Rc());var s=t.getData().tree.root,l=s.children[0];if(l){Nc(s),$c(l,Oc,r),s.hierNode.modifier=-l.hierNode.prelim,Jc(l,Ec);var u=l,h=l,c=l;Jc(l,function(t){var e=t.getLayout().x;e<u.getLayout().x&&(u=t),e>h.getLayout().x&&(h=t),t.depth>c.depth&&(c=t)});var d=u===h?1:r(u,h)/2,f=d-u.getLayout().x,p=0,g=0,m=0,v=0;if("radial"===n)p=o/(h.getLayout().x+d+f),g=a/(c.depth-1||1),Jc(l,function(t){m=(t.getLayout().x+f)*p,v=(t.depth-1)*g;var e=zc(m,v);t.setLayout({x:e.x,y:e.y,rawX:m,rawY:v},!0)});else{var y=t.getOrient();"RL"===y||"LR"===y?(g=a/(h.getLayout().x+d+f),p=o/(c.depth-1||1),Jc(l,function(t){v=(t.getLayout().x+f)*g,m="LR"===y?(t.depth-1)*p:o-(t.depth-1)*p,t.setLayout({x:m,y:v},!0)})):"TB"!==y&&"BT"!==y||(p=o/(h.getLayout().x+d+f),g=a/(c.depth-1||1),Jc(l,function(t){m=(t.getLayout().x+f)*p,v="TB"===y?(t.depth-1)*g:a-(t.depth-1)*g,t.setLayout({x:m,y:v},!0)}))}}}function td(t,e,i){if(t&&l(e,t.type)>=0){var n=i.getData().tree.root,o=t.targetNode;if("string"==typeof o&&(o=n.getNodeById(o)),o&&n.contains(o))return{node:o};var a=t.targetNodeId;if(null!=a&&(o=n.getNodeById(a)))return{node:o}}}function ed(t){for(var e=[];t;)(t=t.parentNode)&&e.push(t);return e.reverse()}function id(t,e){return l(ed(t),e)>=0}function nd(t,e){for(var i=[];t;){var n=t.dataIndex;i.push({name:t.name,dataIndex:n,value:e.getRawValue(n)}),t=t.parentNode}return i.reverse(),i}function od(t){var e=0;d(t.children,function(t){od(t);var i=t.value;y(i)&&(i=i[0]),e+=i});var i=t.value;y(i)&&(i=i[0]),(null==i||isNaN(i))&&(i=e),i<0&&(i=0),y(t.value)?t.value[0]=i:t.value=i}function ad(t,e){var i=e.get("color");if(i){var n;return d(t=t||[],function(t){var e=new Lo(t),i=e.get("color");(e.get("itemStyle.color")||i&&"none"!==i)&&(n=!0)}),n||((t[0]||(t[0]={})).color=i.slice()),t}}function rd(t){this.group=new Zw,t.add(this.group)}function sd(t,e,i,n,o,a){var r=[[o?t:t-DC,e],[t+i,e],[t+i,e+n],[o?t:t-DC,e+n]];return!a&&r.splice(2,0,[t+i+DC,e+n/2]),!o&&r.push([t,e+n/2]),r}function ld(t,e,i){t.eventData={componentType:"series",componentSubType:"treemap",componentIndex:e.componentIndex,seriesIndex:e.componentIndex,seriesName:e.name,seriesType:"treemap",selfType:"breadcrumb",nodeData:{dataIndex:i&&i.dataIndex,name:i&&i.name},treePathInfo:i&&nd(i,e)}}function ud(){var t,e=[],i={};return{add:function(t,n,o,a,r){return _(a)&&(r=a,a=0),!i[t.id]&&(i[t.id]=1,e.push({el:t,target:n,time:o,delay:a,easing:r}),!0)},done:function(e){return t=e,this},start:function(){for(var n=e.length,o=0,a=e.length;o<a;o++){var r=e[o];r.el.animateTo(r.target,r.time,r.delay,r.easing,function(){--n||(e.length=0,i={},t&&t())})}return this}}}function hd(t,e,n,o,r,s,l,u,h,c){function d(t,e){w?!t.invisible&&s.push(t):(e(),t.__tmWillVisible||(t.invisible=!1))}function f(e,n,o,a,r,s){var u=l.getModel(),h=T(t.getFormattedLabel(l.dataIndex,"normal",null,null,s?"upperLabel":"label"),u.get("name"));if(!s&&v.isLeafRoot){var c=t.get("drillDownIcon",!0);h=c?c+" "+h:h}var d=u.getModel(s?EC:NC),f=u.getModel(s?RC:OC),p=d.getShallow("show");co(e,n,d,f,{defaultText:p?h:null,autoColor:o,isRectText:!0}),s&&(e.textRect=i(s)),e.truncate=p&&d.get("ellipsis")?{outerWidth:a,outerHeight:r,minChar:2}:null}function p(t,i,o,a){var s=null!=S&&n[t][S],l=r[t];return s?(n[t][S]=null,g(l,s,t)):w||((s=new i({z:cd(o,a)})).__tmDepth=o,s.__tmStorageName=t,m(l,s,t)),e[t][b]=s}function g(t,e,i){(t[b]={}).old="nodeGroup"===i?e.position.slice():a({},e.shape)}function m(t,e,i){var n=t[b]={},a=l.parentNode;if(a&&(!o||"drillDown"===o.direction)){var s=0,u=0,h=r.background[a.getRawIndex()];!o&&h&&h.old&&(s=h.old.width,u=h.old.height),n.old="nodeGroup"===i?[0,u]:{x:s,y:u,width:0,height:0}}n.fadein="nodeGroup"!==i}if(l){var v=l.getLayout();if(v&&v.isInView){var y=v.width,x=v.height,_=v.borderWidth,w=v.invisible,b=l.getRawIndex(),S=u&&u.getRawIndex(),M=l.viewChildren,I=v.upperHeight,A=M&&M.length,D=l.getModel("itemStyle"),C=l.getModel("emphasis.itemStyle"),L=p("nodeGroup",LC);if(L){if(h.add(L),L.attr("position",[v.x||0,v.y||0]),L.__tmNodeWidth=y,L.__tmNodeHeight=x,v.isAboveViewRoot)return L;var k=p("background",kC,c,BC);if(k&&function(e,i,n){i.dataIndex=l.dataIndex,i.seriesIndex=t.seriesIndex,i.setShape({x:0,y:0,width:y,height:x});var o=l.getVisual("borderColor",!0),a=C.get("borderColor");d(i,function(){var t=FC(D);t.fill=o;var e=GC(C);if(e.fill=a,n){var r=y-2*_;f(t,e,o,r,I,{x:_,y:0,width:r,height:I})}else t.text=e.text=null;i.setStyle(t),uo(i,e)}),e.add(i)}(L,k,A&&v.upperHeight),!A){var P=p("content",kC,c,VC);P&&function(e,i){i.dataIndex=l.dataIndex,i.seriesIndex=t.seriesIndex;var n=Math.max(y-2*_,0),o=Math.max(x-2*_,0);i.culling=!0,i.setShape({x:_,y:_,width:n,height:o});var a=l.getVisual("color",!0);d(i,function(){var t=FC(D);t.fill=a;var e=GC(C);f(t,e,a,n,o),i.setStyle(t),uo(i,e)}),e.add(i)}(L,P)}return L}}}}function cd(t,e){var i=t*zC+e;return(i-1)/i}function dd(t){var e=t.pieceList;t.hasSpecialVisual=!1,d(e,function(e,i){e.originIndex=i,null!=e.visual&&(t.hasSpecialVisual=!0)})}function fd(t){var e=t.categories,i=t.visual,n=t.categoryMap={};if(ZC(e,function(t,e){n[t]=e}),!y(i)){var o=[];w(i)?ZC(i,function(t,e){var i=n[e];o[null!=i?i:XC]=t}):o[XC]=i,i=bd(t,o)}for(var a=e.length-1;a>=0;a--)null==i[a]&&(delete n[e[a]],e.pop())}function pd(t,e){var i=t.visual,n=[];w(i)?ZC(i,function(t){n.push(t)}):null!=i&&n.push(i);var o={color:1,symbol:1};e||1!==n.length||o.hasOwnProperty(t.type)||(n[1]=n[0]),bd(t,n)}function gd(t){return{applyVisual:function(e,i,n){e=this.mapValueToVisual(e),n("color",t(i("color"),e))},_doMap:_d([0,1])}}function md(t){var e=this.option.visual;return e[Math.round(Eo(t,[0,1],[0,e.length-1],!0))]||{}}function vd(t){return function(e,i,n){n(t,this.mapValueToVisual(e))}}function yd(t){var e=this.option.visual;return e[this.option.loop&&t!==XC?t%e.length:t]}function xd(){return this.option.visual[0]}function _d(t){return{linear:function(e){return Eo(e,t,this.option.visual,!0)},category:yd,piecewise:function(e,i){var n=wd.call(this,i);return null==n&&(n=Eo(e,t,this.option.visual,!0)),n},fixed:xd}}function wd(t){var e=this.option,i=e.pieceList;if(e.hasSpecialVisual){var n=i[jC.findPieceIndex(t,i)];if(n&&n.visual)return n.visual[this.type]}}function bd(t,e){return t.visual=e,"color"===t.type&&(t.parsedVisual=f(e,function(t){return zt(t)})),e}function Sd(t,e,i){return t?e<=i:e<i}function Md(t,e,i,n,o,a){var r=t.getModel(),s=t.getLayout();if(s&&!s.invisible&&s.isInView){var l,u=t.getModel($C),h=Id(u,e,i[t.depth],n),c=u.get("borderColor"),f=u.get("borderColorSaturation");null!=f&&(c=Ad(f,l=Td(h))),t.setVisual("borderColor",c);var p=t.viewChildren;if(p&&p.length){var g=Cd(t,r,s,u,h,p);d(p,function(t,e){(t.depth>=o.length||t===o[t.depth])&&Md(t,kd(r,h,t,e,g,a),i,n,o,a)})}else l=Td(h),t.setVisual("color",l)}}function Id(t,e,i,n){var o=a({},e);return d(["color","colorAlpha","colorSaturation"],function(a){var r=t.get(a,!0);null==r&&i&&(r=i[a]),null==r&&(r=e[a]),null==r&&(r=n.get(a)),null!=r&&(o[a]=r)}),o}function Td(t){var e=Dd(t,"color");if(e){var i=Dd(t,"colorAlpha"),n=Dd(t,"colorSaturation");return n&&(e=Zt(e,null,null,n)),i&&(e=Ut(e,i)),e}}function Ad(t,e){return null!=e?Zt(e,null,null,t):null}function Dd(t,e){var i=t[e];if(null!=i&&"none"!==i)return i}function Cd(t,e,i,n,o,a){if(a&&a.length){var r=Ld(e,"color")||null!=o.color&&"none"!==o.color&&(Ld(e,"colorAlpha")||Ld(e,"colorSaturation"));if(r){var s=e.get("visualMin"),l=e.get("visualMax"),u=i.dataExtent.slice();null!=s&&s<u[0]&&(u[0]=s),null!=l&&l>u[1]&&(u[1]=l);var h=e.get("colorMappingBy"),c={type:r.name,dataExtent:u,visual:r.range};"color"!==c.type||"index"!==h&&"id"!==h?c.mappingMethod="linear":(c.mappingMethod="category",c.loop=!0);var d=new jC(c);return d.__drColorMappingBy=h,d}}}function Ld(t,e){var i=t.get(e);return KC(i)&&i.length?{name:e,range:i}:null}function kd(t,e,i,n,o,r){var s=a({},e);if(o){var l=o.type,u="color"===l&&o.__drColorMappingBy,h="index"===u?n:"id"===u?r.mapIdToIndex(i.getId()):i.getValue(t.get("visualDimension"));s[l]=o.mapValueToVisual(h)}return s}function Pd(t,e,i,n){var o,a;if(!t.isRemoved()){var r=t.getLayout();o=r.width,a=r.height;var s=(f=t.getModel()).get(nL),l=f.get(oL)/2,u=Wd(f),h=Math.max(s,u),c=s-l,d=h-l,f=t.getModel();t.setLayout({borderWidth:s,upperHeight:h,upperLabelHeight:u},!0);var p=(o=QC(o-2*c,0))*(a=QC(a-c-d,0)),g=Nd(t,f,p,e,i,n);if(g.length){var m={x:c,y:d,width:o,height:a},v=tL(o,a),y=1/0,x=[];x.area=0;for(var _=0,w=g.length;_<w;){var b=g[_];x.push(b),x.area+=b.getLayout().area;var S=zd(x,v,e.squareRatio);S<=y?(_++,y=S):(x.area-=x.pop().getLayout().area,Bd(x,v,m,l,!1),v=tL(m.width,m.height),x.length=x.area=0,y=1/0)}if(x.length&&Bd(x,v,m,l,!0),!i){var M=f.get("childrenVisibleMin");null!=M&&p<M&&(i=!0)}for(var _=0,w=g.length;_<w;_++)Pd(g[_],e,i,n+1)}}}function Nd(t,e,i,n,o,a){var r=t.children||[],s=n.sort;"asc"!==s&&"desc"!==s&&(s=null);var l=null!=n.leafDepth&&n.leafDepth<=a;if(o&&!l)return t.viewChildren=[];Ed(r=g(r,function(t){return!t.isRemoved()}),s);var u=Rd(e,r,s);if(0===u.sum)return t.viewChildren=[];if(u.sum=Od(e,i,u.sum,s,r),0===u.sum)return t.viewChildren=[];for(var h=0,c=r.length;h<c;h++){var d=r[h].getValue()/u.sum*i;r[h].setLayout({area:d})}return l&&(r.length&&t.setLayout({isLeafRoot:!0},!0),r.length=0),t.viewChildren=r,t.setLayout({dataExtent:u.dataExtent},!0),r}function Od(t,e,i,n,o){if(!n)return i;for(var a=t.get("visibleMin"),r=o.length,s=r,l=r-1;l>=0;l--){var u=o["asc"===n?r-l-1:l].getValue();u/i*e<a&&(s=l,i-=u)}return"asc"===n?o.splice(0,r-s):o.splice(s,r-s),i}function Ed(t,e){return e&&t.sort(function(t,i){var n="asc"===e?t.getValue()-i.getValue():i.getValue()-t.getValue();return 0===n?"asc"===e?t.dataIndex-i.dataIndex:i.dataIndex-t.dataIndex:n}),t}function Rd(t,e,i){for(var n=0,o=0,a=e.length;o<a;o++)n+=e[o].getValue();var r=t.get("visualDimension");if(e&&e.length)if("value"===r&&i)s=[e[e.length-1].getValue(),e[0].getValue()],"asc"===i&&s.reverse();else{var s=[1/0,-1/0];iL(e,function(t){var e=t.getValue(r);e<s[0]&&(s[0]=e),e>s[1]&&(s[1]=e)})}else s=[NaN,NaN];return{sum:n,dataExtent:s}}function zd(t,e,i){for(var n,o=0,a=1/0,r=0,s=t.length;r<s;r++)(n=t[r].getLayout().area)&&(n<a&&(a=n),n>o&&(o=n));var l=t.area*t.area,u=e*e*i;return l?QC(u*o/l,l/(u*a)):1/0}function Bd(t,e,i,n,o){var a=e===i.width?0:1,r=1-a,s=["x","y"],l=["width","height"],u=i[s[a]],h=e?t.area/e:0;(o||h>i[l[r]])&&(h=i[l[r]]);for(var c=0,d=t.length;c<d;c++){var f=t[c],p={},g=h?f.getLayout().area/h:0,m=p[l[r]]=QC(h-2*n,0),v=i[s[a]]+i[l[a]]-u,y=c===d-1||v<g?v:g,x=p[l[a]]=QC(y-2*n,0);p[s[r]]=i[s[r]]+tL(n,m/2),p[s[a]]=u+tL(n,x/2),u+=y,f.setLayout(p,!0)}i[s[r]]+=h,i[l[r]]-=h}function Vd(t,e,i,n,o){var a=(e||{}).node,r=[n,o];if(!a||a===i)return r;for(var s,l=n*o,u=l*t.option.zoomToNodeRatio;s=a.parentNode;){for(var h=0,c=s.children,d=0,f=c.length;d<f;d++)h+=c[d].getValue();var p=a.getValue();if(0===p)return r;u*=h/p;var g=s.getModel(),m=g.get(nL);(u+=4*m*m+(3*m+Math.max(m,Wd(g)))*Math.pow(u,.5))>kM&&(u=kM),a=s}u<l&&(u=l);var v=Math.pow(u/l,.5);return[n*v,o*v]}function Gd(t,e,i){if(e)return{x:e.x,y:e.y};var n={x:0,y:0};if(!i)return n;var o=i.node,a=o.getLayout();if(!a)return n;for(var r=[a.width/2,a.height/2],s=o;s;){var l=s.getLayout();r[0]+=l.x,r[1]+=l.y,s=s.parentNode}return{x:t.width/2-r[0],y:t.height/2-r[1]}}function Fd(t,e,i,n,o){var a=t.getLayout(),r=i[o],s=r&&r===t;if(!(r&&!s||o===i.length&&t!==n)){t.setLayout({isInView:!0,invisible:!s&&!e.intersect(a),isAboveViewRoot:s},!0);var l=new ue(e.x-a.x,e.y-a.y,e.width,e.height);iL(t.viewChildren||[],function(t){Fd(t,l,i,n,o+1)})}}function Wd(t){return t.get(aL)?t.get(rL):0}function Hd(t){return"_EC_"+t}function Zd(t,e){this.id=null==t?"":t,this.inEdges=[],this.outEdges=[],this.edges=[],this.hostGraph,this.dataIndex=null==e?-1:e}function Ud(t,e,i){this.node1=t,this.node2=e,this.dataIndex=null==i?-1:i}function Xd(t){return isNaN(+t.cpx1)||isNaN(+t.cpy1)}function jd(t){return"_"+t+"Type"}function Yd(t,e,i){var n=e.getItemVisual(i,"color"),o=e.getItemVisual(i,t),a=e.getItemVisual(i,t+"Size");if(o&&"none"!==o){y(a)||(a=[a,a]);var r=Xl(o,-a[0]/2,-a[1]/2,a[0],a[1],n);return r.name=t,r}}function qd(t){var e=new gL({name:"line"});return Kd(e.shape,t),e}function Kd(t,e){var i=e[0],n=e[1],o=e[2];t.x1=i[0],t.y1=i[1],t.x2=n[0],t.y2=n[1],t.percent=1,o?(t.cpx1=o[0],t.cpy1=o[1]):(t.cpx1=NaN,t.cpy1=NaN)}function $d(t,e,i){Zw.call(this),this._createLine(t,e,i)}function Jd(t){this._ctor=t||$d,this.group=new Zw}function Qd(t,e,i,n){if(of(e.getItemLayout(i))){var o=new t._ctor(e,i,n);e.setItemGraphicEl(i,o),t.group.add(o)}}function tf(t,e,i,n,o,a){var r=e.getItemGraphicEl(n);of(i.getItemLayout(o))?(r?r.updateData(i,o,a):r=new t._ctor(i,o,a),i.setItemGraphicEl(o,r),t.group.add(r)):t.group.remove(r)}function ef(t){var e=t.hostModel;return{lineStyle:e.getModel("lineStyle").getLineStyle(),hoverLineStyle:e.getModel("emphasis.lineStyle").getLineStyle(),labelModel:e.getModel("label"),hoverLabelModel:e.getModel("emphasis.label")}}function nf(t){return isNaN(t[0])||isNaN(t[1])}function of(t){return!nf(t[0])&&!nf(t[1])}function af(t,e,i){for(var n,o=t[0],a=t[1],r=t[2],s=1/0,l=i*i,u=.1,h=.1;h<=.9;h+=.1)xL[0]=bL(o[0],a[0],r[0],h),xL[1]=bL(o[1],a[1],r[1],h),(f=ML(SL(xL,e)-l))<s&&(s=f,n=h);for(var c=0;c<32;c++){var d=n+u;_L[0]=bL(o[0],a[0],r[0],n),_L[1]=bL(o[1],a[1],r[1],n),wL[0]=bL(o[0],a[0],r[0],d),wL[1]=bL(o[1],a[1],r[1],d);var f=SL(_L,e)-l;if(ML(f)<.01)break;var p=SL(wL,e)-l;u/=2,f<0?p>=0?n+=u:n-=u:p>=0?n-=u:n+=u}return n}function rf(t,e){return t.getVisual("opacity")||t.getModel().get(e)}function sf(t,e,i){var n=t.getGraphicEl(),o=rf(t,e);null!=i&&(null==o&&(o=1),o*=i),n.downplay&&n.downplay(),n.traverse(function(t){"group"!==t.type&&t.setStyle("opacity",o)})}function lf(t,e){var i=rf(t,e),n=t.getGraphicEl();n.highlight&&n.highlight(),n.traverse(function(t){"group"!==t.type&&t.setStyle("opacity",i)})}function uf(t){return t instanceof Array||(t=[t,t]),t}function hf(t){var e=t.coordinateSystem;if(!e||"view"===e.type){var i=t.getGraph();i.eachNode(function(t){var e=t.getModel();t.setLayout([+e.get("x"),+e.get("y")])}),cf(i)}}function cf(t){t.eachEdge(function(t){var e=t.getModel().get("lineStyle.curveness")||0,i=F(t.node1.getLayout()),n=F(t.node2.getLayout()),o=[i,n];+e&&o.push([(i[0]+n[0])/2-(i[1]-n[1])*e,(i[1]+n[1])/2-(n[0]-i[0])*e]),t.setLayout(o)})}function df(t){var e=t.coordinateSystem;if(!e||"view"===e.type){var i=e.getBoundingRect(),n=t.getData(),o=n.graph,a=0,r=n.getSum("value"),s=2*Math.PI/(r||n.count()),l=i.width/2+i.x,u=i.height/2+i.y,h=Math.min(i.width,i.height)/2;o.eachNode(function(t){var e=t.getValue("value");a+=s*(r?e:1)/2,t.setLayout([h*Math.cos(a)+l,h*Math.sin(a)+u]),a+=s*(r?e:1)/2}),n.setLayout({cx:l,cy:u}),o.eachEdge(function(t){var e,i=t.getModel().get("lineStyle.curveness")||0,n=F(t.node1.getLayout()),o=F(t.node2.getLayout()),a=(n[0]+o[0])/2,r=(n[1]+o[1])/2;+i&&(e=[l*(i*=3)+a*(1-i),u*i+r*(1-i)]),t.setLayout([n,o,e])})}}function ff(t,e,i){for(var n=i.rect,o=n.width,a=n.height,r=[n.x+o/2,n.y+a/2],s=null==i.gravity?.1:i.gravity,l=0;l<t.length;l++){var u=t[l];u.p||(u.p=V(o*(Math.random()-.5)+r[0],a*(Math.random()-.5)+r[1])),u.pp=F(u.p),u.edges=null}var h=.6;return{warmUp:function(){h=.5},setFixed:function(e){t[e].fixed=!0},setUnfixed:function(e){t[e].fixed=!1},step:function(i){for(var n=[],o=t.length,a=0;a<e.length;a++){var l=e[a],u=l.n1;U(n,(p=l.n2).p,u.p);var c=X(n)-l.d,d=p.w/(u.w+p.w);isNaN(d)&&(d=0),q(n,n),!u.fixed&&DL(u.p,u.p,n,d*c*h),!p.fixed&&DL(p.p,p.p,n,-(1-d)*c*h)}for(a=0;a<o;a++)(v=t[a]).fixed||(U(n,r,v.p),DL(v.p,v.p,n,s*h));for(a=0;a<o;a++)for(var u=t[a],f=a+1;f<o;f++){var p=t[f];U(n,p.p,u.p),0===(c=X(n))&&(W(n,Math.random()-.5,Math.random()-.5),c=1);var g=(u.rep+p.rep)/c/c;!u.fixed&&DL(u.pp,u.pp,n,g),!p.fixed&&DL(p.pp,p.pp,n,-g)}for(var m=[],a=0;a<o;a++){var v=t[a];v.fixed||(U(m,v.p,v.pp),DL(v.p,v.p,m,h),G(v.pp,v.p))}h*=.992,i&&i(t,e,h<.01)}}}function pf(t,e,i){var n=t.getBoxLayoutParams();return n.aspect=i,la(n,{width:e.getWidth(),height:e.getHeight()})}function gf(t,e){var i=t.get("center"),n=e.getWidth(),o=e.getHeight(),a=Math.min(n,o);return{cx:Ro(i[0],e.getWidth()),cy:Ro(i[1],e.getHeight()),r:Ro(t.get("radius"),a/2)}}function mf(t,e){return e&&("string"==typeof e?t=e.replace("{value}",null!=t?t:""):"function"==typeof e&&(t=e(t))),t}function vf(t,e){function i(){a.ignore=a.hoverIgnore,r.ignore=r.hoverIgnore}function n(){a.ignore=a.normalIgnore,r.ignore=r.normalIgnore}Zw.call(this);var o=new nM,a=new oM,r=new qS;this.add(o),this.add(a),this.add(r),this.updateData(t,e,!0),this.on("emphasis",i).on("normal",n).on("mouseover",i).on("mouseout",n)}function yf(t,e){return la(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}function xf(t,e){for(var i=t.mapDimension("value"),n=t.mapArray(i,function(t){return t}),o=[],a="ascending"===e,r=0,s=t.count();r<s;r++)o[r]=r;return"function"==typeof e?o.sort(e):"none"!==e&&o.sort(function(t,e){return a?n[t]-n[e]:n[e]-n[t]}),o}function _f(t){t.each(function(e){var i,n,o,a,r=t.getItemModel(e),s=r.getModel("label").get("position"),l=r.getModel("labelLine"),u=t.getItemLayout(e),h=u.points,c="inner"===s||"inside"===s||"center"===s;if(c)i="center",a=[[n=(h[0][0]+h[1][0]+h[2][0]+h[3][0])/4,o=(h[0][1]+h[1][1]+h[2][1]+h[3][1])/4],[n,o]];else{var d,f,p,g=l.get("length");"left"===s?(d=(h[3][0]+h[0][0])/2,f=(h[3][1]+h[0][1])/2,n=(p=d-g)-5,i="right"):(d=(h[1][0]+h[2][0])/2,f=(h[1][1]+h[2][1])/2,n=(p=d+g)+5,i="left");var m=f;a=[[d,f],[p,m]],o=m}u.label={linePoints:a,x:n,y:o,verticalAlign:"middle",textAlign:i,inside:c}})}function wf(t){if(!t.parallel){var e=!1;d(t.series,function(t){t&&"parallel"===t.type&&(e=!0)}),e&&(t.parallel=[{}])}}function bf(t){d(Di(t.parallelAxis),function(e){if(w(e)){var i=e.parallelIndex||0,o=Di(t.parallel)[i];o&&o.parallelAxisDefault&&n(e,o.parallelAxisDefault,!1)}})}function Sf(t,e){var i=t[e]-t[1-e];return{span:Math.abs(i),sign:i>0?-1:i<0?1:e?-1:1}}function Mf(t,e){return Math.min(e[1],Math.max(e[0],t))}function If(t,e,i){this._axesMap=R(),this._axesLayout={},this.dimensions=t.dimensions,this._rect,this._model=t,this._init(t,e,i)}function Tf(t,e){return zL(BL(t,e[0]),e[1])}function Af(t,e){var i=e.layoutLength/(e.axisCount-1);return{position:i*t,axisNameAvailableWidth:i,axisLabelShow:!0}}function Df(t,e){var i,n,o=e.layoutLength,a=e.axisExpandWidth,r=e.axisCount,s=e.axisCollapseWidth,l=e.winInnerIndices,u=s,h=!1;return t<l[0]?(i=t*s,n=s):t<=l[1]?(i=e.axisExpandWindow0Pos+t*a-e.axisExpandWindow[0],u=a,h=!0):(i=o-(r-1-t)*s,n=s),{position:i,axisNameAvailableWidth:u,axisLabelShow:h,nameTruncateMaxWidth:n}}function Cf(t){aw.call(this),this._zr=t,this.group=new Zw,this._brushType,this._brushOption,this._panels,this._track=[],this._dragging,this._covers=[],this._creatingCover,this._creatingPanel,this._enableGlobalPan,this._uid="brushController_"+ok++,this._handlers={},XL(ak,function(t,e){this._handlers[e]=m(t,this)},this)}function Lf(t,e){var o=t._zr;t._enableGlobalPan||ec(o,tk,t._uid),XL(t._handlers,function(t,e){o.on(e,t)}),t._brushType=e.brushType,t._brushOption=n(i(nk),e,!0)}function kf(t){var e=t._zr;ic(e,tk,t._uid),XL(t._handlers,function(t,i){e.off(i,t)}),t._brushType=t._brushOption=null}function Pf(t,e){var i=rk[e.brushType].createCover(t,e);return i.__brushOption=e,Ef(i,e),t.group.add(i),i}function Nf(t,e){var i=zf(e);return i.endCreating&&(i.endCreating(t,e),Ef(e,e.__brushOption)),e}function Of(t,e){var i=e.__brushOption;zf(e).updateCoverShape(t,e,i.range,i)}function Ef(t,e){var i=e.z;null==i&&(i=$L),t.traverse(function(t){t.z=i,t.z2=i})}function Rf(t,e){zf(e).updateCommon(t,e),Of(t,e)}function zf(t){return rk[t.__brushOption.brushType]}function Bf(t,e,i){var n=t._panels;if(!n)return!0;var o,a=t._transform;return XL(n,function(t){t.isTargetByCursor(e,i,a)&&(o=t)}),o}function Vf(t,e){var i=t._panels;if(!i)return!0;var n=e.__brushOption.panelId;return null==n||i[n]}function Gf(t){var e=t._covers,i=e.length;return XL(e,function(e){t.group.remove(e)},t),e.length=0,!!i}function Ff(t,e){var n=jL(t._covers,function(t){var e=t.__brushOption,n=i(e.range);return{brushType:e.brushType,panelId:e.panelId,range:n}});t.trigger("brush",n,{isEnd:!!e.isEnd,removeOnClick:!!e.removeOnClick})}function Wf(t){var e=t._track;if(!e.length)return!1;var i=e[e.length-1],n=e[0],o=i[0]-n[0],a=i[1]-n[1];return KL(o*o+a*a,.5)>JL}function Hf(t){var e=t.length-1;return e<0&&(e=0),[t[0],t[e]]}function Zf(t,e,i,n){var o=new Zw;return o.add(new aM({name:"main",style:Yf(i),silent:!0,draggable:!0,cursor:"move",drift:UL(t,e,o,"nswe"),ondragend:UL(Ff,e,{isEnd:!0})})),XL(n,function(i){o.add(new aM({name:i,style:{opacity:0},draggable:!0,silent:!0,invisible:!0,drift:UL(t,e,o,i),ondragend:UL(Ff,e,{isEnd:!0})}))}),o}function Uf(t,e,i,n){var o=n.brushStyle.lineWidth||0,a=qL(o,QL),r=i[0][0],s=i[1][0],l=r-o/2,u=s-o/2,h=i[0][1],c=i[1][1],d=h-a+o/2,f=c-a+o/2,p=h-r,g=c-s,m=p+o,v=g+o;jf(t,e,"main",r,s,p,g),n.transformable&&(jf(t,e,"w",l,u,a,v),jf(t,e,"e",d,u,a,v),jf(t,e,"n",l,u,m,a),jf(t,e,"s",l,f,m,a),jf(t,e,"nw",l,u,a,a),jf(t,e,"ne",d,u,a,a),jf(t,e,"sw",l,f,a,a),jf(t,e,"se",d,f,a,a))}function Xf(t,e){var i=e.__brushOption,n=i.transformable,o=e.childAt(0);o.useStyle(Yf(i)),o.attr({silent:!n,cursor:n?"move":"default"}),XL(["w","e","n","s","se","sw","ne","nw"],function(i){var o=e.childOfName(i),a=$f(t,i);o&&o.attr({silent:!n,invisible:!n,cursor:n?ik[a]+"-resize":null})})}function jf(t,e,i,n,o,a,r){var s=e.childOfName(i);s&&s.setShape(ip(ep(t,e,[[n,o],[n+a,o+r]])))}function Yf(t){return r({strokeNoScale:!0},t.brushStyle)}function qf(t,e,i,n){var o=[YL(t,i),YL(e,n)],a=[qL(t,i),qL(e,n)];return[[o[0],a[0]],[o[1],a[1]]]}function Kf(t){return Mo(t.group)}function $f(t,e){if(e.length>1)return("e"===(n=[$f(t,(e=e.split(""))[0]),$f(t,e[1])])[0]||"w"===n[0])&&n.reverse(),n.join("");var i={left:"w",right:"e",top:"n",bottom:"s"},n=To({w:"left",e:"right",n:"top",s:"bottom"}[e],Kf(t));return i[n]}function Jf(t,e,i,n,o,a,r,s){var l=n.__brushOption,u=t(l.range),h=tp(i,a,r);XL(o.split(""),function(t){var e=ek[t];u[e[0]][e[1]]+=h[e[0]]}),l.range=e(qf(u[0][0],u[1][0],u[0][1],u[1][1])),Rf(i,n),Ff(i,{isEnd:!1})}function Qf(t,e,i,n,o){var a=e.__brushOption.range,r=tp(t,i,n);XL(a,function(t){t[0]+=r[0],t[1]+=r[1]}),Rf(t,e),Ff(t,{isEnd:!1})}function tp(t,e,i){var n=t.group,o=n.transformCoordToLocal(e,i),a=n.transformCoordToLocal(0,0);return[o[0]-a[0],o[1]-a[1]]}function ep(t,e,n){var o=Vf(t,e);return o&&!0!==o?o.clipPath(n,t._transform):i(n)}function ip(t){var e=YL(t[0][0],t[1][0]),i=YL(t[0][1],t[1][1]);return{x:e,y:i,width:qL(t[0][0],t[1][0])-e,height:qL(t[0][1],t[1][1])-i}}function np(t,e,i){if(t._brushType){var n=t._zr,o=t._covers,a=Bf(t,e,i);if(!t._dragging)for(var r=0;r<o.length;r++){var s=o[r].__brushOption;if(a&&(!0===a||s.panelId===a.panelId)&&rk[s.brushType].contain(o[r],i[0],i[1]))return}a&&n.setCursorStyle("crosshair")}}function op(t){var e=t.event;e.preventDefault&&e.preventDefault()}function ap(t,e,i){return t.childOfName("main").contain(e,i)}function rp(t,e,n,o){var a,r=t._creatingCover,s=t._creatingPanel,l=t._brushOption;if(t._track.push(n.slice()),Wf(t)||r){if(s&&!r){"single"===l.brushMode&&Gf(t);var u=i(l);u.brushType=sp(u.brushType,s),u.panelId=!0===s?null:s.panelId,r=t._creatingCover=Pf(t,u),t._covers.push(r)}if(r){var h=rk[sp(t._brushType,s)];r.__brushOption.range=h.getCreatingRange(ep(t,r,t._track)),o&&(Nf(t,r),h.updateCommon(t,r)),Of(t,r),a={isEnd:o}}}else o&&"single"===l.brushMode&&l.removeOnClick&&Bf(t,e,n)&&Gf(t)&&(a={isEnd:o,removeOnClick:!0});return a}function sp(t,e){return"auto"===t?e.defaultBrushType:t}function lp(t){if(this._dragging){op(t);var e=rp(this,t,this.group.transformCoordToLocal(t.offsetX,t.offsetY),!0);this._dragging=!1,this._track=[],this._creatingCover=null,e&&Ff(this,e)}}function up(t){return{createCover:function(e,i){return Zf(UL(Jf,function(e){var i=[e,[0,100]];return t&&i.reverse(),i},function(e){return e[t]}),e,i,[["w","e"],["n","s"]][t])},getCreatingRange:function(e){var i=Hf(e);return[YL(i[0][t],i[1][t]),qL(i[0][t],i[1][t])]},updateCoverShape:function(e,i,n,o){var a,r=Vf(e,i);if(!0!==r&&r.getLinearBrushOtherExtent)a=r.getLinearBrushOtherExtent(t,e._transform);else{var s=e._zr;a=[0,[s.getWidth(),s.getHeight()][1-t]]}var l=[n,a];t&&l.reverse(),Uf(e,i,l,o)},updateCommon:Xf,contain:ap}}function hp(t){return t=fp(t),function(e,i){return Do(e,t)}}function cp(t,e){return t=fp(t),function(i){var n=null!=e?e:i,o=n?t.width:t.height,a=n?t.x:t.y;return[a,a+(o||0)]}}function dp(t,e,i){return t=fp(t),function(n,o,a){return t.contain(o[0],o[1])&&!mc(n,e,i)}}function fp(t){return ue.create(t)}function pp(t,e,i){return i&&"axisAreaSelect"===i.type&&e.findComponents({mainType:"parallelAxis",query:i})[0]===t}function gp(t){var e=t.axis;return f(t.activeIntervals,function(t){return{brushType:"lineX",panelId:"pl",range:[e.dataToCoord(t[0],!0),e.dataToCoord(t[1],!0)]}})}function mp(t,e){return e.getComponent("parallel",t.get("parallelIndex"))}function vp(t,e){var i=t._model;return i.get("axisExpandable")&&i.get("axisExpandTriggerOn")===e}function yp(t,e){if(!t.encodeDefine){var i=e.ecModel.getComponent("parallel",e.get("parallelIndex"));if(i){var n=t.encodeDefine=R();d(i.dimensions,function(t){var e=xp(t);n.set(t,e)})}}}function xp(t){return+t.replace("dim","")}function _p(t,e,i){var n=t.model,o=t.getRect(),a=new aM({shape:{x:o.x,y:o.y,width:o.width,height:o.height}}),r="horizontal"===n.get("layout")?"width":"height";return a.setShape(r,0),So(a,{shape:{width:o.width,height:o.height}},e,i),a}function wp(t,e,i,n){for(var o=[],a=0;a<i.length;a++){var r=i[a],s=t.get(t.mapDimension(r),e);Ip(s,n.getAxis(r).type)||o.push(n.dataToPoint(s,r))}return o}function bp(t,e,i,n,o){var a=wp(t,i,n,o),r=new oM({shape:{points:a},silent:!0,z2:10});return e.add(r),t.setItemGraphicEl(i,r),r}function Sp(t){var e=t.get("smooth",!0);return!0===e&&(e=hk),{lineStyle:t.getModel("lineStyle").getLineStyle(),smooth:null!=e?e:hk}}function Mp(t,e,i,n){var o=n.lineStyle;e.hasItemOption&&(o=e.getItemModel(i).getModel("lineStyle").getLineStyle()),t.useStyle(o);var a=t.style;a.fill=null,a.stroke=e.getItemVisual(i,"color"),a.opacity=e.getItemVisual(i,"opacity"),n.smooth&&(t.shape.smooth=n.smooth)}function Ip(t,e){return"category"===e?null==t:null==t||isNaN(t)}function Tp(t,e){return t.getVisual("opacity")||t.getModel().get(e)}function Ap(t,e,i){var n=t.getGraphicEl(),o=Tp(t,e);null!=i&&(null==o&&(o=1),o*=i),n.downplay&&n.downplay(),n.traverse(function(t){"group"!==t.type&&t.setStyle("opacity",o)})}function Dp(t,e){var i=Tp(t,e),n=t.getGraphicEl();n.highlight&&n.highlight(),n.traverse(function(t){"group"!==t.type&&t.setStyle("opacity",i)})}function Cp(t,e,i){var n=new aM({shape:{x:t.x-10,y:t.y-10,width:0,height:t.height+20}});return So(n,{shape:{width:t.width+20,height:t.height+20}},e,i),n}function Lp(){function t(e,n){if(n>=i.length)return e;for(var o=-1,a=e.length,r=i[n++],s={},l={};++o<a;){var u=r(e[o]),h=l[u];h?h.push(e[o]):l[u]=[e[o]]}return d(l,function(e,i){s[i]=t(e,n)}),s}function e(t,o){if(o>=i.length)return t;var a=[],r=n[o++];return d(t,function(t,i){a.push({key:i,values:e(t,o)})}),r?a.sort(function(t,e){return r(t.key,e.key)}):a}var i=[],n=[];return{key:function(t){return i.push(t),this},sortKeys:function(t){return n[i.length-1]=t,this},entries:function(i){return e(t(i,0),0)}}}function kp(t,e){return la(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}function Pp(t,e,i,n,o,a,r,s){Op(t,e,i,o,a,s),zp(t,e,a,o,n,r,s),Yp(t,s)}function Np(t){d(t,function(t){var e=Xp(t.outEdges,Up),i=Xp(t.inEdges,Up),n=Math.max(e,i);t.setLayout({value:n},!0)})}function Op(t,e,i,n,o,a){for(var r=[],s=[],l=[],u=[],h=0,c=0;c<e.length;c++)r[c]=1;for(c=0;c<t.length;c++)s[c]=t[c].inEdges.length,0===s[c]&&l.push(t[c]);for(;l.length;){for(var d=0;d<l.length;d++){var f=l[d];"vertical"===a?(f.setLayout({y:h},!0),f.setLayout({dy:i},!0)):(f.setLayout({x:h},!0),f.setLayout({dx:i},!0));for(var p=0;p<f.outEdges.length;p++){var g=f.outEdges[p];r[e.indexOf(g)]=0;var m=g.node2;0==--s[t.indexOf(m)]&&u.push(m)}}++h,l=u,u=[]}for(c=0;c<r.length;c++);Ep(t,h,a),Rp(t,"vertical"===a?(o-i)/(h-1):(n-i)/(h-1),a)}function Ep(t,e,i){d(t,function(t){t.outEdges.length||("vertical"===i?t.setLayout({y:e-1},!0):t.setLayout({x:e-1},!0))})}function Rp(t,e,i){d(t,function(t){if("vertical"===i){var n=t.getLayout().y*e;t.setLayout({y:n},!0)}else{var o=t.getLayout().x*e;t.setLayout({x:o},!0)}})}function zp(t,e,i,n,o,a,r){var s=Lp().key(Bp(r)).sortKeys(function(t,e){return t-e}).entries(t).map(function(t){return t.values});Vp(t,s,e,i,n,o,r),Gp(s,o,i,n,r);for(var l=1;a>0;a--)Fp(s,l*=.99,r),Gp(s,o,i,n,r),jp(s,l,r),Gp(s,o,i,n,r)}function Bp(t){return"vertical"===t?function(t){return t.getLayout().y}:function(t){return t.getLayout().x}}function Vp(t,e,i,n,o,a,r){var s=[];d(e,function(t){var e=t.length,i=0,l=0;d(t,function(t){i+=t.getLayout().value}),l="vertical"===r?(o-(e-1)*a)/i:(n-(e-1)*a)/i,s.push(l)}),s.sort(function(t,e){return t-e});var l=s[0];d(e,function(t){d(t,function(t,e){var i=t.getLayout().value*l;"vertical"===r?(t.setLayout({x:e},!0),t.setLayout({dx:i},!0)):(t.setLayout({y:e},!0),t.setLayout({dy:i},!0))})}),d(i,function(t){var e=+t.getValue()*l;t.setLayout({dy:e},!0)})}function Gp(t,e,i,n,o){d(t,function(t){var a,r,s,l=0,u=t.length;if("vertical"===o){var h;for(t.sort(function(t,e){return t.getLayout().x-e.getLayout().x}),s=0;s<u;s++)(r=l-(a=t[s]).getLayout().x)>0&&(h=a.getLayout().x+r,a.setLayout({x:h},!0)),l=a.getLayout().x+a.getLayout().dx+e;if((r=l-e-n)>0)for(h=a.getLayout().x-r,a.setLayout({x:h},!0),l=h,s=u-2;s>=0;--s)(r=(a=t[s]).getLayout().x+a.getLayout().dx+e-l)>0&&(h=a.getLayout().x-r,a.setLayout({x:h},!0)),l=a.getLayout().x}else{var c;for(t.sort(function(t,e){return t.getLayout().y-e.getLayout().y}),s=0;s<u;s++)(r=l-(a=t[s]).getLayout().y)>0&&(c=a.getLayout().y+r,a.setLayout({y:c},!0)),l=a.getLayout().y+a.getLayout().dy+e;if((r=l-e-i)>0)for(c=a.getLayout().y-r,a.setLayout({y:c},!0),l=c,s=u-2;s>=0;--s)(r=(a=t[s]).getLayout().y+a.getLayout().dy+e-l)>0&&(c=a.getLayout().y-r,a.setLayout({y:c},!0)),l=a.getLayout().y}})}function Fp(t,e,i){d(t.slice().reverse(),function(t){d(t,function(t){if(t.outEdges.length){var n=Xp(t.outEdges,Wp,i)/Xp(t.outEdges,Up,i);if("vertical"===i){var o=t.getLayout().x+(n-Zp(t,i))*e;t.setLayout({x:o},!0)}else{var a=t.getLayout().y+(n-Zp(t,i))*e;t.setLayout({y:a},!0)}}})})}function Wp(t,e){return Zp(t.node2,e)*t.getValue()}function Hp(t,e){return Zp(t.node1,e)*t.getValue()}function Zp(t,e){return"vertical"===e?t.getLayout().x+t.getLayout().dx/2:t.getLayout().y+t.getLayout().dy/2}function Up(t){return t.getValue()}function Xp(t,e,i){for(var n=0,o=t.length,a=-1;++a<o;){var r=+e.call(t,t[a],i);isNaN(r)||(n+=r)}return n}function jp(t,e,i){d(t,function(t){d(t,function(t){if(t.inEdges.length){var n=Xp(t.inEdges,Hp,i)/Xp(t.inEdges,Up,i);if("vertical"===i){var o=t.getLayout().x+(n-Zp(t,i))*e;t.setLayout({x:o},!0)}else{var a=t.getLayout().y+(n-Zp(t,i))*e;t.setLayout({y:a},!0)}}})})}function Yp(t,e){d(t,function(t){"vertical"===e?(t.outEdges.sort(function(t,e){return t.node2.getLayout().x-e.node2.getLayout().x}),t.inEdges.sort(function(t,e){return t.node1.getLayout().x-e.node1.getLayout().x})):(t.outEdges.sort(function(t,e){return t.node2.getLayout().y-e.node2.getLayout().y}),t.inEdges.sort(function(t,e){return t.node1.getLayout().y-e.node1.getLayout().y}))}),d(t,function(t){var e=0,i=0;d(t.outEdges,function(t){t.setLayout({sy:e},!0),e+=t.getLayout().dy}),d(t.inEdges,function(t){t.setLayout({ty:i},!0),i+=t.getLayout().dy})})}function qp(t,e,i,n,o){var a=t.ends,r=new xk({shape:{points:o?$p(a,n,t):a}});return Kp(t,r,e,i,o),r}function Kp(t,e,i,n,o){var a=i.hostModel;(0,bM[o?"initProps":"updateProps"])(e,{shape:{points:t.ends}},a,n);var r=i.getItemModel(n),s=r.getModel(vk),l=i.getItemVisual(n,"color"),u=s.getItemStyle(["borderColor"]);u.stroke=l,u.strokeNoScale=!0,e.useStyle(u),e.z2=100,uo(e,r.getModel(yk).getItemStyle())}function $p(t,e,i){return f(t,function(t){return t=t.slice(),t[e]=i.initBaseline,t})}function Jp(t){var e=[],i=[];return t.eachSeriesByType("boxplot",function(t){var n=t.getBaseAxis(),o=l(i,n);o<0&&(o=i.length,i[o]=n,e[o]={axis:n,seriesModels:[]}),e[o].seriesModels.push(t)}),e}function Qp(t){var e,i,n=t.axis,o=t.seriesModels,a=o.length,r=t.boxWidthList=[],s=t.boxOffsetList=[],l=[];if("category"===n.type)i=n.getBandWidth();else{var u=0;wk(o,function(t){u=Math.max(u,t.getData().count())}),e=n.getExtent(),Math.abs(e[1]-e[0])}wk(o,function(t){var e=t.get("boxWidth");y(e)||(e=[e,e]),l.push([Ro(e[0],i)||0,Ro(e[1],i)||0])});var h=.8*i-2,c=h/a*.3,d=(h-c*(a-1))/a,f=d/2-h/2;wk(o,function(t,e){s.push(f),f+=c+d,r.push(Math.min(Math.max(d,l[e][0]),l[e][1]))})}function tg(t,e,i){function n(t,i,n){var o=s.get(i,n),a=[];a[u]=t,a[h]=o;var l;return isNaN(t)||isNaN(o)?l=[NaN,NaN]:(l=r.dataToPoint(a))[u]+=e,l}function o(t,e,i){var n=e.slice(),o=e.slice();n[u]+=l,o[u]-=l,i?t.push(n,o):t.push(o,n)}function a(t,e){var i=e.slice(),n=e.slice();i[u]-=l,n[u]+=l,t.push(i,n)}var r=t.coordinateSystem,s=t.getData(),l=i/2,u="horizontal"===t.get("layout")?0:1,h=1-u,c=["x","y"],d=s.mapDimension(c[u]),f=s.mapDimension(c[h],!0);if(!(null==d||f.length<5))for(var p=0;p<s.count();p++){var g=s.get(d,p),m=n(g,f[2],p),v=n(g,f[0],p),y=n(g,f[1],p),x=n(g,f[3],p),_=n(g,f[4],p),w=[];o(w,y,0),o(w,x,1),w.push(v,y,_,x),a(w,v),a(w,_),a(w,m),s.setItemLayout(p,{initBaseline:m[h],ends:w})}}function eg(t,e,i){var n=t.ends;return new Ik({shape:{points:i?ng(n,t):n},z2:100})}function ig(t,e,i,n){var o=e.getItemModel(i),a=o.getModel(bk),r=e.getItemVisual(i,"color"),s=e.getItemVisual(i,"borderColor")||r,l=a.getItemStyle(Mk);t.useStyle(l),t.style.strokeNoScale=!0,t.style.fill=r,t.style.stroke=s,t.__simpleBox=n,uo(t,o.getModel(Sk).getItemStyle())}function ng(t,e){return f(t,function(t){return t=t.slice(),t[1]=e.initBaseline,t})}function og(t,e,i){var n=t.getData(),o=n.getLayout("largePoints"),a=new Tk({shape:{points:o},__sign:1});e.add(a);var r=new Tk({shape:{points:o},__sign:-1});e.add(r),ag(1,a,t,n),ag(-1,r,t,n),i&&(a.incremental=!0,r.incremental=!0)}function ag(t,e,i,n){var o=t>0?"P":"N",a=n.getVisual("borderColor"+o)||n.getVisual("color"+o),r=i.getModel(bk).getItemStyle(Mk);e.useStyle(r),e.style.fill=null,e.style.stroke=a}function rg(t,e,i,n,o){return i>n?-1:i<n?1:e>0?t.get(o,e-1)<=n?1:-1:1}function sg(t,e){var i,n=t.getBaseAxis(),o="category"===n.type?n.getBandWidth():(i=n.getExtent(),Math.abs(i[1]-i[0])/e.count()),a=Ro(A(t.get("barMaxWidth"),o),o),r=Ro(A(t.get("barMinWidth"),1),o),s=t.get("barWidth");return null!=s?Ro(s,o):Math.max(Math.min(o/2,a),r)}function lg(t){return y(t)||(t=[+t,+t]),t}function ug(t,e){t.eachChild(function(t){t.attr({z:e.z,zlevel:e.zlevel,style:{stroke:"stroke"===e.brushType?e.color:null,fill:"fill"===e.brushType?e.color:null}})})}function hg(t,e){Zw.call(this);var i=new mu(t,e),n=new Zw;this.add(i),this.add(n),n.beforeUpdate=function(){this.attr(i.getScale())},this.updateData(t,e)}function cg(t){var e=t.data;e&&e[0]&&e[0][0]&&e[0][0].coord&&(t.data=f(e,function(t){var e={coords:[t[0].coord,t[1].coord]};return t[0].name&&(e.fromName=t[0].name),t[1].name&&(e.toName=t[1].name),o([e,t[0],t[1]])}))}function dg(t,e,i){Zw.call(this),this.add(this.createLine(t,e,i)),this._updateEffectSymbol(t,e)}function fg(t,e,i){Zw.call(this),this._createPolyline(t,e,i)}function pg(t,e,i){dg.call(this,t,e,i),this._lastFrame=0,this._lastFramePercent=0}function gg(){this.group=new Zw}function mg(t){return t instanceof Array||(t=[t,t]),t}function vg(){var t=Y_();this.canvas=t,this.blurSize=30,this.pointSize=20,this.maxOpacity=1,this.minOpacity=0,this._gradientPixels={}}function yg(t,e,i){var n=t[1]-t[0],o=(e=f(e,function(e){return{interval:[(e.interval[0]-t[0])/n,(e.interval[1]-t[0])/n]}})).length,a=0;return function(t){for(n=a;n<o;n++)if((r=e[n].interval)[0]<=t&&t<=r[1]){a=n;break}if(n===o)for(var n=a-1;n>=0;n--){var r=e[n].interval;if(r[0]<=t&&t<=r[1]){a=n;break}}return n>=0&&n<o&&i[n]}}function xg(t,e){var i=t[1]-t[0];return e=[(e[0]-t[0])/i,(e[1]-t[0])/i],function(t){return t>=e[0]&&t<=e[1]}}function _g(t){var e=t.dimensions;return"lng"===e[0]&&"lat"===e[1]}function wg(t,e,i,n){var o=t.getItemLayout(e),a=i.get("symbolRepeat"),r=i.get("symbolClip"),s=i.get("symbolPosition")||"start",l=(i.get("symbolRotate")||0)*Math.PI/180||0,u=i.get("symbolPatternSize")||2,h=i.isAnimationEnabled(),c={dataIndex:e,layout:o,itemModel:i,symbolType:t.getItemVisual(e,"symbol")||"circle",color:t.getItemVisual(e,"color"),symbolClip:r,symbolRepeat:a,symbolRepeatDirection:i.get("symbolRepeatDirection"),symbolPatternSize:u,rotation:l,animationModel:h?i:null,hoverAnimation:h&&i.get("hoverAnimation"),z2:i.getShallow("z",!0)||0};bg(i,a,o,n,c),Mg(t,e,o,a,r,c.boundingLength,c.pxSign,u,n,c),Ig(i,c.symbolScale,l,n,c);var d=c.symbolSize,f=i.get("symbolOffset");return y(f)&&(f=[Ro(f[0],d[0]),Ro(f[1],d[1])]),Tg(i,d,o,a,r,f,s,c.valueLineWidth,c.boundingLength,c.repeatCutLength,n,c),c}function bg(t,e,i,n,o){var a,r=n.valueDim,s=t.get("symbolBoundingData"),l=n.coordSys.getOtherAxis(n.coordSys.getBaseAxis()),u=l.toGlobalCoord(l.dataToCoord(0)),h=1-+(i[r.wh]<=0);if(y(s)){var c=[Sg(l,s[0])-u,Sg(l,s[1])-u];c[1]<c[0]&&c.reverse(),a=c[h]}else a=null!=s?Sg(l,s)-u:e?n.coordSysExtent[r.index][h]-u:i[r.wh];o.boundingLength=a,e&&(o.repeatCutLength=i[r.wh]),o.pxSign=a>0?1:a<0?-1:0}function Sg(t,e){return t.toGlobalCoord(t.dataToCoord(t.scale.parse(e)))}function Mg(t,e,i,n,o,a,r,s,l,u){var h=l.valueDim,c=l.categoryDim,d=Math.abs(i[c.wh]),f=t.getItemVisual(e,"symbolSize");y(f)?f=f.slice():(null==f&&(f="100%"),f=[f,f]),f[c.index]=Ro(f[c.index],d),f[h.index]=Ro(f[h.index],n?d:Math.abs(a)),u.symbolSize=f,(u.symbolScale=[f[0]/s,f[1]/s])[h.index]*=(l.isHorizontal?-1:1)*r}function Ig(t,e,i,n,o){var a=t.get(jk)||0;a&&(qk.attr({scale:e.slice(),rotation:i}),qk.updateTransform(),a/=qk.getLineScale(),a*=e[n.valueDim.index]),o.valueLineWidth=a}function Tg(t,e,i,n,o,r,s,l,u,h,c,d){var f=c.categoryDim,p=c.valueDim,g=d.pxSign,m=Math.max(e[p.index]+l,0),v=m;if(n){var y=Math.abs(u),x=T(t.get("symbolMargin"),"15%")+"",_=!1;x.lastIndexOf("!")===x.length-1&&(_=!0,x=x.slice(0,x.length-1)),x=Ro(x,e[p.index]);var w=Math.max(m+2*x,0),b=_?0:2*x,S=Ko(n),M=S?n:Hg((y+b)/w);w=m+2*(x=(y-M*m)/2/(_?M:M-1)),b=_?0:2*x,S||"fixed"===n||(M=h?Hg((Math.abs(h)+b)/w):0),v=M*w-b,d.repeatTimes=M,d.symbolMargin=x}var I=g*(v/2),A=d.pathPosition=[];A[f.index]=i[f.wh]/2,A[p.index]="start"===s?I:"end"===s?u-I:u/2,r&&(A[0]+=r[0],A[1]+=r[1]);var D=d.bundlePosition=[];D[f.index]=i[f.xy],D[p.index]=i[p.xy];var C=d.barRectShape=a({},i);C[p.wh]=g*Math.max(Math.abs(i[p.wh]),Math.abs(A[p.index]+I)),C[f.wh]=i[f.wh];var L=d.clipShape={};L[f.xy]=-i[f.xy],L[f.wh]=c.ecSize[f.wh],L[p.xy]=0,L[p.wh]=i[p.wh]}function Ag(t){var e=t.symbolPatternSize,i=Xl(t.symbolType,-e/2,-e/2,e,e,t.color);return i.attr({culling:!0}),"image"!==i.type&&i.setStyle({strokeNoScale:!0}),i}function Dg(t,e,i,n){function o(t){var e=l.slice(),n=i.pxSign,o=t;return("start"===i.symbolRepeatDirection?n>0:n<0)&&(o=h-1-t),e[u.index]=d*(o-h/2+.5)+l[u.index],{position:e,scale:i.symbolScale.slice(),rotation:i.rotation}}var a=t.__pictorialBundle,r=i.symbolSize,s=i.valueLineWidth,l=i.pathPosition,u=e.valueDim,h=i.repeatTimes||0,c=0,d=r[e.valueDim.index]+s+2*i.symbolMargin;for(Gg(t,function(t){t.__pictorialAnimationIndex=c,t.__pictorialRepeatTimes=h,c<h?Fg(t,null,o(c),i,n):Fg(t,null,{scale:[0,0]},i,n,function(){a.remove(t)}),Eg(t,i),c++});c<h;c++){var f=Ag(i);f.__pictorialAnimationIndex=c,f.__pictorialRepeatTimes=h,a.add(f);var p=o(c);Fg(f,{position:p.position,scale:[0,0]},{scale:p.scale,rotation:p.rotation},i,n),f.on("mouseover",function(){Gg(t,function(t){t.trigger("emphasis")})}).on("mouseout",function(){Gg(t,function(t){t.trigger("normal")})}),Eg(f,i)}}function Cg(t,e,i,n){var o=t.__pictorialBundle,a=t.__pictorialMainPath;a?Fg(a,null,{position:i.pathPosition.slice(),scale:i.symbolScale.slice(),rotation:i.rotation},i,n):(a=t.__pictorialMainPath=Ag(i),o.add(a),Fg(a,{position:i.pathPosition.slice(),scale:[0,0],rotation:i.rotation},{scale:i.symbolScale.slice()},i,n),a.on("mouseover",function(){this.trigger("emphasis")}).on("mouseout",function(){this.trigger("normal")})),Eg(a,i)}function Lg(t,e,i){var n=a({},e.barRectShape),o=t.__pictorialBarRect;o?Fg(o,null,{shape:n},e,i):(o=t.__pictorialBarRect=new aM({z2:2,shape:n,silent:!0,style:{stroke:"transparent",fill:"transparent",lineWidth:0}}),t.add(o))}function kg(t,e,i,n){if(i.symbolClip){var o=t.__pictorialClipPath,r=a({},i.clipShape),s=e.valueDim,l=i.animationModel,u=i.dataIndex;if(o)bo(o,{shape:r},l,u);else{r[s.wh]=0,o=new aM({shape:r}),t.__pictorialBundle.setClipPath(o),t.__pictorialClipPath=o;var h={};h[s.wh]=i.clipShape[s.wh],bM[n?"updateProps":"initProps"](o,{shape:h},l,u)}}}function Pg(t,e){var i=t.getItemModel(e);return i.getAnimationDelayParams=Ng,i.isAnimationEnabled=Og,i}function Ng(t){return{index:t.__pictorialAnimationIndex,count:t.__pictorialRepeatTimes}}function Og(){return this.parentModel.isAnimationEnabled()&&!!this.getShallow("animation")}function Eg(t,e){t.off("emphasis").off("normal");var i=e.symbolScale.slice();e.hoverAnimation&&t.on("emphasis",function(){this.animateTo({scale:[1.1*i[0],1.1*i[1]]},400,"elasticOut")}).on("normal",function(){this.animateTo({scale:i.slice()},400,"elasticOut")})}function Rg(t,e,i,n){var o=new Zw,a=new Zw;return o.add(a),o.__pictorialBundle=a,a.attr("position",i.bundlePosition.slice()),i.symbolRepeat?Dg(o,e,i):Cg(o,e,i),Lg(o,i,n),kg(o,e,i,n),o.__pictorialShapeStr=Vg(t,i),o.__pictorialSymbolMeta=i,o}function zg(t,e,i){var n=i.animationModel,o=i.dataIndex;bo(t.__pictorialBundle,{position:i.bundlePosition.slice()},n,o),i.symbolRepeat?Dg(t,e,i,!0):Cg(t,e,i,!0),Lg(t,i,!0),kg(t,e,i,!0)}function Bg(t,e,i,n){var o=n.__pictorialBarRect;o&&(o.style.text=null);var a=[];Gg(n,function(t){a.push(t)}),n.__pictorialMainPath&&a.push(n.__pictorialMainPath),n.__pictorialClipPath&&(i=null),d(a,function(t){bo(t,{scale:[0,0]},i,e,function(){n.parent&&n.parent.remove(n)})}),t.setItemGraphicEl(e,null)}function Vg(t,e){return[t.getItemVisual(e.dataIndex,"symbol")||"none",!!e.symbolRepeat,!!e.symbolClip].join(":")}function Gg(t,e,i){d(t.__pictorialBundle.children(),function(n){n!==t.__pictorialBarRect&&e.call(i,n)})}function Fg(t,e,i,n,o,a){e&&t.attr(e),n.symbolClip&&!o?i&&t.attr(i):i&&bM[o?"updateProps":"initProps"](t,i,n.animationModel,n.dataIndex,a)}function Wg(t,e,i){var n=i.color,o=i.dataIndex,a=i.itemModel,s=a.getModel("itemStyle").getItemStyle(["color"]),l=a.getModel("emphasis.itemStyle").getItemStyle(),u=a.getShallow("cursor");Gg(t,function(t){t.setColor(n),t.setStyle(r({fill:n,opacity:i.opacity},s)),uo(t,l),u&&(t.cursor=u),t.z2=i.z2});var h={},c=e.valueDim.posDesc[+(i.boundingLength>0)],d=t.__pictorialBarRect;Th(d.style,h,a,n,e.seriesModel,o,c),uo(d,h)}function Hg(t){var e=Math.round(t);return Math.abs(t-e)<1e-4?e:Math.ceil(t)}function Zg(t,e,i){this.dimension="single",this.dimensions=["single"],this._axis=null,this._rect,this._init(t,e,i),this.model=t}function Ug(t,e){e=e||{};var i=t.coordinateSystem,n=t.axis,o={},a=n.position,r=n.orient,s=i.getRect(),l=[s.x,s.x+s.width,s.y,s.y+s.height],u={horizontal:{top:l[2],bottom:l[3]},vertical:{left:l[0],right:l[1]}};o.position=["vertical"===r?u.vertical[a]:l[0],"horizontal"===r?u.horizontal[a]:l[3]];var h={horizontal:0,vertical:1};o.rotation=Math.PI/2*h[r];var c={top:-1,bottom:1,right:1,left:-1};o.labelDirection=o.tickDirection=o.nameDirection=c[a],t.get("axisTick.inside")&&(o.tickDirection=-o.tickDirection),T(e.labelInside,t.get("axisLabel.inside"))&&(o.labelDirection=-o.labelDirection);var d=e.rotate;return null==d&&(d=t.get("axisLabel.rotate")),o.labelRotation="top"===a?-d:d,o.z2=1,o}function Xg(t,e,i,n,o){var r=t.axis;if(!r.scale.isBlank()&&r.containData(e))if(t.involveSeries){var s=jg(e,t),l=s.payloadBatch,u=s.snapToValue;l[0]&&null==o.seriesIndex&&a(o,l[0]),!n&&t.snap&&r.containData(u)&&null!=u&&(e=u),i.showPointer(t,e,l,o),i.showTooltip(t,s,u)}else i.showPointer(t,e)}function jg(t,e){var i=e.axis,n=i.dim,o=t,a=[],r=Number.MAX_VALUE,s=-1;return iP(e.seriesModels,function(e,l){var u,h,c=e.getData().mapDimension(n,!0);if(e.getAxisTooltipData){var d=e.getAxisTooltipData(c,t,i);h=d.dataIndices,u=d.nestestValue}else{if(!(h=e.getData().indicesOfNearest(c[0],t,"category"===i.type?.5:null)).length)return;u=e.getData().get(c[0],h[0])}if(null!=u&&isFinite(u)){var f=t-u,p=Math.abs(f);p<=r&&((p<r||f>=0&&s<0)&&(r=p,s=f,o=u,a.length=0),iP(h,function(t){a.push({seriesIndex:e.seriesIndex,dataIndexInside:t,dataIndex:e.getData().getRawIndex(t)})}))}}),{payloadBatch:a,snapToValue:o}}function Yg(t,e,i,n){t[e.key]={value:i,payloadBatch:n}}function qg(t,e,i,n){var o=i.payloadBatch,a=e.axis,r=a.model,s=e.axisPointerModel;if(e.triggerTooltip&&o.length){var l=e.coordSys.model,u=bh(l),h=t.map[u];h||(h=t.map[u]={coordSysId:l.id,coordSysIndex:l.componentIndex,coordSysType:l.type,coordSysMainType:l.mainType,dataByAxis:[]},t.list.push(h)),h.dataByAxis.push({axisDim:a.dim,axisIndex:r.componentIndex,axisType:r.type,axisId:r.id,value:n,valueLabelOpt:{precision:s.get("label.precision"),formatter:s.get("label.formatter")},seriesDataIndices:o.slice()})}}function Kg(t,e,i){var n=i.axesInfo=[];iP(e,function(e,i){var o=e.axisPointerModel.option,a=t[i];a?(!e.useHandle&&(o.status="show"),o.value=a.value,o.seriesDataIndices=(a.payloadBatch||[]).slice()):!e.useHandle&&(o.status="hide"),"show"===o.status&&n.push({axisDim:e.axis.dim,axisIndex:e.axis.model.componentIndex,value:o.value})})}function $g(t,e,i,n){if(!em(e)&&t.list.length){var o=((t.list[0].dataByAxis[0]||{}).seriesDataIndices||[])[0]||{};n({type:"showTip",escapeConnect:!0,x:e[0],y:e[1],tooltipOption:i.tooltipOption,position:i.position,dataIndexInside:o.dataIndexInside,dataIndex:o.dataIndex,seriesIndex:o.seriesIndex,dataByCoordSys:t.list})}else n({type:"hideTip"})}function Jg(t,e,i){var n=i.getZr(),o=oP(n).axisPointerLastHighlights||{},a=oP(n).axisPointerLastHighlights={};iP(t,function(t,e){var i=t.axisPointerModel.option;"show"===i.status&&iP(i.seriesDataIndices,function(t){var e=t.seriesIndex+" | "+t.dataIndex;a[e]=t})});var r=[],s=[];d(o,function(t,e){!a[e]&&s.push(t)}),d(a,function(t,e){!o[e]&&r.push(t)}),s.length&&i.dispatchAction({type:"downplay",escapeConnect:!0,batch:s}),r.length&&i.dispatchAction({type:"highlight",escapeConnect:!0,batch:r})}function Qg(t,e){for(var i=0;i<(t||[]).length;i++){var n=t[i];if(e.axis.dim===n.axisDim&&e.axis.model.componentIndex===n.axisIndex)return n}}function tm(t){var e=t.axis.model,i={},n=i.axisDim=t.axis.dim;return i.axisIndex=i[n+"AxisIndex"]=e.componentIndex,i.axisName=i[n+"AxisName"]=e.name,i.axisId=i[n+"AxisId"]=e.id,i}function em(t){return!t||null==t[0]||isNaN(t[0])||null==t[1]||isNaN(t[1])}function im(t,e,i){if(!z_.node){var n=e.getZr();aP(n).records||(aP(n).records={}),nm(n,e),(aP(n).records[t]||(aP(n).records[t]={})).handler=i}}function nm(t,e){function i(i,n){t.on(i,function(i){var o=sm(e);rP(aP(t).records,function(t){t&&n(t,i,o.dispatchAction)}),om(o.pendings,e)})}aP(t).initialized||(aP(t).initialized=!0,i("click",v(rm,"click")),i("mousemove",v(rm,"mousemove")),i("globalout",am))}function om(t,e){var i,n=t.showTip.length,o=t.hideTip.length;n?i=t.showTip[n-1]:o&&(i=t.hideTip[o-1]),i&&(i.dispatchAction=null,e.dispatchAction(i))}function am(t,e,i){t.handler("leave",null,i)}function rm(t,e,i,n){e.handler(t,i,n)}function sm(t){var e={showTip:[],hideTip:[]},i=function(n){var o=e[n.type];o?o.push(n):(n.dispatchAction=i,t.dispatchAction(n))};return{dispatchAction:i,pendings:e}}function lm(t,e){if(!z_.node){var i=e.getZr();(aP(i).records||{})[t]&&(aP(i).records[t]=null)}}function um(){}function hm(t,e,i,n){cm(lP(i).lastProp,n)||(lP(i).lastProp=n,e?bo(i,n,t):(i.stopAnimation(),i.attr(n)))}function cm(t,e){if(w(t)&&w(e)){var i=!0;return d(e,function(e,n){i=i&&cm(t[n],e)}),!!i}return t===e}function dm(t,e){t[e.get("label.show")?"show":"hide"]()}function fm(t){return{position:t.position.slice(),rotation:t.rotation||0}}function pm(t,e,i){var n=e.get("z"),o=e.get("zlevel");t&&t.traverse(function(t){"group"!==t.type&&(null!=n&&(t.z=n),null!=o&&(t.zlevel=o),t.silent=i)})}function gm(t){var e,i=t.get("type"),n=t.getModel(i+"Style");return"line"===i?(e=n.getLineStyle()).fill=null:"shadow"===i&&((e=n.getAreaStyle()).stroke=null),e}function mm(t,e,i,n,o){var a=ym(i.get("value"),e.axis,e.ecModel,i.get("seriesDataIndices"),{precision:i.get("label.precision"),formatter:i.get("label.formatter")}),r=i.getModel("label"),s=OM(r.get("padding")||0),l=r.getFont(),u=De(a,l),h=o.position,c=u.width+s[1]+s[3],d=u.height+s[0]+s[2],f=o.align;"right"===f&&(h[0]-=c),"center"===f&&(h[0]-=c/2);var p=o.verticalAlign;"bottom"===p&&(h[1]-=d),"middle"===p&&(h[1]-=d/2),vm(h,c,d,n);var g=r.get("backgroundColor");g&&"auto"!==g||(g=e.get("axisLine.lineStyle.color")),t.label={shape:{x:0,y:0,width:c,height:d,r:r.get("borderRadius")},position:h.slice(),style:{text:a,textFont:l,textFill:r.getTextColor(),textPosition:"inside",fill:g,stroke:r.get("borderColor")||"transparent",lineWidth:r.get("borderWidth")||0,shadowBlur:r.get("shadowBlur"),shadowColor:r.get("shadowColor"),shadowOffsetX:r.get("shadowOffsetX"),shadowOffsetY:r.get("shadowOffsetY")},z2:10}}function vm(t,e,i,n){var o=n.getWidth(),a=n.getHeight();t[0]=Math.min(t[0]+e,o)-e,t[1]=Math.min(t[1]+i,a)-i,t[0]=Math.max(t[0],0),t[1]=Math.max(t[1],0)}function ym(t,e,i,n,o){t=e.scale.parse(t);var a=e.scale.getLabel(t,{precision:o.precision}),r=o.formatter;if(r){var s={value:Wl(e,t),seriesData:[]};d(n,function(t){var e=i.getSeriesByIndex(t.seriesIndex),n=t.dataIndexInside,o=e&&e.getDataParams(n);o&&s.seriesData.push(o)}),_(r)?a=r.replace("{value}",a):x(r)&&(a=r(s))}return a}function xm(t,e,i){var n=mt();return wt(n,n,i.rotation),_t(n,n,i.position),Io([t.dataToCoord(e),(i.labelOffset||0)+(i.labelDirection||1)*(i.labelMargin||0)],n)}function _m(t,e,i,n,o,a){var r=ID.innerTextLayout(i.rotation,0,i.labelDirection);i.labelMargin=o.get("label.margin"),mm(e,n,o,a,{position:xm(n.axis,t,i),align:r.textAlign,verticalAlign:r.textVerticalAlign})}function wm(t,e,i){return i=i||0,{x1:t[i],y1:t[1-i],x2:e[i],y2:e[1-i]}}function bm(t,e,i){return i=i||0,{x:t[i],y:t[1-i],width:e[i],height:e[1-i]}}function Sm(t,e,i,n,o,a){return{cx:t,cy:e,r0:i,r:n,startAngle:o,endAngle:a,clockwise:!0}}function Mm(t,e){var i={};return i[e.dim+"AxisIndex"]=e.index,t.getCartesian(i)}function Im(t){return"x"===t.dim?0:1}function Tm(t){return t.isHorizontal()?0:1}function Am(t,e){var i=t.getRect();return[i[fP[e]],i[fP[e]]+i[pP[e]]]}function Dm(t,e,i){var n=new aM({shape:{x:t.x-10,y:t.y-10,width:0,height:t.height+20}});return So(n,{shape:{width:t.width+20,height:t.height+20}},e,i),n}function Cm(t,e,i){if(t.count())for(var n,o=e.coordinateSystem,a=e.getLayerSeries(),r=t.mapDimension("single"),s=t.mapDimension("value"),l=f(a,function(e){return f(e.indices,function(e){var i=o.dataToPoint(t.get(r,e));return i[1]=t.get(s,e),i})}),u=Lm(l),h=u.y0,c=i/u.max,d=a.length,p=a[0].indices.length,g=0;g<p;++g){n=h[g]*c,t.setItemLayout(a[0].indices[g],{layerIndex:0,x:l[0][g][0],y0:n,y:l[0][g][1]*c});for(var m=1;m<d;++m)n+=l[m-1][g][1]*c,t.setItemLayout(a[m].indices[g],{layerIndex:m,x:l[m][g][0],y0:n,y:l[m][g][1]*c})}}function Lm(t){for(var e=t.length,i=t[0].length,n=[],o=[],a=0,r={},s=0;s<i;++s){for(var l=0,u=0;l<e;++l)u+=t[l][s][1];u>a&&(a=u),n.push(u)}for(var h=0;h<i;++h)o[h]=(a-n[h])/2;a=0;for(var c=0;c<i;++c){var d=n[c]+o[c];d>a&&(a=d)}return r.y0=o,r.max=a,r}function km(t){var e=0;d(t.children,function(t){km(t);var i=t.value;y(i)&&(i=i[0]),e+=i});var i=t.value;y(i)&&(i=i[0]),(null==i||isNaN(i))&&(i=e),i<0&&(i=0),y(t.value)?t.value[0]=i:t.value=i}function Pm(t,e,i){function n(){r.ignore=r.hoverIgnore}function o(){r.ignore=r.normalIgnore}Zw.call(this);var a=new QS({z2:xP});a.seriesIndex=e.seriesIndex;var r=new qS({z2:_P,silent:t.getModel("label").get("silent")});this.add(a),this.add(r),this.updateData(!0,t,"normal",e,i),this.on("emphasis",n).on("normal",o).on("mouseover",n).on("mouseout",o)}function Nm(t,e,i){var n=t.getVisual("color"),o=t.getVisual("visualMeta");o&&0!==o.length||(n=null);var a=t.getModel("itemStyle").get("color");if(a)return a;if(n)return n;if(0===t.depth)return i.option.color[0];var r=i.option.color.length;return a=i.option.color[Om(t)%r]}function Om(t){for(var e=t;e.depth>1;)e=e.parentNode;return l(t.getAncestors()[0].children,e)}function Em(t,e,i){return i!==yP.NONE&&(i===yP.SELF?t===e:i===yP.ANCESTOR?t===e||t.isAncestorOf(e):t===e||t.isDescendantOf(e))}function Rm(t,e){var i=t.children||[];t.children=zm(i,e),i.length&&d(t.children,function(t){Rm(t,e)})}function zm(t,e){if("function"==typeof e)return t.sort(e);var i="asc"===e;return t.sort(function(t,e){var n=(t.getValue()-e.getValue())*(i?1:-1);return 0===n?(t.dataIndex-e.dataIndex)*(i?-1:1):n})}function Bm(t,e){return e=e||[0,0],f(["x","y"],function(i,n){var o=this.getAxis(i),a=e[n],r=t[n]/2;return"category"===o.type?o.getBandWidth():Math.abs(o.dataToCoord(a-r)-o.dataToCoord(a+r))},this)}function Vm(t,e){return e=e||[0,0],f([0,1],function(i){var n=e[i],o=t[i]/2,a=[],r=[];return a[i]=n-o,r[i]=n+o,a[1-i]=r[1-i]=e[1-i],Math.abs(this.dataToPoint(a)[i]-this.dataToPoint(r)[i])},this)}function Gm(t,e){var i=this.getAxis(),n=e instanceof Array?e[0]:e,o=(t instanceof Array?t[0]:t)/2;return"category"===i.type?i.getBandWidth():Math.abs(i.dataToCoord(n-o)-i.dataToCoord(n+o))}function Fm(t,e){return f(["Radius","Angle"],function(i,n){var o=this["get"+i+"Axis"](),a=e[n],r=t[n]/2,s="dataTo"+i,l="category"===o.type?o.getBandWidth():Math.abs(o[s](a-r)-o[s](a+r));return"Angle"===i&&(l=l*Math.PI/180),l},this)}function Wm(t){var e,i=t.type;if("path"===i){var n=t.shape,o=null!=n.width&&null!=n.height?{x:n.x||0,y:n.y||0,width:n.width,height:n.height}:null,a=tv(n);(e=Wn(a,null,o,n.layout||"center")).__customPathData=a}else"image"===i?(e=new hi({})).__customImagePath=t.style.image:"text"===i?(e=new qS({})).__customText=t.style.text:e=new(0,bM[i.charAt(0).toUpperCase()+i.slice(1)]);return e.__customGraphicType=i,e.name=t.name,e}function Hm(t,e,n,o,a,r,s){var l={},u=n.style||{};if(n.shape&&(l.shape=i(n.shape)),n.position&&(l.position=n.position.slice()),n.scale&&(l.scale=n.scale.slice()),n.origin&&(l.origin=n.origin.slice()),n.rotation&&(l.rotation=n.rotation),"image"===t.type&&n.style){h=l.style={};d(["x","y","width","height"],function(e){Zm(e,h,u,t.style,r)})}if("text"===t.type&&n.style){var h=l.style={};d(["x","y"],function(e){Zm(e,h,u,t.style,r)}),!u.hasOwnProperty("textFill")&&u.fill&&(u.textFill=u.fill),!u.hasOwnProperty("textStroke")&&u.stroke&&(u.textStroke=u.stroke)}if("group"!==t.type&&(t.useStyle(u),r)){t.style.opacity=0;var c=u.opacity;null==c&&(c=1),So(t,{style:{opacity:c}},o,e)}r?t.attr(l):bo(t,l,o,e),n.hasOwnProperty("z2")&&t.attr("z2",n.z2||0),n.hasOwnProperty("silent")&&t.attr("silent",n.silent),n.hasOwnProperty("invisible")&&t.attr("invisible",n.invisible),n.hasOwnProperty("ignore")&&t.attr("ignore",n.ignore),n.hasOwnProperty("info")&&t.attr("info",n.info);var f=n.styleEmphasis,p=!1===f;t.__cusHasEmphStl&&null==f||!t.__cusHasEmphStl&&p||(no(t,f),t.__cusHasEmphStl=!p),s&&ho(t,!p)}function Zm(t,e,i,n,o){null==i[t]||o||(e[t]=i[t],i[t]=n[t])}function Um(t,e,i,n){function o(t){null==t&&(t=h),v&&(c=e.getItemModel(t),d=c.getModel(AP),f=c.getModel(DP),p=e.getItemVisual(t,"color"),v=!1)}var s=t.get("renderItem"),l=t.coordinateSystem,u={};l&&(u=l.prepareCustoms?l.prepareCustoms():LP[l.type](l));var h,c,d,f,p,g=r({getWidth:n.getWidth,getHeight:n.getHeight,getZr:n.getZr,getDevicePixelRatio:n.getDevicePixelRatio,value:function(t,i){return null==i&&(i=h),e.get(e.getDimension(t||0),i)},style:function(i,n){null==n&&(n=h),o(n);var r=c.getModel(IP).getItemStyle();null!=p&&(r.fill=p);var s=e.getItemVisual(n,"opacity");return null!=s&&(r.opacity=s),fo(r,d,null,{autoColor:p,isRectText:!0}),r.text=d.getShallow("show")?A(t.getFormattedLabel(n,"normal"),gu(e,n)):null,i&&a(r,i),r},styleEmphasis:function(i,n){null==n&&(n=h),o(n);var r=c.getModel(TP).getItemStyle();return fo(r,f,null,{isRectText:!0},!0),r.text=f.getShallow("show")?D(t.getFormattedLabel(n,"emphasis"),t.getFormattedLabel(n,"normal"),gu(e,n)):null,i&&a(r,i),r},visual:function(t,i){return null==i&&(i=h),e.getItemVisual(i,t)},barLayout:function(t){if(l.getBaseAxis)return Tl(r({axis:l.getBaseAxis()},t),n)},currentSeriesIndices:function(){return i.getCurrentSeriesIndices()},font:function(t){return _o(t,i)}},u.api||{}),m={context:{},seriesId:t.id,seriesName:t.name,seriesIndex:t.seriesIndex,coordSys:u.coordSys,dataInsideLength:e.count(),encode:Xm(t.getData())},v=!0;return function(t,i){return h=t,v=!0,s&&s(r({dataIndexInside:t,dataIndex:e.getRawIndex(t),actionType:i?i.type:null},m),g)}}function Xm(t){var e={};return d(t.dimensions,function(i,n){var o=t.getDimensionInfo(i);if(!o.isExtraCoord){var a=o.coordDim;(e[a]=e[a]||[])[o.coordDimIndex]=n}}),e}function jm(t,e,i,n,o,a){return(t=Ym(t,e,i,n,o,a,!0))&&a.setItemGraphicEl(e,t),t}function Ym(t,e,i,n,o,a,r){var s=!i,l=(i=i||{}).type,u=i.shape,h=i.style;if(t&&(s||null!=l&&l!==t.__customGraphicType||"path"===l&&ev(u)&&tv(u)!==t.__customPathData||"image"===l&&iv(h,"image")&&h.image!==t.__customImagePath||"text"===l&&iv(u,"text")&&h.text!==t.__customText)&&(o.remove(t),t=null),!s){var c=!t;return!t&&(t=Wm(i)),Hm(t,e,i,n,a,c,r),"group"===l&&qm(t,e,i,n,a),o.add(t),t}}function qm(t,e,i,n,o){var a=i.children,r=a?a.length:0,s=i.$mergeChildren,l="byName"===s||i.diffChildrenByName,u=!1===s;if(r||l||u)if(l)Km({oldChildren:t.children()||[],newChildren:a||[],dataIndex:e,animatableModel:n,group:t,data:o});else{u&&t.removeAll();for(var h=0;h<r;h++)a[h]&&Ym(t.childAt(h),e,a[h],n,t,o)}}function Km(t){new Hs(t.oldChildren,t.newChildren,$m,$m,t).add(Jm).update(Jm).remove(Qm).execute()}function $m(t,e){var i=t&&t.name;return null!=i?i:CP+e}function Jm(t,e){var i=this.context,n=null!=t?i.newChildren[t]:null;Ym(null!=e?i.oldChildren[e]:null,i.dataIndex,n,i.animatableModel,i.group,i.data)}function Qm(t){var e=this.context,i=e.oldChildren[t];i&&e.group.remove(i)}function tv(t){return t&&(t.pathData||t.d)}function ev(t){return t&&(t.hasOwnProperty("pathData")||t.hasOwnProperty("d"))}function iv(t,e){return t&&t.hasOwnProperty(e)}function nv(t,e,i,n){var o=i.type,a=new(0,bM[o.charAt(0).toUpperCase()+o.slice(1)])(i);e.add(a),n.set(t,a),a.__ecGraphicId=t}function ov(t,e){var i=t&&t.parent;i&&("group"===t.type&&t.traverse(function(t){ov(t,e)}),e.removeKey(t.__ecGraphicId),i.remove(t))}function av(t){return t=a({},t),d(["id","parentId","$action","hv","bounding"].concat(HM),function(e){delete t[e]}),t}function rv(t,e){var i;return d(e,function(e){null!=t[e]&&"auto"!==t[e]&&(i=!0)}),i}function sv(t,e){var i=t.exist;if(e.id=t.keyInfo.id,!e.type&&i&&(e.type=i.type),null==e.parentId){var n=e.parentOption;n?e.parentId=n.id:i&&(e.parentId=i.parentId)}e.parentOption=null}function lv(t,e,i){var o=a({},i),r=t[e],s=i.$action||"merge";"merge"===s?r?(n(r,o,!0),ca(r,o,{ignoreSize:!0}),fa(i,r)):t[e]=o:"replace"===s?t[e]=o:"remove"===s&&r&&(t[e]=null)}function uv(t,e){t&&(t.hv=e.hv=[rv(e,["left","right"]),rv(e,["top","bottom"])],"group"===t.type&&(null==t.width&&(t.width=e.width=0),null==t.height&&(t.height=e.height=0)))}function hv(t,e,i){var n=t.eventData;t.silent||t.ignore||n||(n=t.eventData={componentType:"graphic",componentIndex:e.componentIndex,name:t.name}),n&&(n.info=t.info)}function cv(t,e,i){var n,o={},a="toggleSelected"===t;return i.eachComponent("legend",function(i){a&&null!=n?i[n?"select":"unSelect"](e.name):(i[t](e.name),n=i.isSelected(e.name)),d(i.getData(),function(t){var e=t.get("name");if("\n"!==e&&""!==e){var n=i.isSelected(e);o.hasOwnProperty(e)?o[e]=o[e]&&n:o[e]=n}})}),{name:e.name,selected:o}}function dv(t,e,i){var n=e.getBoxLayoutParams(),o=e.get("padding"),a={width:i.getWidth(),height:i.getHeight()},r=la(n,a,o);UM(e.get("orient"),t,e.get("itemGap"),r.width,r.height),ua(t,n,a,o)}function fv(t,e){var i=OM(e.get("padding")),n=e.getItemStyle(["color","opacity"]);return n.fill=e.get("backgroundColor"),t=new aM({shape:{x:t.x-i[3],y:t.y-i[0],width:t.width+i[1]+i[3],height:t.height+i[0]+i[2],r:e.get("borderRadius")},style:n,silent:!0,z2:-1})}function pv(t,e){e.dispatchAction({type:"legendToggleSelect",name:t})}function gv(t,e,i,n){var o=i.getZr().storage.getDisplayList()[0];o&&o.useHoverLayer||i.dispatchAction({type:"highlight",seriesName:t,name:e,excludeSeriesId:n})}function mv(t,e,i,n){var o=i.getZr().storage.getDisplayList()[0];o&&o.useHoverLayer||i.dispatchAction({type:"downplay",seriesName:t,name:e,excludeSeriesId:n})}function vv(t,e,i){var n=[1,1];n[t.getOrient().index]=0,ca(e,i,{type:"box",ignoreSize:n})}function yv(t){var e="left "+t+"s cubic-bezier(0.23, 1, 0.32, 1),top "+t+"s cubic-bezier(0.23, 1, 0.32, 1)";return f(ZP,function(t){return t+"transition:"+e}).join(";")}function xv(t){var e=[],i=t.get("fontSize"),n=t.getTextColor();return n&&e.push("color:"+n),e.push("font:"+t.getFont()),i&&e.push("line-height:"+Math.round(3*i/2)+"px"),WP(["decoration","align"],function(i){var n=t.get(i);n&&e.push("text-"+i+":"+n)}),e.join(";")}function _v(t){var e=[],i=t.get("transitionDuration"),n=t.get("backgroundColor"),o=t.getModel("textStyle"),a=t.get("padding");return i&&e.push(yv(i)),n&&(z_.canvasSupported?e.push("background-Color:"+n):(e.push("background-Color:#"+Ft(n)),e.push("filter:alpha(opacity=70)"))),WP(["width","color","radius"],function(i){var n="border-"+i,o=HP(n),a=t.get(o);null!=a&&e.push(n+":"+a+("color"===i?"":"px"))}),e.push(xv(o)),null!=a&&e.push("padding:"+OM(a).join("px ")+"px"),e.join(";")+";"}function wv(t,e){if(z_.wxa)return null;var i=document.createElement("div"),n=this._zr=e.getZr();this.el=i,this._x=e.getWidth()/2,this._y=e.getHeight()/2,t.appendChild(i),this._container=t,this._show=!1,this._hideTimeout;var o=this;i.onmouseenter=function(){o._enterable&&(clearTimeout(o._hideTimeout),o._show=!0),o._inContent=!0},i.onmousemove=function(e){if(e=e||window.event,!o._enterable){var i=n.handler;lt(t,e,!0),i.dispatch("mousemove",e)}},i.onmouseleave=function(){o._enterable&&o._show&&o.hideLater(o._hideDelay),o._inContent=!1}}function bv(t){this._zr=t.getZr(),this._show=!1,this._hideTimeout}function Sv(t){for(var e=t.pop();t.length;){var i=t.pop();i&&(Lo.isInstance(i)&&(i=i.get("tooltip",!0)),"string"==typeof i&&(i={formatter:i}),e=new Lo(i,e,e.ecModel))}return e}function Mv(t,e){return t.dispatchAction||m(e.dispatchAction,e)}function Iv(t,e,i,n,o,a,r){var s=i.getOuterSize(),l=s.width,u=s.height;return null!=a&&(t+l+a>n?t-=l+a:t+=a),null!=r&&(e+u+r>o?e-=u+r:e+=r),[t,e]}function Tv(t,e,i,n,o){var a=i.getOuterSize(),r=a.width,s=a.height;return t=Math.min(t+r,n)-r,e=Math.min(e+s,o)-s,t=Math.max(t,0),e=Math.max(e,0),[t,e]}function Av(t,e,i){var n=i[0],o=i[1],a=0,r=0,s=e.width,l=e.height;switch(t){case"inside":a=e.x+s/2-n/2,r=e.y+l/2-o/2;break;case"top":a=e.x+s/2-n/2,r=e.y-o-5;break;case"bottom":a=e.x+s/2-n/2,r=e.y+l+5;break;case"left":a=e.x-n-5,r=e.y+l/2-o/2;break;case"right":a=e.x+s+5,r=e.y+l/2-o/2}return[a,r]}function Dv(t){return"center"===t||"middle"===t}function Cv(t){return t.get("stack")||"__ec_stack_"+t.seriesIndex}function Lv(t){return t.dim}function kv(t,e){var i={};d(t,function(t,e){var n=t.getData(),o=t.coordinateSystem.getBaseAxis(),a=o.getExtent(),r="category"===o.type?o.getBandWidth():Math.abs(a[1]-a[0])/n.count(),s=i[Lv(o)]||{bandWidth:r,remainedWidth:r,autoWidthCount:0,categoryGap:"20%",gap:"30%",stacks:{}},l=s.stacks;i[Lv(o)]=s;var u=Cv(t);l[u]||s.autoWidthCount++,l[u]=l[u]||{width:0,maxWidth:0};var h=Ro(t.get("barWidth"),r),c=Ro(t.get("barMaxWidth"),r),d=t.get("barGap"),f=t.get("barCategoryGap");h&&!l[u].width&&(h=Math.min(s.remainedWidth,h),l[u].width=h,s.remainedWidth-=h),c&&(l[u].maxWidth=c),null!=d&&(s.gap=d),null!=f&&(s.categoryGap=f)});var n={};return d(i,function(t,e){n[e]={};var i=t.stacks,o=t.bandWidth,a=Ro(t.categoryGap,o),r=Ro(t.gap,1),s=t.remainedWidth,l=t.autoWidthCount,u=(s-a)/(l+(l-1)*r);u=Math.max(u,0),d(i,function(t,e){var i=t.maxWidth;i&&i<u&&(i=Math.min(i,s),t.width&&(i=Math.min(i,t.width)),s-=i,t.width=i,l--)}),u=(s-a)/(l+(l-1)*r),u=Math.max(u,0);var h,c=0;d(i,function(t,e){t.width||(t.width=u),h=t,c+=t.width*(1+r)}),h&&(c-=h.width*r);var f=-c/2;d(i,function(t,i){n[e][i]=n[e][i]||{offset:f,width:t.width},f+=t.width*(1+r)})}),n}function Pv(t,e){HA.call(this,"radius",t,e),this.type="category"}function Nv(t,e){e=e||[0,360],HA.call(this,"angle",t,e),this.type="category"}function Ov(t,e){return e.type||(e.data?"category":"value")}function Ev(t,e,i){var n=e.get("center"),o=i.getWidth(),a=i.getHeight();t.cx=Ro(n[0],o),t.cy=Ro(n[1],a);var r=t.getRadiusAxis(),s=Math.min(o,a)/2,l=Ro(e.get("radius"),s);r.inverse?r.setExtent(l,0):r.setExtent(0,l)}function Rv(t,e){var i=this,n=i.getAngleAxis(),o=i.getRadiusAxis();if(n.scale.setExtent(1/0,-1/0),o.scale.setExtent(1/0,-1/0),t.eachSeries(function(t){if(t.coordinateSystem===i){var e=t.getData();d(e.mapDimension("radius",!0),function(t){o.scale.unionExtentFromData(e,cl(e,t))}),d(e.mapDimension("angle",!0),function(t){n.scale.unionExtentFromData(e,cl(e,t))})}}),Bl(n.scale,n.model),Bl(o.scale,o.model),"category"===n.type&&!n.onBand){var a=n.getExtent(),r=360/n.scale.count();n.inverse?a[1]+=r:a[1]-=r,n.setExtent(a[0],a[1])}}function zv(t,e){if(t.type=e.get("type"),t.scale=Vl(e),t.onBand=e.get("boundaryGap")&&"category"===t.type,t.inverse=e.get("inverse"),"angleAxis"===e.mainType){t.inverse^=e.get("clockwise");var i=e.get("startAngle");t.setExtent(i,i+(t.inverse?-360:360))}e.axis=t,t.model=e}function Bv(t,e,i){e[1]>e[0]&&(e=e.slice().reverse());var n=t.coordToPoint([e[0],i]),o=t.coordToPoint([e[1],i]);return{x1:n[0],y1:n[1],x2:o[0],y2:o[1]}}function Vv(t){return t.getRadiusAxis().inverse?0:1}function Gv(t){var e=t[0],i=t[t.length-1];e&&i&&Math.abs(Math.abs(e.coord-i.coord)-360)<1e-4&&t.pop()}function Fv(t,e,i){return{position:[t.cx,t.cy],rotation:i/180*Math.PI,labelDirection:-1,tickDirection:-1,nameDirection:1,labelRotate:e.getModel("axisLabel").get("rotate"),z2:1}}function Wv(t,e,i,n,o){var a=e.axis,r=a.dataToCoord(t),s=n.getAngleAxis().getExtent()[0];s=s/180*Math.PI;var l,u,h,c=n.getRadiusAxis().getExtent();if("radius"===a.dim){var d=mt();wt(d,d,s),_t(d,d,[n.cx,n.cy]),l=Io([r,-o],d);var f=e.getModel("axisLabel").get("rotate")||0,p=ID.innerTextLayout(s,f*Math.PI/180,-1);u=p.textAlign,h=p.textVerticalAlign}else{var g=c[1];l=n.coordToPoint([g+o,r]);var m=n.cx,v=n.cy;u=Math.abs(l[0]-m)/g<.3?"center":l[0]>m?"left":"right",h=Math.abs(l[1]-v)/g<.3?"middle":l[1]>v?"top":"bottom"}return{position:l,align:u,verticalAlign:h}}function Hv(t,e){e.update="updateView",Ps(e,function(e,i){var n={};return i.eachComponent({mainType:"geo",query:e},function(i){i[t](e.name),d(i.coordinateSystem.regions,function(t){n[t.name]=i.isSelected(t.name)||!1})}),{selected:n,name:e.name}})}function Zv(t){var e={};d(t,function(t){e[t]=1}),t.length=0,d(e,function(e,i){t.push(i)})}function Uv(t){if(t)for(var e in t)if(t.hasOwnProperty(e))return!0}function Xv(t,e,n){function o(){var t=function(){};return t.prototype.__hidden=t.prototype,new t}var a={};return rN(e,function(e){var r=a[e]=o();rN(t[e],function(t,o){if(jC.isValidType(o)){var a={type:o,visual:t};n&&n(a,e),r[o]=new jC(a),"opacity"===o&&((a=i(a)).type="colorAlpha",r.__hidden.__alphaForOpacity=new jC(a))}})}),a}function jv(t,e,n){var o;d(n,function(t){e.hasOwnProperty(t)&&Uv(e[t])&&(o=!0)}),o&&d(n,function(n){e.hasOwnProperty(n)&&Uv(e[n])?t[n]=i(e[n]):delete t[n]})}function Yv(t,e,i,n,o,a){function r(t){return i.getItemVisual(h,t)}function s(t,e){i.setItemVisual(h,t,e)}function l(t,l){h=null==a?t:l;var c=i.getRawDataItem(h);if(!c||!1!==c.visualMap)for(var d=n.call(o,t),f=e[d],p=u[d],g=0,m=p.length;g<m;g++){var v=p[g];f[v]&&f[v].applyVisual(t,r,s)}}var u={};d(t,function(t){var i=jC.prepareVisualTypes(e[t]);u[t]=i});var h;null==a?i.each(l):i.each([a],l)}function qv(t,e,i,n){var o={};return d(t,function(t){var i=jC.prepareVisualTypes(e[t]);o[t]=i}),{progress:function(t,a){null!=n&&(n=a.getDimension(n));for(var r;null!=(r=t.next());){var s=a.getRawDataItem(r);if(s&&!1===s.visualMap)return;for(var l=null!=n?a.get(n,r,!0):r,u=i(l),h=e[u],c=o[u],d=0,f=c.length;d<f;d++){var p=c[d];h[p]&&h[p].applyVisual(l,function(t){return a.getItemVisual(r,t)},function(t,e){a.setItemVisual(r,t,e)})}}}}}function Kv(t){var e=["x","y"],i=["width","height"];return{point:function(e,i,n){if(e){var o=n.range;return $v(e[t],o)}},rect:function(n,o,a){if(n){var r=a.range,s=[n[e[t]],n[e[t]]+n[i[t]]];return s[1]<s[0]&&s.reverse(),$v(s[0],r)||$v(s[1],r)||$v(r[0],s)||$v(r[1],s)}}}}function $v(t,e){return e[0]<=t&&t<=e[1]}function Jv(t,e,i,n,o){for(var a=0,r=o[o.length-1];a<o.length;a++){var s=o[a];if(Qv(t,e,i,n,s[0],s[1],r[0],r[1]))return!0;r=s}}function Qv(t,e,i,n,o,a,r,s){var l=ey(i-t,o-r,n-e,a-s);if(ty(l))return!1;var u=ey(o-t,o-r,a-e,a-s)/l;if(u<0||u>1)return!1;var h=ey(i-t,o-t,n-e,a-e)/l;return!(h<0||h>1)}function ty(t){return t<=1e-6&&t>=-1e-6}function ey(t,e,i,n){return t*n-e*i}function iy(t,e,i){var n=this._targetInfoList=[],o={},a=oy(e,t);lN(pN,function(t,e){(!i||!i.include||uN(i.include,e)>=0)&&t(a,n,o)})}function ny(t){return t[0]>t[1]&&t.reverse(),t}function oy(t,e){return Vi(t,e,{includeMainTypes:dN})}function ay(t,e,i,n){var o=i.getAxis(["x","y"][t]),a=ny(f([0,1],function(t){return e?o.coordToData(o.toLocalCoord(n[t])):o.toGlobalCoord(o.dataToCoord(n[t]))})),r=[];return r[t]=a,r[1-t]=[NaN,NaN],{values:a,xyMinMax:r}}function ry(t,e,i,n){return[e[0]-n[t]*i[0],e[1]-n[t]*i[1]]}function sy(t,e){var i=ly(t),n=ly(e),o=[i[0]/n[0],i[1]/n[1]];return isNaN(o[0])&&(o[0]=1),isNaN(o[1])&&(o[1]=1),o}function ly(t){return t?[t[0][1]-t[0][0],t[1][1]-t[1][0]]:[NaN,NaN]}function uy(t,e,i,n,o){if(o){var a=t.getZr();a[wN]||(a[_N]||(a[_N]=hy),Lr(a,_N,i,e)(t,n))}}function hy(t,e){if(!t.isDisposed()){var i=t.getZr();i[wN]=!0,t.dispatchAction({type:"brushSelect",batch:e}),i[wN]=!1}}function cy(t,e,i,n){for(var o=0,a=e.length;o<a;o++){var r=e[o];if(t[r.brushType](n,i,r.selectors,r))return!0}}function dy(t){var e=t.brushSelector;if(_(e)){var i=[];return d(sN,function(t,n){i[n]=function(i,n,o,a){var r=n.getItemLayout(i);return t[e](r,o,a)}}),i}if(x(e)){var n={};return d(sN,function(t,i){n[i]=e}),n}return e}function fy(t,e){var i=t.option.seriesIndex;return null!=i&&"all"!==i&&(y(i)?l(i,e)<0:e!==i)}function py(t){var e=t.selectors={};return d(sN[t.brushType],function(i,n){e[n]=function(n){return i(n,e,t)}}),t}function gy(t){return new ue(t[0][0],t[1][0],t[0][1]-t[0][0],t[1][1]-t[1][0])}function my(t,e){return n({brushType:t.brushType,brushMode:t.brushMode,transformable:t.transformable,brushStyle:new Lo(t.brushStyle).getItemStyle(),removeOnClick:t.removeOnClick,z:t.z},e,!0)}function vy(t,e,i,n){(!n||n.$from!==t.id)&&this._brushController.setPanels(t.brushTargetManager.makePanelOpts(i)).enableBrush(t.brushOption).updateCovers(t.areas.slice())}function yy(t,e){IN[t]=e}function xy(t){return IN[t]}function _y(t,e,i){this.model=t,this.ecModel=e,this.api=i,this._brushType,this._brushMode}function wy(t,e,i){this._model=t}function by(t,e,i,n){var o=i.calendarModel,a=i.seriesModel,r=o?o.coordinateSystem:a?a.coordinateSystem:null;return r===this?r[t](n):null}function Sy(t,e){var i=t.cellSize;y(i)?1===i.length&&(i[1]=i[0]):i=t.cellSize=[i,i];var n=f([0,1],function(t){return ha(e,t)&&(i[t]="auto"),null!=i[t]&&"auto"!==i[t]});ca(t,e,{type:"box",ignoreSize:n})}function My(t){return l(kN,t)>=0}function Iy(t,e,i){function n(t,e){return l(e.nodes,t)>=0}function o(t,n){var o=!1;return e(function(e){d(i(t,e)||[],function(t){n.records[e.name][t]&&(o=!0)})}),o}function a(t,n){n.nodes.push(t),e(function(e){d(i(t,e)||[],function(t){n.records[e.name][t]=!0})})}return function(i){var r={nodes:[],records:{}};if(e(function(t){r.records[t.name]={}}),!i)return r;a(i,r);var s;do{s=!1,t(function(t){!n(t,r)&&o(t,r)&&(a(t,r),s=!0)})}while(s);return r}}function Ty(t,e,i){var n=[1/0,-1/0];return NN(i,function(t){var i=t.getData();i&&NN(i.mapDimension(e,!0),function(t){var e=i.getApproximateExtent(t);e[0]<n[0]&&(n[0]=e[0]),e[1]>n[1]&&(n[1]=e[1])})}),n[1]<n[0]&&(n=[NaN,NaN]),Ay(t,n),n}function Ay(t,e){var i=t.getAxisModel(),n=i.getMin(!0),o="category"===i.get("type"),a=o&&i.getCategories().length;null!=n&&"dataMin"!==n&&"function"!=typeof n?e[0]=n:o&&(e[0]=a>0?0:NaN);var r=i.getMax(!0);return null!=r&&"dataMax"!==r&&"function"!=typeof r?e[1]=r:o&&(e[1]=a>0?a-1:NaN),i.get("scale",!0)||(e[0]>0&&(e[0]=0),e[1]<0&&(e[1]=0)),e}function Dy(t,e){var i=t.getAxisModel(),n=t._percentWindow,o=t._valueWindow;if(n){var a=Fo(o,[0,500]);a=Math.min(a,20);var r=e||0===n[0]&&100===n[1];i.setRange(r?null:+o[0].toFixed(a),r?null:+o[1].toFixed(a))}}function Cy(t){var e=t._minMaxSpan={},i=t._dataZoomModel;NN(["min","max"],function(n){e[n+"Span"]=i.get(n+"Span");var o=i.get(n+"ValueSpan");if(null!=o&&(e[n+"ValueSpan"]=o,null!=(o=t.getAxisModel().axis.scale.parse(o)))){var a=t._dataExtent;e[n+"Span"]=Eo(a[0]+o,a,[0,100],!0)}})}function Ly(t){var e={};return RN(["start","end","startValue","endValue","throttle"],function(i){t.hasOwnProperty(i)&&(e[i]=t[i])}),e}function ky(t,e){var i=t._rangePropMode,n=t.get("rangeMode");RN([["start","startValue"],["end","endValue"]],function(t,o){var a=null!=e[t[0]],r=null!=e[t[1]];a&&!r?i[o]="percent":!a&&r?i[o]="value":n?i[o]=n[o]:a&&(i[o]="percent")})}function Py(t){return{x:"y",y:"x",radius:"angle",angle:"radius"}[t]}function Ny(t){return"vertical"===t?"ns-resize":"ew-resize"}function Oy(t,e){var i=zy(t),n=e.dataZoomId,o=e.coordId;d(i,function(t,i){var a=t.dataZoomInfos;a[n]&&l(e.allCoordIds,o)<0&&(delete a[n],t.count--)}),Vy(i);var a=i[o];a||((a=i[o]={coordId:o,dataZoomInfos:{},count:0}).controller=By(t,a),a.dispatchAction=v(Gy,t)),!a.dataZoomInfos[n]&&a.count++,a.dataZoomInfos[n]=e;var r=Fy(a.dataZoomInfos);a.controller.enable(r.controlType,r.opt),a.controller.setPointerChecker(e.containsPoint),Lr(a,"dispatchAction",e.dataZoomModel.get("throttle",!0),"fixRate")}function Ey(t,e){var i=zy(t);d(i,function(t){t.controller.dispose();var i=t.dataZoomInfos;i[e]&&(delete i[e],t.count--)}),Vy(i)}function Ry(t){return t.type+"\0_"+t.id}function zy(t){var e=t.getZr();return e[qN]||(e[qN]={})}function By(t,e){var i=new ac(t.getZr());return d(["pan","zoom","scrollMove"],function(t){i.on(t,function(i){var n=[];d(e.dataZoomInfos,function(o){if(i.isAvailableBehavior(o.dataZoomModel.option)){var a=(o.getRange||{})[t],r=a&&a(e.controller,i);!o.dataZoomModel.get("disabled",!0)&&r&&n.push({dataZoomId:o.dataZoomId,start:r[0],end:r[1]})}}),n.length&&e.dispatchAction(n)})}),i}function Vy(t){d(t,function(e,i){e.count||(e.controller.dispose(),delete t[i])})}function Gy(t,e){t.dispatchAction({type:"dataZoom",batch:e})}function Fy(t){var e,i={type_true:2,type_move:1,type_false:0,type_undefined:-1},n=!0;return d(t,function(t){var o=t.dataZoomModel,a=!o.get("disabled",!0)&&(!o.get("zoomLock",!0)||"move");i["type_"+a]>i["type_"+e]&&(e=a),n&=o.get("preventDefaultMouseMove",!0)}),{controlType:e,opt:{zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!0,preventDefaultMouseMove:!!n}}}function Wy(t){return function(e,i,n,o){var a=this._range,r=a.slice(),s=e.axisModels[0];if(s){var l=t(r,s,e,i,n,o);return EL(l,r,[0,100],"all"),this._range=r,a[0]!==r[0]||a[1]!==r[1]?r:void 0}}}function Hy(t,e){return t&&t.hasOwnProperty&&t.hasOwnProperty(e)}function Zy(t,e,i,n){for(var o=e.targetVisuals[n],a=jC.prepareVisualTypes(o),r={color:t.getData().getVisual("color")},s=0,l=a.length;s<l;s++){var u=a[s],h=o["opacity"===u?"__alphaForOpacity":u];h&&h.applyVisual(i,function(t){return r[t]},function(t,e){r[t]=e})}return r.color}function Uy(t,e,i){if(i[0]===i[1])return i.slice();for(var n=(i[1]-i[0])/200,o=i[0],a=[],r=0;r<=200&&o<i[1];r++)a.push(o),o+=n;return a.push(i[1]),a}function Xy(t,e,i){var n=t.option,o=n.align;if(null!=o&&"auto"!==o)return o;for(var a={width:e.getWidth(),height:e.getHeight()},r="horizontal"===n.orient?1:0,s=[["left","right","width"],["top","bottom","height"]],l=s[r],u=[0,null,10],h={},c=0;c<3;c++)h[s[1-r][c]]=u[c],h[l[c]]=2===c?i[0]:n[l[c]];var d=[["x","width",3],["y","height",0]][r],f=la(h,a,n.padding);return l[(f.margin[d[2]]||0)+f[d[0]]+.5*f[d[1]]<.5*a[d[1]]?0:1]}function jy(t){return d(t||[],function(e){null!=t.dataIndex&&(t.dataIndexInside=t.dataIndex,t.dataIndex=null)}),t}function Yy(t,e,i,n){return new nM({shape:{points:t},draggable:!!i,cursor:e,drift:i,onmousemove:function(t){lw(t.event)},ondragend:n})}function qy(t,e){return 0===t?[[0,0],[e,0],[e,-e]]:[[0,0],[e,0],[e,e]]}function Ky(t,e,i,n){return t?[[0,-yO(e,xO(i,0))],[wO,0],[0,yO(e,xO(n-i,0))]]:[[0,0],[5,-5],[5,5]]}function $y(t,e,i){var n=_O/2,o=t.get("hoverLinkDataSize");return o&&(n=mO(o,e,i,!0)/2),n}function Jy(t){var e=t.get("hoverLinkOnHandle");return!!(null==e?t.get("realtime"):e)}function Qy(t){return"vertical"===t?"ns-resize":"ew-resize"}function tx(t,e){var i=t.inverse;("vertical"===t.orient?!i:i)&&e.reverse()}function ex(t){Ci(t,"label",["show"])}function ix(t){return!(isNaN(parseFloat(t.x))&&isNaN(parseFloat(t.y)))}function nx(t){return!isNaN(parseFloat(t.x))&&!isNaN(parseFloat(t.y))}function ox(t,e,i,n,o,a){var r=[],s=hl(e,n)?e.getCalculationInfo("stackResultDimension"):n,l=hx(e,s,t),u=e.indicesOfNearest(s,l)[0];r[o]=e.get(i,u),r[a]=e.get(n,u);var h=Vo(e.get(n,u));return(h=Math.min(h,20))>=0&&(r[a]=+r[a].toFixed(h)),r}function ax(t,e){var n=t.getData(),o=t.coordinateSystem;if(e&&!nx(e)&&!y(e.coord)&&o){var a=o.dimensions,r=rx(e,n,o,t);if((e=i(e)).type&&LO[e.type]&&r.baseAxis&&r.valueAxis){var s=DO(a,r.baseAxis.dim),l=DO(a,r.valueAxis.dim);e.coord=LO[e.type](n,r.baseDataDim,r.valueDataDim,s,l),e.value=e.coord[l]}else{for(var u=[null!=e.xAxis?e.xAxis:e.radiusAxis,null!=e.yAxis?e.yAxis:e.angleAxis],h=0;h<2;h++)LO[u[h]]&&(u[h]=hx(n,n.mapDimension(a[h]),u[h]));e.coord=u}}return e}function rx(t,e,i,n){var o={};return null!=t.valueIndex||null!=t.valueDim?(o.valueDataDim=null!=t.valueIndex?e.getDimension(t.valueIndex):t.valueDim,o.valueAxis=i.getAxis(sx(n,o.valueDataDim)),o.baseAxis=i.getOtherAxis(o.valueAxis),o.baseDataDim=e.mapDimension(o.baseAxis.dim)):(o.baseAxis=n.getBaseAxis(),o.valueAxis=i.getOtherAxis(o.baseAxis),o.baseDataDim=e.mapDimension(o.baseAxis.dim),o.valueDataDim=e.mapDimension(o.valueAxis.dim)),o}function sx(t,e){var i=t.getData(),n=i.dimensions;e=i.getDimension(e);for(var o=0;o<n.length;o++){var a=i.getDimensionInfo(n[o]);if(a.name===e)return a.coordDim}}function lx(t,e){return!(t&&t.containData&&e.coord&&!ix(e))||t.containData(e.coord)}function ux(t,e,i,n){return n<2?t.coord&&t.coord[n]:t.value}function hx(t,e,i){if("average"===i){var n=0,o=0;return t.each(e,function(t,e){isNaN(t)||(n+=t,o++)}),n/o}return"median"===i?t.getMedian(e):t.getDataExtent(e,!0)["max"===i?1:0]}function cx(t,e,i){var n=e.coordinateSystem;t.each(function(o){var a,r=t.getItemModel(o),s=Ro(r.get("x"),i.getWidth()),l=Ro(r.get("y"),i.getHeight());if(isNaN(s)||isNaN(l)){if(e.getMarkerPosition)a=e.getMarkerPosition(t.getValues(t.dimensions,o));else if(n){var u=t.get(n.dimensions[0],o),h=t.get(n.dimensions[1],o);a=n.dataToPoint([u,h])}}else a=[s,l];isNaN(s)||(a[0]=s),isNaN(l)||(a[1]=l),t.setItemLayout(o,a)})}function dx(t,e,i){var n;n=t?f(t&&t.dimensions,function(t){return r({name:t},e.getData().getDimensionInfo(e.getData().mapDimension(t))||{})}):[{name:"value",type:"float"}];var o=new eA(n,i),a=f(i.get("data"),v(ax,e));return t&&(a=g(a,v(lx,t))),o.initData(a,null,t?ux:function(t){return t.value}),o}function fx(t){return!isNaN(t)&&!isFinite(t)}function px(t,e,i,n){var o=1-t,a=n.dimensions[t];return fx(e[o])&&fx(i[o])&&e[t]===i[t]&&n.getAxis(a).containData(e[t])}function gx(t,e){if("cartesian2d"===t.type){var i=e[0].coord,n=e[1].coord;if(i&&n&&(px(1,i,n,t)||px(0,i,n,t)))return!0}return lx(t,e[0])&&lx(t,e[1])}function mx(t,e,i,n,o){var a,r=n.coordinateSystem,s=t.getItemModel(e),l=Ro(s.get("x"),o.getWidth()),u=Ro(s.get("y"),o.getHeight());if(isNaN(l)||isNaN(u)){if(n.getMarkerPosition)a=n.getMarkerPosition(t.getValues(t.dimensions,e));else{var h=r.dimensions,c=t.get(h[0],e),d=t.get(h[1],e);a=r.dataToPoint([c,d])}if("cartesian2d"===r.type){var f=r.getAxis("x"),p=r.getAxis("y"),h=r.dimensions;fx(t.get(h[0],e))?a[0]=f.toGlobalCoord(f.getExtent()[i?0:1]):fx(t.get(h[1],e))&&(a[1]=p.toGlobalCoord(p.getExtent()[i?0:1]))}isNaN(l)||(a[0]=l),isNaN(u)||(a[1]=u)}else a=[l,u];t.setItemLayout(e,a)}function vx(t,e,i){var n;n=t?f(t&&t.dimensions,function(t){return r({name:t},e.getData().getDimensionInfo(e.getData().mapDimension(t))||{})}):[{name:"value",type:"float"}];var o=new eA(n,i),a=new eA(n,i),s=new eA([],i),l=f(i.get("data"),v(PO,e,t,i));t&&(l=g(l,v(gx,t)));var u=t?ux:function(t){return t.value};return o.initData(f(l,function(t){return t[0]}),null,u),a.initData(f(l,function(t){return t[1]}),null,u),s.initData(f(l,function(t){return t[2]})),s.hasItemOption=!0,{from:o,to:a,line:s}}function yx(t){return!isNaN(t)&&!isFinite(t)}function xx(t,e,i,n){var o=1-t;return yx(e[o])&&yx(i[o])}function _x(t,e){var i=e.coord[0],n=e.coord[1];return!("cartesian2d"!==t.type||!i||!n||!xx(1,i,n,t)&&!xx(0,i,n,t))||(lx(t,{coord:i,x:e.x0,y:e.y0})||lx(t,{coord:n,x:e.x1,y:e.y1}))}function bx(t,e,i,n,o){var a,r=n.coordinateSystem,s=t.getItemModel(e),l=Ro(s.get(i[0]),o.getWidth()),u=Ro(s.get(i[1]),o.getHeight());if(isNaN(l)||isNaN(u)){if(n.getMarkerPosition)a=n.getMarkerPosition(t.getValues(i,e));else{var h=[f=t.get(i[0],e),p=t.get(i[1],e)];r.clampData&&r.clampData(h,h),a=r.dataToPoint(h,!0)}if("cartesian2d"===r.type){var c=r.getAxis("x"),d=r.getAxis("y"),f=t.get(i[0],e),p=t.get(i[1],e);yx(f)?a[0]=c.toGlobalCoord(c.getExtent()["x0"===i[0]?0:1]):yx(p)&&(a[1]=d.toGlobalCoord(d.getExtent()["y0"===i[1]?0:1]))}isNaN(l)||(a[0]=l),isNaN(u)||(a[1]=u)}else a=[l,u];return a}function Sx(t,e,i){var n,o,a=["x0","y0","x1","y1"];t?(n=f(t&&t.dimensions,function(t){var i=e.getData();return r({name:t},i.getDimensionInfo(i.mapDimension(t))||{})}),o=new eA(f(a,function(t,e){return{name:t,type:n[e%2].type}}),i)):o=new eA(n=[{name:"value",type:"float"}],i);var s=f(i.get("data"),v(NO,e,t,i));t&&(s=g(s,v(_x,t)));var l=t?function(t,e,i,n){return t.coord[Math.floor(n/2)][n%2]}:function(t){return t.value};return o.initData(s,null,l),o.hasItemOption=!0,o}function Mx(t){var e=t.type,i={number:"value",time:"time"};if(i[e]&&(t.axisType=i[e],delete t.type),Ix(t),Tx(t,"controlPosition")){var n=t.controlStyle||(t.controlStyle={});Tx(n,"position")||(n.position=t.controlPosition),"none"!==n.position||Tx(n,"show")||(n.show=!1,delete n.position),delete t.controlPosition}d(t.data||[],function(t){w(t)&&!y(t)&&(!Tx(t,"value")&&Tx(t,"name")&&(t.value=t.name),Ix(t))})}function Ix(t){var e=t.itemStyle||(t.itemStyle={}),i=e.emphasis||(e.emphasis={}),n=t.label||t.label||{},o=n.normal||(n.normal={}),a={normal:1,emphasis:1};d(n,function(t,e){a[e]||Tx(o,e)||(o[e]=t)}),i.label&&!Tx(n,"emphasis")&&(n.emphasis=i.label,delete i.label)}function Tx(t,e){return t.hasOwnProperty(e)}function Ax(t,e){return la(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()},t.get("padding"))}function Dx(t,e,n,o){return Wn(t.get(e).replace(/^path:\/\//,""),i(o||{}),new ue(n[0],n[1],n[2],n[3]),"center")}function Cx(t,e,i,o,a,r){var s=e.get("color");a?(a.setColor(s),i.add(a),r&&r.onUpdate(a)):((a=Xl(t.get("symbol"),-1,-1,2,2,s)).setStyle("strokeNoScale",!0),i.add(a),r&&r.onCreate(a));var l=e.getItemStyle(["color","symbol","symbolSize"]);a.setStyle(l),o=n({rectHover:!0,z2:100},o,!0);var u=t.get("symbolSize");(u=u instanceof Array?u.slice():[+u,+u])[0]/=2,u[1]/=2,o.scale=u;var h=t.get("symbolOffset");if(h){var c=o.position=o.position||[0,0];c[0]+=Ro(h[0],u[0]),c[1]+=Ro(h[1],u[1])}var d=t.get("symbolRotate");return o.rotation=(d||0)*Math.PI/180||0,a.attr(o),a.updateTransform(),a}function Lx(t,e,i,n,o){if(!t.dragging){var a=n.getModel("checkpointStyle"),r=i.dataToCoord(n.getData().get(["value"],e));o||!a.get("animation",!0)?t.attr({position:[r,0]}):(t.stopAnimation(!0),t.animateTo({position:[r,0]},a.get("animationDuration",!0),a.get("animationEasing",!0)))}}function kx(t){return 0===t.indexOf("my")}function Px(t){this.model=t}function Nx(t){this.model=t}function Ox(t){var e={},i=[],n=[];return t.eachRawSeries(function(t){var o=t.coordinateSystem;if(!o||"cartesian2d"!==o.type&&"polar"!==o.type)i.push(t);else{var a=o.getBaseAxis();if("category"===a.type){var r=a.dim+"_"+a.index;e[r]||(e[r]={categoryAxis:a,valueAxis:o.getOtherAxis(a),series:[]},n.push({axisDim:a.dim,axisIndex:a.index})),e[r].series.push(t)}else i.push(t)}}),{seriesGroupByCategoryAxis:e,other:i,meta:n}}function Ex(t){var e=[];return d(t,function(t,i){var n=t.categoryAxis,o=t.valueAxis.dim,a=[" "].concat(f(t.series,function(t){return t.name})),r=[n.model.getCategories()];d(t.series,function(t){r.push(t.getRawData().mapArray(o,function(t){return t}))});for(var s=[a.join(qO)],l=0;l<r[0].length;l++){for(var u=[],h=0;h<r.length;h++)u.push(r[h][l]);s.push(u.join(qO))}e.push(s.join("\n"))}),e.join("\n\n"+YO+"\n\n")}function Rx(t){return f(t,function(t){var e=t.getRawData(),i=[t.name],n=[];return e.each(e.dimensions,function(){for(var t=arguments.length,o=arguments[t-1],a=e.getName(o),r=0;r<t-1;r++)n[r]=arguments[r];i.push((a?a+qO:"")+n.join(qO))}),i.join("\n")}).join("\n\n"+YO+"\n\n")}function zx(t){var e=Ox(t);return{value:g([Ex(e.seriesGroupByCategoryAxis),Rx(e.other)],function(t){return t.replace(/[\n\t\s]/g,"")}).join("\n\n"+YO+"\n\n"),meta:e.meta}}function Bx(t){return t.replace(/^\s\s*/,"").replace(/\s\s*$/,"")}function Vx(t){if(t.slice(0,t.indexOf("\n")).indexOf(qO)>=0)return!0}function Gx(t){for(var e=t.split(/\n+/g),i=[],n=f(Bx(e.shift()).split(KO),function(t){return{name:t,data:[]}}),o=0;o<e.length;o++){var a=Bx(e[o]).split(KO);i.push(a.shift());for(var r=0;r<a.length;r++)n[r]&&(n[r].data[o]=a[r])}return{series:n,categories:i}}function Fx(t){for(var e=t.split(/\n+/g),i=Bx(e.shift()),n=[],o=0;o<e.length;o++){var a,r=Bx(e[o]).split(KO),s="",l=!1;isNaN(r[0])?(l=!0,s=r[0],r=r.slice(1),n[o]={name:s,value:[]},a=n[o].value):a=n[o]=[];for(var u=0;u<r.length;u++)a.push(+r[u]);1===a.length&&(l?n[o].value=a[0]:n[o]=a[0])}return{name:i,data:n}}function Wx(t,e){var i={series:[]};return d(t.split(new RegExp("\n*"+YO+"\n*","g")),function(t,n){if(Vx(t)){var o=Gx(t),a=e[n],r=a.axisDim+"Axis";a&&(i[r]=i[r]||[],i[r][a.axisIndex]={data:o.categories},i.series=i.series.concat(o.series))}else{o=Fx(t);i.series.push(o)}}),i}function Hx(t){this._dom=null,this.model=t}function Zx(t,e){return f(t,function(t,i){var n=e&&e[i];return w(n)&&!y(n)?(w(t)&&!y(t)&&(t=t.value),r({value:t},n)):t})}function Ux(t,e){var i=qx(t);$O(e,function(e,n){for(var o=i.length-1;o>=0&&!i[o][n];o--);if(o<0){var a=t.queryComponents({mainType:"dataZoom",subType:"select",id:n})[0];if(a){var r=a.getPercentRange();i[0][n]={dataZoomId:n,start:r[0],end:r[1]}}}}),i.push(e)}function Xx(t){var e=qx(t),i=e[e.length-1];e.length>1&&e.pop();var n={};return $O(i,function(t,i){for(var o=e.length-1;o>=0;o--)if(t=e[o][i]){n[i]=t;break}}),n}function jx(t){t[JO]=null}function Yx(t){return qx(t).length}function qx(t){var e=t[JO];return e||(e=t[JO]=[{}]),e}function Kx(t,e,i){(this._brushController=new Cf(i.getZr())).on("brush",m(this._onBrush,this)).mount(),this._isZoomActive}function $x(t){var e={};return d(["xAxisIndex","yAxisIndex"],function(i){e[i]=t[i],null==e[i]&&(e[i]="all"),(!1===e[i]||"none"===e[i])&&(e[i]=[])}),e}function Jx(t,e){t.setIconStatus("back",Yx(e)>1?"emphasis":"normal")}function Qx(t,e,i,n,o){var a=i._isZoomActive;n&&"takeGlobalCursor"===n.type&&(a="dataZoomSelect"===n.key&&n.dataZoomSelectActive),i._isZoomActive=a,t.setIconStatus("zoom",a?"emphasis":"normal");var r=new iy($x(t.option),e,{include:["grid"]});i._brushController.setPanels(r.makePanelOpts(o,function(t){return t.xAxisDeclared&&!t.yAxisDeclared?"lineX":!t.xAxisDeclared&&t.yAxisDeclared?"lineY":"rect"})).enableBrush(!!a&&{brushType:"auto",brushStyle:{lineWidth:0,fill:"rgba(0,0,0,0.2)"}})}function t_(t){this.model=t}function e_(t){return aE(t)}function i_(){if(!lE&&uE){lE=!0;var t=uE.styleSheets;t.length<31?uE.createStyleSheet().addRule(".zrvml","behavior:url(#default#VML)"):t[0].addRule(".zrvml","behavior:url(#default#VML)")}}function n_(t){return parseInt(t,10)}function o_(t,e){i_(),this.root=t,this.storage=e;var i=document.createElement("div"),n=document.createElement("div");i.style.cssText="display:inline-block;overflow:hidden;position:relative;width:300px;height:150px;",n.style.cssText="position:absolute;left:0;top:0;",t.appendChild(i),this._vmlRoot=n,this._vmlViewport=i,this.resize();var o=e.delFromStorage,a=e.addToStorage;e.delFromStorage=function(t){o.call(e,t),t&&t.onRemove&&t.onRemove(n)},e.addToStorage=function(t){t.onAdd&&t.onAdd(n),a.call(e,t)},this._firstPaint=!0}function a_(t){return function(){Bw('In IE8.0 VML mode painter not support method "'+t+'"')}}function r_(t){return document.createElementNS(HE,t)}function s_(t){return jE(1e4*t)/1e4}function l_(t){return t<QE&&t>-QE}function u_(t,e){var i=e?t.textFill:t.fill;return null!=i&&i!==XE}function h_(t,e){var i=e?t.textStroke:t.stroke;return null!=i&&i!==XE}function c_(t,e){e&&d_(t,"transform","matrix("+UE.call(e,",")+")")}function d_(t,e,i){(!i||"linear"!==i.type&&"radial"!==i.type)&&("string"==typeof i&&i.indexOf("NaN")>-1&&console.log(i),t.setAttribute(e,i))}function f_(t,e,i){t.setAttributeNS("http://www.w3.org/1999/xlink",e,i)}function p_(t,e,i,n){if(u_(e,i)){var o=i?e.textFill:e.fill;o="transparent"===o?XE:o,"none"!==t.getAttribute("clip-path")&&o===XE&&(o="rgba(0, 0, 0, 0.002)"),d_(t,"fill",o),d_(t,"fill-opacity",null!=e.fillOpacity?e.fillOpacity*e.opacity:e.opacity)}else d_(t,"fill",XE);if(h_(e,i)){var a=i?e.textStroke:e.stroke;d_(t,"stroke",a="transparent"===a?XE:a),d_(t,"stroke-width",(i?e.textStrokeWidth:e.lineWidth)/(!i&&e.strokeNoScale?n.getLineScale():1)),d_(t,"paint-order",i?"stroke":"fill"),d_(t,"stroke-opacity",null!=e.strokeOpacity?e.strokeOpacity:e.opacity),e.lineDash?(d_(t,"stroke-dasharray",e.lineDash.join(",")),d_(t,"stroke-dashoffset",jE(e.lineDashOffset||0))):d_(t,"stroke-dasharray",""),e.lineCap&&d_(t,"stroke-linecap",e.lineCap),e.lineJoin&&d_(t,"stroke-linejoin",e.lineJoin),e.miterLimit&&d_(t,"stroke-miterlimit",e.miterLimit)}else d_(t,"stroke",XE)}function g_(t){for(var e=[],i=t.data,n=t.len(),o=0;o<n;){var a="",r=0;switch(i[o++]){case ZE.M:a="M",r=2;break;case ZE.L:a="L",r=2;break;case ZE.Q:a="Q",r=4;break;case ZE.C:a="C",r=6;break;case ZE.A:var s=i[o++],l=i[o++],u=i[o++],h=i[o++],c=i[o++],d=i[o++],f=i[o++],p=i[o++],g=Math.abs(d),m=l_(g-$E)&&!l_(g),v=!1;v=g>=$E||!l_(g)&&(d>-KE&&d<0||d>KE)==!!p;var y=s_(s+u*qE(c)),x=s_(l+h*YE(c));m&&(d=p?$E-1e-4:1e-4-$E,v=!0,9===o&&e.push("M",y,x));var _=s_(s+u*qE(c+d)),w=s_(l+h*YE(c+d));e.push("A",s_(u),s_(h),jE(f*JE),+v,+p,_,w);break;case ZE.Z:a="Z";break;case ZE.R:var _=s_(i[o++]),w=s_(i[o++]),b=s_(i[o++]),S=s_(i[o++]);e.push("M",_,w,"L",_+b,w,"L",_+b,w+S,"L",_,w+S,"L",_,w)}a&&e.push(a);for(var M=0;M<r;M++)e.push(s_(i[o++]))}return e.join(" ")}function m_(t){return"middle"===t?"middle":"bottom"===t?"after-edge":"hanging"}function v_(){}function y_(t,e,i,n){for(var o=0,a=e.length,r=0,s=0;o<a;o++){var l=e[o];if(l.removed){for(var u=[],h=s;h<s+l.count;h++)u.push(h);l.indices=u,s+=l.count}else{for(var u=[],h=r;h<r+l.count;h++)u.push(h);l.indices=u,r+=l.count,l.added||(s+=l.count)}}return e}function x_(t){return{newPos:t.newPos,components:t.components.slice(0)}}function __(t,e,i,n,o){this._zrId=t,this._svgRoot=e,this._tagNames="string"==typeof i?[i]:i,this._markLabel=n,this._domName=o||"_dom",this.nextId=0}function w_(t,e){__.call(this,t,e,["linearGradient","radialGradient"],"__gradient_in_use__")}function b_(t,e){__.call(this,t,e,"clipPath","__clippath_in_use__")}function S_(t,e){__.call(this,t,e,["filter"],"__filter_in_use__","_shadowDom")}function M_(t){return t&&(t.shadowBlur||t.shadowOffsetX||t.shadowOffsetY||t.textShadowBlur||t.textShadowOffsetX||t.textShadowOffsetY)}function I_(t){return parseInt(t,10)}function T_(t){return t instanceof kn?tR:t instanceof hi?eR:t instanceof qS?iR:tR}function A_(t,e){return e&&t&&e.parentNode!==t}function D_(t,e,i){if(A_(t,e)&&i){var n=i.nextSibling;n?t.insertBefore(e,n):t.appendChild(e)}}function C_(t,e){if(A_(t,e)){var i=t.firstChild;i?t.insertBefore(e,i):t.appendChild(e)}}function L_(t,e){e&&t&&e.parentNode===t&&t.removeChild(e)}function k_(t){return t.__textSvgEl}function P_(t){return t.__svgEl}function N_(t){return function(){Bw('In SVG mode painter not support method "'+t+'"')}}var O_=2311,E_=function(){return O_++},R_={},z_=R_="object"==typeof wx&&"function"==typeof wx.getSystemInfoSync?{browser:{},os:{},node:!1,wxa:!0,canvasSupported:!0,svgSupported:!1,touchEventsSupported:!0,domSupported:!1}:"undefined"==typeof document&&"undefined"!=typeof self?{browser:{},os:{},node:!1,worker:!0,canvasSupported:!0,domSupported:!1}:"undefined"==typeof navigator?{browser:{},os:{},node:!0,worker:!1,canvasSupported:!0,svgSupported:!0,domSupported:!1}:function(t){var e={},i={},n=t.match(/Firefox\/([\d.]+)/),o=t.match(/MSIE\s([\d.]+)/)||t.match(/Trident\/.+?rv:(([\d.]+))/),a=t.match(/Edge\/([\d.]+)/),r=/micromessenger/i.test(t);return n&&(i.firefox=!0,i.version=n[1]),o&&(i.ie=!0,i.version=o[1]),a&&(i.edge=!0,i.version=a[1]),r&&(i.weChat=!0),{browser:i,os:e,node:!1,canvasSupported:!!document.createElement("canvas").getContext,svgSupported:"undefined"!=typeof SVGRect,touchEventsSupported:"ontouchstart"in window&&!i.ie&&!i.edge,pointerEventsSupported:"onpointerdown"in window&&(i.edge||i.ie&&i.version>=11),domSupported:"undefined"!=typeof document}}(navigator.userAgent),B_={"[object Function]":1,"[object RegExp]":1,"[object Date]":1,"[object Error]":1,"[object CanvasGradient]":1,"[object CanvasPattern]":1,"[object Image]":1,"[object Canvas]":1},V_={"[object Int8Array]":1,"[object Uint8Array]":1,"[object Uint8ClampedArray]":1,"[object Int16Array]":1,"[object Uint16Array]":1,"[object Int32Array]":1,"[object Uint32Array]":1,"[object Float32Array]":1,"[object Float64Array]":1},G_=Object.prototype.toString,F_=Array.prototype,W_=F_.forEach,H_=F_.filter,Z_=F_.slice,U_=F_.map,X_=F_.reduce,j_={},Y_=function(){return j_.createCanvas()};j_.createCanvas=function(){return document.createElement("canvas")};var q_,K_="__ec_primitive__";E.prototype={constructor:E,get:function(t){return this.data.hasOwnProperty(t)?this.data[t]:null},set:function(t,e){return this.data[t]=e},each:function(t,e){void 0!==e&&(t=m(t,e));for(var i in this.data)this.data.hasOwnProperty(i)&&t(this.data[i],i)},removeKey:function(t){delete this.data[t]}};var $_=(Object.freeze||Object)({$override:e,clone:i,merge:n,mergeAll:o,extend:a,defaults:r,createCanvas:Y_,getContext:s,indexOf:l,inherits:u,mixin:h,isArrayLike:c,each:d,map:f,reduce:p,filter:g,find:function(t,e,i){if(t&&e)for(var n=0,o=t.length;n<o;n++)if(e.call(i,t[n],n,t))return t[n]},bind:m,curry:v,isArray:y,isFunction:x,isString:_,isObject:w,isBuiltInObject:b,isTypedArray:S,isDom:M,eqNaN:I,retrieve:T,retrieve2:A,retrieve3:D,slice:C,normalizeCssArray:L,assert:k,trim:P,setAsPrimitive:N,isPrimitive:O,createHashMap:R,concatArray:z,noop:B}),J_="undefined"==typeof Float32Array?Array:Float32Array,Q_=X,tw=j,ew=K,iw=$,nw=(Object.freeze||Object)({create:V,copy:G,clone:F,set:W,add:H,scaleAndAdd:Z,sub:U,len:X,length:Q_,lenSquare:j,lengthSquare:tw,mul:function(t,e,i){return t[0]=e[0]*i[0],t[1]=e[1]*i[1],t},div:function(t,e,i){return t[0]=e[0]/i[0],t[1]=e[1]/i[1],t},dot:function(t,e){return t[0]*e[0]+t[1]*e[1]},scale:Y,normalize:q,distance:K,dist:ew,distanceSquare:$,distSquare:iw,negate:function(t,e){return t[0]=-e[0],t[1]=-e[1],t},lerp:J,applyTransform:Q,min:tt,max:et});it.prototype={constructor:it,_dragStart:function(t){var e=t.target;e&&e.draggable&&(this._draggingTarget=e,e.dragging=!0,this._x=t.offsetX,this._y=t.offsetY,this.dispatchToElement(nt(e,t),"dragstart",t.event))},_drag:function(t){var e=this._draggingTarget;if(e){var i=t.offsetX,n=t.offsetY,o=i-this._x,a=n-this._y;this._x=i,this._y=n,e.drift(o,a,t),this.dispatchToElement(nt(e,t),"drag",t.event);var r=this.findHover(i,n,e).target,s=this._dropTarget;this._dropTarget=r,e!==r&&(s&&r!==s&&this.dispatchToElement(nt(s,t),"dragleave",t.event),r&&r!==s&&this.dispatchToElement(nt(r,t),"dragenter",t.event))}},_dragEnd:function(t){var e=this._draggingTarget;e&&(e.dragging=!1),this.dispatchToElement(nt(e,t),"dragend",t.event),this._dropTarget&&this.dispatchToElement(nt(this._dropTarget,t),"drop",t.event),this._draggingTarget=null,this._dropTarget=null}};var ow=Array.prototype.slice,aw=function(t){this._$handlers={},this._$eventProcessor=t};aw.prototype={constructor:aw,one:function(t,e,i,n){var o=this._$handlers;if("function"==typeof e&&(n=i,i=e,e=null),!i||!t)return this;e=ot(this,e),o[t]||(o[t]=[]);for(var a=0;a<o[t].length;a++)if(o[t][a].h===i)return this;return o[t].push({h:i,one:!0,query:e,ctx:n||this}),this},on:function(t,e,i,n){var o=this._$handlers;if("function"==typeof e&&(n=i,i=e,e=null),!i||!t)return this;e=ot(this,e),o[t]||(o[t]=[]);for(var a=0;a<o[t].length;a++)if(o[t][a].h===i)return this;return o[t].push({h:i,one:!1,query:e,ctx:n||this}),this},isSilent:function(t){var e=this._$handlers;return e[t]&&e[t].length},off:function(t,e){var i=this._$handlers;if(!t)return this._$handlers={},this;if(e){if(i[t]){for(var n=[],o=0,a=i[t].length;o<a;o++)i[t][o].h!==e&&n.push(i[t][o]);i[t]=n}i[t]&&0===i[t].length&&delete i[t]}else delete i[t];return this},trigger:function(t){var e=this._$handlers[t],i=this._$eventProcessor;if(e){var n=arguments,o=n.length;o>3&&(n=ow.call(n,1));for(var a=e.length,r=0;r<a;){var s=e[r];if(i&&i.filter&&null!=s.query&&!i.filter(t,s.query))r++;else{switch(o){case 1:s.h.call(s.ctx);break;case 2:s.h.call(s.ctx,n[1]);break;case 3:s.h.call(s.ctx,n[1],n[2]);break;default:s.h.apply(s.ctx,n)}s.one?(e.splice(r,1),a--):r++}}}return i&&i.afterTrigger&&i.afterTrigger(t),this},triggerWithContext:function(t){var e=this._$handlers[t],i=this._$eventProcessor;if(e){var n=arguments,o=n.length;o>4&&(n=ow.call(n,1,n.length-1));for(var a=n[n.length-1],r=e.length,s=0;s<r;){var l=e[s];if(i&&i.filter&&null!=l.query&&!i.filter(t,l.query))s++;else{switch(o){case 1:l.h.call(a);break;case 2:l.h.call(a,n[1]);break;case 3:l.h.call(a,n[1],n[2]);break;default:l.h.apply(a,n)}l.one?(e.splice(s,1),r--):s++}}}return i&&i.afterTrigger&&i.afterTrigger(t),this}};var rw="undefined"!=typeof window&&!!window.addEventListener,sw=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,lw=rw?function(t){t.preventDefault(),t.stopPropagation(),t.cancelBubble=!0}:function(t){t.returnValue=!1,t.cancelBubble=!0},uw="silent";pt.prototype.dispose=function(){};var hw=["click","dblclick","mousewheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],cw=function(t,e,i,n){aw.call(this),this.storage=t,this.painter=e,this.painterRoot=n,i=i||new pt,this.proxy=null,this._hovered={},this._lastTouchMoment,this._lastX,this._lastY,it.call(this),this.setHandlerProxy(i)};cw.prototype={constructor:cw,setHandlerProxy:function(t){this.proxy&&this.proxy.dispose(),t&&(d(hw,function(e){t.on&&t.on(e,this[e],this)},this),t.handler=this),this.proxy=t},mousemove:function(t){var e=t.zrX,i=t.zrY,n=this._hovered,o=n.target;o&&!o.__zr&&(o=(n=this.findHover(n.x,n.y)).target);var a=this._hovered=this.findHover(e,i),r=a.target,s=this.proxy;s.setCursor&&s.setCursor(r?r.cursor:"default"),o&&r!==o&&this.dispatchToElement(n,"mouseout",t),this.dispatchToElement(a,"mousemove",t),r&&r!==o&&this.dispatchToElement(a,"mouseover",t)},mouseout:function(t){this.dispatchToElement(this._hovered,"mouseout",t);var e,i=t.toElement||t.relatedTarget;do{i=i&&i.parentNode}while(i&&9!=i.nodeType&&!(e=i===this.painterRoot));!e&&this.trigger("globalout",{event:t})},resize:function(t){this._hovered={}},dispatch:function(t,e){var i=this[t];i&&i.call(this,e)},dispose:function(){this.proxy.dispose(),this.storage=this.proxy=this.painter=null},setCursorStyle:function(t){var e=this.proxy;e.setCursor&&e.setCursor(t)},dispatchToElement:function(t,e,i){var n=(t=t||{}).target;if(!n||!n.silent){for(var o="on"+e,a=dt(e,t,i);n&&(n[o]&&(a.cancelBubble=n[o].call(n,a)),n.trigger(e,a),n=n.parent,!a.cancelBubble););a.cancelBubble||(this.trigger(e,a),this.painter&&this.painter.eachOtherLayer(function(t){"function"==typeof t[o]&&t[o].call(t,a),t.trigger&&t.trigger(e,a)}))}},findHover:function(t,e,i){for(var n=this.storage.getDisplayList(),o={x:t,y:e},a=n.length-1;a>=0;a--){var r;if(n[a]!==i&&!n[a].ignore&&(r=gt(n[a],t,e))&&(!o.topTarget&&(o.topTarget=n[a]),r!==uw)){o.target=n[a];break}}return o}},d(["click","mousedown","mouseup","mousewheel","dblclick","contextmenu"],function(t){cw.prototype[t]=function(e){var i=this.findHover(e.zrX,e.zrY),n=i.target;if("mousedown"===t)this._downEl=n,this._downPoint=[e.zrX,e.zrY],this._upEl=n;else if("mouseup"===t)this._upEl=n;else if("click"===t){if(this._downEl!==this._upEl||!this._downPoint||ew(this._downPoint,[e.zrX,e.zrY])>4)return;this._downPoint=null}this.dispatchToElement(i,t,e)}}),h(cw,aw),h(cw,it);var dw="undefined"==typeof Float32Array?Array:Float32Array,fw=(Object.freeze||Object)({create:mt,identity:vt,copy:yt,mul:xt,translate:_t,rotate:wt,scale:bt,invert:St,clone:Mt}),pw=vt,gw=5e-5,mw=function(t){(t=t||{}).position||(this.position=[0,0]),null==t.rotation&&(this.rotation=0),t.scale||(this.scale=[1,1]),this.origin=this.origin||null},vw=mw.prototype;vw.transform=null,vw.needLocalTransform=function(){return It(this.rotation)||It(this.position[0])||It(this.position[1])||It(this.scale[0]-1)||It(this.scale[1]-1)};var yw=[];vw.updateTransform=function(){var t=this.parent,e=t&&t.transform,i=this.needLocalTransform(),n=this.transform;if(i||e){n=n||mt(),i?this.getLocalTransform(n):pw(n),e&&(i?xt(n,t.transform,n):yt(n,t.transform)),this.transform=n;var o=this.globalScaleRatio;if(null!=o&&1!==o){this.getGlobalScale(yw);var a=yw[0]<0?-1:1,r=yw[1]<0?-1:1,s=((yw[0]-a)*o+a)/yw[0]||0,l=((yw[1]-r)*o+r)/yw[1]||0;n[0]*=s,n[1]*=s,n[2]*=l,n[3]*=l}this.invTransform=this.invTransform||mt(),St(this.invTransform,n)}else n&&pw(n)},vw.getLocalTransform=function(t){return mw.getLocalTransform(this,t)},vw.setTransform=function(t){var e=this.transform,i=t.dpr||1;e?t.setTransform(i*e[0],i*e[1],i*e[2],i*e[3],i*e[4],i*e[5]):t.setTransform(i,0,0,i,0,0)},vw.restoreTransform=function(t){var e=t.dpr||1;t.setTransform(e,0,0,e,0,0)};var xw=[],_w=mt();vw.setLocalTransform=function(t){if(t){var e=t[0]*t[0]+t[1]*t[1],i=t[2]*t[2]+t[3]*t[3],n=this.position,o=this.scale;It(e-1)&&(e=Math.sqrt(e)),It(i-1)&&(i=Math.sqrt(i)),t[0]<0&&(e=-e),t[3]<0&&(i=-i),n[0]=t[4],n[1]=t[5],o[0]=e,o[1]=i,this.rotation=Math.atan2(-t[1]/i,t[0]/e)}},vw.decomposeTransform=function(){if(this.transform){var t=this.parent,e=this.transform;t&&t.transform&&(xt(xw,t.invTransform,e),e=xw);var i=this.origin;i&&(i[0]||i[1])&&(_w[4]=i[0],_w[5]=i[1],xt(xw,e,_w),xw[4]-=i[0],xw[5]-=i[1],e=xw),this.setLocalTransform(e)}},vw.getGlobalScale=function(t){var e=this.transform;return t=t||[],e?(t[0]=Math.sqrt(e[0]*e[0]+e[1]*e[1]),t[1]=Math.sqrt(e[2]*e[2]+e[3]*e[3]),e[0]<0&&(t[0]=-t[0]),e[3]<0&&(t[1]=-t[1]),t):(t[0]=1,t[1]=1,t)},vw.transformCoordToLocal=function(t,e){var i=[t,e],n=this.invTransform;return n&&Q(i,i,n),i},vw.transformCoordToGlobal=function(t,e){var i=[t,e],n=this.transform;return n&&Q(i,i,n),i},mw.getLocalTransform=function(t,e){pw(e=e||[]);var i=t.origin,n=t.scale||[1,1],o=t.rotation||0,a=t.position||[0,0];return i&&(e[4]-=i[0],e[5]-=i[1]),bt(e,e,n),o&&wt(e,e,o),i&&(e[4]+=i[0],e[5]+=i[1]),e[4]+=a[0],e[5]+=a[1],e};var ww={linear:function(t){return t},quadraticIn:function(t){return t*t},quadraticOut:function(t){return t*(2-t)},quadraticInOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)},cubicIn:function(t){return t*t*t},cubicOut:function(t){return--t*t*t+1},cubicInOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)},quarticIn:function(t){return t*t*t*t},quarticOut:function(t){return 1- --t*t*t*t},quarticInOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)},quinticIn:function(t){return t*t*t*t*t},quinticOut:function(t){return--t*t*t*t*t+1},quinticInOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)},sinusoidalIn:function(t){return 1-Math.cos(t*Math.PI/2)},sinusoidalOut:function(t){return Math.sin(t*Math.PI/2)},sinusoidalInOut:function(t){return.5*(1-Math.cos(Math.PI*t))},exponentialIn:function(t){return 0===t?0:Math.pow(1024,t-1)},exponentialOut:function(t){return 1===t?1:1-Math.pow(2,-10*t)},exponentialInOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))},circularIn:function(t){return 1-Math.sqrt(1-t*t)},circularOut:function(t){return Math.sqrt(1- --t*t)},circularInOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)},elasticIn:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},elasticOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},elasticInOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*.5+1)},backIn:function(t){var e=1.70158;return t*t*((e+1)*t-e)},backOut:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},backInOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)},bounceIn:function(t){return 1-ww.bounceOut(1-t)},bounceOut:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},bounceInOut:function(t){return t<.5?.5*ww.bounceIn(2*t):.5*ww.bounceOut(2*t-1)+.5}};Tt.prototype={constructor:Tt,step:function(t,e){if(this._initialized||(this._startTime=t+this._delay,this._initialized=!0),this._paused)this._pausedTime+=e;else{var i=(t-this._startTime-this._pausedTime)/this._life;if(!(i<0)){i=Math.min(i,1);var n=this.easing,o="string"==typeof n?ww[n]:n,a="function"==typeof o?o(i):i;return this.fire("frame",a),1==i?this.loop?(this.restart(t),"restart"):(this._needsRemove=!0,"destroy"):null}}},restart:function(t){var e=(t-this._startTime-this._pausedTime)%this._life;this._startTime=t-e+this.gap,this._pausedTime=0,this._needsRemove=!1},fire:function(t,e){this[t="on"+t]&&this[t](this._target,e)},pause:function(){this._paused=!0},resume:function(){this._paused=!1}};var bw=function(){this.head=null,this.tail=null,this._len=0},Sw=bw.prototype;Sw.insert=function(t){var e=new Mw(t);return this.insertEntry(e),e},Sw.insertEntry=function(t){this.head?(this.tail.next=t,t.prev=this.tail,t.next=null,this.tail=t):this.head=this.tail=t,this._len++},Sw.remove=function(t){var e=t.prev,i=t.next;e?e.next=i:this.head=i,i?i.prev=e:this.tail=e,t.next=t.prev=null,this._len--},Sw.len=function(){return this._len},Sw.clear=function(){this.head=this.tail=null,this._len=0};var Mw=function(t){this.value=t,this.next,this.prev},Iw=function(t){this._list=new bw,this._map={},this._maxSize=t||10,this._lastRemovedEntry=null},Tw=Iw.prototype;Tw.put=function(t,e){var i=this._list,n=this._map,o=null;if(null==n[t]){var a=i.len(),r=this._lastRemovedEntry;if(a>=this._maxSize&&a>0){var s=i.head;i.remove(s),delete n[s.key],o=s.value,this._lastRemovedEntry=s}r?r.value=e:r=new Mw(e),r.key=t,i.insertEntry(r),n[t]=r}return o},Tw.get=function(t){var e=this._map[t],i=this._list;if(null!=e)return e!==i.tail&&(i.remove(e),i.insertEntry(e)),e.value},Tw.clear=function(){this._list.clear(),this._map={}};var Aw={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]},Dw=new Iw(20),Cw=null,Lw=Wt,kw=Ht,Pw=(Object.freeze||Object)({parse:zt,lift:Gt,toHex:Ft,fastLerp:Wt,fastMapToColor:Lw,lerp:Ht,mapToColor:kw,modifyHSL:Zt,modifyAlpha:Ut,stringify:Xt}),Nw=Array.prototype.slice,Ow=function(t,e,i,n){this._tracks={},this._target=t,this._loop=e||!1,this._getter=i||jt,this._setter=n||Yt,this._clipCount=0,this._delay=0,this._doneList=[],this._onframeList=[],this._clipList=[]};Ow.prototype={when:function(t,e){var i=this._tracks;for(var n in e)if(e.hasOwnProperty(n)){if(!i[n]){i[n]=[];var o=this._getter(this._target,n);if(null==o)continue;0!==t&&i[n].push({time:0,value:ie(o)})}i[n].push({time:t,value:e[n]})}return this},during:function(t){return this._onframeList.push(t),this},pause:function(){for(var t=0;t<this._clipList.length;t++)this._clipList[t].pause();this._paused=!0},resume:function(){for(var t=0;t<this._clipList.length;t++)this._clipList[t].resume();this._paused=!1},isPaused:function(){return!!this._paused},_doneCallback:function(){this._tracks={},this._clipList.length=0;for(var t=this._doneList,e=t.length,i=0;i<e;i++)t[i].call(this)},start:function(t,e){var i,n=this,o=0;for(var a in this._tracks)if(this._tracks.hasOwnProperty(a)){var r=ae(this,t,function(){--o||n._doneCallback()},this._tracks[a],a,e);r&&(this._clipList.push(r),o++,this.animation&&this.animation.addClip(r),i=r)}if(i){var s=i.onframe;i.onframe=function(t,e){s(t,e);for(var i=0;i<n._onframeList.length;i++)n._onframeList[i](t,e)}}return o||this._doneCallback(),this},stop:function(t){for(var e=this._clipList,i=this.animation,n=0;n<e.length;n++){var o=e[n];t&&o.onframe(this._target,1),i&&i.removeClip(o)}e.length=0},delay:function(t){return this._delay=t,this},done:function(t){return t&&this._doneList.push(t),this},getClips:function(){return this._clipList}};var Ew=1;"undefined"!=typeof window&&(Ew=Math.max(window.devicePixelRatio||1,1));var Rw=Ew,zw=function(){},Bw=zw,Vw=function(){this.animators=[]};Vw.prototype={constructor:Vw,animate:function(t,e){var i,n=!1,o=this,a=this.__zr;if(t){var r=t.split("."),s=o;n="shape"===r[0];for(var u=0,h=r.length;u<h;u++)s&&(s=s[r[u]]);s&&(i=s)}else i=o;if(i){var c=o.animators,d=new Ow(i,e);return d.during(function(t){o.dirty(n)}).done(function(){c.splice(l(c,d),1)}),c.push(d),a&&a.animation.addAnimator(d),d}Bw('Property "'+t+'" is not existed in element '+o.id)},stopAnimation:function(t){for(var e=this.animators,i=e.length,n=0;n<i;n++)e[n].stop(t);return e.length=0,this},animateTo:function(t,e,i,n,o,a){re(this,t,e,i,n,o,a)},animateFrom:function(t,e,i,n,o,a){re(this,t,e,i,n,o,a,!0)}};var Gw=function(t){mw.call(this,t),aw.call(this,t),Vw.call(this,t),this.id=t.id||E_()};Gw.prototype={type:"element",name:"",__zr:null,ignore:!1,clipPath:null,isGroup:!1,drift:function(t,e){switch(this.draggable){case"horizontal":e=0;break;case"vertical":t=0}var i=this.transform;i||(i=this.transform=[1,0,0,1,0,0]),i[4]+=t,i[5]+=e,this.decomposeTransform(),this.dirty(!1)},beforeUpdate:function(){},afterUpdate:function(){},update:function(){this.updateTransform()},traverse:function(t,e){},attrKV:function(t,e){if("position"===t||"scale"===t||"origin"===t){if(e){var i=this[t];i||(i=this[t]=[]),i[0]=e[0],i[1]=e[1]}}else this[t]=e},hide:function(){this.ignore=!0,this.__zr&&this.__zr.refresh()},show:function(){this.ignore=!1,this.__zr&&this.__zr.refresh()},attr:function(t,e){if("string"==typeof t)this.attrKV(t,e);else if(w(t))for(var i in t)t.hasOwnProperty(i)&&this.attrKV(i,t[i]);return this.dirty(!1),this},setClipPath:function(t){var e=this.__zr;e&&t.addSelfToZr(e),this.clipPath&&this.clipPath!==t&&this.removeClipPath(),this.clipPath=t,t.__zr=e,t.__clipTarget=this,this.dirty(!1)},removeClipPath:function(){var t=this.clipPath;t&&(t.__zr&&t.removeSelfFromZr(t.__zr),t.__zr=null,t.__clipTarget=null,this.clipPath=null,this.dirty(!1))},addSelfToZr:function(t){this.__zr=t;var e=this.animators;if(e)for(var i=0;i<e.length;i++)t.animation.addAnimator(e[i]);this.clipPath&&this.clipPath.addSelfToZr(t)},removeSelfFromZr:function(t){this.__zr=null;var e=this.animators;if(e)for(var i=0;i<e.length;i++)t.animation.removeAnimator(e[i]);this.clipPath&&this.clipPath.removeSelfFromZr(t)}},h(Gw,Vw),h(Gw,mw),h(Gw,aw);var Fw=Q,Ww=Math.min,Hw=Math.max;ue.prototype={constructor:ue,union:function(t){var e=Ww(t.x,this.x),i=Ww(t.y,this.y);this.width=Hw(t.x+t.width,this.x+this.width)-e,this.height=Hw(t.y+t.height,this.y+this.height)-i,this.x=e,this.y=i},applyTransform:function(){var t=[],e=[],i=[],n=[];return function(o){if(o){t[0]=i[0]=this.x,t[1]=n[1]=this.y,e[0]=n[0]=this.x+this.width,e[1]=i[1]=this.y+this.height,Fw(t,t,o),Fw(e,e,o),Fw(i,i,o),Fw(n,n,o),this.x=Ww(t[0],e[0],i[0],n[0]),this.y=Ww(t[1],e[1],i[1],n[1]);var a=Hw(t[0],e[0],i[0],n[0]),r=Hw(t[1],e[1],i[1],n[1]);this.width=a-this.x,this.height=r-this.y}}}(),calculateTransform:function(t){var e=this,i=t.width/e.width,n=t.height/e.height,o=mt();return _t(o,o,[-e.x,-e.y]),bt(o,o,[i,n]),_t(o,o,[t.x,t.y]),o},intersect:function(t){if(!t)return!1;t instanceof ue||(t=ue.create(t));var e=this,i=e.x,n=e.x+e.width,o=e.y,a=e.y+e.height,r=t.x,s=t.x+t.width,l=t.y,u=t.y+t.height;return!(n<r||s<i||a<l||u<o)},contain:function(t,e){var i=this;return t>=i.x&&t<=i.x+i.width&&e>=i.y&&e<=i.y+i.height},clone:function(){return new ue(this.x,this.y,this.width,this.height)},copy:function(t){this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height},plain:function(){return{x:this.x,y:this.y,width:this.width,height:this.height}}},ue.create=function(t){return new ue(t.x,t.y,t.width,t.height)};var Zw=function(t){t=t||{},Gw.call(this,t);for(var e in t)t.hasOwnProperty(e)&&(this[e]=t[e]);this._children=[],this.__storage=null,this.__dirty=!0};Zw.prototype={constructor:Zw,isGroup:!0,type:"group",silent:!1,children:function(){return this._children.slice()},childAt:function(t){return this._children[t]},childOfName:function(t){for(var e=this._children,i=0;i<e.length;i++)if(e[i].name===t)return e[i]},childCount:function(){return this._children.length},add:function(t){return t&&t!==this&&t.parent!==this&&(this._children.push(t),this._doAdd(t)),this},addBefore:function(t,e){if(t&&t!==this&&t.parent!==this&&e&&e.parent===this){var i=this._children,n=i.indexOf(e);n>=0&&(i.splice(n,0,t),this._doAdd(t))}return this},_doAdd:function(t){t.parent&&t.parent.remove(t),t.parent=this;var e=this.__storage,i=this.__zr;e&&e!==t.__storage&&(e.addToStorage(t),t instanceof Zw&&t.addChildrenToStorage(e)),i&&i.refresh()},remove:function(t){var e=this.__zr,i=this.__storage,n=this._children,o=l(n,t);return o<0?this:(n.splice(o,1),t.parent=null,i&&(i.delFromStorage(t),t instanceof Zw&&t.delChildrenFromStorage(i)),e&&e.refresh(),this)},removeAll:function(){var t,e,i=this._children,n=this.__storage;for(e=0;e<i.length;e++)t=i[e],n&&(n.delFromStorage(t),t instanceof Zw&&t.delChildrenFromStorage(n)),t.parent=null;return i.length=0,this},eachChild:function(t,e){for(var i=this._children,n=0;n<i.length;n++){var o=i[n];t.call(e,o,n)}return this},traverse:function(t,e){for(var i=0;i<this._children.length;i++){var n=this._children[i];t.call(e,n),"group"===n.type&&n.traverse(t,e)}return this},addChildrenToStorage:function(t){for(var e=0;e<this._children.length;e++){var i=this._children[e];t.addToStorage(i),i instanceof Zw&&i.addChildrenToStorage(t)}},delChildrenFromStorage:function(t){for(var e=0;e<this._children.length;e++){var i=this._children[e];t.delFromStorage(i),i instanceof Zw&&i.delChildrenFromStorage(t)}},dirty:function(){return this.__dirty=!0,this.__zr&&this.__zr.refresh(),this},getBoundingRect:function(t){for(var e=null,i=new ue(0,0,0,0),n=t||this._children,o=[],a=0;a<n.length;a++){var r=n[a];if(!r.ignore&&!r.invisible){var s=r.getBoundingRect(),l=r.getLocalTransform(o);l?(i.copy(s),i.applyTransform(l),(e=e||i.clone()).union(i)):(e=e||s.clone()).union(s)}}return e||i}},u(Zw,Gw);var Uw=32,Xw=7,jw=function(){this._roots=[],this._displayList=[],this._displayListLen=0};jw.prototype={constructor:jw,traverse:function(t,e){for(var i=0;i<this._roots.length;i++)this._roots[i].traverse(t,e)},getDisplayList:function(t,e){return e=e||!1,t&&this.updateDisplayList(e),this._displayList},updateDisplayList:function(t){this._displayListLen=0;for(var e=this._roots,i=this._displayList,n=0,o=e.length;n<o;n++)this._updateAndAddDisplayable(e[n],null,t);i.length=this._displayListLen,z_.canvasSupported&&ve(i,ye)},_updateAndAddDisplayable:function(t,e,i){if(!t.ignore||i){t.beforeUpdate(),t.__dirty&&t.update(),t.afterUpdate();var n=t.clipPath;if(n){e=e?e.slice():[];for(var o=n,a=t;o;)o.parent=a,o.updateTransform(),e.push(o),a=o,o=o.clipPath}if(t.isGroup){for(var r=t._children,s=0;s<r.length;s++){var l=r[s];t.__dirty&&(l.__dirty=!0),this._updateAndAddDisplayable(l,e,i)}t.__dirty=!1}else t.__clipPaths=e,this._displayList[this._displayListLen++]=t}},addRoot:function(t){t.__storage!==this&&(t instanceof Zw&&t.addChildrenToStorage(this),this.addToStorage(t),this._roots.push(t))},delRoot:function(t){if(null==t){for(i=0;i<this._roots.length;i++){var e=this._roots[i];e instanceof Zw&&e.delChildrenFromStorage(this)}return this._roots=[],this._displayList=[],void(this._displayListLen=0)}if(t instanceof Array)for(var i=0,n=t.length;i<n;i++)this.delRoot(t[i]);else{var o=l(this._roots,t);o>=0&&(this.delFromStorage(t),this._roots.splice(o,1),t instanceof Zw&&t.delChildrenFromStorage(this))}},addToStorage:function(t){return t&&(t.__storage=this,t.dirty(!1)),this},delFromStorage:function(t){return t&&(t.__storage=null),this},dispose:function(){this._renderList=this._roots=null},displayableSortFunc:ye};var Yw={shadowBlur:1,shadowOffsetX:1,shadowOffsetY:1,textShadowBlur:1,textShadowOffsetX:1,textShadowOffsetY:1,textBoxShadowBlur:1,textBoxShadowOffsetX:1,textBoxShadowOffsetY:1},qw=function(t,e,i){return Yw.hasOwnProperty(e)?i*=t.dpr:i},Kw=[["shadowBlur",0],["shadowOffsetX",0],["shadowOffsetY",0],["shadowColor","#000"],["lineCap","butt"],["lineJoin","miter"],["miterLimit",10]],$w=function(t){this.extendFrom(t,!1)};$w.prototype={constructor:$w,fill:"#000",stroke:null,opacity:1,fillOpacity:null,strokeOpacity:null,lineDash:null,lineDashOffset:0,shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,lineWidth:1,strokeNoScale:!1,text:null,font:null,textFont:null,fontStyle:null,fontWeight:null,fontSize:null,fontFamily:null,textTag:null,textFill:"#000",textStroke:null,textWidth:null,textHeight:null,textStrokeWidth:0,textLineHeight:null,textPosition:"inside",textRect:null,textOffset:null,textAlign:null,textVerticalAlign:null,textDistance:5,textShadowColor:"transparent",textShadowBlur:0,textShadowOffsetX:0,textShadowOffsetY:0,textBoxShadowColor:"transparent",textBoxShadowBlur:0,textBoxShadowOffsetX:0,textBoxShadowOffsetY:0,transformText:!1,textRotation:0,textOrigin:null,textBackgroundColor:null,textBorderColor:null,textBorderWidth:0,textBorderRadius:0,textPadding:null,rich:null,truncate:null,blend:null,bind:function(t,e,i){for(var n=this,o=i&&i.style,a=!o,r=0;r<Kw.length;r++){var s=Kw[r],l=s[0];(a||n[l]!==o[l])&&(t[l]=qw(t,l,n[l]||s[1]))}if((a||n.fill!==o.fill)&&(t.fillStyle=n.fill),(a||n.stroke!==o.stroke)&&(t.strokeStyle=n.stroke),(a||n.opacity!==o.opacity)&&(t.globalAlpha=null==n.opacity?1:n.opacity),(a||n.blend!==o.blend)&&(t.globalCompositeOperation=n.blend||"source-over"),this.hasStroke()){var u=n.lineWidth;t.lineWidth=u/(this.strokeNoScale&&e&&e.getLineScale?e.getLineScale():1)}},hasFill:function(){var t=this.fill;return null!=t&&"none"!==t},hasStroke:function(){var t=this.stroke;return null!=t&&"none"!==t&&this.lineWidth>0},extendFrom:function(t,e){if(t)for(var i in t)!t.hasOwnProperty(i)||!0!==e&&(!1===e?this.hasOwnProperty(i):null==t[i])||(this[i]=t[i])},set:function(t,e){"string"==typeof t?this[t]=e:this.extendFrom(t,!0)},clone:function(){var t=new this.constructor;return t.extendFrom(this,!0),t},getGradient:function(t,e,i){for(var n=("radial"===e.type?_e:xe)(t,e,i),o=e.colorStops,a=0;a<o.length;a++)n.addColorStop(o[a].offset,o[a].color);return n}};for(var Jw=$w.prototype,Qw=0;Qw<Kw.length;Qw++){var tb=Kw[Qw];tb[0]in Jw||(Jw[tb[0]]=tb[1])}$w.getGradient=Jw.getGradient;var eb=function(t,e){this.image=t,this.repeat=e,this.type="pattern"};eb.prototype.getCanvasPattern=function(t){return t.createPattern(this.image,this.repeat||"repeat")};var ib=function(t,e,i){var n;i=i||Rw,"string"==typeof t?n=be(t,e,i):w(t)&&(t=(n=t).id),this.id=t,this.dom=n;var o=n.style;o&&(n.onselectstart=we,o["-webkit-user-select"]="none",o["user-select"]="none",o["-webkit-touch-callout"]="none",o["-webkit-tap-highlight-color"]="rgba(0,0,0,0)",o.padding=0,o.margin=0,o["border-width"]=0),this.domBack=null,this.ctxBack=null,this.painter=e,this.config=null,this.clearColor=0,this.motionBlur=!1,this.lastFrameAlpha=.7,this.dpr=i};ib.prototype={constructor:ib,__dirty:!0,__used:!1,__drawIndex:0,__startIndex:0,__endIndex:0,incremental:!1,getElementCount:function(){return this.__endIndex-this.__startIndex},initContext:function(){this.ctx=this.dom.getContext("2d"),this.ctx.dpr=this.dpr},createBackBuffer:function(){var t=this.dpr;this.domBack=be("back-"+this.id,this.painter,t),this.ctxBack=this.domBack.getContext("2d"),1!=t&&this.ctxBack.scale(t,t)},resize:function(t,e){var i=this.dpr,n=this.dom,o=n.style,a=this.domBack;o&&(o.width=t+"px",o.height=e+"px"),n.width=t*i,n.height=e*i,a&&(a.width=t*i,a.height=e*i,1!=i&&this.ctxBack.scale(i,i))},clear:function(t,e){var i=this.dom,n=this.ctx,o=i.width,a=i.height,e=e||this.clearColor,r=this.motionBlur&&!t,s=this.lastFrameAlpha,l=this.dpr;if(r&&(this.domBack||this.createBackBuffer(),this.ctxBack.globalCompositeOperation="copy",this.ctxBack.drawImage(i,0,0,o/l,a/l)),n.clearRect(0,0,o,a),e&&"transparent"!==e){var u;e.colorStops?(u=e.__canvasGradient||$w.getGradient(n,e,{x:0,y:0,width:o,height:a}),e.__canvasGradient=u):e.image&&(u=eb.prototype.getCanvasPattern.call(e,n)),n.save(),n.fillStyle=u||e,n.fillRect(0,0,o,a),n.restore()}if(r){var h=this.domBack;n.save(),n.globalAlpha=s,n.drawImage(h,0,0,o,a),n.restore()}}};var nb="undefined"!=typeof window&&(window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.msRequestAnimationFrame&&window.msRequestAnimationFrame.bind(window)||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame)||function(t){setTimeout(t,16)},ob=new Iw(50),ab={},rb=0,sb=5e3,lb=/\{([a-zA-Z0-9_]+)\|([^}]*)\}/g,ub="12px sans-serif",hb={};hb.measureText=function(t,e){var i=s();return i.font=e||ub,i.measureText(t)};var cb={left:1,right:1,center:1},db={top:1,bottom:1,middle:1},fb=[["textShadowBlur","shadowBlur",0],["textShadowOffsetX","shadowOffsetX",0],["textShadowOffsetY","shadowOffsetY",0],["textShadowColor","shadowColor","transparent"]],pb=new ue,gb=function(){};gb.prototype={constructor:gb,drawRectText:function(t,e){var i=this.style;e=i.textRect||e,this.__dirty&&Ue(i);var n=i.text;if(null!=n&&(n+=""),li(n,i)){t.save();var o=this.transform;i.transformText?this.setTransform(t):o&&(pb.copy(e),pb.applyTransform(o),e=pb),je(this,t,n,i,e),t.restore()}}},ui.prototype={constructor:ui,type:"displayable",__dirty:!0,invisible:!1,z:0,z2:0,zlevel:0,draggable:!1,dragging:!1,silent:!1,culling:!1,cursor:"pointer",rectHover:!1,progressive:!1,incremental:!1,globalScaleRatio:1,beforeBrush:function(t){},afterBrush:function(t){},brush:function(t,e){},getBoundingRect:function(){},contain:function(t,e){return this.rectContain(t,e)},traverse:function(t,e){t.call(e,this)},rectContain:function(t,e){var i=this.transformCoordToLocal(t,e);return this.getBoundingRect().contain(i[0],i[1])},dirty:function(){this.__dirty=this.__dirtyText=!0,this._rect=null,this.__zr&&this.__zr.refresh()},animateStyle:function(t){return this.animate("style",t)},attrKV:function(t,e){"style"!==t?Gw.prototype.attrKV.call(this,t,e):this.style.set(e)},setStyle:function(t,e){return this.style.set(t,e),this.dirty(!1),this},useStyle:function(t){return this.style=new $w(t,this),this.dirty(!1),this}},u(ui,Gw),h(ui,gb),hi.prototype={constructor:hi,type:"image",brush:function(t,e){var i=this.style,n=i.image;i.bind(t,this,e);var o=this._image=Me(n,this._image,this,this.onload);if(o&&Te(o)){var a=i.x||0,r=i.y||0,s=i.width,l=i.height,u=o.width/o.height;if(null==s&&null!=l?s=l*u:null==l&&null!=s?l=s/u:null==s&&null==l&&(s=o.width,l=o.height),this.setTransform(t),i.sWidth&&i.sHeight){var h=i.sx||0,c=i.sy||0;t.drawImage(o,h,c,i.sWidth,i.sHeight,a,r,s,l)}else if(i.sx&&i.sy){var d=s-(h=i.sx),f=l-(c=i.sy);t.drawImage(o,h,c,d,f,a,r,s,l)}else t.drawImage(o,a,r,s,l);null!=i.text&&(this.restoreTransform(t),this.drawRectText(t,this.getBoundingRect()))}},getBoundingRect:function(){var t=this.style;return this._rect||(this._rect=new ue(t.x||0,t.y||0,t.width||0,t.height||0)),this._rect}},u(hi,ui);var mb=new ue(0,0,0,0),vb=new ue(0,0,0,0),yb=function(t,e,i){this.type="canvas";var n=!t.nodeName||"CANVAS"===t.nodeName.toUpperCase();this._opts=i=a({},i||{}),this.dpr=i.devicePixelRatio||Rw,this._singleCanvas=n,this.root=t;var o=t.style;o&&(o["-webkit-tap-highlight-color"]="transparent",o["-webkit-user-select"]=o["user-select"]=o["-webkit-touch-callout"]="none",t.innerHTML=""),this.storage=e;var r=this._zlevelList=[],s=this._layers={};if(this._layerConfig={},this._needsManuallyCompositing=!1,n){var l=t.width,u=t.height;null!=i.width&&(l=i.width),null!=i.height&&(u=i.height),this.dpr=i.devicePixelRatio||1,t.width=l*this.dpr,t.height=u*this.dpr,this._width=l,this._height=u;var h=new ib(t,this,this.dpr);h.__builtin__=!0,h.initContext(),s[314159]=h,h.zlevel=314159,r.push(314159),this._domRoot=t}else{this._width=this._getSize(0),this._height=this._getSize(1);var c=this._domRoot=mi(this._width,this._height);t.appendChild(c)}this._hoverlayer=null,this._hoverElements=[]};yb.prototype={constructor:yb,getType:function(){return"canvas"},isSingleCanvas:function(){return this._singleCanvas},getViewportRoot:function(){return this._domRoot},getViewportRootOffset:function(){var t=this.getViewportRoot();if(t)return{offsetLeft:t.offsetLeft||0,offsetTop:t.offsetTop||0}},refresh:function(t){var e=this.storage.getDisplayList(!0),i=this._zlevelList;this._redrawId=Math.random(),this._paintList(e,t,this._redrawId);for(var n=0;n<i.length;n++){var o=i[n],a=this._layers[o];if(!a.__builtin__&&a.refresh){var r=0===n?this._backgroundColor:null;a.refresh(r)}}return this.refreshHover(),this},addHover:function(t,e){if(!t.__hoverMir){var i=new t.constructor({style:t.style,shape:t.shape,z:t.z,z2:t.z2,silent:t.silent});return i.__from=t,t.__hoverMir=i,e&&i.setStyle(e),this._hoverElements.push(i),i}},removeHover:function(t){var e=t.__hoverMir,i=this._hoverElements,n=l(i,e);n>=0&&i.splice(n,1),t.__hoverMir=null},clearHover:function(t){for(var e=this._hoverElements,i=0;i<e.length;i++){var n=e[i].__from;n&&(n.__hoverMir=null)}e.length=0},refreshHover:function(){var t=this._hoverElements,e=t.length,i=this._hoverlayer;if(i&&i.clear(),e){ve(t,this.storage.displayableSortFunc),i||(i=this._hoverlayer=this.getLayer(1e5));var n={};i.ctx.save();for(var o=0;o<e;){var a=t[o],r=a.__from;r&&r.__zr?(o++,r.invisible||(a.transform=r.transform,a.invTransform=r.invTransform,a.__clipPaths=r.__clipPaths,this._doPaintEl(a,i,!0,n))):(t.splice(o,1),r.__hoverMir=null,e--)}i.ctx.restore()}},getHoverLayer:function(){return this.getLayer(1e5)},_paintList:function(t,e,i){if(this._redrawId===i){e=e||!1,this._updateLayerStatus(t);var n=this._doPaintList(t,e);if(this._needsManuallyCompositing&&this._compositeManually(),!n){var o=this;nb(function(){o._paintList(t,e,i)})}}},_compositeManually:function(){var t=this.getLayer(314159).ctx,e=this._domRoot.width,i=this._domRoot.height;t.clearRect(0,0,e,i),this.eachBuiltinLayer(function(n){n.virtual&&t.drawImage(n.dom,0,0,e,i)})},_doPaintList:function(t,e){for(var i=[],n=0;n<this._zlevelList.length;n++){var o=this._zlevelList[n];(s=this._layers[o]).__builtin__&&s!==this._hoverlayer&&(s.__dirty||e)&&i.push(s)}for(var a=!0,r=0;r<i.length;r++){var s=i[r],l=s.ctx,u={};l.save();var h=e?s.__startIndex:s.__drawIndex,c=!e&&s.incremental&&Date.now,f=c&&Date.now(),p=s.zlevel===this._zlevelList[0]?this._backgroundColor:null;if(s.__startIndex===s.__endIndex)s.clear(!1,p);else if(h===s.__startIndex){var g=t[h];g.incremental&&g.notClear&&!e||s.clear(!1,p)}-1===h&&(console.error("For some unknown reason. drawIndex is -1"),h=s.__startIndex);for(var m=h;m<s.__endIndex;m++){var v=t[m];if(this._doPaintEl(v,s,e,u),v.__dirty=v.__dirtyText=!1,c&&Date.now()-f>15)break}s.__drawIndex=m,s.__drawIndex<s.__endIndex&&(a=!1),u.prevElClipPaths&&l.restore(),l.restore()}return z_.wxa&&d(this._layers,function(t){t&&t.ctx&&t.ctx.draw&&t.ctx.draw()}),a},_doPaintEl:function(t,e,i,n){var o=e.ctx,a=t.transform;if((e.__dirty||i)&&!t.invisible&&0!==t.style.opacity&&(!a||a[0]||a[3])&&(!t.culling||!fi(t,this._width,this._height))){var r=t.__clipPaths;n.prevElClipPaths&&!pi(r,n.prevElClipPaths)||(n.prevElClipPaths&&(e.ctx.restore(),n.prevElClipPaths=null,n.prevEl=null),r&&(o.save(),gi(r,o),n.prevElClipPaths=r)),t.beforeBrush&&t.beforeBrush(o),t.brush(o,n.prevEl||null),n.prevEl=t,t.afterBrush&&t.afterBrush(o)}},getLayer:function(t,e){this._singleCanvas&&!this._needsManuallyCompositing&&(t=314159);var i=this._layers[t];return i||((i=new ib("zr_"+t,this,this.dpr)).zlevel=t,i.__builtin__=!0,this._layerConfig[t]&&n(i,this._layerConfig[t],!0),e&&(i.virtual=e),this.insertLayer(t,i),i.initContext()),i},insertLayer:function(t,e){var i=this._layers,n=this._zlevelList,o=n.length,a=null,r=-1,s=this._domRoot;if(i[t])Bw("ZLevel "+t+" has been used already");else if(di(e)){if(o>0&&t>n[0]){for(r=0;r<o-1&&!(n[r]<t&&n[r+1]>t);r++);a=i[n[r]]}if(n.splice(r+1,0,t),i[t]=e,!e.virtual)if(a){var l=a.dom;l.nextSibling?s.insertBefore(e.dom,l.nextSibling):s.appendChild(e.dom)}else s.firstChild?s.insertBefore(e.dom,s.firstChild):s.appendChild(e.dom)}else Bw("Layer of zlevel "+t+" is not valid")},eachLayer:function(t,e){var i,n,o=this._zlevelList;for(n=0;n<o.length;n++)i=o[n],t.call(e,this._layers[i],i)},eachBuiltinLayer:function(t,e){var i,n,o,a=this._zlevelList;for(o=0;o<a.length;o++)n=a[o],(i=this._layers[n]).__builtin__&&t.call(e,i,n)},eachOtherLayer:function(t,e){var i,n,o,a=this._zlevelList;for(o=0;o<a.length;o++)n=a[o],(i=this._layers[n]).__builtin__||t.call(e,i,n)},getLayers:function(){return this._layers},_updateLayerStatus:function(t){function e(t){i&&(i.__endIndex!==t&&(i.__dirty=!0),i.__endIndex=t)}if(this.eachBuiltinLayer(function(t,e){t.__dirty=t.__used=!1}),this._singleCanvas)for(o=1;o<t.length;o++)if((r=t[o]).zlevel!==t[o-1].zlevel||r.incremental){this._needsManuallyCompositing=!0;break}for(var i=null,n=0,o=0;o<t.length;o++){var a,r=t[o],s=r.zlevel;r.incremental?((a=this.getLayer(s+.001,this._needsManuallyCompositing)).incremental=!0,n=1):a=this.getLayer(s+(n>0?.01:0),this._needsManuallyCompositing),a.__builtin__||Bw("ZLevel "+s+" has been used by unkown layer "+a.id),a!==i&&(a.__used=!0,a.__startIndex!==o&&(a.__dirty=!0),a.__startIndex=o,a.incremental?a.__drawIndex=-1:a.__drawIndex=o,e(o),i=a),r.__dirty&&(a.__dirty=!0,a.incremental&&a.__drawIndex<0&&(a.__drawIndex=o))}e(o),this.eachBuiltinLayer(function(t,e){!t.__used&&t.getElementCount()>0&&(t.__dirty=!0,t.__startIndex=t.__endIndex=t.__drawIndex=0),t.__dirty&&t.__drawIndex<0&&(t.__drawIndex=t.__startIndex)})},clear:function(){return this.eachBuiltinLayer(this._clearLayer),this},_clearLayer:function(t){t.clear()},setBackgroundColor:function(t){this._backgroundColor=t},configLayer:function(t,e){if(e){var i=this._layerConfig;i[t]?n(i[t],e,!0):i[t]=e;for(var o=0;o<this._zlevelList.length;o++){var a=this._zlevelList[o];a!==t&&a!==t+.01||n(this._layers[a],i[t],!0)}}},delLayer:function(t){var e=this._layers,i=this._zlevelList,n=e[t];n&&(n.dom.parentNode.removeChild(n.dom),delete e[t],i.splice(l(i,t),1))},resize:function(t,e){if(this._domRoot.style){var i=this._domRoot;i.style.display="none";var n=this._opts;if(null!=t&&(n.width=t),null!=e&&(n.height=e),t=this._getSize(0),e=this._getSize(1),i.style.display="",this._width!=t||e!=this._height){i.style.width=t+"px",i.style.height=e+"px";for(var o in this._layers)this._layers.hasOwnProperty(o)&&this._layers[o].resize(t,e);d(this._progressiveLayers,function(i){i.resize(t,e)}),this.refresh(!0)}this._width=t,this._height=e}else{if(null==t||null==e)return;this._width=t,this._height=e,this.getLayer(314159).resize(t,e)}return this},clearLayer:function(t){var e=this._layers[t];e&&e.clear()},dispose:function(){this.root.innerHTML="",this.root=this.storage=this._domRoot=this._layers=null},getRenderedCanvas:function(t){if(t=t||{},this._singleCanvas&&!this._compositeManually)return this._layers[314159].dom;var e=new ib("image",this,t.pixelRatio||this.dpr);if(e.initContext(),e.clear(!1,t.backgroundColor||this._backgroundColor),t.pixelRatio<=this.dpr){this.refresh();var i=e.dom.width,n=e.dom.height,o=e.ctx;this.eachLayer(function(t){t.__builtin__?o.drawImage(t.dom,0,0,i,n):t.renderToCanvas&&(e.ctx.save(),t.renderToCanvas(e.ctx),e.ctx.restore())})}else for(var a={},r=this.storage.getDisplayList(!0),s=0;s<r.length;s++){var l=r[s];this._doPaintEl(l,e,!0,a)}return e.dom},getWidth:function(){return this._width},getHeight:function(){return this._height},_getSize:function(t){var e=this._opts,i=["width","height"][t],n=["clientWidth","clientHeight"][t],o=["paddingLeft","paddingTop"][t],a=["paddingRight","paddingBottom"][t];if(null!=e[i]&&"auto"!==e[i])return parseFloat(e[i]);var r=this.root,s=document.defaultView.getComputedStyle(r);return(r[n]||ci(s[i])||ci(r.style[i]))-(ci(s[o])||0)-(ci(s[a])||0)|0},pathToImage:function(t,e){e=e||this.dpr;var i=document.createElement("canvas"),n=i.getContext("2d"),o=t.getBoundingRect(),a=t.style,r=a.shadowBlur*e,s=a.shadowOffsetX*e,l=a.shadowOffsetY*e,u=a.hasStroke()?a.lineWidth:0,h=Math.max(u/2,-s+r),c=Math.max(u/2,s+r),d=Math.max(u/2,-l+r),f=Math.max(u/2,l+r),p=o.width+h+c,g=o.height+d+f;i.width=p*e,i.height=g*e,n.scale(e,e),n.clearRect(0,0,p,g),n.dpr=e;var m={position:t.position,rotation:t.rotation,scale:t.scale};t.position=[h-o.x,d-o.y],t.rotation=0,t.scale=[1,1],t.updateTransform(),t&&t.brush(n);var v=new hi({style:{x:0,y:0,image:i}});return null!=m.position&&(v.position=t.position=m.position),null!=m.rotation&&(v.rotation=t.rotation=m.rotation),null!=m.scale&&(v.scale=t.scale=m.scale),v}};var xb=function(t){t=t||{},this.stage=t.stage||{},this.onframe=t.onframe||function(){},this._clips=[],this._running=!1,this._time,this._pausedTime,this._pauseStart,this._paused=!1,aw.call(this)};xb.prototype={constructor:xb,addClip:function(t){this._clips.push(t)},addAnimator:function(t){t.animation=this;for(var e=t.getClips(),i=0;i<e.length;i++)this.addClip(e[i])},removeClip:function(t){var e=l(this._clips,t);e>=0&&this._clips.splice(e,1)},removeAnimator:function(t){for(var e=t.getClips(),i=0;i<e.length;i++)this.removeClip(e[i]);t.animation=null},_update:function(){for(var t=(new Date).getTime()-this._pausedTime,e=t-this._time,i=this._clips,n=i.length,o=[],a=[],r=0;r<n;r++){var s=i[r],l=s.step(t,e);l&&(o.push(l),a.push(s))}for(r=0;r<n;)i[r]._needsRemove?(i[r]=i[n-1],i.pop(),n--):r++;n=o.length;for(r=0;r<n;r++)a[r].fire(o[r]);this._time=t,this.onframe(e),this.trigger("frame",e),this.stage.update&&this.stage.update()},_startLoop:function(){function t(){e._running&&(nb(t),!e._paused&&e._update())}var e=this;this._running=!0,nb(t)},start:function(){this._time=(new Date).getTime(),this._pausedTime=0,this._startLoop()},stop:function(){this._running=!1},pause:function(){this._paused||(this._pauseStart=(new Date).getTime(),this._paused=!0)},resume:function(){this._paused&&(this._pausedTime+=(new Date).getTime()-this._pauseStart,this._paused=!1)},clear:function(){this._clips=[]},isFinished:function(){return!this._clips.length},animate:function(t,e){var i=new Ow(t,(e=e||{}).loop,e.getter,e.setter);return this.addAnimator(i),i}},h(xb,aw);var _b=function(){this._track=[]};_b.prototype={constructor:_b,recognize:function(t,e,i){return this._doTrack(t,e,i),this._recognize(t)},clear:function(){return this._track.length=0,this},_doTrack:function(t,e,i){var n=t.touches;if(n){for(var o={points:[],touches:[],target:e,event:t},a=0,r=n.length;a<r;a++){var s=n[a],l=rt(i,s,{});o.points.push([l.zrX,l.zrY]),o.touches.push(s)}this._track.push(o)}},_recognize:function(t){for(var e in wb)if(wb.hasOwnProperty(e)){var i=wb[e](this._track,t);if(i)return i}}};var wb={pinch:function(t,e){var i=t.length;if(i){var n=(t[i-1]||{}).points,o=(t[i-2]||{}).points||n;if(o&&o.length>1&&n&&n.length>1){var a=vi(n)/vi(o);!isFinite(a)&&(a=1),e.pinchScale=a;var r=yi(n);return e.pinchX=r[0],e.pinchY=r[1],{type:"pinch",target:t[0].target,event:e}}}}},bb=["click","dblclick","mousewheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],Sb=["touchstart","touchend","touchmove"],Mb={pointerdown:1,pointerup:1,pointermove:1,pointerout:1},Ib=f(bb,function(t){var e=t.replace("mouse","pointer");return Mb[e]?e:t}),Tb={mousemove:function(t){t=lt(this.dom,t),this.trigger("mousemove",t)},mouseout:function(t){var e=(t=lt(this.dom,t)).toElement||t.relatedTarget;if(e!=this.dom)for(;e&&9!=e.nodeType;){if(e===this.dom)return;e=e.parentNode}this.trigger("mouseout",t)},touchstart:function(t){(t=lt(this.dom,t)).zrByTouch=!0,this._lastTouchMoment=new Date,_i(this,t,"start"),Tb.mousemove.call(this,t),Tb.mousedown.call(this,t),wi(this)},touchmove:function(t){(t=lt(this.dom,t)).zrByTouch=!0,_i(this,t,"change"),Tb.mousemove.call(this,t),wi(this)},touchend:function(t){(t=lt(this.dom,t)).zrByTouch=!0,_i(this,t,"end"),Tb.mouseup.call(this,t),+new Date-this._lastTouchMoment<300&&Tb.click.call(this,t),wi(this)},pointerdown:function(t){Tb.mousedown.call(this,t)},pointermove:function(t){bi(t)||Tb.mousemove.call(this,t)},pointerup:function(t){Tb.mouseup.call(this,t)},pointerout:function(t){bi(t)||Tb.mouseout.call(this,t)}};d(["click","mousedown","mouseup","mousewheel","dblclick","contextmenu"],function(t){Tb[t]=function(e){e=lt(this.dom,e),this.trigger(t,e)}});var Ab=Mi.prototype;Ab.dispose=function(){for(var t=bb.concat(Sb),e=0;e<t.length;e++){var i=t[e];ht(this.dom,xi(i),this._handlers[i])}},Ab.setCursor=function(t){this.dom.style&&(this.dom.style.cursor=t||"default")},h(Mi,aw);var Db=!z_.canvasSupported,Cb={canvas:yb},Lb={},kb=function(t,e,i){i=i||{},this.dom=e,this.id=t;var n=this,o=new jw,a=i.renderer;if(Db){if(!Cb.vml)throw new Error("You need to require 'zrender/vml/vml' to support IE8");a="vml"}else a&&Cb[a]||(a="canvas");var r=new Cb[a](e,o,i,t);this.storage=o,this.painter=r;var s=z_.node||z_.worker?null:new Mi(r.getViewportRoot());this.handler=new cw(o,r,s,r.root),this.animation=new xb({stage:{update:m(this.flush,this)}}),this.animation.start(),this._needsRefresh;var l=o.delFromStorage,u=o.addToStorage;o.delFromStorage=function(t){l.call(o,t),t&&t.removeSelfFromZr(n)},o.addToStorage=function(t){u.call(o,t),t.addSelfToZr(n)}};kb.prototype={constructor:kb,getId:function(){return this.id},add:function(t){this.storage.addRoot(t),this._needsRefresh=!0},remove:function(t){this.storage.delRoot(t),this._needsRefresh=!0},configLayer:function(t,e){this.painter.configLayer&&this.painter.configLayer(t,e),this._needsRefresh=!0},setBackgroundColor:function(t){this.painter.setBackgroundColor&&this.painter.setBackgroundColor(t),this._needsRefresh=!0},refreshImmediately:function(){this._needsRefresh=!1,this.painter.refresh(),this._needsRefresh=!1},refresh:function(){this._needsRefresh=!0},flush:function(){var t;this._needsRefresh&&(t=!0,this.refreshImmediately()),this._needsRefreshHover&&(t=!0,this.refreshHoverImmediately()),t&&this.trigger("rendered")},addHover:function(t,e){if(this.painter.addHover){var i=this.painter.addHover(t,e);return this.refreshHover(),i}},removeHover:function(t){this.painter.removeHover&&(this.painter.removeHover(t),this.refreshHover())},clearHover:function(){this.painter.clearHover&&(this.painter.clearHover(),this.refreshHover())},refreshHover:function(){this._needsRefreshHover=!0},refreshHoverImmediately:function(){this._needsRefreshHover=!1,this.painter.refreshHover&&this.painter.refreshHover()},resize:function(t){t=t||{},this.painter.resize(t.width,t.height),this.handler.resize()},clearAnimation:function(){this.animation.clear()},getWidth:function(){return this.painter.getWidth()},getHeight:function(){return this.painter.getHeight()},pathToImage:function(t,e){return this.painter.pathToImage(t,e)},setCursorStyle:function(t){this.handler.setCursorStyle(t)},findHover:function(t,e){return this.handler.findHover(t,e)},on:function(t,e,i){this.handler.on(t,e,i)},off:function(t,e){this.handler.off(t,e)},trigger:function(t,e){this.handler.trigger(t,e)},clear:function(){this.storage.delRoot(),this.painter.clear()},dispose:function(){this.animation.stop(),this.clear(),this.storage.dispose(),this.painter.dispose(),this.handler.dispose(),this.animation=this.storage=this.painter=this.handler=null,Ai(this.id)}};var Pb=(Object.freeze||Object)({version:"4.0.5",init:Ii,dispose:function(t){if(t)t.dispose();else{for(var e in Lb)Lb.hasOwnProperty(e)&&Lb[e].dispose();Lb={}}return this},getInstance:function(t){return Lb[t]},registerPainter:Ti}),Nb=d,Ob=w,Eb=y,Rb="series\0",zb=["fontStyle","fontWeight","fontSize","fontFamily","rich","tag","color","textBorderColor","textBorderWidth","width","height","lineHeight","align","verticalAlign","baseline","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","textShadowColor","textShadowBlur","textShadowOffsetX","textShadowOffsetY","backgroundColor","borderColor","borderWidth","borderRadius","padding"],Bb=0,Vb=".",Gb="___EC__COMPONENT__CONTAINER___",Fb=0,Wb=function(t){for(var e=0;e<t.length;e++)t[e][1]||(t[e][1]=t[e][0]);return function(e,i,n){for(var o={},a=0;a<t.length;a++){var r=t[a][1];if(!(i&&l(i,r)>=0||n&&l(n,r)<0)){var s=e.getShallow(r);null!=s&&(o[t[a][0]]=s)}}return o}},Hb=Wb([["lineWidth","width"],["stroke","color"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]),Zb={getLineStyle:function(t){var e=Hb(this,t),i=this.getLineDash(e.lineWidth);return i&&(e.lineDash=i),e},getLineDash:function(t){null==t&&(t=1);var e=this.get("type"),i=Math.max(t,2),n=4*t;return"solid"===e||null==e?null:"dashed"===e?[n,n]:[i,i]}},Ub=Wb([["fill","color"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["opacity"],["shadowColor"]]),Xb={getAreaStyle:function(t,e){return Ub(this,t,e)}},jb=Math.pow,Yb=Math.sqrt,qb=1e-8,Kb=1e-4,$b=Yb(3),Jb=1/3,Qb=V(),tS=V(),eS=V(),iS=Math.min,nS=Math.max,oS=Math.sin,aS=Math.cos,rS=2*Math.PI,sS=V(),lS=V(),uS=V(),hS=[],cS=[],dS={M:1,L:2,C:3,Q:4,A:5,Z:6,R:7},fS=[],pS=[],gS=[],mS=[],vS=Math.min,yS=Math.max,xS=Math.cos,_S=Math.sin,wS=Math.sqrt,bS=Math.abs,SS="undefined"!=typeof Float32Array,MS=function(t){this._saveData=!t,this._saveData&&(this.data=[]),this._ctx=null};MS.prototype={constructor:MS,_xi:0,_yi:0,_x0:0,_y0:0,_ux:0,_uy:0,_len:0,_lineDash:null,_dashOffset:0,_dashIdx:0,_dashSum:0,setScale:function(t,e){this._ux=bS(1/Rw/t)||0,this._uy=bS(1/Rw/e)||0},getContext:function(){return this._ctx},beginPath:function(t){return this._ctx=t,t&&t.beginPath(),t&&(this.dpr=t.dpr),this._saveData&&(this._len=0),this._lineDash&&(this._lineDash=null,this._dashOffset=0),this},moveTo:function(t,e){return this.addData(dS.M,t,e),this._ctx&&this._ctx.moveTo(t,e),this._x0=t,this._y0=e,this._xi=t,this._yi=e,this},lineTo:function(t,e){var i=bS(t-this._xi)>this._ux||bS(e-this._yi)>this._uy||this._len<5;return this.addData(dS.L,t,e),this._ctx&&i&&(this._needsDash()?this._dashedLineTo(t,e):this._ctx.lineTo(t,e)),i&&(this._xi=t,this._yi=e),this},bezierCurveTo:function(t,e,i,n,o,a){return this.addData(dS.C,t,e,i,n,o,a),this._ctx&&(this._needsDash()?this._dashedBezierTo(t,e,i,n,o,a):this._ctx.bezierCurveTo(t,e,i,n,o,a)),this._xi=o,this._yi=a,this},quadraticCurveTo:function(t,e,i,n){return this.addData(dS.Q,t,e,i,n),this._ctx&&(this._needsDash()?this._dashedQuadraticTo(t,e,i,n):this._ctx.quadraticCurveTo(t,e,i,n)),this._xi=i,this._yi=n,this},arc:function(t,e,i,n,o,a){return this.addData(dS.A,t,e,i,i,n,o-n,0,a?0:1),this._ctx&&this._ctx.arc(t,e,i,n,o,a),this._xi=xS(o)*i+t,this._yi=_S(o)*i+e,this},arcTo:function(t,e,i,n,o){return this._ctx&&this._ctx.arcTo(t,e,i,n,o),this},rect:function(t,e,i,n){return this._ctx&&this._ctx.rect(t,e,i,n),this.addData(dS.R,t,e,i,n),this},closePath:function(){this.addData(dS.Z);var t=this._ctx,e=this._x0,i=this._y0;return t&&(this._needsDash()&&this._dashedLineTo(e,i),t.closePath()),this._xi=e,this._yi=i,this},fill:function(t){t&&t.fill(),this.toStatic()},stroke:function(t){t&&t.stroke(),this.toStatic()},setLineDash:function(t){if(t instanceof Array){this._lineDash=t,this._dashIdx=0;for(var e=0,i=0;i<t.length;i++)e+=t[i];this._dashSum=e}return this},setLineDashOffset:function(t){return this._dashOffset=t,this},len:function(){return this._len},setData:function(t){var e=t.length;this.data&&this.data.length==e||!SS||(this.data=new Float32Array(e));for(var i=0;i<e;i++)this.data[i]=t[i];this._len=e},appendPath:function(t){t instanceof Array||(t=[t]);for(var e=t.length,i=0,n=this._len,o=0;o<e;o++)i+=t[o].len();SS&&this.data instanceof Float32Array&&(this.data=new Float32Array(n+i));for(o=0;o<e;o++)for(var a=t[o].data,r=0;r<a.length;r++)this.data[n++]=a[r];this._len=n},addData:function(t){if(this._saveData){var e=this.data;this._len+arguments.length>e.length&&(this._expandData(),e=this.data);for(var i=0;i<arguments.length;i++)e[this._len++]=arguments[i];this._prevCmd=t}},_expandData:function(){if(!(this.data instanceof Array)){for(var t=[],e=0;e<this._len;e++)t[e]=this.data[e];this.data=t}},_needsDash:function(){return this._lineDash},_dashedLineTo:function(t,e){var i,n,o=this._dashSum,a=this._dashOffset,r=this._lineDash,s=this._ctx,l=this._xi,u=this._yi,h=t-l,c=e-u,d=wS(h*h+c*c),f=l,p=u,g=r.length;for(h/=d,c/=d,a<0&&(a=o+a),f-=(a%=o)*h,p-=a*c;h>0&&f<=t||h<0&&f>=t||0==h&&(c>0&&p<=e||c<0&&p>=e);)f+=h*(i=r[n=this._dashIdx]),p+=c*i,this._dashIdx=(n+1)%g,h>0&&f<l||h<0&&f>l||c>0&&p<u||c<0&&p>u||s[n%2?"moveTo":"lineTo"](h>=0?vS(f,t):yS(f,t),c>=0?vS(p,e):yS(p,e));h=f-t,c=p-e,this._dashOffset=-wS(h*h+c*c)},_dashedBezierTo:function(t,e,i,n,o,a){var r,s,l,u,h,c=this._dashSum,d=this._dashOffset,f=this._lineDash,p=this._ctx,g=this._xi,m=this._yi,v=Qi,y=0,x=this._dashIdx,_=f.length,w=0;for(d<0&&(d=c+d),d%=c,r=0;r<1;r+=.1)s=v(g,t,i,o,r+.1)-v(g,t,i,o,r),l=v(m,e,n,a,r+.1)-v(m,e,n,a,r),y+=wS(s*s+l*l);for(;x<_&&!((w+=f[x])>d);x++);for(r=(w-d)/y;r<=1;)u=v(g,t,i,o,r),h=v(m,e,n,a,r),x%2?p.moveTo(u,h):p.lineTo(u,h),r+=f[x]/y,x=(x+1)%_;x%2!=0&&p.lineTo(o,a),s=o-u,l=a-h,this._dashOffset=-wS(s*s+l*l)},_dashedQuadraticTo:function(t,e,i,n){var o=i,a=n;i=(i+2*t)/3,n=(n+2*e)/3,t=(this._xi+2*t)/3,e=(this._yi+2*e)/3,this._dashedBezierTo(t,e,i,n,o,a)},toStatic:function(){var t=this.data;t instanceof Array&&(t.length=this._len,SS&&(this.data=new Float32Array(t)))},getBoundingRect:function(){fS[0]=fS[1]=gS[0]=gS[1]=Number.MAX_VALUE,pS[0]=pS[1]=mS[0]=mS[1]=-Number.MAX_VALUE;for(var t=this.data,e=0,i=0,n=0,o=0,a=0;a<t.length;){var r=t[a++];switch(1==a&&(n=e=t[a],o=i=t[a+1]),r){case dS.M:e=n=t[a++],i=o=t[a++],gS[0]=n,gS[1]=o,mS[0]=n,mS[1]=o;break;case dS.L:fn(e,i,t[a],t[a+1],gS,mS),e=t[a++],i=t[a++];break;case dS.C:pn(e,i,t[a++],t[a++],t[a++],t[a++],t[a],t[a+1],gS,mS),e=t[a++],i=t[a++];break;case dS.Q:gn(e,i,t[a++],t[a++],t[a],t[a+1],gS,mS),e=t[a++],i=t[a++];break;case dS.A:var s=t[a++],l=t[a++],u=t[a++],h=t[a++],c=t[a++],d=t[a++]+c,f=(t[a++],1-t[a++]);1==a&&(n=xS(c)*u+s,o=_S(c)*h+l),mn(s,l,u,h,c,d,f,gS,mS),e=xS(d)*u+s,i=_S(d)*h+l;break;case dS.R:fn(n=e=t[a++],o=i=t[a++],n+t[a++],o+t[a++],gS,mS);break;case dS.Z:e=n,i=o}tt(fS,fS,gS),et(pS,pS,mS)}return 0===a&&(fS[0]=fS[1]=pS[0]=pS[1]=0),new ue(fS[0],fS[1],pS[0]-fS[0],pS[1]-fS[1])},rebuildPath:function(t){for(var e,i,n,o,a,r,s=this.data,l=this._ux,u=this._uy,h=this._len,c=0;c<h;){var d=s[c++];switch(1==c&&(e=n=s[c],i=o=s[c+1]),d){case dS.M:e=n=s[c++],i=o=s[c++],t.moveTo(n,o);break;case dS.L:a=s[c++],r=s[c++],(bS(a-n)>l||bS(r-o)>u||c===h-1)&&(t.lineTo(a,r),n=a,o=r);break;case dS.C:t.bezierCurveTo(s[c++],s[c++],s[c++],s[c++],s[c++],s[c++]),n=s[c-2],o=s[c-1];break;case dS.Q:t.quadraticCurveTo(s[c++],s[c++],s[c++],s[c++]),n=s[c-2],o=s[c-1];break;case dS.A:var f=s[c++],p=s[c++],g=s[c++],m=s[c++],v=s[c++],y=s[c++],x=s[c++],_=s[c++],w=g>m?g:m,b=g>m?1:g/m,S=g>m?m/g:1,M=v+y;Math.abs(g-m)>.001?(t.translate(f,p),t.rotate(x),t.scale(b,S),t.arc(0,0,w,v,M,1-_),t.scale(1/b,1/S),t.rotate(-x),t.translate(-f,-p)):t.arc(f,p,w,v,M,1-_),1==c&&(e=xS(v)*g+f,i=_S(v)*m+p),n=xS(M)*g+f,o=_S(M)*m+p;break;case dS.R:e=n=s[c],i=o=s[c+1],t.rect(s[c++],s[c++],s[c++],s[c++]);break;case dS.Z:t.closePath(),n=e,o=i}}}},MS.CMD=dS;var IS=2*Math.PI,TS=2*Math.PI,AS=MS.CMD,DS=2*Math.PI,CS=1e-4,LS=[-1,-1,-1],kS=[-1,-1],PS=eb.prototype.getCanvasPattern,NS=Math.abs,OS=new MS(!0);kn.prototype={constructor:kn,type:"path",__dirtyPath:!0,strokeContainThreshold:5,brush:function(t,e){var i=this.style,n=this.path||OS,o=i.hasStroke(),a=i.hasFill(),r=i.fill,s=i.stroke,l=a&&!!r.colorStops,u=o&&!!s.colorStops,h=a&&!!r.image,c=o&&!!s.image;if(i.bind(t,this,e),this.setTransform(t),this.__dirty){var d;l&&(d=d||this.getBoundingRect(),this._fillGradient=i.getGradient(t,r,d)),u&&(d=d||this.getBoundingRect(),this._strokeGradient=i.getGradient(t,s,d))}l?t.fillStyle=this._fillGradient:h&&(t.fillStyle=PS.call(r,t)),u?t.strokeStyle=this._strokeGradient:c&&(t.strokeStyle=PS.call(s,t));var f=i.lineDash,p=i.lineDashOffset,g=!!t.setLineDash,m=this.getGlobalScale();if(n.setScale(m[0],m[1]),this.__dirtyPath||f&&!g&&o?(n.beginPath(t),f&&!g&&(n.setLineDash(f),n.setLineDashOffset(p)),this.buildPath(n,this.shape,!1),this.path&&(this.__dirtyPath=!1)):(t.beginPath(),this.path.rebuildPath(t)),a)if(null!=i.fillOpacity){v=t.globalAlpha;t.globalAlpha=i.fillOpacity*i.opacity,n.fill(t),t.globalAlpha=v}else n.fill(t);if(f&&g&&(t.setLineDash(f),t.lineDashOffset=p),o)if(null!=i.strokeOpacity){var v=t.globalAlpha;t.globalAlpha=i.strokeOpacity*i.opacity,n.stroke(t),t.globalAlpha=v}else n.stroke(t);f&&g&&t.setLineDash([]),null!=i.text&&(this.restoreTransform(t),this.drawRectText(t,this.getBoundingRect()))},buildPath:function(t,e,i){},createPathProxy:function(){this.path=new MS},getBoundingRect:function(){var t=this._rect,e=this.style,i=!t;if(i){var n=this.path;n||(n=this.path=new MS),this.__dirtyPath&&(n.beginPath(),this.buildPath(n,this.shape,!1)),t=n.getBoundingRect()}if(this._rect=t,e.hasStroke()){var o=this._rectWithStroke||(this._rectWithStroke=t.clone());if(this.__dirty||i){o.copy(t);var a=e.lineWidth,r=e.strokeNoScale?this.getLineScale():1;e.hasFill()||(a=Math.max(a,this.strokeContainThreshold||4)),r>1e-10&&(o.width+=a/r,o.height+=a/r,o.x-=a/r/2,o.y-=a/r/2)}return o}return t},contain:function(t,e){var i=this.transformCoordToLocal(t,e),n=this.getBoundingRect(),o=this.style;if(t=i[0],e=i[1],n.contain(t,e)){var a=this.path.data;if(o.hasStroke()){var r=o.lineWidth,s=o.strokeNoScale?this.getLineScale():1;if(s>1e-10&&(o.hasFill()||(r=Math.max(r,this.strokeContainThreshold)),Ln(a,r/s,t,e)))return!0}if(o.hasFill())return Cn(a,t,e)}return!1},dirty:function(t){null==t&&(t=!0),t&&(this.__dirtyPath=t,this._rect=null),this.__dirty=this.__dirtyText=!0,this.__zr&&this.__zr.refresh(),this.__clipTarget&&this.__clipTarget.dirty()},animateShape:function(t){return this.animate("shape",t)},attrKV:function(t,e){"shape"===t?(this.setShape(e),this.__dirtyPath=!0,this._rect=null):ui.prototype.attrKV.call(this,t,e)},setShape:function(t,e){var i=this.shape;if(i){if(w(t))for(var n in t)t.hasOwnProperty(n)&&(i[n]=t[n]);else i[t]=e;this.dirty(!0)}return this},getLineScale:function(){var t=this.transform;return t&&NS(t[0]-1)>1e-10&&NS(t[3]-1)>1e-10?Math.sqrt(NS(t[0]*t[3]-t[2]*t[1])):1}},kn.extend=function(t){var e=function(e){kn.call(this,e),t.style&&this.style.extendFrom(t.style,!1);var i=t.shape;if(i){this.shape=this.shape||{};var n=this.shape;for(var o in i)!n.hasOwnProperty(o)&&i.hasOwnProperty(o)&&(n[o]=i[o])}t.init&&t.init.call(this,e)};u(e,kn);for(var i in t)"style"!==i&&"shape"!==i&&(e.prototype[i]=t[i]);return e},u(kn,ui);var ES=MS.CMD,RS=[[],[],[]],zS=Math.sqrt,BS=Math.atan2,VS=function(t,e){var i,n,o,a,r,s,l=t.data,u=ES.M,h=ES.C,c=ES.L,d=ES.R,f=ES.A,p=ES.Q;for(o=0,a=0;o<l.length;){switch(i=l[o++],a=o,n=0,i){case u:case c:n=1;break;case h:n=3;break;case p:n=2;break;case f:var g=e[4],m=e[5],v=zS(e[0]*e[0]+e[1]*e[1]),y=zS(e[2]*e[2]+e[3]*e[3]),x=BS(-e[1]/y,e[0]/v);l[o]*=v,l[o++]+=g,l[o]*=y,l[o++]+=m,l[o++]*=v,l[o++]*=y,l[o++]+=x,l[o++]+=x,a=o+=2;break;case d:s[0]=l[o++],s[1]=l[o++],Q(s,s,e),l[a++]=s[0],l[a++]=s[1],s[0]+=l[o++],s[1]+=l[o++],Q(s,s,e),l[a++]=s[0],l[a++]=s[1]}for(r=0;r<n;r++)(s=RS[r])[0]=l[o++],s[1]=l[o++],Q(s,s,e),l[a++]=s[0],l[a++]=s[1]}},GS=Math.sqrt,FS=Math.sin,WS=Math.cos,HS=Math.PI,ZS=function(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])},US=function(t,e){return(t[0]*e[0]+t[1]*e[1])/(ZS(t)*ZS(e))},XS=function(t,e){return(t[0]*e[1]<t[1]*e[0]?-1:1)*Math.acos(US(t,e))},jS=/([mlvhzcqtsa])([^mlvhzcqtsa]*)/gi,YS=/-?([0-9]*\.)?[0-9]+([eE]-?[0-9]+)?/g,qS=function(t){ui.call(this,t)};qS.prototype={constructor:qS,type:"text",brush:function(t,e){var i=this.style;this.__dirty&&Ue(i),i.fill=i.stroke=i.shadowBlur=i.shadowColor=i.shadowOffsetX=i.shadowOffsetY=null;var n=i.text;null!=n&&(n+=""),li(n,i)&&(this.setTransform(t),je(this,t,n,i,null,e),this.restoreTransform(t))},getBoundingRect:function(){var t=this.style;if(this.__dirty&&Ue(t),!this._rect){var e=t.text;null!=e?e+="":e="";var i=De(t.text+"",t.font,t.textAlign,t.textVerticalAlign,t.textPadding,t.rich);if(i.x+=t.x||0,i.y+=t.y||0,oi(t.textStroke,t.textStrokeWidth)){var n=t.textStrokeWidth;i.x-=n/2,i.y-=n/2,i.width+=n,i.height+=n}this._rect=i}return this._rect}},u(qS,ui);var KS=kn.extend({type:"circle",shape:{cx:0,cy:0,r:0},buildPath:function(t,e,i){i&&t.moveTo(e.cx+e.r,e.cy),t.arc(e.cx,e.cy,e.r,0,2*Math.PI,!0)}}),$S=[["shadowBlur",0],["shadowColor","#000"],["shadowOffsetX",0],["shadowOffsetY",0]],JS=function(t){return z_.browser.ie&&z_.browser.version>=11?function(){var e,i=this.__clipPaths,n=this.style;if(i)for(var o=0;o<i.length;o++){var a=i[o],r=a&&a.shape,s=a&&a.type;if(r&&("sector"===s&&r.startAngle===r.endAngle||"rect"===s&&(!r.width||!r.height))){for(l=0;l<$S.length;l++)$S[l][2]=n[$S[l][0]],n[$S[l][0]]=$S[l][1];e=!0;break}}if(t.apply(this,arguments),e)for(var l=0;l<$S.length;l++)n[$S[l][0]]=$S[l][2]}:t},QS=kn.extend({type:"sector",shape:{cx:0,cy:0,r0:0,r:0,startAngle:0,endAngle:2*Math.PI,clockwise:!0},brush:JS(kn.prototype.brush),buildPath:function(t,e){var i=e.cx,n=e.cy,o=Math.max(e.r0||0,0),a=Math.max(e.r,0),r=e.startAngle,s=e.endAngle,l=e.clockwise,u=Math.cos(r),h=Math.sin(r);t.moveTo(u*o+i,h*o+n),t.lineTo(u*a+i,h*a+n),t.arc(i,n,a,r,s,!l),t.lineTo(Math.cos(s)*o+i,Math.sin(s)*o+n),0!==o&&t.arc(i,n,o,s,r,l),t.closePath()}}),tM=kn.extend({type:"ring",shape:{cx:0,cy:0,r:0,r0:0},buildPath:function(t,e){var i=e.cx,n=e.cy,o=2*Math.PI;t.moveTo(i+e.r,n),t.arc(i,n,e.r,0,o,!1),t.moveTo(i+e.r0,n),t.arc(i,n,e.r0,0,o,!0)}}),eM=function(t,e){for(var i=t.length,n=[],o=0,a=1;a<i;a++)o+=K(t[a-1],t[a]);var r=o/2;r=r<i?i:r;for(a=0;a<r;a++){var s,l,u,h=a/(r-1)*(e?i:i-1),c=Math.floor(h),d=h-c,f=t[c%i];e?(s=t[(c-1+i)%i],l=t[(c+1)%i],u=t[(c+2)%i]):(s=t[0===c?c:c-1],l=t[c>i-2?i-1:c+1],u=t[c>i-3?i-1:c+2]);var p=d*d,g=d*p;n.push([zn(s[0],f[0],l[0],u[0],d,p,g),zn(s[1],f[1],l[1],u[1],d,p,g)])}return n},iM=function(t,e,i,n){var o,a,r,s,l=[],u=[],h=[],c=[];if(n){r=[1/0,1/0],s=[-1/0,-1/0];for(var d=0,f=t.length;d<f;d++)tt(r,r,t[d]),et(s,s,t[d]);tt(r,r,n[0]),et(s,s,n[1])}for(var d=0,f=t.length;d<f;d++){var p=t[d];if(i)o=t[d?d-1:f-1],a=t[(d+1)%f];else{if(0===d||d===f-1){l.push(F(t[d]));continue}o=t[d-1],a=t[d+1]}U(u,a,o),Y(u,u,e);var g=K(p,o),m=K(p,a),v=g+m;0!==v&&(g/=v,m/=v),Y(h,u,-g),Y(c,u,m);var y=H([],p,h),x=H([],p,c);n&&(et(y,y,r),tt(y,y,s),et(x,x,r),tt(x,x,s)),l.push(y),l.push(x)}return i&&l.push(l.shift()),l},nM=kn.extend({type:"polygon",shape:{points:null,smooth:!1,smoothConstraint:null},buildPath:function(t,e){Bn(t,e,!0)}}),oM=kn.extend({type:"polyline",shape:{points:null,smooth:!1,smoothConstraint:null},style:{stroke:"#000",fill:null},buildPath:function(t,e){Bn(t,e,!1)}}),aM=kn.extend({type:"rect",shape:{r:0,x:0,y:0,width:0,height:0},buildPath:function(t,e){var i=e.x,n=e.y,o=e.width,a=e.height;e.r?Ze(t,e):t.rect(i,n,o,a),t.closePath()}}),rM=kn.extend({type:"line",shape:{x1:0,y1:0,x2:0,y2:0,percent:1},style:{stroke:"#000",fill:null},buildPath:function(t,e){var i=e.x1,n=e.y1,o=e.x2,a=e.y2,r=e.percent;0!==r&&(t.moveTo(i,n),r<1&&(o=i*(1-r)+o*r,a=n*(1-r)+a*r),t.lineTo(o,a))},pointAt:function(t){var e=this.shape;return[e.x1*(1-t)+e.x2*t,e.y1*(1-t)+e.y2*t]}}),sM=[],lM=kn.extend({type:"bezier-curve",shape:{x1:0,y1:0,x2:0,y2:0,cpx1:0,cpy1:0,percent:1},style:{stroke:"#000",fill:null},buildPath:function(t,e){var i=e.x1,n=e.y1,o=e.x2,a=e.y2,r=e.cpx1,s=e.cpy1,l=e.cpx2,u=e.cpy2,h=e.percent;0!==h&&(t.moveTo(i,n),null==l||null==u?(h<1&&(hn(i,r,o,h,sM),r=sM[1],o=sM[2],hn(n,s,a,h,sM),s=sM[1],a=sM[2]),t.quadraticCurveTo(r,s,o,a)):(h<1&&(on(i,r,l,o,h,sM),r=sM[1],l=sM[2],o=sM[3],on(n,s,u,a,h,sM),s=sM[1],u=sM[2],a=sM[3]),t.bezierCurveTo(r,s,l,u,o,a)))},pointAt:function(t){return Vn(this.shape,t,!1)},tangentAt:function(t){var e=Vn(this.shape,t,!0);return q(e,e)}}),uM=kn.extend({type:"arc",shape:{cx:0,cy:0,r:0,startAngle:0,endAngle:2*Math.PI,clockwise:!0},style:{stroke:"#000",fill:null},buildPath:function(t,e){var i=e.cx,n=e.cy,o=Math.max(e.r,0),a=e.startAngle,r=e.endAngle,s=e.clockwise,l=Math.cos(a),u=Math.sin(a);t.moveTo(l*o+i,u*o+n),t.arc(i,n,o,a,r,!s)}}),hM=kn.extend({type:"compound",shape:{paths:null},_updatePathDirty:function(){for(var t=this.__dirtyPath,e=this.shape.paths,i=0;i<e.length;i++)t=t||e[i].__dirtyPath;this.__dirtyPath=t,this.__dirty=this.__dirty||t},beforeBrush:function(){this._updatePathDirty();for(var t=this.shape.paths||[],e=this.getGlobalScale(),i=0;i<t.length;i++)t[i].path||t[i].createPathProxy(),t[i].path.setScale(e[0],e[1])},buildPath:function(t,e){for(var i=e.paths||[],n=0;n<i.length;n++)i[n].buildPath(t,i[n].shape,!0)},afterBrush:function(){for(var t=this.shape.paths||[],e=0;e<t.length;e++)t[e].__dirtyPath=!1},getBoundingRect:function(){return this._updatePathDirty(),kn.prototype.getBoundingRect.call(this)}}),cM=function(t){this.colorStops=t||[]};cM.prototype={constructor:cM,addColorStop:function(t,e){this.colorStops.push({offset:t,color:e})}};var dM=function(t,e,i,n,o,a){this.x=null==t?0:t,this.y=null==e?0:e,this.x2=null==i?1:i,this.y2=null==n?0:n,this.type="linear",this.global=a||!1,cM.call(this,o)};dM.prototype={constructor:dM},u(dM,cM);var fM=function(t,e,i,n,o){this.x=null==t?.5:t,this.y=null==e?.5:e,this.r=null==i?.5:i,this.type="radial",this.global=o||!1,cM.call(this,n)};fM.prototype={constructor:fM},u(fM,cM),Gn.prototype.incremental=!0,Gn.prototype.clearDisplaybles=function(){this._displayables=[],this._temporaryDisplayables=[],this._cursor=0,this.dirty(),this.notClear=!1},Gn.prototype.addDisplayable=function(t,e){e?this._temporaryDisplayables.push(t):this._displayables.push(t),this.dirty()},Gn.prototype.addDisplayables=function(t,e){e=e||!1;for(var i=0;i<t.length;i++)this.addDisplayable(t[i],e)},Gn.prototype.eachPendingDisplayable=function(t){for(e=this._cursor;e<this._displayables.length;e++)t&&t(this._displayables[e]);for(var e=0;e<this._temporaryDisplayables.length;e++)t&&t(this._temporaryDisplayables[e])},Gn.prototype.update=function(){this.updateTransform();for(t=this._cursor;t<this._displayables.length;t++)(e=this._displayables[t]).parent=this,e.update(),e.parent=null;for(var t=0;t<this._temporaryDisplayables.length;t++){var e=this._temporaryDisplayables[t];e.parent=this,e.update(),e.parent=null}},Gn.prototype.brush=function(t,e){for(i=this._cursor;i<this._displayables.length;i++)(n=this._displayables[i]).beforeBrush&&n.beforeBrush(t),n.brush(t,i===this._cursor?null:this._displayables[i-1]),n.afterBrush&&n.afterBrush(t);this._cursor=i;for(var i=0;i<this._temporaryDisplayables.length;i++){var n=this._temporaryDisplayables[i];n.beforeBrush&&n.beforeBrush(t),n.brush(t,0===i?null:this._temporaryDisplayables[i-1]),n.afterBrush&&n.afterBrush(t)}this._temporaryDisplayables=[],this.notClear=!0};var pM=[];Gn.prototype.getBoundingRect=function(){if(!this._rect){for(var t=new ue(1/0,1/0,-1/0,-1/0),e=0;e<this._displayables.length;e++){var i=this._displayables[e],n=i.getBoundingRect().clone();i.needLocalTransform()&&n.applyTransform(i.getLocalTransform(pM)),t.union(n)}this._rect=t}return this._rect},Gn.prototype.contain=function(t,e){var i=this.transformCoordToLocal(t,e);if(this.getBoundingRect().contain(i[0],i[1]))for(var n=0;n<this._displayables.length;n++)if(this._displayables[n].contain(t,e))return!0;return!1},u(Gn,ui);var gM=Math.round,mM=Math.max,vM=Math.min,yM={},xM=function(t,e){for(var i=[],n=t.length,o=0;o<n;o++){var a=t[o];a.path||a.createPathProxy(),a.__dirtyPath&&a.buildPath(a.path,a.shape,!0),i.push(a.path)}var r=new kn(e);return r.createPathProxy(),r.buildPath=function(t){t.appendPath(i);var e=t.getContext();e&&t.rebuildPath(e)},r},_M=R(),wM=0,bM=(Object.freeze||Object)({extendShape:Fn,extendPath:function(t,e){return Rn(t,e)},makePath:Wn,makeImage:Hn,mergePath:xM,resizePath:Un,subPixelOptimizeLine:Xn,subPixelOptimizeRect:jn,subPixelOptimize:Yn,setElementHoverStyle:no,isInEmphasis:oo,setHoverStyle:uo,setAsHoverStyleTrigger:ho,setLabelStyle:co,setTextStyle:fo,setText:function(t,e,i){var n,o={isRectText:!0};!1===i?n=!0:o.autoColor=i,po(t,e,o,n)},getFont:_o,updateProps:bo,initProps:So,getTransform:Mo,applyTransform:Io,transformDirection:To,groupTransition:Ao,clipPointsByRect:Do,clipRectByRect:function(t,e){var i=mM(t.x,e.x),n=vM(t.x+t.width,e.x+e.width),o=mM(t.y,e.y),a=vM(t.y+t.height,e.y+e.height);if(n>=i&&a>=o)return{x:i,y:o,width:n-i,height:a-o}},createIcon:Co,Group:Zw,Image:hi,Text:qS,Circle:KS,Sector:QS,Ring:tM,Polygon:nM,Polyline:oM,Rect:aM,Line:rM,BezierCurve:lM,Arc:uM,IncrementalDisplayable:Gn,CompoundPath:hM,LinearGradient:dM,RadialGradient:fM,BoundingRect:ue}),SM=["textStyle","color"],MM={getTextColor:function(t){var e=this.ecModel;return this.getShallow("color")||(!t&&e?e.get(SM):null)},getFont:function(){return _o({fontStyle:this.getShallow("fontStyle"),fontWeight:this.getShallow("fontWeight"),fontSize:this.getShallow("fontSize"),fontFamily:this.getShallow("fontFamily")},this.ecModel)},getTextRect:function(t){return De(t,this.getFont(),this.getShallow("align"),this.getShallow("verticalAlign")||this.getShallow("baseline"),this.getShallow("padding"),this.getShallow("rich"),this.getShallow("truncateText"))}},IM=Wb([["fill","color"],["stroke","borderColor"],["lineWidth","borderWidth"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"],["textPosition"],["textAlign"]]),TM={getItemStyle:function(t,e){var i=IM(this,t,e),n=this.getBorderLineDash();return n&&(i.lineDash=n),i},getBorderLineDash:function(){var t=this.get("borderType");return"solid"===t||null==t?null:"dashed"===t?[5,5]:[1,1]}},AM=h,DM=Bi();Lo.prototype={constructor:Lo,init:null,mergeOption:function(t){n(this.option,t,!0)},get:function(t,e){return null==t?this.option:ko(this.option,this.parsePath(t),!e&&Po(this,t))},getShallow:function(t,e){var i=this.option,n=null==i?i:i[t],o=!e&&Po(this,t);return null==n&&o&&(n=o.getShallow(t)),n},getModel:function(t,e){var i,n=null==t?this.option:ko(this.option,t=this.parsePath(t));return e=e||(i=Po(this,t))&&i.getModel(t),new Lo(n,e,this.ecModel)},isEmpty:function(){return null==this.option},restoreData:function(){},clone:function(){return new(0,this.constructor)(i(this.option))},setReadOnly:function(t){},parsePath:function(t){return"string"==typeof t&&(t=t.split(".")),t},customizeGetParent:function(t){DM(this).getParent=t},isAnimationEnabled:function(){if(!z_.node){if(null!=this.option.animation)return!!this.option.animation;if(this.parentModel)return this.parentModel.isAnimationEnabled()}}},Xi(Lo),ji(Lo),AM(Lo,Zb),AM(Lo,Xb),AM(Lo,MM),AM(Lo,TM);var CM=0,LM=1e-4,kM=9007199254740991,PM=/^(?:(\d{4})(?:[-\/](\d{1,2})(?:[-\/](\d{1,2})(?:[T ](\d{1,2})(?::(\d\d)(?::(\d\d)(?:[.,](\d+))?)?)?(Z|[\+\-]\d\d:?\d\d)?)?)?)?)?$/,NM=(Object.freeze||Object)({linearMap:Eo,parsePercent:Ro,round:zo,asc:Bo,getPrecision:Vo,getPrecisionSafe:Go,getPixelPrecision:Fo,getPercentWithPrecision:Wo,MAX_SAFE_INTEGER:kM,remRadian:Ho,isRadianAroundZero:Zo,parseDate:Uo,quantity:Xo,nice:Yo,quantile:function(t,e){var i=(t.length-1)*e+1,n=Math.floor(i),o=+t[n-1],a=i-n;return a?o+a*(t[n]-o):o},reformIntervals:qo,isNumeric:Ko}),OM=L,EM=/([&<>"'])/g,RM={"&":"&","<":"<",">":">",'"':""","'":"'"},zM=["a","b","c","d","e","f","g"],BM=function(t,e){return"{"+t+(null==e?"":e)+"}"},VM=Oe,GM=De,FM=(Object.freeze||Object)({addCommas:$o,toCamelCase:Jo,normalizeCssArray:OM,encodeHTML:Qo,formatTpl:ta,formatTplSimple:ea,getTooltipMarker:ia,formatTime:oa,capitalFirst:aa,truncateText:VM,getTextRect:GM}),WM=d,HM=["left","right","top","bottom","width","height"],ZM=[["width","left","right"],["height","top","bottom"]],UM=ra,XM=(v(ra,"vertical"),v(ra,"horizontal"),{getBoxLayoutParams:function(){return{left:this.get("left"),top:this.get("top"),right:this.get("right"),bottom:this.get("bottom"),width:this.get("width"),height:this.get("height")}}}),jM=Bi(),YM=Lo.extend({type:"component",id:"",name:"",mainType:"",subType:"",componentIndex:0,defaultOption:null,ecModel:null,dependentModels:[],uid:null,layoutMode:null,$constructor:function(t,e,i,n){Lo.call(this,t,e,i,n),this.uid=No("ec_cpt_model")},init:function(t,e,i,n){this.mergeDefaultAndTheme(t,i)},mergeDefaultAndTheme:function(t,e){var i=this.layoutMode,o=i?da(t):{};n(t,e.getTheme().get(this.mainType)),n(t,this.getDefaultOption()),i&&ca(t,o,i)},mergeOption:function(t,e){n(this.option,t,!0);var i=this.layoutMode;i&&ca(this.option,t,i)},optionUpdated:function(t,e){},getDefaultOption:function(){var t=jM(this);if(!t.defaultOption){for(var e=[],i=this.constructor;i;){var o=i.prototype.defaultOption;o&&e.push(o),i=i.superClass}for(var a={},r=e.length-1;r>=0;r--)a=n(a,e[r],!0);t.defaultOption=a}return t.defaultOption},getReferringComponents:function(t){return this.ecModel.queryComponents({mainType:t,index:this.get(t+"Index",!0),id:this.get(t+"Id",!0)})}});Ki(YM,{registerWhenExtend:!0}),function(t){var e={};t.registerSubTypeDefaulter=function(t,i){t=Zi(t),e[t.main]=i},t.determineSubType=function(i,n){var o=n.type;if(!o){var a=Zi(i).main;t.hasSubTypes(i)&&e[a]&&(o=e[a](n))}return o}}(YM),function(t,e){function i(t){var i={},a=[];return d(t,function(r){var s=n(i,r),u=o(s.originalDeps=e(r),t);s.entryCount=u.length,0===s.entryCount&&a.push(r),d(u,function(t){l(s.predecessor,t)<0&&s.predecessor.push(t);var e=n(i,t);l(e.successor,t)<0&&e.successor.push(r)})}),{graph:i,noEntryList:a}}function n(t,e){return t[e]||(t[e]={predecessor:[],successor:[]}),t[e]}function o(t,e){var i=[];return d(t,function(t){l(e,t)>=0&&i.push(t)}),i}t.topologicalTravel=function(t,e,n,o){function a(t){s[t].entryCount--,0===s[t].entryCount&&l.push(t)}if(t.length){var r=i(e),s=r.graph,l=r.noEntryList,u={};for(d(t,function(t){u[t]=!0});l.length;){var h=l.pop(),c=s[h],f=!!u[h];f&&(n.call(o,h,c.originalDeps.slice()),delete u[h]),d(c.successor,f?function(t){u[t]=!0,a(t)}:a)}d(u,function(){throw new Error("Circle dependency may exists")})}}}(YM,function(t){var e=[];return d(YM.getClassesByMainType(t),function(t){e=e.concat(t.prototype.dependencies||[])}),e=f(e,function(t){return Zi(t).main}),"dataset"!==t&&l(e,"dataset")<=0&&e.unshift("dataset"),e}),h(YM,XM);var qM="";"undefined"!=typeof navigator&&(qM=navigator.platform||"");var KM={color:["#c23531","#2f4554","#61a0a8","#d48265","#91c7ae","#749f83","#ca8622","#bda29a","#6e7074","#546570","#c4ccd3"],gradientColor:["#f6efa6","#d88273","#bf444c"],textStyle:{fontFamily:qM.match(/^Win/)?"Microsoft YaHei":"sans-serif",fontSize:12,fontStyle:"normal",fontWeight:"normal"},blendMode:null,animation:"auto",animationDuration:1e3,animationDurationUpdate:300,animationEasing:"exponentialOut",animationEasingUpdate:"cubicOut",animationThreshold:2e3,progressiveThreshold:3e3,progressive:400,hoverLayerThreshold:3e3,useUTC:!1},$M=Bi(),JM={clearColorPalette:function(){$M(this).colorIdx=0,$M(this).colorNameMap={}},getColorFromPalette:function(t,e,i){var n=$M(e=e||this),o=n.colorIdx||0,a=n.colorNameMap=n.colorNameMap||{};if(a.hasOwnProperty(t))return a[t];var r=Di(this.get("color",!0)),s=this.get("colorLayer",!0),l=null!=i&&s?pa(s,i):r;if((l=l||r)&&l.length){var u=l[o];return t&&(a[t]=u),n.colorIdx=(o+1)%l.length,u}}},QM={cartesian2d:function(t,e,i,n){var o=t.getReferringComponents("xAxis")[0],a=t.getReferringComponents("yAxis")[0];e.coordSysDims=["x","y"],i.set("x",o),i.set("y",a),ma(o)&&(n.set("x",o),e.firstCategoryDimIndex=0),ma(a)&&(n.set("y",a),e.firstCategoryDimIndex=1)},singleAxis:function(t,e,i,n){var o=t.getReferringComponents("singleAxis")[0];e.coordSysDims=["single"],i.set("single",o),ma(o)&&(n.set("single",o),e.firstCategoryDimIndex=0)},polar:function(t,e,i,n){var o=t.getReferringComponents("polar")[0],a=o.findAxisModel("radiusAxis"),r=o.findAxisModel("angleAxis");e.coordSysDims=["radius","angle"],i.set("radius",a),i.set("angle",r),ma(a)&&(n.set("radius",a),e.firstCategoryDimIndex=0),ma(r)&&(n.set("angle",r),e.firstCategoryDimIndex=1)},geo:function(t,e,i,n){e.coordSysDims=["lng","lat"]},parallel:function(t,e,i,n){var o=t.ecModel,a=o.getComponent("parallel",t.get("parallelIndex")),r=e.coordSysDims=a.dimensions.slice();d(a.parallelAxisIndex,function(t,a){var s=o.getComponent("parallelAxis",t),l=r[a];i.set(l,s),ma(s)&&null==e.firstCategoryDimIndex&&(n.set(l,s),e.firstCategoryDimIndex=a)})}},tI="original",eI="arrayRows",iI="objectRows",nI="keyedColumns",oI="unknown",aI="typedArray",rI="column",sI="row";va.seriesDataToSource=function(t){return new va({data:t,sourceFormat:S(t)?aI:tI,fromDataset:!1})},ji(va);var lI=Bi(),uI="\0_ec_inner",hI=Lo.extend({init:function(t,e,i,n){i=i||{},this.option=null,this._theme=new Lo(i),this._optionManager=n},setOption:function(t,e){k(!(uI in t),"please use chart.getOption()"),this._optionManager.setOption(t,e),this.resetOption(null)},resetOption:function(t){var e=!1,i=this._optionManager;if(!t||"recreate"===t){var n=i.mountOption("recreate"===t);this.option&&"recreate"!==t?(this.restoreData(),this.mergeOption(n)):Pa.call(this,n),e=!0}if("timeline"!==t&&"media"!==t||this.restoreData(),!t||"recreate"===t||"timeline"===t){var o=i.getTimelineOption(this);o&&(this.mergeOption(o),e=!0)}if(!t||"recreate"===t||"media"===t){var a=i.getMediaOption(this,this._api);a.length&&d(a,function(t){this.mergeOption(t,e=!0)},this)}return e},mergeOption:function(t){var e=this.option,o=this._componentsMap,r=[];_a(this),d(t,function(t,o){null!=t&&(YM.hasClass(o)?o&&r.push(o):e[o]=null==e[o]?i(t):n(e[o],t,!0))}),YM.topologicalTravel(r,YM.getAllClassMainTypes(),function(i,n){var r=Di(t[i]),s=Pi(o.get(i),r);Ni(s),d(s,function(t,e){var n=t.option;w(n)&&(t.keyInfo.mainType=i,t.keyInfo.subType=Oa(i,n,t.exist))});var l=Na(o,n);e[i]=[],o.set(i,[]),d(s,function(t,n){var r=t.exist,s=t.option;if(k(w(s)||r,"Empty component definition"),s){var u=YM.getClass(i,t.keyInfo.subType,!0);if(r&&r instanceof u)r.name=t.keyInfo.name,r.mergeOption(s,this),r.optionUpdated(s,!1);else{var h=a({dependentModels:l,componentIndex:n},t.keyInfo);a(r=new u(s,this,this,h),h),r.init(s,this,this,h),r.optionUpdated(null,!0)}}else r.mergeOption({},this),r.optionUpdated({},!1);o.get(i)[n]=r,e[i][n]=r.option},this),"series"===i&&Ea(this,o.get("series"))},this),this._seriesIndicesMap=R(this._seriesIndices=this._seriesIndices||[])},getOption:function(){var t=i(this.option);return d(t,function(e,i){if(YM.hasClass(i)){for(var n=(e=Di(e)).length-1;n>=0;n--)Ei(e[n])&&e.splice(n,1);t[i]=e}}),delete t[uI],t},getTheme:function(){return this._theme},getComponent:function(t,e){var i=this._componentsMap.get(t);if(i)return i[e||0]},queryComponents:function(t){var e=t.mainType;if(!e)return[];var i=t.index,n=t.id,o=t.name,a=this._componentsMap.get(e);if(!a||!a.length)return[];var r;if(null!=i)y(i)||(i=[i]),r=g(f(i,function(t){return a[t]}),function(t){return!!t});else if(null!=n){var s=y(n);r=g(a,function(t){return s&&l(n,t.id)>=0||!s&&t.id===n})}else if(null!=o){var u=y(o);r=g(a,function(t){return u&&l(o,t.name)>=0||!u&&t.name===o})}else r=a.slice();return Ra(r,t)},findComponents:function(t){var e=t.query,i=t.mainType,n=function(t){var e=i+"Index",n=i+"Id",o=i+"Name";return!t||null==t[e]&&null==t[n]&&null==t[o]?null:{mainType:i,index:t[e],id:t[n],name:t[o]}}(e);return function(e){return t.filter?g(e,t.filter):e}(Ra(n?this.queryComponents(n):this._componentsMap.get(i),t))},eachComponent:function(t,e,i){var n=this._componentsMap;"function"==typeof t?(i=e,e=t,n.each(function(t,n){d(t,function(t,o){e.call(i,n,t,o)})})):_(t)?d(n.get(t),e,i):w(t)&&d(this.findComponents(t),e,i)},getSeriesByName:function(t){return g(this._componentsMap.get("series"),function(e){return e.name===t})},getSeriesByIndex:function(t){return this._componentsMap.get("series")[t]},getSeriesByType:function(t){return g(this._componentsMap.get("series"),function(e){return e.subType===t})},getSeries:function(){return this._componentsMap.get("series").slice()},getSeriesCount:function(){return this._componentsMap.get("series").length},eachSeries:function(t,e){d(this._seriesIndices,function(i){var n=this._componentsMap.get("series")[i];t.call(e,n,i)},this)},eachRawSeries:function(t,e){d(this._componentsMap.get("series"),t,e)},eachSeriesByType:function(t,e,i){d(this._seriesIndices,function(n){var o=this._componentsMap.get("series")[n];o.subType===t&&e.call(i,o,n)},this)},eachRawSeriesByType:function(t,e,i){return d(this.getSeriesByType(t),e,i)},isSeriesFiltered:function(t){return null==this._seriesIndicesMap.get(t.componentIndex)},getCurrentSeriesIndices:function(){return(this._seriesIndices||[]).slice()},filterSeries:function(t,e){Ea(this,g(this._componentsMap.get("series"),t,e))},restoreData:function(t){var e=this._componentsMap;Ea(this,e.get("series"));var i=[];e.each(function(t,e){i.push(e)}),YM.topologicalTravel(i,YM.getAllClassMainTypes(),function(i,n){d(e.get(i),function(e){("series"!==i||!La(e,t))&&e.restoreData()})})}});h(hI,JM);var cI=["getDom","getZr","getWidth","getHeight","getDevicePixelRatio","dispatchAction","isDisposed","on","off","getDataURL","getConnectedDataURL","getModel","getOption","getViewOfComponentModel","getViewOfSeriesModel"],dI={};Ba.prototype={constructor:Ba,create:function(t,e){var i=[];d(dI,function(n,o){var a=n.create(t,e);i=i.concat(a||[])}),this._coordinateSystems=i},update:function(t,e){d(this._coordinateSystems,function(i){i.update&&i.update(t,e)})},getCoordinateSystems:function(){return this._coordinateSystems.slice()}},Ba.register=function(t,e){dI[t]=e},Ba.get=function(t){return dI[t]};var fI=d,pI=i,gI=f,mI=n,vI=/^(min|max)?(.+)$/;Va.prototype={constructor:Va,setOption:function(t,e){t&&d(Di(t.series),function(t){t&&t.data&&S(t.data)&&N(t.data)}),t=pI(t,!0);var i=this._optionBackup,n=Ga.call(this,t,e,!i);this._newBaseOption=n.baseOption,i?(Za(i.baseOption,n.baseOption),n.timelineOptions.length&&(i.timelineOptions=n.timelineOptions),n.mediaList.length&&(i.mediaList=n.mediaList),n.mediaDefault&&(i.mediaDefault=n.mediaDefault)):this._optionBackup=n},mountOption:function(t){var e=this._optionBackup;return this._timelineOptions=gI(e.timelineOptions,pI),this._mediaList=gI(e.mediaList,pI),this._mediaDefault=pI(e.mediaDefault),this._currentMediaIndices=[],pI(t?e.baseOption:this._newBaseOption)},getTimelineOption:function(t){var e,i=this._timelineOptions;if(i.length){var n=t.getComponent("timeline");n&&(e=pI(i[n.getCurrentIndex()],!0))}return e},getMediaOption:function(t){var e=this._api.getWidth(),i=this._api.getHeight(),n=this._mediaList,o=this._mediaDefault,a=[],r=[];if(!n.length&&!o)return r;for(var s=0,l=n.length;s<l;s++)Fa(n[s].query,e,i)&&a.push(s);return!a.length&&o&&(a=[-1]),a.length&&!Ha(a,this._currentMediaIndices)&&(r=gI(a,function(t){return pI(-1===t?o.option:n[t].option)})),this._currentMediaIndices=a,r}};var yI=d,xI=w,_I=["areaStyle","lineStyle","nodeStyle","linkStyle","chordStyle","label","labelLine"],wI=function(t,e){yI($a(t.series),function(t){xI(t)&&Ka(t)});var i=["xAxis","yAxis","radiusAxis","angleAxis","singleAxis","parallelAxis","radar"];e&&i.push("valueAxis","categoryAxis","logAxis","timeAxis"),yI(i,function(e){yI($a(t[e]),function(t){t&&(Ya(t,"axisLabel"),Ya(t.axisPointer,"label"))})}),yI($a(t.parallel),function(t){var e=t&&t.parallelAxisDefault;Ya(e,"axisLabel"),Ya(e&&e.axisPointer,"label")}),yI($a(t.calendar),function(t){Xa(t,"itemStyle"),Ya(t,"dayLabel"),Ya(t,"monthLabel"),Ya(t,"yearLabel")}),yI($a(t.radar),function(t){Ya(t,"name")}),yI($a(t.geo),function(t){xI(t)&&(qa(t),yI($a(t.regions),function(t){qa(t)}))}),yI($a(t.timeline),function(t){qa(t),Xa(t,"label"),Xa(t,"itemStyle"),Xa(t,"controlStyle",!0);var e=t.data;y(e)&&d(e,function(t){w(t)&&(Xa(t,"label"),Xa(t,"itemStyle"))})}),yI($a(t.toolbox),function(t){Xa(t,"iconStyle"),yI(t.feature,function(t){Xa(t,"iconStyle")})}),Ya(Ja(t.axisPointer),"label"),Ya(Ja(t.tooltip).axisPointer,"label")},bI=[["x","left"],["y","top"],["x2","right"],["y2","bottom"]],SI=["grid","geo","parallel","legend","toolbox","title","visualMap","dataZoom","timeline"],MI=function(t,e){wI(t,e),t.series=Di(t.series),d(t.series,function(t){if(w(t)){var e=t.type;if("pie"!==e&&"gauge"!==e||null!=t.clockWise&&(t.clockwise=t.clockWise),"gauge"===e){var i=Qa(t,"pointer.color");null!=i&&tr(t,"itemStyle.normal.color",i)}er(t)}}),t.dataRange&&(t.visualMap=t.dataRange),d(SI,function(e){var i=t[e];i&&(y(i)||(i=[i]),d(i,function(t){er(t)}))})},II=nr.prototype;II.pure=!1,II.persistent=!0,II.getSource=function(){return this._source};var TI={arrayRows_column:{pure:!0,count:function(){return Math.max(0,this._data.length-this._source.startIndex)},getItem:function(t){return this._data[t+this._source.startIndex]},appendData:rr},arrayRows_row:{pure:!0,count:function(){var t=this._data[0];return t?Math.max(0,t.length-this._source.startIndex):0},getItem:function(t){t+=this._source.startIndex;for(var e=[],i=this._data,n=0;n<i.length;n++){var o=i[n];e.push(o?o[t]:null)}return e},appendData:function(){throw new Error('Do not support appendData when set seriesLayoutBy: "row".')}},objectRows:{pure:!0,count:or,getItem:ar,appendData:rr},keyedColumns:{pure:!0,count:function(){var t=this._source.dimensionsDefine[0].name,e=this._data[t];return e?e.length:0},getItem:function(t){for(var e=[],i=this._source.dimensionsDefine,n=0;n<i.length;n++){var o=this._data[i[n].name];e.push(o?o[t]:null)}return e},appendData:function(t){var e=this._data;d(t,function(t,i){for(var n=e[i]||(e[i]=[]),o=0;o<(t||[]).length;o++)n.push(t[o])})}},original:{count:or,getItem:ar,appendData:rr},typedArray:{persistent:!1,pure:!0,count:function(){return this._data?this._data.length/this._dimSize:0},getItem:function(t,e){t-=this._offset,e=e||[];for(var i=this._dimSize*t,n=0;n<this._dimSize;n++)e[n]=this._data[i+n];return e},appendData:function(t){this._data=t},clean:function(){this._offset+=this.count(),this._data=null}}},AI={arrayRows:sr,objectRows:function(t,e,i,n){return null!=i?t[n]:t},keyedColumns:sr,original:function(t,e,i,n){var o=Li(t);return null!=i&&o instanceof Array?o[i]:o},typedArray:sr},DI={arrayRows:lr,objectRows:function(t,e,i,n){return ur(t[e],this._dimensionInfos[e])},keyedColumns:lr,original:function(t,e,i,n){var o=t&&(null==t.value?t:t.value);return!this._rawData.pure&&ki(t)&&(this.hasItemOption=!0),ur(o instanceof Array?o[n]:o,this._dimensionInfos[e])},typedArray:function(t,e,i,n){return t[n]}},CI=/\{@(.+?)\}/g,LI={getDataParams:function(t,e){var i=this.getData(e),n=this.getRawValue(t,e),o=i.getRawIndex(t),a=i.getName(t),r=i.getRawDataItem(t),s=i.getItemVisual(t,"color"),l=this.ecModel.getComponent("tooltip"),u=Hi(l&&l.get("renderMode")),h=this.mainType,c="series"===h;return{componentType:h,componentSubType:this.subType,componentIndex:this.componentIndex,seriesType:c?this.subType:null,seriesIndex:this.seriesIndex,seriesId:c?this.id:null,seriesName:c?this.name:null,name:a,dataIndex:o,data:r,dataType:e,value:n,color:s,marker:ia({color:s,renderMode:u}),$vars:["seriesName","name","value"]}},getFormattedLabel:function(t,e,i,n,o){e=e||"normal";var a=this.getData(i),r=a.getItemModel(t),s=this.getDataParams(t,i);null!=n&&s.value instanceof Array&&(s.value=s.value[n]);var l=r.get("normal"===e?[o||"label","formatter"]:[e,o||"label","formatter"]);return"function"==typeof l?(s.status=e,l(s)):"string"==typeof l?ta(l,s).replace(CI,function(e,i){var n=i.length;return"["===i.charAt(0)&&"]"===i.charAt(n-1)&&(i=+i.slice(1,n-1)),hr(a,t,i)}):void 0},getRawValue:function(t,e){return hr(this.getData(e),t)},formatTooltip:function(){}},kI=fr.prototype;kI.perform=function(t){function e(t){return!(t>=1)&&(t=1),t}var i=this._upstream,n=t&&t.skip;if(this._dirty&&i){var o=this.context;o.data=o.outputData=i.context.outputData}this.__pipeline&&(this.__pipeline.currentTask=this);var a;this._plan&&!n&&(a=this._plan(this.context));var r=e(this._modBy),s=this._modDataCount||0,l=e(t&&t.modBy),u=t&&t.modDataCount||0;r===l&&s===u||(a="reset");var h;(this._dirty||"reset"===a)&&(this._dirty=!1,h=gr(this,n)),this._modBy=l,this._modDataCount=u;var c=t&&t.step;if(this._dueEnd=i?i._outputDueEnd:this._count?this._count(this.context):1/0,this._progress){var d=this._dueIndex,f=Math.min(null!=c?this._dueIndex+c:1/0,this._dueEnd);if(!n&&(h||d<f)){var p=this._progress;if(y(p))for(var g=0;g<p.length;g++)pr(this,p[g],d,f,l,u);else pr(this,p,d,f,l,u)}this._dueIndex=f;var m=null!=this._settedOutputEnd?this._settedOutputEnd:f;this._outputDueEnd=m}else this._dueIndex=this._outputDueEnd=null!=this._settedOutputEnd?this._settedOutputEnd:this._dueEnd;return this.unfinished()};var PI=function(){function t(){return n<i?n++:null}function e(){var t=n%r*o+Math.ceil(n/r),e=n>=i?null:t<a?t:n;return n++,e}var i,n,o,a,r,s={reset:function(l,u,h,c){n=l,i=u,o=h,a=c,r=Math.ceil(a/o),s.next=o>1&&a>0?e:t}};return s}();kI.dirty=function(){this._dirty=!0,this._onDirty&&this._onDirty(this.context)},kI.unfinished=function(){return this._progress&&this._dueIndex<this._dueEnd},kI.pipe=function(t){(this._downstream!==t||this._dirty)&&(this._downstream=t,t._upstream=this,t.dirty())},kI.dispose=function(){this._disposed||(this._upstream&&(this._upstream._downstream=null),this._downstream&&(this._downstream._upstream=null),this._dirty=!1,this._disposed=!0)},kI.getUpstream=function(){return this._upstream},kI.getDownstream=function(){return this._downstream},kI.setOutputEnd=function(t){this._outputDueEnd=this._settedOutputEnd=t};var NI=Bi(),OI=YM.extend({type:"series.__base__",seriesIndex:0,coordinateSystem:null,defaultOption:null,legendDataProvider:null,visualColorAccessPath:"itemStyle.color",layoutMode:null,init:function(t,e,i,n){this.seriesIndex=this.componentIndex,this.dataTask=dr({count:yr,reset:xr}),this.dataTask.context={model:this},this.mergeDefaultAndTheme(t,i),wa(this);var o=this.getInitialData(t,i);wr(o,this),this.dataTask.context.data=o,NI(this).dataBeforeProcessed=o,mr(this)},mergeDefaultAndTheme:function(t,e){var i=this.layoutMode,o=i?da(t):{},a=this.subType;YM.hasClass(a)&&(a+="Series"),n(t,e.getTheme().get(this.subType)),n(t,this.getDefaultOption()),Ci(t,"label",["show"]),this.fillDataTextStyle(t.data),i&&ca(t,o,i)},mergeOption:function(t,e){t=n(this.option,t,!0),this.fillDataTextStyle(t.data);var i=this.layoutMode;i&&ca(this.option,t,i),wa(this);var o=this.getInitialData(t,e);wr(o,this),this.dataTask.dirty(),this.dataTask.context.data=o,NI(this).dataBeforeProcessed=o,mr(this)},fillDataTextStyle:function(t){if(t&&!S(t))for(var e=["show"],i=0;i<t.length;i++)t[i]&&t[i].label&&Ci(t[i],"label",e)},getInitialData:function(){},appendData:function(t){this.getRawData().appendData(t.data)},getData:function(t){var e=Sr(this);if(e){var i=e.context.data;return null==t?i:i.getLinkedData(t)}return NI(this).data},setData:function(t){var e=Sr(this);if(e){var i=e.context;i.data!==t&&e.modifyOutputEnd&&e.setOutputEnd(t.count()),i.outputData=t,e!==this.dataTask&&(i.data=t)}NI(this).data=t},getSource:function(){return xa(this)},getRawData:function(){return NI(this).dataBeforeProcessed},getBaseAxis:function(){var t=this.coordinateSystem;return t&&t.getBaseAxis&&t.getBaseAxis()},formatTooltip:function(t,e,i,n){function o(t){return{renderMode:n,content:Qo($o(t)),style:l}}var a=this,r="html"===(n=n||"html")?"<br/>":"\n",s="richText"===n,l={},u=0,h=this.getData(),c=h.mapDimension("defaultedTooltip",!0),f=c.length,g=this.getRawValue(t),m=y(g),v=h.getItemVisual(t,"color");w(v)&&v.colorStops&&(v=(v.colorStops[0]||{}).color),v=v||"transparent";var x=(f>1||m&&!f?function(i){function o(t,i){var o=h.getDimensionInfo(i);if(o&&!1!==o.otherDims.tooltip){var c=o.type,d="sub"+a.seriesIndex+"at"+u,p=ia({color:v,type:"subItem",renderMode:n,markerId:d}),g="string"==typeof p?p:p.content,m=(r?g+Qo(o.displayName||"-")+": ":"")+Qo("ordinal"===c?t+"":"time"===c?e?"":oa("yyyy/MM/dd hh:mm:ss",t):$o(t));m&&f.push(m),s&&(l[d]=v,++u)}}var r=p(i,function(t,e,i){var n=h.getDimensionInfo(i);return t|=n&&!1!==n.tooltip&&null!=n.displayName},0),f=[];c.length?d(c,function(e){o(hr(h,t,e),e)}):d(i,o);var g=r?s?"\n":"<br/>":"",m=g+f.join(g||", ");return{renderMode:n,content:m,style:l}}(g):o(f?hr(h,t,c[0]):m?g[0]:g)).content,_=a.seriesIndex+"at"+u,b=ia({color:v,type:"item",renderMode:n,markerId:_});l[_]=v,++u;var S=h.getName(t),M=this.name;Oi(this)||(M=""),M=M?Qo(M)+(e?": ":r):"";var I="string"==typeof b?b:b.content;return{html:e?I+M+x:M+I+(S?Qo(S)+": "+x:x),markers:l}},isAnimationEnabled:function(){if(z_.node)return!1;var t=this.getShallow("animation");return t&&this.getData().count()>this.getShallow("animationThreshold")&&(t=!1),t},restoreData:function(){this.dataTask.dirty()},getColorFromPalette:function(t,e,i){var n=this.ecModel,o=JM.getColorFromPalette.call(this,t,e,i);return o||(o=n.getColorFromPalette(t,e,i)),o},coordDimToDataDim:function(t){return this.getRawData().mapDimension(t,!0)},getProgressive:function(){return this.get("progressive")},getProgressiveThreshold:function(){return this.get("progressiveThreshold")},getAxisTooltipData:null,getTooltipPosition:null,pipeTask:null,preventIncremental:null,pipelineContext:null});h(OI,LI),h(OI,JM);var EI=function(){this.group=new Zw,this.uid=No("viewComponent")};EI.prototype={constructor:EI,init:function(t,e){},render:function(t,e,i,n){},dispose:function(){},filterForExposedEvent:null};var RI=EI.prototype;RI.updateView=RI.updateLayout=RI.updateVisual=function(t,e,i,n){},Xi(EI),Ki(EI,{registerWhenExtend:!0});var zI=function(){var t=Bi();return function(e){var i=t(e),n=e.pipelineContext,o=i.large,a=i.progressiveRender,r=i.large=n.large,s=i.progressiveRender=n.progressiveRender;return!!(o^r||a^s)&&"reset"}},BI=Bi(),VI=zI();Mr.prototype={type:"chart",init:function(t,e){},render:function(t,e,i,n){},highlight:function(t,e,i,n){Tr(t.getData(),n,"emphasis")},downplay:function(t,e,i,n){Tr(t.getData(),n,"normal")},remove:function(t,e){this.group.removeAll()},dispose:function(){},incrementalPrepareRender:null,incrementalRender:null,updateTransform:null,filterForExposedEvent:null};var GI=Mr.prototype;GI.updateView=GI.updateLayout=GI.updateVisual=function(t,e,i,n){this.render(t,e,i,n)},Xi(Mr),Ki(Mr,{registerWhenExtend:!0}),Mr.markUpdateMethod=function(t,e){BI(t).updateMethod=e};var FI={incrementalPrepareRender:{progress:function(t,e){e.view.incrementalRender(t,e.model,e.ecModel,e.api,e.payload)}},render:{forceFirstProgress:!0,progress:function(t,e){e.view.render(e.model,e.ecModel,e.api,e.payload)}}},WI="\0__throttleOriginMethod",HI="\0__throttleRate",ZI="\0__throttleType",UI={createOnAllSeries:!0,performRawSeries:!0,reset:function(t,e){var i=t.getData(),n=(t.visualColorAccessPath||"itemStyle.color").split("."),o=t.get(n)||t.getColorFromPalette(t.name,null,e.getSeriesCount());if(i.setVisual("color",o),!e.isSeriesFiltered(t)){"function"!=typeof o||o instanceof cM||i.each(function(e){i.setItemVisual(e,"color",o(t.getDataParams(e)))});return{dataEach:i.hasItemOption?function(t,e){var i=t.getItemModel(e).get(n,!0);null!=i&&t.setItemVisual(e,"color",i)}:null}}}},XI={toolbox:{brush:{title:{rect:"矩形选择",polygon:"圈选",lineX:"横向选择",lineY:"纵向选择",keep:"保持选择",clear:"清除选择"}},dataView:{title:"数据视图",lang:["数据视图","关闭","刷新"]},dataZoom:{title:{zoom:"区域缩放",back:"区域缩放还原"}},magicType:{title:{line:"切换为折线图",bar:"切换为柱状图",stack:"切换为堆叠",tiled:"切换为平铺"}},restore:{title:"还原"},saveAsImage:{title:"保存为图片",lang:["右键另存为图片"]}},series:{typeNames:{pie:"饼图",bar:"柱状图",line:"折线图",scatter:"散点图",effectScatter:"涟漪散点图",radar:"雷达图",tree:"树图",treemap:"矩形树图",boxplot:"箱型图",candlestick:"K线图",k:"K线图",heatmap:"热力图",map:"地图",parallel:"平行坐标图",lines:"线图",graph:"关系图",sankey:"桑基图",funnel:"漏斗图",gauge:"仪表盘图",pictorialBar:"象形柱图",themeRiver:"主题河流图",sunburst:"旭日图"}},aria:{general:{withTitle:"这是一个关于“{title}”的图表。",withoutTitle:"这是一个图表,"},series:{single:{prefix:"",withName:"图表类型是{seriesType},表示{seriesName}。",withoutName:"图表类型是{seriesType}。"},multiple:{prefix:"它由{seriesCount}个图表系列组成。",withName:"第{seriesId}个系列是一个表示{seriesName}的{seriesType},",withoutName:"第{seriesId}个系列是一个{seriesType},",separator:{middle:";",end:"。"}}},data:{allData:"其数据是——",partialData:"其中,前{displayCnt}项是——",withName:"{name}的数据是{value}",withoutName:"{value}",separator:{middle:",",end:""}}}},jI=function(t,e){function i(t,e){if("string"!=typeof t)return t;var i=t;return d(e,function(t,e){i=i.replace(new RegExp("\\{\\s*"+e+"\\s*\\}","g"),t)}),i}function n(t){var e=a.get(t);if(null==e){for(var i=t.split("."),n=XI.aria,o=0;o<i.length;++o)n=n[i[o]];return n}return e}function o(t){return XI.series.typeNames[t]||"自定义图"}var a=e.getModel("aria");if(a.get("show"))if(a.get("description"))t.setAttribute("aria-label",a.get("description"));else{var r=0;e.eachSeries(function(t,e){++r},this);var s,l=a.get("data.maxCount")||10,u=a.get("series.maxCount")||10,h=Math.min(r,u);if(!(r<1)){var c=function(){var t=e.getModel("title").option;return t&&t.length&&(t=t[0]),t&&t.text}();s=c?i(n("general.withTitle"),{title:c}):n("general.withoutTitle");var f=[];s+=i(n(r>1?"series.multiple.prefix":"series.single.prefix"),{seriesCount:r}),e.eachSeries(function(t,e){if(e<h){var a,s=t.get("name"),u="series."+(r>1?"multiple":"single")+".";a=i(a=n(s?u+"withName":u+"withoutName"),{seriesId:t.seriesIndex,seriesName:t.get("name"),seriesType:o(t.subType)});var c=t.getData();window.data=c,c.count()>l?a+=i(n("data.partialData"),{displayCnt:l}):a+=n("data.allData");for(var d=[],p=0;p<c.count();p++)if(p<l){var g=c.getName(p),m=hr(c,p);d.push(i(n(g?"data.withName":"data.withoutName"),{name:g,value:m}))}a+=d.join(n("data.separator.middle"))+n("data.separator.end"),f.push(a)}}),s+=f.join(n("series.multiple.separator.middle"))+n("series.multiple.separator.end"),t.setAttribute("aria-label",s)}}},YI=Math.PI,qI=Pr.prototype;qI.restoreData=function(t,e){t.restoreData(e),this._stageTaskMap.each(function(t){var e=t.overallTask;e&&e.dirty()})},qI.getPerformArgs=function(t,e){if(t.__pipeline){var i=this._pipelineMap.get(t.__pipeline.id),n=i.context,o=!e&&i.progressiveEnabled&&(!n||n.progressiveRender)&&t.__idxInPipeline>i.blockIndex?i.step:null,a=n&&n.modDataCount;return{step:o,modBy:null!=a?Math.ceil(a/o):null,modDataCount:a}}},qI.getPipeline=function(t){return this._pipelineMap.get(t)},qI.updateStreamModes=function(t,e){var i=this._pipelineMap.get(t.uid),n=t.getData().count(),o=i.progressiveEnabled&&e.incrementalPrepareRender&&n>=i.threshold,a=t.get("large")&&n>=t.get("largeThreshold"),r="mod"===t.get("progressiveChunkMode")?n:null;t.pipelineContext=i.context={progressiveRender:o,modDataCount:r,large:a}},qI.restorePipelines=function(t){var e=this,i=e._pipelineMap=R();t.eachSeries(function(t){var n=t.getProgressive(),o=t.uid;i.set(o,{id:o,head:null,tail:null,threshold:t.getProgressiveThreshold(),progressiveEnabled:n&&!(t.preventIncremental&&t.preventIncremental()),blockIndex:-1,step:Math.round(n||700),count:0}),Zr(e,t,t.dataTask)})},qI.prepareStageTasks=function(){var t=this._stageTaskMap,e=this.ecInstance.getModel(),i=this.api;d(this._allHandlers,function(n){var o=t.get(n.uid)||t.set(n.uid,[]);n.reset&&Or(this,n,o,e,i),n.overallReset&&Er(this,n,o,e,i)},this)},qI.prepareView=function(t,e,i,n){var o=t.renderTask,a=o.context;a.model=e,a.ecModel=i,a.api=n,o.__block=!t.incrementalPrepareRender,Zr(this,e,o)},qI.performDataProcessorTasks=function(t,e){Nr(this,this._dataProcessorHandlers,t,e,{block:!0})},qI.performVisualTasks=function(t,e,i){Nr(this,this._visualHandlers,t,e,i)},qI.performSeriesTasks=function(t){var e;t.eachSeries(function(t){e|=t.dataTask.perform()}),this.unfinished|=e},qI.plan=function(){this._pipelineMap.each(function(t){var e=t.tail;do{if(e.__block){t.blockIndex=e.__idxInPipeline;break}e=e.getUpstream()}while(e)})};var KI=qI.updatePayload=function(t,e){"remain"!==e&&(t.context.payload=e)},$I=Wr(0);Pr.wrapStageHandler=function(t,e){return x(t)&&(t={overallReset:t,seriesType:Ur(t)}),t.uid=No("stageHandler"),e&&(t.visualType=e),t};var JI,QI={},tT={};Xr(QI,hI),Xr(tT,za),QI.eachSeriesByType=QI.eachRawSeriesByType=function(t){JI=t},QI.eachComponent=function(t){"series"===t.mainType&&t.subType&&(JI=t.subType)};var eT=["#37A2DA","#32C5E9","#67E0E3","#9FE6B8","#FFDB5C","#ff9f7f","#fb7293","#E062AE","#E690D1","#e7bcf3","#9d96f5","#8378EA","#96BFFF"],iT={color:eT,colorLayer:[["#37A2DA","#ffd85c","#fd7b5f"],["#37A2DA","#67E0E3","#FFDB5C","#ff9f7f","#E062AE","#9d96f5"],["#37A2DA","#32C5E9","#9FE6B8","#FFDB5C","#ff9f7f","#fb7293","#e7bcf3","#8378EA","#96BFFF"],eT]},nT=["#dd6b66","#759aa0","#e69d87","#8dc1a9","#ea7e53","#eedd78","#73a373","#73b9bc","#7289ab","#91ca8c","#f49f42"],oT={color:nT,backgroundColor:"#333",tooltip:{axisPointer:{lineStyle:{color:"#eee"},crossStyle:{color:"#eee"}}},legend:{textStyle:{color:"#eee"}},textStyle:{color:"#eee"},title:{textStyle:{color:"#eee"}},toolbox:{iconStyle:{normal:{borderColor:"#eee"}}},dataZoom:{textStyle:{color:"#eee"}},visualMap:{textStyle:{color:"#eee"}},timeline:{lineStyle:{color:"#eee"},itemStyle:{normal:{color:nT[1]}},label:{normal:{textStyle:{color:"#eee"}}},controlStyle:{normal:{color:"#eee",borderColor:"#eee"}}},timeAxis:{axisLine:{lineStyle:{color:"#eee"}},axisTick:{lineStyle:{color:"#eee"}},axisLabel:{textStyle:{color:"#eee"}},splitLine:{lineStyle:{type:"dashed",color:"#aaa"}},splitArea:{areaStyle:{color:"#eee"}}},logAxis:{axisLine:{lineStyle:{color:"#eee"}},axisTick:{lineStyle:{color:"#eee"}},axisLabel:{textStyle:{color:"#eee"}},splitLine:{lineStyle:{type:"dashed",color:"#aaa"}},splitArea:{areaStyle:{color:"#eee"}}},valueAxis:{axisLine:{lineStyle:{color:"#eee"}},axisTick:{lineStyle:{color:"#eee"}},axisLabel:{textStyle:{color:"#eee"}},splitLine:{lineStyle:{type:"dashed",color:"#aaa"}},splitArea:{areaStyle:{color:"#eee"}}},categoryAxis:{axisLine:{lineStyle:{color:"#eee"}},axisTick:{lineStyle:{color:"#eee"}},axisLabel:{textStyle:{color:"#eee"}},splitLine:{lineStyle:{type:"dashed",color:"#aaa"}},splitArea:{areaStyle:{color:"#eee"}}},line:{symbol:"circle"},graph:{color:nT},gauge:{title:{textStyle:{color:"#eee"}}},candlestick:{itemStyle:{normal:{color:"#FD1050",color0:"#0CF49B",borderColor:"#FD1050",borderColor0:"#0CF49B"}}}};oT.categoryAxis.splitLine.show=!1,YM.extend({type:"dataset",defaultOption:{seriesLayoutBy:rI,sourceHeader:null,dimensions:null,source:null},optionUpdated:function(){ya(this)}}),EI.extend({type:"dataset"});var aT=kn.extend({type:"ellipse",shape:{cx:0,cy:0,rx:0,ry:0},buildPath:function(t,e){var i=.5522848,n=e.cx,o=e.cy,a=e.rx,r=e.ry,s=a*i,l=r*i;t.moveTo(n-a,o),t.bezierCurveTo(n-a,o-l,n-s,o-r,n,o-r),t.bezierCurveTo(n+s,o-r,n+a,o-l,n+a,o),t.bezierCurveTo(n+a,o+l,n+s,o+r,n,o+r),t.bezierCurveTo(n-s,o+r,n-a,o+l,n-a,o),t.closePath()}}),rT=/[\s,]+/;Yr.prototype.parse=function(t,e){e=e||{};var i=jr(t);if(!i)throw new Error("Illegal svg");var n=new Zw;this._root=n;var o=i.getAttribute("viewBox")||"",a=parseFloat(i.getAttribute("width")||e.width),r=parseFloat(i.getAttribute("height")||e.height);isNaN(a)&&(a=null),isNaN(r)&&(r=null),Jr(i,n,null,!0);for(var s=i.firstChild;s;)this._parseNode(s,n),s=s.nextSibling;var l,u;if(o){var h=P(o).split(rT);h.length>=4&&(l={x:parseFloat(h[0]||0),y:parseFloat(h[1]||0),width:parseFloat(h[2]),height:parseFloat(h[3])})}if(l&&null!=a&&null!=r&&(u=is(l,a,r),!e.ignoreViewBox)){var c=n;(n=new Zw).add(c),c.scale=u.scale.slice(),c.position=u.position.slice()}return e.ignoreRootClip||null==a||null==r||n.setClipPath(new aM({shape:{x:0,y:0,width:a,height:r}})),{root:n,width:a,height:r,viewBoxRect:l,viewBoxTransform:u}},Yr.prototype._parseNode=function(t,e){var i=t.nodeName.toLowerCase();"defs"===i?this._isDefine=!0:"text"===i&&(this._isText=!0);var n;if(this._isDefine){if(r=lT[i]){var o=r.call(this,t),a=t.getAttribute("id");a&&(this._defs[a]=o)}}else{var r=sT[i];r&&(n=r.call(this,t,e),e.add(n))}for(var s=t.firstChild;s;)1===s.nodeType&&this._parseNode(s,n),3===s.nodeType&&this._isText&&this._parseText(s,n),s=s.nextSibling;"defs"===i?this._isDefine=!1:"text"===i&&(this._isText=!1)},Yr.prototype._parseText=function(t,e){if(1===t.nodeType){var i=t.getAttribute("dx")||0,n=t.getAttribute("dy")||0;this._textX+=parseFloat(i),this._textY+=parseFloat(n)}var o=new qS({style:{text:t.textContent,transformText:!0},position:[this._textX||0,this._textY||0]});Kr(e,o),Jr(t,o,this._defs);var a=o.style.fontSize;a&&a<9&&(o.style.fontSize=9,o.scale=o.scale||[1,1],o.scale[0]*=a/9,o.scale[1]*=a/9);var r=o.getBoundingRect();return this._textX+=r.width,e.add(o),o};var sT={g:function(t,e){var i=new Zw;return Kr(e,i),Jr(t,i,this._defs),i},rect:function(t,e){var i=new aM;return Kr(e,i),Jr(t,i,this._defs),i.setShape({x:parseFloat(t.getAttribute("x")||0),y:parseFloat(t.getAttribute("y")||0),width:parseFloat(t.getAttribute("width")||0),height:parseFloat(t.getAttribute("height")||0)}),i},circle:function(t,e){var i=new KS;return Kr(e,i),Jr(t,i,this._defs),i.setShape({cx:parseFloat(t.getAttribute("cx")||0),cy:parseFloat(t.getAttribute("cy")||0),r:parseFloat(t.getAttribute("r")||0)}),i},line:function(t,e){var i=new rM;return Kr(e,i),Jr(t,i,this._defs),i.setShape({x1:parseFloat(t.getAttribute("x1")||0),y1:parseFloat(t.getAttribute("y1")||0),x2:parseFloat(t.getAttribute("x2")||0),y2:parseFloat(t.getAttribute("y2")||0)}),i},ellipse:function(t,e){var i=new aT;return Kr(e,i),Jr(t,i,this._defs),i.setShape({cx:parseFloat(t.getAttribute("cx")||0),cy:parseFloat(t.getAttribute("cy")||0),rx:parseFloat(t.getAttribute("rx")||0),ry:parseFloat(t.getAttribute("ry")||0)}),i},polygon:function(t,e){var i=t.getAttribute("points");i&&(i=$r(i));var n=new nM({shape:{points:i||[]}});return Kr(e,n),Jr(t,n,this._defs),n},polyline:function(t,e){var i=new kn;Kr(e,i),Jr(t,i,this._defs);var n=t.getAttribute("points");return n&&(n=$r(n)),new oM({shape:{points:n||[]}})},image:function(t,e){var i=new hi;return Kr(e,i),Jr(t,i,this._defs),i.setStyle({image:t.getAttribute("xlink:href"),x:t.getAttribute("x"),y:t.getAttribute("y"),width:t.getAttribute("width"),height:t.getAttribute("height")}),i},text:function(t,e){var i=t.getAttribute("x")||0,n=t.getAttribute("y")||0,o=t.getAttribute("dx")||0,a=t.getAttribute("dy")||0;this._textX=parseFloat(i)+parseFloat(o),this._textY=parseFloat(n)+parseFloat(a);var r=new Zw;return Kr(e,r),Jr(t,r,this._defs),r},tspan:function(t,e){var i=t.getAttribute("x"),n=t.getAttribute("y");null!=i&&(this._textX=parseFloat(i)),null!=n&&(this._textY=parseFloat(n));var o=t.getAttribute("dx")||0,a=t.getAttribute("dy")||0,r=new Zw;return Kr(e,r),Jr(t,r,this._defs),this._textX+=o,this._textY+=a,r},path:function(t,e){var i=En(t.getAttribute("d")||"");return Kr(e,i),Jr(t,i,this._defs),i}},lT={lineargradient:function(t){var e=parseInt(t.getAttribute("x1")||0,10),i=parseInt(t.getAttribute("y1")||0,10),n=parseInt(t.getAttribute("x2")||10,10),o=parseInt(t.getAttribute("y2")||0,10),a=new dM(e,i,n,o);return qr(t,a),a},radialgradient:function(t){}},uT={fill:"fill",stroke:"stroke","stroke-width":"lineWidth",opacity:"opacity","fill-opacity":"fillOpacity","stroke-opacity":"strokeOpacity","stroke-dasharray":"lineDash","stroke-dashoffset":"lineDashOffset","stroke-linecap":"lineCap","stroke-linejoin":"lineJoin","stroke-miterlimit":"miterLimit","font-family":"fontFamily","font-size":"fontSize","font-style":"fontStyle","font-weight":"fontWeight","text-align":"textAlign","alignment-baseline":"textBaseline"},hT=/url\(\s*#(.*?)\)/,cT=/(translate|scale|rotate|skewX|skewY|matrix)\(([\-\s0-9\.e,]*)\)/g,dT=/([^\s:;]+)\s*:\s*([^:;]+)/g,fT=R(),pT={registerMap:function(t,e,i){var n;return y(e)?n=e:e.svg?n=[{type:"svg",source:e.svg,specialAreas:e.specialAreas}]:(e.geoJson&&!e.features&&(i=e.specialAreas,e=e.geoJson),n=[{type:"geoJSON",source:e,specialAreas:i}]),d(n,function(t){var e=t.type;"geoJson"===e&&(e=t.type="geoJSON"),(0,gT[e])(t)}),fT.set(t,n)},retrieveMap:function(t){return fT.get(t)}},gT={geoJSON:function(t){var e=t.source;t.geoJSON=_(e)?"undefined"!=typeof JSON&&JSON.parse?JSON.parse(e):new Function("return ("+e+");")():e},svg:function(t){t.svgXML=jr(t.source)}},mT=k,vT=d,yT=x,xT=w,_T=YM.parseClassType,wT={zrender:"4.0.5"},bT=1e3,ST=1e3,MT=3e3,IT={PROCESSOR:{FILTER:bT,STATISTIC:5e3},VISUAL:{LAYOUT:ST,GLOBAL:2e3,CHART:MT,COMPONENT:4e3,BRUSH:5e3}},TT="__flagInMainProcess",AT="__optionUpdated",DT=/^[a-zA-Z0-9_]+$/;as.prototype.on=os("on"),as.prototype.off=os("off"),as.prototype.one=os("one"),h(as,aw);var CT=rs.prototype;CT._onframe=function(){if(!this._disposed){var t=this._scheduler;if(this[AT]){var e=this[AT].silent;this[TT]=!0,ls(this),LT.update.call(this),this[TT]=!1,this[AT]=!1,ds.call(this,e),fs.call(this,e)}else if(t.unfinished){var i=1,n=this._model;this._api;t.unfinished=!1;do{var o=+new Date;t.performSeriesTasks(n),t.performDataProcessorTasks(n),hs(this,n),t.performVisualTasks(n),xs(this,this._model,0,"remain"),i-=+new Date-o}while(i>0&&t.unfinished);t.unfinished||this._zr.flush()}}},CT.getDom=function(){return this._dom},CT.getZr=function(){return this._zr},CT.setOption=function(t,e,i){var n;if(xT(e)&&(i=e.lazyUpdate,n=e.silent,e=e.notMerge),this[TT]=!0,!this._model||e){var o=new Va(this._api),a=this._theme,r=this._model=new hI(null,null,a,o);r.scheduler=this._scheduler,r.init(null,null,a,o)}this._model.setOption(t,ET),i?(this[AT]={silent:n},this[TT]=!1):(ls(this),LT.update.call(this),this._zr.flush(),this[AT]=!1,this[TT]=!1,ds.call(this,n),fs.call(this,n))},CT.setTheme=function(){console.error("ECharts#setTheme() is DEPRECATED in ECharts 3.0")},CT.getModel=function(){return this._model},CT.getOption=function(){return this._model&&this._model.getOption()},CT.getWidth=function(){return this._zr.getWidth()},CT.getHeight=function(){return this._zr.getHeight()},CT.getDevicePixelRatio=function(){return this._zr.painter.dpr||window.devicePixelRatio||1},CT.getRenderedCanvas=function(t){if(z_.canvasSupported)return(t=t||{}).pixelRatio=t.pixelRatio||1,t.backgroundColor=t.backgroundColor||this._model.get("backgroundColor"),this._zr.painter.getRenderedCanvas(t)},CT.getSvgDataUrl=function(){if(z_.svgSupported){var t=this._zr;return d(t.storage.getDisplayList(),function(t){t.stopAnimation(!0)}),t.painter.pathToDataUrl()}},CT.getDataURL=function(t){var e=(t=t||{}).excludeComponents,i=this._model,n=[],o=this;vT(e,function(t){i.eachComponent({mainType:t},function(t){var e=o._componentsMap[t.__viewId];e.group.ignore||(n.push(e),e.group.ignore=!0)})});var a="svg"===this._zr.painter.getType()?this.getSvgDataUrl():this.getRenderedCanvas(t).toDataURL("image/"+(t&&t.type||"png"));return vT(n,function(t){t.group.ignore=!1}),a},CT.getConnectedDataURL=function(t){if(z_.canvasSupported){var e=this.group,n=Math.min,o=Math.max;if(FT[e]){var a=1/0,r=1/0,s=-1/0,l=-1/0,u=[],h=t&&t.pixelRatio||1;d(GT,function(h,c){if(h.group===e){var d=h.getRenderedCanvas(i(t)),f=h.getDom().getBoundingClientRect();a=n(f.left,a),r=n(f.top,r),s=o(f.right,s),l=o(f.bottom,l),u.push({dom:d,left:f.left,top:f.top})}});var c=(s*=h)-(a*=h),f=(l*=h)-(r*=h),p=Y_();p.width=c,p.height=f;var g=Ii(p);return vT(u,function(t){var e=new hi({style:{x:t.left*h-a,y:t.top*h-r,image:t.dom}});g.add(e)}),g.refreshImmediately(),p.toDataURL("image/"+(t&&t.type||"png"))}return this.getDataURL(t)}},CT.convertToPixel=v(ss,"convertToPixel"),CT.convertFromPixel=v(ss,"convertFromPixel"),CT.containPixel=function(t,e){var i;return t=Vi(this._model,t),d(t,function(t,n){n.indexOf("Models")>=0&&d(t,function(t){var o=t.coordinateSystem;if(o&&o.containPoint)i|=!!o.containPoint(e);else if("seriesModels"===n){var a=this._chartsMap[t.__viewId];a&&a.containPoint&&(i|=a.containPoint(e,t))}},this)},this),!!i},CT.getVisual=function(t,e){var i=(t=Vi(this._model,t,{defaultMainType:"series"})).seriesModel.getData(),n=t.hasOwnProperty("dataIndexInside")?t.dataIndexInside:t.hasOwnProperty("dataIndex")?i.indexOfRawIndex(t.dataIndex):null;return null!=n?i.getItemVisual(n,e):i.getVisual(e)},CT.getViewOfComponentModel=function(t){return this._componentsMap[t.__viewId]},CT.getViewOfSeriesModel=function(t){return this._chartsMap[t.__viewId]};var LT={prepareAndUpdate:function(t){ls(this),LT.update.call(this,t)},update:function(t){var e=this._model,i=this._api,n=this._zr,o=this._coordSysMgr,a=this._scheduler;if(e){a.restoreData(e,t),a.performSeriesTasks(e),o.create(e,i),a.performDataProcessorTasks(e,t),hs(this,e),o.update(e,i),ms(e),a.performVisualTasks(e,t),vs(this,e,i,t);var r=e.get("backgroundColor")||"transparent";if(z_.canvasSupported)n.setBackgroundColor(r);else{var s=zt(r);r=Xt(s,"rgb"),0===s[3]&&(r="transparent")}_s(e,i)}},updateTransform:function(t){var e=this._model,i=this,n=this._api;if(e){var o=[];e.eachComponent(function(a,r){var s=i.getViewOfComponentModel(r);if(s&&s.__alive)if(s.updateTransform){var l=s.updateTransform(r,e,n,t);l&&l.update&&o.push(s)}else o.push(s)});var a=R();e.eachSeries(function(o){var r=i._chartsMap[o.__viewId];if(r.updateTransform){var s=r.updateTransform(o,e,n,t);s&&s.update&&a.set(o.uid,1)}else a.set(o.uid,1)}),ms(e),this._scheduler.performVisualTasks(e,t,{setDirty:!0,dirtyMap:a}),xs(i,e,0,t,a),_s(e,this._api)}},updateView:function(t){var e=this._model;e&&(Mr.markUpdateMethod(t,"updateView"),ms(e),this._scheduler.performVisualTasks(e,t,{setDirty:!0}),vs(this,this._model,this._api,t),_s(e,this._api))},updateVisual:function(t){LT.update.call(this,t)},updateLayout:function(t){LT.update.call(this,t)}};CT.resize=function(t){this._zr.resize(t);var e=this._model;if(this._loadingFX&&this._loadingFX.resize(),e){var i=e.resetOption("media"),n=t&&t.silent;this[TT]=!0,i&&ls(this),LT.update.call(this),this[TT]=!1,ds.call(this,n),fs.call(this,n)}},CT.showLoading=function(t,e){if(xT(t)&&(e=t,t=""),t=t||"default",this.hideLoading(),VT[t]){var i=VT[t](this._api,e),n=this._zr;this._loadingFX=i,n.add(i)}},CT.hideLoading=function(){this._loadingFX&&this._zr.remove(this._loadingFX),this._loadingFX=null},CT.makeActionFromEvent=function(t){var e=a({},t);return e.type=NT[t.type],e},CT.dispatchAction=function(t,e){xT(e)||(e={silent:!!e}),PT[t.type]&&this._model&&(this[TT]?this._pendingActions.push(t):(cs.call(this,t,e.silent),e.flush?this._zr.flush(!0):!1!==e.flush&&z_.browser.weChat&&this._throttledZrFlush(),ds.call(this,e.silent),fs.call(this,e.silent)))},CT.appendData=function(t){var e=t.seriesIndex;this.getModel().getSeriesByIndex(e).appendData(t),this._scheduler.unfinished=!0},CT.on=os("on"),CT.off=os("off"),CT.one=os("one");var kT=["click","dblclick","mouseover","mouseout","mousemove","mousedown","mouseup","globalout","contextmenu"];CT._initEvents=function(){vT(kT,function(t){this._zr.on(t,function(e){var i,n=this.getModel(),o=e.target;if("globalout"===t)i={};else if(o&&null!=o.dataIndex){var r=o.dataModel||n.getSeriesByIndex(o.seriesIndex);i=r&&r.getDataParams(o.dataIndex,o.dataType,o)||{}}else o&&o.eventData&&(i=a({},o.eventData));if(i){var s=i.componentType,l=i.componentIndex;"markLine"!==s&&"markPoint"!==s&&"markArea"!==s||(s="series",l=i.seriesIndex);var u=s&&null!=l&&n.getComponent(s,l),h=u&&this["series"===u.mainType?"_chartsMap":"_componentsMap"][u.__viewId];i.event=e,i.type=t,this._ecEventProcessor.eventInfo={targetEl:o,packedEvent:i,model:u,view:h},this.trigger(t,i)}},this)},this),vT(NT,function(t,e){this._messageCenter.on(e,function(t){this.trigger(e,t)},this)},this)},CT.isDisposed=function(){return this._disposed},CT.clear=function(){this.setOption({series:[]},!0)},CT.dispose=function(){if(!this._disposed){this._disposed=!0,Fi(this.getDom(),ZT,"");var t=this._api,e=this._model;vT(this._componentsViews,function(i){i.dispose(e,t)}),vT(this._chartsViews,function(i){i.dispose(e,t)}),this._zr.dispose(),delete GT[this.id]}},h(rs,aw),Is.prototype={constructor:Is,normalizeQuery:function(t){var e={},i={},n={};if(_(t)){var o=_T(t);e.mainType=o.main||null,e.subType=o.sub||null}else{var a=["Index","Name","Id"],r={name:1,dataIndex:1,dataType:1};d(t,function(t,o){for(var s=!1,l=0;l<a.length;l++){var u=a[l],h=o.lastIndexOf(u);if(h>0&&h===o.length-u.length){var c=o.slice(0,h);"data"!==c&&(e.mainType=c,e[u.toLowerCase()]=t,s=!0)}}r.hasOwnProperty(o)&&(i[o]=t,s=!0),s||(n[o]=t)})}return{cptQuery:e,dataQuery:i,otherQuery:n}},filter:function(t,e,i){function n(t,e,i,n){return null==t[i]||e[n||i]===t[i]}var o=this.eventInfo;if(!o)return!0;var a=o.targetEl,r=o.packedEvent,s=o.model,l=o.view;if(!s||!l)return!0;var u=e.cptQuery,h=e.dataQuery;return n(u,s,"mainType")&&n(u,s,"subType")&&n(u,s,"index","componentIndex")&&n(u,s,"name")&&n(u,s,"id")&&n(h,r,"name")&&n(h,r,"dataIndex")&&n(h,r,"dataType")&&(!l.filterForExposedEvent||l.filterForExposedEvent(t,e.otherQuery,a,r))},afterTrigger:function(){this.eventInfo=null}};var PT={},NT={},OT=[],ET=[],RT=[],zT=[],BT={},VT={},GT={},FT={},WT=new Date-0,HT=new Date-0,ZT="_echarts_instance_",UT=As;Es(2e3,UI),Ls(MI),ks(5e3,function(t){var e=R();t.eachSeries(function(t){var i=t.get("stack");if(i){var n=e.get(i)||e.set(i,[]),o=t.getData(),a={stackResultDimension:o.getCalculationInfo("stackResultDimension"),stackedOverDimension:o.getCalculationInfo("stackedOverDimension"),stackedDimension:o.getCalculationInfo("stackedDimension"),stackedByDimension:o.getCalculationInfo("stackedByDimension"),isStackedByIndex:o.getCalculationInfo("isStackedByIndex"),data:o,seriesModel:t};if(!a.stackedDimension||!a.isStackedByIndex&&!a.stackedByDimension)return;n.length&&o.setCalculationInfo("stackedOnSeries",n[n.length-1].seriesModel),n.push(a)}}),e.each(ir)}),zs("default",function(t,e){r(e=e||{},{text:"loading",color:"#c23531",textColor:"#000",maskColor:"rgba(255, 255, 255, 0.8)",zlevel:0});var i=new aM({style:{fill:e.maskColor},zlevel:e.zlevel,z:1e4}),n=new uM({shape:{startAngle:-YI/2,endAngle:-YI/2+.1,r:10},style:{stroke:e.color,lineCap:"round",lineWidth:5},zlevel:e.zlevel,z:10001}),o=new aM({style:{fill:"none",text:e.text,textPosition:"right",textDistance:10,textFill:e.textColor},zlevel:e.zlevel,z:10001});n.animateShape(!0).when(1e3,{endAngle:3*YI/2}).start("circularInOut"),n.animateShape(!0).when(1e3,{startAngle:3*YI/2}).delay(300).start("circularInOut");var a=new Zw;return a.add(n),a.add(o),a.add(i),a.resize=function(){var e=t.getWidth()/2,a=t.getHeight()/2;n.setShape({cx:e,cy:a});var r=n.shape.r;o.setShape({x:e-r,y:a-r,width:2*r,height:2*r}),i.setShape({x:0,y:0,width:t.getWidth(),height:t.getHeight()})},a.resize(),a}),Ps({type:"highlight",event:"highlight",update:"highlight"},B),Ps({type:"downplay",event:"downplay",update:"downplay"},B),Cs("light",iT),Cs("dark",oT);var XT={};Hs.prototype={constructor:Hs,add:function(t){return this._add=t,this},update:function(t){return this._update=t,this},remove:function(t){return this._remove=t,this},execute:function(){var t=this._old,e=this._new,i={},n=[],o=[];for(Zs(t,{},n,"_oldKeyGetter",this),Zs(e,i,o,"_newKeyGetter",this),a=0;a<t.length;a++)null!=(s=i[r=n[a]])?((u=s.length)?(1===u&&(i[r]=null),s=s.unshift()):i[r]=null,this._update&&this._update(s,a)):this._remove&&this._remove(a);for(var a=0;a<o.length;a++){var r=o[a];if(i.hasOwnProperty(r)){var s=i[r];if(null==s)continue;if(s.length)for(var l=0,u=s.length;l<u;l++)this._add&&this._add(s[l]);else this._add&&this._add(s)}}}};var jT=R(["tooltip","label","itemName","itemId","seriesName"]),YT=w,qT="e\0\0",KT={float:"undefined"==typeof Float64Array?Array:Float64Array,int:"undefined"==typeof Int32Array?Array:Int32Array,ordinal:Array,number:Array,time:Array},$T="undefined"==typeof Uint32Array?Array:Uint32Array,JT="undefined"==typeof Uint16Array?Array:Uint16Array,QT=["hasItemOption","_nameList","_idList","_invertedIndicesMap","_rawData","_chunkSize","_chunkCount","_dimValueGetter","_count","_rawCount","_nameDimIdx","_idDimIdx"],tA=["_extent","_approximateExtent","_rawExtent"],eA=function(t,e){t=t||["x","y"];for(var i={},n=[],o={},a=0;a<t.length;a++){var r=t[a];_(r)&&(r={name:r});var s=r.name;r.type=r.type||"float",r.coordDim||(r.coordDim=s,r.coordDimIndex=0),r.otherDims=r.otherDims||{},n.push(s),i[s]=r,r.index=a,r.createInvertedIndices&&(o[s]=[])}this.dimensions=n,this._dimensionInfos=i,this.hostModel=e,this.dataType,this._indices=null,this._count=0,this._rawCount=0,this._storage={},this._nameList=[],this._idList=[],this._optionModels=[],this._visual={},this._layout={},this._itemVisuals=[],this.hasItemVisual={},this._itemLayouts=[],this._graphicEls=[],this._chunkSize=1e5,this._chunkCount=0,this._rawData,this._rawExtent={},this._extent={},this._approximateExtent={},this._dimensionsSummary=Us(this),this._invertedIndicesMap=o,this._calculationInfo={}},iA=eA.prototype;iA.type="list",iA.hasItemOption=!0,iA.getDimension=function(t){return isNaN(t)||(t=this.dimensions[t]||t),t},iA.getDimensionInfo=function(t){return this._dimensionInfos[this.getDimension(t)]},iA.getDimensionsOnCoord=function(){return this._dimensionsSummary.dataDimsOnCoord.slice()},iA.mapDimension=function(t,e){var i=this._dimensionsSummary;if(null==e)return i.encodeFirstDimNotExtra[t];var n=i.encode[t];return!0===e?(n||[]).slice():n&&n[e]},iA.initData=function(t,e,i){(va.isInstance(t)||c(t))&&(t=new nr(t,this.dimensions.length)),this._rawData=t,this._storage={},this._indices=null,this._nameList=e||[],this._idList=[],this._nameRepeatCount={},i||(this.hasItemOption=!1),this.defaultDimValueGetter=DI[this._rawData.getSource().sourceFormat],this._dimValueGetter=i=i||this.defaultDimValueGetter,this._rawExtent={},this._initDataFromProvider(0,t.count()),t.pure&&(this.hasItemOption=!1)},iA.getProvider=function(){return this._rawData},iA.appendData=function(t){var e=this._rawData,i=this.count();e.appendData(t);var n=e.count();e.persistent||(n+=i),this._initDataFromProvider(i,n)},iA._initDataFromProvider=function(t,e){if(!(t>=e)){for(var i,n=this._chunkSize,o=this._rawData,a=this._storage,r=this.dimensions,s=r.length,l=this._dimensionInfos,u=this._nameList,h=this._idList,c=this._rawExtent,d=this._nameRepeatCount={},f=this._chunkCount,p=f-1,g=0;g<s;g++){c[T=r[g]]||(c[T]=[1/0,-1/0]);var m=l[T];0===m.otherDims.itemName&&(i=this._nameDimIdx=g),0===m.otherDims.itemId&&(this._idDimIdx=g);var v=KT[m.type];a[T]||(a[T]=[]);var y=a[T][p];if(y&&y.length<n){for(var x=new v(Math.min(e-p*n,n)),_=0;_<y.length;_++)x[_]=y[_];a[T][p]=x}for(I=f*n;I<e;I+=n)a[T].push(new v(Math.min(e-I,n)));this._chunkCount=a[T].length}for(var w=new Array(s),b=t;b<e;b++){w=o.getItem(b,w);for(var S=Math.floor(b/n),M=b%n,I=0;I<s;I++){var T=r[I],A=a[T][S],D=this._dimValueGetter(w,T,b,I);A[M]=D;var C=c[T];D<C[0]&&(C[0]=D),D>C[1]&&(C[1]=D)}if(!o.pure){var L=u[b];if(w&&null==L)if(null!=w.name)u[b]=L=w.name;else if(null!=i){var k=r[i],P=a[k][S];if(P){L=P[M];var N=l[k].ordinalMeta;N&&N.categories.length&&(L=N.categories[L])}}var O=null==w?null:w.id;null==O&&null!=L&&(d[L]=d[L]||0,O=L,d[L]>0&&(O+="__ec__"+d[L]),d[L]++),null!=O&&(h[b]=O)}}!o.persistent&&o.clean&&o.clean(),this._rawCount=this._count=e,this._extent={},$s(this)}},iA.count=function(){return this._count},iA.getIndices=function(){var t=this._indices;if(t){var e=t.constructor,i=this._count;if(e===Array){n=new e(i);for(o=0;o<i;o++)n[o]=t[o]}else n=new e(t.buffer,0,i)}else for(var n=new(e=Ys(this))(this.count()),o=0;o<n.length;o++)n[o]=o;return n},iA.get=function(t,e){if(!(e>=0&&e<this._count))return NaN;var i=this._storage;if(!i[t])return NaN;e=this.getRawIndex(e);var n=Math.floor(e/this._chunkSize),o=e%this._chunkSize;return i[t][n][o]},iA.getByRawIndex=function(t,e){if(!(e>=0&&e<this._rawCount))return NaN;var i=this._storage[t];if(!i)return NaN;var n=Math.floor(e/this._chunkSize),o=e%this._chunkSize;return i[n][o]},iA._getFast=function(t,e){var i=Math.floor(e/this._chunkSize),n=e%this._chunkSize;return this._storage[t][i][n]},iA.getValues=function(t,e){var i=[];y(t)||(e=t,t=this.dimensions);for(var n=0,o=t.length;n<o;n++)i.push(this.get(t[n],e));return i},iA.hasValue=function(t){for(var e=this._dimensionsSummary.dataDimsOnCoord,i=this._dimensionInfos,n=0,o=e.length;n<o;n++)if("ordinal"!==i[e[n]].type&&isNaN(this.get(e[n],t)))return!1;return!0},iA.getDataExtent=function(t){t=this.getDimension(t);var e=[1/0,-1/0];if(!this._storage[t])return e;var i,n=this.count();if(!this._indices)return this._rawExtent[t].slice();if(i=this._extent[t])return i.slice();for(var o=(i=e)[0],a=i[1],r=0;r<n;r++){var s=this._getFast(t,this.getRawIndex(r));s<o&&(o=s),s>a&&(a=s)}return i=[o,a],this._extent[t]=i,i},iA.getApproximateExtent=function(t){return t=this.getDimension(t),this._approximateExtent[t]||this.getDataExtent(t)},iA.setApproximateExtent=function(t,e){e=this.getDimension(e),this._approximateExtent[e]=t.slice()},iA.getCalculationInfo=function(t){return this._calculationInfo[t]},iA.setCalculationInfo=function(t,e){YT(t)?a(this._calculationInfo,t):this._calculationInfo[t]=e},iA.getSum=function(t){var e=0;if(this._storage[t])for(var i=0,n=this.count();i<n;i++){var o=this.get(t,i);isNaN(o)||(e+=o)}return e},iA.getMedian=function(t){var e=[];this.each(t,function(t,i){isNaN(t)||e.push(t)});var i=[].concat(e).sort(function(t,e){return t-e}),n=this.count();return 0===n?0:n%2==1?i[(n-1)/2]:(i[n/2]+i[n/2-1])/2},iA.rawIndexOf=function(t,e){var i=(t&&this._invertedIndicesMap[t])[e];return null==i||isNaN(i)?-1:i},iA.indexOfName=function(t){for(var e=0,i=this.count();e<i;e++)if(this.getName(e)===t)return e;return-1},iA.indexOfRawIndex=function(t){if(!this._indices)return t;if(t>=this._rawCount||t<0)return-1;var e=this._indices,i=e[t];if(null!=i&&i<this._count&&i===t)return t;for(var n=0,o=this._count-1;n<=o;){var a=(n+o)/2|0;if(e[a]<t)n=a+1;else{if(!(e[a]>t))return a;o=a-1}}return-1},iA.indicesOfNearest=function(t,e,i){var n=[];if(!this._storage[t])return n;null==i&&(i=1/0);for(var o=Number.MAX_VALUE,a=-1,r=0,s=this.count();r<s;r++){var l=e-this.get(t,r),u=Math.abs(l);l<=i&&u<=o&&((u<o||l>=0&&a<0)&&(o=u,a=l,n.length=0),n.push(r))}return n},iA.getRawIndex=Qs,iA.getRawDataItem=function(t){if(this._rawData.persistent)return this._rawData.getItem(this.getRawIndex(t));for(var e=[],i=0;i<this.dimensions.length;i++){var n=this.dimensions[i];e.push(this.get(n,t))}return e},iA.getName=function(t){var e=this.getRawIndex(t);return this._nameList[e]||Js(this,this._nameDimIdx,e)||""},iA.getId=function(t){return el(this,this.getRawIndex(t))},iA.each=function(t,e,i,n){if(this._count){"function"==typeof t&&(n=i,i=e,e=t,t=[]),i=i||n||this;for(var o=(t=f(il(t),this.getDimension,this)).length,a=0;a<this.count();a++)switch(o){case 0:e.call(i,a);break;case 1:e.call(i,this.get(t[0],a),a);break;case 2:e.call(i,this.get(t[0],a),this.get(t[1],a),a);break;default:for(var r=0,s=[];r<o;r++)s[r]=this.get(t[r],a);s[r]=a,e.apply(i,s)}}},iA.filterSelf=function(t,e,i,n){if(this._count){"function"==typeof t&&(n=i,i=e,e=t,t=[]),i=i||n||this,t=f(il(t),this.getDimension,this);for(var o=this.count(),a=new(Ys(this))(o),r=[],s=t.length,l=0,u=t[0],h=0;h<o;h++){var c,d=this.getRawIndex(h);if(0===s)c=e.call(i,h);else if(1===s){var p=this._getFast(u,d);c=e.call(i,p,h)}else{for(var g=0;g<s;g++)r[g]=this._getFast(u,d);r[g]=h,c=e.apply(i,r)}c&&(a[l++]=d)}return l<o&&(this._indices=a),this._count=l,this._extent={},this.getRawIndex=this._indices?tl:Qs,this}},iA.selectRange=function(t){if(this._count){var e=[];for(var i in t)t.hasOwnProperty(i)&&e.push(i);var n=e.length;if(n){var o=this.count(),a=new(Ys(this))(o),r=0,s=e[0],l=t[s][0],u=t[s][1],h=!1;if(!this._indices){var c=0;if(1===n){for(var d=this._storage[e[0]],f=0;f<this._chunkCount;f++)for(var p=d[f],g=Math.min(this._count-f*this._chunkSize,this._chunkSize),m=0;m<g;m++)((w=p[m])>=l&&w<=u||isNaN(w))&&(a[r++]=c),c++;h=!0}else if(2===n){for(var d=this._storage[s],v=this._storage[e[1]],y=t[e[1]][0],x=t[e[1]][1],f=0;f<this._chunkCount;f++)for(var p=d[f],_=v[f],g=Math.min(this._count-f*this._chunkSize,this._chunkSize),m=0;m<g;m++){var w=p[m],b=_[m];(w>=l&&w<=u||isNaN(w))&&(b>=y&&b<=x||isNaN(b))&&(a[r++]=c),c++}h=!0}}if(!h)if(1===n)for(m=0;m<o;m++){M=this.getRawIndex(m);((w=this._getFast(s,M))>=l&&w<=u||isNaN(w))&&(a[r++]=M)}else for(m=0;m<o;m++){for(var S=!0,M=this.getRawIndex(m),f=0;f<n;f++){var I=e[f];((w=this._getFast(i,M))<t[I][0]||w>t[I][1])&&(S=!1)}S&&(a[r++]=this.getRawIndex(m))}return r<o&&(this._indices=a),this._count=r,this._extent={},this.getRawIndex=this._indices?tl:Qs,this}}},iA.mapArray=function(t,e,i,n){"function"==typeof t&&(n=i,i=e,e=t,t=[]),i=i||n||this;var o=[];return this.each(t,function(){o.push(e&&e.apply(this,arguments))},i),o},iA.map=function(t,e,i,n){i=i||n||this;var o=nl(this,t=f(il(t),this.getDimension,this));o._indices=this._indices,o.getRawIndex=o._indices?tl:Qs;for(var a=o._storage,r=[],s=this._chunkSize,l=t.length,u=this.count(),h=[],c=o._rawExtent,d=0;d<u;d++){for(var p=0;p<l;p++)h[p]=this.get(t[p],d);h[l]=d;var g=e&&e.apply(i,h);if(null!=g){"object"!=typeof g&&(r[0]=g,g=r);for(var m=this.getRawIndex(d),v=Math.floor(m/s),y=m%s,x=0;x<g.length;x++){var _=t[x],w=g[x],b=c[_],S=a[_];S&&(S[v][y]=w),w<b[0]&&(b[0]=w),w>b[1]&&(b[1]=w)}}}return o},iA.downSample=function(t,e,i,n){for(var o=nl(this,[t]),a=o._storage,r=[],s=Math.floor(1/e),l=a[t],u=this.count(),h=this._chunkSize,c=o._rawExtent[t],d=new(Ys(this))(u),f=0,p=0;p<u;p+=s){s>u-p&&(s=u-p,r.length=s);for(var g=0;g<s;g++){var m=this.getRawIndex(p+g),v=Math.floor(m/h),y=m%h;r[g]=l[v][y]}var x=i(r),_=this.getRawIndex(Math.min(p+n(r,x)||0,u-1)),w=_%h;l[Math.floor(_/h)][w]=x,x<c[0]&&(c[0]=x),x>c[1]&&(c[1]=x),d[f++]=_}return o._count=f,o._indices=d,o.getRawIndex=tl,o},iA.getItemModel=function(t){var e=this.hostModel;return new Lo(this.getRawDataItem(t),e,e&&e.ecModel)},iA.diff=function(t){var e=this;return new Hs(t?t.getIndices():[],this.getIndices(),function(e){return el(t,e)},function(t){return el(e,t)})},iA.getVisual=function(t){var e=this._visual;return e&&e[t]},iA.setVisual=function(t,e){if(YT(t))for(var i in t)t.hasOwnProperty(i)&&this.setVisual(i,t[i]);else this._visual=this._visual||{},this._visual[t]=e},iA.setLayout=function(t,e){if(YT(t))for(var i in t)t.hasOwnProperty(i)&&this.setLayout(i,t[i]);else this._layout[t]=e},iA.getLayout=function(t){return this._layout[t]},iA.getItemLayout=function(t){return this._itemLayouts[t]},iA.setItemLayout=function(t,e,i){this._itemLayouts[t]=i?a(this._itemLayouts[t]||{},e):e},iA.clearItemLayouts=function(){this._itemLayouts.length=0},iA.getItemVisual=function(t,e,i){var n=this._itemVisuals[t],o=n&&n[e];return null!=o||i?o:this.getVisual(e)},iA.setItemVisual=function(t,e,i){var n=this._itemVisuals[t]||{},o=this.hasItemVisual;if(this._itemVisuals[t]=n,YT(e))for(var a in e)e.hasOwnProperty(a)&&(n[a]=e[a],o[a]=!0);else n[e]=i,o[e]=!0},iA.clearAllVisual=function(){this._visual={},this._itemVisuals=[],this.hasItemVisual={}};var nA=function(t){t.seriesIndex=this.seriesIndex,t.dataIndex=this.dataIndex,t.dataType=this.dataType};iA.setItemGraphicEl=function(t,e){var i=this.hostModel;e&&(e.dataIndex=t,e.dataType=this.dataType,e.seriesIndex=i&&i.seriesIndex,"group"===e.type&&e.traverse(nA,e)),this._graphicEls[t]=e},iA.getItemGraphicEl=function(t){return this._graphicEls[t]},iA.eachItemGraphicEl=function(t,e){d(this._graphicEls,function(i,n){i&&t&&t.call(e,i,n)})},iA.cloneShallow=function(t){if(!t){var e=f(this.dimensions,this.getDimensionInfo,this);t=new eA(e,this.hostModel)}if(t._storage=this._storage,Ks(t,this),this._indices){var i=this._indices.constructor;t._indices=new i(this._indices)}else t._indices=null;return t.getRawIndex=t._indices?tl:Qs,t},iA.wrapMethod=function(t,e){var i=this[t];"function"==typeof i&&(this.__wrappedMethods=this.__wrappedMethods||[],this.__wrappedMethods.push(t),this[t]=function(){var t=i.apply(this,arguments);return e.apply(this,[t].concat(C(arguments)))})},iA.TRANSFERABLE_METHODS=["cloneShallow","downSample","map"],iA.CHANGABLE_METHODS=["filterSelf","selectRange"];var oA=function(t,e){return e=e||{},rl(e.coordDimensions||[],t,{dimsDef:e.dimensionsDefine||t.dimensionsDefine,encodeDef:e.encodeDefine||t.encodeDefine,dimCount:e.dimensionsCount,generateCoord:e.generateCoord,generateCoordCount:e.generateCoordCount})};gl.prototype.parse=function(t){return t},gl.prototype.getSetting=function(t){return this._setting[t]},gl.prototype.contain=function(t){var e=this._extent;return t>=e[0]&&t<=e[1]},gl.prototype.normalize=function(t){var e=this._extent;return e[1]===e[0]?.5:(t-e[0])/(e[1]-e[0])},gl.prototype.scale=function(t){var e=this._extent;return t*(e[1]-e[0])+e[0]},gl.prototype.unionExtent=function(t){var e=this._extent;t[0]<e[0]&&(e[0]=t[0]),t[1]>e[1]&&(e[1]=t[1])},gl.prototype.unionExtentFromData=function(t,e){this.unionExtent(t.getApproximateExtent(e))},gl.prototype.getExtent=function(){return this._extent.slice()},gl.prototype.setExtent=function(t,e){var i=this._extent;isNaN(t)||(i[0]=t),isNaN(e)||(i[1]=e)},gl.prototype.isBlank=function(){return this._isBlank},gl.prototype.setBlank=function(t){this._isBlank=t},gl.prototype.getLabel=null,Xi(gl),Ki(gl,{registerWhenExtend:!0}),ml.createByAxisModel=function(t){var e=t.option,i=e.data,n=i&&f(i,yl);return new ml({categories:n,needCollect:!n,deduplication:!1!==e.dedplication})};var aA=ml.prototype;aA.getOrdinal=function(t){return vl(this).get(t)},aA.parseAndCollect=function(t){var e,i=this._needCollect;if("string"!=typeof t&&!i)return t;if(i&&!this._deduplication)return e=this.categories.length,this.categories[e]=t,e;var n=vl(this);return null==(e=n.get(t))&&(i?(e=this.categories.length,this.categories[e]=t,n.set(t,e)):e=NaN),e};var rA=gl.prototype,sA=gl.extend({type:"ordinal",init:function(t,e){t&&!y(t)||(t=new ml({categories:t})),this._ordinalMeta=t,this._extent=e||[0,t.categories.length-1]},parse:function(t){return"string"==typeof t?this._ordinalMeta.getOrdinal(t):Math.round(t)},contain:function(t){return t=this.parse(t),rA.contain.call(this,t)&&null!=this._ordinalMeta.categories[t]},normalize:function(t){return rA.normalize.call(this,this.parse(t))},scale:function(t){return Math.round(rA.scale.call(this,t))},getTicks:function(){for(var t=[],e=this._extent,i=e[0];i<=e[1];)t.push(i),i++;return t},getLabel:function(t){if(!this.isBlank())return this._ordinalMeta.categories[t]},count:function(){return this._extent[1]-this._extent[0]+1},unionExtentFromData:function(t,e){this.unionExtent(t.getApproximateExtent(e))},getOrdinalMeta:function(){return this._ordinalMeta},niceTicks:B,niceExtent:B});sA.create=function(){return new sA};var lA=zo,uA=zo,hA=gl.extend({type:"interval",_interval:0,_intervalPrecision:2,setExtent:function(t,e){var i=this._extent;isNaN(t)||(i[0]=parseFloat(t)),isNaN(e)||(i[1]=parseFloat(e))},unionExtent:function(t){var e=this._extent;t[0]<e[0]&&(e[0]=t[0]),t[1]>e[1]&&(e[1]=t[1]),hA.prototype.setExtent.call(this,e[0],e[1])},getInterval:function(){return this._interval},setInterval:function(t){this._interval=t,this._niceExtent=this._extent.slice(),this._intervalPrecision=_l(t)},getTicks:function(){return Sl(this._interval,this._extent,this._niceExtent,this._intervalPrecision)},getLabel:function(t,e){if(null==t)return"";var i=e&&e.precision;return null==i?i=Go(t)||0:"auto"===i&&(i=this._intervalPrecision),t=uA(t,i,!0),$o(t)},niceTicks:function(t,e,i){t=t||5;var n=this._extent,o=n[1]-n[0];if(isFinite(o)){o<0&&(o=-o,n.reverse());var a=xl(n,t,e,i);this._intervalPrecision=a.intervalPrecision,this._interval=a.interval,this._niceExtent=a.niceTickExtent}},niceExtent:function(t){var e=this._extent;if(e[0]===e[1])if(0!==e[0]){var i=e[0];t.fixMax?e[0]-=i/2:(e[1]+=i/2,e[0]-=i/2)}else e[1]=1;var n=e[1]-e[0];isFinite(n)||(e[0]=0,e[1]=1),this.niceTicks(t.splitNumber,t.minInterval,t.maxInterval);var o=this._interval;t.fixMin||(e[0]=uA(Math.floor(e[0]/o)*o)),t.fixMax||(e[1]=uA(Math.ceil(e[1]/o)*o))}});hA.create=function(){return new hA};var cA="__ec_stack_",dA="undefined"!=typeof Float32Array?Float32Array:Array,fA={seriesType:"bar",plan:zI(),reset:function(t){if(Pl(t)&&Nl(t)){var e=t.getData(),i=t.coordinateSystem,n=i.getBaseAxis(),o=i.getOtherAxis(n),a=e.mapDimension(o.dim),r=e.mapDimension(n.dim),s=o.isHorizontal(),l=s?0:1,u=Ll(Dl([t]),n,t).width;return u>.5||(u=.5),{progress:function(t,e){for(var n,h=new dA(2*t.count),c=[],d=[],f=0;null!=(n=t.next());)d[l]=e.get(a,n),d[1-l]=e.get(r,n),c=i.dataToPoint(d,null,c),h[f++]=c[0],h[f++]=c[1];e.setLayout({largePoints:h,barWidth:u,valueAxisStart:Ol(0,o),valueAxisHorizontal:s})}}}}},pA=hA.prototype,gA=Math.ceil,mA=Math.floor,vA=function(t,e,i,n){for(;i<n;){var o=i+n>>>1;t[o][1]<e?i=o+1:n=o}return i},yA=hA.extend({type:"time",getLabel:function(t){var e=this._stepLvl,i=new Date(t);return oa(e[0],i,this.getSetting("useUTC"))},niceExtent:function(t){var e=this._extent;if(e[0]===e[1]&&(e[0]-=864e5,e[1]+=864e5),e[1]===-1/0&&e[0]===1/0){var i=new Date;e[1]=+new Date(i.getFullYear(),i.getMonth(),i.getDate()),e[0]=e[1]-864e5}this.niceTicks(t.splitNumber,t.minInterval,t.maxInterval);var n=this._interval;t.fixMin||(e[0]=zo(mA(e[0]/n)*n)),t.fixMax||(e[1]=zo(gA(e[1]/n)*n))},niceTicks:function(t,e,i){t=t||10;var n=this._extent,o=n[1]-n[0],a=o/t;null!=e&&a<e&&(a=e),null!=i&&a>i&&(a=i);var r=xA.length,s=vA(xA,a,0,r),l=xA[Math.min(s,r-1)],u=l[1];"year"===l[0]&&(u*=Yo(o/u/t,!0));var h=this.getSetting("useUTC")?0:60*new Date(+n[0]||+n[1]).getTimezoneOffset()*1e3,c=[Math.round(gA((n[0]-h)/u)*u+h),Math.round(mA((n[1]-h)/u)*u+h)];bl(c,n),this._stepLvl=l,this._interval=u,this._niceExtent=c},parse:function(t){return+Uo(t)}});d(["contain","normalize"],function(t){yA.prototype[t]=function(e){return pA[t].call(this,this.parse(e))}});var xA=[["hh:mm:ss",1e3],["hh:mm:ss",5e3],["hh:mm:ss",1e4],["hh:mm:ss",15e3],["hh:mm:ss",3e4],["hh:mm\nMM-dd",6e4],["hh:mm\nMM-dd",3e5],["hh:mm\nMM-dd",6e5],["hh:mm\nMM-dd",9e5],["hh:mm\nMM-dd",18e5],["hh:mm\nMM-dd",36e5],["hh:mm\nMM-dd",72e5],["hh:mm\nMM-dd",216e5],["hh:mm\nMM-dd",432e5],["MM-dd\nyyyy",864e5],["MM-dd\nyyyy",1728e5],["MM-dd\nyyyy",2592e5],["MM-dd\nyyyy",3456e5],["MM-dd\nyyyy",432e6],["MM-dd\nyyyy",5184e5],["week",6048e5],["MM-dd\nyyyy",864e6],["week",12096e5],["week",18144e5],["month",26784e5],["week",36288e5],["month",53568e5],["week",6048e6],["quarter",8208e6],["month",107136e5],["month",13392e6],["half-year",16416e6],["month",214272e5],["month",26784e6],["year",32832e6]];yA.create=function(t){return new yA({useUTC:t.ecModel.get("useUTC")})};var _A=gl.prototype,wA=hA.prototype,bA=Go,SA=zo,MA=Math.floor,IA=Math.ceil,TA=Math.pow,AA=Math.log,DA=gl.extend({type:"log",base:10,$constructor:function(){gl.apply(this,arguments),this._originalScale=new hA},getTicks:function(){var t=this._originalScale,e=this._extent,i=t.getExtent();return f(wA.getTicks.call(this),function(n){var o=zo(TA(this.base,n));return o=n===e[0]&&t.__fixMin?El(o,i[0]):o,o=n===e[1]&&t.__fixMax?El(o,i[1]):o},this)},getLabel:wA.getLabel,scale:function(t){return t=_A.scale.call(this,t),TA(this.base,t)},setExtent:function(t,e){var i=this.base;t=AA(t)/AA(i),e=AA(e)/AA(i),wA.setExtent.call(this,t,e)},getExtent:function(){var t=this.base,e=_A.getExtent.call(this);e[0]=TA(t,e[0]),e[1]=TA(t,e[1]);var i=this._originalScale,n=i.getExtent();return i.__fixMin&&(e[0]=El(e[0],n[0])),i.__fixMax&&(e[1]=El(e[1],n[1])),e},unionExtent:function(t){this._originalScale.unionExtent(t);var e=this.base;t[0]=AA(t[0])/AA(e),t[1]=AA(t[1])/AA(e),_A.unionExtent.call(this,t)},unionExtentFromData:function(t,e){this.unionExtent(t.getApproximateExtent(e))},niceTicks:function(t){t=t||10;var e=this._extent,i=e[1]-e[0];if(!(i===1/0||i<=0)){var n=Xo(i);for(t/i*n<=.5&&(n*=10);!isNaN(n)&&Math.abs(n)<1&&Math.abs(n)>0;)n*=10;var o=[zo(IA(e[0]/n)*n),zo(MA(e[1]/n)*n)];this._interval=n,this._niceExtent=o}},niceExtent:function(t){wA.niceExtent.call(this,t);var e=this._originalScale;e.__fixMin=t.fixMin,e.__fixMax=t.fixMax}});d(["contain","normalize"],function(t){DA.prototype[t]=function(e){return e=AA(e)/AA(this.base),_A[t].call(this,e)}}),DA.create=function(){return new DA};var CA={getMin:function(t){var e=this.option,i=t||null==e.rangeStart?e.min:e.rangeStart;return this.axis&&null!=i&&"dataMin"!==i&&"function"!=typeof i&&!I(i)&&(i=this.axis.scale.parse(i)),i},getMax:function(t){var e=this.option,i=t||null==e.rangeEnd?e.max:e.rangeEnd;return this.axis&&null!=i&&"dataMax"!==i&&"function"!=typeof i&&!I(i)&&(i=this.axis.scale.parse(i)),i},getNeedCrossZero:function(){var t=this.option;return null==t.rangeStart&&null==t.rangeEnd&&!t.scale},getCoordSysModel:B,setRange:function(t,e){this.option.rangeStart=t,this.option.rangeEnd=e},resetRange:function(){this.option.rangeStart=this.option.rangeEnd=null}},LA=Fn({type:"triangle",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(t,e){var i=e.cx,n=e.cy,o=e.width/2,a=e.height/2;t.moveTo(i,n-a),t.lineTo(i+o,n+a),t.lineTo(i-o,n+a),t.closePath()}}),kA=Fn({type:"diamond",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(t,e){var i=e.cx,n=e.cy,o=e.width/2,a=e.height/2;t.moveTo(i,n-a),t.lineTo(i+o,n),t.lineTo(i,n+a),t.lineTo(i-o,n),t.closePath()}}),PA=Fn({type:"pin",shape:{x:0,y:0,width:0,height:0},buildPath:function(t,e){var i=e.x,n=e.y,o=e.width/5*3,a=Math.max(o,e.height),r=o/2,s=r*r/(a-r),l=n-a+r+s,u=Math.asin(s/r),h=Math.cos(u)*r,c=Math.sin(u),d=Math.cos(u),f=.6*r,p=.7*r;t.moveTo(i-h,l+s),t.arc(i,l,r,Math.PI-u,2*Math.PI+u),t.bezierCurveTo(i+h-c*f,l+s+d*f,i,n-p,i,n),t.bezierCurveTo(i,n-p,i-h+c*f,l+s+d*f,i-h,l+s),t.closePath()}}),NA=Fn({type:"arrow",shape:{x:0,y:0,width:0,height:0},buildPath:function(t,e){var i=e.height,n=e.width,o=e.x,a=e.y,r=n/3*2;t.moveTo(o,a),t.lineTo(o+r,a+i),t.lineTo(o,a+i/4*3),t.lineTo(o-r,a+i),t.lineTo(o,a),t.closePath()}}),OA={line:function(t,e,i,n,o){o.x1=t,o.y1=e+n/2,o.x2=t+i,o.y2=e+n/2},rect:function(t,e,i,n,o){o.x=t,o.y=e,o.width=i,o.height=n},roundRect:function(t,e,i,n,o){o.x=t,o.y=e,o.width=i,o.height=n,o.r=Math.min(i,n)/4},square:function(t,e,i,n,o){var a=Math.min(i,n);o.x=t,o.y=e,o.width=a,o.height=a},circle:function(t,e,i,n,o){o.cx=t+i/2,o.cy=e+n/2,o.r=Math.min(i,n)/2},diamond:function(t,e,i,n,o){o.cx=t+i/2,o.cy=e+n/2,o.width=i,o.height=n},pin:function(t,e,i,n,o){o.x=t+i/2,o.y=e+n/2,o.width=i,o.height=n},arrow:function(t,e,i,n,o){o.x=t+i/2,o.y=e+n/2,o.width=i,o.height=n},triangle:function(t,e,i,n,o){o.cx=t+i/2,o.cy=e+n/2,o.width=i,o.height=n}},EA={};d({line:rM,rect:aM,roundRect:aM,square:aM,circle:KS,diamond:kA,pin:PA,arrow:NA,triangle:LA},function(t,e){EA[e]=new t});var RA=Fn({type:"symbol",shape:{symbolType:"",x:0,y:0,width:0,height:0},beforeBrush:function(){var t=this.style;"pin"===this.shape.symbolType&&"inside"===t.textPosition&&(t.textPosition=["50%","40%"],t.textAlign="center",t.textVerticalAlign="middle")},buildPath:function(t,e,i){var n=e.symbolType,o=EA[n];"none"!==e.symbolType&&(o||(o=EA[n="rect"]),OA[n](e.x,e.y,e.width,e.height,o.shape),o.buildPath(t,o.shape,i))}}),zA={isDimensionStacked:hl,enableDataStack:ul,getStackedDimension:cl},BA=(Object.freeze||Object)({createList:function(t){return dl(t.getSource(),t)},getLayoutRect:la,dataStack:zA,createScale:function(t,e){var i=e;Lo.isInstance(e)||h(i=new Lo(e),CA);var n=Vl(i);return n.setExtent(t[0],t[1]),Bl(n,i),n},mixinAxisModelCommonMethods:function(t){h(t,CA)},completeDimensions:rl,createDimensions:oA,createSymbol:Xl}),VA=1e-8;ql.prototype={constructor:ql,properties:null,getBoundingRect:function(){var t=this._rect;if(t)return t;for(var e=Number.MAX_VALUE,i=[e,e],n=[-e,-e],o=[],a=[],r=this.geometries,s=0;s<r.length;s++)"polygon"===r[s].type&&(dn(r[s].exterior,o,a),tt(i,i,o),et(n,n,a));return 0===s&&(i[0]=i[1]=n[0]=n[1]=0),this._rect=new ue(i[0],i[1],n[0]-i[0],n[1]-i[1])},contain:function(t){var e=this.getBoundingRect(),i=this.geometries;if(!e.contain(t[0],t[1]))return!1;t:for(var n=0,o=i.length;n<o;n++)if("polygon"===i[n].type){var a=i[n].exterior,r=i[n].interiors;if(Yl(a,t[0],t[1])){for(var s=0;s<(r?r.length:0);s++)if(Yl(r[s]))continue t;return!0}}return!1},transformTo:function(t,e,i,n){var o=this.getBoundingRect(),a=o.width/o.height;i?n||(n=i/a):i=a*n;for(var r=new ue(t,e,i,n),s=o.calculateTransform(r),l=this.geometries,u=0;u<l.length;u++)if("polygon"===l[u].type){for(var h=l[u].exterior,c=l[u].interiors,d=0;d<h.length;d++)Q(h[d],h[d],s);for(var f=0;f<(c?c.length:0);f++)for(d=0;d<c[f].length;d++)Q(c[f][d],c[f][d],s)}(o=this._rect).copy(r),this.center=[o.x+o.width/2,o.y+o.height/2]},cloneShallow:function(t){null==t&&(t=this.name);var e=new ql(t,this.geometries,this.center);return e._rect=this._rect,e.transformTo=null,e}};var GA=function(t){return Kl(t),f(g(t.features,function(t){return t.geometry&&t.properties&&t.geometry.coordinates.length>0}),function(t){var e=t.properties,i=t.geometry,n=i.coordinates,o=[];"Polygon"===i.type&&o.push({type:"polygon",exterior:n[0],interiors:n.slice(1)}),"MultiPolygon"===i.type&&d(n,function(t){t[0]&&o.push({type:"polygon",exterior:t[0],interiors:t.slice(1)})});var a=new ql(e.name,o,e.cp);return a.properties=e,a})},FA=Bi(),WA=[0,1],HA=function(t,e,i){this.dim=t,this.scale=e,this._extent=i||[0,0],this.inverse=!1,this.onBand=!1};HA.prototype={constructor:HA,contain:function(t){var e=this._extent,i=Math.min(e[0],e[1]),n=Math.max(e[0],e[1]);return t>=i&&t<=n},containData:function(t){return this.contain(this.dataToCoord(t))},getExtent:function(){return this._extent.slice()},getPixelPrecision:function(t){return Fo(t||this.scale.getExtent(),this._extent)},setExtent:function(t,e){var i=this._extent;i[0]=t,i[1]=e},dataToCoord:function(t,e){var i=this._extent,n=this.scale;return t=n.normalize(t),this.onBand&&"ordinal"===n.type&&fu(i=i.slice(),n.count()),Eo(t,WA,i,e)},coordToData:function(t,e){var i=this._extent,n=this.scale;this.onBand&&"ordinal"===n.type&&fu(i=i.slice(),n.count());var o=Eo(t,i,WA,e);return this.scale.scale(o)},pointToData:function(t,e){},getTicksCoords:function(t){var e=(t=t||{}).tickModel||this.getTickModel(),i=Ql(this,e),n=f(i.ticks,function(t){return{coord:this.dataToCoord(t),tickValue:t}},this),o=e.get("alignWithLabel");return pu(this,n,i.tickCategoryInterval,o,t.clamp),n},getViewLabels:function(){return Jl(this).labels},getLabelModel:function(){return this.model.getModel("axisLabel")},getTickModel:function(){return this.model.getModel("axisTick")},getBandWidth:function(){var t=this._extent,e=this.scale.getExtent(),i=e[1]-e[0]+(this.onBand?1:0);0===i&&(i=1);var n=Math.abs(t[1]-t[0]);return Math.abs(n)/i},isHorizontal:null,getRotate:null,calculateCategoryInterval:function(){return lu(this)}};var ZA=GA,UA={};d(["map","each","filter","indexOf","inherits","reduce","filter","bind","curry","isArray","isString","isObject","isFunction","extend","defaults","clone","merge"],function(t){UA[t]=$_[t]});var XA={};d(["extendShape","extendPath","makePath","makeImage","mergePath","resizePath","createIcon","setHoverStyle","setLabelStyle","setTextStyle","setText","getFont","updateProps","initProps","getTransform","clipPointsByRect","clipRectByRect","Group","Image","Text","Circle","Sector","Ring","Polygon","Polyline","Rect","Line","BezierCurve","Arc","IncrementalDisplayable","CompoundPath","LinearGradient","RadialGradient","BoundingRect"],function(t){XA[t]=bM[t]}),OI.extend({type:"series.line",dependencies:["grid","polar"],getInitialData:function(t,e){return dl(this.getSource(),this)},defaultOption:{zlevel:0,z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,hoverAnimation:!0,clipOverflow:!0,label:{position:"top"},lineStyle:{width:2,type:"solid"},step:!1,smooth:!1,smoothMonotone:null,symbol:"emptyCircle",symbolSize:4,symbolRotate:null,showSymbol:!0,showAllSymbol:"auto",connectNulls:!1,sampling:"none",animationEasing:"linear",progressive:0,hoverLayerThreshold:1/0}});var jA=mu.prototype,YA=mu.getSymbolSize=function(t,e){var i=t.getItemVisual(e,"symbolSize");return i instanceof Array?i.slice():[+i,+i]};jA._createSymbol=function(t,e,i,n,o){this.removeAll();var a=Xl(t,-1,-1,2,2,e.getItemVisual(i,"color"),o);a.attr({z2:100,culling:!0,scale:vu(n)}),a.drift=yu,this._symbolType=t,this.add(a)},jA.stopSymbolAnimation=function(t){this.childAt(0).stopAnimation(t)},jA.getSymbolPath=function(){return this.childAt(0)},jA.getScale=function(){return this.childAt(0).scale},jA.highlight=function(){this.childAt(0).trigger("emphasis")},jA.downplay=function(){this.childAt(0).trigger("normal")},jA.setZ=function(t,e){var i=this.childAt(0);i.zlevel=t,i.z=e},jA.setDraggable=function(t){var e=this.childAt(0);e.draggable=t,e.cursor=t?"move":"pointer"},jA.updateData=function(t,e,i){this.silent=!1;var n=t.getItemVisual(e,"symbol")||"circle",o=t.hostModel,a=YA(t,e),r=n!==this._symbolType;if(r){var s=t.getItemVisual(e,"symbolKeepAspect");this._createSymbol(n,t,e,a,s)}else(l=this.childAt(0)).silent=!1,bo(l,{scale:vu(a)},o,e);if(this._updateCommon(t,e,a,i),r){var l=this.childAt(0),u=i&&i.fadeIn,h={scale:l.scale.slice()};u&&(h.style={opacity:l.style.opacity}),l.scale=[0,0],u&&(l.style.opacity=0),So(l,h,o,e)}this._seriesModel=o};var qA=["itemStyle"],KA=["emphasis","itemStyle"],$A=["label"],JA=["emphasis","label"];jA._updateCommon=function(t,e,i,n){var o=this.childAt(0),r=t.hostModel,s=t.getItemVisual(e,"color");"image"!==o.type&&o.useStyle({strokeNoScale:!0});var l=n&&n.itemStyle,u=n&&n.hoverItemStyle,h=n&&n.symbolRotate,c=n&&n.symbolOffset,d=n&&n.labelModel,f=n&&n.hoverLabelModel,p=n&&n.hoverAnimation,g=n&&n.cursorStyle;if(!n||t.hasItemOption){var m=n&&n.itemModel?n.itemModel:t.getItemModel(e);l=m.getModel(qA).getItemStyle(["color"]),u=m.getModel(KA).getItemStyle(),h=m.getShallow("symbolRotate"),c=m.getShallow("symbolOffset"),d=m.getModel($A),f=m.getModel(JA),p=m.getShallow("hoverAnimation"),g=m.getShallow("cursor")}else u=a({},u);var v=o.style;o.attr("rotation",(h||0)*Math.PI/180||0),c&&o.attr("position",[Ro(c[0],i[0]),Ro(c[1],i[1])]),g&&o.attr("cursor",g),o.setColor(s,n&&n.symbolInnerColor),o.setStyle(l);var y=t.getItemVisual(e,"opacity");null!=y&&(v.opacity=y);var x=t.getItemVisual(e,"liftZ"),_=o.__z2Origin;null!=x?null==_&&(o.__z2Origin=o.z2,o.z2+=x):null!=_&&(o.z2=_,o.__z2Origin=null);var w=n&&n.useNameLabel;co(v,u,d,f,{labelFetcher:r,labelDataIndex:e,defaultText:function(e,i){return w?t.getName(e):gu(t,e)},isRectText:!0,autoColor:s}),o.off("mouseover").off("mouseout").off("emphasis").off("normal"),o.hoverStyle=u,uo(o),o.__symbolOriginalScale=vu(i),p&&r.isAnimationEnabled()&&o.on("mouseover",xu).on("mouseout",_u).on("emphasis",wu).on("normal",bu)},jA.fadeOut=function(t,e){var i=this.childAt(0);this.silent=i.silent=!0,!(e&&e.keepLabel)&&(i.style.text=null),bo(i,{style:{opacity:0},scale:[0,0]},this._seriesModel,this.dataIndex,t)},u(mu,Zw);var QA=Su.prototype;QA.updateData=function(t,e){e=Iu(e);var i=this.group,n=t.hostModel,o=this._data,a=this._symbolCtor,r=Tu(t);o||i.removeAll(),t.diff(o).add(function(n){var o=t.getItemLayout(n);if(Mu(t,o,n,e)){var s=new a(t,n,r);s.attr("position",o),t.setItemGraphicEl(n,s),i.add(s)}}).update(function(s,l){var u=o.getItemGraphicEl(l),h=t.getItemLayout(s);Mu(t,h,s,e)?(u?(u.updateData(t,s,r),bo(u,{position:h},n)):(u=new a(t,s)).attr("position",h),i.add(u),t.setItemGraphicEl(s,u)):i.remove(u)}).remove(function(t){var e=o.getItemGraphicEl(t);e&&e.fadeOut(function(){i.remove(e)})}).execute(),this._data=t},QA.isPersistent=function(){return!0},QA.updateLayout=function(){var t=this._data;t&&t.eachItemGraphicEl(function(e,i){var n=t.getItemLayout(i);e.attr("position",n)})},QA.incrementalPrepareUpdate=function(t){this._seriesScope=Tu(t),this._data=null,this.group.removeAll()},QA.incrementalUpdate=function(t,e,i){i=Iu(i);for(var n=t.start;n<t.end;n++){var o=e.getItemLayout(n);if(Mu(e,o,n,i)){var a=new this._symbolCtor(e,n,this._seriesScope);a.traverse(function(t){t.isGroup||(t.incremental=t.useHoverLayer=!0)}),a.attr("position",o),this.group.add(a),e.setItemGraphicEl(n,a)}}},QA.remove=function(t){var e=this.group,i=this._data;i&&t?i.eachItemGraphicEl(function(t){t.fadeOut(function(){e.remove(t)})}):e.removeAll()};var tD=function(t,e,i,n,o,a,r,s){for(var l=Lu(t,e),u=[],h=[],c=[],d=[],f=[],p=[],g=[],m=Au(o,e,r),v=Au(a,t,s),y=0;y<l.length;y++){var x=l[y],_=!0;switch(x.cmd){case"=":var w=t.getItemLayout(x.idx),b=e.getItemLayout(x.idx1);(isNaN(w[0])||isNaN(w[1]))&&(w=b.slice()),u.push(w),h.push(b),c.push(i[x.idx]),d.push(n[x.idx1]),g.push(e.getRawIndex(x.idx1));break;case"+":S=x.idx;u.push(o.dataToPoint([e.get(m.dataDimsForPoint[0],S),e.get(m.dataDimsForPoint[1],S)])),h.push(e.getItemLayout(S).slice()),c.push(Cu(m,o,e,S)),d.push(n[S]),g.push(e.getRawIndex(S));break;case"-":var S=x.idx,M=t.getRawIndex(S);M!==S?(u.push(t.getItemLayout(S)),h.push(a.dataToPoint([t.get(v.dataDimsForPoint[0],S),t.get(v.dataDimsForPoint[1],S)])),c.push(i[S]),d.push(Cu(v,a,t,S)),g.push(M)):_=!1}_&&(f.push(x),p.push(p.length))}p.sort(function(t,e){return g[t]-g[e]});for(var I=[],T=[],A=[],D=[],C=[],y=0;y<p.length;y++){S=p[y];I[y]=u[S],T[y]=h[S],A[y]=c[S],D[y]=d[S],C[y]=f[S]}return{current:I,next:T,stackedOnCurrent:A,stackedOnNext:D,status:C}},eD=tt,iD=et,nD=Z,oD=G,aD=[],rD=[],sD=[],lD=kn.extend({type:"ec-polyline",shape:{points:[],smooth:0,smoothConstraint:!0,smoothMonotone:null,connectNulls:!1},style:{fill:null,stroke:"#000"},brush:JS(kn.prototype.brush),buildPath:function(t,e){var i=e.points,n=0,o=i.length,a=Eu(i,e.smoothConstraint);if(e.connectNulls){for(;o>0&&ku(i[o-1]);o--);for(;n<o&&ku(i[n]);n++);}for(;n<o;)n+=Pu(t,i,n,o,o,1,a.min,a.max,e.smooth,e.smoothMonotone,e.connectNulls)+1}}),uD=kn.extend({type:"ec-polygon",shape:{points:[],stackedOnPoints:[],smooth:0,stackedOnSmooth:0,smoothConstraint:!0,smoothMonotone:null,connectNulls:!1},brush:JS(kn.prototype.brush),buildPath:function(t,e){var i=e.points,n=e.stackedOnPoints,o=0,a=i.length,r=e.smoothMonotone,s=Eu(i,e.smoothConstraint),l=Eu(n,e.smoothConstraint);if(e.connectNulls){for(;a>0&&ku(i[a-1]);a--);for(;o<a&&ku(i[o]);o++);}for(;o<a;){var u=Pu(t,i,o,a,a,1,s.min,s.max,e.smooth,r,e.connectNulls);Pu(t,n,o+u-1,u,a,-1,l.min,l.max,e.stackedOnSmooth,r,e.connectNulls),o+=u+1,t.closePath()}}});Mr.extend({type:"line",init:function(){var t=new Zw,e=new Su;this.group.add(e.group),this._symbolDraw=e,this._lineGroup=t},render:function(t,e,i){var n=t.coordinateSystem,o=this.group,a=t.getData(),s=t.getModel("lineStyle"),l=t.getModel("areaStyle"),u=a.mapArray(a.getItemLayout),h="polar"===n.type,c=this._coordSys,d=this._symbolDraw,f=this._polyline,p=this._polygon,g=this._lineGroup,m=t.get("animation"),v=!l.isEmpty(),y=l.get("origin"),x=Vu(n,a,Au(n,a,y)),_=t.get("showSymbol"),w=_&&!h&&Uu(t,a,n),b=this._data;b&&b.eachItemGraphicEl(function(t,e){t.__temp&&(o.remove(t),b.setItemGraphicEl(e,null))}),_||d.remove(),o.add(g);var S=!h&&t.get("step");f&&c.type===n.type&&S===this._step?(v&&!p?p=this._newPolygon(u,x,n,m):p&&!v&&(g.remove(p),p=this._polygon=null),g.setClipPath(Wu(n,!1,!1,t)),_&&d.updateData(a,{isIgnore:w,clipShape:Wu(n,!1,!0,t)}),a.eachItemGraphicEl(function(t){t.stopAnimation(!0)}),Ru(this._stackedOnPoints,x)&&Ru(this._points,u)||(m?this._updateAnimation(a,x,n,i,S,y):(S&&(u=Hu(u,n,S),x=Hu(x,n,S)),f.setShape({points:u}),p&&p.setShape({points:u,stackedOnPoints:x})))):(_&&d.updateData(a,{isIgnore:w,clipShape:Wu(n,!1,!0,t)}),S&&(u=Hu(u,n,S),x=Hu(x,n,S)),f=this._newPolyline(u,n,m),v&&(p=this._newPolygon(u,x,n,m)),g.setClipPath(Wu(n,!0,!1,t)));var M=Zu(a,n)||a.getVisual("color");f.useStyle(r(s.getLineStyle(),{fill:"none",stroke:M,lineJoin:"bevel"}));var I=t.get("smooth");if(I=zu(t.get("smooth")),f.setShape({smooth:I,smoothMonotone:t.get("smoothMonotone"),connectNulls:t.get("connectNulls")}),p){var T=a.getCalculationInfo("stackedOnSeries"),A=0;p.useStyle(r(l.getAreaStyle(),{fill:M,opacity:.7,lineJoin:"bevel"})),T&&(A=zu(T.get("smooth"))),p.setShape({smooth:I,stackedOnSmooth:A,smoothMonotone:t.get("smoothMonotone"),connectNulls:t.get("connectNulls")})}this._data=a,this._coordSys=n,this._stackedOnPoints=x,this._points=u,this._step=S,this._valueOrigin=y},dispose:function(){},highlight:function(t,e,i,n){var o=t.getData(),a=zi(o,n);if(!(a instanceof Array)&&null!=a&&a>=0){var r=o.getItemGraphicEl(a);if(!r){var s=o.getItemLayout(a);if(!s)return;(r=new mu(o,a)).position=s,r.setZ(t.get("zlevel"),t.get("z")),r.ignore=isNaN(s[0])||isNaN(s[1]),r.__temp=!0,o.setItemGraphicEl(a,r),r.stopSymbolAnimation(!0),this.group.add(r)}r.highlight()}else Mr.prototype.highlight.call(this,t,e,i,n)},downplay:function(t,e,i,n){var o=t.getData(),a=zi(o,n);if(null!=a&&a>=0){var r=o.getItemGraphicEl(a);r&&(r.__temp?(o.setItemGraphicEl(a,null),this.group.remove(r)):r.downplay())}else Mr.prototype.downplay.call(this,t,e,i,n)},_newPolyline:function(t){var e=this._polyline;return e&&this._lineGroup.remove(e),e=new lD({shape:{points:t},silent:!0,z2:10}),this._lineGroup.add(e),this._polyline=e,e},_newPolygon:function(t,e){var i=this._polygon;return i&&this._lineGroup.remove(i),i=new uD({shape:{points:t,stackedOnPoints:e},silent:!0}),this._lineGroup.add(i),this._polygon=i,i},_updateAnimation:function(t,e,i,n,o,a){var r=this._polyline,s=this._polygon,l=t.hostModel,u=tD(this._data,t,this._stackedOnPoints,e,this._coordSys,i,this._valueOrigin,a),h=u.current,c=u.stackedOnCurrent,d=u.next,f=u.stackedOnNext;o&&(h=Hu(u.current,i,o),c=Hu(u.stackedOnCurrent,i,o),d=Hu(u.next,i,o),f=Hu(u.stackedOnNext,i,o)),r.shape.__points=u.current,r.shape.points=h,bo(r,{shape:{points:d}},l),s&&(s.setShape({points:h,stackedOnPoints:c}),bo(s,{shape:{points:d,stackedOnPoints:f}},l));for(var p=[],g=u.status,m=0;m<g.length;m++)if("="===g[m].cmd){var v=t.getItemGraphicEl(g[m].idx1);v&&p.push({el:v,ptIdx:m})}r.animators&&r.animators.length&&r.animators[0].during(function(){for(var t=0;t<p.length;t++)p[t].el.attr("position",r.shape.__points[p[t].ptIdx])})},remove:function(t){var e=this.group,i=this._data;this._lineGroup.removeAll(),this._symbolDraw.remove(!0),i&&i.eachItemGraphicEl(function(t,n){t.__temp&&(e.remove(t),i.setItemGraphicEl(n,null))}),this._polyline=this._polygon=this._coordSys=this._points=this._stackedOnPoints=this._data=null}});var hD=function(t,e,i){return{seriesType:t,performRawSeries:!0,reset:function(t,n,o){var a=t.getData(),r=t.get("symbol")||e,s=t.get("symbolSize"),l=t.get("symbolKeepAspect");if(a.setVisual({legendSymbol:i||r,symbol:r,symbolSize:s,symbolKeepAspect:l}),!n.isSeriesFiltered(t)){var u="function"==typeof s;return{dataEach:a.hasItemOption||u?function(e,i){if("function"==typeof s){var n=t.getRawValue(i),o=t.getDataParams(i);e.setItemVisual(i,"symbolSize",s(n,o))}if(e.hasItemOption){var a=e.getItemModel(i),r=a.getShallow("symbol",!0),l=a.getShallow("symbolSize",!0),u=a.getShallow("symbolKeepAspect",!0);null!=r&&e.setItemVisual(i,"symbol",r),null!=l&&e.setItemVisual(i,"symbolSize",l),null!=u&&e.setItemVisual(i,"symbolKeepAspect",u)}}:null}}}}},cD=function(t){return{seriesType:t,plan:zI(),reset:function(t){var e=t.getData(),i=t.coordinateSystem,n=t.pipelineContext.large;if(i){var o=f(i.dimensions,function(t){return e.mapDimension(t)}).slice(0,2),a=o.length,r=e.getCalculationInfo("stackResultDimension");return hl(e,o[0])&&(o[0]=r),hl(e,o[1])&&(o[1]=r),a&&{progress:function(t,e){for(var r=t.end-t.start,s=n&&new Float32Array(r*a),l=t.start,u=0,h=[],c=[];l<t.end;l++){var d;if(1===a)f=e.get(o[0],l),d=!isNaN(f)&&i.dataToPoint(f,null,c);else{var f=h[0]=e.get(o[0],l),p=h[1]=e.get(o[1],l);d=!isNaN(f)&&!isNaN(p)&&i.dataToPoint(h,null,c)}n?(s[u++]=d?d[0]:NaN,s[u++]=d?d[1]:NaN):e.setItemLayout(l,d&&d.slice()||[NaN,NaN])}n&&e.setLayout("symbolPoints",s)}}}}}},dD={average:function(t){for(var e=0,i=0,n=0;n<t.length;n++)isNaN(t[n])||(e+=t[n],i++);return 0===i?NaN:e/i},sum:function(t){for(var e=0,i=0;i<t.length;i++)e+=t[i]||0;return e},max:function(t){for(var e=-1/0,i=0;i<t.length;i++)t[i]>e&&(e=t[i]);return isFinite(e)?e:NaN},min:function(t){for(var e=1/0,i=0;i<t.length;i++)t[i]<e&&(e=t[i]);return isFinite(e)?e:NaN},nearest:function(t){return t[0]}},fD=function(t,e){return Math.round(t.length/2)},pD=function(t){this._axes={},this._dimList=[],this.name=t||""};pD.prototype={constructor:pD,type:"cartesian",getAxis:function(t){return this._axes[t]},getAxes:function(){return f(this._dimList,ju,this)},getAxesByScale:function(t){return t=t.toLowerCase(),g(this.getAxes(),function(e){return e.scale.type===t})},addAxis:function(t){var e=t.dim;this._axes[e]=t,this._dimList.push(e)},dataToCoord:function(t){return this._dataCoordConvert(t,"dataToCoord")},coordToData:function(t){return this._dataCoordConvert(t,"coordToData")},_dataCoordConvert:function(t,e){for(var i=this._dimList,n=t instanceof Array?[]:{},o=0;o<i.length;o++){var a=i[o],r=this._axes[a];n[a]=r[e](t[a])}return n}},Yu.prototype={constructor:Yu,type:"cartesian2d",dimensions:["x","y"],getBaseAxis:function(){return this.getAxesByScale("ordinal")[0]||this.getAxesByScale("time")[0]||this.getAxis("x")},containPoint:function(t){var e=this.getAxis("x"),i=this.getAxis("y");return e.contain(e.toLocalCoord(t[0]))&&i.contain(i.toLocalCoord(t[1]))},containData:function(t){return this.getAxis("x").containData(t[0])&&this.getAxis("y").containData(t[1])},dataToPoint:function(t,e,i){var n=this.getAxis("x"),o=this.getAxis("y");return i=i||[],i[0]=n.toGlobalCoord(n.dataToCoord(t[0])),i[1]=o.toGlobalCoord(o.dataToCoord(t[1])),i},clampData:function(t,e){var i=this.getAxis("x").scale,n=this.getAxis("y").scale,o=i.getExtent(),a=n.getExtent(),r=i.parse(t[0]),s=n.parse(t[1]);return e=e||[],e[0]=Math.min(Math.max(Math.min(o[0],o[1]),r),Math.max(o[0],o[1])),e[1]=Math.min(Math.max(Math.min(a[0],a[1]),s),Math.max(a[0],a[1])),e},pointToData:function(t,e){var i=this.getAxis("x"),n=this.getAxis("y");return e=e||[],e[0]=i.coordToData(i.toLocalCoord(t[0])),e[1]=n.coordToData(n.toLocalCoord(t[1])),e},getOtherAxis:function(t){return this.getAxis("x"===t.dim?"y":"x")}},u(Yu,pD);var gD=function(t,e,i,n,o){HA.call(this,t,e,i),this.type=n||"value",this.position=o||"bottom"};gD.prototype={constructor:gD,index:0,getAxesOnZeroOf:null,model:null,isHorizontal:function(){var t=this.position;return"top"===t||"bottom"===t},getGlobalExtent:function(t){var e=this.getExtent();return e[0]=this.toGlobalCoord(e[0]),e[1]=this.toGlobalCoord(e[1]),t&&e[0]>e[1]&&e.reverse(),e},getOtherAxis:function(){this.grid.getOtherAxis()},pointToData:function(t,e){return this.coordToData(this.toLocalCoord(t["x"===this.dim?0:1]),e)},toLocalCoord:null,toGlobalCoord:null},u(gD,HA);var mD={show:!0,zlevel:0,z:0,inverse:!1,name:"",nameLocation:"end",nameRotate:null,nameTruncate:{maxWidth:null,ellipsis:"...",placeholder:"."},nameTextStyle:{},nameGap:15,silent:!1,triggerEvent:!1,tooltip:{show:!1},axisPointer:{},axisLine:{show:!0,onZero:!0,onZeroAxisIndex:null,lineStyle:{color:"#333",width:1,type:"solid"},symbol:["none","none"],symbolSize:[10,15]},axisTick:{show:!0,inside:!1,length:5,lineStyle:{width:1}},axisLabel:{show:!0,inside:!1,rotate:0,showMinLabel:null,showMaxLabel:null,margin:8,fontSize:12},splitLine:{show:!0,lineStyle:{color:["#ccc"],width:1,type:"solid"}},splitArea:{show:!1,areaStyle:{color:["rgba(250,250,250,0.3)","rgba(200,200,200,0.3)"]}}},vD={};vD.categoryAxis=n({boundaryGap:!0,deduplication:null,splitLine:{show:!1},axisTick:{alignWithLabel:!1,interval:"auto"},axisLabel:{interval:"auto"}},mD),vD.valueAxis=n({boundaryGap:[0,0],splitNumber:5},mD),vD.timeAxis=r({scale:!0,min:"dataMin",max:"dataMax"},vD.valueAxis),vD.logAxis=r({scale:!0,logBase:10},vD.valueAxis);var yD=["value","category","time","log"],xD=function(t,e,i,a){d(yD,function(r){e.extend({type:t+"Axis."+r,mergeDefaultAndTheme:function(e,o){var a=this.layoutMode,s=a?da(e):{};n(e,o.getTheme().get(r+"Axis")),n(e,this.getDefaultOption()),e.type=i(t,e),a&&ca(e,s,a)},optionUpdated:function(){"category"===this.option.type&&(this.__ordinalMeta=ml.createByAxisModel(this))},getCategories:function(t){var e=this.option;if("category"===e.type)return t?e.data:this.__ordinalMeta.categories},getOrdinalMeta:function(){return this.__ordinalMeta},defaultOption:o([{},vD[r+"Axis"],a],!0)})}),YM.registerSubTypeDefaulter(t+"Axis",v(i,t))},_D=YM.extend({type:"cartesian2dAxis",axis:null,init:function(){_D.superApply(this,"init",arguments),this.resetRange()},mergeOption:function(){_D.superApply(this,"mergeOption",arguments),this.resetRange()},restoreData:function(){_D.superApply(this,"restoreData",arguments),this.resetRange()},getCoordSysModel:function(){return this.ecModel.queryComponents({mainType:"grid",index:this.option.gridIndex,id:this.option.gridId})[0]}});n(_D.prototype,CA);var wD={offset:0};xD("x",_D,qu,wD),xD("y",_D,qu,wD),YM.extend({type:"grid",dependencies:["xAxis","yAxis"],layoutMode:"box",coordinateSystem:null,defaultOption:{show:!1,zlevel:0,z:0,left:"10%",top:60,right:"10%",bottom:60,containLabel:!1,backgroundColor:"rgba(0,0,0,0)",borderWidth:1,borderColor:"#ccc"}});var bD=$u.prototype;bD.type="grid",bD.axisPointerEnabled=!0,bD.getRect=function(){return this._rect},bD.update=function(t,e){var i=this._axesMap;this._updateScale(t,this.model),d(i.x,function(t){Bl(t.scale,t.model)}),d(i.y,function(t){Bl(t.scale,t.model)});var n={};d(i.x,function(t){Ju(i,"y",t,n)}),d(i.y,function(t){Ju(i,"x",t,n)}),this.resize(this.model,e)},bD.resize=function(t,e,i){function n(){d(a,function(t){var e=t.isHorizontal(),i=e?[0,o.width]:[0,o.height],n=t.inverse?1:0;t.setExtent(i[n],i[1-n]),th(t,e?o.x:o.y)})}var o=la(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()});this._rect=o;var a=this._axesList;n(),!i&&t.get("containLabel")&&(d(a,function(t){if(!t.model.get("axisLabel.inside")){var e=Hl(t);if(e){var i=t.isHorizontal()?"height":"width",n=t.model.get("axisLabel.margin");o[i]-=e[i]+n,"top"===t.position?o.y+=e.height+n:"left"===t.position&&(o.x+=e.width+n)}}}),n())},bD.getAxis=function(t,e){var i=this._axesMap[t];if(null!=i){if(null==e)for(var n in i)if(i.hasOwnProperty(n))return i[n];return i[e]}},bD.getAxes=function(){return this._axesList.slice()},bD.getCartesian=function(t,e){if(null!=t&&null!=e){var i="x"+t+"y"+e;return this._coordsMap[i]}w(t)&&(e=t.yAxisIndex,t=t.xAxisIndex);for(var n=0,o=this._coordsList;n<o.length;n++)if(o[n].getAxis("x").index===t||o[n].getAxis("y").index===e)return o[n]},bD.getCartesians=function(){return this._coordsList.slice()},bD.convertToPixel=function(t,e,i){var n=this._findConvertTarget(t,e);return n.cartesian?n.cartesian.dataToPoint(i):n.axis?n.axis.toGlobalCoord(n.axis.dataToCoord(i)):null},bD.convertFromPixel=function(t,e,i){var n=this._findConvertTarget(t,e);return n.cartesian?n.cartesian.pointToData(i):n.axis?n.axis.coordToData(n.axis.toLocalCoord(i)):null},bD._findConvertTarget=function(t,e){var i,n,o=e.seriesModel,a=e.xAxisModel||o&&o.getReferringComponents("xAxis")[0],r=e.yAxisModel||o&&o.getReferringComponents("yAxis")[0],s=e.gridModel,u=this._coordsList;return o?l(u,i=o.coordinateSystem)<0&&(i=null):a&&r?i=this.getCartesian(a.componentIndex,r.componentIndex):a?n=this.getAxis("x",a.componentIndex):r?n=this.getAxis("y",r.componentIndex):s&&s.coordinateSystem===this&&(i=this._coordsList[0]),{cartesian:i,axis:n}},bD.containPoint=function(t){var e=this._coordsList[0];if(e)return e.containPoint(t)},bD._initCartesian=function(t,e,i){function n(i){return function(n,s){if(Ku(n,t,e)){var l=n.get("position");"x"===i?"top"!==l&&"bottom"!==l&&o[l="bottom"]&&(l="top"===l?"bottom":"top"):"left"!==l&&"right"!==l&&o[l="left"]&&(l="left"===l?"right":"left"),o[l]=!0;var u=new gD(i,Vl(n),[0,0],n.get("type"),l),h="category"===u.type;u.onBand=h&&n.get("boundaryGap"),u.inverse=n.get("inverse"),n.axis=u,u.model=n,u.grid=this,u.index=s,this._axesList.push(u),a[i][s]=u,r[i]++}}}var o={left:!1,right:!1,top:!1,bottom:!1},a={x:{},y:{}},r={x:0,y:0};if(e.eachComponent("xAxis",n("x"),this),e.eachComponent("yAxis",n("y"),this),!r.x||!r.y)return this._axesMap={},void(this._axesList=[]);this._axesMap=a,d(a.x,function(e,i){d(a.y,function(n,o){var a="x"+i+"y"+o,r=new Yu(a);r.grid=this,r.model=t,this._coordsMap[a]=r,this._coordsList.push(r),r.addAxis(e),r.addAxis(n)},this)},this)},bD._updateScale=function(t,e){function i(t,e,i){d(t.mapDimension(e.dim,!0),function(i){e.scale.unionExtentFromData(t,cl(t,i))})}d(this._axesList,function(t){t.scale.setExtent(1/0,-1/0)}),t.eachSeries(function(n){if(ih(n)){var o=eh(n),a=o[0],r=o[1];if(!Ku(a,e,t)||!Ku(r,e,t))return;var s=this.getCartesian(a.componentIndex,r.componentIndex),l=n.getData(),u=s.getAxis("x"),h=s.getAxis("y");"list"===l.type&&(i(l,u),i(l,h))}},this)},bD.getTooltipAxes=function(t){var e=[],i=[];return d(this.getCartesians(),function(n){var o=null!=t&&"auto"!==t?n.getAxis(t):n.getBaseAxis(),a=n.getOtherAxis(o);l(e,o)<0&&e.push(o),l(i,a)<0&&i.push(a)}),{baseAxes:e,otherAxes:i}};var SD=["xAxis","yAxis"];$u.create=function(t,e){var i=[];return t.eachComponent("grid",function(n,o){var a=new $u(n,t,e);a.name="grid_"+o,a.resize(n,e,!0),n.coordinateSystem=a,i.push(a)}),t.eachSeries(function(t){if(ih(t)){var e=eh(t),i=e[0],n=e[1],o=i.getCoordSysModel().coordinateSystem;t.coordinateSystem=o.getCartesian(i.componentIndex,n.componentIndex)}}),i},$u.dimensions=$u.prototype.dimensions=Yu.prototype.dimensions,Ba.register("cartesian2d",$u);var MD=Math.PI,ID=function(t,e){this.opt=e,this.axisModel=t,r(e,{labelOffset:0,nameDirection:1,tickDirection:1,labelDirection:1,silent:!0}),this.group=new Zw;var i=new Zw({position:e.position.slice(),rotation:e.rotation});i.updateTransform(),this._transform=i.transform,this._dumbGroup=i};ID.prototype={constructor:ID,hasBuilder:function(t){return!!TD[t]},add:function(t){TD[t].call(this)},getGroup:function(){return this.group}};var TD={axisLine:function(){var t=this.opt,e=this.axisModel;if(e.get("axisLine.show")){var i=this.axisModel.axis.getExtent(),n=this._transform,o=[i[0],0],r=[i[1],0];n&&(Q(o,o,n),Q(r,r,n));var s=a({lineCap:"round"},e.getModel("axisLine.lineStyle").getLineStyle());this.group.add(new rM(Xn({anid:"line",shape:{x1:o[0],y1:o[1],x2:r[0],y2:r[1]},style:s,strokeContainThreshold:t.strokeContainThreshold||5,silent:!0,z2:1})));var l=e.get("axisLine.symbol"),u=e.get("axisLine.symbolSize"),h=e.get("axisLine.symbolOffset")||0;if("number"==typeof h&&(h=[h,h]),null!=l){"string"==typeof l&&(l=[l,l]),"string"!=typeof u&&"number"!=typeof u||(u=[u,u]);var c=u[0],f=u[1];d([{rotate:t.rotation+Math.PI/2,offset:h[0],r:0},{rotate:t.rotation-Math.PI/2,offset:h[1],r:Math.sqrt((o[0]-r[0])*(o[0]-r[0])+(o[1]-r[1])*(o[1]-r[1]))}],function(e,i){if("none"!==l[i]&&null!=l[i]){var n=Xl(l[i],-c/2,-f/2,c,f,s.stroke,!0),a=e.r+e.offset,r=[o[0]+a*Math.cos(t.rotation),o[1]-a*Math.sin(t.rotation)];n.attr({rotation:e.rotate,position:r,silent:!0}),this.group.add(n)}},this)}}},axisTickLabel:function(){var t=this.axisModel,e=this.opt,i=hh(this,t,e);rh(t,ch(this,t,e),i)},axisName:function(){var t=this.opt,e=this.axisModel,i=T(t.axisName,e.get("name"));if(i){var n,o=e.get("nameLocation"),r=t.nameDirection,s=e.getModel("nameTextStyle"),l=e.get("nameGap")||0,u=this.axisModel.axis.getExtent(),h=u[0]>u[1]?-1:1,c=["start"===o?u[0]-h*l:"end"===o?u[1]+h*l:(u[0]+u[1])/2,uh(o)?t.labelOffset+r*l:0],d=e.get("nameRotate");null!=d&&(d=d*MD/180);var f;uh(o)?n=AD(t.rotation,null!=d?d:t.rotation,r):(n=oh(t,o,d||0,u),null!=(f=t.axisNameAvailableWidth)&&(f=Math.abs(f/Math.sin(n.rotation)),!isFinite(f)&&(f=null)));var p=s.getFont(),g=e.get("nameTruncate",!0)||{},m=g.ellipsis,v=T(t.nameTruncateMaxWidth,g.maxWidth,f),y=null!=m&&null!=v?VM(i,v,p,m,{minChar:2,placeholder:g.placeholder}):i,x=e.get("tooltip",!0),_=e.mainType,w={componentType:_,name:i,$vars:["name"]};w[_+"Index"]=e.componentIndex;var b=new qS({anid:"name",__fullText:i,__truncatedText:y,position:c,rotation:n.rotation,silent:ah(e),z2:1,tooltip:x&&x.show?a({content:i,formatter:function(){return i},formatterParams:w},x):null});fo(b.style,s,{text:y,textFont:p,textFill:s.getTextColor()||e.get("axisLine.lineStyle.color"),textAlign:n.textAlign,textVerticalAlign:n.textVerticalAlign}),e.get("triggerEvent")&&(b.eventData=nh(e),b.eventData.targetType="axisName",b.eventData.name=i),this._dumbGroup.add(b),b.updateTransform(),this.group.add(b),b.decomposeTransform()}}},AD=ID.innerTextLayout=function(t,e,i){var n,o,a=Ho(e-t);return Zo(a)?(o=i>0?"top":"bottom",n="center"):Zo(a-MD)?(o=i>0?"bottom":"top",n="center"):(o="middle",n=a>0&&a<MD?i>0?"right":"left":i>0?"left":"right"),{rotation:a,textAlign:n,textVerticalAlign:o}},DD=d,CD=v,LD=Vs({type:"axis",_axisPointer:null,axisPointerClass:null,render:function(t,e,i,n){this.axisPointerClass&&yh(t),LD.superApply(this,"render",arguments),Sh(this,t,0,i,0,!0)},updateAxisPointer:function(t,e,i,n,o){Sh(this,t,0,i,0,!1)},remove:function(t,e){var i=this._axisPointer;i&&i.remove(e),LD.superApply(this,"remove",arguments)},dispose:function(t,e){Mh(this,e),LD.superApply(this,"dispose",arguments)}}),kD=[];LD.registerAxisPointerClass=function(t,e){kD[t]=e},LD.getAxisPointerClass=function(t){return t&&kD[t]};var PD=["axisLine","axisTickLabel","axisName"],ND=["splitArea","splitLine"],OD=LD.extend({type:"cartesianAxis",axisPointerClass:"CartesianAxisPointer",render:function(t,e,i,n){this.group.removeAll();var o=this._axisGroup;if(this._axisGroup=new Zw,this.group.add(this._axisGroup),t.get("show")){var a=t.getCoordSysModel(),r=Ih(a,t),s=new ID(t,r);d(PD,s.add,s),this._axisGroup.add(s.getGroup()),d(ND,function(e){t.get(e+".show")&&this["_"+e](t,a)},this),Ao(o,this._axisGroup,t),OD.superCall(this,"render",t,e,i,n)}},remove:function(){this._splitAreaColors=null},_splitLine:function(t,e){var i=t.axis;if(!i.scale.isBlank()){var n=t.getModel("splitLine"),o=n.getModel("lineStyle"),a=o.get("color");a=y(a)?a:[a];for(var s=e.coordinateSystem.getRect(),l=i.isHorizontal(),u=0,h=i.getTicksCoords({tickModel:n}),c=[],d=[],f=o.getLineStyle(),p=0;p<h.length;p++){var g=i.toGlobalCoord(h[p].coord);l?(c[0]=g,c[1]=s.y,d[0]=g,d[1]=s.y+s.height):(c[0]=s.x,c[1]=g,d[0]=s.x+s.width,d[1]=g);var m=u++%a.length,v=h[p].tickValue;this._axisGroup.add(new rM(Xn({anid:null!=v?"line_"+h[p].tickValue:null,shape:{x1:c[0],y1:c[1],x2:d[0],y2:d[1]},style:r({stroke:a[m]},f),silent:!0})))}}},_splitArea:function(t,e){var i=t.axis;if(!i.scale.isBlank()){var n=t.getModel("splitArea"),o=n.getModel("areaStyle"),a=o.get("color"),s=e.coordinateSystem.getRect(),l=i.getTicksCoords({tickModel:n,clamp:!0});if(l.length){var u=a.length,h=this._splitAreaColors,c=R(),d=0;if(h)for(m=0;m<l.length;m++){var f=h.get(l[m].tickValue);if(null!=f){d=(f+(u-1)*m)%u;break}}var p=i.toGlobalCoord(l[0].coord),g=o.getAreaStyle();a=y(a)?a:[a];for(var m=1;m<l.length;m++){var v,x,_,w,b=i.toGlobalCoord(l[m].coord);i.isHorizontal()?(v=p,x=s.y,_=b-v,w=s.height,p=v+_):(v=s.x,x=p,_=s.width,p=x+(w=b-x));var S=l[m-1].tickValue;null!=S&&c.set(S,d),this._axisGroup.add(new aM({anid:null!=S?"area_"+S:null,shape:{x:v,y:x,width:_,height:w},style:r({fill:a[d]},g),silent:!0})),d=(d+1)%u}this._splitAreaColors=c}}}});OD.extend({type:"xAxis"}),OD.extend({type:"yAxis"}),Vs({type:"grid",render:function(t,e){this.group.removeAll(),t.get("show")&&this.group.add(new aM({shape:t.coordinateSystem.getRect(),style:r({fill:t.get("backgroundColor")},t.getItemStyle()),silent:!0,z2:-1}))}}),Ls(function(t){t.xAxis&&t.yAxis&&!t.grid&&(t.grid={})}),Es(hD("line","circle","line")),Os(cD("line")),ks(IT.PROCESSOR.STATISTIC,function(t){return{seriesType:t,modifyOutputEnd:!0,reset:function(t,e,i){var n=t.getData(),o=t.get("sampling"),a=t.coordinateSystem;if("cartesian2d"===a.type&&o){var r=a.getBaseAxis(),s=a.getOtherAxis(r),l=r.getExtent(),u=l[1]-l[0],h=Math.round(n.count()/u);if(h>1){var c;"string"==typeof o?c=dD[o]:"function"==typeof o&&(c=o),c&&t.setData(n.downSample(n.mapDimension(s.dim),1/h,c,fD))}}}}}("line"));var ED=OI.extend({type:"series.__base_bar__",getInitialData:function(t,e){return dl(this.getSource(),this)},getMarkerPosition:function(t){var e=this.coordinateSystem;if(e){var i=e.dataToPoint(e.clampData(t)),n=this.getData(),o=n.getLayout("offset"),a=n.getLayout("size");return i[e.getBaseAxis().isHorizontal()?0:1]+=o+a/2,i}return[NaN,NaN]},defaultOption:{zlevel:0,z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,barMinHeight:0,barMinAngle:0,large:!1,largeThreshold:400,progressive:3e3,progressiveChunkMode:"mod",itemStyle:{},emphasis:{}}});ED.extend({type:"series.bar",dependencies:["grid","polar"],brushSelector:"rect",getProgressive:function(){return!!this.get("large")&&this.get("progressive")},getProgressiveThreshold:function(){var t=this.get("progressiveThreshold"),e=this.get("largeThreshold");return e>t&&(t=e),t}});var RD=Wb([["fill","color"],["stroke","borderColor"],["lineWidth","borderWidth"],["stroke","barBorderColor"],["lineWidth","barBorderWidth"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]),zD={getBarItemStyle:function(t){var e=RD(this,t);if(this.getBorderLineDash){var i=this.getBorderLineDash();i&&(e.lineDash=i)}return e}},BD=["itemStyle","barBorderWidth"];a(Lo.prototype,zD),Fs({type:"bar",render:function(t,e,i){this._updateDrawMode(t);var n=t.get("coordinateSystem");return"cartesian2d"!==n&&"polar"!==n||(this._isLargeDraw?this._renderLarge(t,e,i):this._renderNormal(t,e,i)),this.group},incrementalPrepareRender:function(t,e,i){this._clear(),this._updateDrawMode(t)},incrementalRender:function(t,e,i,n){this._incrementalRenderLarge(t,e)},_updateDrawMode:function(t){var e=t.pipelineContext.large;(null==this._isLargeDraw||e^this._isLargeDraw)&&(this._isLargeDraw=e,this._clear())},_renderNormal:function(t,e,i){var n,o=this.group,a=t.getData(),r=this._data,s=t.coordinateSystem,l=s.getBaseAxis();"cartesian2d"===s.type?n=l.isHorizontal():"polar"===s.type&&(n="angle"===l.dim);var u=t.isAnimationEnabled()?t:null;a.diff(r).add(function(e){if(a.hasValue(e)){var i=a.getItemModel(e),r=GD[s.type](a,e,i),l=VD[s.type](a,e,i,r,n,u);a.setItemGraphicEl(e,l),o.add(l),Lh(l,a,e,i,r,t,n,"polar"===s.type)}}).update(function(e,i){var l=r.getItemGraphicEl(i);if(a.hasValue(e)){var h=a.getItemModel(e),c=GD[s.type](a,e,h);l?bo(l,{shape:c},u,e):l=VD[s.type](a,e,h,c,n,u,!0),a.setItemGraphicEl(e,l),o.add(l),Lh(l,a,e,h,c,t,n,"polar"===s.type)}else o.remove(l)}).remove(function(t){var e=r.getItemGraphicEl(t);"cartesian2d"===s.type?e&&Dh(t,u,e):e&&Ch(t,u,e)}).execute(),this._data=a},_renderLarge:function(t,e,i){this._clear(),Ph(t,this.group)},_incrementalRenderLarge:function(t,e){Ph(e,this.group,!0)},dispose:B,remove:function(t){this._clear(t)},_clear:function(t){var e=this.group,i=this._data;t&&t.get("animation")&&i&&!this._isLargeDraw?i.eachItemGraphicEl(function(e){"sector"===e.type?Ch(e.dataIndex,t,e):Dh(e.dataIndex,t,e)}):e.removeAll(),this._data=null}});var VD={cartesian2d:function(t,e,i,n,o,r,s){var l=new aM({shape:a({},n)});if(r){var u=l.shape,h=o?"height":"width",c={};u[h]=0,c[h]=n[h],bM[s?"updateProps":"initProps"](l,{shape:c},r,e)}return l},polar:function(t,e,i,n,o,a,s){var l=n.startAngle<n.endAngle,u=new QS({shape:r({clockwise:l},n)});if(a){var h=u.shape,c=o?"r":"endAngle",d={};h[c]=o?0:n.startAngle,d[c]=n[c],bM[s?"updateProps":"initProps"](u,{shape:d},a,e)}return u}},GD={cartesian2d:function(t,e,i){var n=t.getItemLayout(e),o=kh(i,n),a=n.width>0?1:-1,r=n.height>0?1:-1;return{x:n.x+a*o/2,y:n.y+r*o/2,width:n.width-a*o,height:n.height-r*o}},polar:function(t,e,i){var n=t.getItemLayout(e);return{cx:n.cx,cy:n.cy,r0:n.r0,r:n.r,startAngle:n.startAngle,endAngle:n.endAngle}}},FD=kn.extend({type:"largeBar",shape:{points:[]},buildPath:function(t,e){for(var i=e.points,n=this.__startPoint,o=this.__valueIdx,a=0;a<i.length;a+=2)n[this.__valueIdx]=i[a+o],t.moveTo(n[0],n[1]),t.lineTo(i[a],i[a+1])}});Os(v(kl,"bar")),Os(fA),Es({seriesType:"bar",reset:function(t){t.getData().setVisual("legendSymbol","roundRect")}});var WD=function(t,e,i){e=y(e)&&{coordDimensions:e}||a({},e);var n=t.getSource(),o=oA(n,e),r=new eA(o,t);return r.initData(n,i),r},HD={updateSelectedMap:function(t){this._targetList=y(t)?t.slice():[],this._selectTargetMap=p(t||[],function(t,e){return t.set(e.name,e),t},R())},select:function(t,e){var i=null!=e?this._targetList[e]:this._selectTargetMap.get(t);"single"===this.get("selectedMode")&&this._selectTargetMap.each(function(t){t.selected=!1}),i&&(i.selected=!0)},unSelect:function(t,e){var i=null!=e?this._targetList[e]:this._selectTargetMap.get(t);i&&(i.selected=!1)},toggleSelected:function(t,e){var i=null!=e?this._targetList[e]:this._selectTargetMap.get(t);if(null!=i)return this[i.selected?"unSelect":"select"](t,e),i.selected},isSelected:function(t,e){var i=null!=e?this._targetList[e]:this._selectTargetMap.get(t);return i&&i.selected}},ZD=Gs({type:"series.pie",init:function(t){ZD.superApply(this,"init",arguments),this.legendDataProvider=function(){return this.getRawData()},this.updateSelectedMap(this._createSelectableList()),this._defaultLabelLine(t)},mergeOption:function(t){ZD.superCall(this,"mergeOption",t),this.updateSelectedMap(this._createSelectableList())},getInitialData:function(t,e){return WD(this,["value"])},_createSelectableList:function(){for(var t=this.getRawData(),e=t.mapDimension("value"),i=[],n=0,o=t.count();n<o;n++)i.push({name:t.getName(n),value:t.get(e,n),selected:cr(t,n,"selected")});return i},getDataParams:function(t){var e=this.getData(),i=ZD.superCall(this,"getDataParams",t),n=[];return e.each(e.mapDimension("value"),function(t){n.push(t)}),i.percent=Wo(n,t,e.hostModel.get("percentPrecision")),i.$vars.push("percent"),i},_defaultLabelLine:function(t){Ci(t,"labelLine",["show"]);var e=t.labelLine,i=t.emphasis.labelLine;e.show=e.show&&t.label.show,i.show=i.show&&t.emphasis.label.show},defaultOption:{zlevel:0,z:2,legendHoverLink:!0,hoverAnimation:!0,center:["50%","50%"],radius:[0,"75%"],clockwise:!0,startAngle:90,minAngle:0,selectedOffset:10,hoverOffset:10,avoidLabelOverlap:!0,percentPrecision:2,stillShowZeroSum:!0,label:{rotate:!1,show:!0,position:"outer"},labelLine:{show:!0,length:15,length2:15,smooth:!1,lineStyle:{width:1,type:"solid"}},itemStyle:{borderWidth:1},animationType:"expansion",animationEasing:"cubicOut"}});h(ZD,HD);var UD=Rh.prototype;UD.updateData=function(t,e,i){function n(){s.stopAnimation(!0),s.animateTo({shape:{r:h.r+l.get("hoverOffset")}},300,"elasticOut")}function o(){s.stopAnimation(!0),s.animateTo({shape:{r:h.r}},300,"elasticOut")}var s=this.childAt(0),l=t.hostModel,u=t.getItemModel(e),h=t.getItemLayout(e),c=a({},h);c.label=null,i?(s.setShape(c),"scale"===l.getShallow("animationType")?(s.shape.r=h.r0,So(s,{shape:{r:h.r}},l,e)):(s.shape.endAngle=h.startAngle,bo(s,{shape:{endAngle:h.endAngle}},l,e))):bo(s,{shape:c},l,e);var d=t.getItemVisual(e,"color");s.useStyle(r({lineJoin:"bevel",fill:d},u.getModel("itemStyle").getItemStyle())),s.hoverStyle=u.getModel("emphasis.itemStyle").getItemStyle();var f=u.getShallow("cursor");f&&s.attr("cursor",f),Eh(this,t.getItemLayout(e),l.isSelected(null,e),l.get("selectedOffset"),l.get("animation")),s.off("mouseover").off("mouseout").off("emphasis").off("normal"),u.get("hoverAnimation")&&l.isAnimationEnabled()&&s.on("mouseover",n).on("mouseout",o).on("emphasis",n).on("normal",o),this._updateLabel(t,e),uo(this)},UD._updateLabel=function(t,e){var i=this.childAt(1),n=this.childAt(2),o=t.hostModel,a=t.getItemModel(e),r=t.getItemLayout(e).label,s=t.getItemVisual(e,"color");bo(i,{shape:{points:r.linePoints||[[r.x,r.y],[r.x,r.y],[r.x,r.y]]}},o,e),bo(n,{style:{x:r.x,y:r.y}},o,e),n.attr({rotation:r.rotation,origin:[r.x,r.y],z2:10});var l=a.getModel("label"),u=a.getModel("emphasis.label"),h=a.getModel("labelLine"),c=a.getModel("emphasis.labelLine"),s=t.getItemVisual(e,"color");co(n.style,n.hoverStyle={},l,u,{labelFetcher:t.hostModel,labelDataIndex:e,defaultText:t.getName(e),autoColor:s,useInsideStyle:!!r.inside},{textAlign:r.textAlign,textVerticalAlign:r.verticalAlign,opacity:t.getItemVisual(e,"opacity")}),n.ignore=n.normalIgnore=!l.get("show"),n.hoverIgnore=!u.get("show"),i.ignore=i.normalIgnore=!h.get("show"),i.hoverIgnore=!c.get("show"),i.setStyle({stroke:s,opacity:t.getItemVisual(e,"opacity")}),i.setStyle(h.getModel("lineStyle").getLineStyle()),i.hoverStyle=c.getModel("lineStyle").getLineStyle();var d=h.get("smooth");d&&!0===d&&(d=.4),i.setShape({smooth:d})},u(Rh,Zw);Mr.extend({type:"pie",init:function(){var t=new Zw;this._sectorGroup=t},render:function(t,e,i,n){if(!n||n.from!==this.uid){var o=t.getData(),a=this._data,r=this.group,s=e.get("animation"),l=!a,u=t.get("animationType"),h=v(Oh,this.uid,t,s,i),c=t.get("selectedMode");if(o.diff(a).add(function(t){var e=new Rh(o,t);l&&"scale"!==u&&e.eachChild(function(t){t.stopAnimation(!0)}),c&&e.on("click",h),o.setItemGraphicEl(t,e),r.add(e)}).update(function(t,e){var i=a.getItemGraphicEl(e);i.updateData(o,t),i.off("click"),c&&i.on("click",h),r.add(i),o.setItemGraphicEl(t,i)}).remove(function(t){var e=a.getItemGraphicEl(t);r.remove(e)}).execute(),s&&l&&o.count()>0&&"scale"!==u){var d=o.getItemLayout(0),f=Math.max(i.getWidth(),i.getHeight())/2,p=m(r.removeClipPath,r);r.setClipPath(this._createClipPath(d.cx,d.cy,f,d.startAngle,d.clockwise,p,t))}else r.removeClipPath();this._data=o}},dispose:function(){},_createClipPath:function(t,e,i,n,o,a,r){var s=new QS({shape:{cx:t,cy:e,r0:0,r:i,startAngle:n,endAngle:n,clockwise:o}});return So(s,{shape:{endAngle:n+(o?1:-1)*Math.PI*2}},r,a),s},containPoint:function(t,e){var i=e.getData().getItemLayout(0);if(i){var n=t[0]-i.cx,o=t[1]-i.cy,a=Math.sqrt(n*n+o*o);return a<=i.r&&a>=i.r0}}});var XD=function(t,e){d(e,function(e){e.update="updateView",Ps(e,function(i,n){var o={};return n.eachComponent({mainType:"series",subType:t,query:i},function(t){t[e.method]&&t[e.method](i.name,i.dataIndex);var n=t.getData();n.each(function(e){var i=n.getName(e);o[i]=t.isSelected(i)||!1})}),{name:i.name,selected:o}})})},jD=function(t){return{getTargetSeries:function(e){var i={},n=R();return e.eachSeriesByType(t,function(t){t.__paletteScope=i,n.set(t.uid,t)}),n},reset:function(t,e){var i=t.getRawData(),n={},o=t.getData();o.each(function(t){var e=o.getRawIndex(t);n[e]=t}),i.each(function(e){var a=n[e],r=null!=a&&o.getItemVisual(a,"color",!0);if(r)i.setItemVisual(e,"color",r);else{var s=i.getItemModel(e).get("itemStyle.color")||t.getColorFromPalette(i.getName(e)||e+"",t.__paletteScope,i.count());i.setItemVisual(e,"color",s),null!=a&&o.setItemVisual(a,"color",s)}})}}},YD=function(t,e,i,n){var o,a,r=t.getData(),s=[],l=!1;r.each(function(i){var n,u,h,c,d=r.getItemLayout(i),f=r.getItemModel(i),p=f.getModel("label"),g=p.get("position")||f.get("emphasis.label.position"),m=f.getModel("labelLine"),v=m.get("length"),y=m.get("length2"),x=(d.startAngle+d.endAngle)/2,_=Math.cos(x),w=Math.sin(x);o=d.cx,a=d.cy;var b="inside"===g||"inner"===g;if("center"===g)n=d.cx,u=d.cy,c="center";else{var S=(b?(d.r+d.r0)/2*_:d.r*_)+o,M=(b?(d.r+d.r0)/2*w:d.r*w)+a;if(n=S+3*_,u=M+3*w,!b){var I=S+_*(v+e-d.r),T=M+w*(v+e-d.r),A=I+(_<0?-1:1)*y,D=T;n=A+(_<0?-5:5),u=D,h=[[S,M],[I,T],[A,D]]}c=b?"center":_>0?"left":"right"}var C=p.getFont(),L=p.get("rotate")?_<0?-x+Math.PI:-x:0,k=De(t.getFormattedLabel(i,"normal")||r.getName(i),C,c,"top");l=!!L,d.label={x:n,y:u,position:g,height:k.height,len:v,len2:y,linePoints:h,textAlign:c,verticalAlign:"middle",rotation:L,inside:b},b||s.push(d.label)}),!l&&t.get("avoidLabelOverlap")&&Bh(s,o,a,e,i,n)},qD=2*Math.PI,KD=Math.PI/180,$D=function(t){return{seriesType:t,reset:function(t,e){var i=e.findComponents({mainType:"legend"});if(i&&i.length){var n=t.getData();n.filterSelf(function(t){for(var e=n.getName(t),o=0;o<i.length;o++)if(!i[o].isSelected(e))return!1;return!0})}}}};XD("pie",[{type:"pieToggleSelect",event:"pieselectchanged",method:"toggleSelected"},{type:"pieSelect",event:"pieselected",method:"select"},{type:"pieUnSelect",event:"pieunselected",method:"unSelect"}]),Es(jD("pie")),Os(v(function(t,e,i,n){e.eachSeriesByType(t,function(t){var e=t.getData(),n=e.mapDimension("value"),o=t.get("center"),a=t.get("radius");y(a)||(a=[0,a]),y(o)||(o=[o,o]);var r=i.getWidth(),s=i.getHeight(),l=Math.min(r,s),u=Ro(o[0],r),h=Ro(o[1],s),c=Ro(a[0],l/2),d=Ro(a[1],l/2),f=-t.get("startAngle")*KD,p=t.get("minAngle")*KD,g=0;e.each(n,function(t){!isNaN(t)&&g++});var m=e.getSum(n),v=Math.PI/(m||g)*2,x=t.get("clockwise"),_=t.get("roseType"),w=t.get("stillShowZeroSum"),b=e.getDataExtent(n);b[0]=0;var S=qD,M=0,I=f,T=x?1:-1;if(e.each(n,function(t,i){var n;if(isNaN(t))e.setItemLayout(i,{angle:NaN,startAngle:NaN,endAngle:NaN,clockwise:x,cx:u,cy:h,r0:c,r:_?NaN:d});else{(n="area"!==_?0===m&&w?v:t*v:qD/g)<p?(n=p,S-=p):M+=t;var o=I+T*n;e.setItemLayout(i,{angle:n,startAngle:I,endAngle:o,clockwise:x,cx:u,cy:h,r0:c,r:_?Eo(t,b,[c,d]):d}),I=o}}),S<qD&&g)if(S<=.001){var A=qD/g;e.each(n,function(t,i){if(!isNaN(t)){var n=e.getItemLayout(i);n.angle=A,n.startAngle=f+T*i*A,n.endAngle=f+T*(i+1)*A}})}else v=S/M,I=f,e.each(n,function(t,i){if(!isNaN(t)){var n=e.getItemLayout(i),o=n.angle===p?p:t*v;n.startAngle=I,n.endAngle=I+T*o,I+=T*o}});YD(t,d,r,s)})},"pie")),ks($D("pie")),OI.extend({type:"series.scatter",dependencies:["grid","polar","geo","singleAxis","calendar"],getInitialData:function(t,e){return dl(this.getSource(),this)},brushSelector:"point",getProgressive:function(){var t=this.option.progressive;return null==t?this.option.large?5e3:this.get("progressive"):t},getProgressiveThreshold:function(){var t=this.option.progressiveThreshold;return null==t?this.option.large?1e4:this.get("progressiveThreshold"):t},defaultOption:{coordinateSystem:"cartesian2d",zlevel:0,z:2,legendHoverLink:!0,hoverAnimation:!0,symbolSize:10,large:!1,largeThreshold:2e3,itemStyle:{opacity:.8}}});var JD=Fn({shape:{points:null},symbolProxy:null,buildPath:function(t,e){var i=e.points,n=e.size,o=this.symbolProxy,a=o.shape;if(!((t.getContext?t.getContext():t)&&n[0]<4))for(var r=0;r<i.length;){var s=i[r++],l=i[r++];isNaN(s)||isNaN(l)||(a.x=s-n[0]/2,a.y=l-n[1]/2,a.width=n[0],a.height=n[1],o.buildPath(t,a,!0))}},afterBrush:function(t){var e=this.shape,i=e.points,n=e.size;if(n[0]<4){this.setTransform(t);for(var o=0;o<i.length;){var a=i[o++],r=i[o++];isNaN(a)||isNaN(r)||t.fillRect(a-n[0]/2,r-n[1]/2,n[0],n[1])}this.restoreTransform(t)}},findDataIndex:function(t,e){for(var i=this.shape,n=i.points,o=i.size,a=Math.max(o[0],4),r=Math.max(o[1],4),s=n.length/2-1;s>=0;s--){var l=2*s,u=n[l]-a/2,h=n[l+1]-r/2;if(t>=u&&e>=h&&t<=u+a&&e<=h+r)return s}return-1}}),QD=Vh.prototype;QD.isPersistent=function(){return!this._incremental},QD.updateData=function(t){this.group.removeAll();var e=new JD({rectHover:!0,cursor:"default"});e.setShape({points:t.getLayout("symbolPoints")}),this._setCommon(e,t),this.group.add(e),this._incremental=null},QD.updateLayout=function(t){if(!this._incremental){var e=t.getLayout("symbolPoints");this.group.eachChild(function(t){if(null!=t.startIndex){var i=2*(t.endIndex-t.startIndex),n=4*t.startIndex*2;e=new Float32Array(e.buffer,n,i)}t.setShape("points",e)})}},QD.incrementalPrepareUpdate=function(t){this.group.removeAll(),this._clearIncremental(),t.count()>2e6?(this._incremental||(this._incremental=new Gn({silent:!0})),this.group.add(this._incremental)):this._incremental=null},QD.incrementalUpdate=function(t,e){var i;this._incremental?(i=new JD,this._incremental.addDisplayable(i,!0)):((i=new JD({rectHover:!0,cursor:"default",startIndex:t.start,endIndex:t.end})).incremental=!0,this.group.add(i)),i.setShape({points:e.getLayout("symbolPoints")}),this._setCommon(i,e,!!this._incremental)},QD._setCommon=function(t,e,i){var n=e.hostModel,o=e.getVisual("symbolSize");t.setShape("size",o instanceof Array?o:[o,o]),t.symbolProxy=Xl(e.getVisual("symbol"),0,0,0,0),t.setColor=t.symbolProxy.setColor;var a=t.shape.size[0]<4;t.useStyle(n.getModel("itemStyle").getItemStyle(a?["color","shadowBlur","shadowColor"]:["color"]));var r=e.getVisual("color");r&&t.setColor(r),i||(t.seriesIndex=n.seriesIndex,t.on("mousemove",function(e){t.dataIndex=null;var i=t.findDataIndex(e.offsetX,e.offsetY);i>=0&&(t.dataIndex=i+(t.startIndex||0))}))},QD.remove=function(){this._clearIncremental(),this._incremental=null,this.group.removeAll()},QD._clearIncremental=function(){var t=this._incremental;t&&t.clearDisplaybles()},Fs({type:"scatter",render:function(t,e,i){var n=t.getData();this._updateSymbolDraw(n,t).updateData(n),this._finished=!0},incrementalPrepareRender:function(t,e,i){var n=t.getData();this._updateSymbolDraw(n,t).incrementalPrepareUpdate(n),this._finished=!1},incrementalRender:function(t,e,i){this._symbolDraw.incrementalUpdate(t,e.getData()),this._finished=t.end===e.getData().count()},updateTransform:function(t,e,i){var n=t.getData();if(this.group.dirty(),!this._finished||n.count()>1e4||!this._symbolDraw.isPersistent())return{update:!0};var o=cD().reset(t);o.progress&&o.progress({start:0,end:n.count()},n),this._symbolDraw.updateLayout(n)},_updateSymbolDraw:function(t,e){var i=this._symbolDraw,n=e.pipelineContext.large;return i&&n===this._isLargeDraw||(i&&i.remove(),i=this._symbolDraw=n?new Vh:new Su,this._isLargeDraw=n,this.group.removeAll()),this.group.add(i.group),i},remove:function(t,e){this._symbolDraw&&this._symbolDraw.remove(!0),this._symbolDraw=null},dispose:function(){}}),Es(hD("scatter","circle")),Os(cD("scatter")),u(Gh,HA),Fh.prototype.getIndicatorAxes=function(){return this._indicatorAxes},Fh.prototype.dataToPoint=function(t,e){var i=this._indicatorAxes[e];return this.coordToPoint(i.dataToCoord(t),e)},Fh.prototype.coordToPoint=function(t,e){var i=this._indicatorAxes[e].angle;return[this.cx+t*Math.cos(i),this.cy-t*Math.sin(i)]},Fh.prototype.pointToData=function(t){var e=t[0]-this.cx,i=t[1]-this.cy,n=Math.sqrt(e*e+i*i);e/=n,i/=n;for(var o,a=Math.atan2(-i,e),r=1/0,s=-1,l=0;l<this._indicatorAxes.length;l++){var u=this._indicatorAxes[l],h=Math.abs(a-u.angle);h<r&&(o=u,s=l,r=h)}return[s,+(o&&o.coodToData(n))]},Fh.prototype.resize=function(t,e){var i=t.get("center"),n=e.getWidth(),o=e.getHeight(),a=Math.min(n,o)/2;this.cx=Ro(i[0],n),this.cy=Ro(i[1],o),this.startAngle=t.get("startAngle")*Math.PI/180;var r=t.get("radius");"string"!=typeof r&&"number"!=typeof r||(r=[0,r]),this.r0=Ro(r[0],a),this.r=Ro(r[1],a),d(this._indicatorAxes,function(t,e){t.setExtent(this.r0,this.r);var i=this.startAngle+e*Math.PI*2/this._indicatorAxes.length;i=Math.atan2(Math.sin(i),Math.cos(i)),t.angle=i},this)},Fh.prototype.update=function(t,e){function i(t){var e=Math.pow(10,Math.floor(Math.log(t)/Math.LN10)),i=t/e;return 2===i?i=5:i*=2,i*e}var n=this._indicatorAxes,o=this._model;d(n,function(t){t.scale.setExtent(1/0,-1/0)}),t.eachSeriesByType("radar",function(e,i){if("radar"===e.get("coordinateSystem")&&t.getComponent("radar",e.get("radarIndex"))===o){var a=e.getData();d(n,function(t){t.scale.unionExtentFromData(a,a.mapDimension(t.dim))})}},this);var a=o.get("splitNumber");d(n,function(t,e){var n=Rl(t.scale,t.model);Bl(t.scale,t.model);var o=t.model,r=t.scale,s=o.getMin(),l=o.getMax(),u=r.getInterval();if(null!=s&&null!=l)r.setExtent(+s,+l),r.setInterval((l-s)/a);else if(null!=s){var h;do{h=s+u*a,r.setExtent(+s,h),r.setInterval(u),u=i(u)}while(h<n[1]&&isFinite(h)&&isFinite(n[1]))}else if(null!=l){var c;do{c=l-u*a,r.setExtent(c,+l),r.setInterval(u),u=i(u)}while(c>n[0]&&isFinite(c)&&isFinite(n[0]))}else{r.getTicks().length-1>a&&(u=i(u));var d=Math.round((n[0]+n[1])/2/u)*u,f=Math.round(a/2);r.setExtent(zo(d-f*u),zo(d+(a-f)*u)),r.setInterval(u)}})},Fh.dimensions=[],Fh.create=function(t,e){var i=[];return t.eachComponent("radar",function(n){var o=new Fh(n,t,e);i.push(o),n.coordinateSystem=o}),t.eachSeriesByType("radar",function(t){"radar"===t.get("coordinateSystem")&&(t.coordinateSystem=i[t.get("radarIndex")||0])}),i},Ba.register("radar",Fh);var tC=vD.valueAxis,eC=(Bs({type:"radar",optionUpdated:function(){var t=this.get("boundaryGap"),e=this.get("splitNumber"),o=this.get("scale"),s=this.get("axisLine"),l=this.get("axisTick"),u=this.get("axisLabel"),h=this.get("name"),c=this.get("name.show"),d=this.get("name.formatter"),p=this.get("nameGap"),g=this.get("triggerEvent"),m=f(this.get("indicator")||[],function(f){null!=f.max&&f.max>0&&!f.min?f.min=0:null!=f.min&&f.min<0&&!f.max&&(f.max=0);var m=h;if(null!=f.color&&(m=r({color:f.color},h)),f=n(i(f),{boundaryGap:t,splitNumber:e,scale:o,axisLine:s,axisTick:l,axisLabel:u,name:f.text,nameLocation:"end",nameGap:p,nameTextStyle:m,triggerEvent:g},!1),c||(f.name=""),"string"==typeof d){var v=f.name;f.name=d.replace("{value}",null!=v?v:"")}else"function"==typeof d&&(f.name=d(f.name,f));var y=a(new Lo(f,null,this.ecModel),CA);return y.mainType="radar",y.componentIndex=this.componentIndex,y},this);this.getIndicatorModels=function(){return m}},defaultOption:{zlevel:0,z:0,center:["50%","50%"],radius:"75%",startAngle:90,name:{show:!0},boundaryGap:[0,0],splitNumber:5,nameGap:15,scale:!1,shape:"polygon",axisLine:n({lineStyle:{color:"#bbb"}},tC.axisLine),axisLabel:Wh(tC.axisLabel,!1),axisTick:Wh(tC.axisTick,!1),splitLine:Wh(tC.splitLine,!0),splitArea:Wh(tC.splitArea,!0),indicator:[]}}),["axisLine","axisTickLabel","axisName"]);Vs({type:"radar",render:function(t,e,i){this.group.removeAll(),this._buildAxes(t),this._buildSplitLineAndArea(t)},_buildAxes:function(t){var e=t.coordinateSystem;d(f(e.getIndicatorAxes(),function(t){return new ID(t.model,{position:[e.cx,e.cy],rotation:t.angle,labelDirection:-1,tickDirection:-1,nameDirection:1})}),function(t){d(eC,t.add,t),this.group.add(t.getGroup())},this)},_buildSplitLineAndArea:function(t){function e(t,e,i){var n=i%e.length;return t[n]=t[n]||[],n}var i=t.coordinateSystem,n=i.getIndicatorAxes();if(n.length){var o=t.get("shape"),a=t.getModel("splitLine"),s=t.getModel("splitArea"),l=a.getModel("lineStyle"),u=s.getModel("areaStyle"),h=a.get("show"),c=s.get("show"),p=l.get("color"),g=u.get("color");p=y(p)?p:[p],g=y(g)?g:[g];var m=[],v=[];if("circle"===o)for(var x=n[0].getTicksCoords(),_=i.cx,w=i.cy,b=0;b<x.length;b++)h&&m[D=e(m,p,b)].push(new KS({shape:{cx:_,cy:w,r:x[b].coord}})),c&&b<x.length-1&&v[D=e(v,g,b)].push(new tM({shape:{cx:_,cy:w,r0:x[b].coord,r:x[b+1].coord}}));else for(var S,M=f(n,function(t,e){var n=t.getTicksCoords();return S=null==S?n.length-1:Math.min(n.length-1,S),f(n,function(t){return i.coordToPoint(t.coord,e)})}),I=[],b=0;b<=S;b++){for(var T=[],A=0;A<n.length;A++)T.push(M[A][b]);if(T[0]&&T.push(T[0].slice()),h&&m[D=e(m,p,b)].push(new oM({shape:{points:T}})),c&&I){var D=e(v,g,b-1);v[D].push(new nM({shape:{points:T.concat(I)}}))}I=T.slice().reverse()}var C=l.getLineStyle(),L=u.getAreaStyle();d(v,function(t,e){this.group.add(xM(t,{style:r({stroke:"none",fill:g[e%g.length]},L),silent:!0}))},this),d(m,function(t,e){this.group.add(xM(t,{style:r({fill:"none",stroke:p[e%p.length]},C),silent:!0}))},this)}}});var iC=OI.extend({type:"series.radar",dependencies:["radar"],init:function(t){iC.superApply(this,"init",arguments),this.legendDataProvider=function(){return this.getRawData()}},getInitialData:function(t,e){return WD(this,{generateCoord:"indicator_",generateCoordCount:1/0})},formatTooltip:function(t){var e=this.getData(),i=this.coordinateSystem.getIndicatorAxes(),n=this.getData().getName(t);return Qo(""===n?this.name:n)+"<br/>"+f(i,function(i,n){var o=e.get(e.mapDimension(i.dim),t);return Qo(i.name+" : "+o)}).join("<br />")},defaultOption:{zlevel:0,z:2,coordinateSystem:"radar",legendHoverLink:!0,radarIndex:0,lineStyle:{width:2,type:"solid"},label:{position:"top"},symbol:"emptyCircle",symbolSize:4}});Fs({type:"radar",render:function(t,e,n){function o(t,e){var i=t.getItemVisual(e,"symbol")||"circle",n=t.getItemVisual(e,"color");if("none"!==i){var o=Hh(t.getItemVisual(e,"symbolSize")),a=Xl(i,-1,-1,2,2,n);return a.attr({style:{strokeNoScale:!0},z2:100,scale:[o[0]/2,o[1]/2]}),a}}function a(e,i,n,a,r,s){n.removeAll();for(var l=0;l<i.length-1;l++){var u=o(a,r);u&&(u.__dimIdx=l,e[l]?(u.attr("position",e[l]),bM[s?"initProps":"updateProps"](u,{position:i[l]},t,r)):u.attr("position",i[l]),n.add(u))}}function s(t){return f(t,function(t){return[l.cx,l.cy]})}var l=t.coordinateSystem,u=this.group,h=t.getData(),c=this._data;h.diff(c).add(function(e){var i=h.getItemLayout(e);if(i){var n=new nM,o=new oM,r={shape:{points:i}};n.shape.points=s(i),o.shape.points=s(i),So(n,r,t,e),So(o,r,t,e);var l=new Zw,u=new Zw;l.add(o),l.add(n),l.add(u),a(o.shape.points,i,u,h,e,!0),h.setItemGraphicEl(e,l)}}).update(function(e,i){var n=c.getItemGraphicEl(i),o=n.childAt(0),r=n.childAt(1),s=n.childAt(2),l={shape:{points:h.getItemLayout(e)}};l.shape.points&&(a(o.shape.points,l.shape.points,s,h,e,!1),bo(o,l,t),bo(r,l,t),h.setItemGraphicEl(e,n))}).remove(function(t){u.remove(c.getItemGraphicEl(t))}).execute(),h.eachItemGraphicEl(function(t,e){function n(){l.attr("ignore",m)}function o(){l.attr("ignore",g)}var a=h.getItemModel(e),s=t.childAt(0),l=t.childAt(1),c=t.childAt(2),d=h.getItemVisual(e,"color");u.add(t),s.useStyle(r(a.getModel("lineStyle").getLineStyle(),{fill:"none",stroke:d})),s.hoverStyle=a.getModel("emphasis.lineStyle").getLineStyle();var f=a.getModel("areaStyle"),p=a.getModel("emphasis.areaStyle"),g=f.isEmpty()&&f.parentModel.isEmpty(),m=p.isEmpty()&&p.parentModel.isEmpty();m=m&&g,l.ignore=g,l.useStyle(r(f.getAreaStyle(),{fill:d,opacity:.7})),l.hoverStyle=p.getAreaStyle();var v=a.getModel("itemStyle").getItemStyle(["color"]),y=a.getModel("emphasis.itemStyle").getItemStyle(),x=a.getModel("label"),_=a.getModel("emphasis.label");c.eachChild(function(t){t.setStyle(v),t.hoverStyle=i(y),co(t.style,t.hoverStyle,x,_,{labelFetcher:h.hostModel,labelDataIndex:e,labelDimIndex:t.__dimIdx,defaultText:h.get(h.dimensions[t.__dimIdx],e),autoColor:d,isRectText:!0})}),t.off("mouseover").off("mouseout").off("normal").off("emphasis"),t.on("emphasis",n).on("mouseover",n).on("normal",o).on("mouseout",o),uo(t)}),this._data=h},remove:function(){this.group.removeAll(),this._data=null},dispose:function(){}});Es(jD("radar")),Es(hD("radar","circle")),Os(function(t){t.eachSeriesByType("radar",function(t){var e=t.getData(),i=[],n=t.coordinateSystem;if(n){for(var o=n.getIndicatorAxes(),a=0;a<o.length;a++)e.each(e.mapDimension(o[a].dim),function(t,e){i[e]=i[e]||[],i[e][a]=n.dataToPoint(t,a)});e.each(function(t){i[t][0]&&i[t].push(i[t][0].slice()),e.setItemLayout(t,i[t])})}})}),ks($D("radar")),Ls(function(t){var e=t.polar;if(e){y(e)||(e=[e]);var i=[];d(e,function(e,n){e.indicator?(e.type&&!e.shape&&(e.shape=e.type),t.radar=t.radar||[],y(t.radar)||(t.radar=[t.radar]),t.radar.push(e)):i.push(e)}),t.polar=i}d(t.series,function(t){t&&"radar"===t.type&&t.polarIndex&&(t.radarIndex=t.polarIndex)})});var nC=Q;h(Zh,mw),Uh.prototype={constructor:Uh,type:"view",dimensions:["x","y"],setBoundingRect:function(t,e,i,n){return this._rect=new ue(t,e,i,n),this._rect},getBoundingRect:function(){return this._rect},setViewRect:function(t,e,i,n){this.transformTo(t,e,i,n),this._viewRect=new ue(t,e,i,n)},transformTo:function(t,e,i,n){var o=this.getBoundingRect(),a=this._rawTransformable;a.transform=o.calculateTransform(new ue(t,e,i,n)),a.decomposeTransform(),this._updateTransform()},setCenter:function(t){t&&(this._center=t,this._updateCenterAndZoom())},setZoom:function(t){t=t||1;var e=this.zoomLimit;e&&(null!=e.max&&(t=Math.min(e.max,t)),null!=e.min&&(t=Math.max(e.min,t))),this._zoom=t,this._updateCenterAndZoom()},getDefaultCenter:function(){var t=this.getBoundingRect();return[t.x+t.width/2,t.y+t.height/2]},getCenter:function(){return this._center||this.getDefaultCenter()},getZoom:function(){return this._zoom||1},getRoamTransform:function(){return this._roamTransformable.getLocalTransform()},_updateCenterAndZoom:function(){var t=this._rawTransformable.getLocalTransform(),e=this._roamTransformable,i=this.getDefaultCenter(),n=this.getCenter(),o=this.getZoom();n=Q([],n,t),i=Q([],i,t),e.origin=n,e.position=[i[0]-n[0],i[1]-n[1]],e.scale=[o,o],this._updateTransform()},_updateTransform:function(){var t=this._roamTransformable,e=this._rawTransformable;e.parent=t,t.updateTransform(),e.updateTransform(),yt(this.transform||(this.transform=[]),e.transform||mt()),this._rawTransform=e.getLocalTransform(),this.invTransform=this.invTransform||[],St(this.invTransform,this.transform),this.decomposeTransform()},getViewRect:function(){return this._viewRect},getViewRectAfterRoam:function(){var t=this.getBoundingRect().clone();return t.applyTransform(this.transform),t},dataToPoint:function(t,e,i){var n=e?this._rawTransform:this.transform;return i=i||[],n?nC(i,t,n):G(i,t)},pointToData:function(t){var e=this.invTransform;return e?nC([],t,e):[t[0],t[1]]},convertToPixel:v(Xh,"dataToPoint"),convertFromPixel:v(Xh,"pointToData"),containPoint:function(t){return this.getViewRectAfterRoam().contain(t[0],t[1])}},h(Uh,mw);for(var oC=[126,25],aC=[[[0,3.5],[7,11.2],[15,11.9],[30,7],[42,.7],[52,.7],[56,7.7],[59,.7],[64,.7],[64,0],[5,0],[0,3.5]],[[13,16.1],[19,14.7],[16,21.7],[11,23.1],[13,16.1]],[[12,32.2],[14,38.5],[15,38.5],[13,32.2],[12,32.2]],[[16,47.6],[12,53.2],[13,53.2],[18,47.6],[16,47.6]],[[6,64.4],[8,70],[9,70],[8,64.4],[6,64.4]],[[23,82.6],[29,79.8],[30,79.8],[25,82.6],[23,82.6]],[[37,70.7],[43,62.3],[44,62.3],[39,70.7],[37,70.7]],[[48,51.1],[51,45.5],[53,45.5],[50,51.1],[48,51.1]],[[51,35],[51,28.7],[53,28.7],[53,35],[51,35]],[[52,22.4],[55,17.5],[56,17.5],[53,22.4],[52,22.4]],[[58,12.6],[62,7],[63,7],[60,12.6],[58,12.6]],[[0,3.5],[0,93.1],[64,93.1],[64,0],[63,0],[63,92.4],[1,92.4],[1,3.5],[0,3.5]]],rC=0;rC<aC.length;rC++)for(var sC=0;sC<aC[rC].length;sC++)aC[rC][sC][0]/=10.5,aC[rC][sC][1]/=-14,aC[rC][sC][0]+=oC[0],aC[rC][sC][1]+=oC[1];var lC=function(t,e){"china"===t&&e.push(new ql("南海诸岛",f(aC,function(t){return{type:"polygon",exterior:t}}),oC))},uC={"南海诸岛":[32,80],"广东":[0,-10],"香港":[10,5],"澳门":[-10,10],"天津":[5,5]},hC=function(t,e){if("china"===t){var i=uC[e.name];if(i){var n=e.center;n[0]+=i[0]/10.5,n[1]+=-i[1]/14}}},cC={Russia:[100,60],"United States":[-99,38],"United States of America":[-99,38]},dC=function(t,e){if("world"===t){var i=cC[e.name];if(i){var n=e.center;n[0]=i[0],n[1]=i[1]}}},fC=[[[123.45165252685547,25.73527164402261],[123.49731445312499,25.73527164402261],[123.49731445312499,25.750734064600884],[123.45165252685547,25.750734064600884],[123.45165252685547,25.73527164402261]]],pC=function(t,e){"china"===t&&"台湾"===e.name&&e.geometries.push({type:"polygon",exterior:fC[0]})},gC=Bi(),mC={load:function(t,e){var i=gC(e).parsed;if(i)return i;var n,o=e.specialAreas||{},a=e.geoJSON;try{n=a?GA(a):[]}catch(t){throw new Error("Invalid geoJson format\n"+t.message)}return d(n,function(e){var i=e.name;hC(t,e),dC(t,e),pC(t,e);var n=o[i];n&&e.transformTo(n.left,n.top,n.width,n.height)}),lC(t,n),gC(e).parsed={regions:n,boundingRect:jh(n)}}},vC=Bi(),yC={geoJSON:mC,svg:{load:function(t,e){var i=vC(e).originRoot;if(i)return{root:i,boundingRect:vC(e).boundingRect};var n=Yh(e);return vC(e).originRoot=n.root,vC(e).boundingRect=n.boundingRect,n},makeGraphic:function(t,e,i){var n=vC(e),o=n.rootMap||(n.rootMap=R()),a=o.get(i);if(a)return a;var r=n.originRoot,s=n.boundingRect;return n.originRootHostKey?a=Yh(e,s).root:(n.originRootHostKey=i,a=r),o.set(i,a)},removeGraphic:function(t,e,i){var n=vC(e),o=n.rootMap;o&&o.removeKey(i),i===n.originRootHostKey&&(n.originRootHostKey=null)}}},xC={load:function(t,e){var i,n=[],o=R(),a=R();return d(Kh(t),function(r){var s=yC[r.type].load(t,r);d(s.regions,function(t){var i=t.name;e&&e.hasOwnProperty(i)&&(t=t.cloneShallow(i=e[i])),n.push(t),o.set(i,t),a.set(i,t.center)});var l=s.boundingRect;l&&(i?i.union(l):i=l.clone())}),{regions:n,regionsMap:o,nameCoordMap:a,boundingRect:i||new ue(0,0,0,0)}},makeGraphic:qh("makeGraphic"),removeGraphic:qh("removeGraphic")};$h.prototype={constructor:$h,type:"geo",dimensions:["lng","lat"],containCoord:function(t){for(var e=this.regions,i=0;i<e.length;i++)if(e[i].contain(t))return!0;return!1},transformTo:function(t,e,i,n){var o=this.getBoundingRect(),a=this._invertLongitute;o=o.clone(),a&&(o.y=-o.y-o.height);var r=this._rawTransformable;if(r.transform=o.calculateTransform(new ue(t,e,i,n)),r.decomposeTransform(),a){var s=r.scale;s[1]=-s[1]}r.updateTransform(),this._updateTransform()},getRegion:function(t){return this._regionsMap.get(t)},getRegionByCoord:function(t){for(var e=this.regions,i=0;i<e.length;i++)if(e[i].contain(t))return e[i]},addGeoCoord:function(t,e){this._nameCoordMap.set(t,e)},getGeoCoord:function(t){return this._nameCoordMap.get(t)},getBoundingRect:function(){return this._rect},dataToPoint:function(t,e,i){if("string"==typeof t&&(t=this.getGeoCoord(t)),t)return Uh.prototype.dataToPoint.call(this,t,e,i)},convertToPixel:v(Jh,"dataToPoint"),convertFromPixel:v(Jh,"pointToData")},h($h,Uh);var _C={dimensions:$h.prototype.dimensions,create:function(t,e){var i=[];t.eachComponent("geo",function(t,n){var o=t.get("map"),a=t.get("aspectScale"),r=!0,s=pT.retrieveMap(o);s&&s[0]&&"svg"===s[0].type?(null==a&&(a=1),r=!1):null==a&&(a=.75);var l=new $h(o+n,o,t.get("nameMap"),r);l.aspectScale=a,l.zoomLimit=t.get("scaleLimit"),i.push(l),tc(l,t),t.coordinateSystem=l,l.model=t,l.resize=Qh,l.resize(t,e)}),t.eachSeries(function(t){if("geo"===t.get("coordinateSystem")){var e=t.get("geoIndex")||0;t.coordinateSystem=i[e]}});var n={};return t.eachSeriesByType("map",function(t){if(!t.getHostGeoModel()){var e=t.getMapType();n[e]=n[e]||[],n[e].push(t)}}),d(n,function(t,n){var a=new $h(n,n,o(f(t,function(t){return t.get("nameMap")})));a.zoomLimit=T.apply(null,f(t,function(t){return t.get("scaleLimit")})),i.push(a),a.resize=Qh,a.aspectScale=t[0].get("aspectScale"),a.resize(t[0],e),d(t,function(t){t.coordinateSystem=a,tc(a,t)})}),i},getFilledRegions:function(t,e,i){for(var n=(t||[]).slice(),o=R(),a=0;a<n.length;a++)o.set(n[a].name,n[a]);return d(xC.load(e,i).regions,function(t){var e=t.name;!o.get(e)&&n.push({name:e})}),n}};Ns("geo",_C);var wC=OI.extend({type:"series.map",dependencies:["geo"],layoutMode:"box",needsDrawMap:!1,seriesGroup:[],init:function(t){wC.superApply(this,"init",arguments),this.updateSelectedMap(this._createSelectableList())},getInitialData:function(t){return WD(this,["value"])},mergeOption:function(t){wC.superApply(this,"mergeOption",arguments),this.updateSelectedMap(this._createSelectableList())},_createSelectableList:function(){for(var t=this.getRawData(),e=t.mapDimension("value"),i=[],n=0,o=t.count();n<o;n++)i.push({name:t.getName(n),value:t.get(e,n),selected:cr(t,n,"selected")});return i=_C.getFilledRegions(i,this.getMapType(),this.option.nameMap)},getHostGeoModel:function(){var t=this.option.geoIndex;return null!=t?this.dependentModels.geo[t]:null},getMapType:function(){return(this.getHostGeoModel()||this).option.map},_fillOption:function(t,e){},getRawValue:function(t){var e=this.getData();return e.get(e.mapDimension("value"),t)},getRegionModel:function(t){var e=this.getData();return e.getItemModel(e.indexOfName(t))},formatTooltip:function(t){for(var e=this.getData(),i=$o(this.getRawValue(t)),n=e.getName(t),o=this.seriesGroup,a=[],r=0;r<o.length;r++){var s=o[r].originalData.indexOfName(n),l=e.mapDimension("value");isNaN(o[r].originalData.get(l,s))||a.push(Qo(o[r].name))}return a.join(", ")+"<br />"+Qo(n+" : "+i)},getTooltipPosition:function(t){if(null!=t){var e=this.getData().getName(t),i=this.coordinateSystem,n=i.getRegion(e);return n&&i.dataToPoint(n.center)}},setZoom:function(t){this.option.zoom=t},setCenter:function(t){this.option.center=t},defaultOption:{zlevel:0,z:2,coordinateSystem:"geo",map:"",left:"center",top:"center",aspectScale:.75,showLegendSymbol:!0,dataRangeHoverLink:!0,boundingCoords:null,center:null,zoom:1,scaleLimit:null,label:{show:!1,color:"#000"},itemStyle:{borderWidth:.5,borderColor:"#444",areaColor:"#eee"},emphasis:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{areaColor:"rgba(255,215,0,0.8)"}}}});h(wC,HD);var bC="\0_ec_interaction_mutex";Ps({type:"takeGlobalCursor",event:"globalCursorTaken",update:"update"},function(){}),h(ac,aw);var SC={axisPointer:1,tooltip:1,brush:1};_c.prototype={constructor:_c,draw:function(t,e,i,n,o){var a="geo"===t.mainType,r=t.getData&&t.getData();a&&e.eachComponent({mainType:"series",subType:"map"},function(e){r||e.getHostGeoModel()!==t||(r=e.getData())});var s=t.coordinateSystem;this._updateBackground(s);var l=this._regionsGroup,u=this.group,h=s.scale,c={position:s.position,scale:h};!l.childAt(0)||o?u.attr(c):bo(u,c,t),l.removeAll();var f=["itemStyle"],p=["emphasis","itemStyle"],g=["label"],m=["emphasis","label"],v=R();d(s.regions,function(e){var i=v.get(e.name)||v.set(e.name,new Zw),n=new hM({shape:{paths:[]}});i.add(n);var o,s=(C=t.getRegionModel(e.name)||t).getModel(f),u=C.getModel(p),c=vc(s),y=vc(u),x=C.getModel(g),_=C.getModel(m);if(r){o=r.indexOfName(e.name);var w=r.getItemVisual(o,"color",!0);w&&(c.fill=w)}d(e.geometries,function(t){if("polygon"===t.type){n.shape.paths.push(new nM({shape:{points:t.exterior}}));for(var e=0;e<(t.interiors?t.interiors.length:0);e++)n.shape.paths.push(new nM({shape:{points:t.interiors[e]}}))}}),n.setStyle(c),n.style.strokeNoScale=!0,n.culling=!0;var b=x.get("show"),S=_.get("show"),M=r&&isNaN(r.get(r.mapDimension("value"),o)),I=r&&r.getItemLayout(o);if(a||M&&(b||S)||I&&I.showLabel){var T,A=a?e.name:o;(!r||o>=0)&&(T=t);var D=new qS({position:e.center.slice(),scale:[1/h[0],1/h[1]],z2:10,silent:!0});co(D.style,D.hoverStyle={},x,_,{labelFetcher:T,labelDataIndex:A,defaultText:e.name,useInsideStyle:!1},{textAlign:"center",textVerticalAlign:"middle"}),i.add(D)}if(r)r.setItemGraphicEl(o,i);else{var C=t.getRegionModel(e.name);n.eventData={componentType:"geo",componentIndex:t.componentIndex,geoIndex:t.componentIndex,name:e.name,region:C&&C.option||{}}}(i.__regions||(i.__regions=[])).push(e),uo(i,y,{hoverSilentOnTouch:!!t.get("selectedMode")}),l.add(i)}),this._updateController(t,e,i),yc(this,t,l,i,n),xc(t,l)},remove:function(){this._regionsGroup.removeAll(),this._backgroundGroup.removeAll(),this._controller.dispose(),this._mapName&&xC.removeGraphic(this._mapName,this.uid),this._mapName=null,this._controllerHost={}},_updateBackground:function(t){var e=t.map;this._mapName!==e&&d(xC.makeGraphic(e,this.uid),function(t){this._backgroundGroup.add(t)},this),this._mapName=e},_updateController:function(t,e,i){function n(){var e={type:"geoRoam",componentType:l};return e[l+"Id"]=t.id,e}var o=t.coordinateSystem,r=this._controller,s=this._controllerHost;s.zoomLimit=t.get("scaleLimit"),s.zoom=o.getZoom(),r.enable(t.get("roam")||!1);var l=t.mainType;r.off("pan").on("pan",function(t){this._mouseDownFlag=!1,pc(s,t.dx,t.dy),i.dispatchAction(a(n(),{dx:t.dx,dy:t.dy}))},this),r.off("zoom").on("zoom",function(t){if(this._mouseDownFlag=!1,gc(s,t.scale,t.originX,t.originY),i.dispatchAction(a(n(),{zoom:t.scale,originX:t.originX,originY:t.originY})),this._updateGroup){var e=this.group.scale;this._regionsGroup.traverse(function(t){"text"===t.type&&t.attr("scale",[1/e[0],1/e[1]])})}},this),r.setPointerChecker(function(e,n,a){return o.getViewRectAfterRoam().contain(n,a)&&!mc(e,i,t)})}},Fs({type:"map",render:function(t,e,i,n){if(!n||"mapToggleSelect"!==n.type||n.from!==this.uid){var o=this.group;if(o.removeAll(),!t.getHostGeoModel()){if(n&&"geoRoam"===n.type&&"series"===n.componentType&&n.seriesId===t.id)(a=this._mapDraw)&&o.add(a.group);else if(t.needsDrawMap){var a=this._mapDraw||new _c(i,!0);o.add(a.group),a.draw(t,e,i,this,n),this._mapDraw=a}else this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null;t.get("showLegendSymbol")&&e.getComponent("legend")&&this._renderSymbols(t,e,i)}}},remove:function(){this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null,this.group.removeAll()},dispose:function(){this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null},_renderSymbols:function(t,e,i){var n=t.originalData,o=this.group;n.each(n.mapDimension("value"),function(e,i){if(!isNaN(e)){var a=n.getItemLayout(i);if(a&&a.point){var r=a.point,s=a.offset,l=new KS({style:{fill:t.getData().getVisual("color")},shape:{cx:r[0]+9*s,cy:r[1],r:3},silent:!0,z2:s?8:10});if(!s){var u=t.mainSeries.getData(),h=n.getName(i),c=u.indexOfName(h),d=n.getItemModel(i),f=d.getModel("label"),p=d.getModel("emphasis.label"),g=u.getItemGraphicEl(c),m=A(t.getFormattedLabel(i,"normal"),h),v=A(t.getFormattedLabel(i,"emphasis"),m),y=function(){var t=fo({},p,{text:p.get("show")?v:null},{isRectText:!0,useInsideStyle:!1},!0);l.style.extendFrom(t),l.__mapOriginalZ2=l.z2,l.z2+=1},x=function(){fo(l.style,f,{text:f.get("show")?m:null,textPosition:f.getShallow("position")||"bottom"},{isRectText:!0,useInsideStyle:!1}),null!=l.__mapOriginalZ2&&(l.z2=l.__mapOriginalZ2,l.__mapOriginalZ2=null)};g.on("mouseover",y).on("mouseout",x).on("emphasis",y).on("normal",x),x()}o.add(l)}}})}}),Ps({type:"geoRoam",event:"geoRoam",update:"updateTransform"},function(t,e){var i=t.componentType||"series";e.eachComponent({mainType:i,query:t},function(e){var n=e.coordinateSystem;if("geo"===n.type){var o=wc(n,t,e.get("scaleLimit"));e.setCenter&&e.setCenter(o.center),e.setZoom&&e.setZoom(o.zoom),"series"===i&&d(e.seriesGroup,function(t){t.setCenter(o.center),t.setZoom(o.zoom)})}})});Os(function(t){var e={};t.eachSeriesByType("map",function(i){var n=i.getMapType();if(!i.getHostGeoModel()&&!e[n]){var o={};d(i.seriesGroup,function(e){var i=e.coordinateSystem,n=e.originalData;e.get("showLegendSymbol")&&t.getComponent("legend")&&n.each(n.mapDimension("value"),function(t,e){var a=n.getName(e),r=i.getRegion(a);if(r&&!isNaN(t)){var s=o[a]||0,l=i.dataToPoint(r.center);o[a]=s+1,n.setItemLayout(e,{point:l,offset:s})}})});var a=i.getData();a.each(function(t){var e=a.getName(t),i=a.getItemLayout(t)||{};i.showLabel=!o[e],a.setItemLayout(t,i)}),e[n]=!0}})}),Es(function(t){t.eachSeriesByType("map",function(t){var e=t.get("color"),i=t.getModel("itemStyle"),n=i.get("areaColor"),o=i.get("color")||e[t.seriesIndex%e.length];t.getData().setVisual({areaColor:n,color:o})})}),ks(IT.PROCESSOR.STATISTIC,function(t){var e={};t.eachSeriesByType("map",function(t){var i=t.getHostGeoModel(),n=i?"o"+i.id:"i"+t.getMapType();(e[n]=e[n]||[]).push(t)}),d(e,function(t,e){for(var i=bc(f(t,function(t){return t.getData()}),t[0].get("mapValueCalculation")),n=0;n<t.length;n++)t[n].originalData=t[n].getData();for(n=0;n<t.length;n++)t[n].seriesGroup=t,t[n].needsDrawMap=0===n&&!t[n].getHostGeoModel(),t[n].setData(i.cloneShallow()),t[n].mainSeries=t[0]})}),Ls(function(t){var e=[];d(t.series,function(t){t&&"map"===t.type&&(e.push(t),t.map=t.map||t.mapType,r(t,t.mapLocation))})}),XD("map",[{type:"mapToggleSelect",event:"mapselectchanged",method:"toggleSelected"},{type:"mapSelect",event:"mapselected",method:"select"},{type:"mapUnSelect",event:"mapunselected",method:"unSelect"}]);var MC=d,IC="\0__link_datas",TC="\0__link_mainData",AC=function(t,e){this.name=t||"",this.depth=0,this.height=0,this.parentNode=null,this.dataIndex=-1,this.children=[],this.viewChildren=[],this.hostTree=e};AC.prototype={constructor:AC,isRemoved:function(){return this.dataIndex<0},eachNode:function(t,e,i){"function"==typeof t&&(i=e,e=t,t=null),_(t=t||{})&&(t={order:t});var n,o=t.order||"preorder",a=this[t.attr||"children"];"preorder"===o&&(n=e.call(i,this));for(var r=0;!n&&r<a.length;r++)a[r].eachNode(t,e,i);"postorder"===o&&e.call(i,this)},updateDepthAndHeight:function(t){var e=0;this.depth=t;for(var i=0;i<this.children.length;i++){var n=this.children[i];n.updateDepthAndHeight(t+1),n.height>e&&(e=n.height)}this.height=e+1},getNodeById:function(t){if(this.getId()===t)return this;for(var e=0,i=this.children,n=i.length;e<n;e++){var o=i[e].getNodeById(t);if(o)return o}},contains:function(t){if(t===this)return!0;for(var e=0,i=this.children,n=i.length;e<n;e++){var o=i[e].contains(t);if(o)return o}},getAncestors:function(t){for(var e=[],i=t?this:this.parentNode;i;)e.push(i),i=i.parentNode;return e.reverse(),e},getValue:function(t){var e=this.hostTree.data;return e.get(e.getDimension(t||"value"),this.dataIndex)},setLayout:function(t,e){this.dataIndex>=0&&this.hostTree.data.setItemLayout(this.dataIndex,t,e)},getLayout:function(){return this.hostTree.data.getItemLayout(this.dataIndex)},getModel:function(t){if(!(this.dataIndex<0)){var e,i=this.hostTree,n=i.data.getItemModel(this.dataIndex),o=this.getLevelModel();return o||0!==this.children.length&&(0===this.children.length||!1!==this.isExpand)||(e=this.getLeavesModel()),n.getModel(t,(o||e||i.hostModel).getModel(t))}},getLevelModel:function(){return(this.hostTree.levelModels||[])[this.depth]},getLeavesModel:function(){return this.hostTree.leavesModel},setVisual:function(t,e){this.dataIndex>=0&&this.hostTree.data.setItemVisual(this.dataIndex,t,e)},getVisual:function(t,e){return this.hostTree.data.getItemVisual(this.dataIndex,t,e)},getRawIndex:function(){return this.hostTree.data.getRawIndex(this.dataIndex)},getId:function(){return this.hostTree.data.getId(this.dataIndex)},isAncestorOf:function(t){for(var e=t.parentNode;e;){if(e===this)return!0;e=e.parentNode}return!1},isDescendantOf:function(t){return t!==this&&t.isAncestorOf(this)}},kc.prototype={constructor:kc,type:"tree",eachNode:function(t,e,i){this.root.eachNode(t,e,i)},getNodeByDataIndex:function(t){var e=this.data.getRawIndex(t);return this._nodes[e]},getNodeByName:function(t){return this.root.getNodeByName(t)},update:function(){for(var t=this.data,e=this._nodes,i=0,n=e.length;i<n;i++)e[i].dataIndex=-1;for(var i=0,n=t.count();i<n;i++)e[t.getRawIndex(i)].dataIndex=i},clearLayouts:function(){this.data.clearItemLayouts()}},kc.createTree=function(t,e,i){function n(t,e){var i=t.value;r=Math.max(r,y(i)?i.length:1),a.push(t);var s=new AC(t.name,o);e?Pc(s,e):o.root=s,o._nodes.push(s);var l=t.children;if(l)for(var u=0;u<l.length;u++)n(l[u],s)}var o=new kc(e,i.levels,i.leaves),a=[],r=1;n(t),o.root.updateDepthAndHeight(0);var s=oA(a,{coordDimensions:["value"],dimensionsCount:r}),l=new eA(s,e);return l.initData(a),Sc({mainData:l,struct:o,structAttr:"tree"}),o.update(),o},OI.extend({type:"series.tree",layoutInfo:null,layoutMode:"box",getInitialData:function(t){var e={name:t.name,children:t.data},i=t.leaves||{},n={};n.leaves=i;var o=kc.createTree(e,this,n),a=0;o.eachNode("preorder",function(t){t.depth>a&&(a=t.depth)});var r=t.expandAndCollapse&&t.initialTreeDepth>=0?t.initialTreeDepth:a;return o.root.eachNode("preorder",function(t){var e=t.hostTree.data.getRawDataItem(t.dataIndex);t.isExpand=e&&null!=e.collapsed?!e.collapsed:t.depth<=r}),o.data},getOrient:function(){var t=this.get("orient");return"horizontal"===t?t="LR":"vertical"===t&&(t="TB"),t},setZoom:function(t){this.option.zoom=t},setCenter:function(t){this.option.center=t},formatTooltip:function(t){for(var e=this.getData().tree,i=e.root.children[0],n=e.getNodeByDataIndex(t),o=n.getValue(),a=n.name;n&&n!==i;)a=n.parentNode.name+"."+a,n=n.parentNode;return Qo(a+(isNaN(o)||null==o?"":" : "+o))},defaultOption:{zlevel:0,z:2,coordinateSystem:"view",left:"12%",top:"12%",right:"12%",bottom:"12%",layout:"orthogonal",roam:!1,nodeScaleRatio:.4,center:null,zoom:1,orient:"LR",symbol:"emptyCircle",symbolSize:7,expandAndCollapse:!0,initialTreeDepth:2,lineStyle:{color:"#ccc",width:1.5,curveness:.5},itemStyle:{color:"lightsteelblue",borderColor:"#c23531",borderWidth:1.5},label:{show:!0,color:"#555"},leaves:{label:{show:!0}},animationEasing:"linear",animationDuration:700,animationDurationUpdate:1e3}}),Fs({type:"tree",init:function(t,e){this._oldTree,this._mainGroup=new Zw,this._controller=new ac(e.getZr()),this._controllerHost={target:this.group},this.group.add(this._mainGroup)},render:function(t,e,i,n){var o=t.getData(),a=t.layoutInfo,r=this._mainGroup,s=t.get("layout");"radial"===s?r.attr("position",[a.x+a.width/2,a.y+a.height/2]):r.attr("position",[a.x,a.y]),this._updateViewCoordSys(t),this._updateController(t,e,i);var l=this._data,u={expandAndCollapse:t.get("expandAndCollapse"),layout:s,orient:t.getOrient(),curvature:t.get("lineStyle.curveness"),symbolRotate:t.get("symbolRotate"),symbolOffset:t.get("symbolOffset"),hoverAnimation:t.get("hoverAnimation"),useNameLabel:!0,fadeIn:!0};o.diff(l).add(function(e){Xc(o,e)&&Yc(o,e,null,r,t,u)}).update(function(e,i){var n=l.getItemGraphicEl(i);Xc(o,e)?Yc(o,e,n,r,t,u):n&&qc(l,i,n,r,t,u)}).remove(function(e){var i=l.getItemGraphicEl(e);i&&qc(l,e,i,r,t,u)}).execute(),this._nodeScaleRatio=t.get("nodeScaleRatio"),this._updateNodeAndLinkScale(t),!0===u.expandAndCollapse&&o.eachItemGraphicEl(function(e,n){e.off("click").on("click",function(){i.dispatchAction({type:"treeExpandAndCollapse",seriesId:t.id,dataIndex:n})})}),this._data=o},_updateViewCoordSys:function(t){var e=t.getData(),i=[];e.each(function(t){var n=e.getItemLayout(t);!n||isNaN(n.x)||isNaN(n.y)||i.push([+n.x,+n.y])});var n=[],o=[];dn(i,n,o),o[0]-n[0]==0&&(o[0]+=1,n[0]-=1),o[1]-n[1]==0&&(o[1]+=1,n[1]-=1);var a=t.coordinateSystem=new Uh;a.zoomLimit=t.get("scaleLimit"),a.setBoundingRect(n[0],n[1],o[0]-n[0],o[1]-n[1]),a.setCenter(t.get("center")),a.setZoom(t.get("zoom")),this.group.attr({position:a.position,scale:a.scale}),this._viewCoordSys=a},_updateController:function(t,e,i){var n=this._controller,o=this._controllerHost,a=this.group;n.setPointerChecker(function(e,n,o){var r=a.getBoundingRect();return r.applyTransform(a.transform),r.contain(n,o)&&!mc(e,i,t)}),n.enable(t.get("roam")),o.zoomLimit=t.get("scaleLimit"),o.zoom=t.coordinateSystem.getZoom(),n.off("pan").off("zoom").on("pan",function(e){pc(o,e.dx,e.dy),i.dispatchAction({seriesId:t.id,type:"treeRoam",dx:e.dx,dy:e.dy})},this).on("zoom",function(e){gc(o,e.scale,e.originX,e.originY),i.dispatchAction({seriesId:t.id,type:"treeRoam",zoom:e.scale,originX:e.originX,originY:e.originY}),this._updateNodeAndLinkScale(t)},this)},_updateNodeAndLinkScale:function(t){var e=t.getData(),i=this._getNodeGlobalScale(t),n=[i,i];e.eachItemGraphicEl(function(t,e){t.attr("scale",n)})},_getNodeGlobalScale:function(t){var e=t.coordinateSystem;if("view"!==e.type)return 1;var i=this._nodeScaleRatio,n=e.scale,o=n&&n[0]||1;return((e.getZoom()-1)*i+1)/o},dispose:function(){this._controller&&this._controller.dispose(),this._controllerHost={}},remove:function(){this._mainGroup.removeAll(),this._data=null}}),Ps({type:"treeExpandAndCollapse",event:"treeExpandAndCollapse",update:"update"},function(t,e){e.eachComponent({mainType:"series",subType:"tree",query:t},function(e){var i=t.dataIndex,n=e.getData().tree.getNodeByDataIndex(i);n.isExpand=!n.isExpand})}),Ps({type:"treeRoam",event:"treeRoam",update:"none"},function(t,e){e.eachComponent({mainType:"series",subType:"tree",query:t},function(e){var i=wc(e.coordinateSystem,t);e.setCenter&&e.setCenter(i.center),e.setZoom&&e.setZoom(i.zoom)})});Es(hD("tree","circle")),Os(function(t,e){t.eachSeriesByType("tree",function(t){Qc(t,e)})}),OI.extend({type:"series.treemap",layoutMode:"box",dependencies:["grid","polar"],_viewRoot:null,defaultOption:{progressive:0,hoverLayerThreshold:1/0,left:"center",top:"middle",right:null,bottom:null,width:"80%",height:"80%",sort:!0,clipWindow:"origin",squareRatio:.5*(1+Math.sqrt(5)),leafDepth:null,drillDownIcon:"▶",zoomToNodeRatio:.1024,roam:!0,nodeClick:"zoomToNode",animation:!0,animationDurationUpdate:900,animationEasing:"quinticInOut",breadcrumb:{show:!0,height:22,left:"center",top:"bottom",emptyItemWidth:25,itemStyle:{color:"rgba(0,0,0,0.7)",borderColor:"rgba(255,255,255,0.7)",borderWidth:1,shadowColor:"rgba(150,150,150,1)",shadowBlur:3,shadowOffsetX:0,shadowOffsetY:0,textStyle:{color:"#fff"}},emphasis:{textStyle:{}}},label:{show:!0,distance:0,padding:5,position:"inside",color:"#fff",ellipsis:!0},upperLabel:{show:!1,position:[0,"50%"],height:20,color:"#fff",ellipsis:!0,verticalAlign:"middle"},itemStyle:{color:null,colorAlpha:null,colorSaturation:null,borderWidth:0,gapWidth:0,borderColor:"#fff",borderColorSaturation:null},emphasis:{upperLabel:{show:!0,position:[0,"50%"],color:"#fff",ellipsis:!0,verticalAlign:"middle"}},visualDimension:0,visualMin:null,visualMax:null,color:[],colorAlpha:null,colorSaturation:null,colorMappingBy:"index",visibleMin:10,childrenVisibleMin:null,levels:[]},getInitialData:function(t,e){var i={name:t.name,children:t.data};od(i);var n=t.levels||[];n=t.levels=ad(n,e);var o={};return o.levels=n,kc.createTree(i,this,o).data},optionUpdated:function(){this.resetViewRoot()},formatTooltip:function(t){var e=this.getData(),i=this.getRawValue(t),n=$o(y(i)?i[0]:i);return Qo(e.getName(t)+": "+n)},getDataParams:function(t){var e=OI.prototype.getDataParams.apply(this,arguments),i=this.getData().tree.getNodeByDataIndex(t);return e.treePathInfo=nd(i,this),e},setLayoutInfo:function(t){this.layoutInfo=this.layoutInfo||{},a(this.layoutInfo,t)},mapIdToIndex:function(t){var e=this._idIndexMap;e||(e=this._idIndexMap=R(),this._idIndexMapCount=0);var i=e.get(t);return null==i&&e.set(t,i=this._idIndexMapCount++),i},getViewRoot:function(){return this._viewRoot},resetViewRoot:function(t){t?this._viewRoot=t:t=this._viewRoot;var e=this.getRawData().tree.root;t&&(t===e||e.contains(t))||(this._viewRoot=e)}});var DC=5;rd.prototype={constructor:rd,render:function(t,e,i,n){var o=t.getModel("breadcrumb"),a=this.group;if(a.removeAll(),o.get("show")&&i){var r=o.getModel("itemStyle"),s=r.getModel("textStyle"),l={pos:{left:o.get("left"),right:o.get("right"),top:o.get("top"),bottom:o.get("bottom")},box:{width:e.getWidth(),height:e.getHeight()},emptyItemWidth:o.get("emptyItemWidth"),totalWidth:0,renderList:[]};this._prepare(i,l,s),this._renderContent(t,l,r,s,n),ua(a,l.pos,l.box)}},_prepare:function(t,e,i){for(var n=t;n;n=n.parentNode){var o=n.getModel().get("name"),a=i.getTextRect(o),r=Math.max(a.width+16,e.emptyItemWidth);e.totalWidth+=r+8,e.renderList.push({node:n,text:o,width:r})}},_renderContent:function(t,e,i,n,o){for(var a=0,s=e.emptyItemWidth,l=t.get("breadcrumb.height"),u=sa(e.pos,e.box),h=e.totalWidth,c=e.renderList,d=c.length-1;d>=0;d--){var f=c[d],p=f.node,g=f.width,m=f.text;h>u.width&&(h-=g-s,g=s,m=null);var y=new nM({shape:{points:sd(a,0,g,l,d===c.length-1,0===d)},style:r(i.getItemStyle(),{lineJoin:"bevel",text:m,textFill:n.getTextColor(),textFont:n.getFont()}),z:10,onclick:v(o,p)});this.group.add(y),ld(y,t,p),a+=g+8}},remove:function(){this.group.removeAll()}};var CC=m,LC=Zw,kC=aM,PC=d,NC=["label"],OC=["emphasis","label"],EC=["upperLabel"],RC=["emphasis","upperLabel"],zC=10,BC=1,VC=2,GC=Wb([["fill","color"],["stroke","strokeColor"],["lineWidth","strokeWidth"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]),FC=function(t){var e=GC(t);return e.stroke=e.fill=e.lineWidth=null,e};Fs({type:"treemap",init:function(t,e){this._containerGroup,this._storage={nodeGroup:[],background:[],content:[]},this._oldTree,this._breadcrumb,this._controller,this._state="ready"},render:function(t,e,i,n){if(!(l(e.findComponents({mainType:"series",subType:"treemap",query:n}),t)<0)){this.seriesModel=t,this.api=i,this.ecModel=e;var o=td(n,["treemapZoomToNode","treemapRootToNode"],t),a=n&&n.type,r=t.layoutInfo,s=!this._oldTree,u=this._storage,h="treemapRootToNode"===a&&o&&u?{rootNodeGroup:u.nodeGroup[o.node.getRawIndex()],direction:n.direction}:null,c=this._giveContainerGroup(r),d=this._doRender(c,t,h);s||a&&"treemapZoomToNode"!==a&&"treemapRootToNode"!==a?d.renderFinally():this._doAnimation(c,d,t,h),this._resetController(i),this._renderBreadcrumb(t,i,o)}},_giveContainerGroup:function(t){var e=this._containerGroup;return e||(e=this._containerGroup=new LC,this._initEvents(e),this.group.add(e)),e.attr("position",[t.x,t.y]),e},_doRender:function(t,e,i){function n(t,e,i,o,a){function r(t){return t.getId()}function s(r,s){var l=null!=r?t[r]:null,u=null!=s?e[s]:null,c=h(l,u,i,a);c&&n(l&&l.viewChildren||[],u&&u.viewChildren||[],c,o,a+1)}o?(e=t,PC(t,function(t,e){!t.isRemoved()&&s(e,e)})):new Hs(e,t,r,r).add(s).update(s).remove(v(s,null)).execute()}var o=e.getData().tree,a=this._oldTree,r={nodeGroup:[],background:[],content:[]},s={nodeGroup:[],background:[],content:[]},l=this._storage,u=[],h=v(hd,e,s,l,i,r,u);n(o.root?[o.root]:[],a&&a.root?[a.root]:[],t,o===a||!a,0);var c=function(t){var e={nodeGroup:[],background:[],content:[]};return t&&PC(t,function(t,i){var n=e[i];PC(t,function(t){t&&(n.push(t),t.__tmWillDelete=1)})}),e}(l);return this._oldTree=o,this._storage=s,{lastsForAnimation:r,willDeleteEls:c,renderFinally:function(){PC(c,function(t){PC(t,function(t){t.parent&&t.parent.remove(t)})}),PC(u,function(t){t.invisible=!0,t.dirty()})}}},_doAnimation:function(t,e,i,n){if(i.get("animation")){var o=i.get("animationDurationUpdate"),r=i.get("animationEasing"),s=ud();PC(e.willDeleteEls,function(t,e){PC(t,function(t,i){if(!t.invisible){var a,l=t.parent;if(n&&"drillDown"===n.direction)a=l===n.rootNodeGroup?{shape:{x:0,y:0,width:l.__tmNodeWidth,height:l.__tmNodeHeight},style:{opacity:0}}:{style:{opacity:0}};else{var u=0,h=0;l.__tmWillDelete||(u=l.__tmNodeWidth/2,h=l.__tmNodeHeight/2),a="nodeGroup"===e?{position:[u,h],style:{opacity:0}}:{shape:{x:u,y:h,width:0,height:0},style:{opacity:0}}}a&&s.add(t,a,o,r)}})}),PC(this._storage,function(t,i){PC(t,function(t,n){var l=e.lastsForAnimation[i][n],u={};l&&("nodeGroup"===i?l.old&&(u.position=t.position.slice(),t.attr("position",l.old)):(l.old&&(u.shape=a({},t.shape),t.setShape(l.old)),l.fadein?(t.setStyle("opacity",0),u.style={opacity:1}):1!==t.style.opacity&&(u.style={opacity:1})),s.add(t,u,o,r))})},this),this._state="animating",s.done(CC(function(){this._state="ready",e.renderFinally()},this)).start()}},_resetController:function(t){var e=this._controller;e||((e=this._controller=new ac(t.getZr())).enable(this.seriesModel.get("roam")),e.on("pan",CC(this._onPan,this)),e.on("zoom",CC(this._onZoom,this)));var i=new ue(0,0,t.getWidth(),t.getHeight());e.setPointerChecker(function(t,e,n){return i.contain(e,n)})},_clearController:function(){var t=this._controller;t&&(t.dispose(),t=null)},_onPan:function(t){if("animating"!==this._state&&(Math.abs(t.dx)>3||Math.abs(t.dy)>3)){var e=this.seriesModel.getData().tree.root;if(!e)return;var i=e.getLayout();if(!i)return;this.api.dispatchAction({type:"treemapMove",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:i.x+t.dx,y:i.y+t.dy,width:i.width,height:i.height}})}},_onZoom:function(t){var e=t.originX,i=t.originY;if("animating"!==this._state){var n=this.seriesModel.getData().tree.root;if(!n)return;var o=n.getLayout();if(!o)return;var a=new ue(o.x,o.y,o.width,o.height),r=this.seriesModel.layoutInfo;e-=r.x,i-=r.y;var s=mt();_t(s,s,[-e,-i]),bt(s,s,[t.scale,t.scale]),_t(s,s,[e,i]),a.applyTransform(s),this.api.dispatchAction({type:"treemapRender",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:a.x,y:a.y,width:a.width,height:a.height}})}},_initEvents:function(t){t.on("click",function(t){if("ready"===this._state){var e=this.seriesModel.get("nodeClick",!0);if(e){var i=this.findTarget(t.offsetX,t.offsetY);if(i){var n=i.node;if(n.getLayout().isLeafRoot)this._rootToNode(i);else if("zoomToNode"===e)this._zoomToNode(i);else if("link"===e){var o=n.hostTree.data.getItemModel(n.dataIndex),a=o.get("link",!0),r=o.get("target",!0)||"blank";a&&window.open(a,r)}}}}},this)},_renderBreadcrumb:function(t,e,i){i||(i=null!=t.get("leafDepth",!0)?{node:t.getViewRoot()}:this.findTarget(e.getWidth()/2,e.getHeight()/2))||(i={node:t.getData().tree.root}),(this._breadcrumb||(this._breadcrumb=new rd(this.group))).render(t,e,i.node,CC(function(e){"animating"!==this._state&&(id(t.getViewRoot(),e)?this._rootToNode({node:e}):this._zoomToNode({node:e}))},this))},remove:function(){this._clearController(),this._containerGroup&&this._containerGroup.removeAll(),this._storage={nodeGroup:[],background:[],content:[]},this._state="ready",this._breadcrumb&&this._breadcrumb.remove()},dispose:function(){this._clearController()},_zoomToNode:function(t){this.api.dispatchAction({type:"treemapZoomToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:t.node})},_rootToNode:function(t){this.api.dispatchAction({type:"treemapRootToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:t.node})},findTarget:function(t,e){var i;return this.seriesModel.getViewRoot().eachNode({attr:"viewChildren",order:"preorder"},function(n){var o=this._storage.background[n.getRawIndex()];if(o){var a=o.transformCoordToLocal(t,e),r=o.shape;if(!(r.x<=a[0]&&a[0]<=r.x+r.width&&r.y<=a[1]&&a[1]<=r.y+r.height))return!1;i={node:n,offsetX:a[0],offsetY:a[1]}}},this),i}});for(var WC=["treemapZoomToNode","treemapRender","treemapMove"],HC=0;HC<WC.length;HC++)Ps({type:WC[HC],update:"updateView"},function(){});Ps({type:"treemapRootToNode",update:"updateView"},function(t,e){e.eachComponent({mainType:"series",subType:"treemap",query:t},function(e,i){var n=td(t,["treemapZoomToNode","treemapRootToNode"],e);if(n){var o=e.getViewRoot();o&&(t.direction=id(o,n.node)?"rollUp":"drillDown"),e.resetViewRoot(n.node)}})});var ZC=d,UC=w,XC=-1,jC=function(t){var e=t.mappingMethod,n=t.type,o=this.option=i(t);this.type=n,this.mappingMethod=e,this._normalizeData=qC[e];var a=YC[n];this.applyVisual=a.applyVisual,this.getColorMapper=a.getColorMapper,this._doMap=a._doMap[e],"piecewise"===e?(pd(o),dd(o)):"category"===e?o.categories?fd(o):pd(o,!0):(k("linear"!==e||o.dataExtent),pd(o))};jC.prototype={constructor:jC,mapValueToVisual:function(t){var e=this._normalizeData(t);return this._doMap(e,t)},getNormalizer:function(){return m(this._normalizeData,this)}};var YC=jC.visualHandlers={color:{applyVisual:vd("color"),getColorMapper:function(){var t=this.option;return m("category"===t.mappingMethod?function(t,e){return!e&&(t=this._normalizeData(t)),yd.call(this,t)}:function(e,i,n){var o=!!n;return!i&&(e=this._normalizeData(e)),n=Wt(e,t.parsedVisual,n),o?n:Xt(n,"rgba")},this)},_doMap:{linear:function(t){return Xt(Wt(t,this.option.parsedVisual),"rgba")},category:yd,piecewise:function(t,e){var i=wd.call(this,e);return null==i&&(i=Xt(Wt(t,this.option.parsedVisual),"rgba")),i},fixed:xd}},colorHue:gd(function(t,e){return Zt(t,e)}),colorSaturation:gd(function(t,e){return Zt(t,null,e)}),colorLightness:gd(function(t,e){return Zt(t,null,null,e)}),colorAlpha:gd(function(t,e){return Ut(t,e)}),opacity:{applyVisual:vd("opacity"),_doMap:_d([0,1])},liftZ:{applyVisual:vd("liftZ"),_doMap:{linear:xd,category:xd,piecewise:xd,fixed:xd}},symbol:{applyVisual:function(t,e,i){var n=this.mapValueToVisual(t);if(_(n))i("symbol",n);else if(UC(n))for(var o in n)n.hasOwnProperty(o)&&i(o,n[o])},_doMap:{linear:md,category:yd,piecewise:function(t,e){var i=wd.call(this,e);return null==i&&(i=md.call(this,t)),i},fixed:xd}},symbolSize:{applyVisual:vd("symbolSize"),_doMap:_d([0,1])}},qC={linear:function(t){return Eo(t,this.option.dataExtent,[0,1],!0)},piecewise:function(t){var e=this.option.pieceList,i=jC.findPieceIndex(t,e,!0);if(null!=i)return Eo(i,[0,e.length-1],[0,1],!0)},category:function(t){var e=this.option.categories?this.option.categoryMap[t]:t;return null==e?XC:e},fixed:B};jC.listVisualTypes=function(){var t=[];return d(YC,function(e,i){t.push(i)}),t},jC.addVisualHandler=function(t,e){YC[t]=e},jC.isValidType=function(t){return YC.hasOwnProperty(t)},jC.eachVisual=function(t,e,i){w(t)?d(t,e,i):e.call(i,t)},jC.mapVisual=function(t,e,i){var n,o=y(t)?[]:w(t)?{}:(n=!0,null);return jC.eachVisual(t,function(t,a){var r=e.call(i,t,a);n?o=r:o[a]=r}),o},jC.retrieveVisuals=function(t){var e,i={};return t&&ZC(YC,function(n,o){t.hasOwnProperty(o)&&(i[o]=t[o],e=!0)}),e?i:null},jC.prepareVisualTypes=function(t){if(UC(t)){var e=[];ZC(t,function(t,i){e.push(i)}),t=e}else{if(!y(t))return[];t=t.slice()}return t.sort(function(t,e){return"color"===e&&"color"!==t&&0===t.indexOf("color")?1:-1}),t},jC.dependsOn=function(t,e){return"color"===e?!(!t||0!==t.indexOf(e)):t===e},jC.findPieceIndex=function(t,e,i){function n(e,i){var n=Math.abs(e-t);n<a&&(a=n,o=i)}for(var o,a=1/0,r=0,s=e.length;r<s;r++){var l=e[r].value;if(null!=l){if(l===t||"string"==typeof l&&l===t+"")return r;i&&n(l,r)}}for(var r=0,s=e.length;r<s;r++){var u=e[r],h=u.interval,c=u.close;if(h){if(h[0]===-1/0){if(Sd(c[1],t,h[1]))return r}else if(h[1]===1/0){if(Sd(c[0],h[0],t))return r}else if(Sd(c[0],h[0],t)&&Sd(c[1],t,h[1]))return r;i&&n(h[0],r),i&&n(h[1],r)}}if(i)return t===1/0?e.length-1:t===-1/0?0:o};var KC=y,$C="itemStyle",JC={seriesType:"treemap",reset:function(t,e,i,n){var o=t.getData().tree,a=o.root,r=t.getModel($C);a.isRemoved()||Md(a,{},f(o.levelModels,function(t){return t?t.get($C):null}),r,t.getViewRoot().getAncestors(),t)}},QC=Math.max,tL=Math.min,eL=T,iL=d,nL=["itemStyle","borderWidth"],oL=["itemStyle","gapWidth"],aL=["upperLabel","show"],rL=["upperLabel","height"],sL={seriesType:"treemap",reset:function(t,e,i,n){var o=i.getWidth(),r=i.getHeight(),s=t.option,l=la(t.getBoxLayoutParams(),{width:i.getWidth(),height:i.getHeight()}),u=s.size||[],h=Ro(eL(l.width,u[0]),o),c=Ro(eL(l.height,u[1]),r),d=n&&n.type,f=td(n,["treemapZoomToNode","treemapRootToNode"],t),p="treemapRender"===d||"treemapMove"===d?n.rootRect:null,g=t.getViewRoot(),m=ed(g);if("treemapMove"!==d){var v="treemapZoomToNode"===d?Vd(t,f,g,h,c):p?[p.width,p.height]:[h,c],y=s.sort;y&&"asc"!==y&&"desc"!==y&&(y="desc");var x={squareRatio:s.squareRatio,sort:y,leafDepth:s.leafDepth};g.hostTree.clearLayouts();_={x:0,y:0,width:v[0],height:v[1],area:v[0]*v[1]};g.setLayout(_),Pd(g,x,!1,0);var _=g.getLayout();iL(m,function(t,e){var i=(m[e+1]||g).getValue();t.setLayout(a({dataExtent:[i,i],borderWidth:0,upperHeight:0},_))})}var w=t.getData().tree.root;w.setLayout(Gd(l,p,f),!0),t.setLayoutInfo(l),Fd(w,new ue(-l.x,-l.y,o,r),m,g,0)}};Es(JC),Os(sL);var lL=function(t){this._directed=t||!1,this.nodes=[],this.edges=[],this._nodesMap={},this._edgesMap={},this.data,this.edgeData},uL=lL.prototype;uL.type="graph",uL.isDirected=function(){return this._directed},uL.addNode=function(t,e){t=t||""+e;var i=this._nodesMap;if(!i[Hd(t)]){var n=new Zd(t,e);return n.hostGraph=this,this.nodes.push(n),i[Hd(t)]=n,n}},uL.getNodeByIndex=function(t){var e=this.data.getRawIndex(t);return this.nodes[e]},uL.getNodeById=function(t){return this._nodesMap[Hd(t)]},uL.addEdge=function(t,e,i){var n=this._nodesMap,o=this._edgesMap;if("number"==typeof t&&(t=this.nodes[t]),"number"==typeof e&&(e=this.nodes[e]),Zd.isInstance(t)||(t=n[Hd(t)]),Zd.isInstance(e)||(e=n[Hd(e)]),t&&e){var a=t.id+"-"+e.id;if(!o[a]){var r=new Ud(t,e,i);return r.hostGraph=this,this._directed&&(t.outEdges.push(r),e.inEdges.push(r)),t.edges.push(r),t!==e&&e.edges.push(r),this.edges.push(r),o[a]=r,r}}},uL.getEdgeByIndex=function(t){var e=this.edgeData.getRawIndex(t);return this.edges[e]},uL.getEdge=function(t,e){Zd.isInstance(t)&&(t=t.id),Zd.isInstance(e)&&(e=e.id);var i=this._edgesMap;return this._directed?i[t+"-"+e]:i[t+"-"+e]||i[e+"-"+t]},uL.eachNode=function(t,e){for(var i=this.nodes,n=i.length,o=0;o<n;o++)i[o].dataIndex>=0&&t.call(e,i[o],o)},uL.eachEdge=function(t,e){for(var i=this.edges,n=i.length,o=0;o<n;o++)i[o].dataIndex>=0&&i[o].node1.dataIndex>=0&&i[o].node2.dataIndex>=0&&t.call(e,i[o],o)},uL.breadthFirstTraverse=function(t,e,i,n){if(Zd.isInstance(e)||(e=this._nodesMap[Hd(e)]),e){for(var o="out"===i?"outEdges":"in"===i?"inEdges":"edges",a=0;a<this.nodes.length;a++)this.nodes[a].__visited=!1;if(!t.call(n,e,null))for(var r=[e];r.length;)for(var s=r.shift(),l=s[o],a=0;a<l.length;a++){var u=l[a],h=u.node1===s?u.node2:u.node1;if(!h.__visited){if(t.call(n,h,s))return;r.push(h),h.__visited=!0}}}},uL.update=function(){for(var t=this.data,e=this.edgeData,i=this.nodes,n=this.edges,o=0,a=i.length;o<a;o++)i[o].dataIndex=-1;for(var o=0,a=t.count();o<a;o++)i[t.getRawIndex(o)].dataIndex=o;e.filterSelf(function(t){var i=n[e.getRawIndex(t)];return i.node1.dataIndex>=0&&i.node2.dataIndex>=0});for(var o=0,a=n.length;o<a;o++)n[o].dataIndex=-1;for(var o=0,a=e.count();o<a;o++)n[e.getRawIndex(o)].dataIndex=o},uL.clone=function(){for(var t=new lL(this._directed),e=this.nodes,i=this.edges,n=0;n<e.length;n++)t.addNode(e[n].id,e[n].dataIndex);for(n=0;n<i.length;n++){var o=i[n];t.addEdge(o.node1.id,o.node2.id,o.dataIndex)}return t},Zd.prototype={constructor:Zd,degree:function(){return this.edges.length},inDegree:function(){return this.inEdges.length},outDegree:function(){return this.outEdges.length},getModel:function(t){if(!(this.dataIndex<0))return this.hostGraph.data.getItemModel(this.dataIndex).getModel(t)}},Ud.prototype.getModel=function(t){if(!(this.dataIndex<0))return this.hostGraph.edgeData.getItemModel(this.dataIndex).getModel(t)};var hL=function(t,e){return{getValue:function(i){var n=this[t][e];return n.get(n.getDimension(i||"value"),this.dataIndex)},setVisual:function(i,n){this.dataIndex>=0&&this[t][e].setItemVisual(this.dataIndex,i,n)},getVisual:function(i,n){return this[t][e].getItemVisual(this.dataIndex,i,n)},setLayout:function(i,n){this.dataIndex>=0&&this[t][e].setItemLayout(this.dataIndex,i,n)},getLayout:function(){return this[t][e].getItemLayout(this.dataIndex)},getGraphicEl:function(){return this[t][e].getItemGraphicEl(this.dataIndex)},getRawIndex:function(){return this[t][e].getRawIndex(this.dataIndex)}}};h(Zd,hL("hostGraph","data")),h(Ud,hL("hostGraph","edgeData")),lL.Node=Zd,lL.Edge=Ud,ji(Zd),ji(Ud);var cL=function(t,e,i,n,o){for(var a=new lL(n),r=0;r<t.length;r++)a.addNode(T(t[r].id,t[r].name,r),r);for(var s=[],u=[],h=0,r=0;r<e.length;r++){var c=e[r],d=c.source,f=c.target;a.addEdge(d,f,h)&&(u.push(c),s.push(T(c.id,d+" > "+f)),h++)}var p,g=i.get("coordinateSystem");if("cartesian2d"===g||"polar"===g)p=dl(t,i);else{var m=Ba.get(g),v=m&&"view"!==m.type?m.dimensions||[]:[];l(v,"value")<0&&v.concat(["value"]);var y=oA(t,{coordDimensions:v});(p=new eA(y,i)).initData(t)}var x=new eA(["value"],i);return x.initData(u,s),o&&o(p,x),Sc({mainData:p,struct:a,structAttr:"graph",datas:{node:p,edge:x},datasAttr:{node:"data",edge:"edgeData"}}),a.update(),a},dL=Gs({type:"series.graph",init:function(t){dL.superApply(this,"init",arguments),this.legendDataProvider=function(){return this._categoriesData},this.fillDataTextStyle(t.edges||t.links),this._updateCategoriesData()},mergeOption:function(t){dL.superApply(this,"mergeOption",arguments),this.fillDataTextStyle(t.edges||t.links),this._updateCategoriesData()},mergeDefaultAndTheme:function(t){dL.superApply(this,"mergeDefaultAndTheme",arguments),Ci(t,["edgeLabel"],["show"])},getInitialData:function(t,e){var i=t.edges||t.links||[],n=t.data||t.nodes||[],o=this;if(n&&i)return cL(n,i,this,!0,function(t,i){function n(t){return(t=this.parsePath(t))&&"label"===t[0]?r:t&&"emphasis"===t[0]&&"label"===t[1]?l:this.parentModel}t.wrapMethod("getItemModel",function(t){var e=o._categoriesModels[t.getShallow("category")];return e&&(e.parentModel=t.parentModel,t.parentModel=e),t});var a=o.getModel("edgeLabel"),r=new Lo({label:a.option},a.parentModel,e),s=o.getModel("emphasis.edgeLabel"),l=new Lo({emphasis:{label:s.option}},s.parentModel,e);i.wrapMethod("getItemModel",function(t){return t.customizeGetParent(n),t})}).data},getGraph:function(){return this.getData().graph},getEdgeData:function(){return this.getGraph().edgeData},getCategoriesData:function(){return this._categoriesData},formatTooltip:function(t,e,i){if("edge"===i){var n=this.getData(),o=this.getDataParams(t,i),a=n.graph.getEdgeByIndex(t),r=n.getName(a.node1.dataIndex),s=n.getName(a.node2.dataIndex),l=[];return null!=r&&l.push(r),null!=s&&l.push(s),l=Qo(l.join(" > ")),o.value&&(l+=" : "+Qo(o.value)),l}return dL.superApply(this,"formatTooltip",arguments)},_updateCategoriesData:function(){var t=f(this.option.categories||[],function(t){return null!=t.value?t:a({value:0},t)}),e=new eA(["value"],this);e.initData(t),this._categoriesData=e,this._categoriesModels=e.mapArray(function(t){return e.getItemModel(t,!0)})},setZoom:function(t){this.option.zoom=t},setCenter:function(t){this.option.center=t},isAnimationEnabled:function(){return dL.superCall(this,"isAnimationEnabled")&&!("force"===this.get("layout")&&this.get("force.layoutAnimation"))},defaultOption:{zlevel:0,z:2,coordinateSystem:"view",legendHoverLink:!0,hoverAnimation:!0,layout:null,focusNodeAdjacency:!1,circular:{rotateLabel:!1},force:{initLayout:null,repulsion:[0,50],gravity:.1,edgeLength:30,layoutAnimation:!0},left:"center",top:"center",symbol:"circle",symbolSize:10,edgeSymbol:["none","none"],edgeSymbolSize:10,edgeLabel:{position:"middle"},draggable:!1,roam:!1,center:null,zoom:1,nodeScaleRatio:.6,label:{show:!1,formatter:"{b}"},itemStyle:{},lineStyle:{color:"#aaa",width:1,curveness:0,opacity:.5},emphasis:{label:{show:!0}}}}),fL=rM.prototype,pL=lM.prototype,gL=Fn({type:"ec-line",style:{stroke:"#000",fill:null},shape:{x1:0,y1:0,x2:0,y2:0,percent:1,cpx1:null,cpy1:null},buildPath:function(t,e){(Xd(e)?fL:pL).buildPath(t,e)},pointAt:function(t){return Xd(this.shape)?fL.pointAt.call(this,t):pL.pointAt.call(this,t)},tangentAt:function(t){var e=this.shape,i=Xd(e)?[e.x2-e.x1,e.y2-e.y1]:pL.tangentAt.call(this,t);return q(i,i)}}),mL=["fromSymbol","toSymbol"],vL=$d.prototype;vL.beforeUpdate=function(){var t=this,e=t.childOfName("fromSymbol"),i=t.childOfName("toSymbol"),n=t.childOfName("label");if(e||i||!n.ignore){for(var o=1,a=this.parent;a;)a.scale&&(o/=a.scale[0]),a=a.parent;var r=t.childOfName("line");if(this.__dirty||r.__dirty){var s=r.shape.percent,l=r.pointAt(0),u=r.pointAt(s),h=U([],u,l);if(q(h,h),e&&(e.attr("position",l),c=r.tangentAt(0),e.attr("rotation",Math.PI/2-Math.atan2(c[1],c[0])),e.attr("scale",[o*s,o*s])),i){i.attr("position",u);var c=r.tangentAt(1);i.attr("rotation",-Math.PI/2-Math.atan2(c[1],c[0])),i.attr("scale",[o*s,o*s])}if(!n.ignore){n.attr("position",u);var d,f,p,g=5*o;if("end"===n.__position)d=[h[0]*g+u[0],h[1]*g+u[1]],f=h[0]>.8?"left":h[0]<-.8?"right":"center",p=h[1]>.8?"top":h[1]<-.8?"bottom":"middle";else if("middle"===n.__position){var m=s/2,v=[(c=r.tangentAt(m))[1],-c[0]],y=r.pointAt(m);v[1]>0&&(v[0]=-v[0],v[1]=-v[1]),d=[y[0]+v[0]*g,y[1]+v[1]*g],f="center",p="bottom";var x=-Math.atan2(c[1],c[0]);u[0]<l[0]&&(x=Math.PI+x),n.attr("rotation",x)}else d=[-h[0]*g+l[0],-h[1]*g+l[1]],f=h[0]>.8?"right":h[0]<-.8?"left":"center",p=h[1]>.8?"bottom":h[1]<-.8?"top":"middle";n.attr({style:{textVerticalAlign:n.__verticalAlign||p,textAlign:n.__textAlign||f},position:d,scale:[o,o]})}}}},vL._createLine=function(t,e,i){var n=t.hostModel,o=qd(t.getItemLayout(e));o.shape.percent=0,So(o,{shape:{percent:1}},n,e),this.add(o);var a=new qS({name:"label"});this.add(a),d(mL,function(i){var n=Yd(i,t,e);this.add(n),this[jd(i)]=t.getItemVisual(e,i)},this),this._updateCommonStl(t,e,i)},vL.updateData=function(t,e,i){var n=t.hostModel,o=this.childOfName("line"),a=t.getItemLayout(e),r={shape:{}};Kd(r.shape,a),bo(o,r,n,e),d(mL,function(i){var n=t.getItemVisual(e,i),o=jd(i);if(this[o]!==n){this.remove(this.childOfName(i));var a=Yd(i,t,e);this.add(a)}this[o]=n},this),this._updateCommonStl(t,e,i)},vL._updateCommonStl=function(t,e,i){var n=t.hostModel,o=this.childOfName("line"),a=i&&i.lineStyle,s=i&&i.hoverLineStyle,l=i&&i.labelModel,u=i&&i.hoverLabelModel;if(!i||t.hasItemOption){var h=t.getItemModel(e);a=h.getModel("lineStyle").getLineStyle(),s=h.getModel("emphasis.lineStyle").getLineStyle(),l=h.getModel("label"),u=h.getModel("emphasis.label")}var c=t.getItemVisual(e,"color"),f=D(t.getItemVisual(e,"opacity"),a.opacity,1);o.useStyle(r({strokeNoScale:!0,fill:"none",stroke:c,opacity:f},a)),o.hoverStyle=s,d(mL,function(t){var e=this.childOfName(t);e&&(e.setColor(c),e.setStyle({opacity:f}))},this);var p,g,m=l.getShallow("show"),v=u.getShallow("show"),y=this.childOfName("label");if((m||v)&&(p=c||"#000",null==(g=n.getFormattedLabel(e,"normal",t.dataType)))){var x=n.getRawValue(e);g=null==x?t.getName(e):isFinite(x)?zo(x):x}var _=m?g:null,w=v?A(n.getFormattedLabel(e,"emphasis",t.dataType),g):null,b=y.style;null==_&&null==w||(fo(y.style,l,{text:_},{autoColor:p}),y.__textAlign=b.textAlign,y.__verticalAlign=b.textVerticalAlign,y.__position=l.get("position")||"middle"),y.hoverStyle=null!=w?{text:w,textFill:u.getTextColor(!0),fontStyle:u.getShallow("fontStyle"),fontWeight:u.getShallow("fontWeight"),fontSize:u.getShallow("fontSize"),fontFamily:u.getShallow("fontFamily")}:{text:null},y.ignore=!m&&!v,uo(this)},vL.highlight=function(){this.trigger("emphasis")},vL.downplay=function(){this.trigger("normal")},vL.updateLayout=function(t,e){this.setLinePoints(t.getItemLayout(e))},vL.setLinePoints=function(t){var e=this.childOfName("line");Kd(e.shape,t),e.dirty()},u($d,Zw);var yL=Jd.prototype;yL.isPersistent=function(){return!0},yL.updateData=function(t){var e=this,i=e.group,n=e._lineData;e._lineData=t,n||i.removeAll();var o=ef(t);t.diff(n).add(function(i){Qd(e,t,i,o)}).update(function(i,a){tf(e,n,t,a,i,o)}).remove(function(t){i.remove(n.getItemGraphicEl(t))}).execute()},yL.updateLayout=function(){var t=this._lineData;t&&t.eachItemGraphicEl(function(e,i){e.updateLayout(t,i)},this)},yL.incrementalPrepareUpdate=function(t){this._seriesScope=ef(t),this._lineData=null,this.group.removeAll()},yL.incrementalUpdate=function(t,e){for(var i=t.start;i<t.end;i++)if(of(e.getItemLayout(i))){var n=new this._ctor(e,i,this._seriesScope);n.traverse(function(t){t.isGroup||(t.incremental=t.useHoverLayer=!0)}),this.group.add(n),e.setItemGraphicEl(i,n)}},yL.remove=function(){this._clearIncremental(),this._incremental=null,this.group.removeAll()},yL._clearIncremental=function(){var t=this._incremental;t&&t.clearDisplaybles()};var xL=[],_L=[],wL=[],bL=rn,SL=iw,ML=Math.abs,IL=function(t,e){function i(t){var e=t.getVisual("symbolSize");return e instanceof Array&&(e=(e[0]+e[1])/2),e}var n=[],o=hn,a=[[],[],[]],r=[[],[]],s=[];e/=2,t.eachEdge(function(t,l){var u=t.getLayout(),h=t.getVisual("fromSymbol"),c=t.getVisual("toSymbol");u.__original||(u.__original=[F(u[0]),F(u[1])],u[2]&&u.__original.push(F(u[2])));var d=u.__original;if(null!=u[2]){if(G(a[0],d[0]),G(a[1],d[2]),G(a[2],d[1]),h&&"none"!==h){var f=i(t.node1),p=af(a,d[0],f*e);o(a[0][0],a[1][0],a[2][0],p,n),a[0][0]=n[3],a[1][0]=n[4],o(a[0][1],a[1][1],a[2][1],p,n),a[0][1]=n[3],a[1][1]=n[4]}if(c&&"none"!==c){var f=i(t.node2),p=af(a,d[1],f*e);o(a[0][0],a[1][0],a[2][0],p,n),a[1][0]=n[1],a[2][0]=n[2],o(a[0][1],a[1][1],a[2][1],p,n),a[1][1]=n[1],a[2][1]=n[2]}G(u[0],a[0]),G(u[1],a[2]),G(u[2],a[1])}else{if(G(r[0],d[0]),G(r[1],d[1]),U(s,r[1],r[0]),q(s,s),h&&"none"!==h){f=i(t.node1);Z(r[0],r[0],s,f*e)}if(c&&"none"!==c){f=i(t.node2);Z(r[1],r[1],s,-f*e)}G(u[0],r[0]),G(u[1],r[1])}})},TL=["itemStyle","opacity"],AL=["lineStyle","opacity"];Fs({type:"graph",init:function(t,e){var i=new Su,n=new Jd,o=this.group;this._controller=new ac(e.getZr()),this._controllerHost={target:o},o.add(i.group),o.add(n.group),this._symbolDraw=i,this._lineDraw=n,this._firstRender=!0},render:function(t,e,i){var n=t.coordinateSystem;this._model=t,this._nodeScaleRatio=t.get("nodeScaleRatio");var o=this._symbolDraw,a=this._lineDraw,r=this.group;if("view"===n.type){var s={position:n.position,scale:n.scale};this._firstRender?r.attr(s):bo(r,s,t)}IL(t.getGraph(),this._getNodeGlobalScale(t));var l=t.getData();o.updateData(l);var u=t.getEdgeData();a.updateData(u),this._updateNodeAndLinkScale(),this._updateController(t,e,i),clearTimeout(this._layoutTimeout);var h=t.forceLayout,c=t.get("force.layoutAnimation");h&&this._startForceLayoutIteration(h,c),l.eachItemGraphicEl(function(e,n){var o=l.getItemModel(n);e.off("drag").off("dragend");var a=o.get("draggable");a&&e.on("drag",function(){h&&(h.warmUp(),!this._layouting&&this._startForceLayoutIteration(h,c),h.setFixed(n),l.setItemLayout(n,e.position))},this).on("dragend",function(){h&&h.setUnfixed(n)},this),e.setDraggable(a&&h),e.off("mouseover",e.__focusNodeAdjacency),e.off("mouseout",e.__unfocusNodeAdjacency),o.get("focusNodeAdjacency")&&(e.on("mouseover",e.__focusNodeAdjacency=function(){i.dispatchAction({type:"focusNodeAdjacency",seriesId:t.id,dataIndex:e.dataIndex})}),e.on("mouseout",e.__unfocusNodeAdjacency=function(){i.dispatchAction({type:"unfocusNodeAdjacency",seriesId:t.id})}))},this),l.graph.eachEdge(function(e){var n=e.getGraphicEl();n.off("mouseover",n.__focusNodeAdjacency),n.off("mouseout",n.__unfocusNodeAdjacency),e.getModel().get("focusNodeAdjacency")&&(n.on("mouseover",n.__focusNodeAdjacency=function(){i.dispatchAction({type:"focusNodeAdjacency",seriesId:t.id,edgeDataIndex:e.dataIndex})}),n.on("mouseout",n.__unfocusNodeAdjacency=function(){i.dispatchAction({type:"unfocusNodeAdjacency",seriesId:t.id})}))});var d="circular"===t.get("layout")&&t.get("circular.rotateLabel"),f=l.getLayout("cx"),p=l.getLayout("cy");l.eachItemGraphicEl(function(t,e){var i=t.getSymbolPath();if(d){var n=l.getItemLayout(e),o=Math.atan2(n[1]-p,n[0]-f);o<0&&(o=2*Math.PI+o);var a=n[0]<f;a&&(o-=Math.PI);var r=a?"left":"right";i.setStyle({textRotation:-o,textPosition:r,textOrigin:"center"}),i.hoverStyle&&(i.hoverStyle.textPosition=r)}else i.setStyle({textRotation:0})}),this._firstRender=!1},dispose:function(){this._controller&&this._controller.dispose(),this._controllerHost={}},focusNodeAdjacency:function(t,e,i,n){var o=this._model.getData().graph,a=n.dataIndex,r=n.edgeDataIndex,s=o.getNodeByIndex(a),l=o.getEdgeByIndex(r);(s||l)&&(o.eachNode(function(t){sf(t,TL,.1)}),o.eachEdge(function(t){sf(t,AL,.1)}),s&&(lf(s,TL),d(s.edges,function(t){t.dataIndex<0||(lf(t,AL),lf(t.node1,TL),lf(t.node2,TL))})),l&&(lf(l,AL),lf(l.node1,TL),lf(l.node2,TL)))},unfocusNodeAdjacency:function(t,e,i,n){var o=this._model.getData().graph;o.eachNode(function(t){sf(t,TL)}),o.eachEdge(function(t){sf(t,AL)})},_startForceLayoutIteration:function(t,e){var i=this;!function n(){t.step(function(t){i.updateLayout(i._model),(i._layouting=!t)&&(e?i._layoutTimeout=setTimeout(n,16):n())})}()},_updateController:function(t,e,i){var n=this._controller,o=this._controllerHost,a=this.group;n.setPointerChecker(function(e,n,o){var r=a.getBoundingRect();return r.applyTransform(a.transform),r.contain(n,o)&&!mc(e,i,t)}),"view"===t.coordinateSystem.type?(n.enable(t.get("roam")),o.zoomLimit=t.get("scaleLimit"),o.zoom=t.coordinateSystem.getZoom(),n.off("pan").off("zoom").on("pan",function(e){pc(o,e.dx,e.dy),i.dispatchAction({seriesId:t.id,type:"graphRoam",dx:e.dx,dy:e.dy})}).on("zoom",function(e){gc(o,e.scale,e.originX,e.originY),i.dispatchAction({seriesId:t.id,type:"graphRoam",zoom:e.scale,originX:e.originX,originY:e.originY}),this._updateNodeAndLinkScale(),IL(t.getGraph(),this._getNodeGlobalScale(t)),this._lineDraw.updateLayout()},this)):n.disable()},_updateNodeAndLinkScale:function(){var t=this._model,e=t.getData(),i=this._getNodeGlobalScale(t),n=[i,i];e.eachItemGraphicEl(function(t,e){t.attr("scale",n)})},_getNodeGlobalScale:function(t){var e=t.coordinateSystem;if("view"!==e.type)return 1;var i=this._nodeScaleRatio,n=e.scale,o=n&&n[0]||1;return((e.getZoom()-1)*i+1)/o},updateLayout:function(t){IL(t.getGraph(),this._getNodeGlobalScale(t)),this._symbolDraw.updateLayout(),this._lineDraw.updateLayout()},remove:function(t,e){this._symbolDraw&&this._symbolDraw.remove(),this._lineDraw&&this._lineDraw.remove()}}),Ps({type:"focusNodeAdjacency",event:"focusNodeAdjacency",update:"series:focusNodeAdjacency"},function(){}),Ps({type:"unfocusNodeAdjacency",event:"unfocusNodeAdjacency",update:"series:unfocusNodeAdjacency"},function(){}),Ps({type:"graphRoam",event:"graphRoam",update:"none"},function(t,e){e.eachComponent({mainType:"series",query:t},function(e){var i=wc(e.coordinateSystem,t);e.setCenter&&e.setCenter(i.center),e.setZoom&&e.setZoom(i.zoom)})});var DL=Z;ks(function(t){var e=t.findComponents({mainType:"legend"});e&&e.length&&t.eachSeriesByType("graph",function(t){var i=t.getCategoriesData(),n=t.getGraph().data,o=i.mapArray(i.getName);n.filterSelf(function(t){var i=n.getItemModel(t).getShallow("category");if(null!=i){"number"==typeof i&&(i=o[i]);for(var a=0;a<e.length;a++)if(!e[a].isSelected(i))return!1}return!0})},this)}),Es(hD("graph","circle",null)),Es(function(t){var e={};t.eachSeriesByType("graph",function(t){var i=t.getCategoriesData(),n=t.getData(),o={};i.each(function(n){var a=i.getName(n);o["ec-"+a]=n;var r=i.getItemModel(n).get("itemStyle.color")||t.getColorFromPalette(a,e);i.setItemVisual(n,"color",r)}),i.count()&&n.each(function(t){var e=n.getItemModel(t).getShallow("category");null!=e&&("string"==typeof e&&(e=o["ec-"+e]),n.getItemVisual(t,"color",!0)||n.setItemVisual(t,"color",i.getItemVisual(e,"color")))})})}),Es(function(t){t.eachSeriesByType("graph",function(t){var e=t.getGraph(),i=t.getEdgeData(),n=uf(t.get("edgeSymbol")),o=uf(t.get("edgeSymbolSize")),a="lineStyle.color".split("."),r="lineStyle.opacity".split(".");i.setVisual("fromSymbol",n&&n[0]),i.setVisual("toSymbol",n&&n[1]),i.setVisual("fromSymbolSize",o&&o[0]),i.setVisual("toSymbolSize",o&&o[1]),i.setVisual("color",t.get(a)),i.setVisual("opacity",t.get(r)),i.each(function(t){var n=i.getItemModel(t),o=e.getEdgeByIndex(t),s=uf(n.getShallow("symbol",!0)),l=uf(n.getShallow("symbolSize",!0)),u=n.get(a),h=n.get(r);switch(u){case"source":u=o.node1.getVisual("color");break;case"target":u=o.node2.getVisual("color")}s[0]&&o.setVisual("fromSymbol",s[0]),s[1]&&o.setVisual("toSymbol",s[1]),l[0]&&o.setVisual("fromSymbolSize",l[0]),l[1]&&o.setVisual("toSymbolSize",l[1]),o.setVisual("color",u),o.setVisual("opacity",h)})})}),Os(function(t,e){t.eachSeriesByType("graph",function(t){var e=t.get("layout"),i=t.coordinateSystem;if(i&&"view"!==i.type){var n=t.getData(),o=[];d(i.dimensions,function(t){o=o.concat(n.mapDimension(t,!0))});for(var a=0;a<n.count();a++){for(var r=[],s=!1,l=0;l<o.length;l++){var u=n.get(o[l],a);isNaN(u)||(s=!0),r.push(u)}s?n.setItemLayout(a,i.dataToPoint(r)):n.setItemLayout(a,[NaN,NaN])}cf(n.graph)}else e&&"none"!==e||hf(t)})}),Os(function(t){t.eachSeriesByType("graph",function(t){"circular"===t.get("layout")&&df(t)})}),Os(function(t){t.eachSeriesByType("graph",function(t){var e=t.coordinateSystem;if(!e||"view"===e.type)if("force"===t.get("layout")){var i=t.preservedPoints||{},n=t.getGraph(),o=n.data,a=n.edgeData,r=t.getModel("force"),s=r.get("initLayout");t.preservedPoints?o.each(function(t){var e=o.getId(t);o.setItemLayout(t,i[e]||[NaN,NaN])}):s&&"none"!==s?"circular"===s&&df(t):hf(t);var l=o.getDataExtent("value"),u=a.getDataExtent("value"),h=r.get("repulsion"),c=r.get("edgeLength");y(h)||(h=[h,h]),y(c)||(c=[c,c]),c=[c[1],c[0]];var d=o.mapArray("value",function(t,e){var i=o.getItemLayout(e),n=Eo(t,l,h);return isNaN(n)&&(n=(h[0]+h[1])/2),{w:n,rep:n,fixed:o.getItemModel(e).get("fixed"),p:!i||isNaN(i[0])||isNaN(i[1])?null:i}}),f=a.mapArray("value",function(t,e){var i=n.getEdgeByIndex(e),o=Eo(t,u,c);return isNaN(o)&&(o=(c[0]+c[1])/2),{n1:d[i.node1.dataIndex],n2:d[i.node2.dataIndex],d:o,curveness:i.getModel().get("lineStyle.curveness")||0}}),p=(e=t.coordinateSystem).getBoundingRect(),g=ff(d,f,{rect:p,gravity:r.get("gravity")}),m=g.step;g.step=function(t){for(var e=0,a=d.length;e<a;e++)d[e].fixed&&G(d[e].p,n.getNodeByIndex(e).getLayout());m(function(e,a,r){for(var s=0,l=e.length;s<l;s++)e[s].fixed||n.getNodeByIndex(s).setLayout(e[s].p),i[o.getId(s)]=e[s].p;for(var s=0,l=a.length;s<l;s++){var u=a[s],h=n.getEdgeByIndex(s),c=u.n1.p,d=u.n2.p,f=h.getLayout();(f=f?f.slice():[])[0]=f[0]||[],f[1]=f[1]||[],G(f[0],c),G(f[1],d),+u.curveness&&(f[2]=[(c[0]+d[0])/2-(c[1]-d[1])*u.curveness,(c[1]+d[1])/2-(d[0]-c[0])*u.curveness]),h.setLayout(f)}t&&t(r)})},t.forceLayout=g,t.preservedPoints=i,g.step()}else t.forceLayout=null})}),Ns("graphView",{create:function(t,e){var i=[];return t.eachSeriesByType("graph",function(t){var n=t.get("coordinateSystem");if(!n||"view"===n){var o=t.getData(),a=[],r=[];dn(o.mapArray(function(t){var e=o.getItemModel(t);return[+e.get("x"),+e.get("y")]}),a,r),r[0]-a[0]==0&&(r[0]+=1,a[0]-=1),r[1]-a[1]==0&&(r[1]+=1,a[1]-=1);var s=(r[0]-a[0])/(r[1]-a[1]),l=pf(t,e,s);isNaN(s)&&(a=[l.x,l.y],r=[l.x+l.width,l.y+l.height]);var u=r[0]-a[0],h=r[1]-a[1],c=l.width,d=l.height,f=t.coordinateSystem=new Uh;f.zoomLimit=t.get("scaleLimit"),f.setBoundingRect(a[0],a[1],u,h),f.setViewRect(l.x,l.y,c,d),f.setCenter(t.get("center")),f.setZoom(t.get("zoom")),i.push(f)}}),i}});OI.extend({type:"series.gauge",getInitialData:function(t,e){var i=t.data||[];return y(i)||(i=[i]),t.data=i,WD(this,["value"])},defaultOption:{zlevel:0,z:2,center:["50%","50%"],legendHoverLink:!0,radius:"75%",startAngle:225,endAngle:-45,clockwise:!0,min:0,max:100,splitNumber:10,axisLine:{show:!0,lineStyle:{color:[[.2,"#91c7ae"],[.8,"#63869e"],[1,"#c23531"]],width:30}},splitLine:{show:!0,length:30,lineStyle:{color:"#eee",width:2,type:"solid"}},axisTick:{show:!0,splitNumber:5,length:8,lineStyle:{color:"#eee",width:1,type:"solid"}},axisLabel:{show:!0,distance:5,color:"auto"},pointer:{show:!0,length:"80%",width:8},itemStyle:{color:"auto"},title:{show:!0,offsetCenter:[0,"-40%"],color:"#333",fontSize:15},detail:{show:!0,backgroundColor:"rgba(0,0,0,0)",borderWidth:0,borderColor:"#ccc",width:100,height:null,padding:[5,10],offsetCenter:[0,"40%"],color:"auto",fontSize:30}}});var CL=kn.extend({type:"echartsGaugePointer",shape:{angle:0,width:10,r:10,x:0,y:0},buildPath:function(t,e){var i=Math.cos,n=Math.sin,o=e.r,a=e.width,r=e.angle,s=e.x-i(r)*a*(a>=o/3?1:2),l=e.y-n(r)*a*(a>=o/3?1:2);r=e.angle-Math.PI/2,t.moveTo(s,l),t.lineTo(e.x+i(r)*a,e.y+n(r)*a),t.lineTo(e.x+i(e.angle)*o,e.y+n(e.angle)*o),t.lineTo(e.x-i(r)*a,e.y-n(r)*a),t.lineTo(s,l)}}),LL=2*Math.PI,kL=(Mr.extend({type:"gauge",render:function(t,e,i){this.group.removeAll();var n=t.get("axisLine.lineStyle.color"),o=gf(t,i);this._renderMain(t,e,i,n,o)},dispose:function(){},_renderMain:function(t,e,i,n,o){for(var a=this.group,r=t.getModel("axisLine").getModel("lineStyle"),s=t.get("clockwise"),l=-t.get("startAngle")/180*Math.PI,u=-t.get("endAngle")/180*Math.PI,h=(u-l)%LL,c=l,d=r.get("width"),f=0;f<n.length;f++){var p=Math.min(Math.max(n[f][0],0),1),g=new QS({shape:{startAngle:c,endAngle:u=l+h*p,cx:o.cx,cy:o.cy,clockwise:s,r0:o.r-d,r:o.r},silent:!0});g.setStyle({fill:n[f][1]}),g.setStyle(r.getLineStyle(["color","borderWidth","borderColor"])),a.add(g),c=u}var m=function(t){if(t<=0)return n[0][1];for(var e=0;e<n.length;e++)if(n[e][0]>=t&&(0===e?0:n[e-1][0])<t)return n[e][1];return n[e-1][1]};if(!s){var v=l;l=u,u=v}this._renderTicks(t,e,i,m,o,l,u,s),this._renderPointer(t,e,i,m,o,l,u,s),this._renderTitle(t,e,i,m,o),this._renderDetail(t,e,i,m,o)},_renderTicks:function(t,e,i,n,o,a,r,s){for(var l=this.group,u=o.cx,h=o.cy,c=o.r,d=+t.get("min"),f=+t.get("max"),p=t.getModel("splitLine"),g=t.getModel("axisTick"),m=t.getModel("axisLabel"),v=t.get("splitNumber"),y=g.get("splitNumber"),x=Ro(p.get("length"),c),_=Ro(g.get("length"),c),w=a,b=(r-a)/v,S=b/y,M=p.getModel("lineStyle").getLineStyle(),I=g.getModel("lineStyle").getLineStyle(),T=0;T<=v;T++){var A=Math.cos(w),D=Math.sin(w);if(p.get("show")){var C=new rM({shape:{x1:A*c+u,y1:D*c+h,x2:A*(c-x)+u,y2:D*(c-x)+h},style:M,silent:!0});"auto"===M.stroke&&C.setStyle({stroke:n(T/v)}),l.add(C)}if(m.get("show")){var L=mf(zo(T/v*(f-d)+d),m.get("formatter")),k=m.get("distance"),P=n(T/v);l.add(new qS({style:fo({},m,{text:L,x:A*(c-x-k)+u,y:D*(c-x-k)+h,textVerticalAlign:D<-.4?"top":D>.4?"bottom":"middle",textAlign:A<-.4?"left":A>.4?"right":"center"},{autoColor:P}),silent:!0}))}if(g.get("show")&&T!==v){for(var N=0;N<=y;N++){var A=Math.cos(w),D=Math.sin(w),O=new rM({shape:{x1:A*c+u,y1:D*c+h,x2:A*(c-_)+u,y2:D*(c-_)+h},silent:!0,style:I});"auto"===I.stroke&&O.setStyle({stroke:n((T+N/y)/v)}),l.add(O),w+=S}w-=S}else w+=b}},_renderPointer:function(t,e,i,n,o,a,r,s){var l=this.group,u=this._data;if(t.get("pointer.show")){var h=[+t.get("min"),+t.get("max")],c=[a,r],d=t.getData(),f=d.mapDimension("value");d.diff(u).add(function(e){var i=new CL({shape:{angle:a}});So(i,{shape:{angle:Eo(d.get(f,e),h,c,!0)}},t),l.add(i),d.setItemGraphicEl(e,i)}).update(function(e,i){var n=u.getItemGraphicEl(i);bo(n,{shape:{angle:Eo(d.get(f,e),h,c,!0)}},t),l.add(n),d.setItemGraphicEl(e,n)}).remove(function(t){var e=u.getItemGraphicEl(t);l.remove(e)}).execute(),d.eachItemGraphicEl(function(t,e){var i=d.getItemModel(e),a=i.getModel("pointer");t.setShape({x:o.cx,y:o.cy,width:Ro(a.get("width"),o.r),r:Ro(a.get("length"),o.r)}),t.useStyle(i.getModel("itemStyle").getItemStyle()),"auto"===t.style.fill&&t.setStyle("fill",n(Eo(d.get(f,e),h,[0,1],!0))),uo(t,i.getModel("emphasis.itemStyle").getItemStyle())}),this._data=d}else u&&u.eachItemGraphicEl(function(t){l.remove(t)})},_renderTitle:function(t,e,i,n,o){var a=t.getData(),r=a.mapDimension("value"),s=t.getModel("title");if(s.get("show")){var l=s.get("offsetCenter"),u=o.cx+Ro(l[0],o.r),h=o.cy+Ro(l[1],o.r),c=+t.get("min"),d=+t.get("max"),f=n(Eo(t.getData().get(r,0),[c,d],[0,1],!0));this.group.add(new qS({silent:!0,style:fo({},s,{x:u,y:h,text:a.getName(0),textAlign:"center",textVerticalAlign:"middle"},{autoColor:f,forceRich:!0})}))}},_renderDetail:function(t,e,i,n,o){var a=t.getModel("detail"),r=+t.get("min"),s=+t.get("max");if(a.get("show")){var l=a.get("offsetCenter"),u=o.cx+Ro(l[0],o.r),h=o.cy+Ro(l[1],o.r),c=Ro(a.get("width"),o.r),d=Ro(a.get("height"),o.r),f=t.getData(),p=f.get(f.mapDimension("value"),0),g=n(Eo(p,[r,s],[0,1],!0));this.group.add(new qS({silent:!0,style:fo({},a,{x:u,y:h,text:mf(p,a.get("formatter")),textWidth:isNaN(c)?null:c,textHeight:isNaN(d)?null:d,textAlign:"center",textVerticalAlign:"middle"},{autoColor:g,forceRich:!0})}))}}}),Gs({type:"series.funnel",init:function(t){kL.superApply(this,"init",arguments),this.legendDataProvider=function(){return this.getRawData()},this._defaultLabelLine(t)},getInitialData:function(t,e){return WD(this,["value"])},_defaultLabelLine:function(t){Ci(t,"labelLine",["show"]);var e=t.labelLine,i=t.emphasis.labelLine;e.show=e.show&&t.label.show,i.show=i.show&&t.emphasis.label.show},getDataParams:function(t){var e=this.getData(),i=kL.superCall(this,"getDataParams",t),n=e.mapDimension("value"),o=e.getSum(n);return i.percent=o?+(e.get(n,t)/o*100).toFixed(2):0,i.$vars.push("percent"),i},defaultOption:{zlevel:0,z:2,legendHoverLink:!0,left:80,top:60,right:80,bottom:60,minSize:"0%",maxSize:"100%",sort:"descending",gap:0,funnelAlign:"center",label:{show:!0,position:"outer"},labelLine:{show:!0,length:20,lineStyle:{width:1,type:"solid"}},itemStyle:{borderColor:"#fff",borderWidth:1},emphasis:{label:{show:!0}}}})),PL=vf.prototype,NL=["itemStyle","opacity"];PL.updateData=function(t,e,i){var n=this.childAt(0),o=t.hostModel,a=t.getItemModel(e),s=t.getItemLayout(e),l=t.getItemModel(e).get(NL);l=null==l?1:l,n.useStyle({}),i?(n.setShape({points:s.points}),n.setStyle({opacity:0}),So(n,{style:{opacity:l}},o,e)):bo(n,{style:{opacity:l},shape:{points:s.points}},o,e);var u=a.getModel("itemStyle"),h=t.getItemVisual(e,"color");n.setStyle(r({lineJoin:"round",fill:h},u.getItemStyle(["opacity"]))),n.hoverStyle=u.getModel("emphasis").getItemStyle(),this._updateLabel(t,e),uo(this)},PL._updateLabel=function(t,e){var i=this.childAt(1),n=this.childAt(2),o=t.hostModel,a=t.getItemModel(e),r=t.getItemLayout(e).label,s=t.getItemVisual(e,"color");bo(i,{shape:{points:r.linePoints||r.linePoints}},o,e),bo(n,{style:{x:r.x,y:r.y}},o,e),n.attr({rotation:r.rotation,origin:[r.x,r.y],z2:10});var l=a.getModel("label"),u=a.getModel("emphasis.label"),h=a.getModel("labelLine"),c=a.getModel("emphasis.labelLine"),s=t.getItemVisual(e,"color");co(n.style,n.hoverStyle={},l,u,{labelFetcher:t.hostModel,labelDataIndex:e,defaultText:t.getName(e),autoColor:s,useInsideStyle:!!r.inside},{textAlign:r.textAlign,textVerticalAlign:r.verticalAlign}),n.ignore=n.normalIgnore=!l.get("show"),n.hoverIgnore=!u.get("show"),i.ignore=i.normalIgnore=!h.get("show"),i.hoverIgnore=!c.get("show"),i.setStyle({stroke:s}),i.setStyle(h.getModel("lineStyle").getLineStyle()),i.hoverStyle=c.getModel("lineStyle").getLineStyle()},u(vf,Zw);Mr.extend({type:"funnel",render:function(t,e,i){var n=t.getData(),o=this._data,a=this.group;n.diff(o).add(function(t){var e=new vf(n,t);n.setItemGraphicEl(t,e),a.add(e)}).update(function(t,e){var i=o.getItemGraphicEl(e);i.updateData(n,t),a.add(i),n.setItemGraphicEl(t,i)}).remove(function(t){var e=o.getItemGraphicEl(t);a.remove(e)}).execute(),this._data=n},remove:function(){this.group.removeAll(),this._data=null},dispose:function(){}});Es(jD("funnel")),Os(function(t,e,i){t.eachSeriesByType("funnel",function(t){var i=t.getData(),n=i.mapDimension("value"),o=t.get("sort"),a=yf(t,e),r=xf(i,o),s=[Ro(t.get("minSize"),a.width),Ro(t.get("maxSize"),a.width)],l=i.getDataExtent(n),u=t.get("min"),h=t.get("max");null==u&&(u=Math.min(l[0],0)),null==h&&(h=l[1]);var c=t.get("funnelAlign"),d=t.get("gap"),f=(a.height-d*(i.count()-1))/i.count(),p=a.y,g=function(t,e){var o,r=Eo(i.get(n,t)||0,[u,h],s,!0);switch(c){case"left":o=a.x;break;case"center":o=a.x+(a.width-r)/2;break;case"right":o=a.x+a.width-r}return[[o,e],[o+r,e]]};"ascending"===o&&(f=-f,d=-d,p+=a.height,r=r.reverse());for(var m=0;m<r.length;m++){var v=r[m],y=r[m+1],x=i.getItemModel(v).get("itemStyle.height");null==x?x=f:(x=Ro(x,a.height),"ascending"===o&&(x=-x));var _=g(v,p),w=g(y,p+x);p+=x+d,i.setItemLayout(v,{points:_.concat(w.slice().reverse())})}_f(i)})}),ks($D("funnel"));var OL=function(t,e,i,n,o){HA.call(this,t,e,i),this.type=n||"value",this.axisIndex=o};OL.prototype={constructor:OL,model:null,isHorizontal:function(){return"horizontal"!==this.coordinateSystem.getModel().get("layout")}},u(OL,HA);var EL=function(t,e,i,n,o,a){e[0]=Mf(e[0],i),e[1]=Mf(e[1],i),t=t||0;var r=i[1]-i[0];null!=o&&(o=Mf(o,[0,r])),null!=a&&(a=Math.max(a,null!=o?o:0)),"all"===n&&(o=a=Math.abs(e[1]-e[0]),n=0);var s=Sf(e,n);e[n]+=t;var l=o||0,u=i.slice();s.sign<0?u[0]+=l:u[1]-=l,e[n]=Mf(e[n],u);h=Sf(e,n);null!=o&&(h.sign!==s.sign||h.span<o)&&(e[1-n]=e[n]+s.sign*o);var h=Sf(e,n);return null!=a&&h.span>a&&(e[1-n]=e[n]+h.sign*a),e},RL=d,zL=Math.min,BL=Math.max,VL=Math.floor,GL=Math.ceil,FL=zo,WL=Math.PI;If.prototype={type:"parallel",constructor:If,_init:function(t,e,i){var n=t.dimensions,o=t.parallelAxisIndex;RL(n,function(t,i){var n=o[i],a=e.getComponent("parallelAxis",n),r=this._axesMap.set(t,new OL(t,Vl(a),[0,0],a.get("type"),n)),s="category"===r.type;r.onBand=s&&a.get("boundaryGap"),r.inverse=a.get("inverse"),a.axis=r,r.model=a,r.coordinateSystem=a.coordinateSystem=this},this)},update:function(t,e){this._updateAxesFromSeries(this._model,t)},containPoint:function(t){var e=this._makeLayoutInfo(),i=e.axisBase,n=e.layoutBase,o=e.pixelDimIndex,a=t[1-o],r=t[o];return a>=i&&a<=i+e.axisLength&&r>=n&&r<=n+e.layoutLength},getModel:function(){return this._model},_updateAxesFromSeries:function(t,e){e.eachSeries(function(i){if(t.contains(i,e)){var n=i.getData();RL(this.dimensions,function(t){var e=this._axesMap.get(t);e.scale.unionExtentFromData(n,n.mapDimension(t)),Bl(e.scale,e.model)},this)}},this)},resize:function(t,e){this._rect=la(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()}),this._layoutAxes()},getRect:function(){return this._rect},_makeLayoutInfo:function(){var t,e=this._model,i=this._rect,n=["x","y"],o=["width","height"],a=e.get("layout"),r="horizontal"===a?0:1,s=i[o[r]],l=[0,s],u=this.dimensions.length,h=Tf(e.get("axisExpandWidth"),l),c=Tf(e.get("axisExpandCount")||0,[0,u]),d=e.get("axisExpandable")&&u>3&&u>c&&c>1&&h>0&&s>0,f=e.get("axisExpandWindow");f?(t=Tf(f[1]-f[0],l),f[1]=f[0]+t):(t=Tf(h*(c-1),l),(f=[h*(e.get("axisExpandCenter")||VL(u/2))-t/2])[1]=f[0]+t);var p=(s-t)/(u-c);p<3&&(p=0);var g=[VL(FL(f[0]/h,1))+1,GL(FL(f[1]/h,1))-1],m=p/h*f[0];return{layout:a,pixelDimIndex:r,layoutBase:i[n[r]],layoutLength:s,axisBase:i[n[1-r]],axisLength:i[o[1-r]],axisExpandable:d,axisExpandWidth:h,axisCollapseWidth:p,axisExpandWindow:f,axisCount:u,winInnerIndices:g,axisExpandWindow0Pos:m}},_layoutAxes:function(){var t=this._rect,e=this._axesMap,i=this.dimensions,n=this._makeLayoutInfo(),o=n.layout;e.each(function(t){var e=[0,n.axisLength],i=t.inverse?1:0;t.setExtent(e[i],e[1-i])}),RL(i,function(e,i){var a=(n.axisExpandable?Df:Af)(i,n),r={horizontal:{x:a.position,y:n.axisLength},vertical:{x:0,y:a.position}},s={horizontal:WL/2,vertical:0},l=[r[o].x+t.x,r[o].y+t.y],u=s[o],h=mt();wt(h,h,u),_t(h,h,l),this._axesLayout[e]={position:l,rotation:u,transform:h,axisNameAvailableWidth:a.axisNameAvailableWidth,axisLabelShow:a.axisLabelShow,nameTruncateMaxWidth:a.nameTruncateMaxWidth,tickDirection:1,labelDirection:1}},this)},getAxis:function(t){return this._axesMap.get(t)},dataToPoint:function(t,e){return this.axisCoordToPoint(this._axesMap.get(e).dataToCoord(t),e)},eachActiveState:function(t,e,i,n){null==i&&(i=0),null==n&&(n=t.count());var o=this._axesMap,a=this.dimensions,r=[],s=[];d(a,function(e){r.push(t.mapDimension(e)),s.push(o.get(e).model)});for(var l=this.hasAxisBrushed(),u=i;u<n;u++){var h;if(l){h="active";for(var c=t.getValues(r,u),f=0,p=a.length;f<p;f++)if("inactive"===s[f].getActiveState(c[f])){h="inactive";break}}else h="normal";e(h,u)}},hasAxisBrushed:function(){for(var t=this.dimensions,e=this._axesMap,i=!1,n=0,o=t.length;n<o;n++)"normal"!==e.get(t[n]).model.getActiveState()&&(i=!0);return i},axisCoordToPoint:function(t,e){return Io([t,0],this._axesLayout[e].transform)},getAxisLayout:function(t){return i(this._axesLayout[t])},getSlidedAxisExpandWindow:function(t){var e=this._makeLayoutInfo(),i=e.pixelDimIndex,n=e.axisExpandWindow.slice(),o=n[1]-n[0],a=[0,e.axisExpandWidth*(e.axisCount-1)];if(!this.containPoint(t))return{behavior:"none",axisExpandWindow:n};var r,s=t[i]-e.layoutBase-e.axisExpandWindow0Pos,l="slide",u=e.axisCollapseWidth,h=this._model.get("axisExpandSlideTriggerArea"),c=null!=h[0];if(u)c&&u&&s<o*h[0]?(l="jump",r=s-o*h[2]):c&&u&&s>o*(1-h[0])?(l="jump",r=s-o*(1-h[2])):(r=s-o*h[1])>=0&&(r=s-o*(1-h[1]))<=0&&(r=0),(r*=e.axisExpandWidth/u)?EL(r,n,a,"all"):l="none";else{o=n[1]-n[0];(n=[BL(0,a[1]*s/o-o/2)])[1]=zL(a[1],n[0]+o),n[0]=n[1]-o}return{axisExpandWindow:n,behavior:l}}},Ba.register("parallel",{create:function(t,e){var i=[];return t.eachComponent("parallel",function(n,o){var a=new If(n,t,e);a.name="parallel_"+o,a.resize(n,e),n.coordinateSystem=a,a.model=n,i.push(a)}),t.eachSeries(function(e){if("parallel"===e.get("coordinateSystem")){var i=t.queryComponents({mainType:"parallel",index:e.get("parallelIndex"),id:e.get("parallelId")})[0];e.coordinateSystem=i.coordinateSystem}}),i}});var HL=YM.extend({type:"baseParallelAxis",axis:null,activeIntervals:[],getAreaSelectStyle:function(){return Wb([["fill","color"],["lineWidth","borderWidth"],["stroke","borderColor"],["width","width"],["opacity","opacity"]])(this.getModel("areaSelectStyle"))},setActiveIntervals:function(t){var e=this.activeIntervals=i(t);if(e)for(var n=e.length-1;n>=0;n--)Bo(e[n])},getActiveState:function(t){var e=this.activeIntervals;if(!e.length)return"normal";if(null==t||isNaN(t))return"inactive";if(1===e.length){var i=e[0];if(i[0]<=t&&t<=i[1])return"active"}else for(var n=0,o=e.length;n<o;n++)if(e[n][0]<=t&&t<=e[n][1])return"active";return"inactive"}}),ZL={type:"value",dim:null,areaSelectStyle:{width:20,borderWidth:1,borderColor:"rgba(160,197,232)",color:"rgba(160,197,232)",opacity:.3},realtime:!0,z:10};n(HL.prototype,CA),xD("parallel",HL,function(t,e){return e.type||(e.data?"category":"value")},ZL),YM.extend({type:"parallel",dependencies:["parallelAxis"],coordinateSystem:null,dimensions:null,parallelAxisIndex:null,layoutMode:"box",defaultOption:{zlevel:0,z:0,left:80,top:60,right:80,bottom:60,layout:"horizontal",axisExpandable:!1,axisExpandCenter:null,axisExpandCount:0,axisExpandWidth:50,axisExpandRate:17,axisExpandDebounce:50,axisExpandSlideTriggerArea:[-.15,.05,.4],axisExpandTriggerOn:"click",parallelAxisDefault:null},init:function(){YM.prototype.init.apply(this,arguments),this.mergeOption({})},mergeOption:function(t){var e=this.option;t&&n(e,t,!0),this._initDimensions()},contains:function(t,e){var i=t.get("parallelIndex");return null!=i&&e.getComponent("parallel",i)===this},setAxisExpand:function(t){d(["axisExpandable","axisExpandCenter","axisExpandCount","axisExpandWidth","axisExpandWindow"],function(e){t.hasOwnProperty(e)&&(this.option[e]=t[e])},this)},_initDimensions:function(){var t=this.dimensions=[],e=this.parallelAxisIndex=[];d(g(this.dependentModels.parallelAxis,function(t){return(t.get("parallelIndex")||0)===this.componentIndex},this),function(i){t.push("dim"+i.get("dim")),e.push(i.componentIndex)})}}),Ps({type:"axisAreaSelect",event:"axisAreaSelected"},function(t,e){e.eachComponent({mainType:"parallelAxis",query:t},function(e){e.axis.model.setActiveIntervals(t.intervals)})}),Ps("parallelAxisExpand",function(t,e){e.eachComponent({mainType:"parallel",query:t},function(e){e.setAxisExpand(t)})});var UL=v,XL=d,jL=f,YL=Math.min,qL=Math.max,KL=Math.pow,$L=1e4,JL=6,QL=6,tk="globalPan",ek={w:[0,0],e:[0,1],n:[1,0],s:[1,1]},ik={w:"ew",e:"ew",n:"ns",s:"ns",ne:"nesw",sw:"nesw",nw:"nwse",se:"nwse"},nk={brushStyle:{lineWidth:2,stroke:"rgba(0,0,0,0.3)",fill:"rgba(0,0,0,0.1)"},transformable:!0,brushMode:"single",removeOnClick:!1},ok=0;Cf.prototype={constructor:Cf,enableBrush:function(t){return this._brushType&&kf(this),t.brushType&&Lf(this,t),this},setPanels:function(t){if(t&&t.length){var e=this._panels={};d(t,function(t){e[t.panelId]=i(t)})}else this._panels=null;return this},mount:function(t){t=t||{},this._enableGlobalPan=t.enableGlobalPan;var e=this.group;return this._zr.add(e),e.attr({position:t.position||[0,0],rotation:t.rotation||0,scale:t.scale||[1,1]}),this._transform=e.getLocalTransform(),this},eachCover:function(t,e){XL(this._covers,t,e)},updateCovers:function(t){function e(t,e){return(null!=t.id?t.id:a+e)+"-"+t.brushType}function o(e,i){var n=t[e];if(null!=i&&r[i]===u)s[e]=r[i];else{var o=s[e]=null!=i?(r[i].__brushOption=n,r[i]):Nf(l,Pf(l,n));Rf(l,o)}}t=f(t,function(t){return n(i(nk),t,!0)});var a="\0-brush-index-",r=this._covers,s=this._covers=[],l=this,u=this._creatingCover;return new Hs(r,t,function(t,i){return e(t.__brushOption,i)},e).add(o).update(o).remove(function(t){r[t]!==u&&l.group.remove(r[t])}).execute(),this},unmount:function(){return this.enableBrush(!1),Gf(this),this._zr.remove(this.group),this},dispose:function(){this.unmount(),this.off()}},h(Cf,aw);var ak={mousedown:function(t){if(this._dragging)lp.call(this,t);else if(!t.target||!t.target.draggable){op(t);var e=this.group.transformCoordToLocal(t.offsetX,t.offsetY);this._creatingCover=null,(this._creatingPanel=Bf(this,t,e))&&(this._dragging=!0,this._track=[e.slice()])}},mousemove:function(t){var e=this.group.transformCoordToLocal(t.offsetX,t.offsetY);if(np(this,t,e),this._dragging){op(t);var i=rp(this,t,e,!1);i&&Ff(this,i)}},mouseup:lp},rk={lineX:up(0),lineY:up(1),rect:{createCover:function(t,e){return Zf(UL(Jf,function(t){return t},function(t){return t}),t,e,["w","e","n","s","se","sw","ne","nw"])},getCreatingRange:function(t){var e=Hf(t);return qf(e[1][0],e[1][1],e[0][0],e[0][1])},updateCoverShape:function(t,e,i,n){Uf(t,e,i,n)},updateCommon:Xf,contain:ap},polygon:{createCover:function(t,e){var i=new Zw;return i.add(new oM({name:"main",style:Yf(e),silent:!0})),i},getCreatingRange:function(t){return t},endCreating:function(t,e){e.remove(e.childAt(0)),e.add(new nM({name:"main",draggable:!0,drift:UL(Qf,t,e),ondragend:UL(Ff,t,{isEnd:!0})}))},updateCoverShape:function(t,e,i,n){e.childAt(0).setShape({points:ep(t,e,i)})},updateCommon:Xf,contain:ap}},sk=["axisLine","axisTickLabel","axisName"],lk=Vs({type:"parallelAxis",init:function(t,e){lk.superApply(this,"init",arguments),(this._brushController=new Cf(e.getZr())).on("brush",m(this._onBrush,this))},render:function(t,e,i,n){if(!pp(t,e,n)){this.axisModel=t,this.api=i,this.group.removeAll();var o=this._axisGroup;if(this._axisGroup=new Zw,this.group.add(this._axisGroup),t.get("show")){var r=mp(t,e),s=r.coordinateSystem,l=t.getAreaSelectStyle(),u=l.width,h=t.axis.dim,c=a({strokeContainThreshold:u},s.getAxisLayout(h)),f=new ID(t,c);d(sk,f.add,f),this._axisGroup.add(f.getGroup()),this._refreshBrushController(c,l,t,r,u,i);var p=n&&!1===n.animation?null:t;Ao(o,this._axisGroup,p)}}},_refreshBrushController:function(t,e,i,n,o,a){var r=i.axis.getExtent(),s=r[1]-r[0],l=Math.min(30,.1*Math.abs(s)),u=ue.create({x:r[0],y:-o/2,width:s,height:o});u.x-=l,u.width+=2*l,this._brushController.mount({enableGlobalPan:!0,rotation:t.rotation,position:t.position}).setPanels([{panelId:"pl",clipPath:hp(u),isTargetByCursor:dp(u,a,n),getLinearBrushOtherExtent:cp(u,0)}]).enableBrush({brushType:"lineX",brushStyle:e,removeOnClick:!0}).updateCovers(gp(i))},_onBrush:function(t,e){var i=this.axisModel,n=i.axis,o=f(t,function(t){return[n.coordToData(t.range[0],!0),n.coordToData(t.range[1],!0)]});(!i.option.realtime===e.isEnd||e.removeOnClick)&&this.api.dispatchAction({type:"axisAreaSelect",parallelAxisId:i.id,intervals:o})},dispose:function(){this._brushController.dispose()}});Vs({type:"parallel",render:function(t,e,i){this._model=t,this._api=i,this._handlers||(this._handlers={},d(uk,function(t,e){i.getZr().on(e,this._handlers[e]=m(t,this))},this)),Lr(this,"_throttledDispatchExpand",t.get("axisExpandRate"),"fixRate")},dispose:function(t,e){d(this._handlers,function(t,i){e.getZr().off(i,t)}),this._handlers=null},_throttledDispatchExpand:function(t){this._dispatchExpand(t)},_dispatchExpand:function(t){t&&this._api.dispatchAction(a({type:"parallelAxisExpand"},t))}});var uk={mousedown:function(t){vp(this,"click")&&(this._mouseDownPoint=[t.offsetX,t.offsetY])},mouseup:function(t){var e=this._mouseDownPoint;if(vp(this,"click")&&e){var i=[t.offsetX,t.offsetY];if(Math.pow(e[0]-i[0],2)+Math.pow(e[1]-i[1],2)>5)return;var n=this._model.coordinateSystem.getSlidedAxisExpandWindow([t.offsetX,t.offsetY]);"none"!==n.behavior&&this._dispatchExpand({axisExpandWindow:n.axisExpandWindow})}this._mouseDownPoint=null},mousemove:function(t){if(!this._mouseDownPoint&&vp(this,"mousemove")){var e=this._model,i=e.coordinateSystem.getSlidedAxisExpandWindow([t.offsetX,t.offsetY]),n=i.behavior;"jump"===n&&this._throttledDispatchExpand.debounceNextCall(e.get("axisExpandDebounce")),this._throttledDispatchExpand("none"===n?null:{axisExpandWindow:i.axisExpandWindow,animation:"jump"===n&&null})}}};Ls(function(t){wf(t),bf(t)}),OI.extend({type:"series.parallel",dependencies:["parallel"],visualColorAccessPath:"lineStyle.color",getInitialData:function(t,e){var i=this.getSource();return yp(i,this),dl(i,this)},getRawIndicesByActiveState:function(t){var e=this.coordinateSystem,i=this.getData(),n=[];return e.eachActiveState(i,function(e,o){t===e&&n.push(i.getRawIndex(o))}),n},defaultOption:{zlevel:0,z:2,coordinateSystem:"parallel",parallelIndex:0,label:{show:!1},inactiveOpacity:.05,activeOpacity:1,lineStyle:{width:1,opacity:.45,type:"solid"},emphasis:{label:{show:!1}},progressive:500,smooth:!1,animationEasing:"linear"}});var hk=.3,ck=(Mr.extend({type:"parallel",init:function(){this._dataGroup=new Zw,this.group.add(this._dataGroup),this._data,this._initialized},render:function(t,e,i,n){var o=this._dataGroup,a=t.getData(),r=this._data,s=t.coordinateSystem,l=s.dimensions,u=Sp(t);if(a.diff(r).add(function(t){Mp(bp(a,o,t,l,s),a,t,u)}).update(function(e,i){var o=r.getItemGraphicEl(i),h=wp(a,e,l,s);a.setItemGraphicEl(e,o),bo(o,{shape:{points:h}},n&&!1===n.animation?null:t,e),Mp(o,a,e,u)}).remove(function(t){var e=r.getItemGraphicEl(t);o.remove(e)}).execute(),!this._initialized){this._initialized=!0;var h=_p(s,t,function(){setTimeout(function(){o.removeClipPath()})});o.setClipPath(h)}this._data=a},incrementalPrepareRender:function(t,e,i){this._initialized=!0,this._data=null,this._dataGroup.removeAll()},incrementalRender:function(t,e,i){for(var n=e.getData(),o=e.coordinateSystem,a=o.dimensions,r=Sp(e),s=t.start;s<t.end;s++){var l=bp(n,this._dataGroup,s,a,o);l.incremental=!0,Mp(l,n,s,r)}},dispose:function(){},remove:function(){this._dataGroup&&this._dataGroup.removeAll(),this._data=null}}),["lineStyle","normal","opacity"]);Es({seriesType:"parallel",reset:function(t,e,i){var n=t.getModel("itemStyle"),o=t.getModel("lineStyle"),a=e.get("color"),r=o.get("color")||n.get("color")||a[t.seriesIndex%a.length],s=t.get("inactiveOpacity"),l=t.get("activeOpacity"),u=t.getModel("lineStyle").getLineStyle(),h=t.coordinateSystem,c=t.getData(),d={normal:u.opacity,active:l,inactive:s};return c.setVisual("color",r),{progress:function(t,e){h.eachActiveState(e,function(t,i){var n=d[t];if("normal"===t&&e.hasItemOption){var o=e.getItemModel(i).get(ck,!0);null!=o&&(n=o)}e.setItemVisual(i,"opacity",n)},t.start,t.end)}}}});var dk=OI.extend({type:"series.sankey",layoutInfo:null,getInitialData:function(t){var e=t.edges||t.links,i=t.data||t.nodes;if(i&&e)return cL(i,e,this,!0).data},setNodePosition:function(t,e){var i=this.option.data[t];i.localX=e[0],i.localY=e[1]},getGraph:function(){return this.getData().graph},getEdgeData:function(){return this.getGraph().edgeData},formatTooltip:function(t,e,i){if("edge"===i){var n=this.getDataParams(t,i),o=n.data,a=o.source+" -- "+o.target;return n.value&&(a+=" : "+n.value),Qo(a)}return dk.superCall(this,"formatTooltip",t,e)},optionUpdated:function(){var t=this.option;!0===t.focusNodeAdjacency&&(t.focusNodeAdjacency="allEdges")},defaultOption:{zlevel:0,z:2,coordinateSystem:"view",layout:null,left:"5%",top:"5%",right:"20%",bottom:"5%",orient:"horizontal",nodeWidth:20,nodeGap:8,draggable:!0,focusNodeAdjacency:!1,layoutIterations:32,label:{show:!0,position:"right",color:"#000",fontSize:12},itemStyle:{borderWidth:1,borderColor:"#333"},lineStyle:{color:"#314656",opacity:.2,curveness:.5},emphasis:{label:{show:!0},lineStyle:{opacity:.6}},animationEasing:"linear",animationDuration:1e3}}),fk=["itemStyle","opacity"],pk=["lineStyle","opacity"],gk=Fn({shape:{x1:0,y1:0,x2:0,y2:0,cpx1:0,cpy1:0,cpx2:0,cpy2:0,extent:0,orient:""},buildPath:function(t,e){var i=e.extent;"vertical"===e.orient?(t.moveTo(e.x1,e.y1),t.bezierCurveTo(e.cpx1,e.cpy1,e.cpx2,e.cpy2,e.x2,e.y2),t.lineTo(e.x2+i,e.y2),t.bezierCurveTo(e.cpx2+i,e.cpy2,e.cpx1+i,e.cpy1,e.x1+i,e.y1)):(t.moveTo(e.x1,e.y1),t.bezierCurveTo(e.cpx1,e.cpy1,e.cpx2,e.cpy2,e.x2,e.y2),t.lineTo(e.x2,e.y2+i),t.bezierCurveTo(e.cpx2,e.cpy2+i,e.cpx1,e.cpy1+i,e.x1,e.y1+i)),t.closePath()}});Fs({type:"sankey",_model:null,_focusAdjacencyDisabled:!1,render:function(t,e,i){var n=this,o=t.getGraph(),a=this.group,r=t.layoutInfo,s=r.width,l=r.height,u=t.getData(),h=t.getData("edge"),c=t.get("orient");this._model=t,a.removeAll(),a.attr("position",[r.x,r.y]),o.eachEdge(function(e){var i=new gk;i.dataIndex=e.dataIndex,i.seriesIndex=t.seriesIndex,i.dataType="edge";var n,o,r,u,d,f,p,g,m=e.getModel("lineStyle"),v=m.get("curveness"),y=e.node1.getLayout(),x=e.node1.getModel(),_=x.get("localX"),w=x.get("localY"),b=e.node2.getLayout(),S=e.node2.getModel(),M=S.get("localX"),I=S.get("localY"),T=e.getLayout();switch(i.shape.extent=Math.max(1,T.dy),i.shape.orient=c,"vertical"===c?(n=(null!=_?_*s:y.x)+T.sy,o=(null!=w?w*l:y.y)+y.dy,r=(null!=M?M*s:b.x)+T.ty,d=n,f=o*(1-v)+(u=null!=I?I*l:b.y)*v,p=r,g=o*v+u*(1-v)):(n=(null!=_?_*s:y.x)+y.dx,o=(null!=w?w*l:y.y)+T.sy,d=n*(1-v)+(r=null!=M?M*s:b.x)*v,f=o,p=n*v+r*(1-v),g=u=(null!=I?I*l:b.y)+T.ty),i.setShape({x1:n,y1:o,x2:r,y2:u,cpx1:d,cpy1:f,cpx2:p,cpy2:g}),i.setStyle(m.getItemStyle()),i.style.fill){case"source":i.style.fill=e.node1.getVisual("color");break;case"target":i.style.fill=e.node2.getVisual("color")}uo(i,e.getModel("emphasis.lineStyle").getItemStyle()),a.add(i),h.setItemGraphicEl(e.dataIndex,i)}),o.eachNode(function(e){var i=e.getLayout(),n=e.getModel(),o=n.get("localX"),r=n.get("localY"),h=n.getModel("label"),c=n.getModel("emphasis.label"),d=new aM({shape:{x:null!=o?o*s:i.x,y:null!=r?r*l:i.y,width:i.dx,height:i.dy},style:n.getModel("itemStyle").getItemStyle()}),f=e.getModel("emphasis.itemStyle").getItemStyle();co(d.style,f,h,c,{labelFetcher:t,labelDataIndex:e.dataIndex,defaultText:e.id,isRectText:!0}),d.setStyle("fill",e.getVisual("color")),uo(d,f),a.add(d),u.setItemGraphicEl(e.dataIndex,d),d.dataType="node"}),u.eachItemGraphicEl(function(e,o){var a=u.getItemModel(o);a.get("draggable")&&(e.drift=function(e,a){n._focusAdjacencyDisabled=!0,this.shape.x+=e,this.shape.y+=a,this.dirty(),i.dispatchAction({type:"dragNode",seriesId:t.id,dataIndex:u.getRawIndex(o),localX:this.shape.x/s,localY:this.shape.y/l})},e.ondragend=function(){n._focusAdjacencyDisabled=!1},e.draggable=!0,e.cursor="move"),a.get("focusNodeAdjacency")&&(e.off("mouseover").on("mouseover",function(){n._focusAdjacencyDisabled||i.dispatchAction({type:"focusNodeAdjacency",seriesId:t.id,dataIndex:e.dataIndex})}),e.off("mouseout").on("mouseout",function(){n._focusAdjacencyDisabled||i.dispatchAction({type:"unfocusNodeAdjacency",seriesId:t.id})}))}),h.eachItemGraphicEl(function(e,o){h.getItemModel(o).get("focusNodeAdjacency")&&(e.off("mouseover").on("mouseover",function(){n._focusAdjacencyDisabled||i.dispatchAction({type:"focusNodeAdjacency",seriesId:t.id,edgeDataIndex:e.dataIndex})}),e.off("mouseout").on("mouseout",function(){n._focusAdjacencyDisabled||i.dispatchAction({type:"unfocusNodeAdjacency",seriesId:t.id})}))}),!this._data&&t.get("animation")&&a.setClipPath(Cp(a.getBoundingRect(),t,function(){a.removeClipPath()})),this._data=t.getData()},dispose:function(){},focusNodeAdjacency:function(t,e,i,n){var o=this._model.getData(),a=o.graph,r=n.dataIndex,s=o.getItemModel(r),l=n.edgeDataIndex;if(null!=r||null!=l){var u=a.getNodeByIndex(r),h=a.getEdgeByIndex(l);if(a.eachNode(function(t){Ap(t,fk,.1)}),a.eachEdge(function(t){Ap(t,pk,.1)}),u){Dp(u,fk);var c=s.get("focusNodeAdjacency");"outEdges"===c?d(u.outEdges,function(t){t.dataIndex<0||(Dp(t,pk),Dp(t.node2,fk))}):"inEdges"===c?d(u.inEdges,function(t){t.dataIndex<0||(Dp(t,pk),Dp(t.node1,fk))}):"allEdges"===c&&d(u.edges,function(t){t.dataIndex<0||(Dp(t,pk),Dp(t.node1,fk),Dp(t.node2,fk))})}h&&(Dp(h,pk),Dp(h.node1,fk),Dp(h.node2,fk))}},unfocusNodeAdjacency:function(t,e,i,n){var o=this._model.getGraph();o.eachNode(function(t){Ap(t,fk)}),o.eachEdge(function(t){Ap(t,pk)})}}),Ps({type:"dragNode",event:"dragNode",update:"update"},function(t,e){e.eachComponent({mainType:"series",subType:"sankey",query:t},function(e){e.setNodePosition(t.dataIndex,[t.localX,t.localY])})});Os(function(t,e,i){t.eachSeriesByType("sankey",function(t){var i=t.get("nodeWidth"),n=t.get("nodeGap"),o=kp(t,e);t.layoutInfo=o;var a=o.width,r=o.height,s=t.getGraph(),l=s.nodes,u=s.edges;Np(l),Pp(l,u,i,n,a,r,0!==g(l,function(t){return 0===t.getLayout().value}).length?0:t.get("layoutIterations"),t.get("orient"))})}),Es(function(t,e){t.eachSeriesByType("sankey",function(t){var e=t.getGraph().nodes;if(e.length){var i=1/0,n=-1/0;d(e,function(t){var e=t.getLayout().value;e<i&&(i=e),e>n&&(n=e)}),d(e,function(e){var o=new jC({type:"color",mappingMethod:"linear",dataExtent:[i,n],visual:t.get("color")}).mapValueToVisual(e.getLayout().value);e.setVisual("color",o);var a=e.getModel().get("itemStyle.color");null!=a&&e.setVisual("color",a)})}})});var mk={_baseAxisDim:null,getInitialData:function(t,e){var i,n,o=e.getComponent("xAxis",this.get("xAxisIndex")),a=e.getComponent("yAxis",this.get("yAxisIndex")),r=o.get("type"),s=a.get("type");"category"===r?(t.layout="horizontal",i=o.getOrdinalMeta(),n=!0):"category"===s?(t.layout="vertical",i=a.getOrdinalMeta(),n=!0):t.layout=t.layout||"horizontal";var l=["x","y"],u="horizontal"===t.layout?0:1,h=this._baseAxisDim=l[u],c=l[1-u],f=[o,a],p=f[u].get("type"),g=f[1-u].get("type"),m=t.data;if(m&&n){var v=[];d(m,function(t,e){var i;t.value&&y(t.value)?(i=t.value.slice(),t.value.unshift(e)):y(t)?(i=t.slice(),t.unshift(e)):i=t,v.push(i)}),t.data=v}var x=this.defaultValueDimensions;return WD(this,{coordDimensions:[{name:h,type:Xs(p),ordinalMeta:i,otherDims:{tooltip:!1,itemName:0},dimsDef:["base"]},{name:c,type:Xs(g),dimsDef:x.slice()}],dimensionsCount:x.length+1})},getBaseAxis:function(){var t=this._baseAxisDim;return this.ecModel.getComponent(t+"Axis",this.get(t+"AxisIndex")).axis}};h(OI.extend({type:"series.boxplot",dependencies:["xAxis","yAxis","grid"],defaultValueDimensions:[{name:"min",defaultTooltip:!0},{name:"Q1",defaultTooltip:!0},{name:"median",defaultTooltip:!0},{name:"Q3",defaultTooltip:!0},{name:"max",defaultTooltip:!0}],dimensions:null,defaultOption:{zlevel:0,z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,hoverAnimation:!0,layout:null,boxWidth:[7,50],itemStyle:{color:"#fff",borderWidth:1},emphasis:{itemStyle:{borderWidth:2,shadowBlur:5,shadowOffsetX:2,shadowOffsetY:2,shadowColor:"rgba(0,0,0,0.4)"}},animationEasing:"elasticOut",animationDuration:800}}),mk,!0);var vk=["itemStyle"],yk=["emphasis","itemStyle"],xk=(Mr.extend({type:"boxplot",render:function(t,e,i){var n=t.getData(),o=this.group,a=this._data;this._data||o.removeAll();var r="horizontal"===t.get("layout")?1:0;n.diff(a).add(function(t){if(n.hasValue(t)){var e=qp(n.getItemLayout(t),n,t,r,!0);n.setItemGraphicEl(t,e),o.add(e)}}).update(function(t,e){var i=a.getItemGraphicEl(e);if(n.hasValue(t)){var s=n.getItemLayout(t);i?Kp(s,i,n,t):i=qp(s,n,t,r),o.add(i),n.setItemGraphicEl(t,i)}else o.remove(i)}).remove(function(t){var e=a.getItemGraphicEl(t);e&&o.remove(e)}).execute(),this._data=n},remove:function(t){var e=this.group,i=this._data;this._data=null,i&&i.eachItemGraphicEl(function(t){t&&e.remove(t)})},dispose:B}),kn.extend({type:"boxplotBoxPath",shape:{},buildPath:function(t,e){var i=e.points,n=0;for(t.moveTo(i[n][0],i[n][1]),n++;n<4;n++)t.lineTo(i[n][0],i[n][1]);for(t.closePath();n<i.length;n++)t.moveTo(i[n][0],i[n][1]),n++,t.lineTo(i[n][0],i[n][1])}})),_k=["itemStyle","borderColor"],wk=d;Es(function(t,e){var i=t.get("color");t.eachRawSeriesByType("boxplot",function(e){var n=i[e.seriesIndex%i.length],o=e.getData();o.setVisual({legendSymbol:"roundRect",color:e.get(_k)||n}),t.isSeriesFiltered(e)||o.each(function(t){var e=o.getItemModel(t);o.setItemVisual(t,{color:e.get(_k,!0)})})})}),Os(function(t){var e=Jp(t);wk(e,function(t){var e=t.seriesModels;e.length&&(Qp(t),wk(e,function(e,i){tg(e,t.boxOffsetList[i],t.boxWidthList[i])}))})}),h(OI.extend({type:"series.candlestick",dependencies:["xAxis","yAxis","grid"],defaultValueDimensions:[{name:"open",defaultTooltip:!0},{name:"close",defaultTooltip:!0},{name:"lowest",defaultTooltip:!0},{name:"highest",defaultTooltip:!0}],dimensions:null,defaultOption:{zlevel:0,z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,hoverAnimation:!0,layout:null,itemStyle:{color:"#c23531",color0:"#314656",borderWidth:1,borderColor:"#c23531",borderColor0:"#314656"},emphasis:{itemStyle:{borderWidth:2}},barMaxWidth:null,barMinWidth:null,barWidth:null,large:!0,largeThreshold:600,progressive:3e3,progressiveThreshold:1e4,progressiveChunkMode:"mod",animationUpdate:!1,animationEasing:"linear",animationDuration:300},getShadowDim:function(){return"open"},brushSelector:function(t,e,i){var n=e.getItemLayout(t);return n&&i.rect(n.brushRect)}}),mk,!0);var bk=["itemStyle"],Sk=["emphasis","itemStyle"],Mk=["color","color0","borderColor","borderColor0"],Ik=(Mr.extend({type:"candlestick",render:function(t,e,i){this._updateDrawMode(t),this._isLargeDraw?this._renderLarge(t):this._renderNormal(t)},incrementalPrepareRender:function(t,e,i){this._clear(),this._updateDrawMode(t)},incrementalRender:function(t,e,i,n){this._isLargeDraw?this._incrementalRenderLarge(t,e):this._incrementalRenderNormal(t,e)},_updateDrawMode:function(t){var e=t.pipelineContext.large;(null==this._isLargeDraw||e^this._isLargeDraw)&&(this._isLargeDraw=e,this._clear())},_renderNormal:function(t){var e=t.getData(),i=this._data,n=this.group,o=e.getLayout("isSimpleBox");this._data||n.removeAll(),e.diff(i).add(function(i){if(e.hasValue(i)){var a,r=e.getItemLayout(i);So(a=eg(r,0,!0),{shape:{points:r.ends}},t,i),ig(a,e,i,o),n.add(a),e.setItemGraphicEl(i,a)}}).update(function(a,r){var s=i.getItemGraphicEl(r);if(e.hasValue(a)){var l=e.getItemLayout(a);s?bo(s,{shape:{points:l.ends}},t,a):s=eg(l),ig(s,e,a,o),n.add(s),e.setItemGraphicEl(a,s)}else n.remove(s)}).remove(function(t){var e=i.getItemGraphicEl(t);e&&n.remove(e)}).execute(),this._data=e},_renderLarge:function(t){this._clear(),og(t,this.group)},_incrementalRenderNormal:function(t,e){for(var i,n=e.getData(),o=n.getLayout("isSimpleBox");null!=(i=t.next());){var a;ig(a=eg(n.getItemLayout(i)),n,i,o),a.incremental=!0,this.group.add(a)}},_incrementalRenderLarge:function(t,e){og(e,this.group,!0)},remove:function(t){this._clear()},_clear:function(){this.group.removeAll(),this._data=null},dispose:B}),kn.extend({type:"normalCandlestickBox",shape:{},buildPath:function(t,e){var i=e.points;this.__simpleBox?(t.moveTo(i[4][0],i[4][1]),t.lineTo(i[6][0],i[6][1])):(t.moveTo(i[0][0],i[0][1]),t.lineTo(i[1][0],i[1][1]),t.lineTo(i[2][0],i[2][1]),t.lineTo(i[3][0],i[3][1]),t.closePath(),t.moveTo(i[4][0],i[4][1]),t.lineTo(i[5][0],i[5][1]),t.moveTo(i[6][0],i[6][1]),t.lineTo(i[7][0],i[7][1]))}})),Tk=kn.extend({type:"largeCandlestickBox",shape:{},buildPath:function(t,e){for(var i=e.points,n=0;n<i.length;)if(this.__sign===i[n++]){var o=i[n++];t.moveTo(o,i[n++]),t.lineTo(o,i[n++])}else n+=3}}),Ak=["itemStyle","borderColor"],Dk=["itemStyle","borderColor0"],Ck=["itemStyle","color"],Lk=["itemStyle","color0"],kk={seriesType:"candlestick",plan:zI(),performRawSeries:!0,reset:function(t,e){function i(t,e){return e.get(t>0?Ck:Lk)}function n(t,e){return e.get(t>0?Ak:Dk)}var o=t.getData(),a=t.pipelineContext.large;if(o.setVisual({legendSymbol:"roundRect",colorP:i(1,t),colorN:i(-1,t),borderColorP:n(1,t),borderColorN:n(-1,t)}),!e.isSeriesFiltered(t))return!a&&{progress:function(t,e){for(var o;null!=(o=t.next());){var a=e.getItemModel(o),r=e.getItemLayout(o).sign;e.setItemVisual(o,{color:i(r,a),borderColor:n(r,a)})}}}}},Pk="undefined"!=typeof Float32Array?Float32Array:Array,Nk={seriesType:"candlestick",plan:zI(),reset:function(t){var e=t.coordinateSystem,i=t.getData(),n=sg(t,i),o=0,a=1,r=["x","y"],s=i.mapDimension(r[o]),l=i.mapDimension(r[a],!0),u=l[0],h=l[1],c=l[2],d=l[3];if(i.setLayout({candleWidth:n,isSimpleBox:n<=1.3}),!(null==s||l.length<4))return{progress:t.pipelineContext.large?function(t,i){for(var n,r,l=new Pk(5*t.count),f=0,p=[],g=[];null!=(r=t.next());){var m=i.get(s,r),v=i.get(u,r),y=i.get(h,r),x=i.get(c,r),_=i.get(d,r);isNaN(m)||isNaN(x)||isNaN(_)?(l[f++]=NaN,f+=4):(l[f++]=rg(i,r,v,y,h),p[o]=m,p[a]=x,n=e.dataToPoint(p,null,g),l[f++]=n?n[0]:NaN,l[f++]=n?n[1]:NaN,p[a]=_,n=e.dataToPoint(p,null,g),l[f++]=n?n[1]:NaN)}i.setLayout("largePoints",l)}:function(t,i){function r(t,i){var n=[];return n[o]=i,n[a]=t,isNaN(i)||isNaN(t)?[NaN,NaN]:e.dataToPoint(n)}function l(t,e,i){var a=e.slice(),r=e.slice();a[o]=Yn(a[o]+n/2,1,!1),r[o]=Yn(r[o]-n/2,1,!0),i?t.push(a,r):t.push(r,a)}function f(t){return t[o]=Yn(t[o],1),t}for(var p;null!=(p=t.next());){var g=i.get(s,p),m=i.get(u,p),v=i.get(h,p),y=i.get(c,p),x=i.get(d,p),_=Math.min(m,v),w=Math.max(m,v),b=r(_,g),S=r(w,g),M=r(y,g),I=r(x,g),T=[];l(T,S,0),l(T,b,1),T.push(f(I),f(S),f(M),f(b)),i.setItemLayout(p,{sign:rg(i,p,m,v,h),initBaseline:m>v?S[a]:b[a],ends:T,brushRect:function(t,e,i){var s=r(t,i),l=r(e,i);return s[o]-=n/2,l[o]-=n/2,{x:s[0],y:s[1],width:a?n:l[0]-s[0],height:a?l[1]-s[1]:n}}(y,x,g)})}}}}};Ls(function(t){t&&y(t.series)&&d(t.series,function(t){w(t)&&"k"===t.type&&(t.type="candlestick")})}),Es(kk),Os(Nk),OI.extend({type:"series.effectScatter",dependencies:["grid","polar"],getInitialData:function(t,e){return dl(this.getSource(),this)},brushSelector:"point",defaultOption:{coordinateSystem:"cartesian2d",zlevel:0,z:2,legendHoverLink:!0,effectType:"ripple",progressive:0,showEffectOn:"render",rippleEffect:{period:4,scale:2.5,brushType:"fill"},symbolSize:10}});var Ok=hg.prototype;Ok.stopEffectAnimation=function(){this.childAt(1).removeAll()},Ok.startEffectAnimation=function(t){for(var e=t.symbolType,i=t.color,n=this.childAt(1),o=0;o<3;o++){var a=Xl(e,-1,-1,2,2,i);a.attr({style:{strokeNoScale:!0},z2:99,silent:!0,scale:[.5,.5]});var r=-o/3*t.period+t.effectOffset;a.animate("",!0).when(t.period,{scale:[t.rippleScale/2,t.rippleScale/2]}).delay(r).start(),a.animateStyle(!0).when(t.period,{opacity:0}).delay(r).start(),n.add(a)}ug(n,t)},Ok.updateEffectAnimation=function(t){for(var e=this._effectCfg,i=this.childAt(1),n=["symbolType","period","rippleScale"],o=0;o<n.length;o++){var a=n[o];if(e[a]!==t[a])return this.stopEffectAnimation(),void this.startEffectAnimation(t)}ug(i,t)},Ok.highlight=function(){this.trigger("emphasis")},Ok.downplay=function(){this.trigger("normal")},Ok.updateData=function(t,e){var i=t.hostModel;this.childAt(0).updateData(t,e);var n=this.childAt(1),o=t.getItemModel(e),a=t.getItemVisual(e,"symbol"),r=lg(t.getItemVisual(e,"symbolSize")),s=t.getItemVisual(e,"color");n.attr("scale",r),n.traverse(function(t){t.attr({fill:s})});var l=o.getShallow("symbolOffset");if(l){var u=n.position;u[0]=Ro(l[0],r[0]),u[1]=Ro(l[1],r[1])}n.rotation=(o.getShallow("symbolRotate")||0)*Math.PI/180||0;var h={};if(h.showEffectOn=i.get("showEffectOn"),h.rippleScale=o.get("rippleEffect.scale"),h.brushType=o.get("rippleEffect.brushType"),h.period=1e3*o.get("rippleEffect.period"),h.effectOffset=e/t.count(),h.z=o.getShallow("z")||0,h.zlevel=o.getShallow("zlevel")||0,h.symbolType=a,h.color=s,this.off("mouseover").off("mouseout").off("emphasis").off("normal"),"render"===h.showEffectOn)this._effectCfg?this.updateEffectAnimation(h):this.startEffectAnimation(h),this._effectCfg=h;else{this._effectCfg=null,this.stopEffectAnimation();var c=this.childAt(0),d=function(){c.highlight(),"render"!==h.showEffectOn&&this.startEffectAnimation(h)},f=function(){c.downplay(),"render"!==h.showEffectOn&&this.stopEffectAnimation()};this.on("mouseover",d,this).on("mouseout",f,this).on("emphasis",d,this).on("normal",f,this)}this._effectCfg=h},Ok.fadeOut=function(t){this.off("mouseover").off("mouseout").off("emphasis").off("normal"),t&&t()},u(hg,Zw),Fs({type:"effectScatter",init:function(){this._symbolDraw=new Su(hg)},render:function(t,e,i){var n=t.getData(),o=this._symbolDraw;o.updateData(n),this.group.add(o.group)},updateTransform:function(t,e,i){var n=t.getData();this.group.dirty();var o=cD().reset(t);o.progress&&o.progress({start:0,end:n.count()},n),this._symbolDraw.updateLayout(n)},_updateGroupTransform:function(t){var e=t.coordinateSystem;e&&e.getRoamTransform&&(this.group.transform=Mt(e.getRoamTransform()),this.group.decomposeTransform())},remove:function(t,e){this._symbolDraw&&this._symbolDraw.remove(e)},dispose:function(){}}),Es(hD("effectScatter","circle")),Os(cD("effectScatter"));var Ek="undefined"==typeof Uint32Array?Array:Uint32Array,Rk="undefined"==typeof Float64Array?Array:Float64Array,zk=OI.extend({type:"series.lines",dependencies:["grid","polar"],visualColorAccessPath:"lineStyle.color",init:function(t){t.data=t.data||[],cg(t);var e=this._processFlatCoordsArray(t.data);this._flatCoords=e.flatCoords,this._flatCoordsOffset=e.flatCoordsOffset,e.flatCoords&&(t.data=new Float32Array(e.count)),zk.superApply(this,"init",arguments)},mergeOption:function(t){if(t.data=t.data||[],cg(t),t.data){var e=this._processFlatCoordsArray(t.data);this._flatCoords=e.flatCoords,this._flatCoordsOffset=e.flatCoordsOffset,e.flatCoords&&(t.data=new Float32Array(e.count))}zk.superApply(this,"mergeOption",arguments)},appendData:function(t){var e=this._processFlatCoordsArray(t.data);e.flatCoords&&(this._flatCoords?(this._flatCoords=z(this._flatCoords,e.flatCoords),this._flatCoordsOffset=z(this._flatCoordsOffset,e.flatCoordsOffset)):(this._flatCoords=e.flatCoords,this._flatCoordsOffset=e.flatCoordsOffset),t.data=new Float32Array(e.count)),this.getRawData().appendData(t.data)},_getCoordsFromItemModel:function(t){var e=this.getData().getItemModel(t);return e.option instanceof Array?e.option:e.getShallow("coords")},getLineCoordsCount:function(t){return this._flatCoordsOffset?this._flatCoordsOffset[2*t+1]:this._getCoordsFromItemModel(t).length},getLineCoords:function(t,e){if(this._flatCoordsOffset){for(var i=this._flatCoordsOffset[2*t],n=this._flatCoordsOffset[2*t+1],o=0;o<n;o++)e[o]=e[o]||[],e[o][0]=this._flatCoords[i+2*o],e[o][1]=this._flatCoords[i+2*o+1];return n}for(var a=this._getCoordsFromItemModel(t),o=0;o<a.length;o++)e[o]=e[o]||[],e[o][0]=a[o][0],e[o][1]=a[o][1];return a.length},_processFlatCoordsArray:function(t){var e=0;if(this._flatCoords&&(e=this._flatCoords.length),"number"==typeof t[0]){for(var i=t.length,n=new Ek(i),o=new Rk(i),a=0,r=0,s=0,l=0;l<i;){s++;var u=t[l++];n[r++]=a+e,n[r++]=u;for(var h=0;h<u;h++){var c=t[l++],d=t[l++];o[a++]=c,o[a++]=d}}return{flatCoordsOffset:new Uint32Array(n.buffer,0,r),flatCoords:o,count:s}}return{flatCoordsOffset:null,flatCoords:null,count:t.length}},getInitialData:function(t,e){var i=new eA(["value"],this);return i.hasItemOption=!1,i.initData(t.data,[],function(t,e,n,o){if(t instanceof Array)return NaN;i.hasItemOption=!0;var a=t.value;return null!=a?a instanceof Array?a[o]:a:void 0}),i},formatTooltip:function(t){var e=this.getData().getItemModel(t),i=e.get("name");if(i)return i;var n=e.get("fromName"),o=e.get("toName"),a=[];return null!=n&&a.push(n),null!=o&&a.push(o),Qo(a.join(" > "))},preventIncremental:function(){return!!this.get("effect.show")},getProgressive:function(){var t=this.option.progressive;return null==t?this.option.large?1e4:this.get("progressive"):t},getProgressiveThreshold:function(){var t=this.option.progressiveThreshold;return null==t?this.option.large?2e4:this.get("progressiveThreshold"):t},defaultOption:{coordinateSystem:"geo",zlevel:0,z:2,legendHoverLink:!0,hoverAnimation:!0,xAxisIndex:0,yAxisIndex:0,symbol:["none","none"],symbolSize:[10,10],geoIndex:0,effect:{show:!1,period:4,constantSpeed:0,symbol:"circle",symbolSize:3,loop:!0,trailLength:.2},large:!1,largeThreshold:2e3,polyline:!1,label:{show:!1,position:"end"},lineStyle:{opacity:.5}}}),Bk=dg.prototype;Bk.createLine=function(t,e,i){return new $d(t,e,i)},Bk._updateEffectSymbol=function(t,e){var i=t.getItemModel(e).getModel("effect"),n=i.get("symbolSize"),o=i.get("symbol");y(n)||(n=[n,n]);var a=i.get("color")||t.getItemVisual(e,"color"),r=this.childAt(1);this._symbolType!==o&&(this.remove(r),(r=Xl(o,-.5,-.5,1,1,a)).z2=100,r.culling=!0,this.add(r)),r&&(r.setStyle("shadowColor",a),r.setStyle(i.getItemStyle(["color"])),r.attr("scale",n),r.setColor(a),r.attr("scale",n),this._symbolType=o,this._updateEffectAnimation(t,i,e))},Bk._updateEffectAnimation=function(t,e,i){var n=this.childAt(1);if(n){var o=this,a=t.getItemLayout(i),r=1e3*e.get("period"),s=e.get("loop"),l=e.get("constantSpeed"),u=T(e.get("delay"),function(e){return e/t.count()*r/3}),h="function"==typeof u;if(n.ignore=!0,this.updateAnimationPoints(n,a),l>0&&(r=this.getLineLength(n)/l*1e3),r!==this._period||s!==this._loop){n.stopAnimation();var c=u;h&&(c=u(i)),n.__t>0&&(c=-r*n.__t),n.__t=0;var d=n.animate("",s).when(r,{__t:1}).delay(c).during(function(){o.updateSymbolPosition(n)});s||d.done(function(){o.remove(n)}),d.start()}this._period=r,this._loop=s}},Bk.getLineLength=function(t){return ew(t.__p1,t.__cp1)+ew(t.__cp1,t.__p2)},Bk.updateAnimationPoints=function(t,e){t.__p1=e[0],t.__p2=e[1],t.__cp1=e[2]||[(e[0][0]+e[1][0])/2,(e[0][1]+e[1][1])/2]},Bk.updateData=function(t,e,i){this.childAt(0).updateData(t,e,i),this._updateEffectSymbol(t,e)},Bk.updateSymbolPosition=function(t){var e=t.__p1,i=t.__p2,n=t.__cp1,o=t.__t,a=t.position,r=rn,s=sn;a[0]=r(e[0],n[0],i[0],o),a[1]=r(e[1],n[1],i[1],o);var l=s(e[0],n[0],i[0],o),u=s(e[1],n[1],i[1],o);t.rotation=-Math.atan2(u,l)-Math.PI/2,t.ignore=!1},Bk.updateLayout=function(t,e){this.childAt(0).updateLayout(t,e);var i=t.getItemModel(e).getModel("effect");this._updateEffectAnimation(t,i,e)},u(dg,Zw);var Vk=fg.prototype;Vk._createPolyline=function(t,e,i){var n=t.getItemLayout(e),o=new oM({shape:{points:n}});this.add(o),this._updateCommonStl(t,e,i)},Vk.updateData=function(t,e,i){var n=t.hostModel;bo(this.childAt(0),{shape:{points:t.getItemLayout(e)}},n,e),this._updateCommonStl(t,e,i)},Vk._updateCommonStl=function(t,e,i){var n=this.childAt(0),o=t.getItemModel(e),a=t.getItemVisual(e,"color"),s=i&&i.lineStyle,l=i&&i.hoverLineStyle;i&&!t.hasItemOption||(s=o.getModel("lineStyle").getLineStyle(),l=o.getModel("emphasis.lineStyle").getLineStyle()),n.useStyle(r({strokeNoScale:!0,fill:"none",stroke:a},s)),n.hoverStyle=l,uo(this)},Vk.updateLayout=function(t,e){this.childAt(0).setShape("points",t.getItemLayout(e))},u(fg,Zw);var Gk=pg.prototype;Gk.createLine=function(t,e,i){return new fg(t,e,i)},Gk.updateAnimationPoints=function(t,e){this._points=e;for(var i=[0],n=0,o=1;o<e.length;o++){var a=e[o-1],r=e[o];n+=ew(a,r),i.push(n)}if(0!==n){for(o=0;o<i.length;o++)i[o]/=n;this._offsets=i,this._length=n}},Gk.getLineLength=function(t){return this._length},Gk.updateSymbolPosition=function(t){var e=t.__t,i=this._points,n=this._offsets,o=i.length;if(n){var a=this._lastFrame;if(e<this._lastFramePercent){for(r=Math.min(a+1,o-1);r>=0&&!(n[r]<=e);r--);r=Math.min(r,o-2)}else{for(var r=a;r<o&&!(n[r]>e);r++);r=Math.min(r-1,o-2)}J(t.position,i[r],i[r+1],(e-n[r])/(n[r+1]-n[r]));var s=i[r+1][0]-i[r][0],l=i[r+1][1]-i[r][1];t.rotation=-Math.atan2(l,s)-Math.PI/2,this._lastFrame=r,this._lastFramePercent=e,t.ignore=!1}},u(pg,dg);var Fk=Fn({shape:{polyline:!1,curveness:0,segs:[]},buildPath:function(t,e){var i=e.segs,n=e.curveness;if(e.polyline)for(r=0;r<i.length;){var o=i[r++];if(o>0){t.moveTo(i[r++],i[r++]);for(var a=1;a<o;a++)t.lineTo(i[r++],i[r++])}}else for(var r=0;r<i.length;){var s=i[r++],l=i[r++],u=i[r++],h=i[r++];if(t.moveTo(s,l),n>0){var c=(s+u)/2-(l-h)*n,d=(l+h)/2-(u-s)*n;t.quadraticCurveTo(c,d,u,h)}else t.lineTo(u,h)}},findDataIndex:function(t,e){var i=this.shape,n=i.segs,o=i.curveness;if(i.polyline)for(var a=0,r=0;r<n.length;){var s=n[r++];if(s>0)for(var l=n[r++],u=n[r++],h=1;h<s;h++)if(vn(l,u,c=n[r++],d=n[r++]))return a;a++}else for(var a=0,r=0;r<n.length;){var l=n[r++],u=n[r++],c=n[r++],d=n[r++];if(o>0){if(xn(l,u,(l+c)/2-(u-d)*o,(u+d)/2-(c-l)*o,c,d))return a}else if(vn(l,u,c,d))return a;a++}return-1}}),Wk=gg.prototype;Wk.isPersistent=function(){return!this._incremental},Wk.updateData=function(t){this.group.removeAll();var e=new Fk({rectHover:!0,cursor:"default"});e.setShape({segs:t.getLayout("linesPoints")}),this._setCommon(e,t),this.group.add(e),this._incremental=null},Wk.incrementalPrepareUpdate=function(t){this.group.removeAll(),this._clearIncremental(),t.count()>5e5?(this._incremental||(this._incremental=new Gn({silent:!0})),this.group.add(this._incremental)):this._incremental=null},Wk.incrementalUpdate=function(t,e){var i=new Fk;i.setShape({segs:e.getLayout("linesPoints")}),this._setCommon(i,e,!!this._incremental),this._incremental?this._incremental.addDisplayable(i,!0):(i.rectHover=!0,i.cursor="default",i.__startIndex=t.start,this.group.add(i))},Wk.remove=function(){this._clearIncremental(),this._incremental=null,this.group.removeAll()},Wk._setCommon=function(t,e,i){var n=e.hostModel;t.setShape({polyline:n.get("polyline"),curveness:n.get("lineStyle.curveness")}),t.useStyle(n.getModel("lineStyle").getLineStyle()),t.style.strokeNoScale=!0;var o=e.getVisual("color");o&&t.setStyle("stroke",o),t.setStyle("fill"),i||(t.seriesIndex=n.seriesIndex,t.on("mousemove",function(e){t.dataIndex=null;var i=t.findDataIndex(e.offsetX,e.offsetY);i>0&&(t.dataIndex=i+t.__startIndex)}))},Wk._clearIncremental=function(){var t=this._incremental;t&&t.clearDisplaybles()};var Hk={seriesType:"lines",plan:zI(),reset:function(t){var e=t.coordinateSystem,i=t.get("polyline"),n=t.pipelineContext.large;return{progress:function(o,a){var r=[];if(n){var s,l=o.end-o.start;if(i){for(var u=0,h=o.start;h<o.end;h++)u+=t.getLineCoordsCount(h);s=new Float32Array(l+2*u)}else s=new Float32Array(4*l);for(var c=0,d=[],h=o.start;h<o.end;h++){g=t.getLineCoords(h,r),i&&(s[c++]=g);for(var f=0;f<g;f++)d=e.dataToPoint(r[f],!1,d),s[c++]=d[0],s[c++]=d[1]}a.setLayout("linesPoints",s)}else for(h=o.start;h<o.end;h++){var p=a.getItemModel(h),g=t.getLineCoords(h,r),m=[];if(i)for(var v=0;v<g;v++)m.push(e.dataToPoint(r[v]));else{m[0]=e.dataToPoint(r[0]),m[1]=e.dataToPoint(r[1]);var y=p.get("lineStyle.curveness");+y&&(m[2]=[(m[0][0]+m[1][0])/2-(m[0][1]-m[1][1])*y,(m[0][1]+m[1][1])/2-(m[1][0]-m[0][0])*y])}a.setItemLayout(h,m)}}}}};Fs({type:"lines",init:function(){},render:function(t,e,i){var n=t.getData(),o=this._updateLineDraw(n,t),a=t.get("zlevel"),r=t.get("effect.trailLength"),s=i.getZr(),l="svg"===s.painter.getType();l||s.painter.getLayer(a).clear(!0),null==this._lastZlevel||l||s.configLayer(this._lastZlevel,{motionBlur:!1}),this._showEffect(t)&&r&&(l||s.configLayer(a,{motionBlur:!0,lastFrameAlpha:Math.max(Math.min(r/10+.9,1),0)})),o.updateData(n),this._lastZlevel=a,this._finished=!0},incrementalPrepareRender:function(t,e,i){var n=t.getData();this._updateLineDraw(n,t).incrementalPrepareUpdate(n),this._clearLayer(i),this._finished=!1},incrementalRender:function(t,e,i){this._lineDraw.incrementalUpdate(t,e.getData()),this._finished=t.end===e.getData().count()},updateTransform:function(t,e,i){var n=t.getData(),o=t.pipelineContext;if(!this._finished||o.large||o.progressiveRender)return{update:!0};var a=Hk.reset(t);a.progress&&a.progress({start:0,end:n.count()},n),this._lineDraw.updateLayout(),this._clearLayer(i)},_updateLineDraw:function(t,e){var i=this._lineDraw,n=this._showEffect(e),o=!!e.get("polyline"),a=e.pipelineContext.large;return i&&n===this._hasEffet&&o===this._isPolyline&&a===this._isLargeDraw||(i&&i.remove(),i=this._lineDraw=a?new gg:new Jd(o?n?pg:fg:n?dg:$d),this._hasEffet=n,this._isPolyline=o,this._isLargeDraw=a,this.group.removeAll()),this.group.add(i.group),i},_showEffect:function(t){return!!t.get("effect.show")},_clearLayer:function(t){var e=t.getZr();"svg"===e.painter.getType()||null==this._lastZlevel||e.painter.getLayer(this._lastZlevel).clear(!0)},remove:function(t,e){this._lineDraw&&this._lineDraw.remove(),this._lineDraw=null,this._clearLayer(e)},dispose:function(){}});var Zk="lineStyle.opacity".split("."),Uk={seriesType:"lines",reset:function(t,e,i){var n=mg(t.get("symbol")),o=mg(t.get("symbolSize")),a=t.getData();return a.setVisual("fromSymbol",n&&n[0]),a.setVisual("toSymbol",n&&n[1]),a.setVisual("fromSymbolSize",o&&o[0]),a.setVisual("toSymbolSize",o&&o[1]),a.setVisual("opacity",t.get(Zk)),{dataEach:a.hasItemOption?function(t,e){var i=t.getItemModel(e),n=mg(i.getShallow("symbol",!0)),o=mg(i.getShallow("symbolSize",!0)),a=i.get(Zk);n[0]&&t.setItemVisual(e,"fromSymbol",n[0]),n[1]&&t.setItemVisual(e,"toSymbol",n[1]),o[0]&&t.setItemVisual(e,"fromSymbolSize",o[0]),o[1]&&t.setItemVisual(e,"toSymbolSize",o[1]),t.setItemVisual(e,"opacity",a)}:null}}};Os(Hk),Es(Uk),OI.extend({type:"series.heatmap",getInitialData:function(t,e){return dl(this.getSource(),this,{generateCoord:"value"})},preventIncremental:function(){var t=Ba.get(this.get("coordinateSystem"));if(t&&t.dimensions)return"lng"===t.dimensions[0]&&"lat"===t.dimensions[1]},defaultOption:{coordinateSystem:"cartesian2d",zlevel:0,z:2,geoIndex:0,blurSize:30,pointSize:20,maxOpacity:1,minOpacity:0}});vg.prototype={update:function(t,e,i,n,o,a){var r=this._getBrush(),s=this._getGradient(t,o,"inRange"),l=this._getGradient(t,o,"outOfRange"),u=this.pointSize+this.blurSize,h=this.canvas,c=h.getContext("2d"),d=t.length;h.width=e,h.height=i;for(var f=0;f<d;++f){var p=t[f],g=p[0],m=p[1],v=n(p[2]);c.globalAlpha=v,c.drawImage(r,g-u,m-u)}if(!h.width||!h.height)return h;for(var y=c.getImageData(0,0,h.width,h.height),x=y.data,_=0,w=x.length,b=this.minOpacity,S=this.maxOpacity-b;_<w;){var v=x[_+3]/256,M=4*Math.floor(255*v);if(v>0){var I=a(v)?s:l;v>0&&(v=v*S+b),x[_++]=I[M],x[_++]=I[M+1],x[_++]=I[M+2],x[_++]=I[M+3]*v*256}else _+=4}return c.putImageData(y,0,0),h},_getBrush:function(){var t=this._brushCanvas||(this._brushCanvas=Y_()),e=this.pointSize+this.blurSize,i=2*e;t.width=i,t.height=i;var n=t.getContext("2d");return n.clearRect(0,0,i,i),n.shadowOffsetX=i,n.shadowBlur=this.blurSize,n.shadowColor="#000",n.beginPath(),n.arc(-e,e,this.pointSize,0,2*Math.PI,!0),n.closePath(),n.fill(),t},_getGradient:function(t,e,i){for(var n=this._gradientPixels,o=n[i]||(n[i]=new Uint8ClampedArray(1024)),a=[0,0,0,0],r=0,s=0;s<256;s++)e[i](s/255,!0,a),o[r++]=a[0],o[r++]=a[1],o[r++]=a[2],o[r++]=a[3];return o}},Fs({type:"heatmap",render:function(t,e,i){var n;e.eachComponent("visualMap",function(e){e.eachTargetSeries(function(i){i===t&&(n=e)})}),this.group.removeAll(),this._incrementalDisplayable=null;var o=t.coordinateSystem;"cartesian2d"===o.type||"calendar"===o.type?this._renderOnCartesianAndCalendar(t,i,0,t.getData().count()):_g(o)&&this._renderOnGeo(o,t,n,i)},incrementalPrepareRender:function(t,e,i){this.group.removeAll()},incrementalRender:function(t,e,i,n){e.coordinateSystem&&this._renderOnCartesianAndCalendar(e,n,t.start,t.end,!0)},_renderOnCartesianAndCalendar:function(t,e,i,n,o){var r,s,l=t.coordinateSystem;if("cartesian2d"===l.type){var u=l.getAxis("x"),h=l.getAxis("y");r=u.getBandWidth(),s=h.getBandWidth()}for(var c=this.group,d=t.getData(),f=t.getModel("itemStyle").getItemStyle(["color"]),p=t.getModel("emphasis.itemStyle").getItemStyle(),g=t.getModel("label"),m=t.getModel("emphasis.label"),v=l.type,y="cartesian2d"===v?[d.mapDimension("x"),d.mapDimension("y"),d.mapDimension("value")]:[d.mapDimension("time"),d.mapDimension("value")],x=i;x<n;x++){var _;if("cartesian2d"===v){if(isNaN(d.get(y[2],x)))continue;var w=l.dataToPoint([d.get(y[0],x),d.get(y[1],x)]);_=new aM({shape:{x:w[0]-r/2,y:w[1]-s/2,width:r,height:s},style:{fill:d.getItemVisual(x,"color"),opacity:d.getItemVisual(x,"opacity")}})}else{if(isNaN(d.get(y[1],x)))continue;_=new aM({z2:1,shape:l.dataToRect([d.get(y[0],x)]).contentShape,style:{fill:d.getItemVisual(x,"color"),opacity:d.getItemVisual(x,"opacity")}})}var b=d.getItemModel(x);d.hasItemOption&&(f=b.getModel("itemStyle").getItemStyle(["color"]),p=b.getModel("emphasis.itemStyle").getItemStyle(),g=b.getModel("label"),m=b.getModel("emphasis.label"));var S=t.getRawValue(x),M="-";S&&null!=S[2]&&(M=S[2]),co(f,p,g,m,{labelFetcher:t,labelDataIndex:x,defaultText:M,isRectText:!0}),_.setStyle(f),uo(_,d.hasItemOption?p:a({},p)),_.incremental=o,o&&(_.useHoverLayer=!0),c.add(_),d.setItemGraphicEl(x,_)}},_renderOnGeo:function(t,e,i,n){var o=i.targetVisuals.inRange,a=i.targetVisuals.outOfRange,r=e.getData(),s=this._hmLayer||this._hmLayer||new vg;s.blurSize=e.get("blurSize"),s.pointSize=e.get("pointSize"),s.minOpacity=e.get("minOpacity"),s.maxOpacity=e.get("maxOpacity");var l=t.getViewRect().clone(),u=t.getRoamTransform();l.applyTransform(u);var h=Math.max(l.x,0),c=Math.max(l.y,0),d=Math.min(l.width+l.x,n.getWidth()),f=Math.min(l.height+l.y,n.getHeight()),p=d-h,g=f-c,m=[r.mapDimension("lng"),r.mapDimension("lat"),r.mapDimension("value")],v=r.mapArray(m,function(e,i,n){var o=t.dataToPoint([e,i]);return o[0]-=h,o[1]-=c,o.push(n),o}),y=i.getExtent(),x="visualMap.continuous"===i.type?xg(y,i.option.range):yg(y,i.getPieceList(),i.option.selected);s.update(v,p,g,o.color.getNormalizer(),{inRange:o.color.getColorMapper(),outOfRange:a.color.getColorMapper()},x);var _=new hi({style:{width:p,height:g,x:h,y:c,image:s.canvas},silent:!0});this.group.add(_)},dispose:function(){}});var Xk=ED.extend({type:"series.pictorialBar",dependencies:["grid"],defaultOption:{symbol:"circle",symbolSize:null,symbolRotate:null,symbolPosition:null,symbolOffset:null,symbolMargin:null,symbolRepeat:!1,symbolRepeatDirection:"end",symbolClip:!1,symbolBoundingData:null,symbolPatternSize:400,barGap:"-100%",progressive:0,hoverAnimation:!1},getInitialData:function(t){return t.stack=null,Xk.superApply(this,"getInitialData",arguments)}}),jk=["itemStyle","borderWidth"],Yk=[{xy:"x",wh:"width",index:0,posDesc:["left","right"]},{xy:"y",wh:"height",index:1,posDesc:["top","bottom"]}],qk=new KS;Fs({type:"pictorialBar",render:function(t,e,i){var n=this.group,o=t.getData(),a=this._data,r=t.coordinateSystem,s=!!r.getBaseAxis().isHorizontal(),l=r.grid.getRect(),u={ecSize:{width:i.getWidth(),height:i.getHeight()},seriesModel:t,coordSys:r,coordSysExtent:[[l.x,l.x+l.width],[l.y,l.y+l.height]],isHorizontal:s,valueDim:Yk[+s],categoryDim:Yk[1-s]};return o.diff(a).add(function(t){if(o.hasValue(t)){var e=Pg(o,t),i=wg(o,t,e,u),a=Rg(o,u,i);o.setItemGraphicEl(t,a),n.add(a),Wg(a,u,i)}}).update(function(t,e){var i=a.getItemGraphicEl(e);if(o.hasValue(t)){var r=Pg(o,t),s=wg(o,t,r,u),l=Vg(o,s);i&&l!==i.__pictorialShapeStr&&(n.remove(i),o.setItemGraphicEl(t,null),i=null),i?zg(i,u,s):i=Rg(o,u,s,!0),o.setItemGraphicEl(t,i),i.__pictorialSymbolMeta=s,n.add(i),Wg(i,u,s)}else n.remove(i)}).remove(function(t){var e=a.getItemGraphicEl(t);e&&Bg(a,t,e.__pictorialSymbolMeta.animationModel,e)}).execute(),this._data=o,this.group},dispose:B,remove:function(t,e){var i=this.group,n=this._data;t.get("animation")?n&&n.eachItemGraphicEl(function(e){Bg(n,e.dataIndex,t,e)}):i.removeAll()}});Os(v(kl,"pictorialBar")),Es(hD("pictorialBar","roundRect"));var Kk=function(t,e,i,n,o){HA.call(this,t,e,i),this.type=n||"value",this.position=o||"bottom",this.orient=null};Kk.prototype={constructor:Kk,model:null,isHorizontal:function(){var t=this.position;return"top"===t||"bottom"===t},pointToData:function(t,e){return this.coordinateSystem.pointToData(t,e)[0]},toGlobalCoord:null,toLocalCoord:null},u(Kk,HA),Zg.prototype={type:"singleAxis",axisPointerEnabled:!0,constructor:Zg,_init:function(t,e,i){var n=this.dimension,o=new Kk(n,Vl(t),[0,0],t.get("type"),t.get("position")),a="category"===o.type;o.onBand=a&&t.get("boundaryGap"),o.inverse=t.get("inverse"),o.orient=t.get("orient"),t.axis=o,o.model=t,o.coordinateSystem=this,this._axis=o},update:function(t,e){t.eachSeries(function(t){if(t.coordinateSystem===this){var e=t.getData();d(e.mapDimension(this.dimension,!0),function(t){this._axis.scale.unionExtentFromData(e,t)},this),Bl(this._axis.scale,this._axis.model)}},this)},resize:function(t,e){this._rect=la({left:t.get("left"),top:t.get("top"),right:t.get("right"),bottom:t.get("bottom"),width:t.get("width"),height:t.get("height")},{width:e.getWidth(),height:e.getHeight()}),this._adjustAxis()},getRect:function(){return this._rect},_adjustAxis:function(){var t=this._rect,e=this._axis,i=e.isHorizontal(),n=i?[0,t.width]:[0,t.height],o=e.reverse?1:0;e.setExtent(n[o],n[1-o]),this._updateAxisTransform(e,i?t.x:t.y)},_updateAxisTransform:function(t,e){var i=t.getExtent(),n=i[0]+i[1],o=t.isHorizontal();t.toGlobalCoord=o?function(t){return t+e}:function(t){return n-t+e},t.toLocalCoord=o?function(t){return t-e}:function(t){return n-t+e}},getAxis:function(){return this._axis},getBaseAxis:function(){return this._axis},getAxes:function(){return[this._axis]},getTooltipAxes:function(){return{baseAxes:[this.getAxis()]}},containPoint:function(t){var e=this.getRect(),i=this.getAxis();return"horizontal"===i.orient?i.contain(i.toLocalCoord(t[0]))&&t[1]>=e.y&&t[1]<=e.y+e.height:i.contain(i.toLocalCoord(t[1]))&&t[0]>=e.y&&t[0]<=e.y+e.height},pointToData:function(t){var e=this.getAxis();return[e.coordToData(e.toLocalCoord(t["horizontal"===e.orient?0:1]))]},dataToPoint:function(t){var e=this.getAxis(),i=this.getRect(),n=[],o="horizontal"===e.orient?0:1;return t instanceof Array&&(t=t[0]),n[o]=e.toGlobalCoord(e.dataToCoord(+t)),n[1-o]=0===o?i.y+i.height/2:i.x+i.width/2,n}},Ba.register("single",{create:function(t,e){var i=[];return t.eachComponent("singleAxis",function(n,o){var a=new Zg(n,t,e);a.name="single_"+o,a.resize(n,e),n.coordinateSystem=a,i.push(a)}),t.eachSeries(function(e){if("singleAxis"===e.get("coordinateSystem")){var i=t.queryComponents({mainType:"singleAxis",index:e.get("singleAxisIndex"),id:e.get("singleAxisId")})[0];e.coordinateSystem=i&&i.coordinateSystem}}),i},dimensions:Zg.prototype.dimensions});var $k=["axisLine","axisTickLabel","axisName"],Jk=LD.extend({type:"singleAxis",axisPointerClass:"SingleAxisPointer",render:function(t,e,i,n){var o=this.group;o.removeAll();var a=Ug(t),r=new ID(t,a);d($k,r.add,r),o.add(r.getGroup()),t.get("splitLine.show")&&this._splitLine(t),Jk.superCall(this,"render",t,e,i,n)},_splitLine:function(t){var e=t.axis;if(!e.scale.isBlank()){var i=t.getModel("splitLine"),n=i.getModel("lineStyle"),o=n.get("width"),a=n.get("color");a=a instanceof Array?a:[a];for(var r=t.coordinateSystem.getRect(),s=e.isHorizontal(),l=[],u=0,h=e.getTicksCoords({tickModel:i}),c=[],d=[],f=0;f<h.length;++f){var p=e.toGlobalCoord(h[f].coord);s?(c[0]=p,c[1]=r.y,d[0]=p,d[1]=r.y+r.height):(c[0]=r.x,c[1]=p,d[0]=r.x+r.width,d[1]=p);var g=u++%a.length;l[g]=l[g]||[],l[g].push(new rM(Xn({shape:{x1:c[0],y1:c[1],x2:d[0],y2:d[1]},style:{lineWidth:o},silent:!0})))}for(f=0;f<l.length;++f)this.group.add(xM(l[f],{style:{stroke:a[f%a.length],lineDash:n.getLineDash(o),lineWidth:o},silent:!0}))}}}),Qk=YM.extend({type:"singleAxis",layoutMode:"box",axis:null,coordinateSystem:null,getCoordSysModel:function(){return this}}),tP={left:"5%",top:"5%",right:"5%",bottom:"5%",type:"value",position:"bottom",orient:"horizontal",axisLine:{show:!0,lineStyle:{width:2,type:"solid"}},tooltip:{show:!0},axisTick:{show:!0,length:6,lineStyle:{width:2}},axisLabel:{show:!0,interval:"auto"},splitLine:{show:!0,lineStyle:{type:"dashed",opacity:.2}}};n(Qk.prototype,CA),xD("single",Qk,function(t,e){return e.type||(e.data?"category":"value")},tP);var eP=function(t,e){var i,n=[],o=t.seriesIndex;if(null==o||!(i=e.getSeriesByIndex(o)))return{point:[]};var a=i.getData(),r=zi(a,t);if(null==r||r<0||y(r))return{point:[]};var s=a.getItemGraphicEl(r),l=i.coordinateSystem;if(i.getTooltipPosition)n=i.getTooltipPosition(r)||[];else if(l&&l.dataToPoint)n=l.dataToPoint(a.getValues(f(l.dimensions,function(t){return a.mapDimension(t)}),r,!0))||[];else if(s){var u=s.getBoundingRect().clone();u.applyTransform(s.transform),n=[u.x+u.width/2,u.y+u.height/2]}return{point:n,el:s}},iP=d,nP=v,oP=Bi(),aP=(Bs({type:"axisPointer",coordSysAxesInfo:null,defaultOption:{show:"auto",triggerOn:null,zlevel:0,z:50,type:"line",snap:!1,triggerTooltip:!0,value:null,status:null,link:[],animation:null,animationDurationUpdate:200,lineStyle:{color:"#aaa",width:1,type:"solid"},shadowStyle:{color:"rgba(150,150,150,0.3)"},label:{show:!0,formatter:null,precision:"auto",margin:3,color:"#fff",padding:[5,7,5,7],backgroundColor:"auto",borderColor:null,borderWidth:0,shadowBlur:3,shadowColor:"#aaa"},handle:{show:!1,icon:"M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4h1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7v-1.2h6.6z M13.3,22H6.7v-1.2h6.6z M13.3,19.6H6.7v-1.2h6.6z",size:45,margin:50,color:"#333",shadowBlur:3,shadowColor:"#aaa",shadowOffsetX:0,shadowOffsetY:2,throttle:40}}}),Bi()),rP=d,sP=Vs({type:"axisPointer",render:function(t,e,i){var n=e.getComponent("tooltip"),o=t.get("triggerOn")||n&&n.get("triggerOn")||"mousemove|click";im("axisPointer",i,function(t,e,i){"none"!==o&&("leave"===t||o.indexOf(t)>=0)&&i({type:"updateAxisPointer",currTrigger:t,x:e&&e.offsetX,y:e&&e.offsetY})})},remove:function(t,e){lm(e.getZr(),"axisPointer"),sP.superApply(this._model,"remove",arguments)},dispose:function(t,e){lm("axisPointer",e),sP.superApply(this._model,"dispose",arguments)}}),lP=Bi(),uP=i,hP=m;(um.prototype={_group:null,_lastGraphicKey:null,_handle:null,_dragging:!1,_lastValue:null,_lastStatus:null,_payloadInfo:null,animationThreshold:15,render:function(t,e,i,n){var o=e.get("value"),a=e.get("status");if(this._axisModel=t,this._axisPointerModel=e,this._api=i,n||this._lastValue!==o||this._lastStatus!==a){this._lastValue=o,this._lastStatus=a;var r=this._group,s=this._handle;if(!a||"hide"===a)return r&&r.hide(),void(s&&s.hide());r&&r.show(),s&&s.show();var l={};this.makeElOption(l,o,t,e,i);var u=l.graphicKey;u!==this._lastGraphicKey&&this.clear(i),this._lastGraphicKey=u;var h=this._moveAnimation=this.determineAnimation(t,e);if(r){var c=v(hm,e,h);this.updatePointerEl(r,l,c,e),this.updateLabelEl(r,l,c,e)}else r=this._group=new Zw,this.createPointerEl(r,l,t,e),this.createLabelEl(r,l,t,e),i.getZr().add(r);pm(r,e,!0),this._renderHandle(o)}},remove:function(t){this.clear(t)},dispose:function(t){this.clear(t)},determineAnimation:function(t,e){var i=e.get("animation"),n=t.axis,o="category"===n.type,a=e.get("snap");if(!a&&!o)return!1;if("auto"===i||null==i){var r=this.animationThreshold;if(o&&n.getBandWidth()>r)return!0;if(a){var s=xh(t).seriesDataCount,l=n.getExtent();return Math.abs(l[0]-l[1])/s>r}return!1}return!0===i},makeElOption:function(t,e,i,n,o){},createPointerEl:function(t,e,i,n){var o=e.pointer;if(o){var a=lP(t).pointerEl=new bM[o.type](uP(e.pointer));t.add(a)}},createLabelEl:function(t,e,i,n){if(e.label){var o=lP(t).labelEl=new aM(uP(e.label));t.add(o),dm(o,n)}},updatePointerEl:function(t,e,i){var n=lP(t).pointerEl;n&&(n.setStyle(e.pointer.style),i(n,{shape:e.pointer.shape}))},updateLabelEl:function(t,e,i,n){var o=lP(t).labelEl;o&&(o.setStyle(e.label.style),i(o,{shape:e.label.shape,position:e.label.position}),dm(o,n))},_renderHandle:function(t){if(!this._dragging&&this.updateHandleTransform){var e=this._axisPointerModel,i=this._api.getZr(),n=this._handle,o=e.getModel("handle"),a=e.get("status");if(!o.get("show")||!a||"hide"===a)return n&&i.remove(n),void(this._handle=null);var r;this._handle||(r=!0,n=this._handle=Co(o.get("icon"),{cursor:"move",draggable:!0,onmousemove:function(t){lw(t.event)},onmousedown:hP(this._onHandleDragMove,this,0,0),drift:hP(this._onHandleDragMove,this),ondragend:hP(this._onHandleDragEnd,this)}),i.add(n)),pm(n,e,!1);var s=["color","borderColor","borderWidth","opacity","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY"];n.setStyle(o.getItemStyle(null,s));var l=o.get("size");y(l)||(l=[l,l]),n.attr("scale",[l[0]/2,l[1]/2]),Lr(this,"_doDispatchAxisPointer",o.get("throttle")||0,"fixRate"),this._moveHandleToValue(t,r)}},_moveHandleToValue:function(t,e){hm(this._axisPointerModel,!e&&this._moveAnimation,this._handle,fm(this.getHandleTransform(t,this._axisModel,this._axisPointerModel)))},_onHandleDragMove:function(t,e){var i=this._handle;if(i){this._dragging=!0;var n=this.updateHandleTransform(fm(i),[t,e],this._axisModel,this._axisPointerModel);this._payloadInfo=n,i.stopAnimation(),i.attr(fm(n)),lP(i).lastProp=null,this._doDispatchAxisPointer()}},_doDispatchAxisPointer:function(){if(this._handle){var t=this._payloadInfo,e=this._axisModel;this._api.dispatchAction({type:"updateAxisPointer",x:t.cursorPoint[0],y:t.cursorPoint[1],tooltipOption:t.tooltipOption,axesInfo:[{axisDim:e.axis.dim,axisIndex:e.componentIndex}]})}},_onHandleDragEnd:function(t){if(this._dragging=!1,this._handle){var e=this._axisPointerModel.get("value");this._moveHandleToValue(e),this._api.dispatchAction({type:"hideTip"})}},getHandleTransform:null,updateHandleTransform:null,clear:function(t){this._lastValue=null,this._lastStatus=null;var e=t.getZr(),i=this._group,n=this._handle;e&&i&&(this._lastGraphicKey=null,i&&e.remove(i),n&&e.remove(n),this._group=null,this._handle=null,this._payloadInfo=null)},doClear:function(){},buildLabel:function(t,e,i){return i=i||0,{x:t[i],y:t[1-i],width:e[i],height:e[1-i]}}}).constructor=um,Xi(um);var cP=um.extend({makeElOption:function(t,e,i,n,o){var a=i.axis,r=a.grid,s=n.get("type"),l=Mm(r,a).getOtherAxis(a).getGlobalExtent(),u=a.toGlobalCoord(a.dataToCoord(e,!0));if(s&&"none"!==s){var h=gm(n),c=dP[s](a,u,l,h);c.style=h,t.graphicKey=c.type,t.pointer=c}_m(e,t,Ih(r.model,i),i,n,o)},getHandleTransform:function(t,e,i){var n=Ih(e.axis.grid.model,e,{labelInside:!1});return n.labelMargin=i.get("handle.margin"),{position:xm(e.axis,t,n),rotation:n.rotation+(n.labelDirection<0?Math.PI:0)}},updateHandleTransform:function(t,e,i,n){var o=i.axis,a=o.grid,r=o.getGlobalExtent(!0),s=Mm(a,o).getOtherAxis(o).getGlobalExtent(),l="x"===o.dim?0:1,u=t.position;u[l]+=e[l],u[l]=Math.min(r[1],u[l]),u[l]=Math.max(r[0],u[l]);var h=(s[1]+s[0])/2,c=[h,h];c[l]=u[l];var d=[{verticalAlign:"middle"},{align:"center"}];return{position:u,rotation:t.rotation,cursorPoint:c,tooltipOption:d[l]}}}),dP={line:function(t,e,i,n){var o=wm([e,i[0]],[e,i[1]],Im(t));return Xn({shape:o,style:n}),{type:"Line",shape:o}},shadow:function(t,e,i,n){var o=Math.max(1,t.getBandWidth()),a=i[1]-i[0];return{type:"Rect",shape:bm([e-o/2,i[0]],[o,a],Im(t))}}};LD.registerAxisPointerClass("CartesianAxisPointer",cP),Ls(function(t){if(t){(!t.axisPointer||0===t.axisPointer.length)&&(t.axisPointer={});var e=t.axisPointer.link;e&&!y(e)&&(t.axisPointer.link=[e])}}),ks(IT.PROCESSOR.STATISTIC,function(t,e){t.getComponent("axisPointer").coordSysAxesInfo=dh(t,e)}),Ps({type:"updateAxisPointer",event:"updateAxisPointer",update:":updateAxisPointer"},function(t,e,i){var n=t.currTrigger,o=[t.x,t.y],a=t,r=t.dispatchAction||m(i.dispatchAction,i),s=e.getComponent("axisPointer").coordSysAxesInfo;if(s){em(o)&&(o=eP({seriesIndex:a.seriesIndex,dataIndex:a.dataIndex},e).point);var l=em(o),u=a.axesInfo,h=s.axesInfo,c="leave"===n||em(o),d={},f={},p={list:[],map:{}},g={showPointer:nP(Yg,f),showTooltip:nP(qg,p)};iP(s.coordSysMap,function(t,e){var i=l||t.containPoint(o);iP(s.coordSysAxesInfo[e],function(t,e){var n=t.axis,a=Qg(u,t);if(!c&&i&&(!u||a)){var r=a&&a.value;null!=r||l||(r=n.pointToData(o)),null!=r&&Xg(t,r,g,!1,d)}})});var v={};return iP(h,function(t,e){var i=t.linkGroup;i&&!f[e]&&iP(i.axesInfo,function(e,n){var o=f[n];if(e!==t&&o){var a=o.value;i.mapper&&(a=t.axis.scale.parse(i.mapper(a,tm(e),tm(t)))),v[t.key]=a}})}),iP(v,function(t,e){Xg(h[e],t,g,!0,d)}),Kg(f,h,d),$g(p,o,t,r),Jg(h,0,i),d}});var fP=["x","y"],pP=["width","height"],gP=um.extend({makeElOption:function(t,e,i,n,o){var a=i.axis,r=a.coordinateSystem,s=Am(r,1-Tm(a)),l=r.dataToPoint(e)[0],u=n.get("type");if(u&&"none"!==u){var h=gm(n),c=mP[u](a,l,s,h);c.style=h,t.graphicKey=c.type,t.pointer=c}_m(e,t,Ug(i),i,n,o)},getHandleTransform:function(t,e,i){var n=Ug(e,{labelInside:!1});return n.labelMargin=i.get("handle.margin"),{position:xm(e.axis,t,n),rotation:n.rotation+(n.labelDirection<0?Math.PI:0)}},updateHandleTransform:function(t,e,i,n){var o=i.axis,a=o.coordinateSystem,r=Tm(o),s=Am(a,r),l=t.position;l[r]+=e[r],l[r]=Math.min(s[1],l[r]),l[r]=Math.max(s[0],l[r]);var u=Am(a,1-r),h=(u[1]+u[0])/2,c=[h,h];return c[r]=l[r],{position:l,rotation:t.rotation,cursorPoint:c,tooltipOption:{verticalAlign:"middle"}}}}),mP={line:function(t,e,i,n){var o=wm([e,i[0]],[e,i[1]],Tm(t));return Xn({shape:o,style:n}),{type:"Line",shape:o}},shadow:function(t,e,i,n){var o=t.getBandWidth(),a=i[1]-i[0];return{type:"Rect",shape:bm([e-o/2,i[0]],[o,a],Tm(t))}}};LD.registerAxisPointerClass("SingleAxisPointer",gP),Vs({type:"single"});var vP=OI.extend({type:"series.themeRiver",dependencies:["singleAxis"],nameMap:null,init:function(t){vP.superApply(this,"init",arguments),this.legendDataProvider=function(){return this.getRawData()}},fixData:function(t){for(var e=t.length,i=f(Lp().key(function(t){return t[2]}).entries(t),function(t){return{name:t.key,dataList:t.values}}),n=i.length,o=-1,a=-1,r=0;r<n;++r){var s=i[r].dataList.length;s>o&&(o=s,a=r)}for(var l=0;l<n;++l)if(l!==a)for(var u=i[l].name,h=0;h<o;++h){for(var c=i[a].dataList[h][0],d=i[l].dataList.length,p=-1,g=0;g<d;++g)if(i[l].dataList[g][0]===c){p=g;break}-1===p&&(t[e]=[],t[e][0]=c,t[e][1]=0,t[e][2]=u,e++)}return t},getInitialData:function(t,e){for(var i=e.queryComponents({mainType:"singleAxis",index:this.get("singleAxisIndex"),id:this.get("singleAxisId")})[0].get("type"),n=g(t.data,function(t){return void 0!==t[2]}),o=this.fixData(n||[]),a=[],r=this.nameMap=R(),s=0,l=0;l<o.length;++l)a.push(o[l][2]),r.get(o[l][2])||(r.set(o[l][2],s),s++);var u=oA(o,{coordDimensions:["single"],dimensionsDefine:[{name:"time",type:Xs(i)},{name:"value",type:"float"},{name:"name",type:"ordinal"}],encodeDefine:{single:0,value:1,itemName:2}}),h=new eA(u,this);return h.initData(o),h},getLayerSeries:function(){for(var t=this.getData(),e=t.count(),i=[],n=0;n<e;++n)i[n]=n;for(var o=f(Lp().key(function(e){return t.get("name",e)}).entries(i),function(t){return{name:t.key,indices:t.values}}),a=t.mapDimension("single"),r=0;r<o.length;++r)o[r].indices.sort(function(e,i){return t.get(a,e)-t.get(a,i)});return o},getAxisTooltipData:function(t,e,i){y(t)||(t=t?[t]:[]);for(var n,o=this.getData(),a=this.getLayerSeries(),r=[],s=a.length,l=0;l<s;++l){for(var u=Number.MAX_VALUE,h=-1,c=a[l].indices.length,d=0;d<c;++d){var f=o.get(t[0],a[l].indices[d]),p=Math.abs(f-e);p<=u&&(n=f,u=p,h=a[l].indices[d])}r.push(h)}return{dataIndices:r,nestestValue:n}},formatTooltip:function(t){var e=this.getData(),i=e.getName(t),n=e.get(e.mapDimension("value"),t);return(isNaN(n)||null==n)&&(n="-"),Qo(i+" : "+n)},defaultOption:{zlevel:0,z:2,coordinateSystem:"singleAxis",boundaryGap:["10%","10%"],singleAxisIndex:0,animationEasing:"linear",label:{margin:4,show:!0,position:"left",color:"#000",fontSize:11},emphasis:{label:{show:!0}}}});Fs({type:"themeRiver",init:function(){this._layers=[]},render:function(t,e,i){function n(t){return t.name}function o(e,i,n){var o=this._layers;if("remove"!==e){for(var u,h=[],c=[],f=l[i].indices,p=0;p<f.length;p++){var g=r.getItemLayout(f[p]),m=g.x,v=g.y0,y=g.y;h.push([m,v]),c.push([m,v+y]),u=r.getItemVisual(f[p],"color")}var x,_,w=r.getItemLayout(f[0]),b=r.getItemModel(f[p-1]),S=b.getModel("label"),M=S.get("margin");if("add"===e){I=d[i]=new Zw;x=new uD({shape:{points:h,stackedOnPoints:c,smooth:.4,stackedOnSmooth:.4,smoothConstraint:!1},z2:0}),_=new qS({style:{x:w.x-M,y:w.y0+w.y/2}}),I.add(x),I.add(_),s.add(I),x.setClipPath(Dm(x.getBoundingRect(),t,function(){x.removeClipPath()}))}else{var I=o[n];x=I.childAt(0),_=I.childAt(1),s.add(I),d[i]=I,bo(x,{shape:{points:h,stackedOnPoints:c}},t),bo(_,{style:{x:w.x-M,y:w.y0+w.y/2}},t)}var T=b.getModel("emphasis.itemStyle"),A=b.getModel("itemStyle");fo(_.style,S,{text:S.get("show")?t.getFormattedLabel(f[p-1],"normal")||r.getName(f[p-1]):null,textVerticalAlign:"middle"}),x.setStyle(a({fill:u},A.getItemStyle(["color"]))),uo(x,T.getItemStyle())}else s.remove(o[i])}var r=t.getData(),s=this.group,l=t.getLayerSeries(),u=r.getLayout("layoutInfo"),h=u.rect,c=u.boundaryGap;s.attr("position",[0,h.y+c[0]]);var d={};new Hs(this._layersSeries||[],l,n,n).add(m(o,this,"add")).update(m(o,this,"update")).remove(m(o,this,"remove")).execute(),this._layersSeries=l,this._layers=d},dispose:function(){}});Os(function(t,e){t.eachSeriesByType("themeRiver",function(t){var e=t.getData(),i=t.coordinateSystem,n={},o=i.getRect();n.rect=o;var a=t.get("boundaryGap"),r=i.getAxis();n.boundaryGap=a,"horizontal"===r.orient?(a[0]=Ro(a[0],o.height),a[1]=Ro(a[1],o.height),Cm(e,t,o.height-a[0]-a[1])):(a[0]=Ro(a[0],o.width),a[1]=Ro(a[1],o.width),Cm(e,t,o.width-a[0]-a[1])),e.setLayout("layoutInfo",n)})}),Es(function(t){t.eachSeriesByType("themeRiver",function(t){var e=t.getData(),i=t.getRawData(),n=t.get("color"),o=R();e.each(function(t){o.set(e.getRawIndex(t),t)}),i.each(function(a){var r=i.getName(a),s=n[(t.nameMap.get(r)-1)%n.length];i.setItemVisual(a,"color",s);var l=o.get(a);null!=l&&e.setItemVisual(l,"color",s)})})}),ks($D("themeRiver")),OI.extend({type:"series.sunburst",_viewRoot:null,getInitialData:function(t,e){var i={name:t.name,children:t.data};km(i);var n=t.levels||[],o={};return o.levels=n,kc.createTree(i,this,o).data},optionUpdated:function(){this.resetViewRoot()},getDataParams:function(t){var e=OI.prototype.getDataParams.apply(this,arguments),i=this.getData().tree.getNodeByDataIndex(t);return e.treePathInfo=nd(i,this),e},defaultOption:{zlevel:0,z:2,center:["50%","50%"],radius:[0,"75%"],clockwise:!0,startAngle:90,minAngle:0,percentPrecision:2,stillShowZeroSum:!0,highlightPolicy:"descendant",nodeClick:"rootToNode",renderLabelForZeroData:!1,label:{rotate:"radial",show:!0,opacity:1,align:"center",position:"inside",distance:5,silent:!0,emphasis:{}},itemStyle:{borderWidth:1,borderColor:"white",borderType:"solid",shadowBlur:0,shadowColor:"rgba(0, 0, 0, 0.2)",shadowOffsetX:0,shadowOffsetY:0,opacity:1,emphasis:{},highlight:{opacity:1},downplay:{opacity:.9}},animationType:"expansion",animationDuration:1e3,animationDurationUpdate:500,animationEasing:"cubicOut",data:[],levels:[],sort:"desc"},getViewRoot:function(){return this._viewRoot},resetViewRoot:function(t){t?this._viewRoot=t:t=this._viewRoot;var e=this.getRawData().tree.root;t&&(t===e||e.contains(t))||(this._viewRoot=e)}});var yP={NONE:"none",DESCENDANT:"descendant",ANCESTOR:"ancestor",SELF:"self"},xP=2,_P=4,wP=Pm.prototype;wP.updateData=function(t,e,i,o,s){this.node=e,e.piece=this,o=o||this._seriesModel,s=s||this._ecModel;var l=this.childAt(0);l.dataIndex=e.dataIndex;var u=e.getModel(),h=e.getLayout();h||console.log(e.getLayout());var c=a({},h);c.label=null;var d,f=Nm(e,0,s),p=u.getModel("itemStyle").getItemStyle();d=r({lineJoin:"bevel",fill:(d="normal"===i?p:n(u.getModel(i+".itemStyle").getItemStyle(),p)).fill||f},d),t?(l.setShape(c),l.shape.r=h.r0,bo(l,{shape:{r:h.r}},o,e.dataIndex),l.useStyle(d)):"object"==typeof d.fill&&d.fill.type||"object"==typeof l.style.fill&&l.style.fill.type?(bo(l,{shape:c},o),l.useStyle(d)):bo(l,{shape:c,style:d},o),this._updateLabel(o,f,i);var g=u.getShallow("cursor");if(g&&l.attr("cursor",g),t){var m=o.getShallow("highlightPolicy");this._initEvents(l,e,o,m)}this._seriesModel=o||this._seriesModel,this._ecModel=s||this._ecModel},wP.onEmphasis=function(t){var e=this;this.node.hostTree.root.eachNode(function(i){i.piece&&(e.node===i?i.piece.updateData(!1,i,"emphasis"):Em(i,e.node,t)?i.piece.childAt(0).trigger("highlight"):t!==yP.NONE&&i.piece.childAt(0).trigger("downplay"))})},wP.onNormal=function(){this.node.hostTree.root.eachNode(function(t){t.piece&&t.piece.updateData(!1,t,"normal")})},wP.onHighlight=function(){this.updateData(!1,this.node,"highlight")},wP.onDownplay=function(){this.updateData(!1,this.node,"downplay")},wP._updateLabel=function(t,e,i){function n(t){var e=r.get(t);return null==e?a.get(t):e}var o=this.node.getModel(),a=o.getModel("label"),r="normal"===i||"emphasis"===i?a:o.getModel(i+".label"),s=o.getModel("emphasis.label"),l=T(t.getFormattedLabel(this.node.dataIndex,"normal",null,null,"label"),this.node.name);!1===n("show")&&(l="");var u=this.node.getLayout(),h=r.get("minAngle");null==h&&(h=a.get("minAngle")),h=h/180*Math.PI;var c=u.endAngle-u.startAngle;null!=h&&Math.abs(c)<h&&(l="");var d=this.childAt(1);co(d.style,d.hoverStyle||{},a,s,{defaultText:r.getShallow("show")?l:null,autoColor:e,useInsideStyle:!0});var f,p=(u.startAngle+u.endAngle)/2,g=Math.cos(p),m=Math.sin(p),v=n("position"),y=n("distance")||0,x=n("align");"outside"===v?(f=u.r+y,x=p>Math.PI/2?"right":"left"):x&&"center"!==x?"left"===x?(f=u.r0+y,p>Math.PI/2&&(x="right")):"right"===x&&(f=u.r-y,p>Math.PI/2&&(x="left")):(f=(u.r+u.r0)/2,x="center"),d.attr("style",{text:l,textAlign:x,textVerticalAlign:n("verticalAlign")||"middle",opacity:n("opacity")});var _=f*g+u.cx,w=f*m+u.cy;d.attr("position",[_,w]);var b=n("rotate"),S=0;"radial"===b?(S=-p)<-Math.PI/2&&(S+=Math.PI):"tangential"===b?(S=Math.PI/2-p)>Math.PI/2?S-=Math.PI:S<-Math.PI/2&&(S+=Math.PI):"number"==typeof b&&(S=b*Math.PI/180),d.attr("rotation",S)},wP._initEvents=function(t,e,i,n){t.off("mouseover").off("mouseout").off("emphasis").off("normal");var o=this,a=function(){o.onEmphasis(n)},r=function(){o.onNormal()};i.isAnimationEnabled()&&t.on("mouseover",a).on("mouseout",r).on("emphasis",a).on("normal",r).on("downplay",function(){o.onDownplay()}).on("highlight",function(){o.onHighlight()})},u(Pm,Zw);Mr.extend({type:"sunburst",init:function(){},render:function(t,e,i,n){function o(i,n){if(c||!i||i.getValue()||(i=null),i!==l&&n!==l)if(n&&n.piece)i?(n.piece.updateData(!1,i,"normal",t,e),s.setItemGraphicEl(i.dataIndex,n.piece)):a(n);else if(i){var o=new Pm(i,t,e);h.add(o),s.setItemGraphicEl(i.dataIndex,o)}}function a(t){t&&t.piece&&(h.remove(t.piece),t.piece=null)}var r=this;this.seriesModel=t,this.api=i,this.ecModel=e;var s=t.getData(),l=s.tree.root,u=t.getViewRoot(),h=this.group,c=t.get("renderLabelForZeroData"),d=[];u.eachNode(function(t){d.push(t)});var f=this._oldChildren||[];if(function(t,e){function i(t){return t.getId()}function n(i,n){o(null==i?null:t[i],null==n?null:e[n])}0===t.length&&0===e.length||new Hs(e,t,i,i).add(n).update(n).remove(v(n,null)).execute()}(d,f),function(i,n){if(n.depth>0){r.virtualPiece?r.virtualPiece.updateData(!1,i,"normal",t,e):(r.virtualPiece=new Pm(i,t,e),h.add(r.virtualPiece)),n.piece._onclickEvent&&n.piece.off("click",n.piece._onclickEvent);var o=function(t){r._rootToNode(n.parentNode)};n.piece._onclickEvent=o,r.virtualPiece.on("click",o)}else r.virtualPiece&&(h.remove(r.virtualPiece),r.virtualPiece=null)}(l,u),n&&n.highlight&&n.highlight.piece){var p=t.getShallow("highlightPolicy");n.highlight.piece.onEmphasis(p)}else if(n&&n.unhighlight){var g=this.virtualPiece;!g&&l.children.length&&(g=l.children[0].piece),g&&g.onNormal()}this._initEvents(),this._oldChildren=d},dispose:function(){},_initEvents:function(){var t=this,e=function(e){var i=!1;t.seriesModel.getViewRoot().eachNode(function(n){if(!i&&n.piece&&n.piece.childAt(0)===e.target){var o=n.getModel().get("nodeClick");if("rootToNode"===o)t._rootToNode(n);else if("link"===o){var a=n.getModel(),r=a.get("link");if(r){var s=a.get("target",!0)||"_blank";window.open(r,s)}}i=!0}})};this.group._onclickEvent&&this.group.off("click",this.group._onclickEvent),this.group.on("click",e),this.group._onclickEvent=e},_rootToNode:function(t){t!==this.seriesModel.getViewRoot()&&this.api.dispatchAction({type:"sunburstRootToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:t})},containPoint:function(t,e){var i=e.getData().getItemLayout(0);if(i){var n=t[0]-i.cx,o=t[1]-i.cy,a=Math.sqrt(n*n+o*o);return a<=i.r&&a>=i.r0}}});var bP="sunburstRootToNode";Ps({type:bP,update:"updateView"},function(t,e){e.eachComponent({mainType:"series",subType:"sunburst",query:t},function(e,i){var n=td(t,[bP],e);if(n){var o=e.getViewRoot();o&&(t.direction=id(o,n.node)?"rollUp":"drillDown"),e.resetViewRoot(n.node)}})});var SP="sunburstHighlight";Ps({type:SP,update:"updateView"},function(t,e){e.eachComponent({mainType:"series",subType:"sunburst",query:t},function(e,i){var n=td(t,[SP],e);n&&(t.highlight=n.node)})});Ps({type:"sunburstUnhighlight",update:"updateView"},function(t,e){e.eachComponent({mainType:"series",subType:"sunburst",query:t},function(e,i){t.unhighlight=!0})});var MP=Math.PI/180;Es(v(jD,"sunburst")),Os(v(function(t,e,i,n){e.eachSeriesByType(t,function(t){var e=t.get("center"),n=t.get("radius");y(n)||(n=[0,n]),y(e)||(e=[e,e]);var o=i.getWidth(),a=i.getHeight(),r=Math.min(o,a),s=Ro(e[0],o),l=Ro(e[1],a),u=Ro(n[0],r/2),h=Ro(n[1],r/2),c=-t.get("startAngle")*MP,f=t.get("minAngle")*MP,p=t.getData().tree.root,g=t.getViewRoot(),m=g.depth,v=t.get("sort");null!=v&&Rm(g,v);var x=0;d(g.children,function(t){!isNaN(t.getValue())&&x++});var _=g.getValue(),w=Math.PI/(_||x)*2,b=g.depth>0,S=g.height-(b?-1:1),M=(h-u)/(S||1),I=t.get("clockwise"),T=t.get("stillShowZeroSum"),A=I?1:-1,D=function(t,e){if(t){var i=e;if(t!==p){var n=t.getValue(),o=0===_&&T?w:n*w;o<f&&(o=f),i=e+A*o;var a=t.depth-m-(b?-1:1),h=u+M*a,c=u+M*(a+1),g=t.getModel();null!=g.get("r0")&&(h=Ro(g.get("r0"),r/2)),null!=g.get("r")&&(c=Ro(g.get("r"),r/2)),t.setLayout({angle:o,startAngle:e,endAngle:i,clockwise:I,cx:s,cy:l,r0:h,r:c})}if(t.children&&t.children.length){var v=0;d(t.children,function(t){v+=D(t,e+v)})}return i-e}};if(b){var C=u,L=u+M,k=2*Math.PI;p.setLayout({angle:k,startAngle:c,endAngle:c+k,clockwise:I,cx:s,cy:l,r0:C,r:L})}D(g,c)})},"sunburst")),ks(v($D,"sunburst"));var IP=["itemStyle"],TP=["emphasis","itemStyle"],AP=["label"],DP=["emphasis","label"],CP="e\0\0",LP={cartesian2d:function(t){var e=t.grid.getRect();return{coordSys:{type:"cartesian2d",x:e.x,y:e.y,width:e.width,height:e.height},api:{coord:function(e){return t.dataToPoint(e)},size:m(Bm,t)}}},geo:function(t){var e=t.getBoundingRect();return{coordSys:{type:"geo",x:e.x,y:e.y,width:e.width,height:e.height,zoom:t.getZoom()},api:{coord:function(e){return t.dataToPoint(e)},size:m(Vm,t)}}},singleAxis:function(t){var e=t.getRect();return{coordSys:{type:"singleAxis",x:e.x,y:e.y,width:e.width,height:e.height},api:{coord:function(e){return t.dataToPoint(e)},size:m(Gm,t)}}},polar:function(t){var e=t.getRadiusAxis(),i=t.getAngleAxis(),n=e.getExtent();return n[0]>n[1]&&n.reverse(),{coordSys:{type:"polar",cx:t.cx,cy:t.cy,r:n[1],r0:n[0]},api:{coord:m(function(n){var o=e.dataToRadius(n[0]),a=i.dataToAngle(n[1]),r=t.coordToPoint([o,a]);return r.push(o,a*Math.PI/180),r}),size:m(Fm,t)}}},calendar:function(t){var e=t.getRect(),i=t.getRangeInfo();return{coordSys:{type:"calendar",x:e.x,y:e.y,width:e.width,height:e.height,cellWidth:t.getCellWidth(),cellHeight:t.getCellHeight(),rangeInfo:{start:i.start,end:i.end,weeks:i.weeks,dayCount:i.allDay}},api:{coord:function(e,i){return t.dataToPoint(e,i)}}}}};OI.extend({type:"series.custom",dependencies:["grid","polar","geo","singleAxis","calendar"],defaultOption:{coordinateSystem:"cartesian2d",zlevel:0,z:2,legendHoverLink:!0,useTransform:!0},getInitialData:function(t,e){return dl(this.getSource(),this)},getDataParams:function(t,e,i){var n=OI.prototype.getDataParams.apply(this,arguments);return i&&(n.info=i.info),n}}),Mr.extend({type:"custom",_data:null,render:function(t,e,i,n){var o=this._data,a=t.getData(),r=this.group,s=Um(t,a,e,i);a.diff(o).add(function(e){jm(null,e,s(e,n),t,r,a)}).update(function(e,i){jm(o.getItemGraphicEl(i),e,s(e,n),t,r,a)}).remove(function(t){var e=o.getItemGraphicEl(t);e&&r.remove(e)}).execute(),this._data=a},incrementalPrepareRender:function(t,e,i){this.group.removeAll(),this._data=null},incrementalRender:function(t,e,i,n,o){for(var a=e.getData(),r=Um(e,a,i,n),s=t.start;s<t.end;s++)jm(null,s,r(s,o),e,this.group,a).traverse(function(t){t.isGroup||(t.incremental=!0,t.useHoverLayer=!0)})},dispose:B,filterForExposedEvent:function(t,e,i,n){var o=e.element;if(null==o||i.name===o)return!0;for(;(i=i.parent)&&i!==this.group;)if(i.name===o)return!0;return!1}}),Ls(function(t){var e=t.graphic;y(e)?e[0]&&e[0].elements?t.graphic=[t.graphic[0]]:t.graphic=[{elements:e}]:e&&!e.elements&&(t.graphic=[{elements:[e]}])});var kP=Bs({type:"graphic",defaultOption:{elements:[],parentId:null},_elOptionsToUpdate:null,mergeOption:function(t){var e=this.option.elements;this.option.elements=null,kP.superApply(this,"mergeOption",arguments),this.option.elements=e},optionUpdated:function(t,e){var i=this.option,n=(e?i:t).elements,o=i.elements=e?[]:i.elements,a=[];this._flatten(n,a);var r=Pi(o,a);Ni(r);var s=this._elOptionsToUpdate=[];d(r,function(t,e){var i=t.option;i&&(s.push(i),sv(t,i),lv(o,e,i),uv(o[e],i))},this);for(var l=o.length-1;l>=0;l--)null==o[l]?o.splice(l,1):delete o[l].$action},_flatten:function(t,e,i){d(t,function(t){if(t){i&&(t.parentOption=i),e.push(t);var n=t.children;"group"===t.type&&n&&this._flatten(n,e,t),delete t.children}},this)},useElOptionsToUpdate:function(){var t=this._elOptionsToUpdate;return this._elOptionsToUpdate=null,t}});Vs({type:"graphic",init:function(t,e){this._elMap=R(),this._lastGraphicModel},render:function(t,e,i){t!==this._lastGraphicModel&&this._clear(),this._lastGraphicModel=t,this._updateElements(t),this._relocate(t,i)},_updateElements:function(t){var e=t.useElOptionsToUpdate();if(e){var i=this._elMap,n=this.group;d(e,function(e){var o=e.$action,a=e.id,r=i.get(a),s=e.parentId,l=null!=s?i.get(s):n,u=e.style;"text"===e.type&&u&&(e.hv&&e.hv[1]&&(u.textVerticalAlign=u.textBaseline=null),!u.hasOwnProperty("textFill")&&u.fill&&(u.textFill=u.fill),!u.hasOwnProperty("textStroke")&&u.stroke&&(u.textStroke=u.stroke));var h=av(e);o&&"merge"!==o?"replace"===o?(ov(r,i),nv(a,l,h,i)):"remove"===o&&ov(r,i):r?r.attr(h):nv(a,l,h,i);var c=i.get(a);c&&(c.__ecGraphicWidth=e.width,c.__ecGraphicHeight=e.height,hv(c,t))})}},_relocate:function(t,e){for(var i=t.option.elements,n=this.group,o=this._elMap,a=i.length-1;a>=0;a--){var r=i[a],s=o.get(r.id);if(s){var l=s.parent;ua(s,r,l===n?{width:e.getWidth(),height:e.getHeight()}:{width:l.__ecGraphicWidth||0,height:l.__ecGraphicHeight||0},null,{hv:r.hv,boundingMode:r.bounding})}}},_clear:function(){var t=this._elMap;t.each(function(e){ov(e,t)}),this._elMap=R()},dispose:function(){this._clear()}});var PP=Bs({type:"legend.plain",dependencies:["series"],layoutMode:{type:"box",ignoreSize:!0},init:function(t,e,i){this.mergeDefaultAndTheme(t,i),t.selected=t.selected||{}},mergeOption:function(t){PP.superCall(this,"mergeOption",t)},optionUpdated:function(){this._updateData(this.ecModel);var t=this._data;if(t[0]&&"single"===this.get("selectedMode")){for(var e=!1,i=0;i<t.length;i++){var n=t[i].get("name");if(this.isSelected(n)){this.select(n),e=!0;break}}!e&&this.select(t[0].get("name"))}},_updateData:function(t){var e=[],i=[];t.eachRawSeries(function(n){var o=n.name;i.push(o);var a;if(n.legendDataProvider){var r=n.legendDataProvider(),s=r.mapArray(r.getName);t.isSeriesFiltered(n)||(i=i.concat(s)),s.length?e=e.concat(s):a=!0}else a=!0;a&&Oi(n)&&e.push(n.name)}),this._availableNames=i;var n=f(this.get("data")||e,function(t){return"string"!=typeof t&&"number"!=typeof t||(t={name:t}),new Lo(t,this,this.ecModel)},this);this._data=n},getData:function(){return this._data},select:function(t){var e=this.option.selected;"single"===this.get("selectedMode")&&d(this._data,function(t){e[t.get("name")]=!1}),e[t]=!0},unSelect:function(t){"single"!==this.get("selectedMode")&&(this.option.selected[t]=!1)},toggleSelected:function(t){var e=this.option.selected;e.hasOwnProperty(t)||(e[t]=!0),this[e[t]?"unSelect":"select"](t)},isSelected:function(t){var e=this.option.selected;return!(e.hasOwnProperty(t)&&!e[t])&&l(this._availableNames,t)>=0},defaultOption:{zlevel:0,z:4,show:!0,orient:"horizontal",left:"center",top:0,align:"auto",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemGap:10,itemWidth:25,itemHeight:14,inactiveColor:"#ccc",textStyle:{color:"#333"},selectedMode:!0,tooltip:{show:!1}}});Ps("legendToggleSelect","legendselectchanged",v(cv,"toggleSelected")),Ps("legendSelect","legendselected",v(cv,"select")),Ps("legendUnSelect","legendunselected",v(cv,"unSelect"));var NP=v,OP=d,EP=Zw,RP=Vs({type:"legend.plain",newlineDisabled:!1,init:function(){this.group.add(this._contentGroup=new EP),this._backgroundEl},getContentGroup:function(){return this._contentGroup},render:function(t,e,i){if(this.resetInner(),t.get("show",!0)){var n=t.get("align");n&&"auto"!==n||(n="right"===t.get("left")&&"vertical"===t.get("orient")?"right":"left"),this.renderInner(n,t,e,i);var o=t.getBoxLayoutParams(),a={width:i.getWidth(),height:i.getHeight()},s=t.get("padding"),l=la(o,a,s),u=this.layoutInner(t,n,l),h=la(r({width:u.width,height:u.height},o),a,s);this.group.attr("position",[h.x-u.x,h.y-u.y]),this.group.add(this._backgroundEl=fv(u,t))}},resetInner:function(){this.getContentGroup().removeAll(),this._backgroundEl&&this.group.remove(this._backgroundEl)},renderInner:function(t,e,i,n){var o=this.getContentGroup(),a=R(),r=e.get("selectedMode"),s=[];i.eachRawSeries(function(t){!t.get("legendHoverLink")&&s.push(t.id)}),OP(e.getData(),function(l,u){var h=l.get("name");if(this.newlineDisabled||""!==h&&"\n"!==h){var c=i.getSeriesByName(h)[0];if(!a.get(h))if(c){var d=c.getData(),f=d.getVisual("color");"function"==typeof f&&(f=f(c.getDataParams(0)));var p=d.getVisual("legendSymbol")||"roundRect",g=d.getVisual("symbol");this._createItem(h,u,l,e,p,g,t,f,r).on("click",NP(pv,h,n)).on("mouseover",NP(gv,c.name,null,n,s)).on("mouseout",NP(mv,c.name,null,n,s)),a.set(h,!0)}else i.eachRawSeries(function(i){if(!a.get(h)&&i.legendDataProvider){var o=i.legendDataProvider(),c=o.indexOfName(h);if(c<0)return;var d=o.getItemVisual(c,"color");this._createItem(h,u,l,e,"roundRect",null,t,d,r).on("click",NP(pv,h,n)).on("mouseover",NP(gv,null,h,n,s)).on("mouseout",NP(mv,null,h,n,s)),a.set(h,!0)}},this)}else o.add(new EP({newline:!0}))},this)},_createItem:function(t,e,i,n,o,r,s,l,u){var h=n.get("itemWidth"),c=n.get("itemHeight"),d=n.get("inactiveColor"),f=n.get("symbolKeepAspect"),p=n.isSelected(t),g=new EP,m=i.getModel("textStyle"),v=i.get("icon"),y=i.getModel("tooltip"),x=y.parentModel;if(o=v||o,g.add(Xl(o,0,0,h,c,p?l:d,null==f||f)),!v&&r&&(r!==o||"none"===r)){var _=.8*c;"none"===r&&(r="circle"),g.add(Xl(r,(h-_)/2,(c-_)/2,_,_,p?l:d,null==f||f))}var w="left"===s?h+5:-5,b=s,S=n.get("formatter"),M=t;"string"==typeof S&&S?M=S.replace("{name}",null!=t?t:""):"function"==typeof S&&(M=S(t)),g.add(new qS({style:fo({},m,{text:M,x:w,y:c/2,textFill:p?m.getTextColor():d,textAlign:b,textVerticalAlign:"middle"})}));var I=new aM({shape:g.getBoundingRect(),invisible:!0,tooltip:y.get("show")?a({content:t,formatter:x.get("formatter",!0)||function(){return t},formatterParams:{componentType:"legend",legendIndex:n.componentIndex,name:t,$vars:["name"]}},y.option):null});return g.add(I),g.eachChild(function(t){t.silent=!0}),I.silent=!u,this.getContentGroup().add(g),uo(g),g.__legendDataIndex=e,g},layoutInner:function(t,e,i){var n=this.getContentGroup();UM(t.get("orient"),n,t.get("itemGap"),i.width,i.height);var o=n.getBoundingRect();return n.attr("position",[-o.x,-o.y]),this.group.getBoundingRect()}});ks(function(t){var e=t.findComponents({mainType:"legend"});e&&e.length&&t.filterSeries(function(t){for(var i=0;i<e.length;i++)if(!e[i].isSelected(t.name))return!1;return!0})}),YM.registerSubTypeDefaulter("legend",function(){return"plain"});var zP=PP.extend({type:"legend.scroll",setScrollDataIndex:function(t){this.option.scrollDataIndex=t},defaultOption:{scrollDataIndex:0,pageButtonItemGap:5,pageButtonGap:null,pageButtonPosition:"end",pageFormatter:"{current}/{total}",pageIcons:{horizontal:["M0,0L12,-10L12,10z","M0,0L-12,-10L-12,10z"],vertical:["M0,0L20,0L10,-20z","M0,0L20,0L10,20z"]},pageIconColor:"#2f4554",pageIconInactiveColor:"#aaa",pageIconSize:15,pageTextStyle:{color:"#333"},animationDurationUpdate:800},init:function(t,e,i,n){var o=da(t);zP.superCall(this,"init",t,e,i,n),vv(this,t,o)},mergeOption:function(t,e){zP.superCall(this,"mergeOption",t,e),vv(this,this.option,t)},getOrient:function(){return"vertical"===this.get("orient")?{index:1,name:"vertical"}:{index:0,name:"horizontal"}}}),BP=Zw,VP=["width","height"],GP=["x","y"],FP=RP.extend({type:"legend.scroll",newlineDisabled:!0,init:function(){FP.superCall(this,"init"),this._currentIndex=0,this.group.add(this._containerGroup=new BP),this._containerGroup.add(this.getContentGroup()),this.group.add(this._controllerGroup=new BP),this._showController},resetInner:function(){FP.superCall(this,"resetInner"),this._controllerGroup.removeAll(),this._containerGroup.removeClipPath(),this._containerGroup.__rectSize=null},renderInner:function(t,e,i,n){function o(t,i){var o=t+"DataIndex",l=Co(e.get("pageIcons",!0)[e.getOrient().name][i],{onclick:m(a._pageGo,a,o,e,n)},{x:-s[0]/2,y:-s[1]/2,width:s[0],height:s[1]});l.name=t,r.add(l)}var a=this;FP.superCall(this,"renderInner",t,e,i,n);var r=this._controllerGroup,s=e.get("pageIconSize",!0);y(s)||(s=[s,s]),o("pagePrev",0);var l=e.getModel("pageTextStyle");r.add(new qS({name:"pageText",style:{textFill:l.getTextColor(),font:l.getFont(),textVerticalAlign:"middle",textAlign:"center"},silent:!0})),o("pageNext",1)},layoutInner:function(t,e,i){var n=this.getContentGroup(),o=this._containerGroup,a=this._controllerGroup,r=t.getOrient().index,s=VP[r],l=VP[1-r],u=GP[1-r];UM(t.get("orient"),n,t.get("itemGap"),r?i.width:null,r?null:i.height),UM("horizontal",a,t.get("pageButtonItemGap",!0));var h=n.getBoundingRect(),c=a.getBoundingRect(),d=this._showController=h[s]>i[s],f=[-h.x,-h.y];f[r]=n.position[r];var p=[0,0],g=[-c.x,-c.y],m=A(t.get("pageButtonGap",!0),t.get("itemGap",!0));d&&("end"===t.get("pageButtonPosition",!0)?g[r]+=i[s]-c[s]:p[r]+=c[s]+m),g[1-r]+=h[l]/2-c[l]/2,n.attr("position",f),o.attr("position",p),a.attr("position",g);var v=this.group.getBoundingRect();if((v={x:0,y:0})[s]=d?i[s]:h[s],v[l]=Math.max(h[l],c[l]),v[u]=Math.min(0,c[u]+g[1-r]),o.__rectSize=i[s],d){var y={x:0,y:0};y[s]=Math.max(i[s]-c[s]-m,0),y[l]=v[l],o.setClipPath(new aM({shape:y})),o.__rectSize=y[s]}else a.eachChild(function(t){t.attr({invisible:!0,silent:!0})});var x=this._getPageInfo(t);return null!=x.pageIndex&&bo(n,{position:x.contentPosition},!!d&&t),this._updatePageInfoView(t,x),v},_pageGo:function(t,e,i){var n=this._getPageInfo(e)[t];null!=n&&i.dispatchAction({type:"legendScroll",scrollDataIndex:n,legendId:e.id})},_updatePageInfoView:function(t,e){var i=this._controllerGroup;d(["pagePrev","pageNext"],function(n){var o=null!=e[n+"DataIndex"],a=i.childOfName(n);a&&(a.setStyle("fill",o?t.get("pageIconColor",!0):t.get("pageIconInactiveColor",!0)),a.cursor=o?"pointer":"default")});var n=i.childOfName("pageText"),o=t.get("pageFormatter"),a=e.pageIndex,r=null!=a?a+1:0,s=e.pageCount;n&&o&&n.setStyle("text",_(o)?o.replace("{current}",r).replace("{total}",s):o({current:r,total:s}))},_getPageInfo:function(t){function e(t){var e=t.getBoundingRect().clone();return e[f]+=t.position[h],e}var i,n,o,a,r=t.get("scrollDataIndex",!0),s=this.getContentGroup(),l=s.getBoundingRect(),u=this._containerGroup.__rectSize,h=t.getOrient().index,c=VP[h],d=VP[1-h],f=GP[h],p=s.position.slice();this._showController?s.eachChild(function(t){t.__legendDataIndex===r&&(a=t)}):a=s.childAt(0);var g=u?Math.ceil(l[c]/u):0;if(a){var m=a.getBoundingRect(),v=a.position[h]+m[f];p[h]=-v-l[f],i=Math.floor(g*(v+m[f]+u/2)/l[c]),i=l[c]&&g?Math.max(0,Math.min(g-1,i)):-1;var y={x:0,y:0};y[c]=u,y[d]=l[d],y[f]=-p[h]-l[f];var x,_=s.children();if(s.eachChild(function(t,i){var n=e(t);n.intersect(y)&&(null==x&&(x=i),o=t.__legendDataIndex),i===_.length-1&&n[f]+n[c]<=y[f]+y[c]&&(o=null)}),null!=x){var w=e(_[x]);if(y[f]=w[f]+w[c]-y[c],x<=0&&w[f]>=y[f])n=null;else{for(;x>0&&e(_[x-1]).intersect(y);)x--;n=_[x].__legendDataIndex}}}return{contentPosition:p,pageIndex:i,pageCount:g,pagePrevDataIndex:n,pageNextDataIndex:o}}});Ps("legendScroll","legendscroll",function(t,e){var i=t.scrollDataIndex;null!=i&&e.eachComponent({mainType:"legend",subType:"scroll",query:t},function(t){t.setScrollDataIndex(i)})}),Bs({type:"tooltip",dependencies:["axisPointer"],defaultOption:{zlevel:0,z:60,show:!0,showContent:!0,trigger:"item",triggerOn:"mousemove|click",alwaysShowContent:!1,displayMode:"single",renderMode:"auto",confine:!1,showDelay:0,hideDelay:100,transitionDuration:.4,enterable:!1,backgroundColor:"rgba(50,50,50,0.7)",borderColor:"#333",borderRadius:4,borderWidth:0,padding:5,extraCssText:"",axisPointer:{type:"line",axis:"auto",animation:"auto",animationDurationUpdate:200,animationEasingUpdate:"exponentialOut",crossStyle:{color:"#999",width:1,type:"dashed",textStyle:{}}},textStyle:{color:"#fff",fontSize:14}}});var WP=d,HP=Jo,ZP=["","-webkit-","-moz-","-o-"];wv.prototype={constructor:wv,_enterable:!0,update:function(){var t=this._container,e=t.currentStyle||document.defaultView.getComputedStyle(t),i=t.style;"absolute"!==i.position&&"absolute"!==e.position&&(i.position="relative")},show:function(t){clearTimeout(this._hideTimeout);var e=this.el;e.style.cssText="position:absolute;display:block;border-style:solid;white-space:nowrap;z-index:9999999;"+_v(t)+";left:"+this._x+"px;top:"+this._y+"px;"+(t.get("extraCssText")||""),e.style.display=e.innerHTML?"block":"none",e.style.pointerEvents=this._enterable?"auto":"none",this._show=!0},setContent:function(t){this.el.innerHTML=null==t?"":t},setEnterable:function(t){this._enterable=t},getSize:function(){var t=this.el;return[t.clientWidth,t.clientHeight]},moveTo:function(t,e){var i,n=this._zr;n&&n.painter&&(i=n.painter.getViewportRootOffset())&&(t+=i.offsetLeft,e+=i.offsetTop);var o=this.el.style;o.left=t+"px",o.top=e+"px",this._x=t,this._y=e},hide:function(){this.el.style.display="none",this._show=!1},hideLater:function(t){!this._show||this._inContent&&this._enterable||(t?(this._hideDelay=t,this._show=!1,this._hideTimeout=setTimeout(m(this.hide,this),t)):this.hide())},isShow:function(){return this._show},getOuterSize:function(){var t=this.el.clientWidth,e=this.el.clientHeight;if(document.defaultView&&document.defaultView.getComputedStyle){var i=document.defaultView.getComputedStyle(this.el);i&&(t+=parseInt(i.paddingLeft,10)+parseInt(i.paddingRight,10)+parseInt(i.borderLeftWidth,10)+parseInt(i.borderRightWidth,10),e+=parseInt(i.paddingTop,10)+parseInt(i.paddingBottom,10)+parseInt(i.borderTopWidth,10)+parseInt(i.borderBottomWidth,10))}return{width:t,height:e}}},bv.prototype={constructor:bv,_enterable:!0,update:function(){},show:function(t){this._hideTimeout&&clearTimeout(this._hideTimeout),this.el.attr("show",!0),this._show=!0},setContent:function(t,e,i){this.el&&this._zr.remove(this.el);for(var n={},o=t,a=o.indexOf("{marker");a>=0;){var r=o.indexOf("|}"),s=o.substr(a+"{marker".length,r-a-"{marker".length);s.indexOf("sub")>-1?n["marker"+s]={textWidth:4,textHeight:4,textBorderRadius:2,textBackgroundColor:e[s],textOffset:[3,0]}:n["marker"+s]={textWidth:10,textHeight:10,textBorderRadius:5,textBackgroundColor:e[s]},a=(o=o.substr(r+1)).indexOf("{marker")}this.el=new qS({style:{rich:n,text:t,textLineHeight:20,textBackgroundColor:i.get("backgroundColor"),textBorderRadius:i.get("borderRadius"),textFill:i.get("textStyle.color"),textPadding:i.get("padding")},z:i.get("z")}),this._zr.add(this.el);var l=this;this.el.on("mouseover",function(){l._enterable&&(clearTimeout(l._hideTimeout),l._show=!0),l._inContent=!0}),this.el.on("mouseout",function(){l._enterable&&l._show&&l.hideLater(l._hideDelay),l._inContent=!1})},setEnterable:function(t){this._enterable=t},getSize:function(){var t=this.el.getBoundingRect();return[t.width,t.height]},moveTo:function(t,e){this.el&&this.el.attr("position",[t,e])},hide:function(){this.el.hide(),this._show=!1},hideLater:function(t){!this._show||this._inContent&&this._enterable||(t?(this._hideDelay=t,this._show=!1,this._hideTimeout=setTimeout(m(this.hide,this),t)):this.hide())},isShow:function(){return this._show},getOuterSize:function(){return this.getSize()}};var UP=m,XP=d,jP=Ro,YP=new aM({shape:{x:-1,y:-1,width:2,height:2}});Vs({type:"tooltip",init:function(t,e){if(!z_.node){var i=t.getComponent("tooltip").get("renderMode");this._renderMode=Hi(i);var n;"html"===this._renderMode?(n=new wv(e.getDom(),e),this._newLine="<br/>"):(n=new bv(e),this._newLine="\n"),this._tooltipContent=n}},render:function(t,e,i){if(!z_.node){this.group.removeAll(),this._tooltipModel=t,this._ecModel=e,this._api=i,this._lastDataByCoordSys=null,this._alwaysShowContent=t.get("alwaysShowContent");var n=this._tooltipContent;n.update(),n.setEnterable(t.get("enterable")),this._initGlobalListener(),this._keepShow()}},_initGlobalListener:function(){var t=this._tooltipModel.get("triggerOn");im("itemTooltip",this._api,UP(function(e,i,n){"none"!==t&&(t.indexOf(e)>=0?this._tryShow(i,n):"leave"===e&&this._hide(n))},this))},_keepShow:function(){var t=this._tooltipModel,e=this._ecModel,i=this._api;if(null!=this._lastX&&null!=this._lastY&&"none"!==t.get("triggerOn")){var n=this;clearTimeout(this._refreshUpdateTimeout),this._refreshUpdateTimeout=setTimeout(function(){n.manuallyShowTip(t,e,i,{x:n._lastX,y:n._lastY})})}},manuallyShowTip:function(t,e,i,n){if(n.from!==this.uid&&!z_.node){var o=Mv(n,i);this._ticket="";var a=n.dataByCoordSys;if(n.tooltip&&null!=n.x&&null!=n.y){var r=YP;r.position=[n.x,n.y],r.update(),r.tooltip=n.tooltip,this._tryShow({offsetX:n.x,offsetY:n.y,target:r},o)}else if(a)this._tryShow({offsetX:n.x,offsetY:n.y,position:n.position,event:{},dataByCoordSys:n.dataByCoordSys,tooltipOption:n.tooltipOption},o);else if(null!=n.seriesIndex){if(this._manuallyAxisShowTip(t,e,i,n))return;var s=eP(n,e),l=s.point[0],u=s.point[1];null!=l&&null!=u&&this._tryShow({offsetX:l,offsetY:u,position:n.position,target:s.el,event:{}},o)}else null!=n.x&&null!=n.y&&(i.dispatchAction({type:"updateAxisPointer",x:n.x,y:n.y}),this._tryShow({offsetX:n.x,offsetY:n.y,position:n.position,target:i.getZr().findHover(n.x,n.y).target,event:{}},o))}},manuallyHideTip:function(t,e,i,n){var o=this._tooltipContent;!this._alwaysShowContent&&this._tooltipModel&&o.hideLater(this._tooltipModel.get("hideDelay")),this._lastX=this._lastY=null,n.from!==this.uid&&this._hide(Mv(n,i))},_manuallyAxisShowTip:function(t,e,i,n){var o=n.seriesIndex,a=n.dataIndex,r=e.getComponent("axisPointer").coordSysAxesInfo;if(null!=o&&null!=a&&null!=r){var s=e.getSeriesByIndex(o);if(s&&"axis"===(t=Sv([s.getData().getItemModel(a),s,(s.coordinateSystem||{}).model,t])).get("trigger"))return i.dispatchAction({type:"updateAxisPointer",seriesIndex:o,dataIndex:a,position:n.position}),!0}},_tryShow:function(t,e){var i=t.target;if(this._tooltipModel){this._lastX=t.offsetX,this._lastY=t.offsetY;var n=t.dataByCoordSys;n&&n.length?this._showAxisTooltip(n,t):i&&null!=i.dataIndex?(this._lastDataByCoordSys=null,this._showSeriesItemTooltip(t,i,e)):i&&i.tooltip?(this._lastDataByCoordSys=null,this._showComponentItemTooltip(t,i,e)):(this._lastDataByCoordSys=null,this._hide(e))}},_showOrMove:function(t,e){var i=t.get("showDelay");e=m(e,this),clearTimeout(this._showTimout),i>0?this._showTimout=setTimeout(e,i):e()},_showAxisTooltip:function(t,e){var i=this._ecModel,o=this._tooltipModel,a=[e.offsetX,e.offsetY],r=[],s=[],l=Sv([e.tooltipOption,o]),u=this._renderMode,h=this._newLine,c={};XP(t,function(t){XP(t.dataByAxis,function(t){var e=i.getComponent(t.axisDim+"Axis",t.axisIndex),o=t.value,a=[];if(e&&null!=o){var l=ym(o,e.axis,i,t.seriesDataIndices,t.valueLabelOpt);d(t.seriesDataIndices,function(r){var h=i.getSeriesByIndex(r.seriesIndex),d=r.dataIndexInside,f=h&&h.getDataParams(d);if(f.axisDim=t.axisDim,f.axisIndex=t.axisIndex,f.axisType=t.axisType,f.axisId=t.axisId,f.axisValue=Wl(e.axis,o),f.axisValueLabel=l,f){s.push(f);var p,g=h.formatTooltip(d,!0,null,u);if(w(g)){p=g.html;var m=g.markers;n(c,m)}else p=g;a.push(p)}});var f=l;"html"!==u?r.push(a.join(h)):r.push((f?Qo(f)+h:"")+a.join(h))}})},this),r.reverse(),r=r.join(this._newLine+this._newLine);var f=e.position;this._showOrMove(l,function(){this._updateContentNotChangedOnAxis(t)?this._updatePosition(l,f,a[0],a[1],this._tooltipContent,s):this._showTooltipContent(l,r,s,Math.random(),a[0],a[1],f,void 0,c)})},_showSeriesItemTooltip:function(t,e,i){var n=this._ecModel,o=e.seriesIndex,a=n.getSeriesByIndex(o),r=e.dataModel||a,s=e.dataIndex,l=e.dataType,u=r.getData(),h=Sv([u.getItemModel(s),r,a&&(a.coordinateSystem||{}).model,this._tooltipModel]),c=h.get("trigger");if(null==c||"item"===c){var d,f,p=r.getDataParams(s,l),g=r.formatTooltip(s,!1,l,this._renderMode);w(g)?(d=g.html,f=g.markers):(d=g,f=null);var m="item_"+r.name+"_"+s;this._showOrMove(h,function(){this._showTooltipContent(h,d,p,m,t.offsetX,t.offsetY,t.position,t.target,f)}),i({type:"showTip",dataIndexInside:s,dataIndex:u.getRawIndex(s),seriesIndex:o,from:this.uid})}},_showComponentItemTooltip:function(t,e,i){var n=e.tooltip;if("string"==typeof n){var o=n;n={content:o,formatter:o}}var a=new Lo(n,this._tooltipModel,this._ecModel),r=a.get("content"),s=Math.random();this._showOrMove(a,function(){this._showTooltipContent(a,r,a.get("formatterParams")||{},s,t.offsetX,t.offsetY,t.position,e)}),i({type:"showTip",from:this.uid})},_showTooltipContent:function(t,e,i,n,o,a,r,s,l){if(this._ticket="",t.get("showContent")&&t.get("show")){var u=this._tooltipContent,h=t.get("formatter");r=r||t.get("position");var c=e;if(h&&"string"==typeof h)c=ta(h,i,!0);else if("function"==typeof h){var d=UP(function(e,n){e===this._ticket&&(u.setContent(n,l,t),this._updatePosition(t,r,o,a,u,i,s))},this);this._ticket=n,c=h(i,n,d)}u.setContent(c,l,t),u.show(t),this._updatePosition(t,r,o,a,u,i,s)}},_updatePosition:function(t,e,i,n,o,a,r){var s=this._api.getWidth(),l=this._api.getHeight();e=e||t.get("position");var u=o.getSize(),h=t.get("align"),c=t.get("verticalAlign"),d=r&&r.getBoundingRect().clone();if(r&&d.applyTransform(r.transform),"function"==typeof e&&(e=e([i,n],a,o.el,d,{viewSize:[s,l],contentSize:u.slice()})),y(e))i=jP(e[0],s),n=jP(e[1],l);else if(w(e)){e.width=u[0],e.height=u[1];var f=la(e,{width:s,height:l});i=f.x,n=f.y,h=null,c=null}else"string"==typeof e&&r?(i=(p=Av(e,d,u))[0],n=p[1]):(i=(p=Iv(i,n,o,s,l,h?null:20,c?null:20))[0],n=p[1]);if(h&&(i-=Dv(h)?u[0]/2:"right"===h?u[0]:0),c&&(n-=Dv(c)?u[1]/2:"bottom"===c?u[1]:0),t.get("confine")){var p=Tv(i,n,o,s,l);i=p[0],n=p[1]}o.moveTo(i,n)},_updateContentNotChangedOnAxis:function(t){var e=this._lastDataByCoordSys,i=!!e&&e.length===t.length;return i&&XP(e,function(e,n){var o=e.dataByAxis||{},a=(t[n]||{}).dataByAxis||[];(i&=o.length===a.length)&&XP(o,function(t,e){var n=a[e]||{},o=t.seriesDataIndices||[],r=n.seriesDataIndices||[];(i&=t.value===n.value&&t.axisType===n.axisType&&t.axisId===n.axisId&&o.length===r.length)&&XP(o,function(t,e){var n=r[e];i&=t.seriesIndex===n.seriesIndex&&t.dataIndex===n.dataIndex})})}),this._lastDataByCoordSys=t,!!i},_hide:function(t){this._lastDataByCoordSys=null,t({type:"hideTip",from:this.uid})},dispose:function(t,e){z_.node||(this._tooltipContent.hide(),lm("itemTooltip",e))}}),Ps({type:"showTip",event:"showTip",update:"tooltip:manuallyShowTip"},function(){}),Ps({type:"hideTip",event:"hideTip",update:"tooltip:manuallyHideTip"},function(){}),Pv.prototype={constructor:Pv,pointToData:function(t,e){return this.polar.pointToData(t,e)["radius"===this.dim?0:1]},dataToRadius:HA.prototype.dataToCoord,radiusToData:HA.prototype.coordToData},u(Pv,HA);var qP=Bi();Nv.prototype={constructor:Nv,pointToData:function(t,e){return this.polar.pointToData(t,e)["radius"===this.dim?0:1]},dataToAngle:HA.prototype.dataToCoord,angleToData:HA.prototype.coordToData,calculateCategoryInterval:function(){var t=this,e=t.getLabelModel(),i=t.scale,n=i.getExtent(),o=i.count();if(n[1]-n[0]<1)return 0;var a=n[0],r=t.dataToCoord(a+1)-t.dataToCoord(a),s=Math.abs(r),l=De(a,e.getFont(),"center","top"),u=Math.max(l.height,7)/s;isNaN(u)&&(u=1/0);var h=Math.max(0,Math.floor(u)),c=qP(t.model),d=c.lastAutoInterval,f=c.lastTickCount;return null!=d&&null!=f&&Math.abs(d-h)<=1&&Math.abs(f-o)<=1&&d>h?h=d:(c.lastTickCount=o,c.lastAutoInterval=h),h}},u(Nv,HA);var KP=function(t){this.name=t||"",this.cx=0,this.cy=0,this._radiusAxis=new Pv,this._angleAxis=new Nv,this._radiusAxis.polar=this._angleAxis.polar=this};KP.prototype={type:"polar",axisPointerEnabled:!0,constructor:KP,dimensions:["radius","angle"],model:null,containPoint:function(t){var e=this.pointToCoord(t);return this._radiusAxis.contain(e[0])&&this._angleAxis.contain(e[1])},containData:function(t){return this._radiusAxis.containData(t[0])&&this._angleAxis.containData(t[1])},getAxis:function(t){return this["_"+t+"Axis"]},getAxes:function(){return[this._radiusAxis,this._angleAxis]},getAxesByScale:function(t){var e=[],i=this._angleAxis,n=this._radiusAxis;return i.scale.type===t&&e.push(i),n.scale.type===t&&e.push(n),e},getAngleAxis:function(){return this._angleAxis},getRadiusAxis:function(){return this._radiusAxis},getOtherAxis:function(t){var e=this._angleAxis;return t===e?this._radiusAxis:e},getBaseAxis:function(){return this.getAxesByScale("ordinal")[0]||this.getAxesByScale("time")[0]||this.getAngleAxis()},getTooltipAxes:function(t){var e=null!=t&&"auto"!==t?this.getAxis(t):this.getBaseAxis();return{baseAxes:[e],otherAxes:[this.getOtherAxis(e)]}},dataToPoint:function(t,e){return this.coordToPoint([this._radiusAxis.dataToRadius(t[0],e),this._angleAxis.dataToAngle(t[1],e)])},pointToData:function(t,e){var i=this.pointToCoord(t);return[this._radiusAxis.radiusToData(i[0],e),this._angleAxis.angleToData(i[1],e)]},pointToCoord:function(t){var e=t[0]-this.cx,i=t[1]-this.cy,n=this.getAngleAxis(),o=n.getExtent(),a=Math.min(o[0],o[1]),r=Math.max(o[0],o[1]);n.inverse?a=r-360:r=a+360;var s=Math.sqrt(e*e+i*i);e/=s,i/=s;for(var l=Math.atan2(-i,e)/Math.PI*180,u=l<a?1:-1;l<a||l>r;)l+=360*u;return[s,l]},coordToPoint:function(t){var e=t[0],i=t[1]/180*Math.PI;return[Math.cos(i)*e+this.cx,-Math.sin(i)*e+this.cy]}};var $P=YM.extend({type:"polarAxis",axis:null,getCoordSysModel:function(){return this.ecModel.queryComponents({mainType:"polar",index:this.option.polarIndex,id:this.option.polarId})[0]}});n($P.prototype,CA);var JP={angle:{startAngle:90,clockwise:!0,splitNumber:12,axisLabel:{rotate:!1}},radius:{splitNumber:5}};xD("angle",$P,Ov,JP.angle),xD("radius",$P,Ov,JP.radius),Bs({type:"polar",dependencies:["polarAxis","angleAxis"],coordinateSystem:null,findAxisModel:function(t){var e;return this.ecModel.eachComponent(t,function(t){t.getCoordSysModel()===this&&(e=t)},this),e},defaultOption:{zlevel:0,z:0,center:["50%","50%"],radius:"80%"}});var QP={dimensions:KP.prototype.dimensions,create:function(t,e){var i=[];return t.eachComponent("polar",function(t,n){var o=new KP(n);o.update=Rv;var a=o.getRadiusAxis(),r=o.getAngleAxis(),s=t.findAxisModel("radiusAxis"),l=t.findAxisModel("angleAxis");zv(a,s),zv(r,l),Ev(o,t,e),i.push(o),t.coordinateSystem=o,o.model=t}),t.eachSeries(function(e){if("polar"===e.get("coordinateSystem")){var i=t.queryComponents({mainType:"polar",index:e.get("polarIndex"),id:e.get("polarId")})[0];e.coordinateSystem=i.coordinateSystem}}),i}};Ba.register("polar",QP);var tN=["axisLine","axisLabel","axisTick","splitLine","splitArea"];LD.extend({type:"angleAxis",axisPointerClass:"PolarAxisPointer",render:function(t,e){if(this.group.removeAll(),t.get("show")){var n=t.axis,o=n.polar,a=o.getRadiusAxis().getExtent(),r=n.getTicksCoords(),s=f(n.getViewLabels(),function(t){return(t=i(t)).coord=n.dataToCoord(t.tickValue),t});Gv(s),Gv(r),d(tN,function(e){!t.get(e+".show")||n.scale.isBlank()&&"axisLine"!==e||this["_"+e](t,o,r,a,s)},this)}},_axisLine:function(t,e,i,n){var o=t.getModel("axisLine.lineStyle"),a=new KS({shape:{cx:e.cx,cy:e.cy,r:n[Vv(e)]},style:o.getLineStyle(),z2:1,silent:!0});a.style.fill=null,this.group.add(a)},_axisTick:function(t,e,i,n){var o=t.getModel("axisTick"),a=(o.get("inside")?-1:1)*o.get("length"),s=n[Vv(e)],l=f(i,function(t){return new rM({shape:Bv(e,[s,s+a],t.coord)})});this.group.add(xM(l,{style:r(o.getModel("lineStyle").getLineStyle(),{stroke:t.get("axisLine.lineStyle.color")})}))},_axisLabel:function(t,e,i,n,o){var a=t.getCategories(!0),r=t.getModel("axisLabel"),s=r.get("margin");d(o,function(i,o){var l=r,u=i.tickValue,h=n[Vv(e)],c=e.coordToPoint([h+s,i.coord]),d=e.cx,f=e.cy,p=Math.abs(c[0]-d)/h<.3?"center":c[0]>d?"left":"right",g=Math.abs(c[1]-f)/h<.3?"middle":c[1]>f?"top":"bottom";a&&a[u]&&a[u].textStyle&&(l=new Lo(a[u].textStyle,r,r.ecModel));var m=new qS({silent:!0});this.group.add(m),fo(m.style,l,{x:c[0],y:c[1],textFill:l.getTextColor()||t.get("axisLine.lineStyle.color"),text:i.formattedLabel,textAlign:p,textVerticalAlign:g})},this)},_splitLine:function(t,e,i,n){var o=t.getModel("splitLine").getModel("lineStyle"),a=o.get("color"),s=0;a=a instanceof Array?a:[a];for(var l=[],u=0;u<i.length;u++){var h=s++%a.length;l[h]=l[h]||[],l[h].push(new rM({shape:Bv(e,n,i[u].coord)}))}for(u=0;u<l.length;u++)this.group.add(xM(l[u],{style:r({stroke:a[u%a.length]},o.getLineStyle()),silent:!0,z:t.get("z")}))},_splitArea:function(t,e,i,n){if(i.length){var o=t.getModel("splitArea").getModel("areaStyle"),a=o.get("color"),s=0;a=a instanceof Array?a:[a];for(var l=[],u=Math.PI/180,h=-i[0].coord*u,c=Math.min(n[0],n[1]),d=Math.max(n[0],n[1]),f=t.get("clockwise"),p=1;p<i.length;p++){var g=s++%a.length;l[g]=l[g]||[],l[g].push(new QS({shape:{cx:e.cx,cy:e.cy,r0:c,r:d,startAngle:h,endAngle:-i[p].coord*u,clockwise:f},silent:!0})),h=-i[p].coord*u}for(p=0;p<l.length;p++)this.group.add(xM(l[p],{style:r({fill:a[p%a.length]},o.getAreaStyle()),silent:!0}))}}});var eN=["axisLine","axisTickLabel","axisName"],iN=["splitLine","splitArea"];LD.extend({type:"radiusAxis",axisPointerClass:"PolarAxisPointer",render:function(t,e){if(this.group.removeAll(),t.get("show")){var i=t.axis,n=i.polar,o=n.getAngleAxis(),a=i.getTicksCoords(),r=o.getExtent()[0],s=i.getExtent(),l=Fv(n,t,r),u=new ID(t,l);d(eN,u.add,u),this.group.add(u.getGroup()),d(iN,function(e){t.get(e+".show")&&!i.scale.isBlank()&&this["_"+e](t,n,r,s,a)},this)}},_splitLine:function(t,e,i,n,o){var a=t.getModel("splitLine").getModel("lineStyle"),s=a.get("color"),l=0;s=s instanceof Array?s:[s];for(var u=[],h=0;h<o.length;h++){var c=l++%s.length;u[c]=u[c]||[],u[c].push(new KS({shape:{cx:e.cx,cy:e.cy,r:o[h].coord},silent:!0}))}for(h=0;h<u.length;h++)this.group.add(xM(u[h],{style:r({stroke:s[h%s.length],fill:null},a.getLineStyle()),silent:!0}))},_splitArea:function(t,e,i,n,o){if(o.length){var a=t.getModel("splitArea").getModel("areaStyle"),s=a.get("color"),l=0;s=s instanceof Array?s:[s];for(var u=[],h=o[0].coord,c=1;c<o.length;c++){var d=l++%s.length;u[d]=u[d]||[],u[d].push(new QS({shape:{cx:e.cx,cy:e.cy,r0:h,r:o[c].coord,startAngle:0,endAngle:2*Math.PI},silent:!0})),h=o[c].coord}for(c=0;c<u.length;c++)this.group.add(xM(u[c],{style:r({fill:s[c%s.length]},a.getAreaStyle()),silent:!0}))}}});var nN=um.extend({makeElOption:function(t,e,i,n,o){var a=i.axis;"angle"===a.dim&&(this.animationThreshold=Math.PI/18);var r,s=a.polar,l=s.getOtherAxis(a).getExtent();r=a["dataTo"+aa(a.dim)](e);var u=n.get("type");if(u&&"none"!==u){var h=gm(n),c=oN[u](a,s,r,l,h);c.style=h,t.graphicKey=c.type,t.pointer=c}mm(t,i,n,o,Wv(e,i,0,s,n.get("label.margin")))}}),oN={line:function(t,e,i,n,o){return"angle"===t.dim?{type:"Line",shape:wm(e.coordToPoint([n[0],i]),e.coordToPoint([n[1],i]))}:{type:"Circle",shape:{cx:e.cx,cy:e.cy,r:i}}},shadow:function(t,e,i,n,o){var a=Math.max(1,t.getBandWidth()),r=Math.PI/180;return"angle"===t.dim?{type:"Sector",shape:Sm(e.cx,e.cy,n[0],n[1],(-i-a/2)*r,(a/2-i)*r)}:{type:"Sector",shape:Sm(e.cx,e.cy,i-a/2,i+a/2,0,2*Math.PI)}}};LD.registerAxisPointerClass("PolarAxisPointer",nN),Os(v(function(t,e,i){i.getWidth(),i.getHeight();var n={},o=kv(g(e.getSeriesByType(t),function(t){return!e.isSeriesFiltered(t)&&t.coordinateSystem&&"polar"===t.coordinateSystem.type}));e.eachSeriesByType(t,function(t){if("polar"===t.coordinateSystem.type){var e=t.getData(),i=t.coordinateSystem,a=i.getBaseAxis(),r=Cv(t),s=o[Lv(a)][r],l=s.offset,u=s.width,h=i.getOtherAxis(a),c=t.coordinateSystem.cx,d=t.coordinateSystem.cy,f=t.get("barMinHeight")||0,p=t.get("barMinAngle")||0;n[r]=n[r]||[];for(var g=e.mapDimension(h.dim),m=e.mapDimension(a.dim),v=hl(e,g),y=h.getExtent()[0],x=0,_=e.count();x<_;x++){var w=e.get(g,x),b=e.get(m,x);if(!isNaN(w)){var S=w>=0?"p":"n",M=y;v&&(n[r][b]||(n[r][b]={p:y,n:y}),M=n[r][b][S]);var I,T,A,D;if("radius"===h.dim){var C=h.dataToRadius(w)-y,L=a.dataToAngle(b);Math.abs(C)<f&&(C=(C<0?-1:1)*f),I=M,T=M+C,D=(A=L-l)-u,v&&(n[r][b][S]=T)}else{var k=h.dataToAngle(w,!0)-y,P=a.dataToRadius(b);Math.abs(k)<p&&(k=(k<0?-1:1)*p),T=(I=P+l)+u,A=M,D=M+k,v&&(n[r][b][S]=D)}e.setItemLayout(x,{cx:c,cy:d,r0:I,r:T,startAngle:-A*Math.PI/180,endAngle:-D*Math.PI/180})}}}},this)},"bar")),Vs({type:"polar"}),h(YM.extend({type:"geo",coordinateSystem:null,layoutMode:"box",init:function(t){YM.prototype.init.apply(this,arguments),Ci(t,"label",["show"])},optionUpdated:function(){var t=this.option,e=this;t.regions=_C.getFilledRegions(t.regions,t.map,t.nameMap),this._optionModelMap=p(t.regions||[],function(t,i){return i.name&&t.set(i.name,new Lo(i,e)),t},R()),this.updateSelectedMap(t.regions)},defaultOption:{zlevel:0,z:0,show:!0,left:"center",top:"center",aspectScale:null,silent:!1,map:"",boundingCoords:null,center:null,zoom:1,scaleLimit:null,label:{show:!1,color:"#000"},itemStyle:{borderWidth:.5,borderColor:"#444",color:"#eee"},emphasis:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{color:"rgba(255,215,0,0.8)"}},regions:[]},getRegionModel:function(t){return this._optionModelMap.get(t)||new Lo(null,this,this.ecModel)},getFormattedLabel:function(t,e){var i=this.getRegionModel(t).get("label."+e+".formatter"),n={name:t};return"function"==typeof i?(n.status=e,i(n)):"string"==typeof i?i.replace("{a}",null!=t?t:""):void 0},setZoom:function(t){this.option.zoom=t},setCenter:function(t){this.option.center=t}}),HD),Vs({type:"geo",init:function(t,e){var i=new _c(e,!0);this._mapDraw=i,this.group.add(i.group)},render:function(t,e,i,n){if(!n||"geoToggleSelect"!==n.type||n.from!==this.uid){var o=this._mapDraw;t.get("show")?o.draw(t,e,i,this,n):this._mapDraw.group.removeAll(),this.group.silent=t.get("silent")}},dispose:function(){this._mapDraw&&this._mapDraw.remove()}}),Hv("toggleSelected",{type:"geoToggleSelect",event:"geoselectchanged"}),Hv("select",{type:"geoSelect",event:"geoselected"}),Hv("unSelect",{type:"geoUnSelect",event:"geounselected"});var aN=["rect","polygon","keep","clear"],rN=d,sN={lineX:Kv(0),lineY:Kv(1),rect:{point:function(t,e,i){return t&&i.boundingRect.contain(t[0],t[1])},rect:function(t,e,i){return t&&i.boundingRect.intersect(t)}},polygon:{point:function(t,e,i){return t&&i.boundingRect.contain(t[0],t[1])&&Yl(i.range,t[0],t[1])},rect:function(t,e,i){var n=i.range;if(!t||n.length<=1)return!1;var o=t.x,a=t.y,r=t.width,s=t.height,l=n[0];return!!(Yl(n,o,a)||Yl(n,o+r,a)||Yl(n,o,a+s)||Yl(n,o+r,a+s)||ue.create(t).contain(l[0],l[1])||Jv(o,a,o+r,a,n)||Jv(o,a,o,a+s,n)||Jv(o+r,a,o+r,a+s,n)||Jv(o,a+s,o+r,a+s,n))||void 0}}},lN=d,uN=l,hN=v,cN=["dataToPoint","pointToData"],dN=["grid","xAxis","yAxis","geo","graph","polar","radiusAxis","angleAxis","bmap"],fN=iy.prototype;fN.setOutputRanges=function(t,e){this.matchOutputRanges(t,e,function(t,e,i){if((t.coordRanges||(t.coordRanges=[])).push(e),!t.coordRange){t.coordRange=e;var n=vN[t.brushType](0,i,e);t.__rangeOffset={offset:yN[t.brushType](n.values,t.range,[1,1]),xyMinMax:n.xyMinMax}}})},fN.matchOutputRanges=function(t,e,i){lN(t,function(t){var n=this.findTargetInfo(t,e);n&&!0!==n&&d(n.coordSyses,function(n){var o=vN[t.brushType](1,n,t.range);i(t,o.values,n,e)})},this)},fN.setInputRanges=function(t,e){lN(t,function(t){var i=this.findTargetInfo(t,e);if(t.range=t.range||[],i&&!0!==i){t.panelId=i.panelId;var n=vN[t.brushType](0,i.coordSys,t.coordRange),o=t.__rangeOffset;t.range=o?yN[t.brushType](n.values,o.offset,sy(n.xyMinMax,o.xyMinMax)):n.values}},this)},fN.makePanelOpts=function(t,e){return f(this._targetInfoList,function(i){var n=i.getPanelRect();return{panelId:i.panelId,defaultBrushType:e&&e(i),clipPath:hp(n),isTargetByCursor:dp(n,t,i.coordSysModel),getLinearBrushOtherExtent:cp(n)}})},fN.controlSeries=function(t,e,i){var n=this.findTargetInfo(t,i);return!0===n||n&&uN(n.coordSyses,e.coordinateSystem)>=0},fN.findTargetInfo=function(t,e){for(var i=this._targetInfoList,n=oy(e,t),o=0;o<i.length;o++){var a=i[o],r=t.panelId;if(r){if(a.panelId===r)return a}else for(o=0;o<gN.length;o++)if(gN[o](n,a))return a}return!0};var pN={grid:function(t,e){var i=t.xAxisModels,n=t.yAxisModels,o=t.gridModels,a=R(),r={},s={};(i||n||o)&&(lN(i,function(t){var e=t.axis.grid.model;a.set(e.id,e),r[e.id]=!0}),lN(n,function(t){var e=t.axis.grid.model;a.set(e.id,e),s[e.id]=!0}),lN(o,function(t){a.set(t.id,t),r[t.id]=!0,s[t.id]=!0}),a.each(function(t){var o=t.coordinateSystem,a=[];lN(o.getCartesians(),function(t,e){(uN(i,t.getAxis("x").model)>=0||uN(n,t.getAxis("y").model)>=0)&&a.push(t)}),e.push({panelId:"grid--"+t.id,gridModel:t,coordSysModel:t,coordSys:a[0],coordSyses:a,getPanelRect:mN.grid,xAxisDeclared:r[t.id],yAxisDeclared:s[t.id]})}))},geo:function(t,e){lN(t.geoModels,function(t){var i=t.coordinateSystem;e.push({panelId:"geo--"+t.id,geoModel:t,coordSysModel:t,coordSys:i,coordSyses:[i],getPanelRect:mN.geo})})}},gN=[function(t,e){var i=t.xAxisModel,n=t.yAxisModel,o=t.gridModel;return!o&&i&&(o=i.axis.grid.model),!o&&n&&(o=n.axis.grid.model),o&&o===e.gridModel},function(t,e){var i=t.geoModel;return i&&i===e.geoModel}],mN={grid:function(){return this.coordSys.grid.getRect().clone()},geo:function(){var t=this.coordSys,e=t.getBoundingRect().clone();return e.applyTransform(Mo(t)),e}},vN={lineX:hN(ay,0),lineY:hN(ay,1),rect:function(t,e,i){var n=e[cN[t]]([i[0][0],i[1][0]]),o=e[cN[t]]([i[0][1],i[1][1]]),a=[ny([n[0],o[0]]),ny([n[1],o[1]])];return{values:a,xyMinMax:a}},polygon:function(t,e,i){var n=[[1/0,-1/0],[1/0,-1/0]];return{values:f(i,function(i){var o=e[cN[t]](i);return n[0][0]=Math.min(n[0][0],o[0]),n[1][0]=Math.min(n[1][0],o[1]),n[0][1]=Math.max(n[0][1],o[0]),n[1][1]=Math.max(n[1][1],o[1]),o}),xyMinMax:n}}},yN={lineX:hN(ry,0),lineY:hN(ry,1),rect:function(t,e,i){return[[t[0][0]-i[0]*e[0][0],t[0][1]-i[0]*e[0][1]],[t[1][0]-i[1]*e[1][0],t[1][1]-i[1]*e[1][1]]]},polygon:function(t,e,i){return f(t,function(t,n){return[t[0]-i[0]*e[n][0],t[1]-i[1]*e[n][1]]})}},xN=["inBrush","outOfBrush"],_N="__ecBrushSelect",wN="__ecInBrushSelectEvent",bN=IT.VISUAL.BRUSH;Os(bN,function(t,e,i){t.eachComponent({mainType:"brush"},function(e){i&&"takeGlobalCursor"===i.type&&e.setBrushOption("brush"===i.key?i.brushOption:{brushType:!1}),(e.brushTargetManager=new iy(e.option,t)).setInputRanges(e.areas,t)})}),Es(bN,function(t,e,n){var o,a,s=[];t.eachComponent({mainType:"brush"},function(e,n){function l(t){return"all"===m||v[t]}function u(t){return!!t.length}function h(t,e){var i=t.coordinateSystem;w|=i.hasAxisBrushed(),l(e)&&i.eachActiveState(t.getData(),function(t,e){"active"===t&&(x[e]=1)})}function c(i,n,o){var a=dy(i);if(a&&!fy(e,n)&&(d(b,function(n){a[n.brushType]&&e.brushTargetManager.controlSeries(n,i,t)&&o.push(n),w|=u(o)}),l(n)&&u(o))){var r=i.getData();r.each(function(t){cy(a,o,r,t)&&(x[t]=1)})}}var p={brushId:e.id,brushIndex:n,brushName:e.name,areas:i(e.areas),selected:[]};s.push(p);var g=e.option,m=g.brushLink,v=[],x=[],_=[],w=0;n||(o=g.throttleType,a=g.throttleDelay);var b=f(e.areas,function(t){return py(r({boundingRect:SN[t.brushType](t)},t))}),S=Xv(e.option,xN,function(t){t.mappingMethod="fixed"});y(m)&&d(m,function(t){v[t]=1}),t.eachSeries(function(t,e){var i=_[e]=[];"parallel"===t.subType?h(t,e):c(t,e,i)}),t.eachSeries(function(t,e){var i={seriesId:t.id,seriesIndex:e,seriesName:t.name,dataIndex:[]};p.selected.push(i);var n=dy(t),o=_[e],a=t.getData(),r=l(e)?function(t){return x[t]?(i.dataIndex.push(a.getRawIndex(t)),"inBrush"):"outOfBrush"}:function(t){return cy(n,o,a,t)?(i.dataIndex.push(a.getRawIndex(t)),"inBrush"):"outOfBrush"};(l(e)?w:u(o))&&Yv(xN,S,a,r)})}),uy(e,o,a,s,n)});var SN={lineX:B,lineY:B,rect:function(t){return gy(t.range)},polygon:function(t){for(var e,i=t.range,n=0,o=i.length;n<o;n++){e=e||[[1/0,-1/0],[1/0,-1/0]];var a=i[n];a[0]<e[0][0]&&(e[0][0]=a[0]),a[0]>e[0][1]&&(e[0][1]=a[0]),a[1]<e[1][0]&&(e[1][0]=a[1]),a[1]>e[1][1]&&(e[1][1]=a[1])}return e&&gy(e)}},MN=["#ddd"];Bs({type:"brush",dependencies:["geo","grid","xAxis","yAxis","parallel","series"],defaultOption:{toolbox:null,brushLink:null,seriesIndex:"all",geoIndex:null,xAxisIndex:null,yAxisIndex:null,brushType:"rect",brushMode:"single",transformable:!0,brushStyle:{borderWidth:1,color:"rgba(120,140,180,0.3)",borderColor:"rgba(120,140,180,0.8)"},throttleType:"fixRate",throttleDelay:0,removeOnClick:!0,z:1e4},areas:[],brushType:null,brushOption:{},coordInfoList:[],optionUpdated:function(t,e){var i=this.option;!e&&jv(i,t,["inBrush","outOfBrush"]);var n=i.inBrush=i.inBrush||{};i.outOfBrush=i.outOfBrush||{color:MN},n.hasOwnProperty("liftZ")||(n.liftZ=5)},setAreas:function(t){t&&(this.areas=f(t,function(t){return my(this.option,t)},this))},setBrushOption:function(t){this.brushOption=my(this.option,t),this.brushType=this.brushOption.brushType}});Vs({type:"brush",init:function(t,e){this.ecModel=t,this.api=e,this.model,(this._brushController=new Cf(e.getZr())).on("brush",m(this._onBrush,this)).mount()},render:function(t){return this.model=t,vy.apply(this,arguments)},updateTransform:vy,updateView:vy,dispose:function(){this._brushController.dispose()},_onBrush:function(t,e){var n=this.model.id;this.model.brushTargetManager.setOutputRanges(t,this.ecModel),(!e.isEnd||e.removeOnClick)&&this.api.dispatchAction({type:"brush",brushId:n,areas:i(t),$from:n})}}),Ps({type:"brush",event:"brush"},function(t,e){e.eachComponent({mainType:"brush",query:t},function(e){e.setAreas(t.areas)})}),Ps({type:"brushSelect",event:"brushSelected",update:"none"},function(){});var IN={},TN=XI.toolbox.brush;_y.defaultOption={show:!0,type:["rect","polygon","lineX","lineY","keep","clear"],icon:{rect:"M7.3,34.7 M0.4,10V-0.2h9.8 M89.6,10V-0.2h-9.8 M0.4,60v10.2h9.8 M89.6,60v10.2h-9.8 M12.3,22.4V10.5h13.1 M33.6,10.5h7.8 M49.1,10.5h7.8 M77.5,22.4V10.5h-13 M12.3,31.1v8.2 M77.7,31.1v8.2 M12.3,47.6v11.9h13.1 M33.6,59.5h7.6 M49.1,59.5 h7.7 M77.5,47.6v11.9h-13",polygon:"M55.2,34.9c1.7,0,3.1,1.4,3.1,3.1s-1.4,3.1-3.1,3.1 s-3.1-1.4-3.1-3.1S53.5,34.9,55.2,34.9z M50.4,51c1.7,0,3.1,1.4,3.1,3.1c0,1.7-1.4,3.1-3.1,3.1c-1.7,0-3.1-1.4-3.1-3.1 C47.3,52.4,48.7,51,50.4,51z M55.6,37.1l1.5-7.8 M60.1,13.5l1.6-8.7l-7.8,4 M59,19l-1,5.3 M24,16.1l6.4,4.9l6.4-3.3 M48.5,11.6 l-5.9,3.1 M19.1,12.8L9.7,5.1l1.1,7.7 M13.4,29.8l1,7.3l6.6,1.6 M11.6,18.4l1,6.1 M32.8,41.9 M26.6,40.4 M27.3,40.2l6.1,1.6 M49.9,52.1l-5.6-7.6l-4.9-1.2",lineX:"M15.2,30 M19.7,15.6V1.9H29 M34.8,1.9H40.4 M55.3,15.6V1.9H45.9 M19.7,44.4V58.1H29 M34.8,58.1H40.4 M55.3,44.4 V58.1H45.9 M12.5,20.3l-9.4,9.6l9.6,9.8 M3.1,29.9h16.5 M62.5,20.3l9.4,9.6L62.3,39.7 M71.9,29.9H55.4",lineY:"M38.8,7.7 M52.7,12h13.2v9 M65.9,26.6V32 M52.7,46.3h13.2v-9 M24.9,12H11.8v9 M11.8,26.6V32 M24.9,46.3H11.8v-9 M48.2,5.1l-9.3-9l-9.4,9.2 M38.9-3.9V12 M48.2,53.3l-9.3,9l-9.4-9.2 M38.9,62.3V46.4",keep:"M4,10.5V1h10.3 M20.7,1h6.1 M33,1h6.1 M55.4,10.5V1H45.2 M4,17.3v6.6 M55.6,17.3v6.6 M4,30.5V40h10.3 M20.7,40 h6.1 M33,40h6.1 M55.4,30.5V40H45.2 M21,18.9h62.9v48.6H21V18.9z",clear:"M22,14.7l30.9,31 M52.9,14.7L22,45.7 M4.7,16.8V4.2h13.1 M26,4.2h7.8 M41.6,4.2h7.8 M70.3,16.8V4.2H57.2 M4.7,25.9v8.6 M70.3,25.9v8.6 M4.7,43.2v12.6h13.1 M26,55.8h7.8 M41.6,55.8h7.8 M70.3,43.2v12.6H57.2"},title:i(TN.title)};var AN=_y.prototype;AN.render=AN.updateView=function(t,e,i){var n,o,a;e.eachComponent({mainType:"brush"},function(t){n=t.brushType,o=t.brushOption.brushMode||"single",a|=t.areas.length}),this._brushType=n,this._brushMode=o,d(t.get("type",!0),function(e){t.setIconStatus(e,("keep"===e?"multiple"===o:"clear"===e?a:e===n)?"emphasis":"normal")})},AN.getIcons=function(){var t=this.model,e=t.get("icon",!0),i={};return d(t.get("type",!0),function(t){e[t]&&(i[t]=e[t])}),i},AN.onclick=function(t,e,i){var n=this._brushType,o=this._brushMode;"clear"===i?(e.dispatchAction({type:"axisAreaSelect",intervals:[]}),e.dispatchAction({type:"brush",command:"clear",areas:[]})):e.dispatchAction({type:"takeGlobalCursor",key:"brush",brushOption:{brushType:"keep"===i?n:n!==i&&i,brushMode:"keep"===i?"multiple"===o?"single":"multiple":o}})},yy("brush",_y),Ls(function(t,e){var i=t&&t.brush;if(y(i)||(i=i?[i]:[]),i.length){var n=[];d(i,function(t){var e=t.hasOwnProperty("toolbox")?t.toolbox:[];e instanceof Array&&(n=n.concat(e))});var o=t&&t.toolbox;y(o)&&(o=o[0]),o||(o={feature:{}},t.toolbox=[o]);var a=o.feature||(o.feature={}),r=a.brush||(a.brush={}),s=r.type||(r.type=[]);s.push.apply(s,n),Zv(s),e&&!s.length&&s.push.apply(s,aN)}});wy.prototype={constructor:wy,type:"calendar",dimensions:["time","value"],getDimensionsInfo:function(){return[{name:"time",type:"time"},"value"]},getRangeInfo:function(){return this._rangeInfo},getModel:function(){return this._model},getRect:function(){return this._rect},getCellWidth:function(){return this._sw},getCellHeight:function(){return this._sh},getOrient:function(){return this._orient},getFirstDayOfWeek:function(){return this._firstDayOfWeek},getDateInfo:function(t){var e=(t=Uo(t)).getFullYear(),i=t.getMonth()+1;i=i<10?"0"+i:i;var n=t.getDate();n=n<10?"0"+n:n;var o=t.getDay();return o=Math.abs((o+7-this.getFirstDayOfWeek())%7),{y:e,m:i,d:n,day:o,time:t.getTime(),formatedDate:e+"-"+i+"-"+n,date:t}},getNextNDay:function(t,e){return 0===(e=e||0)?this.getDateInfo(t):((t=new Date(this.getDateInfo(t).time)).setDate(t.getDate()+e),this.getDateInfo(t))},update:function(t,e){function i(t,e){return null!=t[e]&&"auto"!==t[e]}this._firstDayOfWeek=+this._model.getModel("dayLabel").get("firstDay"),this._orient=this._model.get("orient"),this._lineWidth=this._model.getModel("itemStyle").getItemStyle().lineWidth||0,this._rangeInfo=this._getRangeInfo(this._initRangeOption());var n=this._rangeInfo.weeks||1,o=["width","height"],a=this._model.get("cellSize").slice(),r=this._model.getBoxLayoutParams(),s="horizontal"===this._orient?[n,7]:[7,n];d([0,1],function(t){i(a,t)&&(r[o[t]]=a[t]*s[t])});var l={width:e.getWidth(),height:e.getHeight()},u=this._rect=la(r,l);d([0,1],function(t){i(a,t)||(a[t]=u[o[t]]/s[t])}),this._sw=a[0],this._sh=a[1]},dataToPoint:function(t,e){y(t)&&(t=t[0]),null==e&&(e=!0);var i=this.getDateInfo(t),n=this._rangeInfo,o=i.formatedDate;if(e&&!(i.time>=n.start.time&&i.time<n.end.time+864e5))return[NaN,NaN];var a=i.day,r=this._getRangeInfo([n.start.time,o]).nthWeek;return"vertical"===this._orient?[this._rect.x+a*this._sw+this._sw/2,this._rect.y+r*this._sh+this._sh/2]:[this._rect.x+r*this._sw+this._sw/2,this._rect.y+a*this._sh+this._sh/2]},pointToData:function(t){var e=this.pointToDate(t);return e&&e.time},dataToRect:function(t,e){var i=this.dataToPoint(t,e);return{contentShape:{x:i[0]-(this._sw-this._lineWidth)/2,y:i[1]-(this._sh-this._lineWidth)/2,width:this._sw-this._lineWidth,height:this._sh-this._lineWidth},center:i,tl:[i[0]-this._sw/2,i[1]-this._sh/2],tr:[i[0]+this._sw/2,i[1]-this._sh/2],br:[i[0]+this._sw/2,i[1]+this._sh/2],bl:[i[0]-this._sw/2,i[1]+this._sh/2]}},pointToDate:function(t){var e=Math.floor((t[0]-this._rect.x)/this._sw)+1,i=Math.floor((t[1]-this._rect.y)/this._sh)+1,n=this._rangeInfo.range;return"vertical"===this._orient?this._getDateByWeeksAndDay(i,e-1,n):this._getDateByWeeksAndDay(e,i-1,n)},convertToPixel:v(by,"dataToPoint"),convertFromPixel:v(by,"pointToData"),_initRangeOption:function(){var t=this._model.get("range"),e=t;if(y(e)&&1===e.length&&(e=e[0]),/^\d{4}$/.test(e)&&(t=[e+"-01-01",e+"-12-31"]),/^\d{4}[\/|-]\d{1,2}$/.test(e)){var i=this.getDateInfo(e),n=i.date;n.setMonth(n.getMonth()+1);var o=this.getNextNDay(n,-1);t=[i.formatedDate,o.formatedDate]}/^\d{4}[\/|-]\d{1,2}[\/|-]\d{1,2}$/.test(e)&&(t=[e,e]);var a=this._getRangeInfo(t);return a.start.time>a.end.time&&t.reverse(),t},_getRangeInfo:function(t){var e;(t=[this.getDateInfo(t[0]),this.getDateInfo(t[1])])[0].time>t[1].time&&(e=!0,t.reverse());var i=Math.floor(t[1].time/864e5)-Math.floor(t[0].time/864e5)+1,n=new Date(t[0].time),o=n.getDate(),a=t[1].date.getDate();if(n.setDate(o+i-1),n.getDate()!==a)for(var r=n.getTime()-t[1].time>0?1:-1;n.getDate()!==a&&(n.getTime()-t[1].time)*r>0;)i-=r,n.setDate(o+i-1);var s=Math.floor((i+t[0].day+6)/7),l=e?1-s:s-1;return e&&t.reverse(),{range:[t[0].formatedDate,t[1].formatedDate],start:t[0],end:t[1],allDay:i,weeks:s,nthWeek:l,fweek:t[0].day,lweek:t[1].day}},_getDateByWeeksAndDay:function(t,e,i){var n=this._getRangeInfo(i);if(t>n.weeks||0===t&&e<n.fweek||t===n.weeks&&e>n.lweek)return!1;var o=7*(t-1)-n.fweek+e,a=new Date(n.start.time);return a.setDate(n.start.d+o),this.getDateInfo(a)}},wy.dimensions=wy.prototype.dimensions,wy.getDimensionsInfo=wy.prototype.getDimensionsInfo,wy.create=function(t,e){var i=[];return t.eachComponent("calendar",function(n){var o=new wy(n,t,e);i.push(o),n.coordinateSystem=o}),t.eachSeries(function(t){"calendar"===t.get("coordinateSystem")&&(t.coordinateSystem=i[t.get("calendarIndex")||0])}),i},Ba.register("calendar",wy);var DN=YM.extend({type:"calendar",coordinateSystem:null,defaultOption:{zlevel:0,z:2,left:80,top:60,cellSize:20,orient:"horizontal",splitLine:{show:!0,lineStyle:{color:"#000",width:1,type:"solid"}},itemStyle:{color:"#fff",borderWidth:1,borderColor:"#ccc"},dayLabel:{show:!0,firstDay:0,position:"start",margin:"50%",nameMap:"en",color:"#000"},monthLabel:{show:!0,position:"start",margin:5,align:"center",nameMap:"en",formatter:null,color:"#000"},yearLabel:{show:!0,position:null,margin:30,formatter:null,color:"#ccc",fontFamily:"sans-serif",fontWeight:"bolder",fontSize:20}},init:function(t,e,i,n){var o=da(t);DN.superApply(this,"init",arguments),Sy(t,o)},mergeOption:function(t,e){DN.superApply(this,"mergeOption",arguments),Sy(this.option,t)}}),CN={EN:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],CN:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},LN={EN:["S","M","T","W","T","F","S"],CN:["日","一","二","三","四","五","六"]};Vs({type:"calendar",_tlpoints:null,_blpoints:null,_firstDayOfMonth:null,_firstDayPoints:null,render:function(t,e,i){var n=this.group;n.removeAll();var o=t.coordinateSystem,a=o.getRangeInfo(),r=o.getOrient();this._renderDayRect(t,a,n),this._renderLines(t,a,r,n),this._renderYearText(t,a,r,n),this._renderMonthText(t,r,n),this._renderWeekText(t,a,r,n)},_renderDayRect:function(t,e,i){for(var n=t.coordinateSystem,o=t.getModel("itemStyle").getItemStyle(),a=n.getCellWidth(),r=n.getCellHeight(),s=e.start.time;s<=e.end.time;s=n.getNextNDay(s,1).time){var l=n.dataToRect([s],!1).tl,u=new aM({shape:{x:l[0],y:l[1],width:a,height:r},cursor:"default",style:o});i.add(u)}},_renderLines:function(t,e,i,n){function o(e){a._firstDayOfMonth.push(r.getDateInfo(e)),a._firstDayPoints.push(r.dataToRect([e],!1).tl);var o=a._getLinePointsOfOneWeek(t,e,i);a._tlpoints.push(o[0]),a._blpoints.push(o[o.length-1]),l&&a._drawSplitline(o,s,n)}var a=this,r=t.coordinateSystem,s=t.getModel("splitLine.lineStyle").getLineStyle(),l=t.get("splitLine.show"),u=s.lineWidth;this._tlpoints=[],this._blpoints=[],this._firstDayOfMonth=[],this._firstDayPoints=[];for(var h=e.start,c=0;h.time<=e.end.time;c++){o(h.formatedDate),0===c&&(h=r.getDateInfo(e.start.y+"-"+e.start.m));var d=h.date;d.setMonth(d.getMonth()+1),h=r.getDateInfo(d)}o(r.getNextNDay(e.end.time,1).formatedDate),l&&this._drawSplitline(a._getEdgesPoints(a._tlpoints,u,i),s,n),l&&this._drawSplitline(a._getEdgesPoints(a._blpoints,u,i),s,n)},_getEdgesPoints:function(t,e,i){var n=[t[0].slice(),t[t.length-1].slice()],o="horizontal"===i?0:1;return n[0][o]=n[0][o]-e/2,n[1][o]=n[1][o]+e/2,n},_drawSplitline:function(t,e,i){var n=new oM({z2:20,shape:{points:t},style:e});i.add(n)},_getLinePointsOfOneWeek:function(t,e,i){var n=t.coordinateSystem;e=n.getDateInfo(e);for(var o=[],a=0;a<7;a++){var r=n.getNextNDay(e.time,a),s=n.dataToRect([r.time],!1);o[2*r.day]=s.tl,o[2*r.day+1]=s["horizontal"===i?"bl":"tr"]}return o},_formatterLabel:function(t,e){return"string"==typeof t&&t?ea(t,e):"function"==typeof t?t(e):e.nameMap},_yearTextPositionControl:function(t,e,i,n,o){e=e.slice();var a=["center","bottom"];"bottom"===n?(e[1]+=o,a=["center","top"]):"left"===n?e[0]-=o:"right"===n?(e[0]+=o,a=["center","top"]):e[1]-=o;var r=0;return"left"!==n&&"right"!==n||(r=Math.PI/2),{rotation:r,position:e,style:{textAlign:a[0],textVerticalAlign:a[1]}}},_renderYearText:function(t,e,i,n){var o=t.getModel("yearLabel");if(o.get("show")){var a=o.get("margin"),r=o.get("position");r||(r="horizontal"!==i?"top":"left");var s=[this._tlpoints[this._tlpoints.length-1],this._blpoints[0]],l=(s[0][0]+s[1][0])/2,u=(s[0][1]+s[1][1])/2,h="horizontal"===i?0:1,c={top:[l,s[h][1]],bottom:[l,s[1-h][1]],left:[s[1-h][0],u],right:[s[h][0],u]},d=e.start.y;+e.end.y>+e.start.y&&(d=d+"-"+e.end.y);var f=o.get("formatter"),p={start:e.start.y,end:e.end.y,nameMap:d},g=this._formatterLabel(f,p),m=new qS({z2:30});fo(m.style,o,{text:g}),m.attr(this._yearTextPositionControl(m,c[r],i,r,a)),n.add(m)}},_monthTextPositionControl:function(t,e,i,n,o){var a="left",r="top",s=t[0],l=t[1];return"horizontal"===i?(l+=o,e&&(a="center"),"start"===n&&(r="bottom")):(s+=o,e&&(r="middle"),"start"===n&&(a="right")),{x:s,y:l,textAlign:a,textVerticalAlign:r}},_renderMonthText:function(t,e,i){var n=t.getModel("monthLabel");if(n.get("show")){var o=n.get("nameMap"),r=n.get("margin"),s=n.get("position"),l=n.get("align"),u=[this._tlpoints,this._blpoints];_(o)&&(o=CN[o.toUpperCase()]||[]);var h="start"===s?0:1,c="horizontal"===e?0:1;r="start"===s?-r:r;for(var d="center"===l,f=0;f<u[h].length-1;f++){var p=u[h][f].slice(),g=this._firstDayOfMonth[f];if(d){var m=this._firstDayPoints[f];p[c]=(m[c]+u[0][f+1][c])/2}var v=n.get("formatter"),y=o[+g.m-1],x={yyyy:g.y,yy:(g.y+"").slice(2),MM:g.m,M:+g.m,nameMap:y},w=this._formatterLabel(v,x),b=new qS({z2:30});a(fo(b.style,n,{text:w}),this._monthTextPositionControl(p,d,e,s,r)),i.add(b)}}},_weekTextPositionControl:function(t,e,i,n,o){var a="center",r="middle",s=t[0],l=t[1],u="start"===i;return"horizontal"===e?(s=s+n+(u?1:-1)*o[0]/2,a=u?"right":"left"):(l=l+n+(u?1:-1)*o[1]/2,r=u?"bottom":"top"),{x:s,y:l,textAlign:a,textVerticalAlign:r}},_renderWeekText:function(t,e,i,n){var o=t.getModel("dayLabel");if(o.get("show")){var r=t.coordinateSystem,s=o.get("position"),l=o.get("nameMap"),u=o.get("margin"),h=r.getFirstDayOfWeek();_(l)&&(l=LN[l.toUpperCase()]||[]);var c=r.getNextNDay(e.end.time,7-e.lweek).time,d=[r.getCellWidth(),r.getCellHeight()];u=Ro(u,d["horizontal"===i?0:1]),"start"===s&&(c=r.getNextNDay(e.start.time,-(7+e.fweek)).time,u=-u);for(var f=0;f<7;f++){var p=r.getNextNDay(c,f),g=r.dataToRect([p.time],!1).center,m=f;m=Math.abs((f+h)%7);var v=new qS({z2:30});a(fo(v.style,o,{text:l[m]}),this._weekTextPositionControl(g,i,s,u,d)),n.add(v)}}}}),Bs({type:"title",layoutMode:{type:"box",ignoreSize:!0},defaultOption:{zlevel:0,z:6,show:!0,text:"",target:"blank",subtext:"",subtarget:"blank",left:0,top:0,backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,padding:5,itemGap:10,textStyle:{fontSize:18,fontWeight:"bolder",color:"#333"},subtextStyle:{color:"#aaa"}}}),Vs({type:"title",render:function(t,e,i){if(this.group.removeAll(),t.get("show")){var n=this.group,o=t.getModel("textStyle"),a=t.getModel("subtextStyle"),r=t.get("textAlign"),s=t.get("textBaseline"),l=new qS({style:fo({},o,{text:t.get("text"),textFill:o.getTextColor()},{disableBox:!0}),z2:10}),u=l.getBoundingRect(),h=t.get("subtext"),c=new qS({style:fo({},a,{text:h,textFill:a.getTextColor(),y:u.height+t.get("itemGap"),textVerticalAlign:"top"},{disableBox:!0}),z2:10}),d=t.get("link"),f=t.get("sublink"),p=t.get("triggerEvent",!0);l.silent=!d&&!p,c.silent=!f&&!p,d&&l.on("click",function(){window.open(d,"_"+t.get("target"))}),f&&c.on("click",function(){window.open(f,"_"+t.get("subtarget"))}),l.eventData=c.eventData=p?{componentType:"title",componentIndex:t.componentIndex}:null,n.add(l),h&&n.add(c);var g=n.getBoundingRect(),m=t.getBoxLayoutParams();m.width=g.width,m.height=g.height;var v=la(m,{width:i.getWidth(),height:i.getHeight()},t.get("padding"));r||("middle"===(r=t.get("left")||t.get("right"))&&(r="center"),"right"===r?v.x+=v.width:"center"===r&&(v.x+=v.width/2)),s||("center"===(s=t.get("top")||t.get("bottom"))&&(s="middle"),"bottom"===s?v.y+=v.height:"middle"===s&&(v.y+=v.height/2),s=s||"top"),n.attr("position",[v.x,v.y]);var y={textAlign:r,textVerticalAlign:s};l.setStyle(y),c.setStyle(y),g=n.getBoundingRect();var x=v.margin,_=t.getItemStyle(["color","opacity"]);_.fill=t.get("backgroundColor");var w=new aM({shape:{x:g.x-x[3],y:g.y-x[0],width:g.width+x[1]+x[3],height:g.height+x[0]+x[2],r:t.get("borderRadius")},style:_,silent:!0});jn(w),n.add(w)}}}),YM.registerSubTypeDefaulter("dataZoom",function(){return"slider"});var kN=["cartesian2d","polar","singleAxis"],PN=function(t,e){var i=f(t=t.slice(),aa),n=f(e=(e||[]).slice(),aa);return function(o,a){d(t,function(t,r){for(var s={name:t,capital:i[r]},l=0;l<e.length;l++)s[e[l]]=t+n[l];o.call(a,s)})}}(["x","y","z","radius","angle","single"],["axisIndex","axis","index","id"]),NN=d,ON=Bo,EN=function(t,e,i,n){this._dimName=t,this._axisIndex=e,this._valueWindow,this._percentWindow,this._dataExtent,this._minMaxSpan,this.ecModel=n,this._dataZoomModel=i};EN.prototype={constructor:EN,hostedBy:function(t){return this._dataZoomModel===t},getDataValueWindow:function(){return this._valueWindow.slice()},getDataPercentWindow:function(){return this._percentWindow.slice()},getTargetSeriesModels:function(){var t=[],e=this.ecModel;return e.eachSeries(function(i){if(My(i.get("coordinateSystem"))){var n=this._dimName,o=e.queryComponents({mainType:n+"Axis",index:i.get(n+"AxisIndex"),id:i.get(n+"AxisId")})[0];this._axisIndex===(o&&o.componentIndex)&&t.push(i)}},this),t},getAxisModel:function(){return this.ecModel.getComponent(this._dimName+"Axis",this._axisIndex)},getOtherAxisModel:function(){var t,e,i=this._dimName,n=this.ecModel,o=this.getAxisModel();"x"===i||"y"===i?(e="gridIndex",t="x"===i?"y":"x"):(e="polarIndex",t="angle"===i?"radius":"angle");var a;return n.eachComponent(t+"Axis",function(t){(t.get(e)||0)===(o.get(e)||0)&&(a=t)}),a},getMinMaxSpan:function(){return i(this._minMaxSpan)},calculateDataWindow:function(t){var e=this._dataExtent,i=this.getAxisModel().axis.scale,n=this._dataZoomModel.getRangePropMode(),o=[0,100],a=[t.start,t.end],r=[];return NN(["startValue","endValue"],function(e){r.push(null!=t[e]?i.parse(t[e]):null)}),NN([0,1],function(t){var s=r[t],l=a[t];"percent"===n[t]?(null==l&&(l=o[t]),s=i.parse(Eo(l,o,e,!0))):l=Eo(s,e,o,!0),r[t]=s,a[t]=l}),{valueWindow:ON(r),percentWindow:ON(a)}},reset:function(t){if(t===this._dataZoomModel){var e=this.getTargetSeriesModels();this._dataExtent=Ty(this,this._dimName,e);var i=this.calculateDataWindow(t.option);this._valueWindow=i.valueWindow,this._percentWindow=i.percentWindow,Cy(this),Dy(this)}},restore:function(t){t===this._dataZoomModel&&(this._valueWindow=this._percentWindow=null,Dy(this,!0))},filterData:function(t,e){function i(t){return t>=r[0]&&t<=r[1]}if(t===this._dataZoomModel){var n=this._dimName,o=this.getTargetSeriesModels(),a=t.get("filterMode"),r=this._valueWindow;"none"!==a&&NN(o,function(t){var e=t.getData(),o=e.mapDimension(n,!0);o.length&&("weakFilter"===a?e.filterSelf(function(t){for(var i,n,a,s=0;s<o.length;s++){var l=e.get(o[s],t),u=!isNaN(l),h=l<r[0],c=l>r[1];if(u&&!h&&!c)return!0;u&&(a=!0),h&&(i=!0),c&&(n=!0)}return a&&i&&n}):NN(o,function(n){if("empty"===a)t.setData(e.map(n,function(t){return i(t)?t:NaN}));else{var o={};o[n]=r,e.selectRange(o)}}),NN(o,function(t){e.setApproximateExtent(r,t)}))})}}};var RN=d,zN=PN,BN=Bs({type:"dataZoom",dependencies:["xAxis","yAxis","zAxis","radiusAxis","angleAxis","singleAxis","series"],defaultOption:{zlevel:0,z:4,orient:null,xAxisIndex:null,yAxisIndex:null,filterMode:"filter",throttle:null,start:0,end:100,startValue:null,endValue:null,minSpan:null,maxSpan:null,minValueSpan:null,maxValueSpan:null,rangeMode:null},init:function(t,e,i){this._dataIntervalByAxis={},this._dataInfo={},this._axisProxies={},this.textStyleModel,this._autoThrottle=!0,this._rangePropMode=["percent","percent"];var n=Ly(t);this.mergeDefaultAndTheme(t,i),this.doInit(n)},mergeOption:function(t){var e=Ly(t);n(this.option,t,!0),this.doInit(e)},doInit:function(t){var e=this.option;z_.canvasSupported||(e.realtime=!1),this._setDefaultThrottle(t),ky(this,t),RN([["start","startValue"],["end","endValue"]],function(t,i){"value"===this._rangePropMode[i]&&(e[t[0]]=null)},this),this.textStyleModel=this.getModel("textStyle"),this._resetTarget(),this._giveAxisProxies()},_giveAxisProxies:function(){var t=this._axisProxies;this.eachTargetAxis(function(e,i,n,o){var a=this.dependentModels[e.axis][i],r=a.__dzAxisProxy||(a.__dzAxisProxy=new EN(e.name,i,this,o));t[e.name+"_"+i]=r},this)},_resetTarget:function(){var t=this.option,e=this._judgeAutoMode();zN(function(e){var i=e.axisIndex;t[i]=Di(t[i])},this),"axisIndex"===e?this._autoSetAxisIndex():"orient"===e&&this._autoSetOrient()},_judgeAutoMode:function(){var t=this.option,e=!1;zN(function(i){null!=t[i.axisIndex]&&(e=!0)},this);var i=t.orient;return null==i&&e?"orient":e?void 0:(null==i&&(t.orient="horizontal"),"axisIndex")},_autoSetAxisIndex:function(){var t=!0,e=this.get("orient",!0),i=this.option,n=this.dependentModels;if(t){var o="vertical"===e?"y":"x";n[o+"Axis"].length?(i[o+"AxisIndex"]=[0],t=!1):RN(n.singleAxis,function(n){t&&n.get("orient",!0)===e&&(i.singleAxisIndex=[n.componentIndex],t=!1)})}t&&zN(function(e){if(t){var n=[],o=this.dependentModels[e.axis];if(o.length&&!n.length)for(var a=0,r=o.length;a<r;a++)"category"===o[a].get("type")&&n.push(a);i[e.axisIndex]=n,n.length&&(t=!1)}},this),t&&this.ecModel.eachSeries(function(t){this._isSeriesHasAllAxesTypeOf(t,"value")&&zN(function(e){var n=i[e.axisIndex],o=t.get(e.axisIndex),a=t.get(e.axisId);l(n,o=t.ecModel.queryComponents({mainType:e.axis,index:o,id:a})[0].componentIndex)<0&&n.push(o)})},this)},_autoSetOrient:function(){var t;this.eachTargetAxis(function(e){!t&&(t=e.name)},this),this.option.orient="y"===t?"vertical":"horizontal"},_isSeriesHasAllAxesTypeOf:function(t,e){var i=!0;return zN(function(n){var o=t.get(n.axisIndex),a=this.dependentModels[n.axis][o];a&&a.get("type")===e||(i=!1)},this),i},_setDefaultThrottle:function(t){if(t.hasOwnProperty("throttle")&&(this._autoThrottle=!1),this._autoThrottle){var e=this.ecModel.option;this.option.throttle=e.animation&&e.animationDurationUpdate>0?100:20}},getFirstTargetAxisModel:function(){var t;return zN(function(e){if(null==t){var i=this.get(e.axisIndex);i.length&&(t=this.dependentModels[e.axis][i[0]])}},this),t},eachTargetAxis:function(t,e){var i=this.ecModel;zN(function(n){RN(this.get(n.axisIndex),function(o){t.call(e,n,o,this,i)},this)},this)},getAxisProxy:function(t,e){return this._axisProxies[t+"_"+e]},getAxisModel:function(t,e){var i=this.getAxisProxy(t,e);return i&&i.getAxisModel()},setRawRange:function(t,e){var i=this.option;RN([["start","startValue"],["end","endValue"]],function(e){null==t[e[0]]&&null==t[e[1]]||(i[e[0]]=t[e[0]],i[e[1]]=t[e[1]])},this),!e&&ky(this,t)},getPercentRange:function(){var t=this.findRepresentativeAxisProxy();if(t)return t.getDataPercentWindow()},getValueRange:function(t,e){if(null!=t||null!=e)return this.getAxisProxy(t,e).getDataValueWindow();var i=this.findRepresentativeAxisProxy();return i?i.getDataValueWindow():void 0},findRepresentativeAxisProxy:function(t){if(t)return t.__dzAxisProxy;var e=this._axisProxies;for(var i in e)if(e.hasOwnProperty(i)&&e[i].hostedBy(this))return e[i];for(var i in e)if(e.hasOwnProperty(i)&&!e[i].hostedBy(this))return e[i]},getRangePropMode:function(){return this._rangePropMode.slice()}}),VN=EI.extend({type:"dataZoom",render:function(t,e,i,n){this.dataZoomModel=t,this.ecModel=e,this.api=i},getTargetCoordInfo:function(){function t(t,e,i,n){for(var o,a=0;a<i.length;a++)if(i[a].model===t){o=i[a];break}o||i.push(o={model:t,axisModels:[],coordIndex:n}),o.axisModels.push(e)}var e=this.dataZoomModel,i=this.ecModel,n={};return e.eachTargetAxis(function(e,o){var a=i.getComponent(e.axis,o);if(a){var r=a.getCoordSysModel();r&&t(r,a,n[r.mainType]||(n[r.mainType]=[]),r.componentIndex)}},this),n}}),GN=(BN.extend({type:"dataZoom.slider",layoutMode:"box",defaultOption:{show:!0,right:"ph",top:"ph",width:"ph",height:"ph",left:null,bottom:null,backgroundColor:"rgba(47,69,84,0)",dataBackground:{lineStyle:{color:"#2f4554",width:.5,opacity:.3},areaStyle:{color:"rgba(47,69,84,0.3)",opacity:.3}},borderColor:"#ddd",fillerColor:"rgba(167,183,204,0.4)",handleIcon:"M8.2,13.6V3.9H6.3v9.7H3.1v14.9h3.3v9.7h1.8v-9.7h3.3V13.6H8.2z M9.7,24.4H4.8v-1.4h4.9V24.4z M9.7,19.1H4.8v-1.4h4.9V19.1z",handleSize:"100%",handleStyle:{color:"#a7b7cc"},labelPrecision:null,labelFormatter:null,showDetail:!0,showDataShadow:"auto",realtime:!0,zoomLock:!1,textStyle:{color:"#333"}}}),aM),FN=Eo,WN=Bo,HN=m,ZN=d,UN="horizontal",XN=5,jN=["line","bar","candlestick","scatter"],YN=VN.extend({type:"dataZoom.slider",init:function(t,e){this._displayables={},this._orient,this._range,this._handleEnds,this._size,this._handleWidth,this._handleHeight,this._location,this._dragging,this._dataShadowInfo,this.api=e},render:function(t,e,i,n){YN.superApply(this,"render",arguments),Lr(this,"_dispatchZoomAction",this.dataZoomModel.get("throttle"),"fixRate"),this._orient=t.get("orient"),!1!==this.dataZoomModel.get("show")?(n&&"dataZoom"===n.type&&n.from===this.uid||this._buildView(),this._updateView()):this.group.removeAll()},remove:function(){YN.superApply(this,"remove",arguments),kr(this,"_dispatchZoomAction")},dispose:function(){YN.superApply(this,"dispose",arguments),kr(this,"_dispatchZoomAction")},_buildView:function(){var t=this.group;t.removeAll(),this._resetLocation(),this._resetInterval();var e=this._displayables.barGroup=new Zw;this._renderBackground(),this._renderHandle(),this._renderDataShadow(),t.add(e),this._positionGroup()},_resetLocation:function(){var t=this.dataZoomModel,e=this.api,i=this._findCoordRect(),n={width:e.getWidth(),height:e.getHeight()},o=this._orient===UN?{right:n.width-i.x-i.width,top:n.height-30-7,width:i.width,height:30}:{right:7,top:i.y,width:30,height:i.height},a=da(t.option);d(["right","top","width","height"],function(t){"ph"===a[t]&&(a[t]=o[t])});var r=la(a,n,t.padding);this._location={x:r.x,y:r.y},this._size=[r.width,r.height],"vertical"===this._orient&&this._size.reverse()},_positionGroup:function(){var t=this.group,e=this._location,i=this._orient,n=this.dataZoomModel.getFirstTargetAxisModel(),o=n&&n.get("inverse"),a=this._displayables.barGroup,r=(this._dataShadowInfo||{}).otherAxisInverse;a.attr(i!==UN||o?i===UN&&o?{scale:r?[-1,1]:[-1,-1]}:"vertical"!==i||o?{scale:r?[-1,-1]:[-1,1],rotation:Math.PI/2}:{scale:r?[1,-1]:[1,1],rotation:Math.PI/2}:{scale:r?[1,1]:[1,-1]});var s=t.getBoundingRect([a]);t.attr("position",[e.x-s.x,e.y-s.y])},_getViewExtent:function(){return[0,this._size[0]]},_renderBackground:function(){var t=this.dataZoomModel,e=this._size,i=this._displayables.barGroup;i.add(new GN({silent:!0,shape:{x:0,y:0,width:e[0],height:e[1]},style:{fill:t.get("backgroundColor")},z2:-40})),i.add(new GN({shape:{x:0,y:0,width:e[0],height:e[1]},style:{fill:"transparent"},z2:0,onclick:m(this._onClickPanelClick,this)}))},_renderDataShadow:function(){var t=this._dataShadowInfo=this._prepareDataShadowInfo();if(t){var e=this._size,i=t.series,n=i.getRawData(),o=i.getShadowDim?i.getShadowDim():t.otherDim;if(null!=o){var a=n.getDataExtent(o),s=.3*(a[1]-a[0]);a=[a[0]-s,a[1]+s];var l,u=[0,e[1]],h=[0,e[0]],c=[[e[0],0],[0,0]],d=[],f=h[1]/(n.count()-1),p=0,g=Math.round(n.count()/e[0]);n.each([o],function(t,e){if(g>0&&e%g)p+=f;else{var i=null==t||isNaN(t)||""===t,n=i?0:FN(t,a,u,!0);i&&!l&&e?(c.push([c[c.length-1][0],0]),d.push([d[d.length-1][0],0])):!i&&l&&(c.push([p,0]),d.push([p,0])),c.push([p,n]),d.push([p,n]),p+=f,l=i}});var m=this.dataZoomModel;this._displayables.barGroup.add(new nM({shape:{points:c},style:r({fill:m.get("dataBackgroundColor")},m.getModel("dataBackground.areaStyle").getAreaStyle()),silent:!0,z2:-20})),this._displayables.barGroup.add(new oM({shape:{points:d},style:m.getModel("dataBackground.lineStyle").getLineStyle(),silent:!0,z2:-19}))}}},_prepareDataShadowInfo:function(){var t=this.dataZoomModel,e=t.get("showDataShadow");if(!1!==e){var i,n=this.ecModel;return t.eachTargetAxis(function(o,a){d(t.getAxisProxy(o.name,a).getTargetSeriesModels(),function(t){if(!(i||!0!==e&&l(jN,t.get("type"))<0)){var r,s=n.getComponent(o.axis,a).axis,u=Py(o.name),h=t.coordinateSystem;null!=u&&h.getOtherAxis&&(r=h.getOtherAxis(s).inverse),u=t.getData().mapDimension(u),i={thisAxis:s,series:t,thisDim:o.name,otherDim:u,otherAxisInverse:r}}},this)},this),i}},_renderHandle:function(){var t=this._displayables,e=t.handles=[],i=t.handleLabels=[],n=this._displayables.barGroup,o=this._size,a=this.dataZoomModel;n.add(t.filler=new GN({draggable:!0,cursor:Ny(this._orient),drift:HN(this._onDragMove,this,"all"),onmousemove:function(t){lw(t.event)},ondragstart:HN(this._showDataInfo,this,!0),ondragend:HN(this._onDragEnd,this),onmouseover:HN(this._showDataInfo,this,!0),onmouseout:HN(this._showDataInfo,this,!1),style:{fill:a.get("fillerColor"),textPosition:"inside"}})),n.add(new GN(jn({silent:!0,shape:{x:0,y:0,width:o[0],height:o[1]},style:{stroke:a.get("dataBackgroundColor")||a.get("borderColor"),lineWidth:1,fill:"rgba(0,0,0,0)"}}))),ZN([0,1],function(t){var o=Co(a.get("handleIcon"),{cursor:Ny(this._orient),draggable:!0,drift:HN(this._onDragMove,this,t),onmousemove:function(t){lw(t.event)},ondragend:HN(this._onDragEnd,this),onmouseover:HN(this._showDataInfo,this,!0),onmouseout:HN(this._showDataInfo,this,!1)},{x:-1,y:0,width:2,height:2}),r=o.getBoundingRect();this._handleHeight=Ro(a.get("handleSize"),this._size[1]),this._handleWidth=r.width/r.height*this._handleHeight,o.setStyle(a.getModel("handleStyle").getItemStyle());var s=a.get("handleColor");null!=s&&(o.style.fill=s),n.add(e[t]=o);var l=a.textStyleModel;this.group.add(i[t]=new qS({silent:!0,invisible:!0,style:{x:0,y:0,text:"",textVerticalAlign:"middle",textAlign:"center",textFill:l.getTextColor(),textFont:l.getFont()},z2:10}))},this)},_resetInterval:function(){var t=this._range=this.dataZoomModel.getPercentRange(),e=this._getViewExtent();this._handleEnds=[FN(t[0],[0,100],e,!0),FN(t[1],[0,100],e,!0)]},_updateInterval:function(t,e){var i=this.dataZoomModel,n=this._handleEnds,o=this._getViewExtent(),a=i.findRepresentativeAxisProxy().getMinMaxSpan(),r=[0,100];EL(e,n,o,i.get("zoomLock")?"all":t,null!=a.minSpan?FN(a.minSpan,r,o,!0):null,null!=a.maxSpan?FN(a.maxSpan,r,o,!0):null);var s=this._range,l=this._range=WN([FN(n[0],o,r,!0),FN(n[1],o,r,!0)]);return!s||s[0]!==l[0]||s[1]!==l[1]},_updateView:function(t){var e=this._displayables,i=this._handleEnds,n=WN(i.slice()),o=this._size;ZN([0,1],function(t){var n=e.handles[t],a=this._handleHeight;n.attr({scale:[a/2,a/2],position:[i[t],o[1]/2-a/2]})},this),e.filler.setShape({x:n[0],y:0,width:n[1]-n[0],height:o[1]}),this._updateDataInfo(t)},_updateDataInfo:function(t){function e(t){var e=Mo(n.handles[t].parent,this.group),i=To(0===t?"right":"left",e),s=this._handleWidth/2+XN,l=Io([c[t]+(0===t?-s:s),this._size[1]/2],e);o[t].setStyle({x:l[0],y:l[1],textVerticalAlign:a===UN?"middle":i,textAlign:a===UN?i:"center",text:r[t]})}var i=this.dataZoomModel,n=this._displayables,o=n.handleLabels,a=this._orient,r=["",""];if(i.get("showDetail")){var s=i.findRepresentativeAxisProxy();if(s){var l=s.getAxisModel().axis,u=this._range,h=t?s.calculateDataWindow({start:u[0],end:u[1]}).valueWindow:s.getDataValueWindow();r=[this._formatLabel(h[0],l),this._formatLabel(h[1],l)]}}var c=WN(this._handleEnds.slice());e.call(this,0),e.call(this,1)},_formatLabel:function(t,e){var i=this.dataZoomModel,n=i.get("labelFormatter"),o=i.get("labelPrecision");null!=o&&"auto"!==o||(o=e.getPixelPrecision());var a=null==t||isNaN(t)?"":"category"===e.type||"time"===e.type?e.scale.getLabel(Math.round(t)):t.toFixed(Math.min(o,20));return x(n)?n(t,a):_(n)?n.replace("{value}",a):a},_showDataInfo:function(t){t=this._dragging||t;var e=this._displayables.handleLabels;e[0].attr("invisible",!t),e[1].attr("invisible",!t)},_onDragMove:function(t,e,i){this._dragging=!0;var n=Io([e,i],this._displayables.barGroup.getLocalTransform(),!0),o=this._updateInterval(t,n[0]),a=this.dataZoomModel.get("realtime");this._updateView(!a),o&&a&&this._dispatchZoomAction()},_onDragEnd:function(){this._dragging=!1,this._showDataInfo(!1),!this.dataZoomModel.get("realtime")&&this._dispatchZoomAction()},_onClickPanelClick:function(t){var e=this._size,i=this._displayables.barGroup.transformCoordToLocal(t.offsetX,t.offsetY);if(!(i[0]<0||i[0]>e[0]||i[1]<0||i[1]>e[1])){var n=this._handleEnds,o=(n[0]+n[1])/2,a=this._updateInterval("all",i[0]-o);this._updateView(),a&&this._dispatchZoomAction()}},_dispatchZoomAction:function(){var t=this._range;this.api.dispatchAction({type:"dataZoom",from:this.uid,dataZoomId:this.dataZoomModel.id,start:t[0],end:t[1]})},_findCoordRect:function(){var t;if(ZN(this.getTargetCoordInfo(),function(e){if(!t&&e.length){var i=e[0].model.coordinateSystem;t=i.getRect&&i.getRect()}}),!t){var e=this.api.getWidth(),i=this.api.getHeight();t={x:.2*e,y:.2*i,width:.6*e,height:.6*i}}return t}});BN.extend({type:"dataZoom.inside",defaultOption:{disabled:!1,zoomLock:!1,zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0}});var qN="\0_ec_dataZoom_roams",KN=m,$N=VN.extend({type:"dataZoom.inside",init:function(t,e){this._range},render:function(t,e,i,n){$N.superApply(this,"render",arguments),this._range=t.getPercentRange(),d(this.getTargetCoordInfo(),function(e,n){var o=f(e,function(t){return Ry(t.model)});d(e,function(e){var a=e.model,r={};d(["pan","zoom","scrollMove"],function(t){r[t]=KN(JN[t],this,e,n)},this),Oy(i,{coordId:Ry(a),allCoordIds:o,containsPoint:function(t,e,i){return a.coordinateSystem.containPoint([e,i])},dataZoomId:t.id,dataZoomModel:t,getRange:r})},this)},this)},dispose:function(){Ey(this.api,this.dataZoomModel.id),$N.superApply(this,"dispose",arguments),this._range=null}}),JN={zoom:function(t,e,i,n){var o=this._range,a=o.slice(),r=t.axisModels[0];if(r){var s=QN[e](null,[n.originX,n.originY],r,i,t),l=(s.signal>0?s.pixelStart+s.pixelLength-s.pixel:s.pixel-s.pixelStart)/s.pixelLength*(a[1]-a[0])+a[0],u=Math.max(1/n.scale,0);a[0]=(a[0]-l)*u+l,a[1]=(a[1]-l)*u+l;var h=this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();return EL(0,a,[0,100],0,h.minSpan,h.maxSpan),this._range=a,o[0]!==a[0]||o[1]!==a[1]?a:void 0}},pan:Wy(function(t,e,i,n,o,a){var r=QN[n]([a.oldX,a.oldY],[a.newX,a.newY],e,o,i);return r.signal*(t[1]-t[0])*r.pixel/r.pixelLength}),scrollMove:Wy(function(t,e,i,n,o,a){return QN[n]([0,0],[a.scrollDelta,a.scrollDelta],e,o,i).signal*(t[1]-t[0])*a.scrollDelta})},QN={grid:function(t,e,i,n,o){var a=i.axis,r={},s=o.model.coordinateSystem.getRect();return t=t||[0,0],"x"===a.dim?(r.pixel=e[0]-t[0],r.pixelLength=s.width,r.pixelStart=s.x,r.signal=a.inverse?1:-1):(r.pixel=e[1]-t[1],r.pixelLength=s.height,r.pixelStart=s.y,r.signal=a.inverse?-1:1),r},polar:function(t,e,i,n,o){var a=i.axis,r={},s=o.model.coordinateSystem,l=s.getRadiusAxis().getExtent(),u=s.getAngleAxis().getExtent();return t=t?s.pointToCoord(t):[0,0],e=s.pointToCoord(e),"radiusAxis"===i.mainType?(r.pixel=e[0]-t[0],r.pixelLength=l[1]-l[0],r.pixelStart=l[0],r.signal=a.inverse?1:-1):(r.pixel=e[1]-t[1],r.pixelLength=u[1]-u[0],r.pixelStart=u[0],r.signal=a.inverse?-1:1),r},singleAxis:function(t,e,i,n,o){var a=i.axis,r=o.model.coordinateSystem.getRect(),s={};return t=t||[0,0],"horizontal"===a.orient?(s.pixel=e[0]-t[0],s.pixelLength=r.width,s.pixelStart=r.x,s.signal=a.inverse?1:-1):(s.pixel=e[1]-t[1],s.pixelLength=r.height,s.pixelStart=r.y,s.signal=a.inverse?-1:1),s}};ks({getTargetSeries:function(t){var e=R();return t.eachComponent("dataZoom",function(t){t.eachTargetAxis(function(t,i,n){d(n.getAxisProxy(t.name,i).getTargetSeriesModels(),function(t){e.set(t.uid,t)})})}),e},modifyOutputEnd:!0,overallReset:function(t,e){t.eachComponent("dataZoom",function(t){t.eachTargetAxis(function(t,i,n){n.getAxisProxy(t.name,i).reset(n,e)}),t.eachTargetAxis(function(t,i,n){n.getAxisProxy(t.name,i).filterData(n,e)})}),t.eachComponent("dataZoom",function(t){var e=t.findRepresentativeAxisProxy(),i=e.getDataPercentWindow(),n=e.getDataValueWindow();t.setRawRange({start:i[0],end:i[1],startValue:n[0],endValue:n[1]},!0)})}}),Ps("dataZoom",function(t,e){var i=Iy(m(e.eachComponent,e,"dataZoom"),PN,function(t,e){return t.get(e.axisIndex)}),n=[];e.eachComponent({mainType:"dataZoom",query:t},function(t,e){n.push.apply(n,i(t).nodes)}),d(n,function(e,i){e.setRawRange({start:t.start,end:t.end,startValue:t.startValue,endValue:t.endValue})})});var tO=d,eO=function(t){var e=t&&t.visualMap;y(e)||(e=e?[e]:[]),tO(e,function(t){if(t){Hy(t,"splitList")&&!Hy(t,"pieces")&&(t.pieces=t.splitList,delete t.splitList);var e=t.pieces;e&&y(e)&&tO(e,function(t){w(t)&&(Hy(t,"start")&&!Hy(t,"min")&&(t.min=t.start),Hy(t,"end")&&!Hy(t,"max")&&(t.max=t.end))})}})};YM.registerSubTypeDefaulter("visualMap",function(t){return t.categories||(t.pieces?t.pieces.length>0:t.splitNumber>0)&&!t.calculable?"piecewise":"continuous"});var iO=IT.VISUAL.COMPONENT;Es(iO,{createOnAllSeries:!0,reset:function(t,e){var i=[];return e.eachComponent("visualMap",function(e){var n=t.pipelineContext;!e.isTargetSeries(t)||n&&n.large||i.push(qv(e.stateList,e.targetVisuals,m(e.getValueState,e),e.getDataDimension(t.getData())))}),i}}),Es(iO,{createOnAllSeries:!0,reset:function(t,e){var i=t.getData(),n=[];e.eachComponent("visualMap",function(e){if(e.isTargetSeries(t)){var o=e.getVisualMeta(m(Zy,null,t,e))||{stops:[],outerColors:[]},a=e.getDataDimension(i),r=i.getDimensionInfo(a);null!=r&&(o.dimension=r.index,n.push(o))}}),t.getData().setVisual("visualMeta",n)}});var nO={get:function(t,e,n){var o=i((oO[t]||{})[e]);return n&&y(o)?o[o.length-1]:o}},oO={color:{active:["#006edd","#e0ffff"],inactive:["rgba(0,0,0,0)"]},colorHue:{active:[0,360],inactive:[0,0]},colorSaturation:{active:[.3,1],inactive:[0,0]},colorLightness:{active:[.9,.5],inactive:[0,0]},colorAlpha:{active:[.3,1],inactive:[0,0]},opacity:{active:[.3,1],inactive:[0,0]},symbol:{active:["circle","roundRect","diamond"],inactive:["none"]},symbolSize:{active:[10,50],inactive:[0,0]}},aO=jC.mapVisual,rO=jC.eachVisual,sO=y,lO=d,uO=Bo,hO=Eo,cO=B,dO=Bs({type:"visualMap",dependencies:["series"],stateList:["inRange","outOfRange"],replacableOptionKeys:["inRange","outOfRange","target","controller","color"],dataBound:[-1/0,1/0],layoutMode:{type:"box",ignoreSize:!0},defaultOption:{show:!0,zlevel:0,z:4,seriesIndex:"all",min:0,max:200,dimension:null,inRange:null,outOfRange:null,left:0,right:null,top:null,bottom:0,itemWidth:null,itemHeight:null,inverse:!1,orient:"vertical",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",contentColor:"#5793f3",inactiveColor:"#aaa",borderWidth:0,padding:5,textGap:10,precision:0,color:null,formatter:null,text:null,textStyle:{color:"#333"}},init:function(t,e,i){this._dataExtent,this.targetVisuals={},this.controllerVisuals={},this.textStyleModel,this.itemSize,this.mergeDefaultAndTheme(t,i)},optionUpdated:function(t,e){var i=this.option;z_.canvasSupported||(i.realtime=!1),!e&&jv(i,t,this.replacableOptionKeys),this.textStyleModel=this.getModel("textStyle"),this.resetItemSize(),this.completeVisualOption()},resetVisual:function(t){var e=this.stateList;t=m(t,this),this.controllerVisuals=Xv(this.option.controller,e,t),this.targetVisuals=Xv(this.option.target,e,t)},getTargetSeriesIndices:function(){var t=this.option.seriesIndex,e=[];return null==t||"all"===t?this.ecModel.eachSeries(function(t,i){e.push(i)}):e=Di(t),e},eachTargetSeries:function(t,e){d(this.getTargetSeriesIndices(),function(i){t.call(e,this.ecModel.getSeriesByIndex(i))},this)},isTargetSeries:function(t){var e=!1;return this.eachTargetSeries(function(i){i===t&&(e=!0)}),e},formatValueText:function(t,e,i){function n(t){return t===l[0]?"min":t===l[1]?"max":(+t).toFixed(Math.min(s,20))}var o,a,r=this.option,s=r.precision,l=this.dataBound,u=r.formatter;return i=i||["<",">"],y(t)&&(t=t.slice(),o=!0),a=e?t:o?[n(t[0]),n(t[1])]:n(t),_(u)?u.replace("{value}",o?a[0]:a).replace("{value2}",o?a[1]:a):x(u)?o?u(t[0],t[1]):u(t):o?t[0]===l[0]?i[0]+" "+a[1]:t[1]===l[1]?i[1]+" "+a[0]:a[0]+" - "+a[1]:a},resetExtent:function(){var t=this.option,e=uO([t.min,t.max]);this._dataExtent=e},getDataDimension:function(t){var e=this.option.dimension,i=t.dimensions;if(null!=e||i.length){if(null!=e)return t.getDimension(e);for(var n=t.dimensions,o=n.length-1;o>=0;o--){var a=n[o];if(!t.getDimensionInfo(a).isCalculationCoord)return a}}},getExtent:function(){return this._dataExtent.slice()},completeVisualOption:function(){function t(t){sO(o.color)&&!t.inRange&&(t.inRange={color:o.color.slice().reverse()}),t.inRange=t.inRange||{color:e.get("gradientColor")},lO(this.stateList,function(e){var i=t[e];if(_(i)){var n=nO.get(i,"active",l);n?(t[e]={},t[e][i]=n):delete t[e]}},this)}var e=this.ecModel,o=this.option,a={inRange:o.inRange,outOfRange:o.outOfRange},r=o.target||(o.target={}),s=o.controller||(o.controller={});n(r,a),n(s,a);var l=this.isCategory();t.call(this,r),t.call(this,s),function(t,e,i){var n=t[e],o=t[i];n&&!o&&(o=t[i]={},lO(n,function(t,e){if(jC.isValidType(e)){var i=nO.get(e,"inactive",l);null!=i&&(o[e]=i,"color"!==e||o.hasOwnProperty("opacity")||o.hasOwnProperty("colorAlpha")||(o.opacity=[0,0]))}}))}.call(this,r,"inRange","outOfRange"),function(t){var e=(t.inRange||{}).symbol||(t.outOfRange||{}).symbol,n=(t.inRange||{}).symbolSize||(t.outOfRange||{}).symbolSize,o=this.get("inactiveColor");lO(this.stateList,function(a){var r=this.itemSize,s=t[a];s||(s=t[a]={color:l?o:[o]}),null==s.symbol&&(s.symbol=e&&i(e)||(l?"roundRect":["roundRect"])),null==s.symbolSize&&(s.symbolSize=n&&i(n)||(l?r[0]:[r[0],r[0]])),s.symbol=aO(s.symbol,function(t){return"none"===t||"square"===t?"roundRect":t});var u=s.symbolSize;if(null!=u){var h=-1/0;rO(u,function(t){t>h&&(h=t)}),s.symbolSize=aO(u,function(t){return hO(t,[0,h],[0,r[0]],!0)})}},this)}.call(this,s)},resetItemSize:function(){this.itemSize=[parseFloat(this.get("itemWidth")),parseFloat(this.get("itemHeight"))]},isCategory:function(){return!!this.option.categories},setSelected:cO,getValueState:cO,getVisualMeta:cO}),fO=[20,140],pO=dO.extend({type:"visualMap.continuous",defaultOption:{align:"auto",calculable:!1,range:null,realtime:!0,itemHeight:null,itemWidth:null,hoverLink:!0,hoverLinkDataSize:null,hoverLinkOnHandle:null},optionUpdated:function(t,e){pO.superApply(this,"optionUpdated",arguments),this.resetExtent(),this.resetVisual(function(t){t.mappingMethod="linear",t.dataExtent=this.getExtent()}),this._resetRange()},resetItemSize:function(){pO.superApply(this,"resetItemSize",arguments);var t=this.itemSize;"horizontal"===this._orient&&t.reverse(),(null==t[0]||isNaN(t[0]))&&(t[0]=fO[0]),(null==t[1]||isNaN(t[1]))&&(t[1]=fO[1])},_resetRange:function(){var t=this.getExtent(),e=this.option.range;!e||e.auto?(t.auto=1,this.option.range=t):y(e)&&(e[0]>e[1]&&e.reverse(),e[0]=Math.max(e[0],t[0]),e[1]=Math.min(e[1],t[1]))},completeVisualOption:function(){dO.prototype.completeVisualOption.apply(this,arguments),d(this.stateList,function(t){var e=this.option.controller[t].symbolSize;e&&e[0]!==e[1]&&(e[0]=0)},this)},setSelected:function(t){this.option.range=t.slice(),this._resetRange()},getSelected:function(){var t=this.getExtent(),e=Bo((this.get("range")||[]).slice());return e[0]>t[1]&&(e[0]=t[1]),e[1]>t[1]&&(e[1]=t[1]),e[0]<t[0]&&(e[0]=t[0]),e[1]<t[0]&&(e[1]=t[0]),e},getValueState:function(t){var e=this.option.range,i=this.getExtent();return(e[0]<=i[0]||e[0]<=t)&&(e[1]>=i[1]||t<=e[1])?"inRange":"outOfRange"},findTargetDataIndices:function(t){var e=[];return this.eachTargetSeries(function(i){var n=[],o=i.getData();o.each(this.getDataDimension(o),function(e,i){t[0]<=e&&e<=t[1]&&n.push(i)},this),e.push({seriesId:i.id,dataIndex:n})},this),e},getVisualMeta:function(t){function e(e,i){o.push({value:e,color:t(e,i)})}for(var i=Uy(0,0,this.getExtent()),n=Uy(0,0,this.option.range.slice()),o=[],a=0,r=0,s=n.length,l=i.length;r<l&&(!n.length||i[r]<=n[0]);r++)i[r]<n[a]&&e(i[r],"outOfRange");for(u=1;a<s;a++,u=0)u&&o.length&&e(n[a],"outOfRange"),e(n[a],"inRange");for(var u=1;r<l;r++)(!n.length||n[n.length-1]<i[r])&&(u&&(o.length&&e(o[o.length-1].value,"outOfRange"),u=0),e(i[r],"outOfRange"));var h=o.length;return{stops:o,outerColors:[h?o[0].color:"transparent",h?o[h-1].color:"transparent"]}}}),gO=Vs({type:"visualMap",autoPositionValues:{left:1,right:1,top:1,bottom:1},init:function(t,e){this.ecModel=t,this.api=e,this.visualMapModel},render:function(t,e,i,n){this.visualMapModel=t,!1!==t.get("show")?this.doRender.apply(this,arguments):this.group.removeAll()},renderBackground:function(t){var e=this.visualMapModel,i=OM(e.get("padding")||0),n=t.getBoundingRect();t.add(new aM({z2:-1,silent:!0,shape:{x:n.x-i[3],y:n.y-i[0],width:n.width+i[3]+i[1],height:n.height+i[0]+i[2]},style:{fill:e.get("backgroundColor"),stroke:e.get("borderColor"),lineWidth:e.get("borderWidth")}}))},getControllerVisual:function(t,e,i){function n(t){return s[t]}function o(t,e){s[t]=e}var a=(i=i||{}).forceState,r=this.visualMapModel,s={};if("symbol"===e&&(s.symbol=r.get("itemSymbol")),"color"===e){var l=r.get("contentColor");s.color=l}var u=r.controllerVisuals[a||r.getValueState(t)];return d(jC.prepareVisualTypes(u),function(a){var r=u[a];i.convertOpacityToAlpha&&"opacity"===a&&(a="colorAlpha",r=u.__alphaForOpacity),jC.dependsOn(a,e)&&r&&r.applyVisual(t,n,o)}),s[e]},positionGroup:function(t){var e=this.visualMapModel,i=this.api;ua(t,e.getBoxLayoutParams(),{width:i.getWidth(),height:i.getHeight()})},doRender:B}),mO=Eo,vO=d,yO=Math.min,xO=Math.max,_O=12,wO=6,bO=gO.extend({type:"visualMap.continuous",init:function(){bO.superApply(this,"init",arguments),this._shapes={},this._dataInterval=[],this._handleEnds=[],this._orient,this._useHandle,this._hoverLinkDataIndices=[],this._dragging,this._hovering},doRender:function(t,e,i,n){n&&"selectDataRange"===n.type&&n.from===this.uid||this._buildView()},_buildView:function(){this.group.removeAll();var t=this.visualMapModel,e=this.group;this._orient=t.get("orient"),this._useHandle=t.get("calculable"),this._resetInterval(),this._renderBar(e);var i=t.get("text");this._renderEndsText(e,i,0),this._renderEndsText(e,i,1),this._updateView(!0),this.renderBackground(e),this._updateView(),this._enableHoverLinkToSeries(),this._enableHoverLinkFromSeries(),this.positionGroup(e)},_renderEndsText:function(t,e,i){if(e){var n=e[1-i];n=null!=n?n+"":"";var o=this.visualMapModel,a=o.get("textGap"),r=o.itemSize,s=this._shapes.barGroup,l=this._applyTransform([r[0]/2,0===i?-a:r[1]+a],s),u=this._applyTransform(0===i?"bottom":"top",s),h=this._orient,c=this.visualMapModel.textStyleModel;this.group.add(new qS({style:{x:l[0],y:l[1],textVerticalAlign:"horizontal"===h?"middle":u,textAlign:"horizontal"===h?u:"center",text:n,textFont:c.getFont(),textFill:c.getTextColor()}}))}},_renderBar:function(t){var e=this.visualMapModel,i=this._shapes,n=e.itemSize,o=this._orient,a=this._useHandle,r=Xy(e,this.api,n),s=i.barGroup=this._createBarGroup(r);s.add(i.outOfRange=Yy()),s.add(i.inRange=Yy(null,a?Qy(this._orient):null,m(this._dragHandle,this,"all",!1),m(this._dragHandle,this,"all",!0)));var l=e.textStyleModel.getTextRect("国"),u=xO(l.width,l.height);a&&(i.handleThumbs=[],i.handleLabels=[],i.handleLabelPoints=[],this._createHandle(s,0,n,u,o,r),this._createHandle(s,1,n,u,o,r)),this._createIndicator(s,n,u,o),t.add(s)},_createHandle:function(t,e,i,n,o){var a=m(this._dragHandle,this,e,!1),r=m(this._dragHandle,this,e,!0),s=Yy(qy(e,n),Qy(this._orient),a,r);s.position[0]=i[0],t.add(s);var l=this.visualMapModel.textStyleModel,u=new qS({draggable:!0,drift:a,onmousemove:function(t){lw(t.event)},ondragend:r,style:{x:0,y:0,text:"",textFont:l.getFont(),textFill:l.getTextColor()}});this.group.add(u);var h=["horizontal"===o?n/2:1.5*n,"horizontal"===o?0===e?-1.5*n:1.5*n:0===e?-n/2:n/2],c=this._shapes;c.handleThumbs[e]=s,c.handleLabelPoints[e]=h,c.handleLabels[e]=u},_createIndicator:function(t,e,i,n){var o=Yy([[0,0]],"move");o.position[0]=e[0],o.attr({invisible:!0,silent:!0}),t.add(o);var a=this.visualMapModel.textStyleModel,r=new qS({silent:!0,invisible:!0,style:{x:0,y:0,text:"",textFont:a.getFont(),textFill:a.getTextColor()}});this.group.add(r);var s=["horizontal"===n?i/2:wO+3,0],l=this._shapes;l.indicator=o,l.indicatorLabel=r,l.indicatorLabelPoint=s},_dragHandle:function(t,e,i,n){if(this._useHandle){if(this._dragging=!e,!e){var o=this._applyTransform([i,n],this._shapes.barGroup,!0);this._updateInterval(t,o[1]),this._updateView()}e===!this.visualMapModel.get("realtime")&&this.api.dispatchAction({type:"selectDataRange",from:this.uid,visualMapId:this.visualMapModel.id,selected:this._dataInterval.slice()}),e?!this._hovering&&this._clearHoverLinkToSeries():Jy(this.visualMapModel)&&this._doHoverLinkToSeries(this._handleEnds[t],!1)}},_resetInterval:function(){var t=this.visualMapModel,e=this._dataInterval=t.getSelected(),i=t.getExtent(),n=[0,t.itemSize[1]];this._handleEnds=[mO(e[0],i,n,!0),mO(e[1],i,n,!0)]},_updateInterval:function(t,e){e=e||0;var i=this.visualMapModel,n=this._handleEnds,o=[0,i.itemSize[1]];EL(e,n,o,t,0);var a=i.getExtent();this._dataInterval=[mO(n[0],o,a,!0),mO(n[1],o,a,!0)]},_updateView:function(t){var e=this.visualMapModel,i=e.getExtent(),n=this._shapes,o=[0,e.itemSize[1]],a=t?o:this._handleEnds,r=this._createBarVisual(this._dataInterval,i,a,"inRange"),s=this._createBarVisual(i,i,o,"outOfRange");n.inRange.setStyle({fill:r.barColor,opacity:r.opacity}).setShape("points",r.barPoints),n.outOfRange.setStyle({fill:s.barColor,opacity:s.opacity}).setShape("points",s.barPoints),this._updateHandle(a,r)},_createBarVisual:function(t,e,i,n){var o={forceState:n,convertOpacityToAlpha:!0},a=this._makeColorGradient(t,o),r=[this.getControllerVisual(t[0],"symbolSize",o),this.getControllerVisual(t[1],"symbolSize",o)],s=this._createBarPoints(i,r);return{barColor:new dM(0,0,0,1,a),barPoints:s,handlesColor:[a[0].color,a[a.length-1].color]}},_makeColorGradient:function(t,e){var i=[],n=(t[1]-t[0])/100;i.push({color:this.getControllerVisual(t[0],"color",e),offset:0});for(var o=1;o<100;o++){var a=t[0]+n*o;if(a>t[1])break;i.push({color:this.getControllerVisual(a,"color",e),offset:o/100})}return i.push({color:this.getControllerVisual(t[1],"color",e),offset:1}),i},_createBarPoints:function(t,e){var i=this.visualMapModel.itemSize;return[[i[0]-e[0],t[0]],[i[0],t[0]],[i[0],t[1]],[i[0]-e[1],t[1]]]},_createBarGroup:function(t){var e=this._orient,i=this.visualMapModel.get("inverse");return new Zw("horizontal"!==e||i?"horizontal"===e&&i?{scale:"bottom"===t?[-1,1]:[1,1],rotation:-Math.PI/2}:"vertical"!==e||i?{scale:"left"===t?[1,1]:[-1,1]}:{scale:"left"===t?[1,-1]:[-1,-1]}:{scale:"bottom"===t?[1,1]:[-1,1],rotation:Math.PI/2})},_updateHandle:function(t,e){if(this._useHandle){var i=this._shapes,n=this.visualMapModel,o=i.handleThumbs,a=i.handleLabels;vO([0,1],function(r){var s=o[r];s.setStyle("fill",e.handlesColor[r]),s.position[1]=t[r];var l=Io(i.handleLabelPoints[r],Mo(s,this.group));a[r].setStyle({x:l[0],y:l[1],text:n.formatValueText(this._dataInterval[r]),textVerticalAlign:"middle",textAlign:this._applyTransform("horizontal"===this._orient?0===r?"bottom":"top":"left",i.barGroup)})},this)}},_showIndicator:function(t,e,i,n){var o=this.visualMapModel,a=o.getExtent(),r=o.itemSize,s=[0,r[1]],l=mO(t,a,s,!0),u=this._shapes,h=u.indicator;if(h){h.position[1]=l,h.attr("invisible",!1),h.setShape("points",Ky(!!i,n,l,r[1]));var c={convertOpacityToAlpha:!0},d=this.getControllerVisual(t,"color",c);h.setStyle("fill",d);var f=Io(u.indicatorLabelPoint,Mo(h,this.group)),p=u.indicatorLabel;p.attr("invisible",!1);var g=this._applyTransform("left",u.barGroup),m=this._orient;p.setStyle({text:(i||"")+o.formatValueText(e),textVerticalAlign:"horizontal"===m?g:"middle",textAlign:"horizontal"===m?"center":g,x:f[0],y:f[1]})}},_enableHoverLinkToSeries:function(){var t=this;this._shapes.barGroup.on("mousemove",function(e){if(t._hovering=!0,!t._dragging){var i=t.visualMapModel.itemSize,n=t._applyTransform([e.offsetX,e.offsetY],t._shapes.barGroup,!0,!0);n[1]=yO(xO(0,n[1]),i[1]),t._doHoverLinkToSeries(n[1],0<=n[0]&&n[0]<=i[0])}}).on("mouseout",function(){t._hovering=!1,!t._dragging&&t._clearHoverLinkToSeries()})},_enableHoverLinkFromSeries:function(){var t=this.api.getZr();this.visualMapModel.option.hoverLink?(t.on("mouseover",this._hoverLinkFromSeriesMouseOver,this),t.on("mouseout",this._hideIndicator,this)):this._clearHoverLinkFromSeries()},_doHoverLinkToSeries:function(t,e){var i=this.visualMapModel,n=i.itemSize;if(i.option.hoverLink){var o=[0,n[1]],a=i.getExtent();t=yO(xO(o[0],t),o[1]);var r=$y(i,a,o),s=[t-r,t+r],l=mO(t,o,a,!0),u=[mO(s[0],o,a,!0),mO(s[1],o,a,!0)];s[0]<o[0]&&(u[0]=-1/0),s[1]>o[1]&&(u[1]=1/0),e&&(u[0]===-1/0?this._showIndicator(l,u[1],"< ",r):u[1]===1/0?this._showIndicator(l,u[0],"> ",r):this._showIndicator(l,l,"≈ ",r));var h=this._hoverLinkDataIndices,c=[];(e||Jy(i))&&(c=this._hoverLinkDataIndices=i.findTargetDataIndices(u));var d=Ri(h,c);this._dispatchHighDown("downplay",jy(d[0])),this._dispatchHighDown("highlight",jy(d[1]))}},_hoverLinkFromSeriesMouseOver:function(t){var e=t.target,i=this.visualMapModel;if(e&&null!=e.dataIndex){var n=this.ecModel.getSeriesByIndex(e.seriesIndex);if(i.isTargetSeries(n)){var o=n.getData(e.dataType),a=o.get(i.getDataDimension(o),e.dataIndex,!0);isNaN(a)||this._showIndicator(a,a)}}},_hideIndicator:function(){var t=this._shapes;t.indicator&&t.indicator.attr("invisible",!0),t.indicatorLabel&&t.indicatorLabel.attr("invisible",!0)},_clearHoverLinkToSeries:function(){this._hideIndicator();var t=this._hoverLinkDataIndices;this._dispatchHighDown("downplay",jy(t)),t.length=0},_clearHoverLinkFromSeries:function(){this._hideIndicator();var t=this.api.getZr();t.off("mouseover",this._hoverLinkFromSeriesMouseOver),t.off("mouseout",this._hideIndicator)},_applyTransform:function(t,e,i,n){var o=Mo(e,n?null:this.group);return bM[y(t)?"applyTransform":"transformDirection"](t,o,i)},_dispatchHighDown:function(t,e){e&&e.length&&this.api.dispatchAction({type:t,batch:e})},dispose:function(){this._clearHoverLinkFromSeries(),this._clearHoverLinkToSeries()},remove:function(){this._clearHoverLinkFromSeries(),this._clearHoverLinkToSeries()}});Ps({type:"selectDataRange",event:"dataRangeSelected",update:"update"},function(t,e){e.eachComponent({mainType:"visualMap",query:t},function(e){e.setSelected(t.selected)})}),Ls(eO);var SO=dO.extend({type:"visualMap.piecewise",defaultOption:{selected:null,minOpen:!1,maxOpen:!1,align:"auto",itemWidth:20,itemHeight:14,itemSymbol:"roundRect",pieceList:null,categories:null,splitNumber:5,selectedMode:"multiple",itemGap:10,hoverLink:!0,showLabel:null},optionUpdated:function(t,e){SO.superApply(this,"optionUpdated",arguments),this._pieceList=[],this.resetExtent();var n=this._mode=this._determineMode();MO[this._mode].call(this),this._resetSelected(t,e);var o=this.option.categories;this.resetVisual(function(t,e){"categories"===n?(t.mappingMethod="category",t.categories=i(o)):(t.dataExtent=this.getExtent(),t.mappingMethod="piecewise",t.pieceList=f(this._pieceList,function(t){var t=i(t);return"inRange"!==e&&(t.visual=null),t}))})},completeVisualOption:function(){function t(t,e,i){return t&&t[e]&&(w(t[e])?t[e].hasOwnProperty(i):t[e]===i)}var e=this.option,i={},n=jC.listVisualTypes(),o=this.isCategory();d(e.pieces,function(t){d(n,function(e){t.hasOwnProperty(e)&&(i[e]=1)})}),d(i,function(i,n){var a=0;d(this.stateList,function(i){a|=t(e,i,n)||t(e.target,i,n)},this),!a&&d(this.stateList,function(t){(e[t]||(e[t]={}))[n]=nO.get(n,"inRange"===t?"active":"inactive",o)})},this),dO.prototype.completeVisualOption.apply(this,arguments)},_resetSelected:function(t,e){var i=this.option,n=this._pieceList,o=(e?i:t).selected||{};if(i.selected=o,d(n,function(t,e){var i=this.getSelectedMapKey(t);o.hasOwnProperty(i)||(o[i]=!0)},this),"single"===i.selectedMode){var a=!1;d(n,function(t,e){var i=this.getSelectedMapKey(t);o[i]&&(a?o[i]=!1:a=!0)},this)}},getSelectedMapKey:function(t){return"categories"===this._mode?t.value+"":t.index+""},getPieceList:function(){return this._pieceList},_determineMode:function(){var t=this.option;return t.pieces&&t.pieces.length>0?"pieces":this.option.categories?"categories":"splitNumber"},setSelected:function(t){this.option.selected=i(t)},getValueState:function(t){var e=jC.findPieceIndex(t,this._pieceList);return null!=e&&this.option.selected[this.getSelectedMapKey(this._pieceList[e])]?"inRange":"outOfRange"},findTargetDataIndices:function(t){var e=[];return this.eachTargetSeries(function(i){var n=[],o=i.getData();o.each(this.getDataDimension(o),function(e,i){jC.findPieceIndex(e,this._pieceList)===t&&n.push(i)},this),e.push({seriesId:i.id,dataIndex:n})},this),e},getRepresentValue:function(t){var e;if(this.isCategory())e=t.value;else if(null!=t.value)e=t.value;else{var i=t.interval||[];e=i[0]===-1/0&&i[1]===1/0?0:(i[0]+i[1])/2}return e},getVisualMeta:function(t){function e(e,a){var r=o.getRepresentValue({interval:e});a||(a=o.getValueState(r));var s=t(r,a);e[0]===-1/0?n[0]=s:e[1]===1/0?n[1]=s:i.push({value:e[0],color:s},{value:e[1],color:s})}if(!this.isCategory()){var i=[],n=[],o=this,a=this._pieceList.slice();if(a.length){var r=a[0].interval[0];r!==-1/0&&a.unshift({interval:[-1/0,r]}),(r=a[a.length-1].interval[1])!==1/0&&a.push({interval:[r,1/0]})}else a.push({interval:[-1/0,1/0]});var s=-1/0;return d(a,function(t){var i=t.interval;i&&(i[0]>s&&e([s,i[0]],"outOfRange"),e(i.slice()),s=i[1])},this),{stops:i,outerColors:n}}}}),MO={splitNumber:function(){var t=this.option,e=this._pieceList,i=Math.min(t.precision,20),n=this.getExtent(),o=t.splitNumber;o=Math.max(parseInt(o,10),1),t.splitNumber=o;for(var a=(n[1]-n[0])/o;+a.toFixed(i)!==a&&i<5;)i++;t.precision=i,a=+a.toFixed(i);var r=0;t.minOpen&&e.push({index:r++,interval:[-1/0,n[0]],close:[0,0]});for(var s=n[0],l=r+o;r<l;s+=a){var u=r===o-1?n[1]:s+a;e.push({index:r++,interval:[s,u],close:[1,1]})}t.maxOpen&&e.push({index:r++,interval:[n[1],1/0],close:[0,0]}),qo(e),d(e,function(t){t.text=this.formatValueText(t.interval)},this)},categories:function(){var t=this.option;d(t.categories,function(t){this._pieceList.push({text:this.formatValueText(t,!0),value:t})},this),tx(t,this._pieceList)},pieces:function(){var t=this.option,e=this._pieceList;d(t.pieces,function(t,i){w(t)||(t={value:t});var n={text:"",index:i};if(null!=t.label&&(n.text=t.label),t.hasOwnProperty("value")){var o=n.value=t.value;n.interval=[o,o],n.close=[1,1]}else{for(var a=n.interval=[],r=n.close=[0,0],s=[1,0,1],l=[-1/0,1/0],u=[],h=0;h<2;h++){for(var c=[["gte","gt","min"],["lte","lt","max"]][h],d=0;d<3&&null==a[h];d++)a[h]=t[c[d]],r[h]=s[d],u[h]=2===d;null==a[h]&&(a[h]=l[h])}u[0]&&a[1]===1/0&&(r[0]=0),u[1]&&a[0]===-1/0&&(r[1]=0),a[0]===a[1]&&r[0]&&r[1]&&(n.value=a[0])}n.visual=jC.retrieveVisuals(t),e.push(n)},this),tx(t,e),qo(e),d(e,function(t){var e=t.close,i=[["<","≤"][e[1]],[">","≥"][e[0]]];t.text=t.text||this.formatValueText(null!=t.value?t.value:t.interval,!1,i)},this)}};gO.extend({type:"visualMap.piecewise",doRender:function(){var t=this.group;t.removeAll();var e=this.visualMapModel,i=e.get("textGap"),n=e.textStyleModel,o=n.getFont(),a=n.getTextColor(),r=this._getItemAlign(),s=e.itemSize,l=this._getViewData(),u=l.endsText,h=T(e.get("showLabel",!0),!u);u&&this._renderEndsText(t,u[0],s,h,r),d(l.viewPieceList,function(n){var l=n.piece,u=new Zw;u.onclick=m(this._onItemClick,this,l),this._enableHoverLink(u,n.indexInModelPieceList);var c=e.getRepresentValue(l);if(this._createItemSymbol(u,c,[0,0,s[0],s[1]]),h){var d=this.visualMapModel.getValueState(c);u.add(new qS({style:{x:"right"===r?-i:s[0]+i,y:s[1]/2,text:l.text,textVerticalAlign:"middle",textAlign:r,textFont:o,textFill:a,opacity:"outOfRange"===d?.5:1}}))}t.add(u)},this),u&&this._renderEndsText(t,u[1],s,h,r),UM(e.get("orient"),t,e.get("itemGap")),this.renderBackground(t),this.positionGroup(t)},_enableHoverLink:function(t,e){function i(t){var i=this.visualMapModel;i.option.hoverLink&&this.api.dispatchAction({type:t,batch:jy(i.findTargetDataIndices(e))})}t.on("mouseover",m(i,this,"highlight")).on("mouseout",m(i,this,"downplay"))},_getItemAlign:function(){var t=this.visualMapModel,e=t.option;if("vertical"===e.orient)return Xy(t,this.api,t.itemSize);var i=e.align;return i&&"auto"!==i||(i="left"),i},_renderEndsText:function(t,e,i,n,o){if(e){var a=new Zw,r=this.visualMapModel.textStyleModel;a.add(new qS({style:{x:n?"right"===o?i[0]:0:i[0]/2,y:i[1]/2,textVerticalAlign:"middle",textAlign:n?o:"center",text:e,textFont:r.getFont(),textFill:r.getTextColor()}})),t.add(a)}},_getViewData:function(){var t=this.visualMapModel,e=f(t.getPieceList(),function(t,e){return{piece:t,indexInModelPieceList:e}}),i=t.get("text"),n=t.get("orient"),o=t.get("inverse");return("horizontal"===n?o:!o)?e.reverse():i&&(i=i.slice().reverse()),{viewPieceList:e,endsText:i}},_createItemSymbol:function(t,e,i){t.add(Xl(this.getControllerVisual(e,"symbol"),i[0],i[1],i[2],i[3],this.getControllerVisual(e,"color")))},_onItemClick:function(t){var e=this.visualMapModel,n=e.option,o=i(n.selected),a=e.getSelectedMapKey(t);"single"===n.selectedMode?(o[a]=!0,d(o,function(t,e){o[e]=e===a})):o[a]=!o[a],this.api.dispatchAction({type:"selectDataRange",from:this.uid,visualMapId:this.visualMapModel.id,selected:o})}});Ls(eO);var IO=$o,TO=Qo,AO=Bs({type:"marker",dependencies:["series","grid","polar","geo"],init:function(t,e,i,n){this.mergeDefaultAndTheme(t,i),this.mergeOption(t,i,n.createdBySelf,!0)},isAnimationEnabled:function(){if(z_.node)return!1;var t=this.__hostSeries;return this.getShallow("animation")&&t&&t.isAnimationEnabled()},mergeOption:function(t,e,i,n){var o=this.constructor,r=this.mainType+"Model";i||e.eachSeries(function(t){var i=t.get(this.mainType,!0),s=t[r];i&&i.data?(s?s.mergeOption(i,e,!0):(n&&ex(i),d(i.data,function(t){t instanceof Array?(ex(t[0]),ex(t[1])):ex(t)}),a(s=new o(i,this,e),{mainType:this.mainType,seriesIndex:t.seriesIndex,name:t.name,createdBySelf:!0}),s.__hostSeries=t),t[r]=s):t[r]=null},this)},formatTooltip:function(t){var e=this.getData(),i=this.getRawValue(t),n=y(i)?f(i,IO).join(", "):IO(i),o=e.getName(t),a=TO(this.name);return(null!=i||o)&&(a+="<br />"),o&&(a+=TO(o),null!=i&&(a+=" : ")),null!=i&&(a+=TO(n)),a},getData:function(){return this._data},setData:function(t){this._data=t}});h(AO,LI),AO.extend({type:"markPoint",defaultOption:{zlevel:0,z:5,symbol:"pin",symbolSize:50,tooltip:{trigger:"item"},label:{show:!0,position:"inside"},itemStyle:{borderWidth:2},emphasis:{label:{show:!0}}}});var DO=l,CO=v,LO={min:CO(ox,"min"),max:CO(ox,"max"),average:CO(ox,"average")},kO=Vs({type:"marker",init:function(){this.markerGroupMap=R()},render:function(t,e,i){var n=this.markerGroupMap;n.each(function(t){t.__keep=!1});var o=this.type+"Model";e.eachSeries(function(t){var n=t[o];n&&this.renderSeries(t,n,e,i)},this),n.each(function(t){!t.__keep&&this.group.remove(t.group)},this)},renderSeries:function(){}});kO.extend({type:"markPoint",updateTransform:function(t,e,i){e.eachSeries(function(t){var e=t.markPointModel;e&&(cx(e.getData(),t,i),this.markerGroupMap.get(t.id).updateLayout(e))},this)},renderSeries:function(t,e,i,n){var o=t.coordinateSystem,a=t.id,r=t.getData(),s=this.markerGroupMap,l=s.get(a)||s.set(a,new Su),u=dx(o,t,e);e.setData(u),cx(e.getData(),t,n),u.each(function(t){var i=u.getItemModel(t),n=i.getShallow("symbolSize");"function"==typeof n&&(n=n(e.getRawValue(t),e.getDataParams(t))),u.setItemVisual(t,{symbolSize:n,color:i.get("itemStyle.color")||r.getVisual("color"),symbol:i.getShallow("symbol")})}),l.updateData(u),this.group.add(l.group),u.eachItemGraphicEl(function(t){t.traverse(function(t){t.dataModel=e})}),l.__keep=!0,l.group.silent=e.get("silent")||t.get("silent")}}),Ls(function(t){t.markPoint=t.markPoint||{}}),AO.extend({type:"markLine",defaultOption:{zlevel:0,z:5,symbol:["circle","arrow"],symbolSize:[8,16],precision:2,tooltip:{trigger:"item"},label:{show:!0,position:"end"},lineStyle:{type:"dashed"},emphasis:{label:{show:!0},lineStyle:{width:3}},animationEasing:"linear"}});var PO=function(t,e,o,r){var s=t.getData(),l=r.type;if(!y(r)&&("min"===l||"max"===l||"average"===l||"median"===l||null!=r.xAxis||null!=r.yAxis)){var u,h;if(null!=r.yAxis||null!=r.xAxis)u=null!=r.yAxis?"y":"x",e.getAxis(u),h=T(r.yAxis,r.xAxis);else{var c=rx(r,s,e,t);u=c.valueDataDim,c.valueAxis,h=hx(s,u,l)}var d="x"===u?0:1,f=1-d,p=i(r),g={};p.type=null,p.coord=[],g.coord=[],p.coord[f]=-1/0,g.coord[f]=1/0;var m=o.get("precision");m>=0&&"number"==typeof h&&(h=+h.toFixed(Math.min(m,20))),p.coord[d]=g.coord[d]=h,r=[p,g,{type:l,valueIndex:r.valueIndex,value:h}]}return r=[ax(t,r[0]),ax(t,r[1]),a({},r[2])],r[2].type=r[2].type||"",n(r[2],r[0]),n(r[2],r[1]),r};kO.extend({type:"markLine",updateTransform:function(t,e,i){e.eachSeries(function(t){var e=t.markLineModel;if(e){var n=e.getData(),o=e.__from,a=e.__to;o.each(function(e){mx(o,e,!0,t,i),mx(a,e,!1,t,i)}),n.each(function(t){n.setItemLayout(t,[o.getItemLayout(t),a.getItemLayout(t)])}),this.markerGroupMap.get(t.id).updateLayout()}},this)},renderSeries:function(t,e,i,n){function o(e,i,o){var a=e.getItemModel(i);mx(e,i,o,t,n),e.setItemVisual(i,{symbolSize:a.get("symbolSize")||g[o?0:1],symbol:a.get("symbol",!0)||p[o?0:1],color:a.get("itemStyle.color")||s.getVisual("color")})}var a=t.coordinateSystem,r=t.id,s=t.getData(),l=this.markerGroupMap,u=l.get(r)||l.set(r,new Jd);this.group.add(u.group);var h=vx(a,t,e),c=h.from,d=h.to,f=h.line;e.__from=c,e.__to=d,e.setData(f);var p=e.get("symbol"),g=e.get("symbolSize");y(p)||(p=[p,p]),"number"==typeof g&&(g=[g,g]),h.from.each(function(t){o(c,t,!0),o(d,t,!1)}),f.each(function(t){var e=f.getItemModel(t).get("lineStyle.color");f.setItemVisual(t,{color:e||c.getItemVisual(t,"color")}),f.setItemLayout(t,[c.getItemLayout(t),d.getItemLayout(t)]),f.setItemVisual(t,{fromSymbolSize:c.getItemVisual(t,"symbolSize"),fromSymbol:c.getItemVisual(t,"symbol"),toSymbolSize:d.getItemVisual(t,"symbolSize"),toSymbol:d.getItemVisual(t,"symbol")})}),u.updateData(f),h.line.eachItemGraphicEl(function(t,i){t.traverse(function(t){t.dataModel=e})}),u.__keep=!0,u.group.silent=e.get("silent")||t.get("silent")}}),Ls(function(t){t.markLine=t.markLine||{}}),AO.extend({type:"markArea",defaultOption:{zlevel:0,z:1,tooltip:{trigger:"item"},animation:!1,label:{show:!0,position:"top"},itemStyle:{borderWidth:0},emphasis:{label:{show:!0,position:"top"}}}});var NO=function(t,e,i,n){var a=ax(t,n[0]),r=ax(t,n[1]),s=T,l=a.coord,u=r.coord;l[0]=s(l[0],-1/0),l[1]=s(l[1],-1/0),u[0]=s(u[0],1/0),u[1]=s(u[1],1/0);var h=o([{},a,r]);return h.coord=[a.coord,r.coord],h.x0=a.x,h.y0=a.y,h.x1=r.x,h.y1=r.y,h},OO=[["x0","y0"],["x1","y0"],["x1","y1"],["x0","y1"]];kO.extend({type:"markArea",updateTransform:function(t,e,i){e.eachSeries(function(t){var e=t.markAreaModel;if(e){var n=e.getData();n.each(function(e){var o=f(OO,function(o){return bx(n,e,o,t,i)});n.setItemLayout(e,o),n.getItemGraphicEl(e).setShape("points",o)})}},this)},renderSeries:function(t,e,i,n){var o=t.coordinateSystem,a=t.id,s=t.getData(),l=this.markerGroupMap,u=l.get(a)||l.set(a,{group:new Zw});this.group.add(u.group),u.__keep=!0;var h=Sx(o,t,e);e.setData(h),h.each(function(e){h.setItemLayout(e,f(OO,function(i){return bx(h,e,i,t,n)})),h.setItemVisual(e,{color:s.getVisual("color")})}),h.diff(u.__data).add(function(t){var e=new nM({shape:{points:h.getItemLayout(t)}});h.setItemGraphicEl(t,e),u.group.add(e)}).update(function(t,i){var n=u.__data.getItemGraphicEl(i);bo(n,{shape:{points:h.getItemLayout(t)}},e,t),u.group.add(n),h.setItemGraphicEl(t,n)}).remove(function(t){var e=u.__data.getItemGraphicEl(t);u.group.remove(e)}).execute(),h.eachItemGraphicEl(function(t,i){var n=h.getItemModel(i),o=n.getModel("label"),a=n.getModel("emphasis.label"),s=h.getItemVisual(i,"color");t.useStyle(r(n.getModel("itemStyle").getItemStyle(),{fill:Ut(s,.4),stroke:s})),t.hoverStyle=n.getModel("emphasis.itemStyle").getItemStyle(),co(t.style,t.hoverStyle,o,a,{labelFetcher:e,labelDataIndex:i,defaultText:h.getName(i)||"",isRectText:!0,autoColor:s}),uo(t,{}),t.dataModel=e}),u.__data=h,u.group.silent=e.get("silent")||t.get("silent")}}),Ls(function(t){t.markArea=t.markArea||{}});YM.registerSubTypeDefaulter("timeline",function(){return"slider"}),Ps({type:"timelineChange",event:"timelineChanged",update:"prepareAndUpdate"},function(t,e){var i=e.getComponent("timeline");return i&&null!=t.currentIndex&&(i.setCurrentIndex(t.currentIndex),!i.get("loop",!0)&&i.isIndexMax()&&i.setPlayState(!1)),e.resetOption("timeline"),r({currentIndex:i.option.currentIndex},t)}),Ps({type:"timelinePlayChange",event:"timelinePlayChanged",update:"update"},function(t,e){var i=e.getComponent("timeline");i&&null!=t.playState&&i.setPlayState(t.playState)});var EO=YM.extend({type:"timeline",layoutMode:"box",defaultOption:{zlevel:0,z:4,show:!0,axisType:"time",realtime:!0,left:"20%",top:null,right:"20%",bottom:0,width:null,height:40,padding:5,controlPosition:"left",autoPlay:!1,rewind:!1,loop:!0,playInterval:2e3,currentIndex:0,itemStyle:{},label:{color:"#000"},data:[]},init:function(t,e,i){this._data,this._names,this.mergeDefaultAndTheme(t,i),this._initData()},mergeOption:function(t){EO.superApply(this,"mergeOption",arguments),this._initData()},setCurrentIndex:function(t){null==t&&(t=this.option.currentIndex);var e=this._data.count();this.option.loop?t=(t%e+e)%e:(t>=e&&(t=e-1),t<0&&(t=0)),this.option.currentIndex=t},getCurrentIndex:function(){return this.option.currentIndex},isIndexMax:function(){return this.getCurrentIndex()>=this._data.count()-1},setPlayState:function(t){this.option.autoPlay=!!t},getPlayState:function(){return!!this.option.autoPlay},_initData:function(){var t=this.option,e=t.data||[],n=t.axisType,o=this._names=[];if("category"===n){var a=[];d(e,function(t,e){var n,r=Li(t);w(t)?(n=i(t)).value=e:n=e,a.push(n),_(r)||null!=r&&!isNaN(r)||(r=""),o.push(r+"")}),e=a}var r={category:"ordinal",time:"time"}[n]||"number";(this._data=new eA([{name:"value",type:r}],this)).initData(e,o)},getData:function(){return this._data},getCategories:function(){if("category"===this.get("axisType"))return this._names.slice()}});h(EO.extend({type:"timeline.slider",defaultOption:{backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,orient:"horizontal",inverse:!1,tooltip:{trigger:"item"},symbol:"emptyCircle",symbolSize:10,lineStyle:{show:!0,width:2,color:"#304654"},label:{position:"auto",show:!0,interval:"auto",rotate:0,color:"#304654"},itemStyle:{color:"#304654",borderWidth:1},checkpointStyle:{symbol:"circle",symbolSize:13,color:"#c23531",borderWidth:5,borderColor:"rgba(194,53,49, 0.5)",animation:!0,animationDuration:300,animationEasing:"quinticInOut"},controlStyle:{show:!0,showPlayBtn:!0,showPrevBtn:!0,showNextBtn:!0,itemSize:22,itemGap:12,position:"left",playIcon:"path://M31.6,53C17.5,53,6,41.5,6,27.4S17.5,1.8,31.6,1.8C45.7,1.8,57.2,13.3,57.2,27.4S45.7,53,31.6,53z M31.6,3.3 C18.4,3.3,7.5,14.1,7.5,27.4c0,13.3,10.8,24.1,24.1,24.1C44.9,51.5,55.7,40.7,55.7,27.4C55.7,14.1,44.9,3.3,31.6,3.3z M24.9,21.3 c0-2.2,1.6-3.1,3.5-2l10.5,6.1c1.899,1.1,1.899,2.9,0,4l-10.5,6.1c-1.9,1.1-3.5,0.2-3.5-2V21.3z",stopIcon:"path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5C17.6,3.5,6.8,14.4,6.8,27.6c0,13.3,10.8,24.1,24.101,24.1C44.2,51.7,55,40.9,55,27.6C54.9,14.4,44.1,3.5,30.9,3.5z M36.9,35.8c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H36c0.5,0,0.9,0.4,0.9,1V35.8z M27.8,35.8 c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H27c0.5,0,0.9,0.4,0.9,1L27.8,35.8L27.8,35.8z",nextIcon:"path://M18.6,50.8l22.5-22.5c0.2-0.2,0.3-0.4,0.3-0.7c0-0.3-0.1-0.5-0.3-0.7L18.7,4.4c-0.1-0.1-0.2-0.3-0.2-0.5 c0-0.4,0.3-0.8,0.8-0.8c0.2,0,0.5,0.1,0.6,0.3l23.5,23.5l0,0c0.2,0.2,0.3,0.4,0.3,0.7c0,0.3-0.1,0.5-0.3,0.7l-0.1,0.1L19.7,52 c-0.1,0.1-0.3,0.2-0.5,0.2c-0.4,0-0.8-0.3-0.8-0.8C18.4,51.2,18.5,51,18.6,50.8z",prevIcon:"path://M43,52.8L20.4,30.3c-0.2-0.2-0.3-0.4-0.3-0.7c0-0.3,0.1-0.5,0.3-0.7L42.9,6.4c0.1-0.1,0.2-0.3,0.2-0.5 c0-0.4-0.3-0.8-0.8-0.8c-0.2,0-0.5,0.1-0.6,0.3L18.3,28.8l0,0c-0.2,0.2-0.3,0.4-0.3,0.7c0,0.3,0.1,0.5,0.3,0.7l0.1,0.1L41.9,54 c0.1,0.1,0.3,0.2,0.5,0.2c0.4,0,0.8-0.3,0.8-0.8C43.2,53.2,43.1,53,43,52.8z",color:"#304654",borderColor:"#304654",borderWidth:1},emphasis:{label:{show:!0,color:"#c23531"},itemStyle:{color:"#c23531"},controlStyle:{color:"#c23531",borderColor:"#c23531",borderWidth:2}},data:[]}}),LI);var RO=EI.extend({type:"timeline"}),zO=function(t,e,i,n){HA.call(this,t,e,i),this.type=n||"value",this.model=null};zO.prototype={constructor:zO,getLabelModel:function(){return this.model.getModel("label")},isHorizontal:function(){return"horizontal"===this.model.get("orient")}},u(zO,HA);var BO=m,VO=d,GO=Math.PI;RO.extend({type:"timeline.slider",init:function(t,e){this.api=e,this._axis,this._viewRect,this._timer,this._currentPointer,this._mainGroup,this._labelGroup},render:function(t,e,i,n){if(this.model=t,this.api=i,this.ecModel=e,this.group.removeAll(),t.get("show",!0)){var o=this._layout(t,i),a=this._createGroup("mainGroup"),r=this._createGroup("labelGroup"),s=this._axis=this._createAxis(o,t);t.formatTooltip=function(t){return Qo(s.scale.getLabel(t))},VO(["AxisLine","AxisTick","Control","CurrentPointer"],function(e){this["_render"+e](o,a,s,t)},this),this._renderAxisLabel(o,r,s,t),this._position(o,t)}this._doPlayStop()},remove:function(){this._clearTimer(),this.group.removeAll()},dispose:function(){this._clearTimer()},_layout:function(t,e){var i=t.get("label.position"),n=t.get("orient"),o=Ax(t,e);null==i||"auto"===i?i="horizontal"===n?o.y+o.height/2<e.getHeight()/2?"-":"+":o.x+o.width/2<e.getWidth()/2?"+":"-":isNaN(i)&&(i={horizontal:{top:"-",bottom:"+"},vertical:{left:"-",right:"+"}}[n][i]);var a={horizontal:"center",vertical:i>=0||"+"===i?"left":"right"},r={horizontal:i>=0||"+"===i?"top":"bottom",vertical:"middle"},s={horizontal:0,vertical:GO/2},l="vertical"===n?o.height:o.width,u=t.getModel("controlStyle"),h=u.get("show",!0),c=h?u.get("itemSize"):0,d=h?u.get("itemGap"):0,f=c+d,p=t.get("label.rotate")||0;p=p*GO/180;var g,m,v,y,x=u.get("position",!0),_=h&&u.get("showPlayBtn",!0),w=h&&u.get("showPrevBtn",!0),b=h&&u.get("showNextBtn",!0),S=0,M=l;return"left"===x||"bottom"===x?(_&&(g=[0,0],S+=f),w&&(m=[S,0],S+=f),b&&(v=[M-c,0],M-=f)):(_&&(g=[M-c,0],M-=f),w&&(m=[0,0],S+=f),b&&(v=[M-c,0],M-=f)),y=[S,M],t.get("inverse")&&y.reverse(),{viewRect:o,mainLength:l,orient:n,rotation:s[n],labelRotation:p,labelPosOpt:i,labelAlign:t.get("label.align")||a[n],labelBaseline:t.get("label.verticalAlign")||t.get("label.baseline")||r[n],playPosition:g,prevBtnPosition:m,nextBtnPosition:v,axisExtent:y,controlSize:c,controlGap:d}},_position:function(t,e){function i(t){var e=t.position;t.origin=[c[0][0]-e[0],c[1][0]-e[1]]}function n(t){return[[t.x,t.x+t.width],[t.y,t.y+t.height]]}function o(t,e,i,n,o){t[n]+=i[n][o]-e[n][o]}var a=this._mainGroup,r=this._labelGroup,s=t.viewRect;if("vertical"===t.orient){var l=mt(),u=s.x,h=s.y+s.height;_t(l,l,[-u,-h]),wt(l,l,-GO/2),_t(l,l,[u,h]),(s=s.clone()).applyTransform(l)}var c=n(s),d=n(a.getBoundingRect()),f=n(r.getBoundingRect()),p=a.position,g=r.position;g[0]=p[0]=c[0][0];var m=t.labelPosOpt;if(isNaN(m))o(p,d,c,1,v="+"===m?0:1),o(g,f,c,1,1-v);else{var v=m>=0?0:1;o(p,d,c,1,v),g[1]=p[1]+m}a.attr("position",p),r.attr("position",g),a.rotation=r.rotation=t.rotation,i(a),i(r)},_createAxis:function(t,e){var i=e.getData(),n=e.get("axisType"),o=Vl(e,n);o.getTicks=function(){return i.mapArray(["value"],function(t){return t})};var a=i.getDataExtent("value");o.setExtent(a[0],a[1]),o.niceTicks();var r=new zO("value",o,t.axisExtent,n);return r.model=e,r},_createGroup:function(t){var e=this["_"+t]=new Zw;return this.group.add(e),e},_renderAxisLine:function(t,e,i,n){var o=i.getExtent();n.get("lineStyle.show")&&e.add(new rM({shape:{x1:o[0],y1:0,x2:o[1],y2:0},style:a({lineCap:"round"},n.getModel("lineStyle").getLineStyle()),silent:!0,z2:1}))},_renderAxisTick:function(t,e,i,n){var o=n.getData(),a=i.scale.getTicks();VO(a,function(t){var a=i.dataToCoord(t),r=o.getItemModel(t),s=r.getModel("itemStyle"),l=r.getModel("emphasis.itemStyle"),u={position:[a,0],onclick:BO(this._changeTimeline,this,t)},h=Cx(r,s,e,u);uo(h,l.getItemStyle()),r.get("tooltip")?(h.dataIndex=t,h.dataModel=n):h.dataIndex=h.dataModel=null},this)},_renderAxisLabel:function(t,e,i,n){if(i.getLabelModel().get("show")){var o=n.getData(),a=i.getViewLabels();VO(a,function(n){var a=n.tickValue,r=o.getItemModel(a),s=r.getModel("label"),l=r.getModel("emphasis.label"),u=i.dataToCoord(n.tickValue),h=new qS({position:[u,0],rotation:t.labelRotation-t.rotation,onclick:BO(this._changeTimeline,this,a),silent:!1});fo(h.style,s,{text:n.formattedLabel,textAlign:t.labelAlign,textVerticalAlign:t.labelBaseline}),e.add(h),uo(h,fo({},l))},this)}},_renderControl:function(t,e,i,n){function o(t,i,o,h){if(t){var c=Dx(n,i,u,{position:t,origin:[a/2,0],rotation:h?-r:0,rectHover:!0,style:s,onclick:o});e.add(c),uo(c,l)}}var a=t.controlSize,r=t.rotation,s=n.getModel("controlStyle").getItemStyle(),l=n.getModel("emphasis.controlStyle").getItemStyle(),u=[0,-a/2,a,a],h=n.getPlayState(),c=n.get("inverse",!0);o(t.nextBtnPosition,"controlStyle.nextIcon",BO(this._changeTimeline,this,c?"-":"+")),o(t.prevBtnPosition,"controlStyle.prevIcon",BO(this._changeTimeline,this,c?"+":"-")),o(t.playPosition,"controlStyle."+(h?"stopIcon":"playIcon"),BO(this._handlePlayClick,this,!h),!0)},_renderCurrentPointer:function(t,e,i,n){var o=n.getData(),a=n.getCurrentIndex(),r=o.getItemModel(a).getModel("checkpointStyle"),s=this,l={onCreate:function(t){t.draggable=!0,t.drift=BO(s._handlePointerDrag,s),t.ondragend=BO(s._handlePointerDragend,s),Lx(t,a,i,n,!0)},onUpdate:function(t){Lx(t,a,i,n)}};this._currentPointer=Cx(r,r,this._mainGroup,{},this._currentPointer,l)},_handlePlayClick:function(t){this._clearTimer(),this.api.dispatchAction({type:"timelinePlayChange",playState:t,from:this.uid})},_handlePointerDrag:function(t,e,i){this._clearTimer(),this._pointerChangeTimeline([i.offsetX,i.offsetY])},_handlePointerDragend:function(t){this._pointerChangeTimeline([t.offsetX,t.offsetY],!0)},_pointerChangeTimeline:function(t,e){var i=this._toAxisCoord(t)[0],n=Bo(this._axis.getExtent().slice());i>n[1]&&(i=n[1]),i<n[0]&&(i=n[0]),this._currentPointer.position[0]=i,this._currentPointer.dirty();var o=this._findNearestTick(i),a=this.model;(e||o!==a.getCurrentIndex()&&a.get("realtime"))&&this._changeTimeline(o)},_doPlayStop:function(){this._clearTimer(),this.model.getPlayState()&&(this._timer=setTimeout(BO(function(){var t=this.model;this._changeTimeline(t.getCurrentIndex()+(t.get("rewind",!0)?-1:1))},this),this.model.get("playInterval")))},_toAxisCoord:function(t){return Io(t,this._mainGroup.getLocalTransform(),!0)},_findNearestTick:function(t){var e,i=this.model.getData(),n=1/0,o=this._axis;return i.each(["value"],function(i,a){var r=o.dataToCoord(i),s=Math.abs(r-t);s<n&&(n=s,e=a)}),e},_clearTimer:function(){this._timer&&(clearTimeout(this._timer),this._timer=null)},_changeTimeline:function(t){var e=this.model.getCurrentIndex();"+"===t?t=e+1:"-"===t&&(t=e-1),this.api.dispatchAction({type:"timelineChange",currentIndex:t,from:this.uid})}}),Ls(function(t){var e=t&&t.timeline;y(e)||(e=e?[e]:[]),d(e,function(t){t&&Mx(t)})});var FO=Bs({type:"toolbox",layoutMode:{type:"box",ignoreSize:!0},optionUpdated:function(){FO.superApply(this,"optionUpdated",arguments),d(this.option.feature,function(t,e){var i=xy(e);i&&n(t,i.defaultOption)})},defaultOption:{show:!0,z:6,zlevel:0,orient:"horizontal",left:"right",top:"top",backgroundColor:"transparent",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemSize:15,itemGap:8,showTitle:!0,iconStyle:{borderColor:"#666",color:"none"},emphasis:{iconStyle:{borderColor:"#3E98C5"}}}});Vs({type:"toolbox",render:function(t,e,i,n){function o(o,r){var s,c=h[o],d=h[r],f=new Lo(l[c],t,t.ecModel);if(c&&!d){if(kx(c))s={model:f,onclick:f.option.onclick,featureName:c};else{var p=xy(c);if(!p)return;s=new p(f,e,i)}u[c]=s}else{if(!(s=u[d]))return;s.model=f,s.ecModel=e,s.api=i}c||!d?f.get("show")&&!s.unusable?(a(f,s,c),f.setIconStatus=function(t,e){var i=this.option,n=this.iconPaths;i.iconStatus=i.iconStatus||{},i.iconStatus[t]=e,n[t]&&n[t].trigger(e)},s.render&&s.render(f,e,i,n)):s.remove&&s.remove(e,i):s.dispose&&s.dispose(e,i)}function a(n,o,a){var l=n.getModel("iconStyle"),u=n.getModel("emphasis.iconStyle"),h=o.getIcons?o.getIcons():n.get("icon"),c=n.get("title")||{};if("string"==typeof h){var f=h,p=c;c={},(h={})[a]=f,c[a]=p}var g=n.iconPaths={};d(h,function(a,h){var d=Co(a,{},{x:-s/2,y:-s/2,width:s,height:s});d.setStyle(l.getItemStyle()),d.hoverStyle=u.getItemStyle(),uo(d),t.get("showTitle")&&(d.__title=c[h],d.on("mouseover",function(){var t=u.getItemStyle();d.setStyle({text:c[h],textPosition:t.textPosition||"bottom",textFill:t.fill||t.stroke||"#000",textAlign:t.textAlign||"center"})}).on("mouseout",function(){d.setStyle({textFill:null})})),d.trigger(n.get("iconStatus."+h)||"normal"),r.add(d),d.on("click",m(o.onclick,o,e,i,h)),g[h]=d})}var r=this.group;if(r.removeAll(),t.get("show")){var s=+t.get("itemSize"),l=t.get("feature")||{},u=this._features||(this._features={}),h=[];d(l,function(t,e){h.push(e)}),new Hs(this._featureNames||[],h).add(o).update(o).remove(v(o,null)).execute(),this._featureNames=h,dv(r,t,i),r.add(fv(r.getBoundingRect(),t)),r.eachChild(function(t){var e=t.__title,n=t.hoverStyle;if(n&&e){var o=De(e,He(n)),a=t.position[0]+r.position[0],l=!1;t.position[1]+r.position[1]+s+o.height>i.getHeight()&&(n.textPosition="top",l=!0);var u=l?-5-o.height:s+8;a+o.width/2>i.getWidth()?(n.textPosition=["100%",u],n.textAlign="right"):a-o.width/2<0&&(n.textPosition=[0,u],n.textAlign="left")}})}},updateView:function(t,e,i,n){d(this._features,function(t){t.updateView&&t.updateView(t.model,e,i,n)})},remove:function(t,e){d(this._features,function(i){i.remove&&i.remove(t,e)}),this.group.removeAll()},dispose:function(t,e){d(this._features,function(i){i.dispose&&i.dispose(t,e)})}});var WO=XI.toolbox.saveAsImage;Px.defaultOption={show:!0,icon:"M4.7,22.9L29.3,45.5L54.7,23.4M4.6,43.6L4.6,58L53.8,58L53.8,43.6M29.2,45.1L29.2,0",title:WO.title,type:"png",name:"",excludeComponents:["toolbox"],pixelRatio:1,lang:WO.lang.slice()},Px.prototype.unusable=!z_.canvasSupported,Px.prototype.onclick=function(t,e){var i=this.model,n=i.get("name")||t.get("title.0.text")||"echarts",o=document.createElement("a"),a=i.get("type",!0)||"png";o.download=n+"."+a,o.target="_blank";var r=e.getConnectedDataURL({type:a,backgroundColor:i.get("backgroundColor",!0)||t.get("backgroundColor")||"#fff",excludeComponents:i.get("excludeComponents"),pixelRatio:i.get("pixelRatio")});if(o.href=r,"function"!=typeof MouseEvent||z_.browser.ie||z_.browser.edge)if(window.navigator.msSaveOrOpenBlob){for(var s=atob(r.split(",")[1]),l=s.length,u=new Uint8Array(l);l--;)u[l]=s.charCodeAt(l);var h=new Blob([u]);window.navigator.msSaveOrOpenBlob(h,n+"."+a)}else{var c=i.get("lang"),d='<body style="margin:0;"><img src="'+r+'" style="max-width:100%;" title="'+(c&&c[0]||"")+'" /></body>';window.open().document.write(d)}else{var f=new MouseEvent("click",{view:window,bubbles:!0,cancelable:!1});o.dispatchEvent(f)}},yy("saveAsImage",Px);var HO=XI.toolbox.magicType;Nx.defaultOption={show:!0,type:[],icon:{line:"M4.1,28.9h7.1l9.3-22l7.4,38l9.7-19.7l3,12.8h14.9M4.1,58h51.4",bar:"M6.7,22.9h10V48h-10V22.9zM24.9,13h10v35h-10V13zM43.2,2h10v46h-10V2zM3.1,58h53.7",stack:"M8.2,38.4l-8.4,4.1l30.6,15.3L60,42.5l-8.1-4.1l-21.5,11L8.2,38.4z M51.9,30l-8.1,4.2l-13.4,6.9l-13.9-6.9L8.2,30l-8.4,4.2l8.4,4.2l22.2,11l21.5-11l8.1-4.2L51.9,30z M51.9,21.7l-8.1,4.2L35.7,30l-5.3,2.8L24.9,30l-8.4-4.1l-8.3-4.2l-8.4,4.2L8.2,30l8.3,4.2l13.9,6.9l13.4-6.9l8.1-4.2l8.1-4.1L51.9,21.7zM30.4,2.2L-0.2,17.5l8.4,4.1l8.3,4.2l8.4,4.2l5.5,2.7l5.3-2.7l8.1-4.2l8.1-4.2l8.1-4.1L30.4,2.2z",tiled:"M2.3,2.2h22.8V25H2.3V2.2z M35,2.2h22.8V25H35V2.2zM2.3,35h22.8v22.8H2.3V35z M35,35h22.8v22.8H35V35z"},title:i(HO.title),option:{},seriesIndex:{}};var ZO=Nx.prototype;ZO.getIcons=function(){var t=this.model,e=t.get("icon"),i={};return d(t.get("type"),function(t){e[t]&&(i[t]=e[t])}),i};var UO={line:function(t,e,i,o){if("bar"===t)return n({id:e,type:"line",data:i.get("data"),stack:i.get("stack"),markPoint:i.get("markPoint"),markLine:i.get("markLine")},o.get("option.line")||{},!0)},bar:function(t,e,i,o){if("line"===t)return n({id:e,type:"bar",data:i.get("data"),stack:i.get("stack"),markPoint:i.get("markPoint"),markLine:i.get("markLine")},o.get("option.bar")||{},!0)},stack:function(t,e,i,o){if("line"===t||"bar"===t)return n({id:e,stack:"__ec_magicType_stack__"},o.get("option.stack")||{},!0)},tiled:function(t,e,i,o){if("line"===t||"bar"===t)return n({id:e,stack:""},o.get("option.tiled")||{},!0)}},XO=[["line","bar"],["stack","tiled"]];ZO.onclick=function(t,e,i){var n=this.model,o=n.get("seriesIndex."+i);if(UO[i]){var a={series:[]};d(XO,function(t){l(t,i)>=0&&d(t,function(t){n.setIconStatus(t,"normal")})}),n.setIconStatus(i,"emphasis"),t.eachComponent({mainType:"series",query:null==o?null:{seriesIndex:o}},function(e){var o=e.subType,s=e.id,l=UO[i](o,s,e,n);l&&(r(l,e.option),a.series.push(l));var u=e.coordinateSystem;if(u&&"cartesian2d"===u.type&&("line"===i||"bar"===i)){var h=u.getAxesByScale("ordinal")[0];if(h){var c=h.dim+"Axis",d=t.queryComponents({mainType:c,index:e.get(name+"Index"),id:e.get(name+"Id")})[0].componentIndex;a[c]=a[c]||[];for(var f=0;f<=d;f++)a[c][d]=a[c][d]||{};a[c][d].boundaryGap="bar"===i}}}),e.dispatchAction({type:"changeMagicType",currentType:i,newOption:a})}},Ps({type:"changeMagicType",event:"magicTypeChanged",update:"prepareAndUpdate"},function(t,e){e.mergeOption(t.newOption)}),yy("magicType",Nx);var jO=XI.toolbox.dataView,YO=new Array(60).join("-"),qO="\t",KO=new RegExp("["+qO+"]+","g");Hx.defaultOption={show:!0,readOnly:!1,optionToContent:null,contentToOption:null,icon:"M17.5,17.3H33 M17.5,17.3H33 M45.4,29.5h-28 M11.5,2v56H51V14.8L38.4,2H11.5z M38.4,2.2v12.7H51 M45.4,41.7h-28",title:i(jO.title),lang:i(jO.lang),backgroundColor:"#fff",textColor:"#000",textareaColor:"#fff",textareaBorderColor:"#333",buttonColor:"#c23531",buttonTextColor:"#fff"},Hx.prototype.onclick=function(t,e){function i(){n.removeChild(a),x._dom=null}var n=e.getDom(),o=this.model;this._dom&&n.removeChild(this._dom);var a=document.createElement("div");a.style.cssText="position:absolute;left:5px;top:5px;bottom:5px;right:5px;",a.style.backgroundColor=o.get("backgroundColor")||"#fff";var r=document.createElement("h4"),s=o.get("lang")||[];r.innerHTML=s[0]||o.get("title"),r.style.cssText="margin: 10px 20px;",r.style.color=o.get("textColor");var l=document.createElement("div"),u=document.createElement("textarea");l.style.cssText="display:block;width:100%;overflow:auto;";var h=o.get("optionToContent"),c=o.get("contentToOption"),d=zx(t);if("function"==typeof h){var f=h(e.getOption());"string"==typeof f?l.innerHTML=f:M(f)&&l.appendChild(f)}else l.appendChild(u),u.readOnly=o.get("readOnly"),u.style.cssText="width:100%;height:100%;font-family:monospace;font-size:14px;line-height:1.6rem;",u.style.color=o.get("textColor"),u.style.borderColor=o.get("textareaBorderColor"),u.style.backgroundColor=o.get("textareaColor"),u.value=d.value;var p=d.meta,g=document.createElement("div");g.style.cssText="position:absolute;bottom:0;left:0;right:0;";var m="float:right;margin-right:20px;border:none;cursor:pointer;padding:2px 5px;font-size:12px;border-radius:3px",v=document.createElement("div"),y=document.createElement("div");m+=";background-color:"+o.get("buttonColor"),m+=";color:"+o.get("buttonTextColor");var x=this;ut(v,"click",i),ut(y,"click",function(){var t;try{t="function"==typeof c?c(l,e.getOption()):Wx(u.value,p)}catch(t){throw i(),new Error("Data view format error "+t)}t&&e.dispatchAction({type:"changeDataView",newOption:t}),i()}),v.innerHTML=s[1],y.innerHTML=s[2],y.style.cssText=m,v.style.cssText=m,!o.get("readOnly")&&g.appendChild(y),g.appendChild(v),ut(u,"keydown",function(t){if(9===(t.keyCode||t.which)){var e=this.value,i=this.selectionStart,n=this.selectionEnd;this.value=e.substring(0,i)+qO+e.substring(n),this.selectionStart=this.selectionEnd=i+1,lw(t)}}),a.appendChild(r),a.appendChild(l),a.appendChild(g),l.style.height=n.clientHeight-80+"px",n.appendChild(a),this._dom=a},Hx.prototype.remove=function(t,e){this._dom&&e.getDom().removeChild(this._dom)},Hx.prototype.dispose=function(t,e){this.remove(t,e)},yy("dataView",Hx),Ps({type:"changeDataView",event:"dataViewChanged",update:"prepareAndUpdate"},function(t,e){var i=[];d(t.newOption.series,function(t){var n=e.getSeriesByName(t.name)[0];if(n){var o=n.get("data");i.push({name:t.name,data:Zx(t.data,o)})}else i.push(a({type:"scatter"},t))}),e.mergeOption(r({series:i},t.newOption))});var $O=d,JO="\0_ec_hist_store";BN.extend({type:"dataZoom.select"}),VN.extend({type:"dataZoom.select"});var QO=XI.toolbox.dataZoom,tE=d,eE="\0_ec_\0toolbox-dataZoom_";Kx.defaultOption={show:!0,icon:{zoom:"M0,13.5h26.9 M13.5,26.9V0 M32.1,13.5H58V58H13.5 V32.1",back:"M22,1.4L9.9,13.5l12.3,12.3 M10.3,13.5H54.9v44.6 H10.3v-26"},title:i(QO.title)};var iE=Kx.prototype;iE.render=function(t,e,i,n){this.model=t,this.ecModel=e,this.api=i,Qx(t,e,this,n,i),Jx(t,e)},iE.onclick=function(t,e,i){nE[i].call(this)},iE.remove=function(t,e){this._brushController.unmount()},iE.dispose=function(t,e){this._brushController.dispose()};var nE={zoom:function(){var t=!this._isZoomActive;this.api.dispatchAction({type:"takeGlobalCursor",key:"dataZoomSelect",dataZoomSelectActive:t})},back:function(){this._dispatchZoomAction(Xx(this.ecModel))}};iE._onBrush=function(t,e){function i(t,e,i){var r=e.getAxis(t),s=r.model,l=n(t,s,a),u=l.findRepresentativeAxisProxy(s).getMinMaxSpan();null==u.minValueSpan&&null==u.maxValueSpan||(i=EL(0,i.slice(),r.scale.getExtent(),0,u.minValueSpan,u.maxValueSpan)),l&&(o[l.id]={dataZoomId:l.id,startValue:i[0],endValue:i[1]})}function n(t,e,i){var n;return i.eachComponent({mainType:"dataZoom",subType:"select"},function(i){i.getAxisModel(t,e.componentIndex)&&(n=i)}),n}if(e.isEnd&&t.length){var o={},a=this.ecModel;this._brushController.updateCovers([]),new iy($x(this.model.option),a,{include:["grid"]}).matchOutputRanges(t,a,function(t,e,n){if("cartesian2d"===n.type){var o=t.brushType;"rect"===o?(i("x",n,e[0]),i("y",n,e[1])):i({lineX:"x",lineY:"y"}[o],n,e)}}),Ux(a,o),this._dispatchZoomAction(o)}},iE._dispatchZoomAction=function(t){var e=[];tE(t,function(t,n){e.push(i(t))}),e.length&&this.api.dispatchAction({type:"dataZoom",from:this.uid,batch:e})},yy("dataZoom",Kx),Ls(function(t){function e(t,e){if(e){var o=t+"Index",a=e[o];null==a||"all"===a||y(a)||(a=!1===a||"none"===a?[]:[a]),i(t,function(e,i){if(null==a||"all"===a||-1!==l(a,i)){var r={type:"select",$fromToolbox:!0,id:eE+t+i};r[o]=i,n.push(r)}})}}function i(e,i){var n=t[e];y(n)||(n=n?[n]:[]),tE(n,i)}if(t){var n=t.dataZoom||(t.dataZoom=[]);y(n)||(t.dataZoom=n=[n]);var o=t.toolbox;if(o&&(y(o)&&(o=o[0]),o&&o.feature)){var a=o.feature.dataZoom;e("xAxis",a),e("yAxis",a)}}});var oE=XI.toolbox.restore;t_.defaultOption={show:!0,icon:"M3.8,33.4 M47,18.9h9.8V8.7 M56.3,20.1 C52.1,9,40.5,0.6,26.8,2.1C12.6,3.7,1.6,16.2,2.1,30.6 M13,41.1H3.1v10.2 M3.7,39.9c4.2,11.1,15.8,19.5,29.5,18 c14.2-1.6,25.2-14.1,24.7-28.5",title:oE.title},t_.prototype.onclick=function(t,e,i){jx(t),e.dispatchAction({type:"restore",from:this.uid})},yy("restore",t_),Ps({type:"restore",event:"restore",update:"prepareAndUpdate"},function(t,e){e.resetOption("recreate")});var aE,rE="urn:schemas-microsoft-com:vml",sE="undefined"==typeof window?null:window,lE=!1,uE=sE&&sE.document;if(uE&&!z_.canvasSupported)try{!uE.namespaces.zrvml&&uE.namespaces.add("zrvml",rE),aE=function(t){return uE.createElement("<zrvml:"+t+' class="zrvml">')}}catch(t){aE=function(t){return uE.createElement("<"+t+' xmlns="'+rE+'" class="zrvml">')}}var hE=MS.CMD,cE=Math.round,dE=Math.sqrt,fE=Math.abs,pE=Math.cos,gE=Math.sin,mE=Math.max;if(!z_.canvasSupported){var vE=21600,yE=vE/2,xE=function(t){t.style.cssText="position:absolute;left:0;top:0;width:1px;height:1px;",t.coordsize=vE+","+vE,t.coordorigin="0,0"},_E=function(t){return String(t).replace(/&/g,"&").replace(/"/g,""")},wE=function(t,e,i){return"rgb("+[t,e,i].join(",")+")"},bE=function(t,e){e&&t&&e.parentNode!==t&&t.appendChild(e)},SE=function(t,e){e&&t&&e.parentNode===t&&t.removeChild(e)},ME=function(t,e,i){return 1e5*(parseFloat(t)||0)+1e3*(parseFloat(e)||0)+i},IE=function(t,e){return"string"==typeof t?t.lastIndexOf("%")>=0?parseFloat(t)/100*e:parseFloat(t):t},TE=function(t,e,i){var n=zt(e);i=+i,isNaN(i)&&(i=1),n&&(t.color=wE(n[0],n[1],n[2]),t.opacity=i*n[3])},AE=function(t){var e=zt(t);return[wE(e[0],e[1],e[2]),e[3]]},DE=function(t,e,i){var n=e.fill;if(null!=n)if(n instanceof cM){var o,a=0,r=[0,0],s=0,l=1,u=i.getBoundingRect(),h=u.width,c=u.height;if("linear"===n.type){o="gradient";var d=i.transform,f=[n.x*h,n.y*c],p=[n.x2*h,n.y2*c];d&&(Q(f,f,d),Q(p,p,d));var g=p[0]-f[0],m=p[1]-f[1];(a=180*Math.atan2(g,m)/Math.PI)<0&&(a+=360),a<1e-6&&(a=0)}else{o="gradientradial";var f=[n.x*h,n.y*c],d=i.transform,v=i.scale,y=h,x=c;r=[(f[0]-u.x)/y,(f[1]-u.y)/x],d&&Q(f,f,d),y/=v[0]*vE,x/=v[1]*vE;var _=mE(y,x);s=0/_,l=2*n.r/_-s}var w=n.colorStops.slice();w.sort(function(t,e){return t.offset-e.offset});for(var b=w.length,S=[],M=[],I=0;I<b;I++){var T=w[I],A=AE(T.color);M.push(T.offset*l+s+" "+A[0]),0!==I&&I!==b-1||S.push(A)}if(b>=2){var D=S[0][0],C=S[1][0],L=S[0][1]*e.opacity,k=S[1][1]*e.opacity;t.type=o,t.method="none",t.focus="100%",t.angle=a,t.color=D,t.color2=C,t.colors=M.join(","),t.opacity=k,t.opacity2=L}"radial"===o&&(t.focusposition=r.join(","))}else TE(t,n,e.opacity)},CE=function(t,e){null!=e.lineDash&&(t.dashstyle=e.lineDash.join(" ")),null==e.stroke||e.stroke instanceof cM||TE(t,e.stroke,e.opacity)},LE=function(t,e,i,n){var o="fill"==e,a=t.getElementsByTagName(e)[0];null!=i[e]&&"none"!==i[e]&&(o||!o&&i.lineWidth)?(t[o?"filled":"stroked"]="true",i[e]instanceof cM&&SE(t,a),a||(a=e_(e)),o?DE(a,i,n):CE(a,i),bE(t,a)):(t[o?"filled":"stroked"]="false",SE(t,a))},kE=[[],[],[]],PE=function(t,e){var i,n,o,a,r,s,l=hE.M,u=hE.C,h=hE.L,c=hE.A,d=hE.Q,f=[],p=t.data,g=t.len();for(a=0;a<g;){switch(o=p[a++],n="",i=0,o){case l:n=" m ",i=1,r=p[a++],s=p[a++],kE[0][0]=r,kE[0][1]=s;break;case h:n=" l ",i=1,r=p[a++],s=p[a++],kE[0][0]=r,kE[0][1]=s;break;case d:case u:n=" c ",i=3;var m,v,y=p[a++],x=p[a++],_=p[a++],w=p[a++];o===d?(m=_,v=w,_=(_+2*y)/3,w=(w+2*x)/3,y=(r+2*y)/3,x=(s+2*x)/3):(m=p[a++],v=p[a++]),kE[0][0]=y,kE[0][1]=x,kE[1][0]=_,kE[1][1]=w,kE[2][0]=m,kE[2][1]=v,r=m,s=v;break;case c:var b=0,S=0,M=1,I=1,T=0;e&&(b=e[4],S=e[5],M=dE(e[0]*e[0]+e[1]*e[1]),I=dE(e[2]*e[2]+e[3]*e[3]),T=Math.atan2(-e[1]/I,e[0]/M));var A=p[a++],D=p[a++],C=p[a++],L=p[a++],k=p[a++]+T,P=p[a++]+k+T;a++;var N=p[a++],O=A+pE(k)*C,E=D+gE(k)*L,y=A+pE(P)*C,x=D+gE(P)*L,R=N?" wa ":" at ";Math.abs(O-y)<1e-4&&(Math.abs(P-k)>.01?N&&(O+=.0125):Math.abs(E-D)<1e-4?N&&O<A||!N&&O>A?x-=.0125:x+=.0125:N&&E<D||!N&&E>D?y+=.0125:y-=.0125),f.push(R,cE(((A-C)*M+b)*vE-yE),",",cE(((D-L)*I+S)*vE-yE),",",cE(((A+C)*M+b)*vE-yE),",",cE(((D+L)*I+S)*vE-yE),",",cE((O*M+b)*vE-yE),",",cE((E*I+S)*vE-yE),",",cE((y*M+b)*vE-yE),",",cE((x*I+S)*vE-yE)),r=y,s=x;break;case hE.R:var z=kE[0],B=kE[1];z[0]=p[a++],z[1]=p[a++],B[0]=z[0]+p[a++],B[1]=z[1]+p[a++],e&&(Q(z,z,e),Q(B,B,e)),z[0]=cE(z[0]*vE-yE),B[0]=cE(B[0]*vE-yE),z[1]=cE(z[1]*vE-yE),B[1]=cE(B[1]*vE-yE),f.push(" m ",z[0],",",z[1]," l ",B[0],",",z[1]," l ",B[0],",",B[1]," l ",z[0],",",B[1]);break;case hE.Z:f.push(" x ")}if(i>0){f.push(n);for(var V=0;V<i;V++){var G=kE[V];e&&Q(G,G,e),f.push(cE(G[0]*vE-yE),",",cE(G[1]*vE-yE),V<i-1?",":"")}}}return f.join("")};kn.prototype.brushVML=function(t){var e=this.style,i=this._vmlEl;i||(i=e_("shape"),xE(i),this._vmlEl=i),LE(i,"fill",e,this),LE(i,"stroke",e,this);var n=this.transform,o=null!=n,a=i.getElementsByTagName("stroke")[0];if(a){var r=e.lineWidth;if(o&&!e.strokeNoScale){var s=n[0]*n[3]-n[1]*n[2];r*=dE(fE(s))}a.weight=r+"px"}var l=this.path||(this.path=new MS);this.__dirtyPath&&(l.beginPath(),this.buildPath(l,this.shape),l.toStatic(),this.__dirtyPath=!1),i.path=PE(l,this.transform),i.style.zIndex=ME(this.zlevel,this.z,this.z2),bE(t,i),null!=e.text?this.drawRectText(t,this.getBoundingRect()):this.removeRectText(t)},kn.prototype.onRemove=function(t){SE(t,this._vmlEl),this.removeRectText(t)},kn.prototype.onAdd=function(t){bE(t,this._vmlEl),this.appendRectText(t)};var NE=function(t){return"object"==typeof t&&t.tagName&&"IMG"===t.tagName.toUpperCase()};hi.prototype.brushVML=function(t){var e,i,n=this.style,o=n.image;if(NE(o)){var a=o.src;if(a===this._imageSrc)e=this._imageWidth,i=this._imageHeight;else{var r=o.runtimeStyle,s=r.width,l=r.height;r.width="auto",r.height="auto",e=o.width,i=o.height,r.width=s,r.height=l,this._imageSrc=a,this._imageWidth=e,this._imageHeight=i}o=a}else o===this._imageSrc&&(e=this._imageWidth,i=this._imageHeight);if(o){var u=n.x||0,h=n.y||0,c=n.width,d=n.height,f=n.sWidth,p=n.sHeight,g=n.sx||0,m=n.sy||0,v=f&&p,y=this._vmlEl;y||(y=uE.createElement("div"),xE(y),this._vmlEl=y);var x,_=y.style,w=!1,b=1,S=1;if(this.transform&&(x=this.transform,b=dE(x[0]*x[0]+x[1]*x[1]),S=dE(x[2]*x[2]+x[3]*x[3]),w=x[1]||x[2]),w){var M=[u,h],I=[u+c,h],T=[u,h+d],A=[u+c,h+d];Q(M,M,x),Q(I,I,x),Q(T,T,x),Q(A,A,x);var D=mE(M[0],I[0],T[0],A[0]),C=mE(M[1],I[1],T[1],A[1]),L=[];L.push("M11=",x[0]/b,",","M12=",x[2]/S,",","M21=",x[1]/b,",","M22=",x[3]/S,",","Dx=",cE(u*b+x[4]),",","Dy=",cE(h*S+x[5])),_.padding="0 "+cE(D)+"px "+cE(C)+"px 0",_.filter="progid:DXImageTransform.Microsoft.Matrix("+L.join("")+", SizingMethod=clip)"}else x&&(u=u*b+x[4],h=h*S+x[5]),_.filter="",_.left=cE(u)+"px",_.top=cE(h)+"px";var k=this._imageEl,P=this._cropEl;k||(k=uE.createElement("div"),this._imageEl=k);var N=k.style;if(v){if(e&&i)N.width=cE(b*e*c/f)+"px",N.height=cE(S*i*d/p)+"px";else{var O=new Image,E=this;O.onload=function(){O.onload=null,e=O.width,i=O.height,N.width=cE(b*e*c/f)+"px",N.height=cE(S*i*d/p)+"px",E._imageWidth=e,E._imageHeight=i,E._imageSrc=o},O.src=o}P||((P=uE.createElement("div")).style.overflow="hidden",this._cropEl=P);var R=P.style;R.width=cE((c+g*c/f)*b),R.height=cE((d+m*d/p)*S),R.filter="progid:DXImageTransform.Microsoft.Matrix(Dx="+-g*c/f*b+",Dy="+-m*d/p*S+")",P.parentNode||y.appendChild(P),k.parentNode!=P&&P.appendChild(k)}else N.width=cE(b*c)+"px",N.height=cE(S*d)+"px",y.appendChild(k),P&&P.parentNode&&(y.removeChild(P),this._cropEl=null);var z="",B=n.opacity;B<1&&(z+=".Alpha(opacity="+cE(100*B)+") "),z+="progid:DXImageTransform.Microsoft.AlphaImageLoader(src="+o+", SizingMethod=scale)",N.filter=z,y.style.zIndex=ME(this.zlevel,this.z,this.z2),bE(t,y),null!=n.text&&this.drawRectText(t,this.getBoundingRect())}},hi.prototype.onRemove=function(t){SE(t,this._vmlEl),this._vmlEl=null,this._cropEl=null,this._imageEl=null,this.removeRectText(t)},hi.prototype.onAdd=function(t){bE(t,this._vmlEl),this.appendRectText(t)};var OE,EE={},RE=0,zE=document.createElement("div"),BE=function(t){var e=EE[t];if(!e){RE>100&&(RE=0,EE={});var i,n=zE.style;try{n.font=t,i=n.fontFamily.split(",")[0]}catch(t){}e={style:n.fontStyle||"normal",variant:n.fontVariant||"normal",weight:n.fontWeight||"normal",size:0|parseFloat(n.fontSize||12),family:i||"Microsoft YaHei"},EE[t]=e,RE++}return e};!function(t,e){hb[t]=e}("measureText",function(t,e){var i=uE;OE||((OE=i.createElement("div")).style.cssText="position:absolute;top:-20000px;left:0;padding:0;margin:0;border:none;white-space:pre;",uE.body.appendChild(OE));try{OE.style.font=e}catch(t){}return OE.innerHTML="",OE.appendChild(i.createTextNode(t)),{width:OE.offsetWidth}});for(var VE=new ue,GE=[gb,ui,hi,kn,qS],FE=0;FE<GE.length;FE++){var WE=GE[FE].prototype;WE.drawRectText=function(t,e,i,n){var o=this.style;this.__dirty&&Ue(o);var a=o.text;if(null!=a&&(a+=""),a){if(o.rich){var r=Fe(a,o);a=[];for(var s=0;s<r.lines.length;s++){for(var l=r.lines[s].tokens,u=[],h=0;h<l.length;h++)u.push(l[h].text);a.push(u.join(""))}a=a.join("\n")}var c,d,f=o.textAlign,p=o.textVerticalAlign,g=BE(o.font),m=g.style+" "+g.variant+" "+g.weight+" "+g.size+'px "'+g.family+'"';i=i||De(a,m,f,p);var v=this.transform;if(v&&!n&&(VE.copy(e),VE.applyTransform(v),e=VE),n)c=e.x,d=e.y;else{var y=o.textPosition,x=o.textDistance;if(y instanceof Array)c=e.x+IE(y[0],e.width),d=e.y+IE(y[1],e.height),f=f||"left";else{var _=Ne(y,e,x);c=_.x,d=_.y,f=f||_.textAlign,p=p||_.textVerticalAlign}}c=ke(c,i.width,f),d=Pe(d,i.height,p),d+=i.height/2;var w,b,S,M=e_,I=this._textVmlEl;I?b=(w=(S=I.firstChild).nextSibling).nextSibling:(I=M("line"),w=M("path"),b=M("textpath"),S=M("skew"),b.style["v-text-align"]="left",xE(I),w.textpathok=!0,b.on=!0,I.from="0 0",I.to="1000 0.05",bE(I,S),bE(I,w),bE(I,b),this._textVmlEl=I);var T=[c,d],A=I.style;v&&n?(Q(T,T,v),S.on=!0,S.matrix=v[0].toFixed(3)+","+v[2].toFixed(3)+","+v[1].toFixed(3)+","+v[3].toFixed(3)+",0,0",S.offset=(cE(T[0])||0)+","+(cE(T[1])||0),S.origin="0 0",A.left="0px",A.top="0px"):(S.on=!1,A.left=cE(c)+"px",A.top=cE(d)+"px"),b.string=_E(a);try{b.style.font=m}catch(t){}LE(I,"fill",{fill:o.textFill,opacity:o.opacity},this),LE(I,"stroke",{stroke:o.textStroke,opacity:o.opacity,lineDash:o.lineDash},this),I.style.zIndex=ME(this.zlevel,this.z,this.z2),bE(t,I)}},WE.removeRectText=function(t){SE(t,this._textVmlEl),this._textVmlEl=null},WE.appendRectText=function(t){bE(t,this._textVmlEl)}}qS.prototype.brushVML=function(t){var e=this.style;null!=e.text?this.drawRectText(t,{x:e.x||0,y:e.y||0,width:0,height:0},this.getBoundingRect(),!0):this.removeRectText(t)},qS.prototype.onRemove=function(t){this.removeRectText(t)},qS.prototype.onAdd=function(t){this.appendRectText(t)}}o_.prototype={constructor:o_,getType:function(){return"vml"},getViewportRoot:function(){return this._vmlViewport},getViewportRootOffset:function(){var t=this.getViewportRoot();if(t)return{offsetLeft:t.offsetLeft||0,offsetTop:t.offsetTop||0}},refresh:function(){var t=this.storage.getDisplayList(!0,!0);this._paintList(t)},_paintList:function(t){for(var e=this._vmlRoot,i=0;i<t.length;i++){var n=t[i];n.invisible||n.ignore?(n.__alreadyNotVisible||n.onRemove(e),n.__alreadyNotVisible=!0):(n.__alreadyNotVisible&&n.onAdd(e),n.__alreadyNotVisible=!1,n.__dirty&&(n.beforeBrush&&n.beforeBrush(),(n.brushVML||n.brush).call(n,e),n.afterBrush&&n.afterBrush())),n.__dirty=!1}this._firstPaint&&(this._vmlViewport.appendChild(e),this._firstPaint=!1)},resize:function(t,e){var t=null==t?this._getWidth():t,e=null==e?this._getHeight():e;if(this._width!=t||this._height!=e){this._width=t,this._height=e;var i=this._vmlViewport.style;i.width=t+"px",i.height=e+"px"}},dispose:function(){this.root.innerHTML="",this._vmlRoot=this._vmlViewport=this.storage=null},getWidth:function(){return this._width},getHeight:function(){return this._height},clear:function(){this._vmlViewport&&this.root.removeChild(this._vmlViewport)},_getWidth:function(){var t=this.root,e=t.currentStyle;return(t.clientWidth||n_(e.width))-n_(e.paddingLeft)-n_(e.paddingRight)|0},_getHeight:function(){var t=this.root,e=t.currentStyle;return(t.clientHeight||n_(e.height))-n_(e.paddingTop)-n_(e.paddingBottom)|0}},d(["getLayer","insertLayer","eachLayer","eachBuiltinLayer","eachOtherLayer","getLayers","modLayer","delLayer","clearLayer","toDataURL","pathToImage"],function(t){o_.prototype[t]=a_(t)}),Ti("vml",o_);var HE="http://www.w3.org/2000/svg",ZE=MS.CMD,UE=Array.prototype.join,XE="none",jE=Math.round,YE=Math.sin,qE=Math.cos,KE=Math.PI,$E=2*Math.PI,JE=180/KE,QE=1e-4,tR={};tR.brush=function(t){var e=t.style,i=t.__svgEl;i||(i=r_("path"),t.__svgEl=i),t.path||t.createPathProxy();var n=t.path;if(t.__dirtyPath){n.beginPath(),t.buildPath(n,t.shape),t.__dirtyPath=!1;var o=g_(n);o.indexOf("NaN")<0&&d_(i,"d",o)}p_(i,e,!1,t),c_(i,t.transform),null!=e.text&&oR(t,t.getBoundingRect())};var eR={};eR.brush=function(t){var e=t.style,i=e.image;if(i instanceof HTMLImageElement&&(i=i.src),i){var n=e.x||0,o=e.y||0,a=e.width,r=e.height,s=t.__svgEl;s||(s=r_("image"),t.__svgEl=s),i!==t.__imageSrc&&(f_(s,"href",i),t.__imageSrc=i),d_(s,"width",a),d_(s,"height",r),d_(s,"x",n),d_(s,"y",o),c_(s,t.transform),null!=e.text&&oR(t,t.getBoundingRect())}};var iR={},nR=new ue,oR=function(t,e,i){var n=t.style;t.__dirty&&Ue(n);var o=n.text;if(null!=o){o+="";var a=t.__textSvgEl;a||(a=r_("text"),t.__textSvgEl=a);var r,s,l=n.textPosition,u=n.textDistance,h=n.textAlign||"left";"number"==typeof n.fontSize&&(n.fontSize+="px");var c=n.font||[n.fontStyle||"",n.fontWeight||"",n.fontSize||"",n.fontFamily||""].join(" ")||ub,d=m_(n.textVerticalAlign),f=(i=De(o,c,h,d)).lineHeight;if(l instanceof Array)r=e.x+l[0],s=e.y+l[1];else{var p=Ne(l,e,u);r=p.x,s=p.y,d=m_(p.textVerticalAlign),h=p.textAlign}d_(a,"alignment-baseline",d),c&&(a.style.font=c);var g=n.textPadding;if(d_(a,"x",r),d_(a,"y",s),p_(a,n,!0,t),t instanceof qS||t.style.transformText)c_(a,t.transform);else{if(t.transform)nR.copy(e),nR.applyTransform(t.transform),e=nR;else{var m=t.transformCoordToGlobal(e.x,e.y);e.x=m[0],e.y=m[1],t.transform=vt(mt())}var v=n.textOrigin;"center"===v?(r=i.width/2+r,s=i.height/2+s):v&&(r=v[0]+r,s=v[1]+s);var y=-n.textRotation||0,x=mt();wt(x,x,y),_t(x,x,m=[t.transform[4],t.transform[5]]),c_(a,x)}var _=o.split("\n"),w=_.length,b=h;"left"===b?(b="start",g&&(r+=g[3])):"right"===b?(b="end",g&&(r-=g[1])):"center"===b&&(b="middle",g&&(r+=(g[3]-g[1])/2));var S=0;if("after-edge"===d?(S=-i.height+f,g&&(S-=g[2])):"middle"===d?(S=(-i.height+f)/2,g&&(s+=(g[0]-g[2])/2)):g&&(S+=g[0]),t.__text!==o||t.__textFont!==c){var M=t.__tspanList||[];t.__tspanList=M;for(T=0;T<w;T++)(A=M[T])?A.innerHTML="":(A=M[T]=r_("tspan"),a.appendChild(A),d_(A,"alignment-baseline",d),d_(A,"text-anchor",b)),d_(A,"x",r),d_(A,"y",s+T*f+S),A.appendChild(document.createTextNode(_[T]));for(;T<M.length;T++)a.removeChild(M[T]);M.length=w,t.__text=o,t.__textFont=c}else if(t.__tspanList.length)for(var I=t.__tspanList.length,T=0;T<I;++T){var A=t.__tspanList[T];A&&(d_(A,"x",r),d_(A,"y",s+T*f+S))}}};iR.drawRectText=oR,iR.brush=function(t){var e=t.style;null!=e.text&&(e.textPosition=[0,0],oR(t,{x:e.x||0,y:e.y||0,width:0,height:0},t.getBoundingRect()))},v_.prototype={diff:function(t,e,i){i||(i=function(t,e){return t===e}),this.equals=i;var n=this;t=t.slice();var o=(e=e.slice()).length,a=t.length,r=1,s=o+a,l=[{newPos:-1,components:[]}],u=this.extractCommon(l[0],e,t,0);if(l[0].newPos+1>=o&&u+1>=a){for(var h=[],c=0;c<e.length;c++)h.push(c);return[{indices:h,count:e.length}]}for(;r<=s;){var d=function(){for(var i=-1*r;i<=r;i+=2){var s,u=l[i-1],h=l[i+1],c=(h?h.newPos:0)-i;u&&(l[i-1]=void 0);var d=u&&u.newPos+1<o,f=h&&0<=c&&c<a;if(d||f){if(!d||f&&u.newPos<h.newPos?(s=x_(h),n.pushComponent(s.components,void 0,!0)):((s=u).newPos++,n.pushComponent(s.components,!0,void 0)),c=n.extractCommon(s,e,t,i),s.newPos+1>=o&&c+1>=a)return y_(0,s.components);l[i]=s}else l[i]=void 0}r++}();if(d)return d}},pushComponent:function(t,e,i){var n=t[t.length-1];n&&n.added===e&&n.removed===i?t[t.length-1]={count:n.count+1,added:e,removed:i}:t.push({count:1,added:e,removed:i})},extractCommon:function(t,e,i,n){for(var o=e.length,a=i.length,r=t.newPos,s=r-n,l=0;r+1<o&&s+1<a&&this.equals(e[r+1],i[s+1]);)r++,s++,l++;return l&&t.components.push({count:l}),t.newPos=r,s},tokenize:function(t){return t.slice()},join:function(t){return t.slice()}};var aR=new v_,rR=function(t,e,i){return aR.diff(t,e,i)};__.prototype.createElement=r_,__.prototype.getDefs=function(t){var e=this._svgRoot,i=this._svgRoot.getElementsByTagName("defs");return 0===i.length?t?((i=e.insertBefore(this.createElement("defs"),e.firstChild)).contains||(i.contains=function(t){var e=i.children;if(!e)return!1;for(var n=e.length-1;n>=0;--n)if(e[n]===t)return!0;return!1}),i):null:i[0]},__.prototype.update=function(t,e){if(t){var i=this.getDefs(!1);if(t[this._domName]&&i.contains(t[this._domName]))"function"==typeof e&&e(t);else{var n=this.add(t);n&&(t[this._domName]=n)}}},__.prototype.addDom=function(t){this.getDefs(!0).appendChild(t)},__.prototype.removeDom=function(t){var e=this.getDefs(!1);e&&t[this._domName]&&(e.removeChild(t[this._domName]),t[this._domName]=null)},__.prototype.getDoms=function(){var t=this.getDefs(!1);if(!t)return[];var e=[];return d(this._tagNames,function(i){var n=t.getElementsByTagName(i);e=e.concat([].slice.call(n))}),e},__.prototype.markAllUnused=function(){var t=this;d(this.getDoms(),function(e){e[t._markLabel]="0"})},__.prototype.markUsed=function(t){t&&(t[this._markLabel]="1")},__.prototype.removeUnused=function(){var t=this.getDefs(!1);if(t){var e=this;d(this.getDoms(),function(i){"1"!==i[e._markLabel]&&t.removeChild(i)})}},__.prototype.getSvgProxy=function(t){return t instanceof kn?tR:t instanceof hi?eR:t instanceof qS?iR:tR},__.prototype.getTextSvgElement=function(t){return t.__textSvgEl},__.prototype.getSvgElement=function(t){return t.__svgEl},u(w_,__),w_.prototype.addWithoutUpdate=function(t,e){if(e&&e.style){var i=this;d(["fill","stroke"],function(n){if(e.style[n]&&("linear"===e.style[n].type||"radial"===e.style[n].type)){var o,a=e.style[n],r=i.getDefs(!0);a._dom?(o=a._dom,r.contains(a._dom)||i.addDom(o)):o=i.add(a),i.markUsed(e);var s=o.getAttribute("id");t.setAttribute(n,"url(#"+s+")")}})}},w_.prototype.add=function(t){var e;if("linear"===t.type)e=this.createElement("linearGradient");else{if("radial"!==t.type)return Bw("Illegal gradient type."),null;e=this.createElement("radialGradient")}return t.id=t.id||this.nextId++,e.setAttribute("id","zr"+this._zrId+"-gradient-"+t.id),this.updateDom(t,e),this.addDom(e),e},w_.prototype.update=function(t){var e=this;__.prototype.update.call(this,t,function(){var i=t.type,n=t._dom.tagName;"linear"===i&&"linearGradient"===n||"radial"===i&&"radialGradient"===n?e.updateDom(t,t._dom):(e.removeDom(t),e.add(t))})},w_.prototype.updateDom=function(t,e){if("linear"===t.type)e.setAttribute("x1",t.x),e.setAttribute("y1",t.y),e.setAttribute("x2",t.x2),e.setAttribute("y2",t.y2);else{if("radial"!==t.type)return void Bw("Illegal gradient type.");e.setAttribute("cx",t.x),e.setAttribute("cy",t.y),e.setAttribute("r",t.r)}t.global?e.setAttribute("gradientUnits","userSpaceOnUse"):e.setAttribute("gradientUnits","objectBoundingBox"),e.innerHTML="";for(var i=t.colorStops,n=0,o=i.length;n<o;++n){var a=this.createElement("stop");a.setAttribute("offset",100*i[n].offset+"%"),a.setAttribute("stop-color",i[n].color),e.appendChild(a)}t._dom=e},w_.prototype.markUsed=function(t){if(t.style){var e=t.style.fill;e&&e._dom&&__.prototype.markUsed.call(this,e._dom),(e=t.style.stroke)&&e._dom&&__.prototype.markUsed.call(this,e._dom)}},u(b_,__),b_.prototype.update=function(t){var e=this.getSvgElement(t);e&&this.updateDom(e,t.__clipPaths,!1);var i=this.getTextSvgElement(t);i&&this.updateDom(i,t.__clipPaths,!0),this.markUsed(t)},b_.prototype.updateDom=function(t,e,i){if(e&&e.length>0){var n,o,a=this.getDefs(!0),r=e[0],s=i?"_textDom":"_dom";r[s]?(o=r[s].getAttribute("id"),n=r[s],a.contains(n)||a.appendChild(n)):(o="zr"+this._zrId+"-clip-"+this.nextId,++this.nextId,(n=this.createElement("clipPath")).setAttribute("id",o),a.appendChild(n),r[s]=n);var l=this.getSvgProxy(r);if(r.transform&&r.parent.invTransform&&!i){var u=Array.prototype.slice.call(r.transform);xt(r.transform,r.parent.invTransform,r.transform),l.brush(r),r.transform=u}else l.brush(r);var h=this.getSvgElement(r);n.innerHTML="",n.appendChild(h.cloneNode()),t.setAttribute("clip-path","url(#"+o+")"),e.length>1&&this.updateDom(n,e.slice(1),i)}else t&&t.setAttribute("clip-path","none")},b_.prototype.markUsed=function(t){var e=this;t.__clipPaths&&t.__clipPaths.length>0&&d(t.__clipPaths,function(t){t._dom&&__.prototype.markUsed.call(e,t._dom),t._textDom&&__.prototype.markUsed.call(e,t._textDom)})},u(S_,__),S_.prototype.addWithoutUpdate=function(t,e){if(e&&M_(e.style)){var i,n=e.style;n._shadowDom?(i=n._shadowDom,this.getDefs(!0).contains(n._shadowDom)||this.addDom(i)):i=this.add(e),this.markUsed(e);var o=i.getAttribute("id");t.style.filter="url(#"+o+")"}},S_.prototype.add=function(t){var e=this.createElement("filter"),i=t.style;return i._shadowDomId=i._shadowDomId||this.nextId++,e.setAttribute("id","zr"+this._zrId+"-shadow-"+i._shadowDomId),this.updateDom(t,e),this.addDom(e),e},S_.prototype.update=function(t,e){var i=e.style;if(M_(i)){var n=this;__.prototype.update.call(this,e,function(t){n.updateDom(e,t._shadowDom)})}else this.remove(t,i)},S_.prototype.remove=function(t,e){null!=e._shadowDomId&&(this.removeDom(e),t.style.filter="")},S_.prototype.updateDom=function(t,e){var i=e.getElementsByTagName("feDropShadow");i=0===i.length?this.createElement("feDropShadow"):i[0];var n,o,a,r,s=t.style,l=t.scale?t.scale[0]||1:1,u=t.scale?t.scale[1]||1:1;if(s.shadowBlur||s.shadowOffsetX||s.shadowOffsetY)n=s.shadowOffsetX||0,o=s.shadowOffsetY||0,a=s.shadowBlur,r=s.shadowColor;else{if(!s.textShadowBlur)return void this.removeDom(e,s);n=s.textShadowOffsetX||0,o=s.textShadowOffsetY||0,a=s.textShadowBlur,r=s.textShadowColor}i.setAttribute("dx",n/l),i.setAttribute("dy",o/u),i.setAttribute("flood-color",r);var h=a/2/l+" "+a/2/u;i.setAttribute("stdDeviation",h),e.setAttribute("x","-100%"),e.setAttribute("y","-100%"),e.setAttribute("width",Math.ceil(a/2*200)+"%"),e.setAttribute("height",Math.ceil(a/2*200)+"%"),e.appendChild(i),s._shadowDom=e},S_.prototype.markUsed=function(t){var e=t.style;e&&e._shadowDom&&__.prototype.markUsed.call(this,e._shadowDom)};var sR=function(t,e,i,n){this.root=t,this.storage=e,this._opts=i=a({},i||{});var o=r_("svg");o.setAttribute("xmlns","http://www.w3.org/2000/svg"),o.setAttribute("version","1.1"),o.setAttribute("baseProfile","full"),o.style.cssText="user-select:none;position:absolute;left:0;top:0;",this.gradientManager=new w_(n,o),this.clipPathManager=new b_(n,o),this.shadowManager=new S_(n,o);var r=document.createElement("div");r.style.cssText="overflow:hidden;position:relative",this._svgRoot=o,this._viewport=r,t.appendChild(r),r.appendChild(o),this.resize(i.width,i.height),this._visibleList=[]};sR.prototype={constructor:sR,getType:function(){return"svg"},getViewportRoot:function(){return this._viewport},getViewportRootOffset:function(){var t=this.getViewportRoot();if(t)return{offsetLeft:t.offsetLeft||0,offsetTop:t.offsetTop||0}},refresh:function(){var t=this.storage.getDisplayList(!0);this._paintList(t)},setBackgroundColor:function(t){this._viewport.style.background=t},_paintList:function(t){this.gradientManager.markAllUnused(),this.clipPathManager.markAllUnused(),this.shadowManager.markAllUnused();var e,i=this._svgRoot,n=this._visibleList,o=t.length,a=[];for(e=0;e<o;e++){var r=T_(f=t[e]),s=P_(f)||k_(f);f.invisible||(f.__dirty&&(r&&r.brush(f),this.clipPathManager.update(f),f.style&&(this.gradientManager.update(f.style.fill),this.gradientManager.update(f.style.stroke),this.shadowManager.update(s,f)),f.__dirty=!1),a.push(f))}var l,u=rR(n,a);for(e=0;e<u.length;e++)if((c=u[e]).removed)for(d=0;d<c.count;d++){var s=P_(f=n[c.indices[d]]),h=k_(f);L_(i,s),L_(i,h)}for(e=0;e<u.length;e++){var c=u[e];if(c.added)for(d=0;d<c.count;d++){var s=P_(f=a[c.indices[d]]),h=k_(f);l?D_(i,s,l):C_(i,s),s?D_(i,h,s):l?D_(i,h,l):C_(i,h),D_(i,h,s),l=h||s||l,this.gradientManager.addWithoutUpdate(s,f),this.shadowManager.addWithoutUpdate(l,f),this.clipPathManager.markUsed(f)}else if(!c.removed)for(var d=0;d<c.count;d++){var f=a[c.indices[d]];l=s=k_(f)||P_(f)||l,this.gradientManager.markUsed(f),this.gradientManager.addWithoutUpdate(s,f),this.shadowManager.markUsed(f),this.shadowManager.addWithoutUpdate(s,f),this.clipPathManager.markUsed(f)}}this.gradientManager.removeUnused(),this.clipPathManager.removeUnused(),this.shadowManager.removeUnused(),this._visibleList=a},_getDefs:function(t){var e=this._svgRoot,i=this._svgRoot.getElementsByTagName("defs");return 0===i.length?t?((i=e.insertBefore(r_("defs"),e.firstChild)).contains||(i.contains=function(t){var e=i.children;if(!e)return!1;for(var n=e.length-1;n>=0;--n)if(e[n]===t)return!0;return!1}),i):null:i[0]},resize:function(t,e){var i=this._viewport;i.style.display="none";var n=this._opts;if(null!=t&&(n.width=t),null!=e&&(n.height=e),t=this._getSize(0),e=this._getSize(1),i.style.display="",this._width!==t||this._height!==e){this._width=t,this._height=e;var o=i.style;o.width=t+"px",o.height=e+"px";var a=this._svgRoot;a.setAttribute("width",t),a.setAttribute("height",e)}},getWidth:function(){return this._width},getHeight:function(){return this._height},_getSize:function(t){var e=this._opts,i=["width","height"][t],n=["clientWidth","clientHeight"][t],o=["paddingLeft","paddingTop"][t],a=["paddingRight","paddingBottom"][t];if(null!=e[i]&&"auto"!==e[i])return parseFloat(e[i]);var r=this.root,s=document.defaultView.getComputedStyle(r);return(r[n]||I_(s[i])||I_(r.style[i]))-(I_(s[o])||0)-(I_(s[a])||0)|0},dispose:function(){this.root.innerHTML="",this._svgRoot=this._viewport=this.storage=null},clear:function(){this._viewport&&this.root.removeChild(this._viewport)},pathToDataUrl:function(){return this.refresh(),"data:image/svg+xml;charset=UTF-8,"+this._svgRoot.outerHTML}},d(["getLayer","insertLayer","eachLayer","eachBuiltinLayer","eachOtherLayer","getLayers","modLayer","delLayer","clearLayer","toDataURL","pathToImage"],function(t){sR.prototype[t]=N_(t)}),Ti("svg",sR),t.version="4.2.0",t.dependencies=wT,t.PRIORITY=IT,t.init=function(t,e,i){var n=Ds(t);if(n)return n;var o=new rs(t,e,i);return o.id="ec_"+WT++,GT[o.id]=o,Fi(t,ZT,o.id),Ts(o),o},t.connect=function(t){if(y(t)){var e=t;t=null,vT(e,function(e){null!=e.group&&(t=e.group)}),t=t||"g_"+HT++,vT(e,function(e){e.group=t})}return FT[t]=!0,t},t.disConnect=As,t.disconnect=UT,t.dispose=function(t){"string"==typeof t?t=GT[t]:t instanceof rs||(t=Ds(t)),t instanceof rs&&!t.isDisposed()&&t.dispose()},t.getInstanceByDom=Ds,t.getInstanceById=function(t){return GT[t]},t.registerTheme=Cs,t.registerPreprocessor=Ls,t.registerProcessor=ks,t.registerPostUpdate=function(t){RT.push(t)},t.registerAction=Ps,t.registerCoordinateSystem=Ns,t.getCoordinateSystemDimensions=function(t){var e=Ba.get(t);if(e)return e.getDimensionsInfo?e.getDimensionsInfo():e.dimensions.slice()},t.registerLayout=Os,t.registerVisual=Es,t.registerLoading=zs,t.extendComponentModel=Bs,t.extendComponentView=Vs,t.extendSeriesModel=Gs,t.extendChartView=Fs,t.setCanvasCreator=function(t){e("createCanvas",t)},t.registerMap=function(t,e,i){pT.registerMap(t,e,i)},t.getMap=function(t){var e=pT.retrieveMap(t);return e&&e[0]&&{geoJson:e[0].geoJSON,specialAreas:e[0].specialAreas}},t.dataTool=XT,t.zrender=Pb,t.number=NM,t.format=FM,t.throttle=Cr,t.helper=BA,t.matrix=fw,t.vector=nw,t.color=Pw,t.parseGeoJSON=GA,t.parseGeoJson=ZA,t.util=UA,t.graphic=XA,t.List=eA,t.Model=Lo,t.Axis=HA,t.env=z_}); diff --git a/src/main/webapp/static/login/echarts/image/data-1491837049070-rJZtl7Y6x.jpg b/src/main/webapp/static/login/echarts/image/data-1491837049070-rJZtl7Y6x.jpg Binary files differnew file mode 100644 index 0000000..c4a5d33 --- /dev/null +++ b/src/main/webapp/static/login/echarts/image/data-1491837049070-rJZtl7Y6x.jpg diff --git a/src/main/webapp/static/login/echarts/image/data-1491837999815-H1_44Qtal.jpg b/src/main/webapp/static/login/echarts/image/data-1491837999815-H1_44Qtal.jpg Binary files differnew file mode 100644 index 0000000..3149998 --- /dev/null +++ b/src/main/webapp/static/login/echarts/image/data-1491837999815-H1_44Qtal.jpg diff --git a/src/main/webapp/static/login/echarts/map/dat.gui.min.js b/src/main/webapp/static/login/echarts/map/dat.gui.min.js new file mode 100644 index 0000000..8ea141a --- /dev/null +++ b/src/main/webapp/static/login/echarts/map/dat.gui.min.js @@ -0,0 +1,95 @@ +/** + * dat-gui JavaScript Controller Library + * http://code.google.com/p/dat-gui + * + * Copyright 2011 Data Arts Team, Google Creative Lab + * + * 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 + */ +var dat=dat||{};dat.gui=dat.gui||{};dat.utils=dat.utils||{};dat.controllers=dat.controllers||{};dat.dom=dat.dom||{};dat.color=dat.color||{};dat.utils.css=function(){return{load:function(f,a){a=a||document;var d=a.createElement("link");d.type="text/css";d.rel="stylesheet";d.href=f;a.getElementsByTagName("head")[0].appendChild(d)},inject:function(f,a){a=a||document;var d=document.createElement("style");d.type="text/css";d.innerHTML=f;a.getElementsByTagName("head")[0].appendChild(d)}}}(); +dat.utils.common=function(){var f=Array.prototype.forEach,a=Array.prototype.slice;return{BREAK:{},extend:function(d){this.each(a.call(arguments,1),function(a){for(var c in a)this.isUndefined(a[c])||(d[c]=a[c])},this);return d},defaults:function(d){this.each(a.call(arguments,1),function(a){for(var c in a)this.isUndefined(d[c])&&(d[c]=a[c])},this);return d},compose:function(){var d=a.call(arguments);return function(){for(var e=a.call(arguments),c=d.length-1;0<=c;c--)e=[d[c].apply(this,e)];return e[0]}}, +each:function(a,e,c){if(a)if(f&&a.forEach&&a.forEach===f)a.forEach(e,c);else if(a.length===a.length+0)for(var b=0,p=a.length;b<p&&!(b in a&&e.call(c,a[b],b)===this.BREAK);b++);else for(b in a)if(e.call(c,a[b],b)===this.BREAK)break},defer:function(a){setTimeout(a,0)},toArray:function(d){return d.toArray?d.toArray():a.call(d)},isUndefined:function(a){return void 0===a},isNull:function(a){return null===a},isNaN:function(a){return a!==a},isArray:Array.isArray||function(a){return a.constructor===Array}, +isObject:function(a){return a===Object(a)},isNumber:function(a){return a===a+0},isString:function(a){return a===a+""},isBoolean:function(a){return!1===a||!0===a},isFunction:function(a){return"[object Function]"===Object.prototype.toString.call(a)}}}(); +dat.controllers.Controller=function(f){var a=function(a,e){this.initialValue=a[e];this.domElement=document.createElement("div");this.object=a;this.property=e;this.__onFinishChange=this.__onChange=void 0};f.extend(a.prototype,{onChange:function(a){this.__onChange=a;return this},onFinishChange:function(a){this.__onFinishChange=a;return this},setValue:function(a){this.object[this.property]=a;this.__onChange&&this.__onChange.call(this,a);this.updateDisplay();return this},getValue:function(){return this.object[this.property]}, +updateDisplay:function(){return this},isModified:function(){return this.initialValue!==this.getValue()}});return a}(dat.utils.common); +dat.dom.dom=function(f){function a(b){if("0"===b||f.isUndefined(b))return 0;b=b.match(e);return f.isNull(b)?0:parseFloat(b[1])}var d={};f.each({HTMLEvents:["change"],MouseEvents:["click","mousemove","mousedown","mouseup","mouseover"],KeyboardEvents:["keydown"]},function(b,a){f.each(b,function(b){d[b]=a})});var e=/(\d+(\.\d+)?)px/,c={makeSelectable:function(b,a){void 0!==b&&void 0!==b.style&&(b.onselectstart=a?function(){return!1}:function(){},b.style.MozUserSelect=a?"auto":"none",b.style.KhtmlUserSelect= +a?"auto":"none",b.unselectable=a?"on":"off")},makeFullscreen:function(b,a,c){f.isUndefined(a)&&(a=!0);f.isUndefined(c)&&(c=!0);b.style.position="absolute";a&&(b.style.left=0,b.style.right=0);c&&(b.style.top=0,b.style.bottom=0)},fakeEvent:function(b,a,c,e){c=c||{};var r=d[a];if(!r)throw Error("Event type "+a+" not supported.");var n=document.createEvent(r);switch(r){case "MouseEvents":n.initMouseEvent(a,c.bubbles||!1,c.cancelable||!0,window,c.clickCount||1,0,0,c.x||c.clientX||0,c.y||c.clientY||0,!1, +!1,!1,!1,0,null);break;case "KeyboardEvents":r=n.initKeyboardEvent||n.initKeyEvent;f.defaults(c,{cancelable:!0,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,keyCode:void 0,charCode:void 0});r(a,c.bubbles||!1,c.cancelable,window,c.ctrlKey,c.altKey,c.shiftKey,c.metaKey,c.keyCode,c.charCode);break;default:n.initEvent(a,c.bubbles||!1,c.cancelable||!0)}f.defaults(n,e);b.dispatchEvent(n)},bind:function(a,e,d,f){a.addEventListener?a.addEventListener(e,d,f||!1):a.attachEvent&&a.attachEvent("on"+e,d);return c}, +unbind:function(a,e,d,f){a.removeEventListener?a.removeEventListener(e,d,f||!1):a.detachEvent&&a.detachEvent("on"+e,d);return c},addClass:function(a,e){if(void 0===a.className)a.className=e;else if(a.className!==e){var d=a.className.split(/ +/);-1==d.indexOf(e)&&(d.push(e),a.className=d.join(" ").replace(/^\s+/,"").replace(/\s+$/,""))}return c},removeClass:function(a,e){if(e){if(void 0!==a.className)if(a.className===e)a.removeAttribute("class");else{var d=a.className.split(/ +/),f=d.indexOf(e);-1!= +f&&(d.splice(f,1),a.className=d.join(" "))}}else a.className=void 0;return c},hasClass:function(a,c){return(new RegExp("(?:^|\\s+)"+c+"(?:\\s+|$)")).test(a.className)||!1},getWidth:function(b){b=getComputedStyle(b);return a(b["border-left-width"])+a(b["border-right-width"])+a(b["padding-left"])+a(b["padding-right"])+a(b.width)},getHeight:function(b){b=getComputedStyle(b);return a(b["border-top-width"])+a(b["border-bottom-width"])+a(b["padding-top"])+a(b["padding-bottom"])+a(b.height)},getOffset:function(a){var c= +{left:0,top:0};if(a.offsetParent){do c.left+=a.offsetLeft,c.top+=a.offsetTop;while(a=a.offsetParent)}return c},isActive:function(a){return a===document.activeElement&&(a.type||a.href)}};return c}(dat.utils.common); +dat.controllers.OptionController=function(f,a,d){var e=function(c,b,f){e.superclass.call(this,c,b);var q=this;this.__select=document.createElement("select");if(d.isArray(f)){var l={};d.each(f,function(a){l[a]=a});f=l}d.each(f,function(a,b){var c=document.createElement("option");c.innerHTML=b;c.setAttribute("value",a);q.__select.appendChild(c)});this.updateDisplay();a.bind(this.__select,"change",function(){q.setValue(this.options[this.selectedIndex].value)});this.domElement.appendChild(this.__select)}; +e.superclass=f;d.extend(e.prototype,f.prototype,{setValue:function(a){a=e.superclass.prototype.setValue.call(this,a);this.__onFinishChange&&this.__onFinishChange.call(this,this.getValue());return a},updateDisplay:function(){this.__select.value=this.getValue();return e.superclass.prototype.updateDisplay.call(this)}});return e}(dat.controllers.Controller,dat.dom.dom,dat.utils.common); +dat.controllers.NumberController=function(f,a){function d(a){a=a.toString();return-1<a.indexOf(".")?a.length-a.indexOf(".")-1:0}var e=function(c,b,f){e.superclass.call(this,c,b);f=f||{};this.__min=f.min;this.__max=f.max;this.__step=f.step;a.isUndefined(this.__step)?this.__impliedStep=0==this.initialValue?1:Math.pow(10,Math.floor(Math.log(Math.abs(this.initialValue))/Math.LN10))/10:this.__impliedStep=this.__step;this.__precision=d(this.__impliedStep)};e.superclass=f;a.extend(e.prototype,f.prototype, +{setValue:function(a){void 0!==this.__min&&a<this.__min?a=this.__min:void 0!==this.__max&&a>this.__max&&(a=this.__max);void 0!==this.__step&&0!=a%this.__step&&(a=Math.round(a/this.__step)*this.__step);return e.superclass.prototype.setValue.call(this,a)},min:function(a){this.__min=a;return this},max:function(a){this.__max=a;return this},step:function(a){this.__impliedStep=this.__step=a;this.__precision=d(a);return this}});return e}(dat.controllers.Controller,dat.utils.common); +dat.controllers.NumberControllerBox=function(f,a,d){var e=function(c,b,f){function q(){var a=parseFloat(n.__input.value);d.isNaN(a)||n.setValue(a)}function l(a){var b=u-a.clientY;n.setValue(n.getValue()+b*n.__impliedStep);u=a.clientY}function r(){a.unbind(window,"mousemove",l);a.unbind(window,"mouseup",r)}this.__truncationSuspended=!1;e.superclass.call(this,c,b,f);var n=this,u;this.__input=document.createElement("input");this.__input.setAttribute("type","text");a.bind(this.__input,"change",q);a.bind(this.__input, +"blur",function(){q();n.__onFinishChange&&n.__onFinishChange.call(n,n.getValue())});a.bind(this.__input,"mousedown",function(b){a.bind(window,"mousemove",l);a.bind(window,"mouseup",r);u=b.clientY});a.bind(this.__input,"keydown",function(a){13===a.keyCode&&(n.__truncationSuspended=!0,this.blur(),n.__truncationSuspended=!1)});this.updateDisplay();this.domElement.appendChild(this.__input)};e.superclass=f;d.extend(e.prototype,f.prototype,{updateDisplay:function(){var a=this.__input,b;if(this.__truncationSuspended)b= +this.getValue();else{b=this.getValue();var d=Math.pow(10,this.__precision);b=Math.round(b*d)/d}a.value=b;return e.superclass.prototype.updateDisplay.call(this)}});return e}(dat.controllers.NumberController,dat.dom.dom,dat.utils.common); +dat.controllers.NumberControllerSlider=function(f,a,d,e,c){function b(a,b,c,e,d){return e+(a-b)/(c-b)*(d-e)}var p=function(c,e,d,f,u){function A(c){c.preventDefault();var e=a.getOffset(k.__background),d=a.getWidth(k.__background);k.setValue(b(c.clientX,e.left,e.left+d,k.__min,k.__max));return!1}function g(){a.unbind(window,"mousemove",A);a.unbind(window,"mouseup",g);k.__onFinishChange&&k.__onFinishChange.call(k,k.getValue())}p.superclass.call(this,c,e,{min:d,max:f,step:u});var k=this;this.__background= +document.createElement("div");this.__foreground=document.createElement("div");a.bind(this.__background,"mousedown",function(b){a.bind(window,"mousemove",A);a.bind(window,"mouseup",g);A(b)});a.addClass(this.__background,"slider");a.addClass(this.__foreground,"slider-fg");this.updateDisplay();this.__background.appendChild(this.__foreground);this.domElement.appendChild(this.__background)};p.superclass=f;p.useDefaultStyles=function(){d.inject(c)};e.extend(p.prototype,f.prototype,{updateDisplay:function(){var a= +(this.getValue()-this.__min)/(this.__max-this.__min);this.__foreground.style.width=100*a+"%";return p.superclass.prototype.updateDisplay.call(this)}});return p}(dat.controllers.NumberController,dat.dom.dom,dat.utils.css,dat.utils.common,"/**\n * dat-gui JavaScript Controller Library\n * http://code.google.com/p/dat-gui\n *\n * Copyright 2011 Data Arts Team, Google Creative Lab\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n */\n\n.slider {\n box-shadow: inset 0 2px 4px rgba(0,0,0,0.15);\n height: 1em;\n border-radius: 1em;\n background-color: #eee;\n padding: 0 0.5em;\n overflow: hidden;\n}\n\n.slider-fg {\n padding: 1px 0 2px 0;\n background-color: #aaa;\n height: 1em;\n margin-left: -0.5em;\n padding-right: 0.5em;\n border-radius: 1em 0 0 1em;\n}\n\n.slider-fg:after {\n display: inline-block;\n border-radius: 1em;\n background-color: #fff;\n border: 1px solid #aaa;\n content: '';\n float: right;\n margin-right: -1em;\n margin-top: -1px;\n height: 0.9em;\n width: 0.9em;\n}"); +dat.controllers.FunctionController=function(f,a,d){var e=function(c,b,d){e.superclass.call(this,c,b);var f=this;this.__button=document.createElement("div");this.__button.innerHTML=void 0===d?"Fire":d;a.bind(this.__button,"click",function(a){a.preventDefault();f.fire();return!1});a.addClass(this.__button,"button");this.domElement.appendChild(this.__button)};e.superclass=f;d.extend(e.prototype,f.prototype,{fire:function(){this.__onChange&&this.__onChange.call(this);this.getValue().call(this.object); +this.__onFinishChange&&this.__onFinishChange.call(this,this.getValue())}});return e}(dat.controllers.Controller,dat.dom.dom,dat.utils.common); +dat.controllers.BooleanController=function(f,a,d){var e=function(c,b){e.superclass.call(this,c,b);var d=this;this.__prev=this.getValue();this.__checkbox=document.createElement("input");this.__checkbox.setAttribute("type","checkbox");a.bind(this.__checkbox,"change",function(){d.setValue(!d.__prev)},!1);this.domElement.appendChild(this.__checkbox);this.updateDisplay()};e.superclass=f;d.extend(e.prototype,f.prototype,{setValue:function(a){a=e.superclass.prototype.setValue.call(this,a);this.__onFinishChange&& +this.__onFinishChange.call(this,this.getValue());this.__prev=this.getValue();return a},updateDisplay:function(){!0===this.getValue()?(this.__checkbox.setAttribute("checked","checked"),this.__checkbox.checked=!0):this.__checkbox.checked=!1;return e.superclass.prototype.updateDisplay.call(this)}});return e}(dat.controllers.Controller,dat.dom.dom,dat.utils.common); +dat.color.toString=function(f){return function(a){if(1==a.a||f.isUndefined(a.a)){for(a=a.hex.toString(16);6>a.length;)a="0"+a;return"#"+a}return"rgba("+Math.round(a.r)+","+Math.round(a.g)+","+Math.round(a.b)+","+a.a+")"}}(dat.utils.common); +dat.color.interpret=function(f,a){var d,e,c=[{litmus:a.isString,conversions:{THREE_CHAR_HEX:{read:function(a){a=a.match(/^#([A-F0-9])([A-F0-9])([A-F0-9])$/i);return null===a?!1:{space:"HEX",hex:parseInt("0x"+a[1].toString()+a[1].toString()+a[2].toString()+a[2].toString()+a[3].toString()+a[3].toString())}},write:f},SIX_CHAR_HEX:{read:function(a){a=a.match(/^#([A-F0-9]{6})$/i);return null===a?!1:{space:"HEX",hex:parseInt("0x"+a[1].toString())}},write:f},CSS_RGB:{read:function(a){a=a.match(/^rgb\(\s*(.+)\s*,\s*(.+)\s*,\s*(.+)\s*\)/); +return null===a?!1:{space:"RGB",r:parseFloat(a[1]),g:parseFloat(a[2]),b:parseFloat(a[3])}},write:f},CSS_RGBA:{read:function(a){a=a.match(/^rgba\(\s*(.+)\s*,\s*(.+)\s*,\s*(.+)\s*\,\s*(.+)\s*\)/);return null===a?!1:{space:"RGB",r:parseFloat(a[1]),g:parseFloat(a[2]),b:parseFloat(a[3]),a:parseFloat(a[4])}},write:f}}},{litmus:a.isNumber,conversions:{HEX:{read:function(a){return{space:"HEX",hex:a,conversionName:"HEX"}},write:function(a){return a.hex}}}},{litmus:a.isArray,conversions:{RGB_ARRAY:{read:function(a){return 3!= +a.length?!1:{space:"RGB",r:a[0],g:a[1],b:a[2]}},write:function(a){return[a.r,a.g,a.b]}},RGBA_ARRAY:{read:function(a){return 4!=a.length?!1:{space:"RGB",r:a[0],g:a[1],b:a[2],a:a[3]}},write:function(a){return[a.r,a.g,a.b,a.a]}}}},{litmus:a.isObject,conversions:{RGBA_OBJ:{read:function(b){return a.isNumber(b.r)&&a.isNumber(b.g)&&a.isNumber(b.b)&&a.isNumber(b.a)?{space:"RGB",r:b.r,g:b.g,b:b.b,a:b.a}:!1},write:function(a){return{r:a.r,g:a.g,b:a.b,a:a.a}}},RGB_OBJ:{read:function(b){return a.isNumber(b.r)&& +a.isNumber(b.g)&&a.isNumber(b.b)?{space:"RGB",r:b.r,g:b.g,b:b.b}:!1},write:function(a){return{r:a.r,g:a.g,b:a.b}}},HSVA_OBJ:{read:function(b){return a.isNumber(b.h)&&a.isNumber(b.s)&&a.isNumber(b.v)&&a.isNumber(b.a)?{space:"HSV",h:b.h,s:b.s,v:b.v,a:b.a}:!1},write:function(a){return{h:a.h,s:a.s,v:a.v,a:a.a}}},HSV_OBJ:{read:function(b){return a.isNumber(b.h)&&a.isNumber(b.s)&&a.isNumber(b.v)?{space:"HSV",h:b.h,s:b.s,v:b.v}:!1},write:function(a){return{h:a.h,s:a.s,v:a.v}}}}}];return function(){e=!1; +var b=1<arguments.length?a.toArray(arguments):arguments[0];a.each(c,function(c){if(c.litmus(b))return a.each(c.conversions,function(c,f){d=c.read(b);if(!1===e&&!1!==d)return e=d,d.conversionName=f,d.conversion=c,a.BREAK}),a.BREAK});return e}}(dat.color.toString,dat.utils.common); +dat.GUI=dat.gui.GUI=function(f,a,d,e,c,b,p,q,l,r,n,u,A,g,k){function v(a,b,h,d){if(void 0===b[h])throw Error("Object "+b+' has no property "'+h+'"');d.color?b=new n(b,h):(b=[b,h].concat(d.factoryArgs),b=e.apply(a,b));d.before instanceof c&&(d.before=d.before.__li);y(a,b);g.addClass(b.domElement,"c");h=document.createElement("span");g.addClass(h,"property-name");h.innerHTML=b.property;var f=document.createElement("div");f.appendChild(h);f.appendChild(b.domElement);d=w(a,f,d.before);g.addClass(d,m.CLASS_CONTROLLER_ROW); +g.addClass(d,typeof b.getValue());t(a,d,b);a.__controllers.push(b);return b}function w(a,b,h){var c=document.createElement("li");b&&c.appendChild(b);h?a.__ul.insertBefore(c,params.before):a.__ul.appendChild(c);a.onResize();return c}function t(a,c,h){h.__li=c;h.__gui=a;k.extend(h,{options:function(b){if(1<arguments.length)return h.remove(),v(a,h.object,h.property,{before:h.__li.nextElementSibling,factoryArgs:[k.toArray(arguments)]});if(k.isArray(b)||k.isObject(b))return h.remove(),v(a,h.object,h.property, +{before:h.__li.nextElementSibling,factoryArgs:[b]})},name:function(a){h.__li.firstElementChild.firstElementChild.innerHTML=a;return h},listen:function(){h.__gui.listen(h);return h},remove:function(){h.__gui.remove(h);return h}});if(h instanceof l){var d=new q(h.object,h.property,{min:h.__min,max:h.__max,step:h.__step});k.each(["updateDisplay","onChange","onFinishChange"],function(a){var K=h[a],b=d[a];h[a]=d[a]=function(){var a=Array.prototype.slice.call(arguments);K.apply(h,a);return b.apply(d,a)}}); +g.addClass(c,"has-slider");h.domElement.insertBefore(d.domElement,h.domElement.firstElementChild)}else if(h instanceof q){var e=function(b){return k.isNumber(h.__min)&&k.isNumber(h.__max)?(h.remove(),v(a,h.object,h.property,{before:h.__li.nextElementSibling,factoryArgs:[h.__min,h.__max,h.__step]})):b};h.min=k.compose(e,h.min);h.max=k.compose(e,h.max)}else h instanceof b?(g.bind(c,"click",function(){g.fakeEvent(h.__checkbox,"click")}),g.bind(h.__checkbox,"click",function(a){a.stopPropagation()})): +h instanceof p?(g.bind(c,"click",function(){g.fakeEvent(h.__button,"click")}),g.bind(c,"mouseover",function(){g.addClass(h.__button,"hover")}),g.bind(c,"mouseout",function(){g.removeClass(h.__button,"hover")})):h instanceof n&&(g.addClass(c,"color"),h.updateDisplay=k.compose(function(a){c.style.borderLeftColor=h.__color.toString();return a},h.updateDisplay),h.updateDisplay());h.setValue=k.compose(function(b){a.getRoot().__preset_select&&h.isModified()&&E(a.getRoot(),!0);return b},h.setValue)}function y(a, +b){var c=a.getRoot(),d=c.__rememberedObjects.indexOf(b.object);if(-1!=d){var e=c.__rememberedObjectIndecesToControllers[d];void 0===e&&(e={},c.__rememberedObjectIndecesToControllers[d]=e);e[b.property]=b;if(c.load&&c.load.remembered){c=c.load.remembered;if(c[a.preset])c=c[a.preset];else if(c.Default)c=c.Default;else return;c[d]&&void 0!==c[d][b.property]&&(d=c[d][b.property],b.initialValue=d,b.setValue(d))}}}function L(a){var b=a.__save_row=document.createElement("li");g.addClass(a.domElement,"has-save"); +a.__ul.insertBefore(b,a.__ul.firstChild);g.addClass(b,"save-row");var c=document.createElement("span");c.innerHTML=" ";g.addClass(c,"button gears");var d=document.createElement("span");d.innerHTML="Save";g.addClass(d,"button");g.addClass(d,"save");var e=document.createElement("span");e.innerHTML="New";g.addClass(e,"button");g.addClass(e,"save-as");var f=document.createElement("span");f.innerHTML="Revert";g.addClass(f,"button");g.addClass(f,"revert");var r=a.__preset_select=document.createElement("select"); +a.load&&a.load.remembered?k.each(a.load.remembered,function(b,c){F(a,c,c==a.preset)}):F(a,"Default",!1);g.bind(r,"change",function(){for(var b=0;b<a.__preset_select.length;b++)a.__preset_select[b].innerHTML=a.__preset_select[b].value;a.preset=this.value});b.appendChild(r);b.appendChild(c);b.appendChild(d);b.appendChild(e);b.appendChild(f);if(x){var n=function(){u.style.display=a.useLocalStorage?"block":"none"},b=document.getElementById("dg-save-locally"),u=document.getElementById("dg-local-explain"); +b.style.display="block";b=document.getElementById("dg-local-storage");"true"===localStorage.getItem(document.location.href+".isLocal")&&b.setAttribute("checked","checked");n();g.bind(b,"change",function(){a.useLocalStorage=!a.useLocalStorage;n()})}var m=document.getElementById("dg-new-constructor");g.bind(m,"keydown",function(a){!a.metaKey||67!==a.which&&67!=a.keyCode||B.hide()});g.bind(c,"click",function(){m.innerHTML=JSON.stringify(a.getSaveObject(),void 0,2);B.show();m.focus();m.select()});g.bind(d, +"click",function(){a.save()});g.bind(e,"click",function(){var b=prompt("Enter a new preset name.");b&&a.saveAs(b)});g.bind(f,"click",function(){a.revert()})}function M(a){function b(f){f.preventDefault();e=f.clientX;g.addClass(a.__closeButton,m.CLASS_DRAG);g.bind(window,"mousemove",c);g.bind(window,"mouseup",d);return!1}function c(b){b.preventDefault();a.width+=e-b.clientX;a.onResize();e=b.clientX;return!1}function d(){g.removeClass(a.__closeButton,m.CLASS_DRAG);g.unbind(window,"mousemove",c);g.unbind(window, +"mouseup",d)}a.__resize_handle=document.createElement("div");k.extend(a.__resize_handle.style,{width:"6px",marginLeft:"-3px",height:"200px",cursor:"ew-resize",position:"absolute"});var e;g.bind(a.__resize_handle,"mousedown",b);g.bind(a.__closeButton,"mousedown",b);a.domElement.insertBefore(a.__resize_handle,a.domElement.firstElementChild)}function G(a,b){a.domElement.style.width=b+"px";a.__save_row&&a.autoPlace&&(a.__save_row.style.width=b+"px");a.__closeButton&&(a.__closeButton.style.width=b+"px")} +function C(a,b){var c={};k.each(a.__rememberedObjects,function(d,e){var f={};k.each(a.__rememberedObjectIndecesToControllers[e],function(a,c){f[c]=b?a.initialValue:a.getValue()});c[e]=f});return c}function F(a,b,c){var d=document.createElement("option");d.innerHTML=b;d.value=b;a.__preset_select.appendChild(d);c&&(a.__preset_select.selectedIndex=a.__preset_select.length-1)}function E(a,b){var c=a.__preset_select[a.__preset_select.selectedIndex];c.innerHTML=b?c.value+"*":c.value}function H(a){0!=a.length&& +u(function(){H(a)});k.each(a,function(a){a.updateDisplay()})}f.inject(d);var x;try{x="localStorage"in window&&null!==window.localStorage}catch(N){x=!1}var B,I=!0,z,D=!1,J=[],m=function(a){function b(){var a=c.getRoot();a.width+=1;k.defer(function(){--a.width})}var c=this;this.domElement=document.createElement("div");this.__ul=document.createElement("ul");this.domElement.appendChild(this.__ul);g.addClass(this.domElement,"dg");this.__folders={};this.__controllers=[];this.__rememberedObjects=[];this.__rememberedObjectIndecesToControllers= +[];this.__listening=[];a=a||{};a=k.defaults(a,{autoPlace:!0,width:m.DEFAULT_WIDTH});a=k.defaults(a,{resizable:a.autoPlace,hideable:a.autoPlace});k.isUndefined(a.load)?a.load={preset:"Default"}:a.preset&&(a.load.preset=a.preset);k.isUndefined(a.parent)&&a.hideable&&J.push(this);a.resizable=k.isUndefined(a.parent)&&a.resizable;a.autoPlace&&k.isUndefined(a.scrollable)&&(a.scrollable=!0);var d=x&&"true"===localStorage.getItem(document.location.href+".isLocal"),e;Object.defineProperties(this,{parent:{get:function(){return a.parent}}, +scrollable:{get:function(){return a.scrollable}},autoPlace:{get:function(){return a.autoPlace}},preset:{get:function(){return c.parent?c.getRoot().preset:a.load.preset},set:function(b){c.parent?c.getRoot().preset=b:a.load.preset=b;for(b=0;b<this.__preset_select.length;b++)this.__preset_select[b].value==this.preset&&(this.__preset_select.selectedIndex=b);c.revert()}},width:{get:function(){return a.width},set:function(b){a.width=b;G(c,b)}},name:{get:function(){return a.name},set:function(b){a.name= +b;r&&(r.innerHTML=a.name)}},closed:{get:function(){return a.closed},set:function(b){a.closed=b;a.closed?g.addClass(c.__ul,m.CLASS_CLOSED):g.removeClass(c.__ul,m.CLASS_CLOSED);this.onResize();c.__closeButton&&(c.__closeButton.innerHTML=b?m.TEXT_OPEN:m.TEXT_CLOSED)}},load:{get:function(){return a.load}},useLocalStorage:{get:function(){return d},set:function(a){x&&((d=a)?g.bind(window,"unload",e):g.unbind(window,"unload",e),localStorage.setItem(document.location.href+".isLocal",a))}}});if(k.isUndefined(a.parent)){a.closed= +!1;g.addClass(this.domElement,m.CLASS_MAIN);g.makeSelectable(this.domElement,!1);if(x&&d){c.useLocalStorage=!0;var f=localStorage.getItem(document.location.href+".gui");f&&(a.load=JSON.parse(f))}this.__closeButton=document.createElement("div");this.__closeButton.innerHTML=m.TEXT_CLOSED;g.addClass(this.__closeButton,m.CLASS_CLOSE_BUTTON);this.domElement.appendChild(this.__closeButton);g.bind(this.__closeButton,"click",function(){c.closed=!c.closed})}else{void 0===a.closed&&(a.closed=!0);var r=document.createTextNode(a.name); +g.addClass(r,"controller-name");f=w(c,r);g.addClass(this.__ul,m.CLASS_CLOSED);g.addClass(f,"title");g.bind(f,"click",function(a){a.preventDefault();c.closed=!c.closed;return!1});a.closed||(this.closed=!1)}a.autoPlace&&(k.isUndefined(a.parent)&&(I&&(z=document.createElement("div"),g.addClass(z,"dg"),g.addClass(z,m.CLASS_AUTO_PLACE_CONTAINER),document.body.appendChild(z),I=!1),z.appendChild(this.domElement),g.addClass(this.domElement,m.CLASS_AUTO_PLACE)),this.parent||G(c,a.width));g.bind(window,"resize", +function(){c.onResize()});g.bind(this.__ul,"webkitTransitionEnd",function(){c.onResize()});g.bind(this.__ul,"transitionend",function(){c.onResize()});g.bind(this.__ul,"oTransitionEnd",function(){c.onResize()});this.onResize();a.resizable&&M(this);this.saveToLocalStorageIfPossible=e=function(){x&&"true"===localStorage.getItem(document.location.href+".isLocal")&&localStorage.setItem(document.location.href+".gui",JSON.stringify(c.getSaveObject()))};c.getRoot();a.parent||b()};m.toggleHide=function(){D= +!D;k.each(J,function(a){a.domElement.style.zIndex=D?-999:999;a.domElement.style.opacity=D?0:1})};m.CLASS_AUTO_PLACE="a";m.CLASS_AUTO_PLACE_CONTAINER="ac";m.CLASS_MAIN="main";m.CLASS_CONTROLLER_ROW="cr";m.CLASS_TOO_TALL="taller-than-window";m.CLASS_CLOSED="closed";m.CLASS_CLOSE_BUTTON="close-button";m.CLASS_DRAG="drag";m.DEFAULT_WIDTH=245;m.TEXT_CLOSED="Close Controls";m.TEXT_OPEN="Open Controls";g.bind(window,"keydown",function(a){"text"===document.activeElement.type||72!==a.which&&72!=a.keyCode|| +m.toggleHide()},!1);k.extend(m.prototype,{add:function(a,b){return v(this,a,b,{factoryArgs:Array.prototype.slice.call(arguments,2)})},addColor:function(a,b){return v(this,a,b,{color:!0})},remove:function(a){this.__ul.removeChild(a.__li);this.__controllers.splice(this.__controllers.indexOf(a),1);var b=this;k.defer(function(){b.onResize()})},destroy:function(){this.autoPlace&&z.removeChild(this.domElement)},addFolder:function(a){if(void 0!==this.__folders[a])throw Error('You already have a folder in this GUI by the name "'+ +a+'"');var b={name:a,parent:this};b.autoPlace=this.autoPlace;this.load&&this.load.folders&&this.load.folders[a]&&(b.closed=this.load.folders[a].closed,b.load=this.load.folders[a]);b=new m(b);this.__folders[a]=b;a=w(this,b.domElement);g.addClass(a,"folder");return b},open:function(){this.closed=!1},close:function(){this.closed=!0},onResize:function(){var a=this.getRoot();if(a.scrollable){var b=g.getOffset(a.__ul).top,c=0;k.each(a.__ul.childNodes,function(b){a.autoPlace&&b===a.__save_row||(c+=g.getHeight(b))}); +window.innerHeight-b-20<c?(g.addClass(a.domElement,m.CLASS_TOO_TALL),a.__ul.style.height=window.innerHeight-b-20+"px"):(g.removeClass(a.domElement,m.CLASS_TOO_TALL),a.__ul.style.height="auto")}a.__resize_handle&&k.defer(function(){a.__resize_handle.style.height=a.__ul.offsetHeight+"px"});a.__closeButton&&(a.__closeButton.style.width=a.width+"px")},remember:function(){k.isUndefined(B)&&(B=new A,B.domElement.innerHTML=a);if(this.parent)throw Error("You can only call remember on a top level GUI.");var b= +this;k.each(Array.prototype.slice.call(arguments),function(a){0==b.__rememberedObjects.length&&L(b);-1==b.__rememberedObjects.indexOf(a)&&b.__rememberedObjects.push(a)});this.autoPlace&&G(this,this.width)},getRoot:function(){for(var a=this;a.parent;)a=a.parent;return a},getSaveObject:function(){var a=this.load;a.closed=this.closed;0<this.__rememberedObjects.length&&(a.preset=this.preset,a.remembered||(a.remembered={}),a.remembered[this.preset]=C(this));a.folders={};k.each(this.__folders,function(b, +c){a.folders[c]=b.getSaveObject()});return a},save:function(){this.load.remembered||(this.load.remembered={});this.load.remembered[this.preset]=C(this);E(this,!1);this.saveToLocalStorageIfPossible()},saveAs:function(a){this.load.remembered||(this.load.remembered={},this.load.remembered.Default=C(this,!0));this.load.remembered[a]=C(this);this.preset=a;F(this,a,!0);this.saveToLocalStorageIfPossible()},revert:function(a){k.each(this.__controllers,function(b){this.getRoot().load.remembered?y(a||this.getRoot(), +b):b.setValue(b.initialValue)},this);k.each(this.__folders,function(a){a.revert(a)});a||E(this.getRoot(),!1)},listen:function(a){var b=0==this.__listening.length;this.__listening.push(a);b&&H(this.__listening)}});return m}(dat.utils.css,'<div id="dg-save" class="dg dialogue">\n\n Here\'s the new load parameter for your <code>GUI</code>\'s constructor:\n\n <textarea id="dg-new-constructor"></textarea>\n\n <div id="dg-save-locally">\n\n <input id="dg-local-storage" type="checkbox"/> Automatically save\n values to <code>localStorage</code> on exit.\n\n <div id="dg-local-explain">The values saved to <code>localStorage</code> will\n override those passed to <code>dat.GUI</code>\'s constructor. This makes it\n easier to work incrementally, but <code>localStorage</code> is fragile,\n and your friends may not see the same values you do.\n \n </div>\n \n </div>\n\n</div>', +".dg {\n /** Clear list styles */\n /* Auto-place container */\n /* Auto-placed GUI's */\n /* Line items that don't contain folders. */\n /** Folder names */\n /** Hides closed items */\n /** Controller row */\n /** Name-half (left) */\n /** Controller-half (right) */\n /** Controller placement */\n /** Shorter number boxes when slider is present. */\n /** Ensure the entire boolean and function row shows a hand */ }\n .dg ul {\n list-style: none;\n margin: 0;\n padding: 0;\n width: 100%;\n clear: both; }\n .dg.ac {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n height: 0;\n z-index: 0; }\n .dg:not(.ac) .main {\n /** Exclude mains in ac so that we don't hide close button */\n overflow: hidden; }\n .dg.main {\n -webkit-transition: opacity 0.1s linear;\n -o-transition: opacity 0.1s linear;\n -moz-transition: opacity 0.1s linear;\n transition: opacity 0.1s linear; }\n .dg.main.taller-than-window {\n overflow-y: auto; }\n .dg.main.taller-than-window .close-button {\n opacity: 1;\n /* TODO, these are style notes */\n margin-top: -1px;\n border-top: 1px solid #2c2c2c; }\n .dg.main ul.closed .close-button {\n opacity: 1 !important; }\n .dg.main:hover .close-button,\n .dg.main .close-button.drag {\n opacity: 1; }\n .dg.main .close-button {\n /*opacity: 0;*/\n -webkit-transition: opacity 0.1s linear;\n -o-transition: opacity 0.1s linear;\n -moz-transition: opacity 0.1s linear;\n transition: opacity 0.1s linear;\n border: 0;\n position: absolute;\n line-height: 19px;\n height: 20px;\n /* TODO, these are style notes */\n cursor: pointer;\n text-align: center;\n background-color: #000; }\n .dg.main .close-button:hover {\n background-color: #111; }\n .dg.a {\n float: right;\n margin-right: 15px;\n overflow-x: hidden; }\n .dg.a.has-save > ul {\n margin-top: 27px; }\n .dg.a.has-save > ul.closed {\n margin-top: 0; }\n .dg.a .save-row {\n position: fixed;\n top: 0;\n z-index: 1002; }\n .dg li {\n -webkit-transition: height 0.1s ease-out;\n -o-transition: height 0.1s ease-out;\n -moz-transition: height 0.1s ease-out;\n transition: height 0.1s ease-out; }\n .dg li:not(.folder) {\n cursor: auto;\n height: 27px;\n line-height: 27px;\n overflow: hidden;\n padding: 0 4px 0 5px; }\n .dg li.folder {\n padding: 0;\n border-left: 4px solid rgba(0, 0, 0, 0); }\n .dg li.title {\n cursor: pointer;\n margin-left: -4px; }\n .dg .closed li:not(.title),\n .dg .closed ul li,\n .dg .closed ul li > * {\n height: 0;\n overflow: hidden;\n border: 0; }\n .dg .cr {\n clear: both;\n padding-left: 3px;\n height: 27px; }\n .dg .property-name {\n cursor: default;\n float: left;\n clear: left;\n width: 40%;\n overflow: hidden;\n text-overflow: ellipsis; }\n .dg .c {\n float: left;\n width: 60%; }\n .dg .c input[type=text] {\n border: 0;\n margin-top: 4px;\n padding: 3px;\n width: 100%;\n float: right; }\n .dg .has-slider input[type=text] {\n width: 30%;\n /*display: none;*/\n margin-left: 0; }\n .dg .slider {\n float: left;\n width: 66%;\n margin-left: -5px;\n margin-right: 0;\n height: 19px;\n margin-top: 4px; }\n .dg .slider-fg {\n height: 100%; }\n .dg .c input[type=checkbox] {\n margin-top: 9px; }\n .dg .c select {\n margin-top: 5px; }\n .dg .cr.function,\n .dg .cr.function .property-name,\n .dg .cr.function *,\n .dg .cr.boolean,\n .dg .cr.boolean * {\n cursor: pointer; }\n .dg .selector {\n display: none;\n position: absolute;\n margin-left: -9px;\n margin-top: 23px;\n z-index: 10; }\n .dg .c:hover .selector,\n .dg .selector.drag {\n display: block; }\n .dg li.save-row {\n padding: 0; }\n .dg li.save-row .button {\n display: inline-block;\n padding: 0px 6px; }\n .dg.dialogue {\n background-color: #222;\n width: 460px;\n padding: 15px;\n font-size: 13px;\n line-height: 15px; }\n\n/* TODO Separate style and structure */\n#dg-new-constructor {\n padding: 10px;\n color: #222;\n font-family: Monaco, monospace;\n font-size: 10px;\n border: 0;\n resize: none;\n box-shadow: inset 1px 1px 1px #888;\n word-wrap: break-word;\n margin: 12px 0;\n display: block;\n width: 440px;\n overflow-y: scroll;\n height: 100px;\n position: relative; }\n\n#dg-local-explain {\n display: none;\n font-size: 11px;\n line-height: 17px;\n border-radius: 3px;\n background-color: #333;\n padding: 8px;\n margin-top: 10px; }\n #dg-local-explain code {\n font-size: 10px; }\n\n#dat-gui-save-locally {\n display: none; }\n\n/** Main type */\n.dg {\n color: #eee;\n font: 11px 'Lucida Grande', sans-serif;\n text-shadow: 0 -1px 0 #111;\n /** Auto place */\n /* Controller row, <li> */\n /** Controllers */ }\n .dg.main {\n /** Scrollbar */ }\n .dg.main::-webkit-scrollbar {\n width: 5px;\n background: #1a1a1a; }\n .dg.main::-webkit-scrollbar-corner {\n height: 0;\n display: none; }\n .dg.main::-webkit-scrollbar-thumb {\n border-radius: 5px;\n background: #676767; }\n .dg li:not(.folder) {\n background: #1a1a1a;\n border-bottom: 1px solid #2c2c2c; }\n .dg li.save-row {\n line-height: 25px;\n background: #dad5cb;\n border: 0; }\n .dg li.save-row select {\n margin-left: 5px;\n width: 108px; }\n .dg li.save-row .button {\n margin-left: 5px;\n margin-top: 1px;\n border-radius: 2px;\n font-size: 9px;\n line-height: 7px;\n padding: 4px 4px 5px 4px;\n background: #c5bdad;\n color: #fff;\n text-shadow: 0 1px 0 #b0a58f;\n box-shadow: 0 -1px 0 #b0a58f;\n cursor: pointer; }\n .dg li.save-row .button.gears {\n background: #c5bdad url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAANCAYAAAB/9ZQ7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAQJJREFUeNpiYKAU/P//PwGIC/ApCABiBSAW+I8AClAcgKxQ4T9hoMAEUrxx2QSGN6+egDX+/vWT4e7N82AMYoPAx/evwWoYoSYbACX2s7KxCxzcsezDh3evFoDEBYTEEqycggWAzA9AuUSQQgeYPa9fPv6/YWm/Acx5IPb7ty/fw+QZblw67vDs8R0YHyQhgObx+yAJkBqmG5dPPDh1aPOGR/eugW0G4vlIoTIfyFcA+QekhhHJhPdQxbiAIguMBTQZrPD7108M6roWYDFQiIAAv6Aow/1bFwXgis+f2LUAynwoIaNcz8XNx3Dl7MEJUDGQpx9gtQ8YCueB+D26OECAAQDadt7e46D42QAAAABJRU5ErkJggg==) 2px 1px no-repeat;\n height: 7px;\n width: 8px; }\n .dg li.save-row .button:hover {\n background-color: #bab19e;\n box-shadow: 0 -1px 0 #b0a58f; }\n .dg li.folder {\n border-bottom: 0; }\n .dg li.title {\n padding-left: 16px;\n background: black url(data:image/gif;base64,R0lGODlhBQAFAJEAAP////Pz8////////yH5BAEAAAIALAAAAAAFAAUAAAIIlI+hKgFxoCgAOw==) 6px 10px no-repeat;\n cursor: pointer;\n border-bottom: 1px solid rgba(255, 255, 255, 0.2); }\n .dg .closed li.title {\n background-image: url(data:image/gif;base64,R0lGODlhBQAFAJEAAP////Pz8////////yH5BAEAAAIALAAAAAAFAAUAAAIIlGIWqMCbWAEAOw==); }\n .dg .cr.boolean {\n border-left: 3px solid #806787; }\n .dg .cr.function {\n border-left: 3px solid #e61d5f; }\n .dg .cr.number {\n border-left: 3px solid #2fa1d6; }\n .dg .cr.number input[type=text] {\n color: #2fa1d6; }\n .dg .cr.string {\n border-left: 3px solid #1ed36f; }\n .dg .cr.string input[type=text] {\n color: #1ed36f; }\n .dg .cr.function:hover, .dg .cr.boolean:hover {\n background: #111; }\n .dg .c input[type=text] {\n background: #303030;\n outline: none; }\n .dg .c input[type=text]:hover {\n background: #3c3c3c; }\n .dg .c input[type=text]:focus {\n background: #494949;\n color: #fff; }\n .dg .c .slider {\n background: #303030;\n cursor: ew-resize; }\n .dg .c .slider-fg {\n background: #2fa1d6; }\n .dg .c .slider:hover {\n background: #3c3c3c; }\n .dg .c .slider:hover .slider-fg {\n background: #44abda; }\n", +dat.controllers.factory=function(f,a,d,e,c,b,p){return function(q,l,r,n){var u=q[l];if(p.isArray(r)||p.isObject(r))return new f(q,l,r);if(p.isNumber(u))return p.isNumber(r)&&p.isNumber(n)?new d(q,l,r,n):new a(q,l,{min:r,max:n});if(p.isString(u))return new e(q,l);if(p.isFunction(u))return new c(q,l,"");if(p.isBoolean(u))return new b(q,l)}}(dat.controllers.OptionController,dat.controllers.NumberControllerBox,dat.controllers.NumberControllerSlider,dat.controllers.StringController=function(f,a,d){var e= +function(c,b){function d(){f.setValue(f.__input.value)}e.superclass.call(this,c,b);var f=this;this.__input=document.createElement("input");this.__input.setAttribute("type","text");a.bind(this.__input,"keyup",d);a.bind(this.__input,"change",d);a.bind(this.__input,"blur",function(){f.__onFinishChange&&f.__onFinishChange.call(f,f.getValue())});a.bind(this.__input,"keydown",function(a){13===a.keyCode&&this.blur()});this.updateDisplay();this.domElement.appendChild(this.__input)};e.superclass=f;d.extend(e.prototype, +f.prototype,{updateDisplay:function(){a.isActive(this.__input)||(this.__input.value=this.getValue());return e.superclass.prototype.updateDisplay.call(this)}});return e}(dat.controllers.Controller,dat.dom.dom,dat.utils.common),dat.controllers.FunctionController,dat.controllers.BooleanController,dat.utils.common),dat.controllers.Controller,dat.controllers.BooleanController,dat.controllers.FunctionController,dat.controllers.NumberControllerBox,dat.controllers.NumberControllerSlider,dat.controllers.OptionController, +dat.controllers.ColorController=function(f,a,d,e,c){function b(a,b,d,e){a.style.background="";c.each(l,function(c){a.style.cssText+="background: "+c+"linear-gradient("+b+", "+d+" 0%, "+e+" 100%); "})}function p(a){a.style.background="";a.style.cssText+="background: -moz-linear-gradient(top, #ff0000 0%, #ff00ff 17%, #0000ff 34%, #00ffff 50%, #00ff00 67%, #ffff00 84%, #ff0000 100%);";a.style.cssText+="background: -webkit-linear-gradient(top, #ff0000 0%,#ff00ff 17%,#0000ff 34%,#00ffff 50%,#00ff00 67%,#ffff00 84%,#ff0000 100%);"; +a.style.cssText+="background: -o-linear-gradient(top, #ff0000 0%,#ff00ff 17%,#0000ff 34%,#00ffff 50%,#00ff00 67%,#ffff00 84%,#ff0000 100%);";a.style.cssText+="background: -ms-linear-gradient(top, #ff0000 0%,#ff00ff 17%,#0000ff 34%,#00ffff 50%,#00ff00 67%,#ffff00 84%,#ff0000 100%);";a.style.cssText+="background: linear-gradient(top, #ff0000 0%,#ff00ff 17%,#0000ff 34%,#00ffff 50%,#00ff00 67%,#ffff00 84%,#ff0000 100%);"}var q=function(f,n){function u(b){v(b);a.bind(window,"mousemove",v);a.bind(window, +"mouseup",l)}function l(){a.unbind(window,"mousemove",v);a.unbind(window,"mouseup",l)}function g(){var a=e(this.value);!1!==a?(t.__color.__state=a,t.setValue(t.__color.toOriginal())):this.value=t.__color.toString()}function k(){a.unbind(window,"mousemove",w);a.unbind(window,"mouseup",k)}function v(b){b.preventDefault();var c=a.getWidth(t.__saturation_field),d=a.getOffset(t.__saturation_field),e=(b.clientX-d.left+document.body.scrollLeft)/c;b=1-(b.clientY-d.top+document.body.scrollTop)/c;1<b?b=1:0> +b&&(b=0);1<e?e=1:0>e&&(e=0);t.__color.v=b;t.__color.s=e;t.setValue(t.__color.toOriginal());return!1}function w(b){b.preventDefault();var c=a.getHeight(t.__hue_field),d=a.getOffset(t.__hue_field);b=1-(b.clientY-d.top+document.body.scrollTop)/c;1<b?b=1:0>b&&(b=0);t.__color.h=360*b;t.setValue(t.__color.toOriginal());return!1}q.superclass.call(this,f,n);this.__color=new d(this.getValue());this.__temp=new d(0);var t=this;this.domElement=document.createElement("div");a.makeSelectable(this.domElement,!1); +this.__selector=document.createElement("div");this.__selector.className="selector";this.__saturation_field=document.createElement("div");this.__saturation_field.className="saturation-field";this.__field_knob=document.createElement("div");this.__field_knob.className="field-knob";this.__field_knob_border="2px solid ";this.__hue_knob=document.createElement("div");this.__hue_knob.className="hue-knob";this.__hue_field=document.createElement("div");this.__hue_field.className="hue-field";this.__input=document.createElement("input"); +this.__input.type="text";this.__input_textShadow="0 1px 1px ";a.bind(this.__input,"keydown",function(a){13===a.keyCode&&g.call(this)});a.bind(this.__input,"blur",g);a.bind(this.__selector,"mousedown",function(b){a.addClass(this,"drag").bind(window,"mouseup",function(b){a.removeClass(t.__selector,"drag")})});var y=document.createElement("div");c.extend(this.__selector.style,{width:"122px",height:"102px",padding:"3px",backgroundColor:"#222",boxShadow:"0px 1px 3px rgba(0,0,0,0.3)"});c.extend(this.__field_knob.style, +{position:"absolute",width:"12px",height:"12px",border:this.__field_knob_border+(.5>this.__color.v?"#fff":"#000"),boxShadow:"0px 1px 3px rgba(0,0,0,0.5)",borderRadius:"12px",zIndex:1});c.extend(this.__hue_knob.style,{position:"absolute",width:"15px",height:"2px",borderRight:"4px solid #fff",zIndex:1});c.extend(this.__saturation_field.style,{width:"100px",height:"100px",border:"1px solid #555",marginRight:"3px",display:"inline-block",cursor:"pointer"});c.extend(y.style,{width:"100%",height:"100%", +background:"none"});b(y,"top","rgba(0,0,0,0)","#000");c.extend(this.__hue_field.style,{width:"15px",height:"100px",display:"inline-block",border:"1px solid #555",cursor:"ns-resize"});p(this.__hue_field);c.extend(this.__input.style,{outline:"none",textAlign:"center",color:"#fff",border:0,fontWeight:"bold",textShadow:this.__input_textShadow+"rgba(0,0,0,0.7)"});a.bind(this.__saturation_field,"mousedown",u);a.bind(this.__field_knob,"mousedown",u);a.bind(this.__hue_field,"mousedown",function(b){w(b);a.bind(window, +"mousemove",w);a.bind(window,"mouseup",k)});this.__saturation_field.appendChild(y);this.__selector.appendChild(this.__field_knob);this.__selector.appendChild(this.__saturation_field);this.__selector.appendChild(this.__hue_field);this.__hue_field.appendChild(this.__hue_knob);this.domElement.appendChild(this.__input);this.domElement.appendChild(this.__selector);this.updateDisplay()};q.superclass=f;c.extend(q.prototype,f.prototype,{updateDisplay:function(){var a=e(this.getValue());if(!1!==a){var f=!1; +c.each(d.COMPONENTS,function(b){if(!c.isUndefined(a[b])&&!c.isUndefined(this.__color.__state[b])&&a[b]!==this.__color.__state[b])return f=!0,{}},this);f&&c.extend(this.__color.__state,a)}c.extend(this.__temp.__state,this.__color.__state);this.__temp.a=1;var l=.5>this.__color.v||.5<this.__color.s?255:0,p=255-l;c.extend(this.__field_knob.style,{marginLeft:100*this.__color.s-7+"px",marginTop:100*(1-this.__color.v)-7+"px",backgroundColor:this.__temp.toString(),border:this.__field_knob_border+"rgb("+l+ +","+l+","+l+")"});this.__hue_knob.style.marginTop=100*(1-this.__color.h/360)+"px";this.__temp.s=1;this.__temp.v=1;b(this.__saturation_field,"left","#fff",this.__temp.toString());c.extend(this.__input.style,{backgroundColor:this.__input.value=this.__color.toString(),color:"rgb("+l+","+l+","+l+")",textShadow:this.__input_textShadow+"rgba("+p+","+p+","+p+",.7)"})}});var l=["-moz-","-o-","-webkit-","-ms-",""];return q}(dat.controllers.Controller,dat.dom.dom,dat.color.Color=function(f,a,d,e){function c(a, +b,c){Object.defineProperty(a,b,{get:function(){if("RGB"===this.__state.space)return this.__state[b];p(this,b,c);return this.__state[b]},set:function(a){"RGB"!==this.__state.space&&(p(this,b,c),this.__state.space="RGB");this.__state[b]=a}})}function b(a,b){Object.defineProperty(a,b,{get:function(){if("HSV"===this.__state.space)return this.__state[b];q(this);return this.__state[b]},set:function(a){"HSV"!==this.__state.space&&(q(this),this.__state.space="HSV");this.__state[b]=a}})}function p(b,c,d){if("HEX"=== +b.__state.space)b.__state[c]=a.component_from_hex(b.__state.hex,d);else if("HSV"===b.__state.space)e.extend(b.__state,a.hsv_to_rgb(b.__state.h,b.__state.s,b.__state.v));else throw"Corrupted color state";}function q(b){var c=a.rgb_to_hsv(b.r,b.g,b.b);e.extend(b.__state,{s:c.s,v:c.v});e.isNaN(c.h)?e.isUndefined(b.__state.h)&&(b.__state.h=0):b.__state.h=c.h}var l=function(){this.__state=f.apply(this,arguments);if(!1===this.__state)throw"Failed to interpret color arguments";this.__state.a=this.__state.a|| +1};l.COMPONENTS="r g b h s v hex a".split(" ");e.extend(l.prototype,{toString:function(){return d(this)},toOriginal:function(){return this.__state.conversion.write(this)}});c(l.prototype,"r",2);c(l.prototype,"g",1);c(l.prototype,"b",0);b(l.prototype,"h");b(l.prototype,"s");b(l.prototype,"v");Object.defineProperty(l.prototype,"a",{get:function(){return this.__state.a},set:function(a){this.__state.a=a}});Object.defineProperty(l.prototype,"hex",{get:function(){"HEX"!==!this.__state.space&&(this.__state.hex= +a.rgb_to_hex(this.r,this.g,this.b));return this.__state.hex},set:function(a){this.__state.space="HEX";this.__state.hex=a}});return l}(dat.color.interpret,dat.color.math=function(){var f;return{hsv_to_rgb:function(a,d,e){var c=a/60-Math.floor(a/60),b=e*(1-d),f=e*(1-c*d);d=e*(1-(1-c)*d);a=[[e,d,b],[f,e,b],[b,e,d],[b,f,e],[d,b,e],[e,b,f]][Math.floor(a/60)%6];return{r:255*a[0],g:255*a[1],b:255*a[2]}},rgb_to_hsv:function(a,d,e){var c=Math.min(a,d,e),b=Math.max(a,d,e),c=b-c;if(0==b)return{h:NaN,s:0,v:0}; +a=(a==b?(d-e)/c:d==b?2+(e-a)/c:4+(a-d)/c)/6;0>a&&(a+=1);return{h:360*a,s:c/b,v:b/255}},rgb_to_hex:function(a,d,e){a=this.hex_with_component(0,2,a);a=this.hex_with_component(a,1,d);return a=this.hex_with_component(a,0,e)},component_from_hex:function(a,d){return a>>8*d&255},hex_with_component:function(a,d,e){return e<<(f=8*d)|a&~(255<<f)}}}(),dat.color.toString,dat.utils.common),dat.color.interpret,dat.utils.common),dat.utils.requestAnimationFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame|| +window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(f,a){window.setTimeout(f,1E3/60)}}(),dat.dom.CenteredDiv=function(f,a){var d=function(){this.backgroundElement=document.createElement("div");a.extend(this.backgroundElement.style,{backgroundColor:"rgba(0,0,0,0.8)",top:0,left:0,display:"none",zIndex:"1000",opacity:0,WebkitTransition:"opacity 0.2s linear",transition:"opacity 0.2s linear"});f.makeFullscreen(this.backgroundElement);this.backgroundElement.style.position= +"fixed";this.domElement=document.createElement("div");a.extend(this.domElement.style,{position:"fixed",display:"none",zIndex:"1001",opacity:0,WebkitTransition:"-webkit-transform 0.2s ease-out, opacity 0.2s linear",transition:"transform 0.2s ease-out, opacity 0.2s linear"});document.body.appendChild(this.backgroundElement);document.body.appendChild(this.domElement);var d=this;f.bind(this.backgroundElement,"click",function(){d.hide()})};d.prototype.show=function(){var d=this;this.backgroundElement.style.display= +"block";this.domElement.style.display="block";this.domElement.style.opacity=0;this.domElement.style.webkitTransform="scale(1.1)";this.layout();a.defer(function(){d.backgroundElement.style.opacity=1;d.domElement.style.opacity=1;d.domElement.style.webkitTransform="scale(1)"})};d.prototype.hide=function(){var a=this,c=function(){a.domElement.style.display="none";a.backgroundElement.style.display="none";f.unbind(a.domElement,"webkitTransitionEnd",c);f.unbind(a.domElement,"transitionend",c);f.unbind(a.domElement, +"oTransitionEnd",c)};f.bind(this.domElement,"webkitTransitionEnd",c);f.bind(this.domElement,"transitionend",c);f.bind(this.domElement,"oTransitionEnd",c);this.backgroundElement.style.opacity=0;this.domElement.style.opacity=0;this.domElement.style.webkitTransform="scale(1.1)"};d.prototype.layout=function(){this.domElement.style.left=window.innerWidth/2-f.getWidth(this.domElement)/2+"px";this.domElement.style.top=window.innerHeight/2-f.getHeight(this.domElement)/2+"px"};return d}(dat.dom.dom,dat.utils.common), +dat.dom.dom,dat.utils.common);
\ No newline at end of file diff --git a/src/main/webapp/static/login/echarts/map/js/china.js b/src/main/webapp/static/login/echarts/map/js/china.js new file mode 100644 index 0000000..917887e --- /dev/null +++ b/src/main/webapp/static/login/echarts/map/js/china.js @@ -0,0 +1,27 @@ +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['exports', 'echarts'], factory); + } else if (typeof exports === 'object' && typeof exports.nodeName !== 'string') { + // CommonJS + factory(exports, require('echarts')); + } else { + // Browser globals + factory({}, root.echarts); + } +}(this, function (exports, echarts) { + var log = function (msg) { + if (typeof console !== 'undefined') { + console && console.error && console.error(msg); + } + } + if (!echarts) { + log('ECharts is not Loaded'); + return; + } + if (!echarts.registerMap) { + log('ECharts Map is not loaded') + return; + } + echarts.registerMap('china', {"type":"FeatureCollection","features":[{"id":"710000","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@°Ü¯Û"],["@@ƛĴÕƊÉɼģºðʀ\\ƎsÆNŌÔĚänÜƤɊĂǀĆĴĤNJŨxĚĮǂƺòƌâÔ®ĮXŦţƸZûÐƕƑGđ¨ĭMó·ęcëƝɉlÝƯֹÅŃ^Ó·śŃNjƏďíåɛGɉ¿@ăƑ¥ĘWǬÏĶŁâ"],["@@\\p|WoYG¿¥Ij@¢"],["@@
¡@V^RqBbAnTXeRz¤L«³I"],["@@ÆEEkWqë @"],["@@fced"]],"encodeOffsets":[[[122886,24033]],[[123335,22980]],[[122375,24193]],[[122518,24117]],[[124427,22618]],[[124862,26043]]]},"properties":{"cp":[121.509062,25.044332],"name":"台湾","childNum":6}},{"id":"130000","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@o~Z]ªrºc_ħ²G¼s`jΟnüsÂłNX_M`ǽÓnUK
Ĝēs¤©yrý§uģcJe"],["@@U`Ts¿mÂ"],["@@oºƋÄdeVDJj£J|ÅdzÂFt~KŨ¸IÆv|¢r}èonb}`RÎÄn°ÒdÞ²^®lnÐèĄlðÓ×]ªÆ}LiñÖ`^°Ç¶p®đDcŋ`ZÔ¶êqvFÆN®ĆTH®¦O¾IbÐã´BĐɢŴÆíȦpĐÞXR·nndO¤OÀĈƒQgµFo|gȒęSWb©osx|hYhgŃfmÖĩnºTÌSp¢dYĤ¶UĈjlǐpäìë|³kÛfw²Xjz~ÂqbTÑěŨ@|oMzv¢ZrÃVw¬ŧˏf°ÐTªqs{S¯r æÝlNd®²Ğ džiGĘJ¼lr}~K¨ŸƐÌWöÆzR¤lêmĞLÎ@¡|q]SvKÑcwpÏÏĿćènĪWlĄkT}J¤~ÈTdpddʾĬBVtEÀ¢ôPĎƗè@~kü\\rÊĔÖæW_§¼F´©òDòjYÈrbĞāøŀG{ƀ|¦ðrb|ÀH`pʞkvGpuARhÞÆǶgĘTǼƹS£¨¡ù³ŘÍ]¿ÂyôEP xX¶¹ÜO¡gÚ¡IwÃé¦ÅBÏ|ǰ
N«úmH¯âDùyŜŲIÄuШD¸dɂFOhđ©OiÃ`ww^ÌkÑH«ƇǤŗĺtFu
{Z}Ö@U´
ʚLg®¯Oı°Ãw ^VbÉsmA
ê]]w§RRl£ȭµu¯b{ÍDěïÿȧuT£ġěŗƃĝQ¨fVƋƅna@³@ďyýIĹÊKŭfċŰóxV@tƯJ]eR¾fe|rHA|h~Ėƍl§ÏlTíb ØoÅbbx³^zÃͶSj®AyÂhðk`«P˵EFÛ¬Y¨Ļrõqi¼Wi°§Ð±´°^[À|ĠO@ÆxO\\ta\\tĕtû{ġȧXýĪÓjùÎRb^ÎfK[ÝděYfíÙTyuUSyŌŏů@Oi½éŅaVcř§ax¹XŻácWU£ôãºQ¨÷Ñws¥qEHÙ|šYQoŕÇyáĂ£MðoťÊP¡mWO¡v{ôvîēÜISpÌhp¨ jdeŔQÖjX³àĈ[n`Yp@UcM`RKhEbpŞlNut®EtqnsÁgAiúoHqCXhfgu~ÏWP½¢G^}¯ÅīGCÑ^ãziMáļMTÃƘrMc|O_¯Ŏ´|morDkO\\mĆJfl@c̬¢aĦtRıÒ¾ùƀ^juųœKUFyƝ
īÛ÷ąV×qƥV¿aȉd³BqPBmaËđŻģmÅ®V¹d^KKonYg¯XhqaLdu¥ÍpDž¡KąÅkĝęěhq}HyÃ]¹ǧ£
Í÷¿qáµ§g¤o^á¾ZE¤i`ij{nOl»WÝĔįhgF[¿¡ßkOüš_ūiDZàUtėGyl}ÓM}jpEC~¡FtoQiHkk{Ãmï"]],"encodeOffsets":[[[119712,40641]],[[121616,39981]],[[116462,37237]]]},"properties":{"cp":[114.502461,38.045474],"name":"河北","childNum":3}},{"id":"140000","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@ÞĩÒSra}ÁyWix±Üe´lèßÓǏokćiµVZģ¡coTS˹ĪmnÕńehZg{gtwªpXaĚThȑp{¶Eh®RćƑP¿£Pmc¸mQÝWďȥoÅîɡųAďä³aÏJ½¥PGąSM
EÅruµéYÓŌ_dĒCoȵ]¯_²ÕjāK~©ÅØ^ÔkïçămÏk]±cݯÑÃmQÍ~_apm
~ç¡qu{JÅŧ·Ls}EyÁÆcI{¤IiCfUcƌÃp§]ě«vD@¡SÀµMÅwuYY¡DbÑc¡h×]nkoQdaMç~eDÛtT©±@¥ù@É¡ZcW|WqOJmĩl«ħşvOÓ«IqăV¥D[mI~Ó¢cehiÍ]Ɠ~ĥqX·eƷn±}v[ěďŕ]_œ`¹§ÕōIo©bs^}Ét±ū«³p£ÿ·Wµ|¡¥ăFÏs×¥ŅxÊdÒ{ºvĴÎêÌɊ²¶ü¨|ÞƸµȲLLúÉƎ¤ϊęĔV`_bªS^|dzY|dz¥pZbÆ£¶ÒK}tĦÔņƠPYznÍvX¶Ěn ĠÔzý¦ª÷ÑĸÙUȌ¸dòÜJð´ìúNM¬XZ´¤ŊǸ_tldI{¦ƀðĠȤ¥NehXnYGR° ƬDj¬¸|CĞKqºfƐiĺ©ª~ĆOQª ¤@ìǦɌ²æBÊTŸʂōĖĴŞȀÆÿȄlŤĒötνî¼ĨXh|ªM¤Ðz"],"encodeOffsets":[[116874,41716]]},"properties":{"cp":[112.549248,37.857014],"name":"山西","childNum":1}},{"id":"150000","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@Č^â£ĂhĖMÈÄw\\fŦ°W ¢¾luŸDw\\̀ʉÌÛM
Ā[bÓEn}¶Vc
ês¯PqFB
|S³C|kñHdiÄ¥sʼnÅ
PóÑÑE^ÅPpy_YtShQ·aHwsOnʼnÃs©iqjUSiº]ïW«gW¡ARëśijĘ
ů`çõh]y»ǃǛҤxÒm~zf}pf|ÜroÈzrKÈĵSƧżĠu¦ö"],["@@sKC
GS|úþXgp{ÁX¿ć{ƱȏñZáĔyoÁhA}ŅĆfdʼn_¹Y°ėǩÑ¡H¯¶oMQqð¡Ë|Ñ`ƭŁX½·óÛxğįÅcQs«tȋDžFù^it«Č¯[hAi©á¥ÇĚ×l|¹y¯YȵƓñǙµïċĻ|Düȭ¶¡oŽäÕG\\ÄT¿Òõr¯LguÏYęRƩɷŌO\\İТæ^Ŋ IJȶȆbÜGĝ¬¿ĚVĎgª^íu½jÿĕęjık@Ľ]ėl¥ËĭûÁėéV©±ćn©ȇÍq¯½YÃÔʼnÉNÑÅÝy¹NqáʅDǡËñƁYÅy̱os§ȋµʽǘǏƬɱàưN¢ƔÊuľýľώȪƺɂļxZĈ}ÌʼnŪĺœĭFЛĽ̅ȣͽÒŵìƩÇϋÿȮǡŏçƑůĕ~ǼȳÐUfdIxÿ\\G zâɏÙOº·pqy£@qþ@Ǟ˽IBäƣzsÂZÁàĻdñ°ŕzéØűzșCìDȐĴĺf®Àľưø@ɜÖÞKĊŇƄ§͑těï͡VAġÑÑ»d³öǍÝXĉĕÖ{þĉu¸ËʅğU̎éhɹƆ̗̮ȘNJ֥ड़ࡰţાíϲäʮW¬®ҌeרūȠkɬɻ̼ãüfƠSצɩςåȈHϚÎKdzͲOðÏȆƘ¼CϚǚ࢚˼ФÔ¤ƌĞ̪Qʤ´¼mȠJˀƲÀɠmǐnǔĎȆÞǠN~ʢĜ¶ƌĆĘźʆȬ˪ĚǏĞGȖƴƀj`ĢçĶāàŃºēĢĖćYÀŎüôQÐÂŎŞdžŞêƖoˆDĤÕºÑǘÛˤ³̀gńƘĔÀ^ªƂ`ªt¾äƚêĦ¼ÐĔǎ¨Ȕ»͠^ˮÊȦƤøxRrŜH¤¸ÂxDÄ|ø˂˜ƮЬɚwɲFjĔ²Äw°dždÀÉ_ĸdîàŎjÊêTЪŌŜWÈ|tqĢUB~´°ÎFCU¼pĀēƄN¦¾O¶łKĊOjĚj´ĜYp{¦SĚÍ\\TתV÷Ší¨ÅDK°ßtŇĔK¨ǵÂcḷ̌ĚǣȄĽFlġUĵŇȣFʉɁMğįʏƶɷØŭOǽ«ƽū¹Ʊő̝Ȩ§ȞʘĖiɜɶʦ}¨֪ࠜ̀ƇǬ¹ǨE˦ĥªÔêFxúQEr´Wrh¤Ɛ \\talĈDJÜ|[Pll̚¸ƎGú´P¬W¦^¦H]prRn|or¾wLVnÇIujkmon£cX^Bh`¥V¦U¤¸}xRj[^xN[~ªxQ[`ªHÆÂExx^wN¶Ê|¨ìMrdYpoRzNyÀDs~bcfÌ`L¾n|¾T°c¨È¢ar¤`[|òDŞĔöxElÖdHÀI`Ď\\Àì~ÆR¼tf¦^¢ķ¶eÐÚMptgjɡČÅyġLûŇV®ÄÈƀϰP|ªVVªj¬ĚÒêp¬E|ŬÂc|ÀtƐK f{ĘFĒƌXƲąo½Ę\\¥o}Ûu£çkX{uĩ«āíÓUŅßŢqŤ¥lyň[oi{¦LńðFȪȖĒL¿Ìf£K£ʺoqNwğc`uetOj×°KJ±qÆġmĚŗos¬
qehqsuH{¸kH¡
ÊRǪÇƌbȆ¢´äÜ¢NìÉʖ¦â©Ż؛Ç@Vu»Aylßí¹ĵê
ÝlISò³C¹Ìâ²i¶Ìoú^H²CǜңDŽ z¼g^èöŰ_IJĕê}gÁnUI«m
]jvV¼euhwqAaW_µj
»çjioQR¹ēÃßt@r³[ÛlćË^ÍÉáGOUÛOB±XkŹ£k|e]olkVͼÕqtaÏõjgÁ£§U^RLËnX°ÇBz^~wfvypV ¯ƫĉ˭ȫƗŷɿÿĿƑ˃ĝÿÃǃßËőó©ǐȍŒĖM×ÍEyxþp]ÉvïèvƀnÂĴÖ@V~Ĉ³MEĸÅĖtējyÄDXÄxGQuv_i¦aBçw˛wD©{tāmQ{EJ§KPśƘƿ¥@sCTÉ}ɃwƇy±gÑ}T[÷kÐ禫
SÒ¥¸ëBX½HáŵÀğtSÝÂa[ƣ°¯¦Pï¡]£ġÒk®G²èQ°óMq}EóƐÇ\\@áügQÍu¥FTÕ¿Jû]|mvāÎYua^WoÀa·ząÒot×¶CLƗi¯¤mƎHNJ¤îìɾŊìTdåwsRÖgĒųúÍġäÕ}Q¶¿A[¡{d×uQAMxVvMOmăl«ct[wº_ÇÊjb£ĦS_éQZ_lwgOiýe`YYLq§IÁdz£ÙË[ÕªuƏ³ÍTs·bÁĽäė[b[ŗfãcn¥îC¿÷µ[ŏÀQōĉm¿Á^£mJVmL[{Ï_£F¥Ö{ŹA}
×Wu©ÅaųijƳhB{·TQqÙIķËZđ©Yc|M¡
LeVUóK_QWk_ĥ¿ãZ»X\\ĴuUèlG®ěłTĠğDŃOrÍdÆÍz]±
ŭ©Å]ÅÐ}UË¥©TċïxgckfWgi\\ÏĒ¥HkµEë{»ÏetcG±ahUiñiWsɁ·cCÕk]wȑ|ća}w
VaĚá G°ùnM¬¯{ÈÐÆA¥ÄêJxÙ¢hP¢ÛºµwWOóFÁz^ÀŗÎú´§¢T¤ǻƺSėǵhÝÅQgvBHouʝl_o¿Ga{ïq{¥|ſĿHĂ÷aĝÇqZñiñC³ª
»E`¨åXēÕqÉû[l}ç@čƘóO¿¡FUsAʽīccocÇS}£IS~ălkĩXçmĈ
ŀÐoÐdxÒuL^T{r@¢ÍĝKén£kQyÅõËXŷƏL§~}kq»IHėDžjĝ»ÑÞoå°qTt|r©ÏS¯·eŨĕx«È[eM¿yupN~¹ÏyN£{©għWí»Í¾səšDž_ÃĀɗ±ąijĉʍŌŷSÉA±åǥɋ@ë£R©ąP©}ĹªƏj¹erLDĝ·{i«ƫC£µ"]],"encodeOffsets":[[[127444,52594]],[[113793,40312]]]},"properties":{"cp":[111.670801,40.818311],"name":"内蒙古","childNum":2}},{"id":"210000","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@L@@sa"],["@@MnNm"],["@@dc"],["@@eÀC@b"],["@@f
XwkbrÄ`qg"],["@@^jtWQ"],["@@~ Y]c"],["@@G`ĔN^_¿ZÃM"],["@@iX¶BY"],["@@YZ"],["@@L_{Epf"],["@@^WqCT\\"],["@@\\[§t|¤_"],["@@m`n_"],["@@Ïxnj{q_×^Giip"],["@@@é^BntaÊU]x ¯ÄPIJ°hʙK³VÕ@Y~|EvĹsǦL^pòŸÒG Ël]xxÄ_fT¤Ď¤cPC¨¸TVjbgH²sdÎdHt`B²¬GJję¶[ÐhjeXdlwhðSȦªVÊÏÆZÆŶ®²^ÎyÅÎcPqńĚDMħĜŁHkçvV[ij¼WYÀäĦ`XlR`ôLUVfK¢{NZdĒªYĸÌÚJRr¸SA|ƴgŴĴÆbvªØX~źB|¦ÕE¤Ð`\\|KUnnI]¤ÀÂĊnŎR®Ő¿¶\\ÀøíDm¦ÎbŨabaĘ\\ľã¸atÎSƐ´©v\\ÖÚÌǴ¤Â¨JKrZ_ZfjþhPkx`YRIjJcVf~sCN¤ EhæmsHy¨SðÑÌ\\\\ĐRZk°IS§fqŒßýáĞÙÉÖ[^¯ǤŲê´\\¦¬ĆPM¯£»uïpùzExanµyoluqe¦W^£ÊL}ñrkqWňûPUP¡ôJoo·U}£[·¨@XĸDXmÛݺGUCÁª½{íĂ^cjk¶Ã[q¤LÉö³cux«zZf²BWÇ®Yß½ve±ÃCý£W{Ú^q^sÑ·¨ÍOt¹·C¥GDrí@wÕKţëV·i}xËÍ÷i©ĝɝǡ]{c±OW³Ya±_ç©HĕoƫŇqr³Lys[ñ³¯OSďOMisZ±ÅFC¥Pq{Ã[Pg}\\¿ghćO
k^ģÁFıĉĥMoEqqZûěʼn³F¦oĵhÕP{¯~TÍlªNßYÐ{Ps{ÃVUeĎwk±ʼnVÓ½ŽJãÇÇ»Jm°dhcÀffdF~ĀeĖd`sx² ®EżĀdQÂd^~ăÔH¦\\LKpĄVez¤NP ǹÓRÆąJSha[¦´ÂghwmBШźhI|VV|p] ¼èNä¶ÜBÖ¼L`¼bØæKVpoúNZÞÒKxpw|ÊEMnzEQIZZNBčÚFÜçmĩWĪñtÞĵÇñZ«uD±|Əlij¥ãn·±PmÍada CLǑkùó¡³Ï«QaċÏOÃ¥ÕđQȥċƭy³ÃA"]],"encodeOffsets":[[[123686,41445]],[[126019,40435]],[[124393,40128]],[[126117,39963]],[[125322,40140]],[[126686,40700]],[[126041,40374]],[[125584,40168]],[[125453,40165]],[[125362,40214]],[[125280,40291]],[[125774,39997]],[[125976,40496]],[[125822,39993]],[[125509,40217]],[[122731,40949]]]},"properties":{"cp":[123.429096,41.796767],"name":"辽宁","childNum":16}},{"id":"220000","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@pä³PClFbbÍzwBGĭZÅi»lYċ²SgkÇ£^Sqd¯R
©é£¯S\\cZ¹iűƏCuƍÓXoR}M^o£
R}oªUF
uuXHlEÅÏ©¤ÛmTþ¤D²ÄufàÀXXȱAeyYw¬dvõ´KÊ£\\rµÄlidā]|DÂVH¹Þ®ÜWnCķ W§@\\¸~¤Vp¸póIO¢VOŇürXql~òÉK]¤¥Xrfkvzpm¶bwyFoúv𼤠N°ąO¥«³[éǡű_°Õ\\ÚÊĝþâőàerR¨JYlďQ[ ÏYëЧTGztnß¡gFkMāGÁ¤ia Éȹ`\\xs¬dĆkNnuNUuP@vRY¾\\¢
GªóĄ~RãÖÎĢùđŴÕhQxtcæëSɽʼníëlj£ƍG£nj°KƘµDsØÑpyƸ®¿bXp]vbÍZuĂ{n^IüÀSÖ¦EvRÎûh@â[ƏÈô~FNr¯ôçR±HÑlĢ^¤¢OðævxsŒ]ÞÁTĠs¶¿âÆGW¾ìA¦·TѬè¥ÏÐJ¨¼ÒÖ¼ƦɄxÊ~StD@Ă¼Ŵ¡jlºWvÐzƦZвCH AxiukdGgetqmcÛ£Ozy¥cE}|
¾cZ
k¿uŐã[oxGikfeäT@
SUwpiÚFM©£è^Ú`@v¶eňf heP¶täOlÃUgÞzŸU`l}ÔÆUvØ_Ō¬Öi^ĉi§²ÃB~¡ĈÚEgc|DC_Ȧm²rBx¼MÔ¦ŮdĨÃâYxƘDVÇĺĿg¿cwÅ\\¹¥Yĭl¤OvLjM_a W`zļMž·\\swqÝSAqŚij¯°kRē°wx^ĐkǂÒ\\]nrĂ}²ĊŲÒøãh·M{yMzysěnĒġV·°G³¼XÀ¤¹i´o¤ŃÈ`ÌDzÄUĞd\\iÖmÈBĤÜɲDEh LG¾ƀľ{WaYÍÈĢĘÔRîĐj}ÇccjoUb½{h§Ǿ{KƖµÎ÷GĀÖŠåưÎslyiē«`å§H¥Ae^§GK}iã\\c]v©ģZmÃ|[M}ģTɟĵÂÂ`ÀçmFK¥ÚíÁbX³ÌQÒHof{]ept·GŋĜYünĎųVY^ydõkÅZW«WUa~U·SbwGçǑiW^qFuNĝ·EwUtW·Ýďæ©PuqEzwAVXRãQ`©GMehccďÏd©ÑW_ÏYƅ»
é\\ɹ~ǙG³mØ©BšuT§Ĥ½¢Ã_ýL¡ýqT^rme\\PpZZbyuybQefµ]UhĿDCmûvaÙNSkCwncćfv~
YÇG"],"encodeOffsets":[[130196,42528]]},"properties":{"cp":[125.3245,43.886841],"name":"吉林","childNum":1}},{"id":"230000","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@ƨĶTLÇyqpÇÛqe{~oyen}s`qiXGù]Ëp½©lÉÁp]Þñ´FĂ^fäîºkàz¼BUvÈ@"],["@@UµNÿ¥īèçHÍøƕ¶Lǽ|g¨|a¾pVidd~ÈiíďÓQġėÇZÎXb½|ſÃH½KFgɱCģÛÇAnjÕc[VĝDZÃËÇ_ £ń³pj£º¿»WH´¯U¸đĢmtĜyzzNN|g¸÷äűѱĉā~mq^[ǁÑďlw]¯xQĔ¯l°řĴrBÞTxr[tޏĻN_yX`biNKu
P£kZĮ¦[ºxÆÀdhĹŀUÈƗCwáZħÄŭcÓ¥»NAw±qȥnD`{ChdÙFć}¢A±Äj¨]ĊÕjŋ«×`VuÓÅ~_kŷVÝyhVkÄãPsOµfgeŇ
µf@u_Ù ÙcªNªÙEojVxT@ãSefjlwH\\pŏäÀvlY½d{F~¦dyz¤PÜndsrhfHcvlwjF£G±DÏƥYyÏu¹XikĿ¦ÏqƗǀOŜ¨LI|FRĂn sª|C˜zxAè¥bfudTrFWÁ¹Am|ĔĕsķÆF´N}ć
UÕ@Áijſmuçuð^ÊýowFzØÎĕNőǏȎôªÌŒDŽàĀÄ˄ĞŀƒʀĀƘŸˮȬƬĊ°Uzouxe]}
AyÈW¯ÌmKQ]Īºif¸ÄX|sZt|½ÚUÎ lk^p{f¤lºlÆW A²PVÜPHÊâ]ÎĈÌÜk´\\@qàsĔÄQºpRij¼èi`¶bXrBgxfv»uUi^v~J¬mVp´£´VWrnP½ì¢BX¬hðX¹^TjVriªjtŊÄmtPGx¸bgRsT`ZozÆO]ÒFôÒOÆŊvÅpcGêsx´DR{AEOr°x|íb³Wm~DVjºéNNËܲɶGxŷCSt}]ûōSmtuÇÃĕNāg»íT«u}ç½BĵÞʣ¥ëÊ¡MÛ³ãȅ¡ƋaǩÈÉQG¢·lG|tvgrrf«ptęŘnÅĢrI²¯LiØsPf_vĠdxM prʹL¤¤eËÀđKïÙVY§]Ióáĥ]ķK¥j|pŇ\\kzţ¦šnņäÔVĂîά|vW®l¤èØrxm¶ă~lÄƯĄ̈́öȄEÔ¤ØQĄĄ»ƢjȦOǺ¨ìSŖÆƬyQv`cwZSÌ®ü±DŽ]ŀç¬B¬©ńzƺŷɄeeOĨSfm ĊƀP̎ēz©ĊÄÕÊmgÇsJ¥ƔŊśæÎÑqv¿íUOµªÂnĦÁ_½ä@êí
£P}Ġ[@gġ}gɊ×ûÏWXá¢užƻÌsNͽƎÁ§čŐAēeL³àydl¦ĘVçŁpśdžĽĺſÊQíÜçÛġÔsĕ¬Ǹ¯YßċġHµ ¡eå`ļrĉŘóƢFìĎWøxÊkƈdƬv|I|·©NqńRŀ¤éeŊŀàŀU²ŕƀBQ£Ď}L¹Îk@©ĈuǰųǨÚ§ƈnTËÇéƟÊcfčŤ^XmHĊĕË«W·ċëx³ǔķÐċJāwİ_ĸȀ^ôWr°oú¬Ħ
ŨK~ȰCĐ´Ƕ£fNÎèâw¢XnŮeÂÆĶ¾¾xäLĴĘlļO¤ÒĨA¢Êɚ¨®ØCÔ ŬGƠƦYĜĘÜƬDJg_ͥœ@čŅĻA¶¯@wÎqC½Ĉ»NăëKďÍQÙƫ[«ÃígßÔÇOÝáWñuZ¯ĥŕā¡ÑķJu¤E 寰WKɱ_d_}}vyõu¬ï¹ÓU±½@gÏ¿rýDg
Cdµ°MFYxw¿CG£Rƛ½Õ{]L§{qqą¿BÇƻğëܭNJË|c²}Fµ}ÙRsÓpg±QNqǫŋRwŕnéÑÉK«SeYR
ŋ@{¤SJ}D Ûǖ֍]gr¡µŷjqWÛham³~S«Þ]"]],"encodeOffsets":[[[127123,51780]],[[134456,44547]]]},"properties":{"cp":[126.642464,45.756967],"name":"黑龙江","childNum":2}},{"id":"320000","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@cþÅPi`ZRu¥É\\]~°Y`µÓ^phÁbnÀşúòaĬºTÖŒbe¦¦{¸ZâćNp©Hr|^mjhSEb\\afv`sz^lkljÄtg¤D¾X¿À|ĐiZȀåB·î}GL¢õcßjayBFµÏC^ĭcÙt¿sğH]j{s©HM¢QnDÀ©DaÜÞ·jgàiDbPufjDk`dPOîhw¡ĥ¥GP²ĐobºrYî¶aHŢ´ ]´rılw³r_{£DB_Ûdåuk|Ũ¯F Cºyr{XFye³Þċ¿ÂkĭB¿MvÛpm`rÚã@ƹhågËÖƿxnlč¶Åì½Ot¾dJlVJĂǀŞqvnO^JZż·Q}êÍÅmµÒ]ƍ¦Dq}¬R^èĂ´ŀĻĊIÔtIJyQŐĠMNtR®òLhĚs©»}OÓGZz¶A\\jĨFäOĤHYJvÞHNiÜaĎÉnFQlNM¤B´ĄNöɂtpŬdfå
qm¿QûùŞÚb¤uŃJŴu»¹ĄlȖħŴw̌ŵ²ǹǠ͛hĭłƕrçü±Yxcitğ®jű¢KOķCoy`å®VTa_Ā]ŐÝɞï²ʯÊ^]afYǸÃĆēĪȣJđ͍ôƋÄÄÍīçÛɈǥ£ÛmY`ó£Z«§°Ó³QafusNıDž_k}¢m[ÝóDµ¡RLčiXyÅNïă¡¸iĔÏNÌŕoēdōîåŤûHcs}~Ûwbù¹£¦ÓCtOPrE^ÒogĉIµÛÅʹK
¤½phMü`oæŀ"],"encodeOffsets":[[121740,32276]]},"properties":{"cp":[118.767413,32.041544],"name":"江苏","childNum":1}},{"id":"330000","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@E^dQ]K"],["@@jX^j"],["@@sfbU"],["@@qP\\xz[ck"],["@@R¢FX}°[s_"],["@@Cb\\}"],["@@e|v\\la{u"],["@@v~u}"],["@@QxÂF¯}"],["@@¹nvÞs¯o"],["@@rSkUEj"],["@@biZP"],["@@p[}INf"],["@@À¿"],["@@¹dnb
"],["@@rSBnR"],["@@g~h}"],["@@FlEk"],["@@OdPc"],["@@v[u\\"],["@@FjâL~wyoo~sµL\\"],["@@¬e¹aN"],["@@\\nÔ¡q]L³ë\\ÿ®QÖ"],["@@ÊA©[¬"],["@@Kxv"],["@@@hlIk]"],["@@pW{o||j"],["@@Md|_mC"],["@@¢
X£ÏylD¼XtH"],["@@hlÜ[LykAvyfw^E¤"],["@@fp¤MusR"],["@@®_ma~LÁ¬Z"],["@@iMxZ"],["@@ZcYd"],["@@Z~dOSo|A¿qZv"],["@@@`EN¡v"],["@@|TY{"],["@@@n@m"],["@@XWkCT\\"],["@@ºwZRkĕWO¢"],["@@X®±Grƪ\\ÔáXq{"],["@@ůTG°ĄLHm°UC"],["@@¤aÜx~}dtüGæţŎíĔcŖpMËÐj碷ðĄÆMzjWKĎ¢Q¶À_ê_Bıi«pZgf¤Nrq]§ĂN®«H±yƳí¾×ŸīàLłčŴǝĂíÀBŖÕªÁŖHŗʼnåqûõi¨hÜ·ñt»¹ýv_[«¸mYL¯Qª
mĉÅdMgÇjcº«ę¬K´B«Âącoċ\\xKd¡gěŧ«®á[~ıxu·ÅKsËÉc¢Ù\\ĭƛëbf¹ģSĜkáƉÔĈZB{aMµfzʼnfåÂŧįƋǝÊĕġć£g³neą»@¦S®\\ßðChiqªĭiAuAµ_W¥ƣO\\lċĢttC¨£t`PZäuXßBsĻyekOđġĵHuXBµ]×\\°®¬F¢¾pµ¼kŘó¬Wät¸|@L¨¸µrºù³Ù~§WIZW®±Ð¨ÒÉx`²pĜrOògtÁZ}þÙ]¡FKwsPlU[}¦Rvn`hq¬\\nQ´ĘRWb_ rtČFIÖkĦPJ¶ÖÀÖJĈĄTĚòC ²@Pú
Øz©PCÈÚDZhŖl¬â~nm¨f©iļ«mntuÖZÜÄjL®EÌFª²iÊxبIÈhhst"],["@@o\\VzRZ}y"],["@@@°¡mÛGĕ¨§Ianá[ýƤjfæØLäGr"]],"encodeOffsets":[[[125592,31553]],[[125785,31436]],[[125729,31431]],[[125513,31380]],[[125223,30438]],[[125115,30114]],[[124815,29155]],[[124419,28746]],[[124095,28635]],[[124005,28609]],[[125000,30713]],[[125111,30698]],[[125078,30682]],[[125150,30684]],[[124014,28103]],[[125008,31331]],[[125411,31468]],[[125329,31479]],[[125626,30916]],[[125417,30956]],[[125254,30976]],[[125199,30997]],[[125095,31058]],[[125083,30915]],[[124885,31015]],[[125218,30798]],[[124867,30838]],[[124755,30788]],[[124802,30809]],[[125267,30657]],[[125218,30578]],[[125200,30562]],[[124968,30474]],[[125167,30396]],[[124955,29879]],[[124714,29781]],[[124762,29462]],[[124325,28754]],[[123990,28459]],[[125366,31477]],[[125115,30363]],[[125369,31139]],[[122495,31878]],[[125329,30690]],[[125192,30787]]]},"properties":{"cp":[120.153576,30.287459],"name":"浙江","childNum":45}},{"id":"340000","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@^iuLX^"],["@@e©Ehl"],["@@°ZÆëϵmkǀwÌÕæhºgBĝâqÙĊzÖgņtÀÁĂÆáhEz|WzqD¹°Eŧl{ævÜcA`¤C`|´qxIJkq^³³GšµbíZ
¹qpa±ď OH¦Ħx¢gPícOl_iCveaOjCh߸iÝbÛªCC¿mRV§¢A|t^iĠGÀtÚsd]ĮÐDE¶zAb àiödK¡~H¸íæAǿYj{ď¿À½W®£ChÃsikkly]_teu[bFaTign{]GqªoĈMYá|·¥f¥őaSÕėNµñĞ«Im_m¿Âa]uĜp
Z_§{Cäg¤°r[_YjÆOdý[I[á·¥Q_nùgL¾mvˊBÜÆ¶ĊJhpc¹O]iŠ]¥ jtsggJǧw×jÉ©±EFËKiÛÃÕYv
sm¬njĻª§emná}k«ŕgđ²ÙDÇ¤í¡ªOy×Où±@DñSęćăÕIÕ¿IµĥOjNÕËT¡¿tNæŇàåyķrĕq§ÄĩsWÆßF¶X®¿mw
RIÞfßoG³¾©uyHį{Ɓħ¯AFnuP
ÍÔzVdàôº^Ðæd´oG¤{S¬ćxã}ŧ×Kǥĩ«ÕOEзÖdÖsƘѨ[Û^Xr¢¼§xvÄÆµ`K§ tÒ´Cvlo¸fzŨð¾NY´ı~ÉĔē
ßúLÃÃ_ÈÏ|]ÂÏFlg`ben¾¢pUh~ƴ˶_r sĄ~cƈ]|r c~`¼{À{ȒiJjz`îÀT¥Û³
]u}f
ïQl{skloNdjäËzDvčoQďHI¦rbtHĔ~BmlRV_ħTLnñH±DL¼Lªl§Ťa¸ĚlK²\\RòvDcÎJbt[¤D@®hh~kt°ǾzÖ@¾ªdbYhüóZ ň¶vHrľ\\ÊJuxAT|dmÀO[ÃÔG·ĚąĐlŪÚpSJ¨ĸLvÞcPæķŨ®mÐálwKhïgA¢ųƩޤOÈm°K´"]],"encodeOffsets":[[[121722,32278]],[[119475,30423]],[[119168,35472]]]},"properties":{"cp":[117.283042,31.86119],"name":"安徽","childNum":3}},{"id":"350000","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@zht´]"],["@@aj^~ĆG©O"],["@@ed¨C}}i"],["@@@vPGsQ"],["@@sBzddW]Q"],["@@S¨Q{"],["@@NVucW"],["@@qptBAq"],["@@¸[mu"],["@@Q\\pD]_"],["@@jSwUadpF"],["@@eXª~"],["@@AjvFso"],["@@fT_Çí\\v|ba¦jZÆy°"],["@@IjJi"],["@@wJIx«¼AoNe{M"],["@@K±¡ÓČäeZ"],["@@k¡¹Eh~c®wBkUplÀ¡I~Māe£bN¨gZý¡a±Öcp©PhI¢Qq
ÇGj|¥U g[Ky¬ŏv@OptÉEF\\@ åA¬V{XģĐBy
cpě
¼³Ăp·¤¥ohqqÚ¡ŅLs^á§qlÀhH¨MCe»åÇGD¥zPO£čÙkJA¼ßėuĕeûÒiÁŧSW¥Qûŗ½ùěcݧSùĩąSWó«íęACµeRåǃRCÒÇZÍ¢ź±^dlstjD¸ZpuÔâÃH¾oLUêÃÔjjēò´ĄWƛ
^Ñ¥Ħ@ÇòmOw¡õyJyD}¢ďÑÈġfZda©º²z£NjD°Ötj¶¬ZSÎ~¾c°¶ÐmxO¸¢Pl´SL|¥AȪĖMņIJg®áIJČĒü` QF¬h|ĂJ@zµ |ê³È ¸UÖŬŬÀEttĸr]ðM¤ĶIJHtÏ AĬkvsq^aÎbvdfÊòSD´Z^xPsĂrvƞŀjJd×ŘÉ ®AΦĤdxĆqAZRÀMźnĊ»İÐZ YXæJyĊ²·¶q§·K@·{sXãô«lŗ¶»o½E¡«¢±¨Y®Ø¶^AvWĶGĒĢPlzfļtàAvWYãO_¤sD§ssČġ[kƤPX¦`¶®BBvĪjv©jx[L¥àï[F
¼ÍË»ğV`«Ip}ccÅĥZEãoP
´B@D¸m±z«Ƴ¿å³BRضWlâþäą`]Z£Tc ĹGµ¶Hm@_©k¾xĨôȉðX«½đCIbćqK³ÁÄš¬OAwã»aLʼnËĥW[ÂGIÂNxij¤D¢îĎÎB§°_JGs¥E@
¤uć
PåcuMuw¢BI¿]zG¹guĮck\\_"]],"encodeOffsets":[[[123250,27563]],[[122541,27268]],[[123020,27189]],[[122916,27125]],[[122887,26845]],[[122808,26762]],[[122568,25912]],[[122778,26197]],[[122515,26757]],[[122816,26587]],[[123388,27005]],[[122450,26243]],[[122578,25962]],[[121255,25103]],[[120987,24903]],[[122339,25802]],[[121042,25093]],[[122439,26024]]]},"properties":{"cp":[119.306239,26.075302],"name":"福建","childNum":18}},{"id":"360000","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@ĢĨƐgļ¼ÂMD~ņªe^\\^§ý©j×cZبzdÒa¶lÒJìõ`oz÷@¤u޸´ôęöY¼HČƶajlÞƩ¥éZ[|h}^U ¥pĄžƦO lt¸Æ Q\\aÆ|CnÂOjtĚĤdÈF`¶@Ðë ¦ōÒ¨SêvHĢûXD®
QgÄWiØPÞìºr¤džNĠ¢lĄtZoCƞÔºCxrpĠV®Ê{f_Y`_eq®Aot`@oDXfkp¨|s¬\\DÄSfè©Hn¬
^DhÆyøJhØxĢĀLÊƠPżċĄwȠ̦G®ǒĤäTŠÆ~Ħw«|TF¡nc³Ïå¹]ĉđxe{ÎÓvOEm°BƂĨİ|Gvz½ª´HàpeJÝQxnÀWEµàXÅĪt¨ÃĖrÄwÀFÎ|ňÓMå¼ibµ¯»åDT±m[r«_gmQu~¥V\\OkxtL E¢Ú^~ýêPóqoě±_Êw§ÑªåƗā¼mĉŹ¿NQ
YBąrwģcÍ¥BŗÊcØiIƝĿuqtāwO]³YCñTeÉcaubÍ]trluī
BÐGsĵıN£ï^ķqss¿FūūVÕ·´Ç{éĈýÿOER_đûIċâJhŅıNȩĕB
¦K{Tk³¡OP·wnµÏd¯}½TÍ«YiµÕsC¯iM¤¦¯P|ÿUHvhe¥oFTuõ\\OSsMòđƇiaºćXĊĵà·çhƃ÷Ç{ígu^đgm[×zkKN¶Õ»lčÓ{XSÆv©_ÈëJbVkĔVÀ¤P¾ºÈMÖxlò~ªÚàGĂ¢B±ÌKyáV¼Ã~
`gsÙfIƋlę¹e|~udjuTlXµf`¿Jd[\\L²"],"encodeOffsets":[[116689,26234]]},"properties":{"cp":[115.892151,28.676493],"name":"江西","childNum":1}},{"id":"370000","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@Xjd]{K"],["@@itbFHy"],["@@HlGk"],["@@TGy"],["@@K¬U"],["@@WdXc"],["@@PtOs"],["@@LnXhc"],["@@ppVu]Or"],["@@cdzAUa"],["@@udRhnCI"],["@@oIpR"],["@@Ľč{fzƤîKÎMĮ]ZF½Y]â£ph¶¨râøÀÎǨ¤^ºÄGz~grĚĜlĞÆLĆdž¢Îo¦cvKbgr°WhmZp L]LºcUÆnżĤÌĒbAnrOA´ȊcÀbƦUØrĆUÜøĬƞEzVL®öØBkŖÝĐ˹ŧ̄±ÀbÎÉnb²ĦhņBĖįĦåXćì@L¯´ywƕCéõė ƿ¸lµ¾Z|ZWyFY¨Mf~C¿`à_RÇzwƌfQnny´INoƬèôº|sTJULîVjǎ¾ĒØDz²XPn±ŴPè¸ŔLƔÜƺ_TüÃĤBBċÈöA´faM¨{«M`¶d¡ôÖ°mȰBÔjj´PM|c^d¤u¤Û´ä«ƢfPk¶Môl]Lb}su^ke{lC
MrDÇ]NÑFsmoõľHyGă{{çrnÓEƕZGª¹Fj¢ïW
uøCǷë¡ąuhÛ¡^KxC`C\\bÅxì²ĝÝ¿_NīCȽĿåB¥¢·IŖÕy\\¹kxãČ×GDyäÁçFQ¡KtŵƋ]CgÏAùSedcÚźuYfyMmhUWpSyGwMPqŀÁ¼zK¶GY§Ë@´śÇµƕBm@IogZ¯uTMx}CVKï{éƵP_K«pÛÙqċtkkù]gTğwoɁsMõ³ăAN£MRkmEÊčÛbMjÝGu
IZGPģãħE[iµBEuDPÔ~ª¼ęt]ûG§¡QMsğNPŏįzs£Ug{đJĿļā³]ç«Qr~¥CƎÑ^n¶ÆéÎR~ݏYI] PumŝrƿIā[xedzL¯v¯s¬ÁY
~}
ťuŁgƋpÝĄ_ņī¶ÏSR´ÁP~¿Cyċßdwk´SsX|t`Ä ÈðAªìÎT°¦Dda^lĎDĶÚY°`ĪŴǒàŠv\\ebZHŖR¬ŢƱùęOÑM³FÛWp["]],"encodeOffsets":[[[123806,39303]],[[123821,39266]],[[123742,39256]],[[123702,39203]],[[123649,39066]],[[123847,38933]],[[123580,38839]],[[123894,37288]],[[123043,36624]],[[123344,38676]],[[123522,38857]],[[123628,38858]],[[118260,36742]]]},"properties":{"cp":[117.000923,36.675807],"name":"山东","childNum":13}},{"id":"410000","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@ýLùµP³swIÓxcŢĞð´E®ÚPtĴXØx¶@«ŕŕQGYfa[şußǩđš_X³ijÕčC]kbc¥CS¯ëÍB©÷³Si_}mYTt³xlàcČzÀD}ÂOQ³ÐTĨ¯ƗòËŖ[hłŦv~}ÂZ«¤lPÇ£ªÝŴÅR§ØnhctâknÏľŹUÓÝdKuķI§oTũÙďkęĆH¸Ó\\Ä¿PcnS{wBIvÉĽ[GqµuŇôYgûZca©@½Õǽys¯}lgg@C\\£asIdÍuCQñ[L±ęk·ţb¨©kK»KC²òGKmĨS`UQnk}AGēsqaJ¥ĐGRĎpCuÌy ã iMcplk|tRkðev~^´¦ÜSí¿_iyjI|ȑ|¿_»d}q^{Ƈdă}tqµ`Ƴĕg}V¡om½faÇo³TTj¥tĠRyK{ùÓjuµ{t}uËRivGçJFjµÍyqÎàQÂFewixGw½Yŷpµú³XU½ġyłåkÚwZX·l¢Á¢KzOÎÎjc¼htoDHr
|J½}JZ_¯iPq{tę½ĕ¦Zpĵø«kQ
Ť]MÛfaQpě±ǽ¾]uFu÷nčįADp}AjmcEÇaª³o³ÆÍSƇĈÙDIzËčľ^KLiÞñ[aA²zzÌ÷D|[íijgfÕÞd®|`Ć~oĠƑô³ŊD×°¯CsøÀ«ìUMhTº¨¸ǡîSÔDruÂÇZÖEvPZW~ØÐtĄE¢¦Ðy¸bô´oŬ¬²Ês~]®tªapŎJ¨Öº_Ŕ`Ŗ^Đ\\Ĝu~m²Ƹ¸fWĦrƔ}Î^gjdfÔ¡J}\\n C¦þWxªJRÔŠu¬ĨĨmFdM{\\d\\YÊ¢ú@@¦ª²SÜsC}fNècbpRmlØ^gd¢aÒ¢CZZxvƶN¿¢T@uC¬^ĊðÄn|lGlRjsp¢ED}Fio~ÔN~zkĘHVsDzßjŬŢ`Pûàl¢\\ÀEhİgÞē X¼Pk|m"],"encodeOffsets":[[118256,37017]]},"properties":{"cp":[113.665412,34.757975],"name":"河南","childNum":1}},{"id":"420000","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@AB"],["@@lskt"],["@@¾«}{ra®pîÃ\\{øCËyyB±b\\òÝjKL ]ĎĽÌJyÚCƈćÎT´Å´pb©ÈdFin~BCo°BĎÃømv®E^vǾ½Ĝ²RobÜeN^ĺ£R¬lĶ÷YoĖ¥Ě¾|sOr°jY`~I¾®I{GqpCgyl{£ÍÍyPL¡¡¸kWxYlÙæŁĢz¾V´W¶ùŸo¾ZHxjwfxGNÁ³Xéæl¶EièIH ujÌQ~v|sv¶Ôi|ú¢FhQsğ¦SiŠBgÐE^ÁÐ{čnOÂÈUÎóĔÊēIJ}Z³½Mŧïeyp·uk³DsѨL¶_Åuèw»¡WqÜ]\\Ò§tƗcÕ¸ÕFÏǝĉăxŻČƟOKÉġÿ×wg÷IÅzCg]m«ªGeçÃTC«[t§{loWeC@ps_Bprf_``Z|ei¡oċMqow¹DƝÓDYpûsYkıǃ}s¥ç³[§cY§HK«Qy]¢wwö¸ïx¼ņ¾Xv®ÇÀµRĠÐHM±cÏdƒǍũȅȷ±DSyúĝ£ŤĀàtÖÿï[îb\\}pĭÉI±Ñy
¿³x¯No|¹HÏÛmjúË~TuęjCöAwě¬Rđl¯ ÑbŇTĿ_[IčĄʿnM¦ğ\\É[T·k¹©oĕ@A¾wya¥Y\\¥Âaz¯ãÁ¡k¥ne£ÛwE©Êō¶˓uoj_U¡cF¹[WvP©whuÕyBF`RqJUw\\i¡{jEPïÿ½fć
QÑÀQ{°fLÔ~wXgītêݾĺHd³fJd]HJ²
EoU¥HhwQsƐ»Xmg±çve]DmÍPoCc¾_hhøYrŊU¶eD°Č_N~øĹĚ·`z]Äþp¼
äÌQv\\rCé¾TnkžŐÚÜa¼ÝƆ̶Ûo
d
ĔňТJqPb ¾|J¾fXƐîĨ_Z¯À}úƲN_ĒÄ^ĈaŐyp»CÇÄKñL³ġM²wrIÒŭxjb[n«øæà ^²h¯ÚŐªÞ¸Y²ĒVø}Ā^İ´LÚm¥ÀJÞ{JVųÞŃx×sxxƈē ģMřÚðòIfĊŒ\\Ʈ±ŒdʧĘDvČ_Àæ~Dċ´A®µ¨ØLV¦êHÒ¤"]],"encodeOffsets":[[[113712,34000]],[[115612,30507]],[[113649,34054]]]},"properties":{"cp":[114.298572,30.584355],"name":"湖北","childNum":3}},{"id":"430000","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@nFTs"],["@@ßÅÆá½ÔXrCO
ËRïÿĩTooQyÓ[ŅBE¬ÎÓXaį§Ã¸G °ITxpúxÚij¥Ï̾edÄ©ĸG
àGhM¤Â_U}Ċ}¢pczfþg¤ÇòAVM"],["@@©KA·³CQ±Á«³BUƑ¹AtćOwD]JiØSm¯b£ylX
HËѱH«C^õľAŧ¤É¥ïyuǙuA¢^{ÌC´¦ŷJ£^[ª¿ĕ~Ƈ
N
skóā¹¿ï]ă~÷O§@Vm¡Qđ¦¢Ĥ{ºjÔª¥nf´~Õo×ÛąMąıuZmZcÒ IJβSÊDŽŶ¨ƚCÖŎªQؼrŭ«}NÏürʬmjr@ĘrTW SsdHzƓ^ÇÂyUi¯DÅYlŹu{hT}mĉ¹¥ěDÿë©ıÓ[Oº£¥ótł¹MÕƪ`P
DiÛU¾ÅâìUñBÈ£ýhedy¡oċ`pfmjP~kZa
ZsÐd°wj§@Ĵ®w~^kÀÅKvNmX\\¨aŃqvíó¿F¤¡@ũÑVw}S@j}¾«pĂrªg àÀ²NJ¶¶Dô
K|^ª°LX¾ŴäPα£EXd^¶IJÞÜ~u¸ǔMRhsR
e`ÄofIÔ\\Ø ićymnú¨cj ¢»GČìƊÿШXeĈ¾Oð Fi ¢|[jVxrIQ_EzAN¦zLU`cªxOTu RLÄ¢dVi`p˔vŎµªÉF~Ød¢ºgİàw¸Áb[¦Zb¦z½xBĖ@ªpºlS¸Ö\\Ĕ[N¥ˀmĎăJ\\ŀ`
ňSÚĖÁĐiOĜ«BxDõĚivSÌ}iùÜnкG{p°M´wÀÒzJ²ò¨ oTçüöoÛÿñőФùTz²CȆȸǎŪƑÐc°dPÎğ˶[Ƚu¯½WM¡ÉB·rínZÒ `¨GA¾\\pēXhÃRCüWGġu
Té§ŎÑ©ò³I±³}_EÃħg®ęisÁPDmÅ{b[RÅs·kPŽƥóRoOV~]{g\\êYƪ¦kÝbiċƵGZ»Ěõ
ó·³vŝ£ø@pyö_ëIkѵbcѧy
×dYتiþ¨[]f]Ņ©C}ÁN»hĻħƏĩ"]],"encodeOffsets":[[[115640,30489]],[[112543,27312]],[[116690,26230]]]},"properties":{"cp":[112.982279,28.19409],"name":"湖南","childNum":3}},{"id":"440000","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@QdAua"],["@@lxDLo"],["@@sbhNLo"],["@@Ă ā"],["@@WltO[["],["@@Kr]S"],["@@eI]y"],["@@I|Mym"],["@@Û³LS¼Y"],["@@nvºBëui©`¾"],["@@zdÛJw®"],["@@°
¯"],["@@a yAª¸ËJIxØ@ĀHAmÃV¡ofuo"],["@@sŗÃÔėAƁZÄ ~°ČPäh"],["@@¶ÝÌvmĞhıQ"],["@@HdSjĒ¢D}war
u«ZqadYM"],["@@el\\LqqU"],["@@~rMo\\"],["@@f^C"],["@@øPªoj÷ÍÝħXČx°Q¨ıXNv"],["@@gÇƳo[~tly"],["@@EÆC¿"],["@@OP"],["@@wđógĝ[³¡VÙæÅöM̳¹pÁaËýý©D©ÜJŹƕģGą¤{Ùū
ÇO²«BƱéAÒĥ¡«BhlmtÃPµyU¯ucd·w_bŝcīímGO|KPȏŹãŝIŕŭŕ@Óoo¿ē±ß}
ŭIJWÈCőâUâǙIğʼn©IijE×
Á³AówXJþ±ÌÜÓĨ£L]ĈÙƺZǾĆĖMĸĤfÎĵlŨnÈĐtFFĤêk¶^k°f¶g}®Faf`vXŲxl¦ÔÁ²¬Ð¦pqÊ̲iXØRDÎ}Ä@ZĠsx®AR~®ETtĄZƈfŠŠHâÒÐAµ\\S¸^wĖkRzalŜ|E¨ÈNĀňZTpBh£\\ĎƀuXĖtKL¶G|»ĺEļĞ~ÜĢÛĊrOÙîvd]n¬VÊĜ°RÖpMƂªFbwEÀ©\\
¤]ŸI®¥D³|Ë]CöAŤ¦
æ´¥¸Lv¼¢ĽBaôF~®²GÌÒEYzk¤°ahlVÕI^CxĈPsBƒºV¸@¾ªR²ĨN]´_eavSivc}p}Đ¼ƌkJÚe th_¸ ºx±ò_xN˲@ă¡ßH©Ùñ}wkNÕ¹ÇO½¿£ĕ]ly_WìIǪ`uTÅxYĒÖ¼kÖµMjJÚwn\\hĒv]îh|ÈƄøèg¸Ķß ĉĈWb¹ƀdéĘNTtP[öSvrCZaGubo´ŖÒÇĐ~¡zCI
özx¢PnÈñ @ĥÒ¦]ƞV}³ăĔñiiÄÓVépKG½ÄÓávYoC·sitiaÀyŧΡÈYDÑům}ý|m[węõĉZÅxUO}÷N¹³ĉo_qtăqwµŁYÙǝŕ¹tïÛUïmRCº
ĭ|µÕÊK½Rē ó]GªęAx»HO£|ām¡diď×YïYWªʼnOeÚtĐ«zđ¹T
āúEá²\\ķÍ}jYàÙÆſ¿Çdğ·ùTßÇţʄ¡XgWÀLJğ·¿ÃOj YÇ÷Qěi"]],"encodeOffsets":[[[117381,22988]],[[116552,22934]],[[116790,22617]],[[116973,22545]],[[116444,22536]],[[116931,22515]],[[116496,22490]],[[116453,22449]],[[113301,21439]],[[118726,21604]],[[118709,21486]],[[113210,20816]],[[115482,22082]],[[113171,21585]],[[113199,21590]],[[115232,22102]],[[115739,22373]],[[115134,22184]],[[113056,21175]],[[119573,21271]],[[119957,24020]],[[115859,22356]],[[116561,22649]],[[116285,22746]]]},"properties":{"cp":[113.280637,23.125178],"name":"广东","childNum":24}},{"id":"450000","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@H TQ§A"],["@@ĨʪLƊDÎĹĐCǦė¸zÚGn£¾rªŀÜt¬@ÖÚSx~øOŒŶÐÂæȠ\\ÈÜObĖw^oÞLf¬°bI lTØBÌF£Ć¹gñĤaYt¿¤VSñK¸¤nM¼JE±½¸ñoÜCƆæĪ^ĚQÖ¦^f´QüÜÊz¯lzUĺš@ìp¶n]sxtx¶@~ÒĂJb©gk{°~c°`Ô¬rV\\la¼¤ôá`¯¹LCÆbxEræOv[H[~|aB£ÖsºdAĐzNÂðsÞÆ
Ĥªbab`ho¡³F«èVlo¤ÔRzpp®SĪº¨ÖºN
ijd`a¦¤F³ºDÎńĀìCĜº¦Ċ~nS|gźvZkCÆj°zVÈÁƔ]LÊFZg
čPkini«qÇczÍY®¬Ů»qR×ō©DÕ§ƙǃŵTÉĩ±ıdÑnYYIJvNĆĆØÜ Öp}e³¦m©iÓ|¹ħņ|ª¦QF¢Â¬ʖovg¿em^ucà÷gÕuíÙćĝ}FϼĹ{µHKsLSđƃrč¤[AgoSŇYMÿ§Ç{FśbkylQxĕ]T·¶[B
ÑÏGáşşƇe
ăYSsFQ}BwtYğÃ@~
CÍQ ×Wj˱rÉ¥oÏ ±«ÓÂ¥kwWűmcih³K~µh¯e]lµélEģEďsmÇŧē`ãògK_ÛsUʝćğ¶höO¤Ǜn³c`¡y¦CezYwa[ďĵűMę§]XÎ_íÛ]éÛUćİÕBƣ±
dy¹T^dûÅÑŦ·PĻþÙ`K¦
¢ÍeĥR¿³£[~äu¼dltW¸oRM¢ď\\z}Æzdvň{ÎXF¶°Â_ÒÂÏL©ÖTmu¼ãlīkiqéfA·Êµ\\őDc¥ÝFyÔćcűH_hLÜêĺШc}rn`½Ì@¸¶ªVLhŒ\\Ţĺk~Ġið°|gtTĭĸ^xvKVGréAébUuMJVÃO¡
qĂXËSģãlýà_juYÛÒBG^éÖ¶§EGÅzěƯ¤EkN[kdåucé¬dnYpAyČ{`]þ¯TbÜÈk¡ĠvàhÂƄ¢Jî¶²"]],"encodeOffsets":[[[111707,21520]],[[107619,25527]]]},"properties":{"cp":[108.320004,22.82402],"name":"广西","childNum":2}},{"id":"460000","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@¦Ŝil¢XƦƞòïè§ŞCêɕrŧůÇąĻõ·ĉ³œ̅kÇm@ċȧŧĥĽʉƅſȓÒ˦ŝE}ºƑ[ÍĜȋ gÎfǐÏĤ¨êƺ\\Ɔ¸ĠĎvʄȀоjNðĀÒRZdžzÐŘΰH¨Ƣb²_Ġ "],"encodeOffsets":[[112750,20508]]},"properties":{"cp":[110.33119,20.031971],"name":"海南","childNum":1}},{"id":"510000","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@LqKr"],["@@[ĻéV£_ţġñpG réÏ·~ąSfy×Í·ºſƽiÍıƣıĻmHH}siaX@iǰÁÃ×t«T¤JJJyJÈ`Ohߦ¡uËhIyCjmÿw
ZG
TiSsOB²fNmsPa{M{õE^Hj}gYpaeu¯oáwHjÁ½M¡pMuåmni{fk\\oÎqCwEZ¼KĝAy{m÷LwO×SimRI¯rKõBS«sFe]fµ¢óY_ÆPRcue°Cbo×bd£ŌIHgtrnyPt¦foaXďxlBowz_{ÊéWiêEGhܸºuFĈIxf®Y½ĀǙ]¤EyF²ċw¸¿@g¢§RGv»áW`ÃĵJwi]t¥wO½a[×]`ÃiüL¦LabbTÀåc}ÍhÆh®BHî|îºÉk¤Sy£ia©taį·Ɖ`ō¥UhO
ĝLk}©Fos´JmµlŁu
ønÑJWΪYÀïAetTŅÓGË«bo{ıwodƟ½OġܵxàNÖ¾P²§HKv¾]|BÆåoZ`¡Ø`ÀmºĠ~ÌЧnÇ
¿¤]wğ@srğu~Io[é±¹ ¿ſđÓ@qg¹zƱřaí°KtǤV»Ã[ĩǭƑ^ÇÓ@áťsZÏÅĭƋěpwDóÖáŻneQËq·GCœýS]x·ýq³OÕ¶Qzßti{řáÍÇWŝŭñzÇWpç¿JXĩè½cFÂLiVjx}\\NŇĖ¥GeJA¼ÄHfÈu~¸Æ«dE³ÉMA|bÒ
ćhG¬CMõƤąAvüVéŀ_V̳ĐwQj´·ZeÈÁ¨X´Æ¡Qu·»ÕZ³ġqDoy`L¬gdp°şp¦ėìÅĮZ°Iähzĵf²å ĚÑKpIN|Ñz]ń
·FU×é»R³MÉ»GM«kiér}Ã`¹ăÞmÈnÁîRǀ³ĜoİzŔwǶVÚ£À]ɜ»ĆlƂ²Ġ
þTº·àUȞÏʦ¶I«dĽĢdĬ¿»Ĕ×h\\c¬ä²GêëĤł¥ÀǿżÃÆMº}BÕĢyFVvwxBèĻĒ©ĈtCĢɽŠȣ¦āæ·HĽîôNÔ~^¤Ɗu^s¼{TA¼ø°¢İªDè¾Ň¶ÝJ®Z´ğ~Sn|ªWÚ©òzPOȸbð¢|øĞŒQìÛÐ@ĞǎRS¤Á§d
i´ezÝúØã]HqkIþËQǦÃsǤ[E¬ÉŪÍxXƒ·ÖƁİlƞ¹ª¹|XÊwnÆƄmÀêErĒtD®ċæcQE®³^ĭ¥©l}äQtoŖÜqÆkµªÔĻĴ¡@Ċ°B²Èw^^RsºT£ڿQPJvÄz^Đ¹Æ¯fLà´GC²dtĀRt¼¤ĦOðğfÔðDŨŁĞƘïPÈ®âbMüÀXZ ¸£@Å»»QÉ]dsÖ×_Í_ÌêŮPrĔĐÕGĂeZÜîĘqBhtO ¤tE[h|YÔZśÎs´xº±Uñt|OĩĠºNbgþJy^dÂY Į]Řz¦gC³R`Āz¢Aj¸CL¤RÆ»@Ŏk\\Ç´£YW}z@Z}öoû¶]´^NÒ}èNªPÍy¹`S°´ATeVamdUĐwʄvĮÕ\\uÆŗ¨Yp¹àZÂmWh{á}WØǍÉüwga§áCNęÎ[ĀÕĪgÖɪXøx¬½Ů¦¦[NÎLÜUÖ´òrÙŠxR^JkijnDX{U~ET{ļº¦PZcjF²Ė@pg¨B{u¨ŦyhoÚD®¯¢ WòàFΤ¨GDäz¦kŮPġqË¥À]eâÚ´ªKxīPÖ|æ[xäJÞĥsNÖ½I¬nĨY´®ÐƐmDŝuäđđEb
ee_v¡}ìęNJē}qÉåT¯µRs¡M@}ůaa¯wvƉåZw\\Z{åû^"]],"encodeOffsets":[[[108815,30935]],[[110617,31811]]]},"properties":{"cp":[104.065735,30.659462],"name":"四川","childNum":2}},{"id":"520000","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@G\\lY£in"],["@@q|mc¯tÏVSÎ"],["@@hÑ£IsNgßHHªķÃh_¹¡ĝħń¦uÙùgS¯JH|sÝÅtÁïyMDč»eÕtA¤{b\\}G®u\\åPFqwÅaD
K°ºâ_£ùbµmÁÛĹM[q|hlaªāI}ѵ@swtwm^oµD鼊yVky°ÉûÛR
³e¥]RÕěħ[ƅåÛDpJiVÂF²I
»mN·£LbÒYbWsÀbpkiTZĄă¶Hq`
ĥ_J¯ae«KpÝx]aĕÛPÇȟ[ÁåŵÏő÷Pw}TÙ@Õs«ĿÛq©½m¤ÙH·yǥĘĉBµĨÕnđ]K©œáGçş§ÕßgǗĦTèƤƺ{¶ÉHÎd¾ŚÊ·OÐjXWrãLyzÉAL¾ę¢bĶėy_qMĔąro¼hĊw¶øV¤w²Ĉ]ÊKx|`ź¦ÂÈdrcÈbe¸`I¼čTF´¼Óýȃr¹ÍJ©k_șl³´_pĐ`oÒh¶pa^ÓĔ}D»^Xy`d[Kv
JPhèhCrĂĚÂ^Êƌ wZLĠ£ÁbrzOIlMMĪŐžËr×ÎeŦtw|¢mKjSǘňĂStÎŦEtqFT¾E쬬ôxÌO¢ K³ŀºäYPVgŎ¦Ŋm޼VZwVlz¤
£Tl®ctĽÚó{GAÇge~Îd¿æaSba¥KKûj®_Ä^\\ؾbP®¦x^sxjĶI_Ä Xâ¼Hu¨Qh¡À@Ëô}±GNìĎlT¸
`V~R°tbÕĊ`¸úÛtÏFDu[MfqGH·¥yAztMFe|R_GkChZeÚ°tov`xbDnÐ{E}ZèxNEÞREn[Pv@{~rĆAB§EO¿|UZ~ìUf¨J²ĂÝÆsªB`s¶fvö¦Õ~dÔq¨¸º»uù[[§´sb¤¢zþF¢Æ
ÀhÂW\\ıËIÝo±ĭŠ£þÊs}¡R]ěDg´VG¢j±®èºÃmpU[Á뺰rÜbNu¸}º¼`niºÔXĄ¤¼ÔdaµÁ_Ã
ftQQgR·Ǔv}Ý×ĵ]µWc¤F²OĩųãW½¯K©
]{LóµCIµ±Mß¿h©āq¬o½~@i~TUxŪÒ¢@£ÀEîôruńb[§nWuMÆLl¿]x}ij½"]],"encodeOffsets":[[[112158,27383]],[[112105,27474]],[[112095,27476]]]},"properties":{"cp":[106.713478,26.578343],"name":"贵州","childNum":3}},{"id":"530000","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@[ùx½}ÑRHYīĺûsÍniEoã½Ya²ė{c¬ĝgĂsAØÅwďõzFjw}«Dx¿}Uũlê@HÅF¨ÇoJ´Ónũuą¡Ã¢pÒÅØ TF²xa²ËXcÊlHîAßËŁkŻƑŷÉ©hWæßUËs¡¦}teèÆ¶StÇÇ}Fd£jĈZĆÆ¤Tč\\D}O÷£U§~ŃGåŃDĝ¸Tsd¶¶Bª¤u¢ŌĎo~t¾ÍŶÒtD¦ÚiôözØX²ghįh½Û±¯ÿm·zR¦Ɵ`ªŊÃh¢rOÔ´£Ym¼èêf¯ŪĽncÚbw\\zlvWªâ ¦gmĿBĹ£¢ƹřbĥkǫßeeZkÙIKueT»sVesbaĕ ¶®dNĄÄpªy¼³BE®lGŭCǶwêżĔÂepÍÀQƞpC¼ŲÈAÎô¶RäQ^Øu¬°_Èôc´¹ò¨P΢hlϦ´ĦÆ´sâÇŲPnÊD^¯°Upv}®BP̪jǬxSöwlfòªvqĸ|`HviļndĜĆhňem·FyÞqóSᝳX_ĞçêtryvL¤§z¦c¦¥jnŞklD¤øz½ĜàĂŧMÅ|áƆàÊcðÂFÜáŢ¥\\\\ºİøÒÐJĴîD¦zK²ǏÎEh~CDhMn^ÌöÄ©ČZÀaüfɭyœpį´ěFűk]Ôě¢qlÅĆÙa¶~ÄqêljN¬¼HÊNQ´ê¼VظE^ŃÒyM{JLoÒęæe±Ķygã¯JYÆĭĘëo¥Šo¯hcK«z_prC´ĢÖY¼ v¸¢RÅW³Â§fǸYi³xR´ďUË`êĿUûuĆBƣöNDH«ĈgÑaB{ÊNF´¬c·Åv}eÇÃGB»If¦HňĕM
~[iwjUÁKE¾dĪçWIèÀoÈXòyŞŮÈXâÎŚj|àsRyµÖPr´þ ¸^wþTDŔHr¸RÌmfżÕâCôoxĜƌÆĮÐYtâŦÔ@]ÈǮƒ\\μģUsȯLbîƲŚºyhr@ĒÔƀÀ²º\\êpJ}ĠvqtĠ@^xÀ£È¨mËÏğ}n¹_¿¢×Y_æpÅA^{½Lu¨GO±Õ½ßM¶wÁĢÛPƢ¼pcIJx|ap̬HÐŊSfsðBZ¿©XÏÒKk÷Eû¿S
rEFsÕūkóVǥʼniTL¡n{uxţÏhôŝ¬ğōNNJkyPaqÂğ¤K®YxÉƋÁ]āęDqçgOgILu\\_gz]W¼~CÔē]bµogpÑ_oď`´³Țkl`IªºÎȄqÔþ»E³ĎSJ»_f·adÇqÇc¥Á_Źw{L^ɱćxU£µ÷xgĉp»ĆqNē`rĘzaĵĚ¡K½ÊBzyäKXqiWPÏɸ½řÍcÊG|µƕƣGË÷k°_^ý|_zċBZocmø¯hhcæ\\lMFlư£ĜÆyHF¨µêÕ]HA
àÓ^it `þßäkĤÎT~Wlÿ¨ÔPzUCNVv [jâôDôď[}z¿msSh¯{jïğl}šĹ[őgK©U·µË@¾m_~q¡f¹
ÅË^»f³ø}Q¡Ö˳gͱ^Ç
\\ëÃA_¿bWÏ[¶ƛé£F{īZgm@|kHǭƁć¦UĔť×ë}ǝeďºȡȘÏíBÉ£āĘPªij¶ʼnÿy©nď£G¹¡I±LÉĺÑdĉÜW¥}gÁ{aqÃ¥aıęÏZï`"],"encodeOffsets":[[104636,22969]]},"properties":{"cp":[102.712251,25.040609],"name":"云南","childNum":1}},{"id":"540000","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@ÂhľxŖxÒVºÅâAĪÝȆµę¯Ňa±r_w~uSÕňqOj]ɄQ
£Z
UDûoY»©M[L¼qãË{VÍçWVi]ë©Ä÷àyƛhÚU°adcQ~Mx¥cc¡ÙaSyFÖkuRýq¿ÔµQĽ³aG{¿FµëªéĜÿª@¬·K·àariĕĀ«V»ŶĴūgèLǴŇƶaftèBŚ£^âǐÝ®M¦ÁǞÿ¬LhJ¾óƾƺcxwf]Y
´¦|QLn°adĊ
\\¨oǀÍŎ´ĩĀd`tÊQŞŕ|¨C^©Ĉ¦¦ÎJĊ{ëĎjª²rÐl`¼Ą[t|¦Stè¾PÜK¸dƄı]s¤î_v¹ÎVòŦj£Əsc¬_Ğ´|٦Av¦w`ăaÝaa¢e¤ı²©ªSªÈMĄwÉØŔì@T¤Ę\\õª@þo´xA sÂtŎKzó´ÇĊµ¢r^nĊƬ×üG¢³ {âĊ]G~bÀgVjzlhǶfOfdªB]pjTOtĊn¤}®¦Č¥d¢¼»ddY¼t¢eȤJ¤}Ǿ¡°§¤AÐlc@ĝsªćļđAçwxUuzEÖġ~AN¹ÄÅȀݦ¿ģŁéì±H
ãd«g[ؼēÀcīľġ¬cJµ
ÐʥVȝ¸ßS¹ý±ğkƁ¼ą^ɛ¤Ûÿb[}¬ōõÃ]ËNm®g@Bg}ÍF±ǐyL¥íCIijÏ÷Ñį[¹¦[âšEÛïÁÉdƅß{âNÆāŨß¾ě÷yC£k´ÓH@¹TZ¥¢į·ÌAЧ®Zc
v½Z¹|ÅWZqgW|ieZÅYVÓqdqbc²R@c¥Rã»GeeƃīQ}J[ÒK
¬Ə|oėjġĠÑN¡ð¯EBčnwôɍėª²CλŹġǝʅįĭạ̃ūȹ]ΓͧgšsgȽóϧµǛęgſ¶ҍć`ĘąŌJÞä¤rÅň¥ÖÁUětęuůÞiĊÄÀ\\Æs¦ÓRb|Â^řÌkÄŷ¶½÷f±iMÝ@ĥ°G¬ÃM¥n£Øąğ¯ß§aëbéüÑOčk£{\\eµª×MÉfm«Ƒ{Å×Gŏǩãy³©WÑăû··Qòı}¯ãIéÕÂZ¨īès¶ZÈsæĔTŘvgÌsN@îá¾ó@ÙwU±ÉT廣TđWxq¹Zobs[ׯcĩvėŧ³BM|¹kªħ¥TzNYnÝßpęrñĠĉRS~½ěVVµõ«M££µBĉ¥áºae~³AuĐh`ܳç@BÛïĿa©|z²Ý¼D£àč²ŸIûI āóK¥}rÝ_Á´éMaň¨~ªSĈ½½KÙóĿeƃÆB·¬ën×W|Uº}LJrƳlŒµ`bÔ`QÐÓ@s¬ñIÍ@ûws¡åQÑßÁ`ŋĴ{ĪTÚÅTSijYo|Ç[ǾµMW¢ĭiÕØ¿@Mh
pÕ]jéò¿OƇĆƇpêĉâlØwěsǩĵ¸c
bU¹ř¨WavquSMzeo_^gsÏ·¥Ó@~¯¿RiīB\\qTGªÇĜçPoÿfñòą¦óQīÈáPābß{ZŗĸIæÅhnszÁCËìñÏ·ąĚÝUm®óL·ăUÈíoù´Êj°ŁŤ_uµ^°ìÇ@tĶĒ¡ÆM³Ģ«İĨÅ®ğRāðggheÆ¢zÊ©Ô\\°ÝĎz~ź¤PnMĪÖB£kné§żćĆKǰ¼L¶èâz¨u¦¥LDĘz¬ýÎmĘd¾ßFzhg²Fy¦ĝ¤ċņbÎ@yĄæm°NĮZRÖíJ²öLĸÒ¨Y®ƌÐVàtt_ÚÂyĠz]ŢhzĎ{ÂĢXc|ÐqfO¢¤ögÌHNPKŖUú´xx[xvĐCûĀìÖT¬¸^}Ìsòd´_KgžLĴ
ÀBon|H@Êx¦BpŰŌ¿fµƌA¾zLjRx¶FkĄźRzŀ~¶[´HnªVƞuĒȨƎcƽÌm¸ÁÈM¦x͊ëÀxdžBú^´W£dkɾĬpw˂ØɦļĬIŚÊnŔa¸~J°îlɌxĤÊÈðhÌ®gT´øàCÀ^ªerrƘd¢İP|Ė ŸWªĦ^¶´ÂLaT±üWƜǀRÂŶUńĖ[QhlLüAÜ\\qRĄ©"],"encodeOffsets":[[90849,37210]]},"properties":{"cp":[91.132212,29.660361],"name":"西藏","childNum":1}},{"id":"610000","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@p¢ȮµûGĦ}Ħðǚ¶òƄjɂz°{ºØkÈęâ¦jªBg\\ċ°s¬]jú EȌdž¬stRÆdĠİwܸôW¾ƮłÒ_{Ìû¼jº¹¢GǪÒ¯ĘZ`ºŊecņą~BÂgzpâēòYǠȰÌTΨÂW|fcă§uF@N¢XLRMº[ğȣſï|¥Jkc`sʼnǷY¹W@µ÷K
ãï³ÛIcñ·VȋÚÒķø©þ¥yÓğęmWµÎumZyOŅƟĥÓ~sÑL¤µaÅ
Y¦ocyZ{y c]{Ta©`U_Ěē£ωÊƍKùK¶ȱÝƷ§{û»ÅÁȹÍéuij|¹cÑdìUYOuFÕÈYvÁCqÓTǢí§·S¹NgV¬ë÷Át°DدC´ʼnƒópģ}ċcEË
FéGU¥×K
§¶³BČ}C¿åċ`wġB·¤őcƭ²ő[Å^axwQO
ÿEËߌĤNĔwƇÄńwĪo[_KÓª³ÙnKÇěÿ]ďă_d©·©Ýŏ°Ù®g]±ßå¬÷m\\iaǑkěX{¢|ZKlçhLtŇîŵœè[É@ƉĄEtƇϳħZ«mJ
×¾MtÝĦ£IwÄå\\Õ{OwĬ©LÙ³ÙgBƕŀrÌĢŭO¥lãyC§HÍ£ßEñX¡°ÙCgpťzb`wIvA|§hoĕ@E±iYd¥OϹS|}F@¾oAO²{tfÜ¢FǂÒW²°BĤh^Wx{@¬F¸¡ķn£P|ªĴ@^ĠĈæbÔc¶lYi
^MicϰÂ[ävï¶gv@ÀĬ·lJ¸sn|¼u~a]ÆÈtŌºJpþ£KKf~¦UbyäIĺãnÔ¿^ŵMThĠܤko¼Ŏìąǜh`[tRd²IJ_XPrɲlXiL§à¹H°Ȧqº®QCbAŌJ¸ĕÚ³ĺ§ `d¨YjiZvRĺ±öVKkjGȊÄePĞZmļKÀ[`ösìhïÎoĬdtKÞ{¬èÒÒBÔpIJÇĬJŊ¦±J«Y§@·pHµàåVKepWftsAÅqC·¬ko«pHÆuK@oHĆÛķhxenS³àǍrqƶRbzy¸ËÐl¼EºpĤ¼x¼½~Ğà@ÚüdK^mÌSj"],"encodeOffsets":[[110234,38774]]},"properties":{"cp":[108.948024,34.263161],"name":"陕西","childNum":1}},{"id":"620000","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@VuUv"],["@@ũEĠtt~nkh`Q¦ÅÄÜdwAb×ĠąJ¤DüègĺqBqj°lI¡ĨÒ¤úSHbjÎB°aZ¢KJO[|A£Dx}NìHUnrk kp¼Y kMJn[aGáÚÏ[½rc}aQxOgsPMnUsncZ
sKúvAtÞġ£®ĀYKdnFw¢JE°Latf`¼h¬we|Æbj}GA·~W`¢MC¤tL©IJ°qdfObÞĬ¹ttu`^ZúE`[@Æsîz®¡CƳƜG²R¢RmfwĸgÜą G@pzJM½mhVy¸uÈÔO±¨{LfæU¶ßGĂq\\ª¬²I¥IʼnÈīoıÓÑAçÑ|«LÝcspīðÍg
të_õ\\ĉñLYnĝgRǡÁiHLlõUĹ²uQjYi§Z_c¨´ĹĖÙ·ŋI
aBDR¹ȥr¯GºßK¨jWkɱOqWij\\aQ\\sg_ĆǛōëp»£lğÛgSŶN®À]ÓämĹãJaz¥V}Le¤Lýo¹IsŋÅÇ^bz
³tmEÁ´a¹cčecÇNĊãÁ\\č¯dNj]jZµkÓdaćå]ğij@ ©O{¤ĸm¢E·®«|@Xwg]A챝XǁÑdzªcwQÚŝñsÕ³ÛV_ý¥\\ů¥©¾÷w©WÕÊĩhÿÖÁRo¸V¬âDb¨hûxÊ×nj~Zâg|XÁnßYoº§ZÅŘv[ĭÖʃuďxcVbnUSf
B¯³_TzºÎO©çMÑ~M³]µ^püµÄY~y@X~¤Z³[Èōl@®Å¼£QK·Di¡ByÿQ_´D¥hŗy^ĭÁZ]cIzýah¹MĪğPs{ò²Vw¹t³ŜË[Ñ}X\\gsF£sPAgěp×ëfYHāďÖqēŭOÏëdLü\\it^c®Rʺ¶¢H°mrY£B¹čIoľu¶uI]vģSQ{UŻÅ}QÂ|̰ƅ¤ĩŪU ęĄÌZÒ\\v²PĔ»ƢNHĂyAmƂwVm`]ÈbH`Ì¢²ILvĜH®¤Dlt_¢JJÄämèÔDëþgºƫaʎÌrêYi~ ÎݤNpÀA¾Ĕ¼b
ð÷®üszMzÖĖQdȨýv§Tè|ªHþa¸|Ð ƒwKĢx¦ivr^ÿ ¸l öæfƟĴ·PJv}n\\h¹¶v·À|\\ƁĚN´ĜçèÁz]ġ¤²¨QÒŨTIlªťØ}¼˗ƦvÄùØE«FïËIqōTvāÜŏíÛßÛVj³âwGăÂíNOPìyV³ʼnĖýZso§HÑiYw[ß\\X¦¥c]ÔƩÜ·«jÐqvÁ¦m^ċ±R¦ƈťĚgÀ»IïĨʗƮ°ƝĻþÍAƉſ±tÍEÕÞāNUÍ¡\\ſčåÒʻĘm ƭÌŹöʥëQ¤µÇcƕªoIýIÉ_mkl³ăƓ¦j¡YzŇi}Msßõīʋ }ÁVm_[n}eıUĥ¼ªI{ΧDÓƻėojqYhĹT©oūĶ£]ďxĩǑMĝq`B´ƃ˺Чç~²ņj@¥@đ´ί}ĥtPńǾV¬ufÓÉCtÓ̻
¹£G³]ƖƾŎĪŪĘ̖¨ʈĢƂlɘ۪üºňUðǜȢƢż̌ȦǼĤŊɲĖÂKq´ï¦ºĒDzņɾªǀÞĈĂD½ĄĎÌŗĞrôñnN¼â¾ʄľԆ|DŽ֦ज़ȗlj̘̭ɺƅêgV̍ʆĠ·ÌĊv|ýĖÕWĊǎÞ´õ¼cÒÒBĢ͢UĜð͒s¨ňƃLĉÕÝ@ɛƯ÷¿ĽĹeȏijëCȚDŲyê×Ŗyò¯ļcÂßY
tÁƤyAã˾J@ǝrý@¤
rz¸oP¹ɐÚyáHĀ[Jw
cVeȴÏ»ÈĖ}ƒŰŐèȭǢόĀƪÈŶë;Ñ̆ȤМľĮEŔĹŊũ~ËUă{ĻƹɁύȩþĽvĽƓÉ@ēĽɲßǐƫʾǗĒpäWÐxnsÀ^ƆwW©¦cÅ¡Ji§vúF¶¨c~c¼īeXǚ\\đ¾JwÀďksãAfÕ¦L}waoZD½Ml«]eÒÅaɲáo½FõÛ]ĻÒ¡wYR£¢rvÓ®y®LFLzĈôe]gx}|KK}xklL]c¦£fRtív¦PĤoH{tK"]],"encodeOffsets":[[[108619,36299]],[[108589,36341]]]},"properties":{"cp":[103.823557,36.058039],"name":"甘肃","childNum":2}},{"id":"630000","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@InJm"],["@@CƽOŃĦsΰ~dz¦@@Ņi±è}ШƄ˹A³r_ĞǒNĪĐw¤^ŬĵªpĺSZgrpiƼĘÔ¨C|ÍJ©Ħ»®VIJ~f\\m `UnÂ~ʌĬàöNt~ňjy¢ZiƔ¥Ąk´nl`JÊJþ©pdƖ®È£¶ìRʦźõƮËnʼėæÑƀĎ[¢VÎĂMÖÝÎF²sƊƀÎBļýƞ¯ʘƭðħ¼Jh¿ŦęΌƇ¥²Q]Č¥nuÂÏri¸¬ƪÛ^Ó¦d¥[Wà
x\\ZjÒ¨GtpþYŊĕ´zUOëPîMĄÁxH´áiÜUàîÜŐĂÛSuŎrJð̬EFÁú×uÃÎkrĒ{V}İ«O_ÌËĬ©ÓŧSRѱ§Ģ£^ÂyèçěM³Ƃę{[¸¿u
ºµ[gt£¸OƤĿéYõ·kĀq]juw¥DĩƍõÇPéĽG©ã¤G
uȧþRcÕĕNyyûtøï»a½ē¿BMoį£Íj}éZËqbʍƬh¹ìÿÓAçãnIáI`ks£CGěUy×Cy
@¶ʡÊBnāzGơMē¼±O÷õJËĚăVĪũƆ£¯{ËL½ÌzżVR|ĠTbuvJvµhĻĖHAëáa
OÇðñęNw
œľ·LmI±íĠĩPÉ×®ÿscB³±JKßĊ«`
ađ»·QAmOVţéÿ¤¹SQt]]Çx±¯A@ĉij¢Óļ©l¶ÅÛrŕspãRk~¦ª]Į´FRådČsCqđéFn¿ÅƃmÉx{W©ºƝºįkÕƂƑ¸wWūЩÈF£\\tÈ¥ÄRÈýÌJ lGr^×äùyÞ³fjc¨£ÂZ|ǓMĝÏ@ëÜőRĝ÷¡{aïȷPu°ËXÙ{©TmĠ}Y³ÞIňµç½©C¡į÷¯B»|St»]vųs»}MÓ ÿʪƟǭA¡fs»PY¼c¡»¦cċ¥£~msĉPSi^o©AecPeǵkgyUi¿h}aHĉ^|á´¡HØûÅ«ĉ®]m¡qĉ¶³ÈyôōLÁstB®wn±ă¥HSòė£Së@לÊăxÇN©©T±ª£IJ¡fb®Þbb_Ą¥xu¥B{łĝ³«`dƐt¤ťiñÍUuºí`£^tƃIJc·ÛLO½sç¥Ts{ă\\_»kϱq©čiìĉ|ÍI¥ć¥]ª§D{ŝŖÉR_sÿc³ĪōƿΧp[ĉc¯bKmR¥{³Ze^wx¹dƽŽôIg §Mĕ ƹĴ¿ǣÜÍ]Ý]snåA{eƭ`ǻŊĿ\\ijŬűYÂÿ¬jĖqßb¸L«¸©@ěĀ©ê¶ìÀEH|´bRľÓ¶rÀQþvl®ÕETzÜdb hw¤{LRdcb¯ÙVgƜßzÃôì®^jUèXÎ|UäÌ»rK\\ªN¼pZCüVY¤ɃRi^rPŇTÖ}|br°qňb̰ªiƶGQ¾²x¦PmlŜ[Ĥ¡ΞsĦÔÏâ\\ªÚŒU\\f
¢N²§x|¤§xĔsZPòʛ²SÐqF`ªVÞŜĶƨVZÌL`¢dŐIqr\\oäõF礻Ŷ×h¹]ClÙ\\¦ďÌį¬řtTӺƙgQÇÓHţĒ´ÃbEÄlbʔC|CŮkƮ[ʼ¬ň´KŮÈΰÌζƶlðļATUvdTGº̼ÔsÊDÔveOg"]],"encodeOffsets":[[[105308,37219]],[[95370,40081]]]},"properties":{"cp":[101.778916,36.623178],"name":"青海","childNum":2}},{"id":"640000","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@KëÀęĞ«Oęȿȕı]ʼn¡åįÕÔ«ǴõƪĚQÐZhv K°öqÀÑS[ÃÖHƖčËnL]ûc
Ùß@ĝ¾}w»»oģF¹»kÌÏ·{zP§B¢íyÅt@@á]Yv_ssģ¼ißĻL¾ġsKD£¡N_
X¸}B~HaiÅf{«x»ge_bsKF¯¡IxmELcÿZ¤ĢÝsuBLùtYdmVtNmtOPhRw~bd
¾qÐ\\âÙH\\bImlNZ»loqlVmGā§~QCw¤{A\\PKNY¯bFkC¥sks_Ã\\ă«¢ħkJi¯rrAhĹûç£CUĕĊ_ÔBixÅÙĄnªÑaM~ħpOu¥sîeQ¥¤^dkKwlL~{L~hw^ófćKyEKzuÔ¡qQ¤xZÑ¢^ļöܾEp±âbÊÑÆ^fk¬
NC¾YpxbK~¥eÖäBlt¿Đx½I[ĒǙWf»Ĭ}d§dµùEuj¨IÆ¢¥dXªƅx¿]mtÏwßRĶX¢͎vÆzƂZò®ǢÌʆCrâºMÞzÆMÒÊÓŊZľr°Î®Ȉmª²ĈUªĚîøºĮ¦ÌĘk^FłĬhĚiĀ˾iİbjÕ"],["@@mfwěwMrŢªv@G"]],"encodeOffsets":[[[109366,40242]],[[108600,36303]]]},"properties":{"cp":[106.278179,38.46637],"name":"宁夏","childNum":2}},{"id":"650000","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@QØĔ²X¨~ǘBºjʐߨvKƔX¨vĊO÷¢i@~cĝe_«E}QxgɪëÏÃ@sÅyXoŖ{ô«ŸuX
êÎf`C¹ÂÿÐGĮÕĞXŪōŸMźÈƺQèĽôe|¿ƸJR¤ĘEjcUóº¯Ĩ_ŘÁMª÷Ð¥OéÈ¿ÖğǤǷÂFÒzÉx[]Ĥĝœ¦EP}ûƥé¿İƷTėƫœŕƅƱB»Đ±ēO
¦E}`cȺrĦáŖuÒª«IJπdƺÏØZƴwʄ¤ĖGĐǂZĶèH¶}ÚZצʥĪï|ÇĦMŔ»İĝLjì¥Βba¯¥ǕǚkĆŵĦɑĺƯxūД̵nơʃĽá½M»òmqóŘĝč˾ăC
ćāƿÝɽ©DZҹđ¥³ðLrÁ®ɱĕģʼnǻ̋ȥơŻǛȡVï¹Ň۩ûkɗġƁ§ʇė̕ĩũƽō^ƕUv£ƁQïƵkŏ½ΉÃŭdzLŇʻ«ƭ\\lŭD{ʓDkaFÃÄa³ŤđÔGRÈƚhSӹŚsİ«ĐË[¥ÚDkº^Øg¼ŵ¸£EÍöůʼnT¡c_ËKYƧUśĵÝU_©rETÏʜ±OñtYwē¨{£¨uM³x½şL©Ùá[ÓÐĥ Νtģ¢\\śnkOw¥±T»ƷFɯàĩÞáB¹Æ
ÑUwŕĽw[mG½Èå~Æ÷QyěCFmĭZīŵVÁƿQƛûXS²b½KϽĉS©ŷXĕ{ĕK·¥Ɨcqq©f¿]ßDõU³hgËÇïģÉɋwk¯í}I·œbmÉřīJɥĻˁ×xoɹīlc
¤³Xù]DžA¿w͉ì¥wÇN·ÂËnƾƍdǧđ®ƝvUm©³G\\}µĿQyŹlăµEwLJQ½yƋBe¶ŋÀůo¥AÉw@{Gpm¿AijŽKLh³`ñcËtW±»ÕSëüÿďDu\\wwwù³VLŕOMËGh£õP¡erÏd{ġWÁ
č|yšg^ğyÁzÙs`s|ÉåªÇ}m¢Ń¨`x¥ù^}Ì¥H«YªƅAйn~ź¯f¤áÀzgÇDIÔ´AňĀÒ¶ûEYospõD[{ù°]uJqU|Soċxţ[õÔĥkŋÞŭZ˺óYËüċrw ÞkrťË¿XGÉbřaDü·Ē÷Aê[ÄäI®BÕĐÞ_¢āĠpÛÄȉĖġDKwbmÄNôfƫVÉvidzHQµâFùœ³¦{YGd¢ĚÜO {Ö¦ÞÍÀP^bƾl[vt×ĈÍE˨¡Đ~´î¸ùÎhuè`¸HÕŔVºwĠââWò@{ÙNÝ´ə²ȕn{¿¥{l÷eé^eďXj©î\\ªÑòÜìc\\üqÕ[Č¡xoÂċªbØø|¶ȴZdÆÂońéG\\¼C°ÌÆn´nxÊOĨŪƴĸ¢¸òTxÊǪMīĞÖŲÃɎOvʦƢ~FRěò¿ġ~åŊúN¸qĘ[Ĕ¶ÂćnÒPĒÜvúĀÊbÖ{Äî¸~Ŕünp¤ÂH¾ĄYÒ©ÊfºmÔĘcDoĬMŬS¤s²ʘÚžȂVŦ èW°ªB|IJXŔþÈJĦÆæFĚêYĂªĂ]øªŖNÞüAfɨJ¯ÎrDDĤ`mz\\§~D¬{vJ«lµĂb¤pŌŰNĄ¨ĊXW|ų ¿¾ɄĦƐMTòP÷fØĶK¢ȝ˔Sô¹òEð`Ɩ½ǒÂň×äı§ĤƝ§C~¡hlåǺŦŞkâ~}FøàIJaĞfƠ¥Ŕd®U¸źXv¢aƆúŪtŠųƠjdƺƺÅìnrh\\ĺ¯äɝĦ]èpĄ¦´LƞĬ´ƤǬ˼Ēɸ¤rºǼ²¨zÌPðŀbþ¹ļD¢¹\\ĜÑŚ¶ZƄ³àjĨoâȴLÊȮĐĚăÀêZǚŐ¤qȂ\\L¢ŌİfÆs|zºeªÙæ§{Ā´ƐÚ¬¨Ĵà²łhʺKÞºÖTiƢ¾ªì°`öøu®Ê¾ãØ"],"encodeOffsets":[[88824,50096]]},"properties":{"cp":[87.617733,43.792818],"name":"新疆","childNum":1}},{"id":"110000","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@ĽOÁûtŷmiÍt_H»Ĩ±d`¹{bw
Yr³S]§§o¹qGtm_SŧoaFLgQN_dV@Zom_ć\\ßc±x¯oœRcfe
£o§ËgToÛJíĔóu
|wP¤XnO¢ÉŦ¯rNÄā¤zâŖÈRpŢZÚ{GrFt¦Òx§ø¹RóäV¤XdżâºWbwڍUd®bêņ¾jnŎGŃŶnzÚSeîĜZczî¾i]ÍQaúÍÔiþĩȨWĢü|Ėu[qb[swP@ÅğP¿{\\¥A¨ÏѨj¯X\\¯MKpA³[H
īu}}"],"encodeOffsets":[[120023,41045]]},"properties":{"cp":[116.405285,39.904989],"name":"北京","childNum":1}},{"id":"120000","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@ŬgX§Ü«E
¶F̬O_ïlÁgz±AXeµÄĵ{¶]gitgIj·¥îakS¨ÐƎk}ĕ{gBqGf{¿aU^fIư³õ{YıëNĿk©ïËZŏR§òoY×Ógc
ĥs¡bġ«@dekąI[nlPqCnp{ō³°`{PNdƗqSÄĻNNâyj]äÒD ĬH°Æ]~¡HO¾X}ÐxgpgWrDGpù^LrzWxZ^¨´T\\|~@IzbĤjeĊªz£®ĔvěLmV¾Ô_ÈNW~zbĬvG²ZmDM~~"],"encodeOffsets":[[120237,41215]]},"properties":{"cp":[117.190182,39.125596],"name":"天津","childNum":1}},{"id":"310000","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@ɧư¬EpƸÁxc"],["@@©ª"],["@@MA"],["@@QpİE§ÉC¾"],["@@bŝÕÕEȣÚƥêImɇǦèÜĠÚÃƌÃ͎ó"],["@@ǜûȬɋŭ×^sYɍDŋŽąñCG²«ªč@h_p¯A{oloY¬j@IJ`gQÚhr|ǀ^MIJvtbe´R¯Ô¬¨Yô¤r]ìƬį"]],"encodeOffsets":[[[124702,32062]],[[124547,32200]],[[124808,31991]],[[124726,32110]],[[124903,32376]],[[124438,32149]]]},"properties":{"cp":[121.472644,31.231706],"name":"上海","childNum":6}},{"id":"500000","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@vjG~nGŘŬĶȂƀƾ¹¸ØÎezĆT¸}êÐqHðqĖä¥^CÆIj²p
\\_ æüY|[YxƊæu°xb®
Űb@~¢NQt°¶Sæ Ê~rljĔëĚ¢~uf`faĔJåĊnÖ]jƎćÊ@£¾a®£Ű{ŶĕFègLk{Y|¡ĜWƔtƬJÑxq±ĢN´òKLÈüD|s`ŋć]Ã`đMûƱ½~Y°ħ`ƏíW½eI½{aOIrÏ¡ĕŇapµÜƅġ^ÖÛbÙŽŏml½SêqDu[RãË»ÿw`»y¸_ĺę}÷`M¯ċfCVµqʼn÷Zgg`d½pDOÎCn^uf²ènh¼WtƏxRGg¦
pVFI±G^Ic´ecGĹÞ½sëĬhxW}KÓeXsbkF¦LØgTkïƵNï¶}Gyw\\oñ¡nmĈzj@Óc£»Wă¹Ój_m»¹·~MvÛaq»ê\\ÂoVnÓØÍ²«bq¿efE Ĝ^Q~ Évýş¤²ĮpEİ}zcĺL½¿gÅ¡ýE¡ya£³t\\¨\\vú»¼§·Ñr_oÒý¥u_n»_At©Þűā§IVeëY}{VPÀFA¨ąB}q@|Ou\\FmQFÝ
Mwå}]|FmÏCawu_p¯sfÙgY
DHl`{QEfNysB¦zG¸rHeN\\CvEsÐùÜ_·ÖĉsaQ¯}_UxÃđqNH¬Äd^ÝŰR¬ã°wećJE·vÝ·HgéFXjÉê`|ypxkAwWĐpb¥eOsmzwqChóUQl¥F^lafanòsrEvfQdÁUVfÎvÜ^eftET¬ôA\\¢sJnQTjPØxøK|nBzĞ»LY
FDxÓvr[ehľvN¢o¾NiÂxGpâ¬zbfZo~hGi]öF||NbtOMn eA±tPTLjpYQ|SHYĀxinzDJÌg¢và¥Pg_ÇzIIII£®S¬Øsμ£N"],["@@ifjN@s"]],"encodeOffsets":[[[109628,30765]],[[111725,31320]]]},"properties":{"cp":[106.504962,29.533155],"name":"重庆","childNum":2}},{"id":"810000","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@AlBk"],["@@mn"],["@@EpFo"],["@@ea¢pl¸Eõ¹hj[]ÔCÎ@lj¡uBX
´AI¹
[yDU]W`çwZkmc
MpÅv}IoJlcafŃK°ä¬XJmÐ đhI®æÔtSHnEÒrÈc"],["@@rMUwAS®e"]],"encodeOffsets":[[[117111,23002]],[[117072,22876]],[[117045,22887]],[[116975,23082]],[[116882,22747]]]},"properties":{"cp":[114.173355,22.320048],"name":"香港","childNum":5}},{"id":"820000","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@kÊd°å§s"],"encodeOffsets":[[116279,22639]]},"properties":{"cp":[113.54909,22.198951],"name":"澳门","childNum":1}}],"UTF8Encoding":true}); +}));
\ No newline at end of file diff --git a/src/main/webapp/static/login/echarts/map/js/world.js b/src/main/webapp/static/login/echarts/map/js/world.js new file mode 100644 index 0000000..db3c519 --- /dev/null +++ b/src/main/webapp/static/login/echarts/map/js/world.js @@ -0,0 +1,27 @@ +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['exports', 'echarts'], factory); + } else if (typeof exports === 'object' && typeof exports.nodeName !== 'string') { + // CommonJS + factory(exports, require('echarts')); + } else { + // Browser globals + factory({}, root.echarts); + } +}(this, function (exports, echarts) { + var log = function (msg) { + if (typeof console !== 'undefined') { + console && console.error && console.error(msg); + } + } + if (!echarts) { + log('ECharts is not Loaded'); + return; + } + if (!echarts.registerMap) { + log('ECharts Map is not loaded') + return; + } + echarts.registerMap('world', {"type":"FeatureCollection","crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:OGC:1.3:CRS84"}},"features":[{"geometry":{"type":"Polygon","coordinates":[[[47.97822265625001,7.9970703125],[46.97822265625001,7.9970703125],[43.98378906250002,9.008837890624989],[43.482519531250006,9.379492187499991],[43.181640625,9.879980468749991],[42.84160156250002,10.203076171874997],[42.65644531250001,10.6],[42.92275390625002,10.999316406249989],[43.24599609375002,11.499804687499989],[43.85273437500001,10.784277343749991],[44.38652343750002,10.430224609374989],[44.94296875,10.43671875],[45.81669921875002,10.835888671874997],[46.565039062500006,10.745996093749994],[47.40498046875001,11.174023437499997],[48.01923828125001,11.139355468749997],[48.57255859375002,11.320507812499997],[48.938574218750006,11.258447265624994],[50.11005859375001,11.529296875],[50.79228515625002,11.983691406249989],[51.2548828125,11.830712890624994],[51.08427734375002,11.335644531249997],[51.140625,10.656884765624994],[51.031835937500006,10.444775390624997],[51.19296875,10.554638671874997],[51.390234375,10.422607421875],[50.93007812500002,10.33554687499999],[50.825,9.428173828124997],[50.10283203125002,8.199804687499991],[49.85205078125,7.962548828124994],[49.234960937500006,6.77734375],[49.04931640625,6.173632812499989],[47.97529296875001,4.497021484374997],[46.87880859375002,3.28564453125],[46.05117187500002,2.475146484374989],[44.92021484375002,1.81015625],[43.71757812500002,0.857861328124997],[41.97988281250002,-0.973046875],[41.53271484375,-1.6953125],[41.521875,-1.572265625],[41.42695312500001,-1.449511718750003],[41.24980468750002,-1.220507812500003],[40.97871093750001,-0.870312500000011],[40.964453125,2.814648437499997],[41.341796875,3.20166015625],[41.61347656250001,3.590478515624994],[41.88398437500001,3.977734375],[41.91533203125002,4.031298828124989],[42.02412109375001,4.137939453125],[42.85664062500001,4.32421875],[43.12568359375001,4.644482421874997],[43.58349609375,4.85498046875],[43.988867187500006,4.950537109374991],[44.940527343750006,4.912011718749994],[47.97822265625001,7.9970703125]]]},"properties":{"name":"Somalia","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[9.579979133936737,47.05856388629306],[9.409458596647225,47.02019676540292],[9.46249431093294,47.09010747968864],[9.46249431093294,47.19858962254578],[9.527658197470123,47.27026989773668],[9.579979133936737,47.05856388629306]]]},"properties":{"name":"Liechtenstein","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[-8.683349609375,27.77800740805682],[-13.038761787013554,27.81190166624856],[-12.948925781249926,27.914160156250034],[-11.552685546874955,28.31010742187496],[-10.486474609374994,29.06494140625],[-10.200585937499994,29.380371093750057],[-9.667089843749949,30.10927734375005],[-9.652929687499977,30.447558593750045],[-9.875488281249943,30.717919921874966],[-9.80869140624992,31.42460937499996],[-9.347460937499932,32.086376953124955],[-9.245849609375,32.572460937499955],[-8.512841796874994,33.25244140625003],[-6.900976562499949,33.96904296874999],[-6.353125,34.77607421875001],[-5.924804687499943,35.78579101562502],[-5.277832031249943,35.90273437500002],[-5.252685546874972,35.61474609374997],[-4.628320312499966,35.206396484375006],[-4.329980468749937,35.161474609375006],[-3.693261718749994,35.27998046874998],[-3.394726562499926,35.21181640625005],[-2.972216796874989,35.40727539062499],[-2.839941406249949,35.127832031249994],[-2.731396484374955,35.13520507812498],[-2.636816406249977,35.11269531250002],[-2.423730468749994,35.12348632812498],[-2.219628906249966,35.10419921874998],[-1.795605468749926,34.751904296874955],[-1.67919921875,33.31865234375002],[-1.550732421874955,33.073583984375006],[-1.510009765625,32.877636718749955],[-1.45,32.784814453124966],[-1.352148437499977,32.70336914062497],[-1.29638671875,32.67568359375002],[-1.188232421875,32.608496093750006],[-1.111035156249983,32.55229492187502],[-1.065527343749949,32.46831054687496],[-1.16259765625,32.399169921875],[-1.275341796874983,32.089013671874966],[-2.863427734374937,32.07470703124997],[-2.930859374999926,32.04252929687499],[-2.988232421874983,31.874218749999983],[-3.01738281249996,31.834277343750017],[-3.439794921874949,31.704541015624983],[-3.604589843749949,31.686767578125],[-3.700244140624989,31.70009765625005],[-3.768164062499977,31.689550781250034],[-3.837109374999983,31.512353515624994],[-3.833398437499937,31.197802734375045],[-3.626904296874955,31.000927734374983],[-4.148779296874977,30.8095703125],[-4.322851562500006,30.698876953124994],[-4.52915039062492,30.62553710937499],[-4.778515624999926,30.552392578124994],[-4.968261718749943,30.465380859375045],[-5.061914062499937,30.326416015625057],[-5.180126953124955,30.166162109374994],[-5.293652343749983,30.058642578125045],[-5.44877929687496,29.956933593750023],[-6.00429687499999,29.83125],[-6.479736328124943,29.82036132812499],[-6.520556640624989,29.659863281249983],[-6.59775390624992,29.578955078125006],[-6.635351562499949,29.568798828124983],[-6.755126953125,29.583837890625034],[-6.855566406249949,29.601611328125017],[-7.142431640624949,29.61958007812504],[-7.427685546874983,29.425],[-7.485742187499994,29.392236328124994],[-8.659912109375,28.718603515625063],[-8.683349609375,27.900390625],[-8.683349609375,27.77800740805682]]]},"properties":{"name":"Morocco","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[-13.038761787013554,27.81190166624856],[-8.683349609375,27.77800740805682],[-8.683349609375,27.65644531250004],[-8.817822265624955,27.65644531250004],[-8.817822265624951,27.656445312499997],[-8.683349609375,27.656445312499997],[-8.683349609375,27.2859375],[-8.682861328125,26.921337890624997],[-8.6826171875,26.72314453125],[-8.682324218749983,26.497705078124994],[-8.68212890625,26.273193359375],[-8.68212890625,26.10947265625],[-8.682226562499977,25.995507812499994],[-12.016308593749983,25.995410156250003],[-12.016308593749983,25.740136718749994],[-12.016308593749983,25.331689453124994],[-12.016308593749983,25.059375],[-12.016308593749983,24.923242187499994],[-12.016308593749983,24.378662109375],[-12.016308593749983,23.97021484375],[-12.0234375,23.467578125],[-12.372900390624977,23.318017578124994],[-12.559375,23.290820312500003],[-12.620410156249989,23.27133789062499],[-13.031494140625,23.000244140625],[-13.153271484374983,22.820507812499997],[-13.12702845982141,22.703770926339278],[-13.136540684091575,22.708182548616723],[-13.094335937499977,22.495996093749994],[-13.051220703124983,21.854785156250003],[-13.041748046875,21.713818359374997],[-13.0322265625,21.572070312500003],[-13.025097656249983,21.466796875],[-13.016210937499977,21.333935546874997],[-15.231201171875,21.331298828125],[-16.964550781249983,21.329248046874994],[-17.06396484375,20.89882812499999],[-17.048046874999983,20.80615234375],[-17.098779296874994,20.856884765624997],[-16.930859374999983,21.9],[-16.35874023437495,22.594531250000045],[-16.21025390624999,23.097900390625],[-15.789257812499926,23.792871093750023],[-15.980712890624943,23.670312500000023],[-15.899316406249966,23.844433593749955],[-14.904296875000028,24.719775390625017],[-14.794921874999943,25.404150390625006],[-14.413867187499932,26.25371093749999],[-13.57578125,26.735107421875],[-13.175976562499983,27.655712890624983],[-13.038761787013554,27.81190166624856]],[[-8.774365234374983,27.460546875],[-8.794873046874983,27.120703125000034],[-8.794873046874983,27.120703125],[-8.774365234374983,27.460546875]]]},"properties":{"name":"W. Sahara","childNum":2}},{"geometry":{"type":"Polygon","coordinates":[[[21.5625,42.247509765625],[21.560839843750017,42.24765625],[21.389550781250023,42.21982421875],[21.28662109375,42.100390625],[21.05976562500001,42.171289062499994],[20.778125,42.071044921875],[20.725,41.87353515625],[20.566210937500017,41.873681640624994],[20.485449218750006,42.223388671875],[20.06396484375,42.54726562499999],[20.054296875,42.760058593749996],[20.344335937500006,42.827929687499996],[20.40996305279786,42.84373166741877],[20.344335937500063,42.82792968750002],[19.670996093750006,43.163964843749994],[19.21875,43.449951171875],[19.196484375000068,43.48500976562502],[19.19160156250004,43.52104492187499],[19.19433593749997,43.533300781250006],[19.495117187500057,43.642871093750045],[19.245019531249994,43.96503906250004],[19.583789062500017,44.04345703125003],[19.118457031250074,44.359960937500006],[19.348632812500057,44.88090820312502],[19.007128906250045,44.86918945312502],[19.062890625000023,45.13720703125],[19.4,45.2125],[19.004687500000074,45.39951171875006],[19.064257812500045,45.51499023437506],[18.839062499999983,45.83574218750002],[18.905371093750006,45.931738281250034],[19.421289062500023,46.064453125],[19.61347656250001,46.169189453125],[19.84443359375001,46.145898437499966],[19.934082031250057,46.161474609375034],[20.161425781250017,46.14189453124996],[20.210156250000068,46.12602539062502],[20.241796875000034,46.10859375000001],[20.301367187500006,46.05068359375002],[20.35859375000004,45.975488281249994],[20.581152343749977,45.86948242187506],[20.65273437499999,45.779394531250006],[20.709277343750074,45.735253906249994],[20.727832031250017,45.73740234374998],[20.746875,45.74897460937501],[20.76015625000005,45.75810546875002],[20.775,45.74980468750002],[20.794042968750006,45.467871093750034],[21.431445312500017,45.192529296874994],[21.465429687500006,45.171875],[21.357031250000034,44.99077148437502],[21.532324218750063,44.900683593750045],[21.519921875000023,44.88081054687498],[21.442187500000074,44.87338867187498],[21.384375,44.87006835937501],[21.357910156250057,44.86181640625003],[21.36005859375004,44.82666015624997],[21.52314453125004,44.79008789062499],[21.63613281250005,44.71044921875],[21.909277343750034,44.666113281250034],[22.026953125,44.61987304687503],[22.093066406250074,44.541943359374955],[22.200976562500017,44.560693359374966],[22.350683593750063,44.676123046875034],[22.497656249999977,44.70625],[22.64208984375,44.65097656249998],[22.720898437499983,44.605517578125045],[22.734375,44.56992187499998],[22.700781250000063,44.55551757812498],[22.620117187500057,44.562353515625034],[22.554003906250017,44.54033203124999],[22.49453125000005,44.43544921875002],[22.687890625000023,44.248291015625],[22.42080078125005,44.00742187500006],[22.399023437500063,43.96953125],[22.36542968750004,43.86210937500002],[22.36962890625003,43.78129882812499],[22.55458984375005,43.45449218750002],[22.767578125,43.35415039062502],[22.81972656250005,43.300732421874955],[22.85957031250001,43.252343749999966],[22.97685546874999,43.18798828125],[22.799902343750006,42.985742187499994],[22.706152343750006,42.88393554687505],[22.466796875,42.842480468749955],[22.53242187500004,42.48120117187497],[22.523535156250006,42.440966796875045],[22.44570312500005,42.35913085937497],[22.42207031250004,42.32885742187503],[22.344042968750045,42.31396484375003],[22.23974609375003,42.303110028468716],[21.81464843750001,42.303125],[21.5625,42.24750976562498],[21.5625,42.247509765625]]]},"properties":{"name":"Serbia","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[74.54140625000002,37.02216796875],[74.03886718750002,36.825732421874996],[73.116796875,36.868554687499994],[72.24980468750002,36.734716796875],[71.23291015625,36.12177734375],[71.18505859375,36.04208984375],[71.57197265625001,35.546826171875],[71.62050781250002,35.183007812499994],[70.965625,34.53037109375],[71.095703125,34.369433593749996],[71.05156250000002,34.049707031249994],[70.65400390625001,33.952294921874994],[69.8896484375,34.007275390625],[70.26113281250002,33.289013671875],[69.5015625,33.020068359374996],[69.24140625000001,32.433544921875],[69.279296875,31.936816406249996],[68.86894531250002,31.634228515624997],[68.59765625,31.802978515625],[68.16103515625002,31.802978515625],[67.57822265625,31.506494140624994],[67.737890625,31.343945312499997],[67.45283203125001,31.234619140625],[66.82929687500001,31.263671875],[66.346875,30.802783203124996],[66.23125,29.86572265625],[65.09550781250002,29.559472656249994],[64.39375,29.544335937499994],[64.09873046875,29.391943359375],[63.56757812500001,29.497998046874997],[62.4765625,29.408349609374994],[62.0009765625,29.530419921874994],[61.22441406250002,29.749414062499994],[60.843359375,29.858691406249996],[61.331640625,30.363720703124997],[61.55947265625002,30.599365234375],[61.7841796875,30.831933593749994],[61.81083984375002,30.91328125],[61.81425781250002,31.072558593749996],[61.75507812500001,31.285302734374994],[61.66015625,31.382421875],[61.34648437500002,31.421630859375],[61.11074218750002,31.451123046874997],[60.854101562500006,31.483251953125],[60.82070312500002,31.495166015624996],[60.791601562500006,31.660595703124997],[60.804296875,31.73447265625],[60.7875,31.877197265625],[60.78994140625002,31.987109375],[60.827246093750006,32.16796875],[60.82929687500001,32.249414062499994],[60.71044921875,32.6],[60.57656250000002,32.994873046875],[60.560546875,33.137841796874994],[60.9169921875,33.505224609375],[60.573828125,33.588330078125],[60.4859375,33.7119140625],[60.48574218750002,34.094775390624996],[60.642675781250006,34.307177734374996],[60.88945312500002,34.31943359375],[60.80390625000001,34.418017578124996],[60.76259765625002,34.475244140624994],[60.73613281250002,34.491796875],[60.72626953125001,34.51826171875],[60.73945312500001,34.544726562499996],[60.80234375,34.554638671875],[60.8453125,34.587695312499996],[60.91474609375001,34.633984375],[60.951171875,34.653857421874996],[61.080078125,34.855615234374994],[61.1,35.272314453125],[61.18925781250002,35.31201171875],[61.24550781250002,35.474072265625],[61.27851562500001,35.51376953125],[61.281835937500006,35.55341796875],[61.26201171875002,35.619580078125],[61.3447265625,35.6294921875],[61.62099609375002,35.43232421875],[62.08964843750002,35.3796875],[62.30781250000001,35.170800781249994],[62.688085937500006,35.255322265625],[63.056640625,35.44580078125],[63.08417968750001,35.56806640625],[63.16972656250002,35.678125],[63.129980468750006,35.84619140625],[63.8625,36.012353515624994],[64.184375,36.14892578125],[64.51103515625002,36.340673828125],[64.56582031250002,36.427587890625],[64.6025390625,36.554541015625],[64.78242187500001,37.05927734375],[64.81630859375002,37.132080078125],[64.95156250000002,37.1935546875],[65.08964843750002,37.237939453124994],[65.30361328125002,37.24677734375],[65.55498046875002,37.251171875],[65.76503906250002,37.569140625],[66.471875,37.3447265625],[66.52226562500002,37.348486328125],[66.827734375,37.3712890625],[67.06884765625,37.334814453125],[67.19550781250001,37.235205078125],[67.31972656250002,37.2095703125],[67.44169921875002,37.2580078125],[67.51728515625001,37.266650390624996],[67.546484375,37.235644531249996],[67.607421875,37.222509765625],[67.7,37.22724609375],[67.7529296875,37.1998046875],[67.75898437500001,37.172216796875],[67.76601562500002,37.14013671875],[67.83447265625,37.064208984375],[67.9580078125,36.972021484375],[68.06777343750002,36.9498046875],[68.26093750000001,37.013085937499994],[68.284765625,37.036328125],[68.29951171875001,37.088427734374996],[68.38691406250001,37.1375],[68.66914062500001,37.2583984375],[68.7232421875,37.268017578125],[68.78203125000002,37.2580078125],[68.82373046875,37.270703125],[68.8384765625,37.30283203125],[68.85537109375002,37.316845703125],[68.88525390625,37.328076171875],[68.91181640625001,37.333935546875],[68.96044921875,37.325048828125],[69.18017578125,37.15830078125],[69.26484375000001,37.1083984375],[69.30390625000001,37.116943359375],[69.35380859375002,37.150048828124994],[69.41445312500002,37.207763671875],[69.4296875,37.290869140625],[69.39921875000002,37.399316406249994],[69.42011718750001,37.48671875],[69.49208984375002,37.553076171875],[69.62578125000002,37.594042968749996],[69.8208984375,37.6095703125],[69.9849609375,37.566162109375],[70.18867187500001,37.582470703125],[70.25146484375,37.66416015625],[70.25498046875,37.765380859375],[70.19941406250001,37.886035156249996],[70.21464843750002,37.9244140625],[70.41777343750002,38.075439453125],[70.7359375,38.42255859375],[71.255859375,38.306982421875],[71.33271484375001,38.170263671875],[71.27851562500001,37.918408203125],[71.319921875,37.90185546875],[71.3896484375,37.906298828124996],[71.48779296875,37.931884765625],[71.55195312500001,37.933154296874996],[71.58222656250001,37.910107421875],[71.43291015625002,37.1275390625],[71.530859375,36.845117187499994],[71.665625,36.696923828124994],[72.65742187500001,37.029052734375],[72.8955078125,37.267529296875],[73.21113281250001,37.408496093749996],[73.38291015625,37.462255859375],[73.48134765625002,37.4716796875],[73.60468750000001,37.446044921875],[73.65712890625002,37.43046875],[73.72060546875002,37.41875],[73.73378906250002,37.37578125],[73.71728515625,37.329443359375],[73.6275390625,37.261572265625],[73.65351562500001,37.23935546875],[73.749609375,37.231787109375],[74.16708984375,37.329443359375],[74.20351562500002,37.372460937499994],[74.25966796875002,37.415429687499994],[74.659375,37.394482421875],[74.73056640625,37.35703125],[74.83046875000002,37.2859375],[74.89130859375001,37.231640625],[74.84023437500002,37.225048828125],[74.76738281250002,37.249169921874994],[74.73896484375001,37.28564453125],[74.72666015625,37.29072265625],[74.6689453125,37.26669921875],[74.55898437500002,37.236621093749996],[74.37216796875,37.15771484375],[74.37617187500001,37.137353515624994],[74.49794921875002,37.0572265625],[74.52646484375,37.030664062499994],[74.54140625000002,37.02216796875]]]},"properties":{"name":"Afghanistan","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[17.57958984375,-8.099023437500009],[17.643359375000017,-8.090722656250009],[18.00878906250003,-8.107617187499983],[18.56269531250001,-7.9359375],[18.944433593750063,-8.001464843750028],[19.142675781250034,-8.001464843750028],[19.34082031249997,-7.966601562500031],[19.369921875000045,-7.706542968749986],[19.371679687500063,-7.655078124999989],[19.47988281250008,-7.472167968750028],[19.48378906250008,-7.279492187500026],[19.527636718750017,-7.144433593749952],[19.87519531250004,-6.986328124999986],[19.99746093750008,-6.976464843750023],[20.190039062500063,-6.9462890625],[20.482226562500074,-6.915820312500017],[20.59003906250001,-6.919921874999957],[20.598730468750006,-6.935156249999949],[20.536914062500045,-7.121777343749955],[20.535839843749983,-7.182812499999955],[20.558398437500045,-7.244433593749989],[20.60781250000008,-7.277734375000023],[20.910937500000017,-7.281445312499983],[21.190332031250023,-7.284960937499989],[21.751074218750034,-7.305468749999989],[21.80605468750005,-7.32861328125],[21.905371093750034,-8.693359374999943],[21.813183593750068,-9.46875],[22.19775390625,-10.040625],[22.30703125000005,-10.691308593750023],[22.203515625000023,-10.829492187500009],[22.226171875,-11.121972656250009],[22.27880859375,-11.19414062499996],[22.314941406250057,-11.198632812499994],[22.39296875000005,-11.159472656250003],[22.486132812500045,-11.086718750000017],[22.56103515625003,-11.05585937500004],[22.814746093750017,-11.08027343750004],[23.076269531250006,-11.087890624999986],[23.463964843750034,-10.969335937499991],[23.83388671875008,-11.013671874999972],[23.96650390625001,-10.871777343750011],[23.98388671875,-11.725],[23.909375,-12.636132812500009],[23.886523437500045,-12.743261718749991],[23.882421875,-12.799023437499983],[23.968066406250045,-12.956933593749994],[23.962988281250006,-12.988476562500026],[23.843164062500023,-13.0009765625],[22.209570312500006,-13.0009765625],[21.97890625000008,-13.0009765625],[21.979101562500034,-13.798730468749994],[21.979296875000074,-14.11962890625],[21.979394531249994,-14.440527343750006],[21.97978515624999,-15.955566406250014],[22.193945312500006,-16.628125],[23.380664062500017,-17.640625],[22.32421875,-17.8375],[20.74550781250008,-18.019726562499983],[20.194335937500057,-17.86367187499999],[18.95527343750004,-17.80351562499999],[18.39638671875005,-17.3994140625],[16.14843750000003,-17.39023437499999],[14.017480468750023,-17.40888671874997],[13.475976562500023,-17.04003906249997],[13.179492187500017,-16.971679687499986],[12.548144531250017,-17.212695312499974],[12.35927734375008,-17.205859375],[12.318457031250006,-17.21337890625003],[12.213378906250028,-17.209960937500043],[12.013964843750074,-17.168554687500034],[11.902539062500011,-17.226562499999957],[11.743066406250023,-17.24921875000004],[11.780078125000017,-16.87128906249997],[11.818945312500034,-16.704101562500014],[11.750878906250023,-15.831933593749966],[12.016113281250057,-15.513671874999957],[12.55048828125004,-13.437792968750003],[12.983203124999989,-12.775683593750017],[13.4169921875,-12.52041015624998],[13.597949218750017,-12.286132812500028],[13.785351562499983,-11.81279296874996],[13.833593750000063,-10.9296875],[13.33222656250004,-9.998925781250009],[12.99853515625,-9.048046875],[13.358984375,-8.687207031250026],[13.378515625000063,-8.369726562500006],[12.82343750000004,-6.954785156249955],[12.283300781250063,-6.12431640624996],[13.184375,-5.85625],[13.346484375000017,-5.863378906250006],[13.978515625,-5.857226562500003],[16.315234375000074,-5.865625],[16.431445312500045,-5.90019531249996],[16.53710937499997,-5.9658203125],[16.697265625,-6.164257812500026],[16.74296874999999,-6.618457031250003],[16.813085937500063,-6.772558593749963],[16.919433593750057,-6.93398437499998],[16.98476562500005,-7.257421874999977],[17.57958984375,-8.099023437500009]]],[[[12.50146484375,-4.5875],[12.848144531250028,-4.428906249999983],[12.881054687500068,-4.445117187499989],[12.971386718750068,-4.551757812499957],[13.048046875000068,-4.619238281250034],[13.072753906250028,-4.634765625],[13.057324218750011,-4.651074218750026],[12.947460937500011,-4.695312499999986],[12.829687499999977,-4.73662109374996],[12.451464843750017,-5.071484374999969],[12.453222656250034,-5.090625],[12.52236328125008,-5.148925781250028],[12.484570312500011,-5.71875],[12.213671875000074,-5.758691406249994],[12.177148437499994,-5.324804687499977],[12.018359375000074,-5.004296874999966],[12.50146484375,-4.5875]]]]},"properties":{"name":"Angola","childNum":2}},{"geometry":{"type":"Polygon","coordinates":[[[20.06396484375,42.54726562499999],[20.485449218750006,42.223388671875],[20.566210937500017,41.873681640624994],[20.48896484375001,41.272607421874994],[20.709277343750017,40.928369140624994],[20.964257812500023,40.849902343749996],[20.95576171875001,40.775292968749994],[21.030859375,40.622460937499994],[20.881640625000017,40.467919921874994],[20.65742187500001,40.1173828125],[20.4560546875,40.065576171874994],[20.408007812500017,40.049462890624994],[20.383691406250023,40.0171875],[20.338476562500006,39.991064453125],[20.311132812500006,39.979443359375],[20.311328125000017,39.95078125],[20.381640625000017,39.841796875],[20.382421875,39.802636718749994],[20.206835937500017,39.653515625],[20.13105468750001,39.66162109375],[20.05976562500001,39.699121093749994],[20.022558593750006,39.710693359375],[20.001269531250017,39.709423828125],[19.851855468750017,40.0435546875],[19.322265625,40.407080078125],[19.45917968750001,40.40537109375],[19.3375,40.663818359375],[19.57568359375,41.640429687499996],[19.577539062500023,41.7875],[19.342382812500006,41.869091796875],[19.280664062500023,42.17255859375],[19.65449218750001,42.628564453124994],[19.78828125000001,42.476171875],[20.06396484375,42.54726562499999]]]},"properties":{"name":"Albania","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[19.66230468750001,60.187158203124994],[19.53652343750005,60.14497070312501],[19.551367187500063,60.24384765625001],[19.66230468750001,60.187158203124994]]],[[[19.989550781250074,60.351171875],[20.258886718750063,60.26127929687499],[19.799804687500057,60.08173828125001],[19.68691406250005,60.267626953125045],[19.84765625000003,60.22055664062506],[19.823046875000074,60.390185546875045],[19.989550781250074,60.351171875]]]]},"properties":{"name":"Aland","childNum":2}},{"geometry":{"type":"Polygon","coordinates":[[[1.7060546875,42.503320312499994],[1.534082031250023,42.441699218749996],[1.448828125,42.437451171875],[1.428125,42.46132812499999],[1.414843750000017,42.548388671874996],[1.428320312500006,42.5958984375],[1.501367187500023,42.642724609374994],[1.568164062500017,42.635009765625],[1.709863281250023,42.604443359375],[1.739453125000011,42.575927734375],[1.740234375,42.55673828125],[1.713964843750006,42.525634765625],[1.7060546875,42.503320312499994]]]},"properties":{"name":"Andorra","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[53.927832031250006,24.177197265624983],[53.63447265625004,24.169775390624977],[53.83378906250002,24.258935546875023],[53.927832031250006,24.177197265624983]]],[[[53.3322265625001,24.258593750000045],[53.19091796874997,24.290917968749966],[53.412402343750074,24.411035156250023],[53.3322265625001,24.258593750000045]]],[[[56.29785156250003,25.650683593750045],[56.38798828125002,24.97919921875004],[56.06386718750005,24.73876953125],[56.00058593750006,24.953222656249977],[55.795703125000074,24.868115234374955],[55.76083984375006,24.24267578125],[55.92861328125005,24.215136718750074],[55.98515625000002,24.063378906249966],[55.4684570312501,23.94111328125001],[55.53164062499999,23.81904296875001],[55.1999023437501,23.034765625000034],[55.185839843750074,22.7041015625],[55.104296875000074,22.621484375000023],[52.55507812500005,22.932812499999955],[51.592578125000074,24.07885742187503],[51.56835937500003,24.286181640625074],[51.76757812500003,24.25439453125],[51.84316406250005,24.010888671875023],[52.118554687499994,23.97109375],[52.64824218750002,24.154638671875006],[53.80175781249997,24.069482421874966],[54.14794921875003,24.17119140624999],[54.39707031250006,24.278173828125034],[54.74677734375004,24.810449218750023],[55.94121093750002,25.793994140625017],[56.08046875,26.06264648437505],[56.16748046875003,26.047460937499977],[56.144628906250006,25.690527343750006],[56.29785156250003,25.650683593750045]]]]},"properties":{"name":"United Arab Emirates","childNum":3}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[-64.54916992187498,-54.71621093749998],[-63.81542968749997,-54.725097656250014],[-64.637353515625,-54.90253906250001],[-64.75732421875,-54.82656249999999],[-64.54916992187498,-54.71621093749998]]],[[[-68.65322265624994,-54.85361328124999],[-68.62993164062499,-52.65263671875004],[-68.24013671875,-53.08183593749999],[-68.43115234375,-53.0552734375],[-68.48852539062497,-53.260937499999976],[-68.16113281249997,-53.30644531250001],[-68.00849609374995,-53.5640625],[-67.29423828125002,-54.049804687500014],[-66.23564453124999,-54.53349609374997],[-65.17900390624993,-54.678125],[-65.47114257812495,-54.91464843749999],[-66.5111328125,-55.032128906249945],[-67.127099609375,-54.90380859375001],[-68.65322265624994,-54.85361328124999]]],[[[-61.084716796875,-23.65644531250001],[-60.83984375000003,-23.85810546874997],[-59.89248046874994,-24.093554687499974],[-59.18725585937497,-24.56230468749999],[-57.82167968749994,-25.136425781249983],[-57.56313476562494,-25.473730468749963],[-57.943115234375,-26.05292968750001],[-58.18149414062498,-26.30742187499999],[-58.222070312499994,-26.65],[-58.618603515624955,-27.13212890624996],[-58.64174804687494,-27.196093750000017],[-58.60483398437498,-27.314355468750037],[-58.16826171874993,-27.27343749999997],[-56.437158203124966,-27.553808593749977],[-56.16406250000003,-27.321484374999983],[-55.95146484374996,-27.325683593749957],[-55.789990234374926,-27.416406249999966],[-55.71464843749996,-27.41484375],[-55.632910156250006,-27.35712890624997],[-55.59379882812502,-27.288085937500014],[-55.597265625,-27.207617187499963],[-55.56489257812498,-27.15],[-55.496728515624966,-27.11533203124999],[-55.45063476562498,-27.068359375000014],[-55.426660156249994,-27.00927734374997],[-55.13593750000001,-26.931152343749957],[-54.934472656249994,-26.70253906250001],[-54.677734375,-26.308789062499997],[-54.631933593750006,-26.005761718749994],[-54.615869140624994,-25.576074218750023],[-54.44394531249998,-25.625],[-54.15458984374999,-25.523046874999963],[-53.89116210937499,-25.66884765625001],[-53.668554687500006,-26.288183593749977],[-53.83818359375002,-27.121093750000014],[-54.32700195312495,-27.423535156249997],[-54.82910156250003,-27.55058593750003],[-55.10151367187501,-27.866796874999963],[-55.72548828125002,-28.20410156250003],[-55.68725585937497,-28.38164062499996],[-55.890527343749994,-28.370019531249994],[-56.938623046874994,-29.594824218750034],[-57.22465820312499,-29.782128906249994],[-57.40522460937501,-30.03388671875004],[-57.563867187499994,-30.139941406249974],[-57.60888671875003,-30.187792968750045],[-57.65087890624997,-30.295019531250034],[-57.71269531249996,-30.38447265624997],[-57.83120117187502,-30.495214843749963],[-57.87250976562501,-30.591015625000026],[-57.81059570312499,-30.85859375000001],[-57.88632812499998,-30.937402343749994],[-57.86840820312497,-31.104394531249994],[-57.89335937499999,-31.195312499999957],[-58.03339843750001,-31.416601562500006],[-58.053857421874994,-31.494921874999974],[-58.009667968749966,-31.534375],[-57.98798828124998,-31.576171875],[-58.00698242187494,-31.684960937499966],[-58.04233398437495,-31.769238281249997],[-58.16748046874997,-31.87265625],[-58.18901367187499,-31.924218750000037],[-58.16040039062503,-31.986523437500026],[-58.156347656250006,-32.0515625],[-58.17700195312494,-32.11904296875002],[-58.16479492187494,-32.18486328125002],[-58.119726562500006,-32.24892578125002],[-58.12304687499997,-32.321875],[-58.201171875,-32.471679687500014],[-58.219970703125,-32.563964843749986],[-58.17099609374998,-32.95927734374996],[-58.424462890624994,-33.11152343749998],[-58.54721679687498,-33.66347656249998],[-58.392480468749966,-34.192968750000034],[-58.52548828124998,-34.29619140625002],[-58.28334960937494,-34.68349609375005],[-57.54785156250003,-35.018945312499994],[-57.170654296875,-35.3625],[-57.35390624999994,-35.72031249999998],[-57.33544921875,-36.026757812499966],[-57.07617187499994,-36.296777343749994],[-56.74946289062501,-36.346484375],[-56.67202148437494,-36.85126953124998],[-57.546972656250034,-38.085644531250026],[-58.17919921874994,-38.435839843750045],[-59.82832031250001,-38.83818359375003],[-61.112207031249994,-38.99296875000003],[-61.84790039062497,-38.961816406249994],[-62.33476562499993,-38.80009765625],[-62.29506835937502,-39.24326171874996],[-62.053662109374955,-39.373828125],[-62.179345703124994,-39.38046875000002],[-62.076806640624966,-39.46152343750002],[-62.131542968749926,-39.82539062499998],[-62.28691406249996,-39.89531250000002],[-62.40185546875003,-40.19658203125002],[-62.24633789062494,-40.674609374999974],[-62.39501953124997,-40.89082031249997],[-62.95903320312493,-41.10966796875006],[-63.621777343749955,-41.15976562499996],[-64.86948242187503,-40.735839843750014],[-65.13339843749998,-40.88066406250003],[-64.98637695312496,-42.102050781249986],[-64.53774414062494,-42.25458984374998],[-64.57099609374998,-42.416015625],[-64.42041015625003,-42.43378906249998],[-64.10087890624993,-42.395117187500006],[-64.06118164062494,-42.266113281250014],[-64.228515625,-42.21826171874996],[-63.795556640624994,-42.113867187500006],[-63.6298828125,-42.28271484375003],[-63.61733398437502,-42.695800781249986],[-64.03476562499998,-42.88125],[-64.48784179687499,-42.51347656250006],[-64.97070312499997,-42.66630859375002],[-65.02690429687496,-42.75888671874996],[-64.31914062499999,-42.968945312500026],[-64.83994140624998,-43.18886718749998],[-65.25234374999997,-43.571875],[-65.26552734375,-44.2796875],[-65.64760742187502,-44.661425781250045],[-65.63876953125,-45.0078125],[-66.19013671874995,-44.96474609375002],[-66.94140625,-45.25732421875003],[-67.59956054687495,-46.05253906250003],[-67.5064453125,-46.44277343749995],[-66.77685546874994,-47.005859375],[-65.99853515625,-47.09375],[-65.73808593749999,-47.34492187499998],[-65.81430664062495,-47.63818359374996],[-66.22524414062502,-47.826757812500006],[-65.93422851562497,-47.826757812500006],[-65.81005859374997,-47.941113281250026],[-67.46630859375,-48.95175781250004],[-67.68486328125002,-49.2466796875],[-67.82597656249999,-49.91962890625005],[-68.2572265625,-50.104589843749984],[-68.66757812500003,-49.75253906250003],[-68.66162109374997,-49.93574218750005],[-68.97958984375,-50.003027343749984],[-68.59794921874996,-50.00947265624997],[-68.421875,-50.15791015625001],[-69.04477539062495,-50.49912109374998],[-69.35859374999993,-51.028125],[-69.20102539062498,-50.99365234375001],[-69.03530273437497,-51.48896484375002],[-69.46542968750003,-51.58447265625003],[-68.96533203125003,-51.67714843749999],[-68.443359375,-52.35664062500004],[-69.96025390624993,-52.00820312500002],[-71.91865234374995,-51.98955078125004],[-72.40766601562501,-51.54082031250002],[-72.34023437499997,-50.68183593749999],[-72.50981445312496,-50.607519531250034],[-73.15292968749998,-50.73828125000003],[-73.50126953124996,-50.125292968750024],[-73.55419921875,-49.463867187500014],[-73.46157226562497,-49.31386718750001],[-73.13525390625,-49.30068359374999],[-73.03364257812501,-49.014355468750004],[-72.65126953125,-48.84160156249998],[-72.582861328125,-48.47539062499999],[-72.35473632812497,-48.36582031250005],[-72.32832031250001,-48.11005859374998],[-72.517919921875,-47.87636718749998],[-72.34594726562497,-47.49267578124997],[-71.90498046875001,-47.201660156250014],[-71.94023437499999,-46.83125],[-71.69965820312501,-46.6513671875],[-71.87568359374998,-46.160546875],[-71.63154296874998,-45.95371093749998],[-71.74619140624998,-45.57890625],[-71.34931640624995,-45.33193359374995],[-71.5962890625,-44.97919921875004],[-72.04169921874998,-44.90419921875004],[-72.06372070312503,-44.771875],[-71.26113281250002,-44.763085937499966],[-71.15971679687496,-44.56025390625004],[-71.21259765624998,-44.44121093750003],[-71.82001953124993,-44.38310546875],[-71.68007812500002,-43.92958984374998],[-71.90498046875001,-43.34755859374998],[-71.750634765625,-43.237304687499986],[-72.14643554687498,-42.990039062499974],[-72.10820312499993,-42.25185546874995],[-71.75,-42.04677734375001],[-71.91127929687497,-41.650390624999986],[-71.93212890624994,-40.69169921874999],[-71.70898437499997,-40.381738281249994],[-71.81831054687493,-40.17666015624995],[-71.65976562499998,-40.02080078125],[-71.71992187499995,-39.63525390624997],[-71.53945312499997,-39.60244140624995],[-71.40156249999995,-38.93505859374996],[-70.858642578125,-38.60449218750003],[-71.16757812499998,-37.76230468749996],[-71.19218750000002,-36.84365234375004],[-71.05551757812498,-36.52373046874996],[-70.40478515625,-36.06171874999998],[-70.41572265625001,-35.52304687500002],[-70.55517578125,-35.246875],[-70.39316406250003,-35.146875],[-70.05205078124999,-34.30078124999997],[-69.85244140625,-34.224316406250026],[-69.81962890624999,-33.28378906249999],[-70.08486328125002,-33.20175781249998],[-70.02197265625,-32.88457031250002],[-70.36376953125,-32.08349609374997],[-70.25439453125,-31.957714843750026],[-70.585205078125,-31.569433593749963],[-70.51958007812493,-31.1484375],[-70.30908203124994,-31.02265625000004],[-70.15322265625,-30.360937499999963],[-69.95634765624996,-30.35820312500003],[-69.84428710937493,-30.175],[-69.95996093749997,-30.078320312500026],[-70.02680664062501,-29.324023437500017],[-69.82788085937497,-29.10322265624997],[-69.65693359374995,-28.413574218749986],[-69.17441406249998,-27.924707031250037],[-68.84633789062494,-27.153710937499994],[-68.59208984375002,-27.140039062499966],[-68.31865234374999,-26.973242187500006],[-68.59160156249999,-26.47041015624997],[-68.41450195312498,-26.153710937500023],[-68.59208984375002,-25.420019531250034],[-68.38422851562495,-25.091894531249977],[-68.56201171875,-24.74736328125003],[-68.25029296875002,-24.391992187500023],[-67.35620117187503,-24.033789062499963],[-67.00878906249994,-23.00136718750005],[-67.19487304687493,-22.821679687500037],[-66.99111328125,-22.509863281250006],[-66.71171874999999,-22.216308593749986],[-66.36518554687501,-22.113769531249957],[-66.32246093750001,-22.053125],[-66.28212890624997,-21.94746093750001],[-66.24760742187496,-21.83046875],[-66.22016601562495,-21.802539062499974],[-66.174658203125,-21.805664062499986],[-66.09858398437495,-21.83505859375002],[-66.05859375,-21.87949218750002],[-65.86015624999999,-22.019726562499983],[-65.77104492187493,-22.099609375000014],[-65.68618164062497,-22.11025390625005],[-65.51879882812497,-22.094531250000045],[-64.99262695312498,-22.109667968750017],[-64.60551757812499,-22.228808593750045],[-64.52363281250001,-22.37158203125],[-64.47773437499998,-22.485351562499986],[-64.44550781249998,-22.585351562500023],[-64.37397460937498,-22.761035156250017],[-64.32529296875,-22.82763671875],[-64.30791015624993,-22.7953125],[-64.26640625000002,-22.60332031249996],[-63.97612304687502,-22.072558593750003],[-63.92167968749993,-22.028613281250017],[-62.843359375,-21.997265625000026],[-62.62597656250003,-22.29042968749998],[-62.54155273437496,-22.349609374999957],[-62.37250976562498,-22.439160156249997],[-62.21416015624996,-22.612402343750034],[-61.798535156249955,-23.18203125],[-61.084716796875,-23.65644531250001]]]]},"properties":{"name":"Argentina","childNum":3}},{"geometry":{"type":"Polygon","coordinates":[[[46.490625,38.90668945312498],[46.1144531250001,38.877783203125034],[45.977441406249994,39.24389648437503],[45.76630859375004,39.37846679687499],[45.78447265625002,39.54560546875001],[45.456835937500074,39.494482421875006],[45.15283203125003,39.58266601562502],[45.03164062500005,39.76513671874997],[44.76826171875004,39.70351562500005],[44.28925781250004,40.040380859375006],[43.66621093750004,40.12636718750002],[43.56933593750003,40.48237304687498],[43.72265624999997,40.71953124999999],[43.43945312500003,41.10712890625001],[44.077246093750006,41.182519531249994],[44.81132812500002,41.259375],[45.001367187499994,41.29096679687498],[45.188574218750006,41.14741210937504],[45.07050781250004,41.075585937499966],[45.5875,40.846923828125],[45.37890624999997,40.67358398437506],[45.45439453125002,40.532373046874966],[45.96464843750002,40.233789062499966],[45.8859375000001,40.024853515624955],[45.57978515625004,39.9775390625],[46.202050781249994,39.59448242187503],[46.48144531249997,39.55517578125003],[46.36523437500003,39.402490234374994],[46.584765625000074,39.22368164062499],[46.400292968749994,39.1921875],[46.490625,38.90668945312498]]]},"properties":{"name":"Armenia","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[-170.72626953125,-14.351171875],[-170.8205078125,-14.312109375],[-170.568115234375,-14.266796875000011],[-170.72626953125,-14.351171875]]]},"properties":{"name":"American Samoa","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[69.2824218750001,-49.05888671875002],[69.16718750000004,-48.88291015624996],[69.36875,-48.89042968749998],[69.2824218750001,-49.05888671875002]]],[[[69.18486328125002,-49.10957031250004],[69.59277343749997,-48.97099609375005],[69.64404296875003,-49.11738281250003],[69.40507812500002,-49.18173828125],[69.5423828125,-49.25566406250005],[70.32021484375005,-49.05859374999996],[70.55546875000007,-49.201464843750024],[70.38613281250005,-49.433984374999966],[70.16582031250002,-49.34296874999998],[69.75996093750004,-49.430175781249986],[69.98642578125006,-49.58164062500003],[70.2477539062501,-49.53066406250003],[70.12431640625002,-49.70439453124999],[69.153125,-49.5296875],[68.99296875000007,-49.704980468750016],[68.81474609375002,-49.69960937499999],[68.88339843750006,-49.16494140624995],[68.76953125000003,-49.06591796875003],[69.00244140624997,-48.661230468750006],[69.13613281250005,-48.86103515625003],[69.05214843750005,-49.08193359375001],[69.18486328125002,-49.10957031250004]]],[[[51.83457031250006,-46.43994140625],[51.65927734375006,-46.37363281249999],[51.7418945312501,-46.32685546874997],[51.83457031250006,-46.43994140625]]]]},"properties":{"name":"Fr. S. Antarctic Lands","childNum":3}},{"geometry":{"type":"Polygon","coordinates":[[[-61.71606445312503,17.037011718749994],[-61.85966796874996,17.013330078124966],[-61.887109374999966,17.09814453125],[-61.81728515624994,17.168945312500057],[-61.71606445312503,17.037011718749994]]]},"properties":{"name":"Antigua and Barb.","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[147.35605468750006,-43.396972656250014],[147.30888671875007,-43.50078125000002],[147.10498046875003,-43.43115234374996],[147.28388671875004,-43.278906250000034],[147.35605468750006,-43.396972656250014]]],[[[145.04296875000003,-40.78671875],[145.28300781250002,-40.76992187500002],[146.31748046875006,-41.16347656250001],[146.72343750000002,-41.07802734375001],[146.84814453124997,-41.16806640624996],[146.98984375000006,-40.99238281249997],[147.45478515625004,-41.00166015624998],[147.62167968750012,-40.844726562499986],[147.87294921875005,-40.87255859374997],[147.96875,-40.779589843750045],[148.215234375,-40.85488281250002],[148.34257812500007,-42.21533203124997],[148.21367187500002,-41.97001953125],[147.92441406250006,-42.5724609375],[147.94541015625006,-43.18183593749997],[147.7858398437501,-43.22001953125002],[147.69892578125004,-43.12255859374997],[147.64794921874997,-43.02060546874999],[147.8,-42.928125],[147.57382812500006,-42.84570312499997],[147.4523437500001,-43.03339843750001],[147.29794921875006,-42.790917968749994],[147.24501953125005,-43.21591796874999],[146.99697265625005,-43.15634765625002],[147.07734375000004,-43.27587890625003],[146.87392578125,-43.6125],[146.54853515625004,-43.50888671874999],[146.04316406250004,-43.547167968749974],[145.99443359375007,-43.37607421875002],[146.20800781249997,-43.31621093749999],[145.8732421875001,-43.29238281250002],[145.48759765625002,-42.92666015625004],[145.19882812500006,-42.23085937500004],[145.46826171874997,-42.492871093750026],[145.51660156249997,-42.3544921875],[145.33105468750003,-42.14707031250002],[145.23486328124997,-42.19697265624997],[145.23818359375,-42.01962890624999],[144.76611328125003,-41.39003906249998],[144.64609375000006,-40.980859375],[144.71855468750002,-40.67226562500002],[145.04296875000003,-40.78671875]]],[[[148.23691406250006,-40.515136718749986],[148.18779296875007,-40.592578125000045],[148.11728515625012,-40.52148437499996],[148.23691406250006,-40.515136718749986]]],[[[144.784375,-40.506738281249966],[144.74804687499997,-40.589453125000034],[144.7833984375001,-40.434863281249974],[144.784375,-40.506738281249966]]],[[[148.32626953125006,-40.30693359375003],[148.40400390625004,-40.486523437500026],[148.02011718750012,-40.40419921874995],[148.32626953125006,-40.30693359375003]]],[[[148.000390625,-39.75761718750003],[148.29736328125003,-39.985742187499966],[148.31357421875012,-40.173535156250026],[148.10566406250004,-40.26210937499995],[147.76718750000012,-39.87031249999998],[148.000390625,-39.75761718750003]]],[[[143.92792968750004,-40.116113281249966],[143.83857421875004,-39.90410156250003],[144.00078125000007,-39.580175781250034],[144.14101562500005,-39.953808593750026],[143.92792968750004,-40.116113281249966]]],[[[145.31445312500003,-38.49082031249996],[145.35507812500012,-38.55703124999995],[145.12841796875003,-38.52763671875],[145.31445312500003,-38.49082031249996]]],[[[137.59648437500007,-35.73867187499998],[137.92890625000004,-35.72607421875],[138.12343750000005,-35.85234375],[137.67089843749997,-35.897949218750014],[137.44843750000004,-36.07480468749999],[137.20957031250012,-35.982421875],[136.7550781250001,-36.03310546875002],[136.540625,-35.89013671875003],[136.63867187499997,-35.74882812500002],[137.33408203125006,-35.59248046875004],[137.58496093749997,-35.620214843750006],[137.59648437500007,-35.73867187499998]]],[[[153.53876953125004,-27.436425781250037],[153.42656250000002,-27.70644531249998],[153.43544921875,-27.40537109375002],[153.53876953125004,-27.436425781250037]]],[[[113.18300781250005,-26.053125],[112.96425781250005,-25.78310546875001],[112.94707031250002,-25.531542968750017],[113.18300781250005,-26.053125]]],[[[153.07744140625002,-25.75078125],[152.97666015625012,-25.551367187499963],[153.03808593750003,-25.193164062500003],[153.22753906249997,-25.00576171875001],[153.14375,-24.814843750000023],[153.25693359375012,-24.72890625],[153.35019531250012,-25.063085937499963],[153.07744140625002,-25.75078125]]],[[[151.14658203125006,-23.49082031250002],[151.24013671875,-23.529687500000037],[151.23828124999997,-23.77578125],[151.03330078125006,-23.530175781250037],[151.14658203125006,-23.49082031250002]]],[[[115.44619140625005,-20.78779296875001],[115.31806640625004,-20.850585937500014],[115.43457031249997,-20.66796875000003],[115.44619140625005,-20.78779296875001]]],[[[149.04375,-20.29150390624997],[148.93886718750005,-20.283691406249986],[148.98105468750012,-20.153515625000026],[149.04375,-20.29150390624997]]],[[[146.27832031249997,-18.23125],[146.29882812499997,-18.48476562500005],[146.09882812500004,-18.251757812500003],[146.27832031249997,-18.23125]]],[[[139.45917968750004,-17.11455078124996],[139.49277343750006,-16.990429687499983],[139.57089843750006,-17.09443359375004],[139.45917968750004,-17.11455078124996]]],[[[139.50781250000003,-16.57304687499996],[139.1595703125,-16.74169921875003],[139.29296875000003,-16.467285156249986],[139.58789062499997,-16.39521484374997],[139.69775390624997,-16.514941406250017],[139.50781250000003,-16.57304687499996]]],[[[137.09365234375005,-15.778125],[136.94267578125002,-15.711718749999989],[137.00957031250007,-15.594824218749977],[137.09365234375005,-15.778125]]],[[[124.59726562500006,-15.40195312500002],[124.52421875000002,-15.421484375],[124.51933593750002,-15.26748046874998],[124.59726562500006,-15.40195312500002]]],[[[125.19882812500006,-14.57949218749998],[125.0912109375,-14.59169921874998],[125.15996093750002,-14.456054687499972],[125.19882812500006,-14.57949218749998]]],[[[136.71464843750002,-13.803906249999983],[136.89082031250004,-13.786621093750014],[136.74531250000004,-14.072656250000023],[136.95078125000006,-14.184277343750026],[136.89433593750002,-14.293066406249977],[136.33544921875003,-14.211816406250037],[136.42470703125,-13.864843749999963],[136.6556640625,-13.675878906250006],[136.71464843750002,-13.803906249999983]]],[[[136.23740234375006,-13.824511718750003],[136.12265625000012,-13.816601562499983],[136.21542968750012,-13.664746093750054],[136.23740234375006,-13.824511718750003]]],[[[136.33867187500007,-11.602343749999989],[136.18027343750006,-11.676757812499957],[136.47929687500002,-11.465917968749991],[136.33867187500007,-11.602343749999989]]],[[[130.45927734375007,-11.679296875000034],[130.60625,-11.816601562500026],[130.04326171875007,-11.787304687500011],[130.19755859375007,-11.658203125],[130.15283203124997,-11.477539062499972],[130.29492187499997,-11.33681640624998],[130.45927734375007,-11.679296875000034]]],[[[130.6188476562501,-11.376074218749991],[131.02304687500006,-11.334375],[131.26826171875004,-11.18984375],[131.53857421874997,-11.436914062500037],[130.95097656250007,-11.926464843750026],[130.51191406250004,-11.617871093749955],[130.38457031250002,-11.1921875],[130.6188476562501,-11.376074218749991]]],[[[136.59853515625,-11.378906249999943],[136.52656250000004,-11.438867187499994],[136.78027343749997,-11.0125],[136.59853515625,-11.378906249999943]]],[[[132.59335937500006,-11.302832031249991],[132.48378906250005,-11.037304687499983],[132.57880859375004,-10.968847656249977],[132.59335937500006,-11.302832031249991]]],[[[143.17890625000004,-11.954492187499966],[143.11025390625,-12.303515625000017],[143.40156250000004,-12.639941406249989],[143.5866210937501,-13.443652343750031],[143.54843750000012,-13.74101562499996],[143.75634765625003,-14.348828124999969],[143.96181640625005,-14.462890625000028],[144.473046875,-14.231835937500023],[144.64804687500006,-14.492480468750017],[145.28769531250006,-14.943164062499989],[145.42607421875002,-16.406152343749966],[145.75478515625,-16.879492187500034],[145.91210937499997,-16.9125],[146.12587890625005,-17.63525390625],[146.03222656249997,-18.272851562500037],[146.3332031250001,-18.55371093749997],[146.38339843750006,-18.97705078124997],[147.13876953125006,-19.39316406250002],[147.41855468750012,-19.378125],[147.7423828125001,-19.770117187499977],[148.759375,-20.28955078125003],[148.88476562499997,-20.480859375],[148.72998046874997,-20.4677734375],[148.68369140625012,-20.58017578124999],[149.20488281250007,-21.125097656249977],[149.45410156249997,-21.57871093750002],[149.70390625000002,-22.440527343750006],[149.82246093750004,-22.389843749999983],[149.97441406250007,-22.55068359374998],[149.94189453125003,-22.30810546875003],[150.07617187500003,-22.16445312499998],[150.54130859375002,-22.55908203125],[150.56855468750004,-22.38398437500004],[150.67246093750012,-22.418164062499983],[150.84316406250005,-23.4580078125],[151.15380859375003,-23.784082031249994],[151.83164062500006,-24.12294921875001],[152.12988281250003,-24.59755859374998],[152.45634765625007,-24.802441406249983],[152.65429687499997,-25.201953125000017],[152.91347656250005,-25.432128906250014],[152.98496093750012,-25.816210937500003],[153.16494140625,-25.964160156250045],[153.11679687500006,-27.194433593750034],[153.57568359375003,-28.24052734374999],[153.6168945312501,-28.673046875],[153.03056640625002,-30.563378906249994],[152.94394531250012,-31.43486328124999],[152.5592773437501,-32.045703125],[152.4704101562501,-32.439062500000034],[152.13652343750002,-32.678125],[152.1642578125001,-32.75742187499996],[151.812890625,-32.90107421875001],[151.29208984375012,-33.580957031249966],[151.28027343750003,-33.92666015625005],[151.12480468750007,-34.00527343749998],[151.23154296875006,-34.0296875],[150.8712890625001,-34.49912109374996],[150.80458984375,-35.01289062500001],[150.19531249999997,-35.83359374999996],[149.93271484375012,-37.528515625000026],[149.480859375,-37.77119140625],[147.87675781250002,-37.93417968749998],[146.8568359375,-38.663476562499966],[146.21748046875004,-38.72744140625004],[146.33662109375004,-38.89423828125],[146.46660156250007,-38.84033203125003],[146.40000000000012,-39.14550781250003],[146.1583984375001,-38.86572265624996],[145.93535156250002,-38.90175781250002],[145.79082031250007,-38.66699218749997],[145.39726562500002,-38.53535156249998],[145.54218750000004,-38.39384765625002],[145.4757812500001,-38.24375],[145.29277343750002,-38.237597656249974],[144.95957031250012,-38.500781250000045],[144.71777343749997,-38.34033203125004],[144.91142578125007,-38.34404296874999],[145.11992187500007,-38.091308593750014],[144.89130859375004,-37.899804687499994],[144.39550781250003,-38.13691406249998],[144.6652343750001,-38.20996093750003],[143.53896484375005,-38.82089843749998],[142.45585937500002,-38.38632812499999],[141.725,-38.27138671875002],[141.5939453125001,-38.38779296875002],[141.42421875,-38.36347656250004],[141.0109375000001,-38.07695312500003],[140.39042968750007,-37.89667968749998],[139.78427734375012,-37.24580078124998],[139.85732421875,-36.662109375],[139.72900390625003,-36.37138671875002],[138.9689453125001,-35.58076171874997],[139.17802734375007,-35.52304687500002],[139.289453125,-35.61132812499997],[139.28251953125002,-35.375390624999966],[138.521875,-35.6423828125],[138.184375,-35.612695312499994],[138.5111328125,-35.02441406249996],[138.48994140625004,-34.76357421875002],[138.0892578125,-34.16982421875002],[137.69169921875002,-35.14296875000004],[136.88359375000007,-35.23974609375004],[137.01425781250012,-34.91582031250003],[137.39101562500005,-34.91328124999997],[137.49384765625004,-34.16113281250003],[137.9318359375001,-33.57910156250003],[137.85234375000007,-33.20078124999996],[137.99257812500005,-33.094238281250014],[137.78320312500003,-32.578125],[137.79091796875,-32.82324218749996],[137.44228515625,-33.1935546875],[137.23730468750003,-33.62949218749999],[136.43066406249997,-34.02998046875004],[135.891015625,-34.660937499999974],[135.96972656249997,-34.98183593749998],[135.7923828125,-34.863281249999986],[135.64755859375006,-34.93964843750001],[135.12304687499997,-34.58574218750003],[135.21679687499997,-34.48730468749996],[135.45,-34.58105468749996],[135.21894531250004,-33.959765625000045],[134.88876953125012,-33.62636718749998],[134.79101562499997,-33.32832031250001],[134.60771484375002,-33.19013671875001],[134.30126953124997,-33.16503906249996],[134.17353515625004,-32.979101562500006],[134.10039062500007,-32.748632812500034],[134.22714843750006,-32.73056640624999],[134.23417968750007,-32.54853515625004],[133.66533203125007,-32.207226562500054],[133.21210937500004,-32.18378906249998],[132.75742187500012,-31.95625],[132.21464843750002,-32.00712890624996],[131.14365234375006,-31.49570312500005],[130.78300781250002,-31.604003906249986],[129.1876953125001,-31.659960937500017],[127.31982421874997,-32.2640625],[125.91718750000004,-32.296972656250034],[124.75878906250003,-32.882714843749994],[124.24375,-33.01523437499999],[123.50683593749997,-33.916210937500054],[122.15097656250006,-33.99179687499999],[122.06113281250006,-33.874414062499966],[121.40507812500007,-33.826757812500034],[119.85410156250012,-33.97470703124998],[119.45058593750005,-34.368261718750034],[118.89531250000007,-34.47988281250004],[118.13554687500002,-34.98662109374999],[117.58193359375005,-35.09775390624998],[116.51718750000012,-34.98789062499998],[115.98671875000005,-34.795019531250034],[115.56503906250012,-34.42578125000003],[115.00878906250003,-34.25585937499997],[114.9938476562501,-33.51533203125],[115.3587890625,-33.63994140624999],[115.68300781250005,-33.19287109375003],[115.6984375000001,-31.694531250000054],[115.07792968750007,-30.560449218750023],[114.85683593750005,-29.14296875],[114.16513671875012,-28.08066406250002],[114.028125,-27.34726562499999],[113.18476562500004,-26.182226562499963],[113.32324218749997,-26.243847656249997],[113.35605468750012,-26.080468750000023],[113.58164062500006,-26.558105468749986],[113.73369140625002,-26.59511718749998],[113.83642578125003,-26.50058593749999],[113.85283203125007,-26.33212890625005],[113.39531250000002,-25.71328125],[113.4513671875001,-25.599121093750014],[113.7130859375001,-25.83076171875004],[113.72373046875006,-26.129785156250037],[113.85390625,-26.01445312499999],[113.99199218750007,-26.32148437500001],[114.09033203124997,-26.393652343749963],[114.21572265625,-26.289453124999966],[114.2142578125,-25.851562500000014],[113.41767578125004,-24.435644531250034],[113.48984375000012,-23.869628906250014],[113.7570312500001,-23.418164062500054],[113.79511718750004,-22.91455078125003],[113.68281250000004,-22.637792968749963],[114.02285156250005,-21.881445312499977],[114.12392578125005,-21.828613281249957],[114.14160156250003,-22.483105468749983],[114.37773437500007,-22.341503906249997],[114.70927734375002,-21.82343749999997],[115.45615234375012,-21.49169921874997],[116.0109375000001,-21.030371093749963],[116.7067382812501,-20.653808593749986],[117.40625,-20.72119140625003],[118.19921875000003,-20.37519531249997],[118.75146484374997,-20.261914062499983],[119.10449218749997,-19.995312500000026],[119.58593750000003,-20.03828125],[120.99794921875,-19.604394531249966],[121.33769531250002,-19.31992187500002],[121.83378906250002,-18.477050781249986],[122.34541015625004,-18.11191406250002],[122.14746093749997,-17.54902343750001],[122.2609375000001,-17.135742187500014],[122.72041015625004,-16.78769531249999],[122.97070312499997,-16.436816406250003],[123.56308593750006,-17.520898437499966],[123.59355468750007,-17.03037109375005],[123.83105468750003,-17.120800781249997],[123.8744140625,-16.918652343750026],[123.4904296875001,-16.49072265624997],[123.62597656249997,-16.416308593750003],[123.60703125000006,-16.224023437499994],[123.72890625,-16.192480468749963],[123.85917968750007,-16.38232421875],[124.04443359374997,-16.264941406249974],[124.30039062500006,-16.388281249999977],[124.77197265624997,-16.40263671874996],[124.40488281250006,-16.298925781249977],[124.41640625,-16.133496093750026],[124.5768554687501,-16.11367187499998],[124.64853515625012,-15.870214843750034],[124.50429687500005,-15.972460937499989],[124.38164062500002,-15.758203125000037],[124.43955078125012,-15.493554687500037],[124.56162109375012,-15.496289062499969],[124.69257812500004,-15.273632812499997],[125.06298828125003,-15.44228515624998],[125.0729492187501,-15.306738281249991],[124.90917968750003,-15.310058593749957],[124.83906250000004,-15.160742187500006],[125.03818359375012,-15.004101562499969],[125.35566406250004,-15.119824218750011],[125.17871093749997,-14.714746093749994],[125.57978515625004,-14.483203124999989],[125.62773437500002,-14.256640625000017],[125.70458984374997,-14.29140625],[125.66162109375003,-14.529492187500011],[125.81953125000004,-14.469140624999966],[125.890625,-14.61796875],[126.0207031250001,-14.49453125],[126.0539062500001,-13.977246093750026],[126.1842773437501,-14.00205078125002],[126.25849609375004,-14.163574218749972],[126.403125,-14.018945312499994],[126.5697265625,-14.160937499999974],[126.7806640625,-13.955175781249977],[126.77558593750004,-13.788476562500037],[126.90322265625,-13.744140624999972],[127.45761718750006,-14.031445312499969],[128.18046875000007,-14.711621093749983],[128.06943359375012,-15.329296874999969],[128.15546875000004,-15.225585937499972],[128.25468750000002,-15.298535156250011],[128.175,-15.043164062500026],[128.57578125000006,-14.774511718750006],[129.05820312500012,-14.884375],[129.21582031249997,-15.160253906249991],[129.26757812500003,-14.871484375000051],[129.63476562499997,-15.139746093749991],[129.637109375,-14.850976562500037],[129.84873046875012,-14.828906249999989],[129.60468750000004,-14.647070312499977],[129.69794921875004,-14.557421875000017],[129.37871093750002,-14.39248046874998],[129.70986328125,-13.979980468749972],[129.83886718749997,-13.572949218749997],[130.25976562500003,-13.30224609375],[130.1349609375001,-13.145507812499957],[130.1681640625001,-12.957421875],[130.39990234374997,-12.68789062499999],[130.61748046875007,-12.646875],[130.62265625000006,-12.43105468749998],[130.8673828125001,-12.557812499999955],[130.87382812500007,-12.367187500000028],[131.29160156250006,-12.067871093749972],[131.43828125000002,-12.27695312500002],[132.06406250000006,-12.28076171875],[132.25322265625007,-12.186035156249972],[132.41103515625,-12.295117187499997],[132.51054687500002,-12.134863281250034],[132.71279296875,-12.1234375],[132.63046875000012,-12.035156249999972],[132.67421875000005,-11.649023437499991],[132.47519531250006,-11.491503906249974],[132.07285156250006,-11.474707031250006],[131.82246093750004,-11.302441406249997],[131.96152343750006,-11.180859375000011],[132.15546875000004,-11.311132812499991],[132.33398437499997,-11.223535156249994],[132.6828125000001,-11.505566406249997],[132.96103515625012,-11.407324218749963],[133.18525390625004,-11.705664062499991],[133.90419921875,-11.832031249999972],[134.4173828125,-12.052734375],[134.73027343750002,-11.984375],[135.02968750000005,-12.19375],[135.2179687500001,-12.221679687499957],[135.92246093750012,-11.825781250000034],[135.70439453125007,-12.209863281250037],[136.00849609375004,-12.19140625],[136.08183593750007,-12.422460937500006],[136.26064453125,-12.433789062499997],[136.32851562500005,-12.305566406249994],[136.24990234375,-12.173046875],[136.44335937499997,-11.951464843749974],[136.7194335937501,-12.226464843749952],[136.89746093749997,-12.243554687499966],[136.94746093750004,-12.34990234374996],[136.53701171875,-12.784277343749991],[136.59433593750012,-13.003808593750051],[136.46103515625006,-13.225195312500034],[136.29414062500004,-13.137988281250031],[135.92734375000012,-13.304296874999977],[135.95449218750005,-13.934863281250017],[135.40517578125005,-14.758203124999966],[135.4533203125001,-14.923144531250003],[136.20537109375002,-15.403417968749963],[136.29140625000005,-15.570117187500003],[136.70488281250007,-15.685253906250011],[136.78466796874997,-15.89423828125004],[137.00214843750004,-15.878320312499994],[137.70371093750006,-16.233007812499963],[138.24501953125005,-16.718359374999977],[139.00986328125006,-16.899316406249994],[139.2484375,-17.328613281249957],[140.03583984375004,-17.702636718749957],[140.51113281250005,-17.62451171875003],[140.83046875,-17.414453125000037],[141.29140625,-16.46347656250002],[141.62548828124997,-15.056640625000014],[141.52294921875003,-14.470117187499994],[141.59433593750006,-14.152832031250014],[141.47255859375,-13.797558593750011],[141.64541015625,-13.259082031250003],[141.61357421875002,-12.943457031250006],[141.92978515625006,-12.73984375],[141.67773437500003,-12.491406250000011],[141.68857421875012,-12.351074218750028],[141.87050781250005,-11.9755859375],[141.96113281250004,-12.054296874999963],[142.168359375,-10.946582031249974],[142.45644531250005,-10.707324218749989],[142.60507812500012,-10.748242187499983],[142.55273437500003,-10.874414062500023],[142.7796875,-11.115332031249977],[142.87255859374997,-11.821386718750034],[143.17890625000004,-11.954492187499966]]],[[[142.2748046875,-10.704785156250011],[142.19140624999997,-10.762011718750031],[142.1310546875001,-10.640625],[142.19794921875004,-10.59199218750004],[142.2748046875,-10.704785156250011]]]]},"properties":{"name":"Australia","childNum":30}},{"geometry":{"type":"Polygon","coordinates":[[[16.953125,48.598828125],[16.86542968750001,48.3869140625],[17.147363281250023,48.00595703125],[17.06660156250001,47.707568359374996],[16.421289062500023,47.674462890624994],[16.676562500000017,47.536035156249994],[16.44287109375,47.39951171875],[16.453417968750017,47.006787109375],[16.093066406250017,46.86328125],[15.957617187500006,46.677636718749994],[14.893261718750011,46.605908203125],[14.5498046875,46.399707031249996],[13.7,46.520263671875],[13.490039062500017,46.555566406249994],[13.3515625,46.557910156249996],[13.16875,46.57265625],[12.479199218750011,46.672509765624994],[12.38828125,46.70263671875],[12.330078125,46.759814453124996],[12.267968750000023,46.835888671875],[12.154101562500017,46.93525390625],[12.130761718750023,46.98476562499999],[12.16552734375,47.028173828125],[12.201269531250006,47.060888671875],[12.197167968750023,47.075],[12.16943359375,47.08212890625],[11.775683593750017,46.986083984375],[11.527539062500011,46.997412109375],[11.433203125,46.983056640624994],[11.244433593750017,46.97568359375],[11.133886718750006,46.936181640624994],[11.0634765625,46.859130859375],[11.025097656250011,46.79697265625],[10.993261718750006,46.777001953124994],[10.92734375,46.769482421875],[10.828906250000017,46.775244140625],[10.759765625,46.793310546875],[10.689257812500017,46.84638671875],[10.579785156250011,46.8537109375],[10.479394531250023,46.855126953124994],[10.452832031250011,46.86494140625],[10.45458984375,46.8994140625],[10.414941406250023,46.964404296874996],[10.349414062500017,46.98476562499999],[10.133496093750011,46.851513671875],[9.580273437500011,47.057373046875],[9.527539062500011,47.270751953125],[9.625878906250023,47.467041015625],[9.524023437500006,47.52421875],[9.748925781250023,47.575537109375],[9.839160156250017,47.552294921874996],[9.971582031250023,47.505322265625],[10.034082031250023,47.473583984375],[10.059863281250017,47.449072265625],[10.066308593750023,47.393359375],[10.200292968750006,47.363427734374994],[10.183007812500023,47.27880859375],[10.369140625,47.366064453125],[10.40390625,47.4169921875],[10.439453125,47.5515625],[10.482812500000023,47.541796875],[10.65869140625,47.547216796875],[10.741601562500023,47.52412109375],[10.873046875,47.52021484375],[11.0419921875,47.393115234374996],[12.185644531250006,47.61953125],[12.203808593750011,47.646728515625],[12.196875,47.70908203125],[12.209277343750017,47.71826171875],[12.268359375000017,47.702734375],[12.353540736607165,47.70264787946429],[12.492553013392856,47.68551897321428],[12.685839843750017,47.669335937499994],[12.771386718750023,47.639404296875],[12.796191406250017,47.60703125],[12.781152343750023,47.5904296875],[12.7828125,47.56416015625],[12.809375,47.5421875],[12.87890625,47.5064453125],[12.968066406250017,47.47568359375],[13.014355468750011,47.478076171874996],[13.031542968750017,47.5080078125],[13.047949218750006,47.579150390624996],[13.054101562500023,47.655126953125],[12.897656250000011,47.721875],[12.953515625000023,47.890625],[12.760351562500006,48.106982421874996],[13.215234375000023,48.301904296874994],[13.322851562500006,48.33125],[13.409375,48.394140625],[13.459863281250023,48.56455078125],[13.4716796875,48.571826171874996],[13.486621093750017,48.581835937499996],[13.636623883928596,48.580904017857144],[13.785351562500011,48.587451171874996],[13.798828125,48.6216796875],[13.802929687500011,48.747509765625],[13.814746093750017,48.766943359375],[14.049121093750017,48.602490234375],[14.691308593750023,48.59921875],[15.066796875000023,48.997851562499996],[16.057226562500006,48.754785156249994],[16.543554687500006,48.796240234375],[16.953125,48.598828125]]]},"properties":{"name":"Austria","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[46.1144531250001,38.877783203125034],[45.4796875000001,39.00625],[44.81718750000002,39.65043945312496],[44.76826171875004,39.70351562500005],[45.03164062500005,39.76513671874997],[45.15283203125003,39.58266601562502],[45.456835937500074,39.494482421875006],[45.78447265625002,39.54560546875001],[45.76630859375004,39.37846679687499],[45.977441406249994,39.24389648437503],[46.1144531250001,38.877783203125034]]],[[[48.572851562500006,41.84448242187503],[49.45673828125004,40.79985351562502],[49.77597656250006,40.583984375],[50.18251953125005,40.50478515625002],[50.3659179687501,40.279492187499955],[49.91884765625005,40.31640625000003],[49.55117187499999,40.19414062499999],[49.3244140625001,39.60834960937501],[49.36279296875003,39.349560546874955],[49.16533203125002,39.03027343750003],[49.013476562500074,39.13398437500001],[48.85449218750003,38.83881835937501],[48.86875,38.43549804687498],[48.59267578125005,38.41108398437498],[47.99648437499999,38.85375976562503],[48.292089843750006,39.01884765624999],[48.10439453125005,39.241113281249994],[48.322167968749994,39.39907226562502],[47.995898437500074,39.683935546875034],[46.490625,38.90668945312498],[46.400292968749994,39.1921875],[46.584765625000074,39.22368164062499],[46.36523437500003,39.402490234374994],[46.48144531249997,39.55517578125003],[46.202050781249994,39.59448242187503],[45.57978515625004,39.9775390625],[45.8859375000001,40.024853515624955],[45.96464843750002,40.233789062499966],[45.45439453125002,40.532373046874966],[45.37890624999997,40.67358398437506],[45.5875,40.846923828125],[45.07050781250004,41.075585937499966],[45.188574218750006,41.14741210937504],[45.001367187499994,41.29096679687498],[45.2171875,41.423193359375006],[45.28095703125004,41.449560546875034],[46.086523437500006,41.183837890625],[46.43095703125002,41.077050781249994],[46.534375,41.08857421875004],[46.62636718750005,41.15966796875006],[46.66240234375002,41.24550781250002],[46.67255859375004,41.28681640625001],[46.61894531250002,41.34375],[46.30546875000002,41.507714843749994],[46.18427734375004,41.70214843749997],[46.42988281250004,41.890966796875006],[46.74931640625002,41.812597656250006],[47.31767578125002,41.28242187500001],[47.79101562499997,41.19926757812502],[48.572851562500006,41.84448242187503]]]]},"properties":{"name":"Azerbaijan","childNum":2}},{"geometry":{"type":"Polygon","coordinates":[[[30.553613281250023,-2.400097656250011],[30.53369140625,-2.42626953125],[30.441992187500006,-2.613476562500011],[30.424218750000023,-2.6416015625],[30.47333984375001,-2.6943359375],[30.42402343750001,-2.824023437500003],[30.433496093750023,-2.87451171875],[30.515039062500023,-2.917578125],[30.604296875000017,-2.935253906250011],[30.70947265625,-2.977246093750011],[30.7802734375,-2.98486328125],[30.811132812500006,-3.116406250000011],[30.79023437500001,-3.274609375000011],[30.4,-3.65390625],[29.947265625,-4.307324218750011],[29.7177734375,-4.455859375],[29.403222656250023,-4.449316406250006],[29.211816406250023,-3.833789062500003],[29.224414062500017,-3.053515625],[29.01435546875001,-2.72021484375],[29.10205078125,-2.595703125],[29.390234375,-2.80859375],[29.698046875000017,-2.794726562500003],[29.8681640625,-2.71640625],[29.93017578125,-2.339550781250011],[30.117285156250006,-2.416601562500006],[30.408496093750017,-2.31298828125],[30.553613281250023,-2.400097656250011]]]},"properties":{"name":"Burundi","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[5.693554687500011,50.774755859375006],[5.993945312500017,50.75043945312504],[6.340917968750006,50.451757812500034],[6.116503906250045,50.120996093749966],[6.08906250000004,50.15458984374996],[6.054785156249977,50.154296875],[5.976269531250068,50.167187499999955],[5.866894531250068,50.08281250000002],[5.817382812500028,50.01269531250003],[5.7880859375,49.96123046875002],[5.744042968749994,49.91962890624998],[5.789746093749983,49.53828125000001],[5.50732421875,49.51088867187502],[4.867578125000051,49.78813476562502],[4.818652343750045,50.153173828125034],[4.545019531250063,49.96025390624999],[4.149316406250023,49.971582031249994],[4.174609375000017,50.24648437500005],[3.689355468750023,50.30605468750002],[3.595410156250068,50.47734374999999],[3.27333984375008,50.53154296875002],[3.10683593750008,50.779443359374994],[2.759375,50.750634765624994],[2.52490234375,51.097119140624955],[3.35009765625,51.37768554687503],[3.43251953125008,51.24575195312505],[3.902050781250011,51.20766601562502],[4.226171875000034,51.38647460937503],[5.03095703125004,51.46909179687498],[5.214160156250045,51.278955078124966],[5.796484375000034,51.153076171875],[5.693554687500011,50.774755859375006]]]},"properties":{"name":"Belgium","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[3.595410156250011,11.6962890625],[3.553906250000011,11.631884765624989],[3.490527343750017,11.49921875],[3.48779296875,11.395410156249994],[3.638867187500011,11.176855468749991],[3.65625,11.154589843749989],[3.6953125,11.1203125],[3.71640625,11.07958984375],[3.7568359375,10.76875],[3.83447265625,10.607421875],[3.771777343750017,10.417626953124994],[3.646582031250006,10.408984374999989],[3.60205078125,10.004541015624994],[3.3251953125,9.778466796874994],[3.044921875,9.083837890624991],[2.774804687500023,9.048535156249997],[2.703125,8.371826171875],[2.68603515625,7.873730468749997],[2.719335937500006,7.616259765624989],[2.7509765625,7.541894531249994],[2.78515625,7.476855468749989],[2.783984375000017,7.443408203124989],[2.765820312500011,7.422509765624994],[2.75048828125,7.395068359374989],[2.756738281250023,7.067919921874989],[2.721386718750011,6.980273437499989],[2.731738281250017,6.852832031249989],[2.7529296875,6.771630859374994],[2.774609375000011,6.711718749999989],[2.753710937500017,6.661767578124994],[2.735644531250017,6.595703125],[2.706445312500023,6.369238281249991],[1.62265625,6.216796875],[1.777929687500006,6.294628906249997],[1.530957031250011,6.992431640625],[1.624707031250011,6.997314453125],[1.600195312500006,9.050048828125],[1.3857421875,9.361669921874991],[1.330078125,9.996972656249994],[0.763378906250011,10.386669921874997],[0.900488281250006,10.993261718749991],[1.4267578125,11.447119140624991],[1.980371093750023,11.418408203124997],[2.38916015625,11.897070312499991],[2.366015625000017,12.221923828125],[2.805273437500006,12.383837890624989],[3.595410156250011,11.6962890625]]]},"properties":{"name":"Benin","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[0.217480468750011,14.911474609374991],[0.163867187500017,14.497216796874994],[0.382519531250011,14.245800781249997],[0.42919921875,13.972119140624997],[0.6181640625,13.703417968750003],[1.201171875,13.357519531249991],[0.988476562500011,13.36484375],[0.9873046875,13.041894531249994],[1.56494140625,12.635400390624994],[2.104589843750006,12.701269531249991],[2.226269531250011,12.466064453125],[2.072949218750011,12.309375],[2.38916015625,11.897070312499991],[1.980371093750023,11.418408203124997],[1.4267578125,11.447119140624991],[0.900488281250006,10.993261718749991],[0.49267578125,10.954980468749994],[-0.068603515625,11.115625],[-0.299462890624994,11.166894531249994],[-0.627148437499983,10.927392578124994],[-1.04248046875,11.010058593749989],[-2.829931640624977,10.998388671874991],[-2.914892578124977,10.592333984374989],[-2.791162109374994,10.432421874999989],[-2.780517578125,9.745849609375],[-2.765966796874977,9.658056640624991],[-2.706201171874994,9.533935546875],[-2.695849609374989,9.481347656249994],[-2.7171875,9.457128906249991],[-2.7666015625,9.424707031249994],[-2.816748046874977,9.425830078124989],[-2.875146484374994,9.500927734374997],[-2.90087890625,9.534619140624997],[-2.948144531249994,9.610742187499994],[-2.98828125,9.687353515624991],[-3.042626953124994,9.720898437499997],[-3.095800781249977,9.752099609374994],[-3.160693359374989,9.849169921874989],[-3.223535156249994,9.895458984374997],[-3.289697265624994,9.882226562499994],[-3.581152343749977,9.92431640625],[-3.790625,9.9171875],[-4.18115234375,9.78173828125],[-4.267187499999977,9.743261718749991],[-4.332226562499983,9.645703125],[-4.406201171874983,9.647998046874989],[-4.526611328125,9.723486328124991],[-4.625830078124977,9.713574218749997],[-4.721777343749977,9.756542968749997],[-5.262304687499977,10.319677734374991],[-5.523535156249977,10.426025390625],[-5.490478515625,11.042382812499994],[-5.250244140625,11.375781249999989],[-5.288134765624989,11.827929687499989],[-4.699316406249977,12.076171875],[-4.4287109375,12.337597656249997],[-4.480615234374994,12.672216796874991],[-4.227099609374989,12.793701171875],[-4.328710937499977,13.119042968749994],[-4.151025390624994,13.306201171875003],[-3.947314453124989,13.402197265624991],[-3.527636718749989,13.182714843749991],[-3.3017578125,13.28076171875],[-3.248632812499977,13.658349609374994],[-2.950830078124994,13.6484375],[-2.873925781249994,13.950732421875003],[-2.586718749999989,14.227587890625003],[-2.113232421874983,14.16845703125],[-1.97304687499999,14.45654296875],[-1.049560546875,14.81953125],[-0.760449218749983,15.047753906249994],[-0.235888671874989,15.059423828124991],[0.217480468750011,14.911474609374991]]]},"properties":{"name":"Burkina Faso","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[91.94921875000003,21.50805664062503],[91.85947265625012,21.532958984375057],[91.90771484374997,21.722949218750017],[91.94921875000003,21.50805664062503]]],[[[91.87382812500002,21.832128906249977],[91.8375976562501,21.750244140625],[91.85068359375012,21.927050781250045],[91.87382812500002,21.832128906249977]]],[[[91.15078125000005,22.175195312499966],[91.04472656250002,22.10517578125001],[91.0794921875,22.519726562499983],[91.15078125000005,22.175195312499966]]],[[[91.55673828125006,22.38222656250005],[91.41132812500004,22.475683593750006],[91.45605468749997,22.61650390624999],[91.55673828125006,22.38222656250005]]],[[[90.77763671875007,22.089306640624983],[90.51503906250005,22.06513671875001],[90.68046875000007,22.327490234375006],[90.50292968749997,22.835351562499994],[90.59648437500002,22.863525390625057],[90.86816406250003,22.48486328125],[90.77763671875007,22.089306640624983]]],[[[88.94072265625002,26.24536132812497],[88.97041015625004,26.250878906250023],[88.95195312500002,26.412109375],[89.01865234375012,26.410253906249977],[89.28925781250004,26.03759765625],[89.54990234375006,26.005273437499994],[89.57275390625003,26.13232421875003],[89.67089843750003,26.21381835937504],[89.8229492187501,25.94140625000003],[89.82490234375004,25.56015625],[89.80087890625012,25.33613281250001],[89.81406250000006,25.305371093749955],[89.86630859375012,25.293164062499955],[90.11962890625003,25.21997070312497],[90.61308593750002,25.16772460937497],[92.04970703125005,25.16948242187499],[92.46835937500006,24.94414062499999],[92.38496093750004,24.848779296875023],[92.25126953125007,24.895068359375045],[92.22832031250002,24.88134765625],[92.22666015625012,24.77099609374997],[92.11748046875002,24.493945312500017],[92.06416015625004,24.374365234375006],[91.84619140624997,24.17529296875003],[91.72656250000003,24.20507812499997],[91.35019531250012,24.06049804687501],[91.16044921875007,23.66064453125],[91.359375,23.06835937500003],[91.43623046875004,23.19990234375001],[91.55351562500002,22.991552734375006],[91.61953125,22.97968750000001],[91.75097656250003,23.053515625000017],[91.75419921875007,23.287304687499955],[91.79003906249997,23.361035156249983],[91.937890625,23.504687500000017],[91.92949218750007,23.598242187499977],[91.92958984375,23.68598632812501],[91.97851562500003,23.691992187499977],[92.04404296875006,23.677783203125017],[92.24609375000003,23.683593750000057],[92.33378906250002,23.242382812499955],[92.36162109375002,22.929003906250074],[92.46445312500006,22.734423828125045],[92.49140625000004,22.685400390625006],[92.5612304687501,22.04804687500001],[92.57490234375004,21.978076171875045],[92.58281250000002,21.940332031249994],[92.5934570312501,21.46733398437499],[92.63164062500002,21.306201171875045],[92.33056640624997,21.439794921874977],[92.17958984375005,21.293115234375023],[92.32412109375,20.791845703125063],[92.0560546875,21.1748046875],[91.86337890625012,22.350488281249966],[91.7970703125001,22.297460937500006],[91.48007812500006,22.884814453125045],[91.2162109375,22.642236328124994],[90.94560546875002,22.597021484375034],[90.65625,23.025488281250006],[90.60400390624997,23.59135742187499],[90.55566406249997,23.42153320312505],[90.26914062500012,23.455859375000017],[90.59091796875012,23.266406250000045],[90.43505859374997,22.751904296874955],[90.61611328125,22.362158203125034],[90.23056640625006,21.82978515625004],[90.07119140625005,21.887255859375017],[90.20957031250006,22.156591796875006],[89.95419921875006,22.022851562500023],[89.91806640625012,22.11616210937501],[89.98515625000002,22.466406250000063],[89.81191406250005,21.983496093750006],[89.56855468750004,21.767431640625034],[89.48320312500007,22.275537109374994],[89.50058593750006,21.914355468750045],[89.35371093750004,21.72109375],[89.09394531250004,21.872753906249983],[89.05,22.274609374999983],[88.92070312500002,22.632031249999955],[88.89970703125002,22.843505859375057],[88.85058593749997,23.040527343750057],[88.928125,23.186621093750063],[88.72441406250002,23.254980468750034],[88.69765625,23.493017578125034],[88.63574218749997,23.55],[88.56738281249997,23.674414062500034],[88.69980468750006,24.002539062500006],[88.71376953125,24.069628906250017],[88.72656250000003,24.186230468749955],[88.7335937500001,24.23090820312501],[88.72353515625,24.27490234375],[88.64228515625004,24.325976562500017],[88.49853515625003,24.34663085937504],[88.3375,24.45385742187503],[88.225,24.460644531249983],[88.14550781250003,24.485791015624955],[88.07910156249997,24.549902343750063],[88.02343750000003,24.62783203125005],[88.03027343749997,24.66445312500005],[88.0451171875001,24.713037109374994],[88.1498046875,24.914648437500034],[88.1888671875,24.92060546875001],[88.27949218750004,24.881933593750034],[88.31337890625005,24.8818359375],[88.37294921875,24.961523437499977],[88.45625,25.18842773437504],[88.57382812500006,25.18789062499999],[88.92978515625012,25.222998046875063],[88.94414062500002,25.290771484375],[88.85478515625002,25.333544921875017],[88.76914062500006,25.490478515625],[88.50244140624997,25.537011718749994],[88.14746093749997,25.811425781250023],[88.1066406250001,25.841113281250045],[88.15078125000005,26.08715820312497],[88.33398437499997,26.257519531249955],[88.44042968749997,26.369482421875034],[88.38623046875003,26.471533203125034],[88.35146484375005,26.482568359374966],[88.36992187500002,26.564111328124994],[88.51826171875004,26.517773437499955],[88.68281250000004,26.291699218749983],[88.94072265625002,26.24536132812497]]]]},"properties":{"name":"Bangladesh","childNum":6}},{"geometry":{"type":"Polygon","coordinates":[[[28.585351562500023,43.742236328124996],[28.465429687500006,43.389306640624994],[28.133691406250023,43.39560546875],[27.92890625000001,43.1861328125],[27.88886718750001,42.74970703125],[27.484765625000023,42.468066406249996],[28.014453125000017,41.969042968749996],[27.47480468750001,41.946875],[27.294921875,42.079541015625],[27.24433593750001,42.09326171875],[27.01171875,42.058642578124996],[26.96875,42.02685546875],[26.884863281250006,41.991845703124994],[26.615332031250006,41.964892578124996],[26.549707031250023,41.896728515625],[26.51142578125001,41.8263671875],[26.3603515625,41.8015625],[26.327246093750006,41.772802734375],[26.31796875,41.744677734374996],[26.320898437500006,41.716552734375],[26.200585937500023,41.743798828124994],[26.107421875,41.72568359375],[26.085546875,41.704150390624996],[26.066015625,41.673242187499994],[26.1435546875,41.521533203124996],[26.155175781250023,41.434863281249996],[26.135351562500006,41.3857421875],[26.06640625,41.35068359375],[25.92333984375,41.311914062499994],[25.784960937500017,41.330419921875],[25.52705078125001,41.2998046875],[25.381933593750006,41.26435546875],[25.25117187500001,41.243554687499994],[24.773730468750017,41.356103515624994],[24.595996093750017,41.442724609375],[24.5693359375,41.4673828125],[24.51826171875001,41.552539062499996],[24.487890625,41.555224609374996],[24.056054687500023,41.527246093749994],[24.03291015625001,41.469091796875],[24.011328125,41.46005859375],[23.635156250000023,41.386767578124996],[23.53583984375001,41.386035156249996],[23.433398437500017,41.398730468749996],[23.3720703125,41.3896484375],[23.23984375,41.3849609375],[23.15595703125001,41.322070312499996],[22.916015625,41.336279296875],[23.00361328125001,41.73984375],[22.836816406250023,41.993603515625],[22.344042968750017,42.31396484375],[22.42207031250001,42.328857421875],[22.445703125000023,42.359130859375],[22.523535156250006,42.440966796874996],[22.53242187500001,42.481201171875],[22.524218750000017,42.50390625],[22.43623046875001,42.6291015625],[22.466796875,42.84248046875],[22.799902343750006,42.985742187499994],[22.976855468750017,43.18798828125],[22.85957031250001,43.25234375],[22.819726562500023,43.300732421875],[22.767578125,43.354150390624994],[22.554589843750023,43.454492187499994],[22.36962890625,43.781298828124996],[22.36542968750001,43.862109375],[22.399023437500006,43.96953125],[22.420800781250023,44.007421875],[22.452529688228115,44.0510441391688],[22.547921095934313,44.113823956634434],[22.688564844478098,44.254306249271906],[23.02851562500001,44.077978515625],[22.868261718750006,43.947900390624994],[22.919042968750006,43.83447265625],[25.4970703125,43.670800781249994],[26.2158203125,44.007275390625],[27.0869140625,44.167382812499994],[27.425390625,44.0205078125],[27.88427734375,43.987353515624996],[28.221972656250017,43.772851562499994],[28.585351562500023,43.742236328124996]]]},"properties":{"name":"Bulgaria","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[50.60722656250002,25.883105468750003],[50.57490234375001,25.806787109374994],[50.465917968750006,25.965527343749997],[50.46992187500001,26.228955078124997],[50.5859375,26.24072265625],[50.60722656250002,25.883105468750003]]]},"properties":{"name":"Bahrain","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[-73.02685546874994,21.19238281250003],[-73.16455078125003,20.979150390625023],[-73.68115234375003,20.9755859375],[-73.68037109374995,21.103320312500017],[-73.52309570312497,21.190820312499966],[-73.23535156249997,21.15449218750004],[-73.05849609375,21.313378906249994],[-73.02685546874994,21.19238281250003]]],[[[-73.041015625,22.429052734375006],[-72.74726562500001,22.32739257812497],[-73.16191406250002,22.380712890625006],[-73.041015625,22.429052734375006]]],[[[-74.20673828124998,22.213769531250023],[-74.27690429687499,22.183691406250006],[-73.906396484375,22.527441406250063],[-73.95419921874995,22.71552734375001],[-73.84995117187503,22.731054687500063],[-73.83652343749998,22.538427734374977],[-74.20673828124998,22.213769531250023]]],[[[-74.05751953124997,22.723486328125034],[-74.27460937499995,22.71166992187503],[-74.30703125,22.83959960937497],[-74.05751953124997,22.723486328125034]]],[[[-74.84047851562494,22.894335937500017],[-75.22333984374995,23.165332031250074],[-75.13056640624998,23.267919921875006],[-75.31596679687502,23.668359374999966],[-74.84047851562494,22.894335937500017]]],[[[-75.66455078124997,23.45014648437501],[-76.03710937500003,23.60278320312503],[-76.01044921875001,23.671386718750057],[-75.66455078124997,23.45014648437501]]],[[[-74.42944335937497,24.068066406249955],[-74.55092773437502,23.96894531250001],[-74.52690429687502,24.105078125000034],[-74.42944335937497,24.068066406249955]]],[[[-77.65771484374994,24.249462890624955],[-77.75527343750002,24.163476562500023],[-77.61538085937494,24.216357421875045],[-77.5615234375,24.136816406250006],[-77.57373046875,23.739160156249994],[-77.77128906249999,23.752539062499977],[-77.99990234374994,24.219824218750063],[-77.65771484374994,24.249462890624955]]],[[[-75.30839843749999,24.2],[-75.50322265624996,24.139062500000023],[-75.40893554687503,24.265771484374994],[-75.72666015625,24.68935546875005],[-75.30839843749999,24.2]]],[[[-77.34755859375,25.013867187499983],[-77.56191406249997,25.030029296875],[-77.27558593750001,25.055761718750006],[-77.34755859375,25.013867187499983]]],[[[-77.74384765625001,24.70742187499999],[-77.74521484375,24.463476562500034],[-78.04492187499997,24.287451171875063],[-78.14580078125002,24.493457031250017],[-78.36650390624993,24.544189453125057],[-78.435302734375,24.627587890624994],[-78.24272460937493,24.65380859375],[-78.21137695312495,25.191259765624977],[-77.97529296874998,25.084814453125063],[-77.74384765625001,24.70742187499999]]],[[[-76.64882812499994,25.487402343750006],[-76.34379882812496,25.33203124999997],[-76.12661132812497,25.14052734375005],[-76.16953125,24.6494140625],[-76.319970703125,24.81767578124999],[-76.21376953124994,24.822460937499983],[-76.160400390625,25.119335937499983],[-76.36928710937502,25.312597656250006],[-76.62070312499998,25.43164062500003],[-76.78066406249997,25.426855468750006],[-76.71083984374997,25.564892578124983],[-76.64882812499994,25.487402343750006]]],[[[-78.49287109375001,26.729052734375017],[-77.92246093749998,26.69111328125001],[-78.74365234374994,26.50068359375004],[-78.98564453124996,26.689501953125045],[-78.79804687500001,26.58242187499999],[-78.59711914062493,26.797949218750006],[-78.49287109375001,26.729052734375017]]],[[[-77.22563476562496,25.904199218750023],[-77.40317382812498,26.02470703124996],[-77.24677734374998,26.156347656250034],[-77.238623046875,26.561132812500006],[-77.510595703125,26.845996093750045],[-77.94375,26.90356445312503],[-77.53388671874995,26.903417968750006],[-77.06635742187501,26.530175781249994],[-77.03828124999998,26.333447265624983],[-77.16728515624996,26.240332031250006],[-77.22563476562496,25.904199218750023]]]]},"properties":{"name":"Bahamas","childNum":14}},{"geometry":{"type":"Polygon","coordinates":[[[19.007128906250045,44.86918945312502],[19.348632812500057,44.88090820312502],[19.118457031250074,44.359960937500006],[19.583789062500017,44.04345703125003],[19.245019531249994,43.96503906250004],[19.495117187500057,43.642871093750045],[19.19433593749997,43.533300781250006],[19.164355468750017,43.53544921874999],[19.11279296874997,43.52773437500002],[19.080078125000057,43.51772460937502],[19.0283203125,43.53251953125002],[18.97421875,43.54233398437498],[18.95068359375,43.52666015624999],[19.036718750000034,43.35732421875002],[19.026660156250017,43.292431640624955],[18.97871093750001,43.28540039062503],[18.934667968750006,43.339453125000034],[18.85107421875003,43.34633789062502],[18.749218750000068,43.283544921875006],[18.67421875000008,43.230810546875006],[18.623632812500063,43.027685546875034],[18.488476562500068,43.01215820312498],[18.44384765625003,42.96845703125004],[18.46601562500001,42.777246093749994],[18.54589843750003,42.64160156249997],[18.436328125000017,42.559716796874994],[17.667578125000063,42.897119140624994],[17.585156250000068,42.93837890625005],[17.650488281250063,43.006591796875],[17.27382812500005,43.44575195312501],[16.300097656250017,44.12451171875],[16.10341796875008,44.52099609375006],[15.736621093750045,44.76582031250001],[15.788085937500057,45.17895507812497],[16.028320312500057,45.18959960937502],[16.29335937500005,45.00883789062496],[16.53066406250008,45.21669921875002],[16.918652343749983,45.27656249999998],[17.812792968750074,45.078125],[18.66259765625,45.07744140624999],[18.83642578125,44.883251953124955],[19.007128906250045,44.86918945312502]]]},"properties":{"name":"Bosnia and Herz.","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[28.14794921875,56.142919921875],[28.284277343750006,56.055908203125],[29.375,55.938720703125],[29.353417968750023,55.784375],[29.412988281250023,55.724853515625],[29.482226562500017,55.6845703125],[29.63007812500001,55.751171875],[29.6845703125,55.7697265625],[29.744140625,55.77041015625],[29.82392578125001,55.7951171875],[29.881640625000017,55.832324218749996],[29.93701171875,55.845263671874996],[30.04267578125001,55.83642578125],[30.23359375000001,55.84521484375],[30.625585937500006,55.666259765625],[30.906835937500006,55.57001953125],[30.90058593750001,55.397412109375],[30.82099609375001,55.3302734375],[30.810546875,55.306982421875],[30.814453125,55.2787109375],[30.87744140625,55.2234375],[30.958886718750023,55.13759765625],[30.97773437500001,55.08779296875],[30.97773437500001,55.05048828125],[30.829882812500017,54.914990234375],[30.804492187500017,54.8609375],[30.791015625,54.806005859375],[30.798828125,54.783251953124996],[30.984179687500017,54.6958984375],[31.12128906250001,54.648486328124996],[31.152148437500017,54.625341796875],[31.074804687500006,54.491796875],[31.18476562500001,54.452978515625],[31.299121093750017,54.29169921875],[31.403613281250017,54.195947265625],[31.62841796875,54.111181640625],[31.7919921875,54.055908203125],[31.825976562500017,54.030712890625],[31.837792968750023,54.00078125],[31.825292968750006,53.935009765625],[31.783007812500017,53.85498046875],[31.754199218750017,53.81044921875],[31.82080078125,53.791943359375],[31.9921875,53.796875],[32.20039062500001,53.78125],[32.45097656250002,53.6533203125],[32.70429687500001,53.336328125],[32.64443359375002,53.32890625],[32.57802734375002,53.31240234375],[32.469335937500006,53.2703125],[32.14199218750002,53.091162109375],[31.849707031250006,53.106201171875],[31.668261718750017,53.200927734375],[31.417871093750023,53.196044921875],[31.38837890625001,53.184814453125],[31.364550781250017,53.138964843749996],[31.30292968750001,53.060888671875],[31.2587890625,53.01669921875],[31.29511718750001,52.989794921874996],[31.35302734375,52.933447265625],[31.442773437500023,52.86181640625],[31.53515625,52.7982421875],[31.564843750000023,52.759228515625],[31.585546875,52.532470703125],[31.57734375000001,52.312304687499996],[31.6015625,52.284814453125],[31.64990234375,52.26220703125],[31.690625,52.220654296875],[31.758593750000017,52.125830078125],[31.76337890625001,52.10107421875],[31.57373046875,52.10810546875],[31.345996093750017,52.10537109375],[31.21796875000001,52.050244140625],[30.98066406250001,52.046191406249996],[30.845703125,51.953076171875],[30.755273437500023,51.895166015625],[30.667285156250017,51.814111328125],[30.583886718750023,51.68896484375],[30.533007812500017,51.596337890624994],[30.56074218750001,51.531494140625],[30.602343750000017,51.471240234374996],[30.611718750000023,51.40634765625],[30.63251953125001,51.355419921875],[30.449511718750017,51.274316406249994],[30.160742187500006,51.477880859375],[29.346484375000017,51.382568359375],[29.10205078125,51.6275390625],[29.06074218750001,51.625439453125],[29.013085937500023,51.598925781249996],[28.97773437500001,51.57177734375],[28.927539062500017,51.562158203124994],[28.849511718750023,51.540185546874994],[28.73125,51.433398437499996],[28.690234375000017,51.438867187499994],[28.647753906250017,51.45654296875],[28.599023437500023,51.542626953124994],[28.532031250000017,51.562451171875],[27.85859375000001,51.5923828125],[27.7,51.477978515625],[27.689746093750017,51.572412109374994],[27.296289062500023,51.597412109375],[27.270117187500006,51.613574218749996],[27.141992187500023,51.75205078125],[27.074121093750023,51.76083984375],[26.95283203125001,51.75400390625],[26.7734375,51.770703125],[25.785742187500006,51.923828125],[24.361914062500006,51.867529296875],[24.280078125000017,51.774707031249996],[24.126855468750023,51.6646484375],[23.978320312500017,51.59130859375],[23.951171875,51.58505859375],[23.8642578125,51.623974609375],[23.79169921875001,51.637109375],[23.706835937500017,51.64130859375],[23.61376953125,51.525390625],[23.605273437500017,51.517919921875],[23.652441406250006,52.040380859375],[23.175097656250017,52.28662109375],[23.915429687500023,52.770263671875],[23.484667968750017,53.939794921875],[23.55908203125,53.91982421875],[23.733691406250017,53.912255859375],[24.191308593750023,53.950439453125],[24.236621093750017,53.919970703124996],[24.31796875,53.89296875],[24.620703125,53.979833984375],[24.768164062500006,53.974658203124996],[24.78925781250001,53.9982421875],[24.82568359375,54.118994140625],[24.869531250000023,54.145166015625],[25.04609375000001,54.133056640625],[25.111425781250006,54.154931640625],[25.179492187500017,54.2142578125],[25.46113281250001,54.292773437499996],[25.505664062500017,54.264941406249996],[25.52734375,54.215136718749996],[25.497363281250017,54.175244140625],[25.573046875000017,54.139892578125],[25.765234375,54.17978515625],[25.702539062500023,54.29296875],[25.61689453125001,54.310107421874996],[25.557519531250023,54.310693359375],[25.54736328125,54.331835937499996],[25.56757812500001,54.37705078125],[25.62031250000001,54.460400390625],[25.68515625,54.535791015625],[25.72480468750001,54.564257812499996],[25.73164062500001,54.590380859374996],[25.722460937500017,54.71787109375],[25.859277343750023,54.919287109375],[25.964453125,54.94716796875],[26.09296875000001,54.9623046875],[26.175195312500023,55.003271484375],[26.250781250000017,55.12451171875],[26.291796875000017,55.139599609375],[26.601171875,55.130175781249996],[26.6484375,55.20419921875],[26.775683593750017,55.273095703125],[26.760156250000023,55.293359375],[26.68125,55.306445312499996],[26.49531250000001,55.318017578125],[26.457617187500006,55.34248046875],[26.469531250000017,55.371923828125],[26.51923828125001,55.44814453125],[26.56660156250001,55.546484375],[26.5908203125,55.62265625],[26.593554687500017,55.667529296874996],[27.052539062500017,55.83056640625],[27.576757812500006,55.798779296875],[28.14794921875,56.142919921875]]]},"properties":{"name":"Belarus","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[-87.8529296875,17.4228515625],[-87.92998046874996,17.283007812500017],[-87.826416015625,17.546289062499994],[-87.8529296875,17.4228515625]]],[[[-88.89404296875,15.890625],[-89.2328125,15.888671875],[-89.16147460937503,17.81484375],[-89.13354492187503,17.970800781249977],[-88.80634765624998,17.965527343749983],[-88.52299804687499,18.445898437500063],[-88.29565429687494,18.47241210937503],[-88.34926757812494,18.358837890624983],[-88.1302734375,18.350732421875023],[-88.08525390624999,18.226123046875045],[-88.27172851562494,17.60986328125],[-88.203466796875,17.5166015625],[-88.31342773437501,16.632763671874983],[-88.89404296875,15.890625]]]]},"properties":{"name":"Belize","childNum":2}},{"geometry":{"type":"Polygon","coordinates":[[[-64.73027343749999,32.29345703125],[-64.86284179687499,32.273876953125],[-64.66831054687499,32.38193359375],[-64.73027343749999,32.29345703125]]]},"properties":{"name":"Bermuda","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[-58.15976562499999,-20.164648437500006],[-58.18017578125,-19.81787109375],[-59.09052734375,-19.286230468750006],[-60.00737304687499,-19.29755859375001],[-61.7568359375,-19.6453125],[-62.276318359375,-20.5625],[-62.27666015624999,-21.066015625],[-62.65097656249999,-22.233691406250003],[-62.84335937499999,-21.99726562500001],[-63.92167968749999,-22.028613281250003],[-63.97612304687499,-22.072558593750003],[-64.26640624999999,-22.603320312500003],[-64.30791015624999,-22.7953125],[-64.32529296874999,-22.82763671875],[-64.373974609375,-22.761035156250003],[-64.4455078125,-22.58535156250001],[-64.477734375,-22.4853515625],[-64.5236328125,-22.37158203125],[-64.60551757812499,-22.228808593750003],[-64.992626953125,-22.109667968750003],[-65.518798828125,-22.09453125],[-65.686181640625,-22.11025390625001],[-65.77104492187499,-22.099609375],[-65.86015624999999,-22.01972656250001],[-66.05859375,-21.879492187500006],[-66.098583984375,-21.835058593750006],[-66.17465820312499,-21.8056640625],[-66.220166015625,-21.802539062500003],[-66.24760742187499,-21.83046875],[-66.28212890625,-21.94746093750001],[-66.3224609375,-22.053125],[-66.365185546875,-22.11376953125],[-66.71171874999999,-22.21630859375],[-66.99111328125,-22.509863281250006],[-67.19487304687499,-22.82167968750001],[-67.362255859375,-22.85517578125001],[-67.57993164062499,-22.891699218750006],[-67.79443359375,-22.879492187500006],[-67.87944335937499,-22.82294921875001],[-67.88173828125,-22.49335937500001],[-68.18642578125,-21.61855468750001],[-68.197021484375,-21.30029296875],[-68.558251953125,-20.901953125],[-68.484326171875,-20.62841796875],[-68.74516601562499,-20.45859375],[-68.75932617187499,-20.115527343750003],[-68.560693359375,-19.967089843750003],[-68.559375,-19.90234375],[-68.578271484375,-19.856542968750006],[-68.69619140625,-19.74072265625],[-68.69829101562499,-19.72109375],[-68.57529296874999,-19.56015625],[-68.462890625,-19.43281250000001],[-68.470166015625,-19.409960937500003],[-68.49199218749999,-19.381933593750006],[-68.85795898437499,-19.093359375],[-68.96831054687499,-18.96796875000001],[-68.97885742187499,-18.81298828125],[-69.026806640625,-18.65625],[-69.09228515625,-18.28242187500001],[-69.145458984375,-18.14404296875],[-69.0939453125,-18.05048828125001],[-69.28232421874999,-17.96484375],[-69.31337890625,-17.943164062500003],[-69.5109375,-17.50605468750001],[-69.51108398437499,-17.5048828125],[-69.510986328125,-17.46035156250001],[-69.521923828125,-17.388964843750003],[-69.645703125,-17.24853515625],[-69.62485351562499,-17.2001953125],[-69.020703125,-16.6421875],[-69.03291015625,-16.47597656250001],[-68.8427734375,-16.337890625],[-69.21757812499999,-16.14912109375001],[-69.4208984375,-15.640625],[-69.17246093749999,-15.236621093750003],[-69.37470703125,-14.962988281250006],[-69.35947265624999,-14.7953125],[-68.87089843749999,-14.169726562500003],[-69.07412109375,-13.682812500000011],[-68.97861328124999,-12.880078125000011],[-68.68525390625,-12.501953125],[-69.57861328125,-10.951757812500006],[-69.228515625,-10.955664062500006],[-68.84833984375,-11.011132812500009],[-68.678369140625,-11.11279296875],[-68.39799804687499,-11.01875],[-68.0716796875,-10.703125],[-67.99169921875,-10.674414062500006],[-67.83500976562499,-10.662792968750011],[-67.72177734374999,-10.68310546875],[-67.416943359375,-10.389843750000011],[-66.575341796875,-9.89990234375],[-65.396142578125,-9.71240234375],[-65.298583984375,-10.146777343750003],[-65.31308593749999,-10.253027343750006],[-65.395458984375,-10.392285156250011],[-65.4369140625,-10.449023437500003],[-65.44711914062499,-10.507421875],[-65.33403320312499,-10.892773437500011],[-65.32377929687499,-11.024804687500009],[-65.389892578125,-11.246289062500011],[-65.1857421875,-11.74951171875],[-64.783447265625,-12.059375],[-64.42050781249999,-12.439746093750003],[-63.68857421874999,-12.47802734375],[-63.3466796875,-12.680078125],[-63.06748046874999,-12.669140625000011],[-62.76547851562499,-12.997265625000011],[-62.11801757812499,-13.159765625],[-62.09477539062499,-13.241992187500003],[-61.944726562499994,-13.40625],[-61.87412109374999,-13.470410156250011],[-61.789941406249994,-13.525585937500011],[-61.57568359375,-13.524804687500009],[-61.51157226562499,-13.541210937500011],[-61.41606445312499,-13.526562500000011],[-61.129150390625,-13.49853515625],[-61.07700195312499,-13.48974609375],[-60.506591796875,-13.78984375],[-60.372705078124994,-14.41875],[-60.273339843749994,-15.088769531250009],[-60.402001953124994,-15.0927734375],[-60.583203125,-15.098339843750011],[-60.53046875,-15.143164062500006],[-60.38046875,-15.318261718750009],[-60.242333984374994,-15.479589843750006],[-60.20664062499999,-15.901953125],[-60.18720703125,-16.132128906250003],[-60.17558593749999,-16.269335937500003],[-58.53793945312499,-16.328222656250006],[-58.49658203125,-16.32666015625],[-58.42368164062499,-16.307910156250003],[-58.37539062499999,-16.28359375],[-58.345605468749994,-16.284375],[-58.35039062499999,-16.490820312500006],[-58.470605468749994,-16.650195312500003],[-58.478125,-16.70068359375],[-58.45981445312499,-16.910742187500006],[-58.417382812499994,-17.08056640625],[-58.39599609375,-17.23427734375001],[-58.34775390624999,-17.28212890625001],[-57.99091796875,-17.51289062500001],[-57.905029296875,-17.532324218750006],[-57.832470703125,-17.512109375],[-57.78886718749999,-17.573046875],[-57.780175781249994,-17.67177734375001],[-57.66166992187499,-17.947363281250006],[-57.58647460937499,-18.12226562500001],[-57.49565429687499,-18.214648437500003],[-57.57402343749999,-18.279296875],[-57.725,-18.733203125],[-57.783105468749994,-18.91425781250001],[-57.716796875,-19.044042968750006],[-58.131494140624994,-19.74453125],[-57.860742187499994,-19.979589843750006],[-57.887597656249994,-20.02041015625001],[-57.96015625,-20.04072265625001],[-58.021142578124994,-20.05517578125],[-58.09375,-20.15107421875001],[-58.15976562499999,-20.164648437500006]]]},"properties":{"name":"Bolivia","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[-48.48588867187493,-27.76699218749998],[-48.554589843749994,-27.81220703125004],[-48.542187499999955,-27.57480468749999],[-48.41489257812495,-27.399609375],[-48.48588867187493,-27.76699218749998]]],[[[-48.584423828124955,-26.401562499999983],[-48.665771484375,-26.289648437500006],[-48.53974609374998,-26.170312500000023],[-48.584423828124955,-26.401562499999983]]],[[[-45.26025390624997,-23.889160156249986],[-45.451416015625,-23.895605468749977],[-45.30234375,-23.727539062500014],[-45.26025390624997,-23.889160156249986]]],[[[-44.12929687499994,-23.14189453124999],[-44.36015624999999,-23.17207031250001],[-44.24287109374998,-23.074121093750037],[-44.12929687499994,-23.14189453124999]]],[[[-38.90356445312497,-13.473437499999974],[-38.97758789062496,-13.523535156249963],[-39.02216796874998,-13.445605468749989],[-38.907128906249994,-13.401074218749983],[-38.90356445312497,-13.473437499999974]]],[[[-38.743847656249955,-13.097070312500037],[-38.668115234374966,-12.880175781249989],[-38.601171875,-12.99257812499998],[-38.743847656249955,-13.097070312500037]]],[[[-44.49931640625002,-2.939648437499983],[-44.597753906250006,-3.037597656249943],[-44.4814453125,-2.717578125000031],[-44.49931640625002,-2.939648437499983]]],[[[-44.88310546874996,-1.317871093749986],[-45.020849609375034,-1.372363281249974],[-44.978662109374966,-1.267285156249983],[-44.88310546874996,-1.317871093749986]]],[[[-51.83251953124997,-1.433789062499969],[-51.938378906249966,-1.452636718749986],[-51.680029296875006,-1.086132812500026],[-51.546044921874966,-0.649609375],[-51.25400390624998,-0.54140625],[-51.16074218749998,-0.666699218750011],[-51.27631835937498,-1.02177734374996],[-51.83251953124997,-1.433789062499969]]],[[[-49.62866210937497,-0.229199218749969],[-49.11699218749999,-0.163574218750014],[-48.39267578124995,-0.29736328125],[-48.83359375,-1.390039062500023],[-49.038476562499994,-1.5140625],[-49.17270507812498,-1.41259765625],[-49.233984375000034,-1.59951171874998],[-49.50664062499999,-1.511621093750023],[-49.587890625,-1.712402343749972],[-49.805126953124955,-1.790234375000026],[-50.06572265625002,-1.703808593749997],[-50.50761718749999,-1.787988281250009],[-50.759765625,-1.240234374999972],[-50.72949218749997,-1.126757812499946],[-50.57695312499999,-1.103125],[-50.709619140624994,-1.07773437499999],[-50.796093749999955,-0.90625],[-50.6455078125,-0.27285156249998],[-50.24824218749998,-0.11640625],[-49.62866210937497,-0.229199218749969]]],[[[-50.65288085937499,-0.131640624999989],[-50.926367187500034,-0.327343749999983],[-51.03808593749994,-0.225878906250003],[-50.84218750000002,-0.050195312500009],[-50.65288085937499,-0.131640624999989]]],[[[-49.44389648437499,-0.112402343749977],[-49.83007812499997,-0.093896484375023],[-49.50346679687496,0.083691406250011],[-49.37231445312497,0.001074218749963],[-49.44389648437499,-0.112402343749977]]],[[[-49.73823242187498,0.26816406250002],[-49.917089843750006,-0.023193359375014],[-50.339453125,0.043359375000051],[-50.27265624999998,0.231738281249974],[-49.73823242187498,0.26816406250002]]],[[[-50.42612304687498,0.139257812500048],[-50.44394531249998,-0.007666015624949],[-50.623925781249966,0.054394531249983],[-50.372753906249955,0.590869140625031],[-50.33227539062497,0.259033203125028],[-50.42612304687498,0.139257812500048]]],[[[-50.152929687500006,0.393017578125054],[-50.26132812499998,0.359179687500003],[-50.281689453124955,0.51650390624998],[-50.05883789062503,0.638037109374963],[-50.152929687500006,0.393017578125054]]],[[[-50.29897460937502,1.93852539062496],[-50.45610351562496,1.910498046875034],[-50.49101562499996,2.128613281249969],[-50.34199218749998,2.14174804687498],[-50.29897460937502,1.93852539062496]]],[[[-59.69970703125,4.353515625],[-59.73857421874993,4.226757812500026],[-59.62021484374998,4.023144531250026],[-59.557763671874966,3.960009765625031],[-59.551123046875034,3.933544921874969],[-59.854394531249994,3.5875],[-59.99433593749998,2.689990234375031],[-59.88964843749997,2.362939453125009],[-59.75522460937495,2.27412109375004],[-59.74350585937498,2.12163085937496],[-59.75175781249996,1.962402343750028],[-59.75620117187498,1.900634765624972],[-59.666601562500006,1.746289062499969],[-59.53569335937499,1.7],[-59.23120117187494,1.376025390625031],[-58.82177734374994,1.201220703125031],[-58.787207031250006,1.208496093750014],[-58.73032226562498,1.247509765625054],[-58.68461914062499,1.28105468749996],[-58.511865234374966,1.284667968749986],[-58.506054687499926,1.438671875000011],[-58.39580078124993,1.481738281249989],[-58.38037109375,1.530224609375011],[-58.34067382812498,1.587548828125051],[-58.03466796875,1.520263671875014],[-57.9828125,1.648437500000014],[-57.87343750000002,1.667285156250045],[-57.79565429687497,1.7],[-57.59443359375001,1.704101562499986],[-57.54575195312495,1.726074218750028],[-57.31748046874998,1.963476562499991],[-57.27558593749998,1.959228515625014],[-57.189599609374966,1.981591796875037],[-57.11889648437494,2.013964843749974],[-57.09267578125002,2.005810546874997],[-57.03759765625,1.936474609374997],[-56.96953124999999,1.91640625],[-56.48281249999994,1.942138671874986],[-56.019921874999966,1.842236328124983],[-55.96333007812498,1.85708007812498],[-55.929638671874955,1.8875],[-55.92163085937503,1.976660156250006],[-55.91533203124999,2.039550781250028],[-55.96196289062496,2.09511718749998],[-56.02006835937499,2.15815429687504],[-56.073632812499994,2.236767578124969],[-56.13769531249997,2.259033203124986],[-56.12939453124997,2.299511718749969],[-56.08779296875002,2.341308593750043],[-56.045117187499955,2.364404296875037],[-56.02036132812498,2.392773437500054],[-55.993505859375006,2.497509765624983],[-55.9755859375,2.515966796875006],[-55.957470703124955,2.52045898437504],[-55.730566406250006,2.406152343750023],[-55.385351562500006,2.440625],[-55.34399414062503,2.488769531249972],[-55.28603515625002,2.49965820312498],[-55.18769531249998,2.547509765625037],[-55.114111328125006,2.539208984375037],[-55.07031249999994,2.548339843750028],[-55.005810546874955,2.592968749999983],[-54.97866210937502,2.597656250000043],[-54.968408203124966,2.548339843750028],[-54.92656249999999,2.497363281250045],[-54.876074218750006,2.450390624999969],[-54.72221679687499,2.441650390624972],[-54.69741210937502,2.359814453124997],[-54.66186523437497,2.327539062499994],[-54.61625976562499,2.326757812500006],[-54.59194335937502,2.313769531250031],[-54.55048828125001,2.293066406249991],[-54.51508789062498,2.245458984374963],[-54.43310546875,2.207519531250057],[-54.13007812499998,2.121044921875026],[-53.76777343749998,2.354833984375048],[-52.90346679687502,2.211523437499977],[-52.58300781250003,2.528906249999977],[-52.327880859375,3.18173828125002],[-51.65253906249998,4.061279296874972],[-51.54707031250001,4.31088867187502],[-51.219921874999955,4.093603515624991],[-50.71440429687502,2.134033203125],[-50.458886718749994,1.829589843749972],[-49.957128906250006,1.65986328125004],[-49.898876953124955,1.16298828124998],[-50.29443359374997,0.835742187500003],[-50.755078124999955,0.222558593749966],[-51.28291015625001,-0.085205078125028],[-51.98081054687498,-1.367968749999974],[-52.22924804687497,-1.3625],[-52.664160156250034,-1.551757812500028],[-51.94755859374996,-1.586718749999946],[-50.89492187500002,-0.937597656249963],[-50.690039062500006,-1.761718749999986],[-50.40322265625002,-2.015527343750009],[-49.999218749999955,-1.831835937499974],[-49.71953125000002,-1.926367187499963],[-49.31367187500001,-1.731738281250003],[-49.63652343749996,-2.656933593750026],[-49.45751953125,-2.504589843749983],[-49.21103515624998,-1.916503906249986],[-48.99130859374998,-1.829785156249997],[-48.71000976562496,-1.487695312500023],[-48.46293945312499,-1.613964843749997],[-48.349804687499926,-1.482128906249955],[-48.46806640624996,-1.393847656250003],[-48.44980468749998,-1.145507812499943],[-48.11508789062498,-0.7375],[-47.557324218749955,-0.669921874999957],[-47.418652343749955,-0.765917968749974],[-47.39809570312502,-0.626660156250026],[-45.45859374999995,-1.35625],[-45.32915039062496,-1.71728515625],[-45.07636718749998,-1.466406249999949],[-44.72114257812498,-1.733496093750006],[-44.778515624999955,-1.798828125],[-44.651269531249966,-1.745800781250026],[-44.537792968749955,-2.052734374999943],[-44.75634765624997,-2.265527343749952],[-44.66240234375002,-2.373242187499955],[-44.435449218749966,-2.168066406249991],[-44.38183593749997,-2.365527343749989],[-44.52011718749998,-2.40546875000004],[-44.589013671874994,-2.573437499999983],[-44.72304687500002,-3.204785156249997],[-44.43754882812496,-2.944433593749977],[-44.228613281250006,-2.471289062499949],[-44.105566406250006,-2.493457031250031],[-44.19267578124999,-2.809570312499943],[-43.93291015624999,-2.583496093749986],[-43.45512695312499,-2.502050781250006],[-43.38007812499998,-2.376074218750006],[-42.93671874999998,-2.465039062500011],[-42.24960937499998,-2.7919921875],[-41.876171874999926,-2.746582031249986],[-41.479931640624955,-2.916503906249972],[-40.474560546874926,-2.795605468750026],[-39.96469726562498,-2.861523437499955],[-38.475781249999955,-3.717480468749997],[-38.04882812500003,-4.216406250000034],[-37.626318359375006,-4.592089843750003],[-37.30146484375001,-4.713085937499969],[-37.174658203125006,-4.912402343749974],[-36.590722656249966,-5.097558593749952],[-35.549414062500006,-5.129394531249957],[-35.39257812499994,-5.250878906250009],[-34.833886718749994,-7.024414062500014],[-34.83466796874998,-7.97148437499996],[-35.34086914062499,-9.230664062499983],[-35.76396484374993,-9.702539062500023],[-35.890820312499926,-9.687011718749957],[-35.88544921875001,-9.84765625],[-36.39833984374994,-10.484082031249983],[-36.768310546875,-10.671679687500017],[-37.18281249999998,-11.06845703125002],[-37.35600585937502,-11.403906249999977],[-37.35922851562495,-11.252539062499963],[-37.68872070312503,-12.1],[-38.019238281249955,-12.591308593750028],[-38.401757812499994,-12.966210937500023],[-38.69096679687502,-12.623925781250009],[-38.85175781250001,-12.790136718750034],[-38.76372070312502,-12.9072265625],[-38.835302734375034,-13.147167968750026],[-39.030908203124994,-13.365136718750023],[-39.08935546875,-13.588183593749989],[-38.988623046875006,-13.61503906249996],[-39.04814453124996,-14.043945312500028],[-38.94233398437498,-14.030664062499994],[-39.05957031249997,-14.654785156249957],[-38.88061523437503,-15.864257812499972],[-39.20288085937503,-17.178125],[-39.154003906249926,-17.70390625000003],[-39.650781249999966,-18.252343750000037],[-39.78330078124998,-19.571777343749986],[-40.001367187499994,-19.74199218750003],[-40.39594726562501,-20.56943359375002],[-40.78925781250001,-20.90605468750003],[-40.954541015624926,-21.237890624999963],[-41.04726562499999,-21.505664062499974],[-41.00029296875002,-21.99902343750003],[-41.70551757812498,-22.30966796874999],[-41.980419921874955,-22.580664062499963],[-42.042382812499966,-22.947070312500003],[-42.95830078124996,-22.96708984374999],[-43.154296875,-22.725195312500006],[-43.22416992187502,-22.991210937500014],[-43.898828124999966,-23.10146484375001],[-43.97382812499998,-23.057324218749983],[-43.675976562499955,-23.00947265625001],[-43.86616210937498,-22.910546875000023],[-44.63725585937496,-23.05546875],[-44.67382812499994,-23.206640625000034],[-44.56967773437495,-23.27402343749999],[-45.32539062499998,-23.59970703124999],[-45.464306640624955,-23.802539062500017],[-45.97207031250002,-23.795507812500006],[-46.86728515624998,-24.236328125000014],[-47.989160156249994,-25.03574218749999],[-47.92939453124998,-25.16826171874999],[-48.20273437499998,-25.41650390625003],[-48.18593749999994,-25.309863281249974],[-48.402490234374994,-25.27207031249999],[-48.47612304687499,-25.44296875],[-48.73173828124993,-25.36875],[-48.6921875,-25.49150390625003],[-48.40117187500002,-25.59736328125001],[-48.665771484375,-25.844335937499963],[-48.576318359374994,-25.935449218749966],[-48.61943359374996,-26.17939453125001],[-48.74829101562503,-26.26865234374999],[-48.55415039062498,-27.195996093749997],[-48.62080078124998,-28.075585937499966],[-48.799658203125006,-28.575292968749977],[-49.27128906249999,-28.87119140625005],[-49.745996093749966,-29.363183593749994],[-50.299511718749955,-30.42578125000003],[-50.92138671874997,-31.25839843750002],[-52.039208984374994,-32.11484374999996],[-52.063232421875,-31.830371093750017],[-51.68066406249994,-31.774609375000026],[-51.272167968749955,-31.476953125000037],[-51.16142578124996,-31.11884765625001],[-50.980078125000034,-31.09423828124997],[-50.94082031249994,-30.903710937499966],[-50.68930664062495,-30.70419921874999],[-50.71630859374994,-30.425976562499983],[-50.58193359375002,-30.438867187500037],[-50.56352539062499,-30.25361328125004],[-51.02495117187493,-30.36865234375003],[-51.29804687499998,-30.03486328124997],[-51.15727539062499,-30.364257812500014],[-51.283056640625034,-30.751562499999963],[-51.35908203124998,-30.674511718749983],[-51.506298828124955,-31.104492187500014],[-51.97246093749999,-31.383789062499986],[-52.19355468749998,-31.885546874999974],[-52.12739257812501,-32.1677734375],[-52.652246093749994,-33.137792968750006],[-53.37060546874997,-33.74218750000003],[-53.39755859374995,-33.737304687500014],[-53.46357421875001,-33.70986328125002],[-53.531347656250034,-33.65546875000004],[-53.531347656250034,-33.1708984375],[-53.511865234374966,-33.10869140625003],[-53.482861328124926,-33.068554687500026],[-53.39521484375001,-33.01035156249998],[-53.31010742187499,-32.927050781249974],[-53.21406249999998,-32.82109375],[-53.12558593749998,-32.73671875],[-53.15727539062496,-32.680078125],[-53.601708984374994,-32.40302734374997],[-53.76171875,-32.05683593749997],[-53.920605468749926,-31.95234375],[-54.220556640625034,-31.855175781249997],[-54.58764648437503,-31.48515625000003],[-55.036035156249994,-31.27900390625004],[-55.091162109375034,-31.31396484374997],[-55.173535156249926,-31.279589843749974],[-55.557324218749955,-30.8759765625],[-55.60302734375003,-30.85078125000001],[-55.62714843749998,-30.858105468749997],[-55.650488281250034,-30.89208984375],[-55.66523437500001,-30.92490234375002],[-55.807763671874994,-31.036718749999977],[-55.87368164062502,-31.069628906250017],[-55.95200195312498,-31.08085937499999],[-56.0046875,-31.079199218750006],[-56.01845703125002,-30.991894531249983],[-55.998974609374955,-30.837207031250003],[-56.4072265625,-30.44746093750001],[-56.83271484374998,-30.107226562499974],[-57.120507812499994,-30.144433593749994],[-57.21445312499995,-30.283398437499983],[-57.55229492187496,-30.261230468749986],[-57.60888671875003,-30.187792968750045],[-57.563867187499994,-30.139941406249974],[-57.40522460937501,-30.03388671875004],[-57.22465820312499,-29.782128906249994],[-56.938623046874994,-29.594824218750034],[-55.890527343749994,-28.370019531249994],[-55.68725585937497,-28.38164062499996],[-55.72548828125002,-28.20410156250003],[-55.10151367187501,-27.866796874999963],[-54.82910156250003,-27.55058593750003],[-54.32700195312495,-27.423535156249997],[-53.83818359375002,-27.121093750000014],[-53.668554687500006,-26.288183593749977],[-53.89116210937499,-25.66884765625001],[-54.15458984374999,-25.523046874999963],[-54.44394531249998,-25.625],[-54.615869140624994,-25.576074218750023],[-54.61054687499998,-25.432714843750034],[-54.47314453124997,-25.22021484375],[-54.43623046875001,-25.12128906250001],[-54.281005859375,-24.30605468750001],[-54.31826171874994,-24.128125],[-54.26689453124996,-24.06582031250001],[-54.241796875,-24.047265624999966],[-54.44023437500002,-23.90175781249998],[-54.62548828125,-23.8125],[-54.98266601562494,-23.974511718749966],[-55.081884765625006,-23.997656249999977],[-55.1943359375,-24.017480468750023],[-55.28691406249993,-24.00429687499999],[-55.366308593750034,-23.99101562499996],[-55.41591796875002,-23.95136718749997],[-55.4423828125,-23.86533203125002],[-55.4423828125,-23.792578125000034],[-55.458886718749966,-23.686718750000054],[-55.51845703124994,-23.627246093750017],[-55.53828124999998,-23.580957031249994],[-55.61767578125,-22.67148437499999],[-55.74663085937499,-22.51269531249997],[-55.753271484375006,-22.410156250000043],[-55.84916992187499,-22.307617187500014],[-55.991406249999926,-22.28115234375005],[-56.18984374999994,-22.28115234375005],[-56.246044921874926,-22.26464843749997],[-56.39487304687498,-22.092675781250023],[-56.44780273437502,-22.07617187500003],[-56.77519531249999,-22.261328125],[-57.955908203125034,-22.109179687500003],[-57.94267578124999,-21.79833984375],[-57.830224609374994,-20.99794921875001],[-57.91513671874998,-20.690332031249966],[-57.97905273437493,-20.65732421874999],[-58.00224609374996,-20.465429687499977],[-58.02539062499997,-20.41582031249999],[-58.05844726562495,-20.38613281249998],[-58.091503906249926,-20.33320312500004],[-58.124609375000034,-20.293457031250014],[-58.13779296874995,-20.237304687500043],[-58.15976562499998,-20.164648437499977],[-58.09375,-20.15107421874997],[-58.021142578124994,-20.05517578124997],[-57.96015625000001,-20.04072265625004],[-57.887597656249966,-20.020410156249994],[-57.860742187499994,-19.97958984375002],[-58.029931640624994,-19.83271484375004],[-58.131494140624994,-19.74453125],[-57.71679687499997,-19.044042968750034],[-57.73085937499999,-18.91718750000004],[-57.783105468749994,-18.91425781249997],[-57.725,-18.73320312500003],[-57.57402343749993,-18.279296875000014],[-57.49565429687496,-18.21464843749999],[-57.58647460937499,-18.122265625],[-57.66166992187493,-17.94736328124999],[-57.78017578125002,-17.67177734374998],[-57.78886718750002,-17.573046875000017],[-57.83247070312501,-17.512109375000037],[-57.90502929687497,-17.53232421874999],[-57.990917968749955,-17.512890625000026],[-58.20556640625,-17.363085937499974],[-58.347753906250006,-17.282128906249994],[-58.39599609374997,-17.234277343750023],[-58.417382812499994,-17.08056640624997],[-58.459814453125006,-16.910742187500006],[-58.478125,-16.70068359375003],[-58.470605468749994,-16.650195312500045],[-58.35039062500002,-16.49082031249999],[-58.34560546875002,-16.284375],[-58.375390624999966,-16.283593749999966],[-58.423681640625034,-16.30791015625003],[-58.49658203124994,-16.32666015625003],[-58.537939453125034,-16.32822265624999],[-60.17558593749996,-16.26933593749999],[-60.187207031249955,-16.132128906250017],[-60.206640625,-15.90195312500002],[-60.242333984374994,-15.479589843750034],[-60.38046874999998,-15.318261718750023],[-60.53046874999998,-15.143164062499977],[-60.58320312499998,-15.098339843749983],[-60.273339843749994,-15.088769531249994],[-60.372705078124994,-14.41875],[-60.506591796875,-13.78984375],[-61.077001953125034,-13.489746093750014],[-61.129150390625,-13.498535156250028],[-61.41606445312502,-13.526562499999969],[-61.511572265625006,-13.541210937500011],[-61.789941406249966,-13.525585937500026],[-61.87412109374998,-13.470410156249983],[-61.944726562499966,-13.40625],[-62.09477539062499,-13.241992187499989],[-62.118017578125006,-13.15976562500002],[-62.765478515625034,-12.99726562500004],[-63.01518554687502,-12.80556640624998],[-63.067480468750006,-12.669140624999983],[-63.34667968749994,-12.68007812499999],[-63.68857421874998,-12.478027343749957],[-64.42050781249995,-12.439746093749974],[-64.783447265625,-12.059375],[-65.18574218749998,-11.749511718749957],[-65.389892578125,-11.246289062500011],[-65.33403320312499,-10.892773437500026],[-65.44711914062503,-10.507421875000034],[-65.4369140625,-10.449023437499946],[-65.39545898437498,-10.392285156250026],[-65.31308593749998,-10.253027343749991],[-65.29858398437497,-10.146777343750017],[-65.39614257812494,-9.712402343749986],[-66.57534179687502,-9.899902343749986],[-67.41694335937495,-10.389843749999969],[-67.72177734374998,-10.683105468749943],[-67.83500976562496,-10.662792968749983],[-67.99169921875,-10.674414062499949],[-68.07167968749994,-10.703125],[-68.39799804687499,-11.01875],[-68.678369140625,-11.11279296875],[-68.84833984374998,-11.01113281249998],[-69.228515625,-10.955664062499963],[-69.46254882812497,-10.948144531250023],[-69.57861328125,-10.951757812499963],[-69.67402343749998,-10.9541015625],[-69.83979492187501,-10.93339843749996],[-69.96035156249997,-10.92988281250004],[-70.06630859374997,-10.982421875],[-70.22006835937503,-11.04765625],[-70.29038085937498,-11.064257812499974],[-70.34199218750001,-11.066699218750017],[-70.39228515624995,-11.058593749999972],[-70.45087890624998,-11.024804687500009],[-70.53325195312496,-10.946875],[-70.59653320312498,-10.976855468750017],[-70.642333984375,-11.010253906249986],[-70.59916992187499,-9.620507812500009],[-70.54111328124998,-9.4375],[-70.60791015625,-9.463671875000031],[-70.63691406249995,-9.478222656249969],[-71.041748046875,-9.81875],[-71.11528320312499,-9.852441406250009],[-71.33940429687499,-9.988574218750031],[-72.18159179687495,-10.003710937500003],[-72.37905273437497,-9.51015625],[-73.20942382812493,-9.411425781249946],[-73.08984375,-9.26572265625002],[-72.970361328125,-9.120117187500028],[-72.97402343750002,-8.9931640625],[-73.07050781249995,-8.8828125],[-73.203125,-8.719335937499991],[-73.30244140624995,-8.654003906250011],[-73.36040039062496,-8.479296875000031],[-73.39814453125001,-8.458984374999986],[-73.54912109374993,-8.34580078125002],[-73.73203125,-7.875390625],[-73.72041015624993,-7.782519531250017],[-73.76689453124999,-7.753515624999963],[-73.82207031249996,-7.738964843750026],[-73.89462890624998,-7.654785156250014],[-73.946875,-7.611230468750023],[-73.98173828124996,-7.58505859375002],[-74.00205078125003,-7.556054687499966],[-73.98173828124996,-7.535742187500006],[-73.95849609374994,-7.506640625000031],[-73.96430664062498,-7.378906250000028],[-73.74946289062498,-7.335351562500037],[-73.72041015624993,-7.309277343749969],[-73.758203125,-7.172753906249952],[-73.79301757812499,-7.135058593750003],[-73.75810546874999,-6.90576171875],[-73.137353515625,-6.4658203125],[-73.23554687500001,-6.098437500000017],[-73.209375,-6.028710937500023],[-73.16289062499996,-5.933398437499974],[-72.97988281249997,-5.634863281249991],[-72.88706054687498,-5.122753906250026],[-72.83193359374994,-5.09375],[-72.69873046874997,-5.067187499999989],[-72.60834960937495,-5.009570312499974],[-72.46899414062497,-4.901269531250023],[-72.35283203124993,-4.786035156249994],[-72.25678710937501,-4.74892578124998],[-71.8447265625,-4.504394531249986],[-70.97368164062499,-4.350488281249994],[-70.86601562499999,-4.229589843749963],[-70.79951171874995,-4.173339843749957],[-70.72158203124997,-4.15888671875004],[-70.53066406249997,-4.167578125000034],[-70.40463867187498,-4.150097656250026],[-70.34365234375,-4.193652343750017],[-70.31689453124994,-4.246972656250037],[-70.23916015625002,-4.30117187499998],[-70.12880859375,-4.286621093749943],[-70.05332031249998,-4.333105468750006],[-70.00395507812496,-4.327246093749963],[-69.97202148437503,-4.30117187499998],[-69.96591796875003,-4.2359375],[-69.94819335937498,-4.200585937500009],[-69.66904296875003,-2.667675781249997],[-69.40024414062498,-1.194921874999977],[-69.63398437500001,-0.50927734375],[-70.07050781249993,-0.13886718750004],[-70.05390624999993,0.578613281250028],[-69.47211914062498,0.72993164062504],[-69.15332031249994,0.65878906250002],[-69.31181640624999,1.050488281249969],[-69.85214843750003,1.05952148437504],[-69.84858398437493,1.708740234375043],[-68.17656249999999,1.719824218749991],[-68.25595703125,1.845507812500017],[-68.19379882812495,1.987011718749983],[-67.93623046874998,1.748486328124969],[-67.40043945312499,2.116699218750028],[-67.11923828124998,1.703613281249986],[-67.082275390625,1.185400390625006],[-66.87602539062499,1.223046875000037],[-66.34711914062498,0.7671875],[-66.06005859375003,0.78535156250004],[-65.68144531249999,0.983447265624989],[-65.52299804687493,0.843408203124966],[-65.55605468750002,0.687988281250014],[-65.47338867187497,0.691259765624977],[-65.10375976562497,1.108105468749983],[-64.20502929687493,1.52949218750004],[-64.00849609374995,1.931591796874969],[-63.43251953124994,2.155566406250045],[-63.389257812500006,2.411914062500045],[-64.04658203124998,2.502392578124997],[-64.22109375000002,3.587402343749972],[-64.66899414062496,4.01181640625002],[-64.788671875,4.276025390625023],[-64.57636718750001,4.139892578125],[-64.19248046874995,4.126855468750009],[-64.02148437500003,3.929101562500051],[-63.33867187500002,3.943896484375045],[-62.85698242187502,3.593457031249969],[-62.71210937499998,4.01791992187502],[-62.41064453124994,4.156738281249972],[-62.153125,4.098388671874986],[-61.82084960937496,4.197021484375],[-61.28007812500002,4.516894531249974],[-61.00283203125002,4.535253906249991],[-60.603857421875006,4.94936523437498],[-60.671972656250034,5.164355468749989],[-60.71196289062499,5.191552734375023],[-60.742138671874926,5.202050781250037],[-60.6513671875,5.221142578125011],[-60.45952148437499,5.188085937500034],[-60.40878906249998,5.21015625],[-60.33520507812497,5.199316406250006],[-60.241650390624926,5.257958984374966],[-60.14204101562498,5.238818359374974],[-59.990673828124955,5.082861328124991],[-60.14863281249998,4.533251953125031],[-59.69970703125,4.353515625]]]]},"properties":{"name":"Brazil","childNum":17}},{"geometry":{"type":"Polygon","coordinates":[[[-59.493310546874994,13.081982421874997],[-59.611328125,13.102099609374989],[-59.6466796875,13.303125],[-59.427636718749994,13.152783203124997],[-59.493310546874994,13.081982421874997]]]},"properties":{"name":"Barbados","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[115.02675781250005,4.899707031249989],[115.1400390625,4.899755859374991],[115.290625,4.352587890624989],[115.10703125000006,4.390429687499974],[115.02675781250005,4.899707031249989]]],[[[115.02675781250005,4.899707031249989],[114.74667968750006,4.718066406250017],[114.84023437500005,4.393212890625009],[114.65410156250007,4.037646484375045],[114.0638671875,4.592675781249966],[114.42441406250006,4.660400390625],[114.99541015625002,5.022363281250023],[115.02675781250005,4.899707031249989]]]]},"properties":{"name":"Brunei","childNum":2}},{"geometry":{"type":"Polygon","coordinates":[[[91.63193359375003,27.759960937499997],[91.5947265625,27.557666015624996],[91.74306640625002,27.442529296874994],[91.85126953125001,27.438623046874994],[91.95097656249999,27.458300781249996],[91.99082031250003,27.4501953125],[92.044921875,27.364697265624997],[92.08339843750002,27.290625],[92.03115234375002,27.214306640624997],[92.00253906250003,27.147363281249994],[91.99228515625003,27.099902343749996],[91.99863281250003,27.079296875],[92.03085937500003,27.040820312499996],[92.06816406249999,26.9751953125],[92.07343750000001,26.91484375],[92.04970703125002,26.874853515625],[91.99833984374999,26.85498046875],[91.84208984374999,26.852978515624997],[91.67158203125001,26.802001953125],[91.517578125,26.807324218749997],[91.45585937499999,26.866894531249997],[91.4267578125,26.867089843749994],[91.28652343750002,26.789941406249994],[90.73964843750002,26.771679687499997],[90.34589843750001,26.890332031249997],[90.2060546875,26.847509765625],[90.12294921875002,26.754589843749997],[89.94316406249999,26.723925781249996],[89.76386718750001,26.7015625],[89.60996093750003,26.719433593749997],[89.58613281250001,26.778955078124994],[89.33212890625003,26.8486328125],[89.14824218749999,26.816162109375],[89.04091796875002,26.865039062499996],[88.85761718750001,26.961474609374996],[88.73876953125,27.175585937499996],[88.76035156250003,27.218115234375],[88.88164062499999,27.2974609375],[88.89140624999999,27.316064453124994],[88.94755859374999,27.464013671874994],[89.48066406250001,28.059960937499994],[89.53691406249999,28.107421875],[89.65273437500002,28.15830078125],[89.74980468749999,28.188183593749997],[89.81689453125,28.256298828124997],[89.89785156250002,28.294140625],[89.98105468750003,28.311181640624994],[90.34824218750003,28.243945312499996],[90.36298828125001,28.216503906249997],[90.33310546875003,28.093994140625],[90.35273437500001,28.080224609374994],[90.47734374999999,28.070849609374996],[90.63007812500001,28.078564453124997],[90.71572265625002,28.071728515624997],[91.02080078124999,27.970068359375],[91.07773437500003,27.974462890625],[91.22587890624999,28.071240234374997],[91.27304687500003,28.078369140625],[91.30683593750001,28.064013671874996],[91.36757812500002,28.021630859374994],[91.64189453124999,27.923242187499994],[91.63193359375003,27.759960937499997]]]},"properties":{"name":"Bhutan","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[25.2587890625,-17.793554687500006],[25.242285156250006,-17.969042968750003],[25.939355468750023,-18.93867187500001],[26.168066406250006,-19.53828125000001],[27.17822265625,-20.10097656250001],[27.28076171875,-20.47871093750001],[27.679296875,-20.503027343750006],[27.66943359375,-21.064257812500003],[28.014062500000023,-21.55419921875],[29.02558593750001,-21.796875],[29.042382812500023,-22.018359375],[29.237207031250023,-22.07949218750001],[29.315234375000017,-22.15771484375],[29.36484375,-22.193945312500006],[29.1298828125,-22.21328125],[29.013476562500017,-22.278417968750006],[28.94580078125,-22.395117187500006],[28.83984375,-22.480859375],[28.21015625000001,-22.693652343750003],[27.812597656250006,-23.108007812500006],[27.7685546875,-23.14892578125],[27.085546875,-23.577929687500003],[26.835058593750006,-24.240820312500006],[26.617773437500006,-24.3955078125],[26.451757812500006,-24.58271484375001],[26.39716796875001,-24.613574218750003],[26.130859375,-24.671484375],[26.031835937500006,-24.702441406250003],[25.912109375,-24.74746093750001],[25.518164062500006,-25.66279296875001],[25.21337890625,-25.75625],[24.33056640625,-25.74287109375001],[24.19296875,-25.632910156250006],[23.969531250000017,-25.626074218750006],[23.89375,-25.600878906250003],[23.389257812500006,-25.29140625],[23.148730468750017,-25.288671875],[22.878808593750023,-25.45791015625001],[22.59765625,-26.13271484375001],[22.548632812500017,-26.17841796875001],[22.47089843750001,-26.219042968750003],[22.217578125000017,-26.38886718750001],[22.090917968750006,-26.580175781250006],[22.01093750000001,-26.635839843750006],[21.78828125000001,-26.710058593750006],[21.738085937500017,-26.80683593750001],[21.694726562500023,-26.840917968750006],[20.73984375,-26.84882812500001],[20.641406250000017,-26.7421875],[20.79316406250001,-25.915625],[20.4306640625,-25.147070312500006],[19.98046875,-24.77675781250001],[19.977343750000017,-22.00019531250001],[20.9794921875,-21.9619140625],[20.97412109375,-18.31884765625],[23.219335937500006,-17.99970703125001],[23.599707031250006,-18.4599609375],[24.243945312500017,-18.0234375],[24.530566406250017,-18.052734375],[24.909082031250023,-17.821386718750006],[25.2587890625,-17.793554687500006]]]},"properties":{"name":"Botswana","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[22.86005859375001,10.919677734375],[23.646289062500017,9.822900390624994],[23.62265625,9.340625],[23.46826171875,9.11474609375],[23.53730468750001,8.815820312499994],[24.147363281250023,8.665625],[24.291406250000023,8.29140625],[24.853320312500017,8.137548828124991],[25.20039062500001,7.807910156249989],[25.18134765625001,7.557226562499991],[25.27890625,7.427490234375],[26.36181640625,6.635302734374989],[26.30859375,6.455322265625],[26.514257812500006,6.069238281249994],[27.143945312500023,5.722949218749989],[27.4033203125,5.109179687499989],[27.071875,5.199755859374989],[26.822070312500017,5.062402343749994],[25.52509765625001,5.31210937499999],[25.065234375000017,4.967431640624994],[24.31982421875,4.994140625],[23.41718750000001,4.663134765624989],[22.864550781250017,4.723876953125],[22.422167968750017,4.134960937499997],[20.55810546875,4.462695312499989],[20.226367187500017,4.829638671874989],[19.806542968750023,5.089306640624997],[19.5009765625,5.127490234374989],[19.06855468750001,4.891406249999989],[18.594140625000023,4.346240234374989],[18.6103515625,3.478417968749994],[18.474414062500017,3.622998046874997],[18.160937500000017,3.499804687499989],[17.491601562500023,3.687304687499989],[16.610742187500023,3.50537109375],[16.468554687500017,2.831738281249997],[16.183398437500017,2.270068359374989],[16.0634765625,2.90859375],[15.128710937500017,3.826904296875],[15.063574218750006,4.284863281249997],[14.73125,4.602392578124991],[14.56298828125,5.279931640624994],[14.616894531250011,5.865136718749994],[14.43115234375,6.038720703124994],[14.7392578125,6.27978515625],[15.206738281250011,7.206152343749991],[15.480078125,7.523779296874991],[15.957617187500006,7.507568359375],[16.37890625,7.683544921874997],[16.545312500000023,7.865478515625],[16.784765625,7.550976562499997],[17.6494140625,7.98359375],[18.56416015625001,8.0458984375],[19.108691406250017,8.656152343749994],[18.886035156250017,8.836035156249991],[18.95625,8.938867187499994],[20.342089843750017,9.127099609374994],[20.773242187500017,9.405664062499994],[21.682714843750006,10.289843749999989],[21.771484375,10.642822265625],[22.49384765625001,10.996240234374994],[22.86005859375001,10.919677734375]]]},"properties":{"name":"Central African Rep.","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[-59.78759765624997,43.939599609374994],[-60.11748046874996,43.95336914062506],[-59.727148437500006,44.002832031249994],[-59.78759765624997,43.939599609374994]]],[[[-66.7625,44.68178710937502],[-66.8970703125,44.62890625],[-66.80214843749994,44.80537109374998],[-66.7625,44.68178710937502]]],[[[-60.961572265624966,45.48994140625001],[-61.081738281249926,45.55781249999998],[-60.91245117187498,45.56728515625005],[-60.961572265624966,45.48994140625001]]],[[[-73.69531249999997,45.58549804687502],[-73.85771484375002,45.573583984375006],[-73.57236328124998,45.69448242187502],[-73.69531249999997,45.58549804687502]]],[[[-73.56650390625003,45.469091796875034],[-73.960546875,45.44140624999997],[-73.68745117187498,45.561425781249994],[-73.47607421874997,45.704736328124994],[-73.56650390625003,45.469091796875034]]],[[[-61.10517578124998,45.94472656250002],[-60.86523437499997,45.983496093750006],[-61.05903320312501,45.70336914062497],[-60.73789062499995,45.75141601562498],[-60.46059570312494,45.96870117187501],[-60.733300781249994,45.956591796875045],[-60.297949218750034,46.31123046874998],[-60.22646484374994,46.19555664062506],[-59.86503906249993,46.159521484375006],[-59.8421875,45.941552734374994],[-60.67294921874995,45.59082031250006],[-61.28369140624994,45.573876953124966],[-61.44980468749995,45.71621093750002],[-61.40864257812501,46.17036132812498],[-60.87016601562499,46.796777343749966],[-60.40820312500003,47.00351562499998],[-60.332910156249966,46.737011718749955],[-60.49453125000002,46.270263671875],[-61.10517578124998,45.94472656250002]]],[[[-63.811279296875,46.46870117187501],[-63.68144531249993,46.561914062499994],[-63.12939453125,46.422216796875034],[-62.02373046874999,46.42158203125001],[-62.52607421875001,46.20288085937503],[-62.531347656250034,45.977294921875],[-63.02207031249998,46.06660156249998],[-62.89453125000003,46.12358398437496],[-63.056347656249955,46.22392578124996],[-62.97846679687498,46.31635742187498],[-63.21347656249998,46.15986328124998],[-63.641015624999966,46.23046874999997],[-63.758642578125034,46.397607421874994],[-64.11083984375003,46.425439453124994],[-64.13603515624999,46.59970703125006],[-64.388037109375,46.640869140625],[-63.99355468750002,47.06157226562502],[-64.08789062499997,46.77543945312499],[-63.811279296875,46.46870117187501]]],[[[-61.91411132812496,47.284521484375034],[-61.77255859374998,47.25981445312499],[-62.00830078124994,47.23427734375002],[-61.924707031249966,47.425146484375006],[-61.3955078125,47.63764648437504],[-61.91411132812496,47.284521484375034]]],[[[-54.227148437500034,47.44135742187501],[-54.32597656250002,47.408105468749994],[-54.12817382812494,47.646826171875034],[-54.227148437500034,47.44135742187501]]],[[[-74.70888671874997,45.0038574218751],[-73.55810546875,45.425097656250045],[-73.1595703125,46.01005859375002],[-72.10927734374997,46.55122070312504],[-71.26118164062495,46.75625],[-70.51948242187501,47.032519531250045],[-69.47104492187503,47.96728515625006],[-68.23818359374994,48.62641601562504],[-66.17817382812493,49.21313476562503],[-64.83632812499994,49.191748046875006],[-64.2162109375,48.873632812500034],[-64.51372070312493,48.84111328124999],[-64.24609374999994,48.69111328124998],[-64.34882812500001,48.423193359375034],[-65.259423828125,48.02124023437503],[-65.92670898437495,48.188867187499994],[-66.70439453125002,48.0224609375],[-66.35961914062494,48.06064453125006],[-65.84941406250002,47.91103515625005],[-65.60722656249996,47.67001953125006],[-65.00166015624995,47.84682617187502],[-64.70322265625,47.72485351562503],[-64.91220703125003,47.36865234375003],[-65.31889648437502,47.101220703124994],[-64.831396484375,47.06079101562503],[-64.88251953124993,46.822851562500034],[-64.54150390625,46.240332031250034],[-63.91591796875002,46.165820312500045],[-63.831933593749966,46.107177734375],[-64.05639648437503,46.021337890625006],[-63.70288085937494,45.858007812500034],[-62.70068359374997,45.740576171875006],[-62.750097656250006,45.64824218750002],[-62.483056640624966,45.62182617187506],[-61.955517578124955,45.86816406249997],[-61.776513671874994,45.655615234375006],[-61.49228515624998,45.68701171875],[-61.350488281249966,45.57368164062501],[-61.28198242187494,45.441064453124994],[-61.46098632812502,45.36669921875003],[-61.03154296875002,45.29174804687506],[-63.306298828124994,44.64257812500003],[-63.60400390624997,44.68320312500006],[-63.60976562499999,44.47998046875006],[-63.999707031249926,44.64492187499999],[-64.10087890624993,44.487451171874966],[-64.1669921875,44.58666992187503],[-64.28608398437493,44.55034179687499],[-64.27568359374993,44.33408203124998],[-65.48168945312497,43.51806640625],[-65.73813476562498,43.56074218750001],[-65.88691406250001,43.79521484374999],[-66.125732421875,43.813818359375034],[-66.19306640624995,44.143847656250045],[-65.86801757812498,44.56879882812501],[-66.14638671875002,44.43593750000005],[-66.090625,44.50493164062499],[-64.44814453125,45.33745117187502],[-64.13549804687497,45.023046875],[-64.09316406249997,45.21708984375002],[-63.368017578125034,45.36479492187502],[-64.87314453124998,45.35458984375006],[-64.31464843749998,45.83569335937503],[-64.48222656250002,45.80634765624998],[-64.63271484375002,45.94663085937506],[-64.77851562499998,45.63842773437497],[-65.88447265624995,45.22290039062506],[-66.10976562500002,45.316601562499955],[-66.02656249999995,45.417578125],[-66.43984374999994,45.09589843750001],[-66.87246093749997,45.067285156249966],[-67.12485351562498,45.16943359375],[-67.366943359375,45.17377929687498],[-67.43266601562496,45.603125],[-67.80224609374994,45.7275390625],[-67.806787109375,47.08281249999999],[-68.23549804687502,47.34594726562503],[-68.93720703124998,47.21123046875002],[-69.0501953125,47.426611328125034],[-69.24287109374998,47.46298828124998],[-70.00771484375002,46.70893554687501],[-70.296240234375,45.90610351562506],[-70.86503906249999,45.27070312500001],[-71.327294921875,45.29008789062496],[-71.51752929687495,45.00756835937497],[-74.663232421875,45.00390625000003],[-74.70888671874997,45.0038574218751]]],[[[-126.09208984374995,49.35400390625003],[-126.06401367187499,49.26362304687501],[-126.22963867187498,49.29565429687506],[-126.09208984374995,49.35400390625003]]],[[[-54.55439453125001,49.5888671875],[-54.786523437499966,49.496142578125045],[-54.86357421875002,49.576074218749966],[-54.55439453125001,49.5888671875]]],[[[-54.093701171874955,49.74443359374999],[-53.98066406250001,49.66196289062498],[-54.28613281249997,49.595361328124994],[-54.27763671875002,49.71147460937502],[-54.093701171874955,49.74443359374999]]],[[[-126.64121093749999,49.605810546875006],[-126.93857421874999,49.71845703125004],[-126.92583007812497,49.837744140625006],[-126.73813476562502,49.84365234375005],[-126.64121093749999,49.605810546875006]]],[[[-61.801123046875034,49.093896484374966],[-63.04150390624994,49.224951171875034],[-64.485205078125,49.88696289062497],[-64.13144531249995,49.94165039062503],[-62.858544921874966,49.70546875000005],[-61.817138671875,49.28354492187498],[-61.69614257812495,49.139013671875006],[-61.801123046875034,49.093896484374966]]],[[[-125.18413085937497,50.09711914062498],[-125.301171875,50.4140625],[-125.07402343750002,50.22065429687501],[-125.18413085937497,50.09711914062498]]],[[[-127.19731445312495,50.640380859375],[-125.48208007812501,50.316796874999966],[-124.83061523437499,49.53007812500002],[-123.99580078125,49.22402343750002],[-123.49702148437498,48.58208007812499],[-123.38989257812501,48.67021484374999],[-123.31064453125003,48.41103515625002],[-123.57314453124995,48.32280273437499],[-123.91694335937501,48.386572265625034],[-125.12070312500002,48.76079101562496],[-124.84965820312496,49.02827148437501],[-124.81264648437497,49.212646484375],[-124.92734374999998,49.01420898437499],[-125.489453125,48.933789062499955],[-125.82851562499998,49.09184570312499],[-125.64423828125001,49.18579101562506],[-125.95166015625001,49.24804687500003],[-125.93540039062499,49.401464843750006],[-126.51914062499999,49.396777343750045],[-126.54189453125001,49.590478515624966],[-126.13408203124997,49.672314453124955],[-126.52524414062499,49.71958007812498],[-126.90332031250001,49.94414062499999],[-127.114306640625,49.879736328125034],[-127.24980468749999,50.13798828124996],[-127.34941406249995,50.05195312500001],[-127.46713867187503,50.163427734375006],[-127.86391601562495,50.12773437500002],[-127.90585937499998,50.44521484375002],[-127.48652343749998,50.404638671875034],[-127.46591796874996,50.58310546875006],[-128.05834960937494,50.498486328124955],[-128.34604492187503,50.744238281250006],[-127.91806640624998,50.86054687500001],[-127.19731445312495,50.640380859375]]],[[[-55.45874023437494,51.53652343750005],[-55.58339843749994,51.38857421875002],[-56.031103515625034,51.328369140625],[-55.8,51.033300781250034],[-56.732324218749966,50.007714843749994],[-56.822167968749966,49.613476562499955],[-56.179394531249955,50.114990234375],[-56.161279296874994,49.94013671874998],[-55.50292968749997,49.98315429687503],[-56.14018554687496,49.61914062500006],[-55.869824218749955,49.67016601562506],[-56.08730468750002,49.45195312499999],[-55.375927734374955,49.48974609374997],[-55.34384765624998,49.37290039062506],[-55.22954101562496,49.508154296875006],[-55.35317382812502,49.07944335937506],[-54.50219726562503,49.52734375],[-54.44824218749997,49.329443359375006],[-53.957714843749955,49.44184570312498],[-53.61943359374996,49.321630859375006],[-53.57343750000001,49.141210937500034],[-54.16127929687494,48.787695312500034],[-53.852880859375006,48.81132812499996],[-53.966015624999955,48.70668945312505],[-53.70634765624999,48.65551757812503],[-54.11445312499998,48.393603515625045],[-53.027587890625,48.634716796874955],[-53.1357421875,48.40185546875003],[-53.60976562500002,48.20771484375001],[-53.56943359374998,48.088085937499955],[-53.869580078124926,48.019677734374966],[-53.63823242187496,48.01464843750003],[-53.863671874999966,47.787011718749994],[-53.67236328125,47.64824218749999],[-53.28271484375,47.99785156249996],[-52.86601562499993,48.11298828124998],[-53.16982421875002,47.51210937500005],[-52.945019531249955,47.55283203124998],[-52.782421874999955,47.769433593749966],[-52.653662109375034,47.549414062500006],[-53.11484375,46.65581054687502],[-53.32304687499996,46.71835937499998],[-53.589794921874955,46.638867187499955],[-53.59736328124998,47.14599609374997],[-54.00957031249993,46.839599609375],[-54.173730468749994,46.88037109375003],[-53.84951171875002,47.440332031249994],[-53.98901367187503,47.756201171875034],[-54.191845703124955,47.85981445312501],[-54.488134765625006,47.40385742187502],[-54.47392578124996,47.54707031249998],[-54.856640624999955,47.385009765625],[-55.31572265624993,46.905712890624955],[-55.78852539062498,46.86723632812502],[-55.91923828124996,47.01689453124996],[-55.49150390624996,47.16064453125003],[-54.78461914062501,47.664746093749955],[-55.366308593750034,47.66108398437501],[-55.57612304687498,47.46523437499999],[-56.12724609374999,47.50283203125002],[-55.867089843749994,47.592333984375045],[-55.85791015625,47.81918945312498],[-56.774121093749955,47.56499023437499],[-58.33686523437501,47.73085937500002],[-59.11694335937494,47.57070312499999],[-59.32065429687498,47.736914062500006],[-59.272070312500034,47.99555664062504],[-58.330224609374994,48.52211914062502],[-59.16767578124998,48.558496093749966],[-58.84179687500003,48.74643554687498],[-58.906445312499955,48.65019531249999],[-58.716455078124994,48.59804687500002],[-58.403662109375034,49.08432617187498],[-57.99052734374996,48.987939453124966],[-58.09892578124993,49.07744140624999],[-57.98007812499998,49.229638671874994],[-58.19091796875003,49.25874023437498],[-58.21337890625,49.38666992187501],[-58.01582031249998,49.54248046874997],[-57.79130859374999,49.48999023437503],[-57.92617187499999,49.700830078124994],[-57.4326171875,50.50581054687504],[-57.179589843749966,50.614843750000034],[-57.29799804687502,50.69873046874997],[-57.03593750000002,51.01083984374998],[-56.68242187500002,51.332763671875],[-56.025585937499955,51.56835937500006],[-55.6904296875,51.471337890624994],[-55.666406249999966,51.57890624999999],[-55.45874023437494,51.53652343750005]]],[[[-127.92465820312498,51.47387695312497],[-128.14877929687498,51.62670898437503],[-128.03173828125006,51.708398437499966],[-127.92465820312498,51.47387695312497]]],[[[-79.38427734374997,51.951953125000045],[-79.64375,52.01005859374996],[-79.27128906249996,52.086816406249966],[-79.38427734374997,51.951953125000045]]],[[[-128.36875,52.40087890625],[-128.43979492187503,52.696386718750006],[-128.24726562499998,52.784375],[-128.36875,52.40087890625]]],[[[-80.73168945312494,52.74726562499998],[-82.03925781249998,53.04990234374998],[-81.84731445312494,53.18627929687497],[-81.135595703125,53.20581054687503],[-80.73168945312494,52.74726562499998]]],[[[-131.7537109375,53.195556640625],[-131.63466796874997,52.92216796874999],[-131.97177734374998,52.87983398437498],[-131.45522460937502,52.70170898437502],[-131.59057617187494,52.578222656250006],[-131.25971679687495,52.415917968749966],[-131.31992187499998,52.30307617187498],[-131.142626953125,52.291113281250034],[-131.221533203125,52.15361328124999],[-132.16508789062493,52.783300781250034],[-132.14375,52.99931640624999],[-132.54677734374997,53.1375],[-131.7537109375,53.195556640625]]],[[[-128.55244140624998,52.93974609375002],[-128.50991210937502,52.51860351562502],[-128.678955078125,52.289648437500006],[-128.74633789062494,52.763378906249955],[-128.89980468749997,52.67382812500003],[-129.175927734375,52.964941406250006],[-129.033251953125,53.27993164062505],[-128.63266601562498,53.1125],[-128.55244140624998,52.93974609375002]]],[[[-129.167724609375,53.11787109374998],[-129.32387695312502,53.142138671875045],[-129.23818359374997,53.33007812500006],[-129.167724609375,53.11787109374998]]],[[[-129.84858398437498,53.167919921874955],[-130.51757812500003,53.54423828124999],[-130.45200195312498,53.63115234375002],[-129.94472656250002,53.436376953125034],[-129.75483398437498,53.244775390624994],[-129.84858398437498,53.167919921874955]]],[[[-130.236279296875,53.95854492187502],[-130.38422851562504,53.84394531250001],[-130.703173828125,53.892236328124994],[-130.44799804687497,54.08901367187502],[-130.236279296875,53.95854492187502]]],[[[-132.65551757812503,54.12749023437496],[-132.30336914062497,54.098876953125],[-132.16611328124998,53.95522460937505],[-132.53466796875,53.651708984375034],[-132.18696289062504,53.68481445312503],[-132.134423828125,54.03427734374998],[-131.66762695312502,54.14135742187503],[-131.957421875,53.308691406250034],[-132.34726562500003,53.18920898437503],[-132.747509765625,53.310498046874955],[-132.425,53.33696289062502],[-132.84501953125,53.507714843749994],[-133.07949218749997,53.837011718750034],[-133.04838867187493,54.15893554687497],[-132.65551757812503,54.12749023437496]]],[[[-130.92714843749997,54.47905273437499],[-130.90683593750003,54.63178710937504],[-130.75800781249998,54.61376953125],[-130.92714843749997,54.47905273437499]]],[[[-130.57534179687497,54.769677734374966],[-130.2140625,55.02587890625003],[-130.34941406249996,54.814550781250034],[-130.57534179687497,54.769677734374966]]],[[[-79.97758789062499,56.20703125000006],[-80.057470703125,56.28735351562497],[-79.57973632812502,56.466357421875045],[-79.97758789062499,56.20703125000006]]],[[[-78.93559570312496,56.26606445312498],[-79.17548828124998,55.88505859374999],[-79.18212890625,56.21215820312503],[-79.4951171875,55.87475585937503],[-79.76474609374995,55.80678710937505],[-79.54472656249999,56.12836914062501],[-79.9875,55.89213867187502],[-79.45888671875,56.53974609374998],[-79.53632812499995,56.180078124999966],[-79.27241210937493,56.600439453125006],[-78.93559570312496,56.26606445312498]]],[[[-61.743603515624955,57.55458984375005],[-61.6375,57.41606445312499],[-62.01123046875003,57.54848632812505],[-61.743603515624955,57.55458984375005]]],[[[-79.71650390624998,57.515527343749994],[-79.80844726562498,57.44243164062502],[-79.74257812499997,57.60795898437499],[-79.71650390624998,57.515527343749994]]],[[[-69.16005859375,59.04023437500001],[-69.35283203125002,58.96074218749999],[-69.30322265625003,59.144873046875006],[-69.16005859375,59.04023437500001]]],[[[-64.40703125,60.367089843749966],[-64.44194335937496,60.2978515625],[-64.73793945312497,60.37563476562502],[-64.83642578124997,60.50102539062499],[-64.40703125,60.367089843749966]]],[[[-68.23378906250002,60.24091796875001],[-68.36787109374998,60.314746093750045],[-68.08759765624998,60.58784179687501],[-67.81884765624994,60.449511718750074],[-68.23378906250002,60.24091796875001]]],[[[-78.531640625,60.72856445312499],[-78.66889648437498,60.716894531250006],[-78.24169921875,60.818652343750045],[-78.531640625,60.72856445312499]]],[[[-64.83261718749998,61.366064453125006],[-65.43212890625,61.649511718750034],[-64.78964843750003,61.662207031250034],[-64.83261718749998,61.366064453125006]]],[[[-65.03056640624999,61.879052734374966],[-64.89658203124995,61.73330078125005],[-65.23535156249997,61.89770507812506],[-65.03056640624999,61.879052734374966]]],[[[-79.54531250000002,62.41171875000006],[-79.28647460937495,62.247656250000034],[-79.32392578124995,62.02607421875001],[-79.81611328124995,61.59462890625002],[-80.26518554687496,61.818212890625006],[-80.26005859374996,62.10903320312502],[-79.9267578125,62.39287109375002],[-79.54531250000002,62.41171875000006]]],[[[-64.82382812499998,62.558740234374994],[-64.46503906249998,62.535937500000045],[-64.47832031250002,62.417871093749966],[-64.901220703125,62.421044921874994],[-64.82382812499998,62.558740234374994]]],[[[-70.33706054687497,62.548730468749994],[-70.76606445312498,62.596875],[-71.22011718750002,62.873925781249966],[-70.44262695312497,62.73378906250002],[-70.33706054687497,62.548730468749994]]],[[[-82.00048828124997,62.95419921874998],[-82.02583007812498,62.73007812499998],[-82.56826171875002,62.403222656249994],[-83.01582031249998,62.20991210937498],[-83.69887695312497,62.16025390624998],[-83.91049804687498,62.45415039062499],[-83.37641601562498,62.904931640624994],[-82.00048828124997,62.95419921874998]]],[[[-77.87670898437497,63.470556640625034],[-77.53271484374997,63.233642578125],[-77.94243164062496,63.11440429687502],[-78.536767578125,63.423730468749994],[-77.87670898437497,63.470556640625034]]],[[[-76.67758789062503,63.393945312499966],[-77.36474609374994,63.588330078124955],[-77.13369140624997,63.68203125000002],[-76.65244140624998,63.503564453124994],[-76.67758789062503,63.393945312499966]]],[[[-84.91962890624995,65.26108398437503],[-84.50112304687497,65.45844726562501],[-84.08486328125,65.21782226562502],[-82.05,64.64428710937506],[-81.67612304687498,64.21264648437503],[-81.88710937499997,64.01640625000002],[-80.82895507812495,64.08994140625],[-80.30205078124999,63.76220703125003],[-81.04638671875003,63.461572265624966],[-82.378125,63.706787109375],[-82.46708984375002,63.92695312500001],[-83.30395507812497,64.14379882812506],[-84.63291015625,63.30922851562502],[-85.39262695312496,63.119677734375045],[-85.76894531249997,63.70034179687502],[-87.15190429687499,63.58564453125001],[-86.93203124999997,63.90166015625002],[-86.252099609375,64.13686523437497],[-86.37426757812503,64.56582031249997],[-86.074609375,65.533837890625],[-85.55468750000003,65.91865234374995],[-85.17622070312501,65.746875],[-85.23994140624993,65.51030273437499],[-84.91962890624995,65.26108398437503]]],[[[-84.67475585937498,65.575],[-85.096337890625,65.756201171875],[-85.14960937500001,66.01538085937506],[-84.75737304687496,65.85893554687505],[-84.67475585937498,65.575]]],[[[-83.72597656249997,65.796728515625],[-83.23374023437495,65.71503906249995],[-83.332421875,65.63105468749998],[-84.11826171874995,65.77177734375007],[-84.40717773437501,66.13100585937497],[-83.78696289062495,65.96577148437498],[-83.72597656249997,65.796728515625]]],[[[-108.09272460937501,67.00517578124999],[-107.80551757812493,66.99858398437507],[-107.94394531249999,66.8578125],[-108.09272460937501,67.00517578124999]]],[[[-62.681542968749966,67.05629882812502],[-62.87163085937499,67.06259765625006],[-62.41679687499996,67.18847656250003],[-62.681542968749966,67.05629882812502]]],[[[-107.89985351562497,67.40180664062495],[-107.95024414062503,67.31821289062498],[-108.15224609374997,67.429443359375],[-108.04897460937498,67.664892578125],[-107.89985351562497,67.40180664062495]]],[[[-73.621728515625,67.783837890625],[-74.573388671875,67.82866210937507],[-74.70654296875003,68.06708984374995],[-73.49375,68.00063476562502],[-73.40717773437498,67.79306640625],[-73.621728515625,67.783837890625]]],[[[-86.59555664062498,67.7359375],[-86.89252929687498,67.836572265625],[-86.95981445312503,68.10024414062497],[-86.70209960937501,68.30561523437498],[-86.42114257812497,68.18344726562503],[-86.59555664062498,67.7359375]]],[[[-75.67587890624998,68.32250976562506],[-75.078125,68.17314453124999],[-75.20195312499996,67.45917968750001],[-75.78007812499996,67.28354492187503],[-76.94418945312498,67.25029296875002],[-77.30439453125001,67.68510742187505],[-77.12587890624997,67.94707031250002],[-76.59580078124998,68.27895507812497],[-75.67587890624998,68.32250976562506]]],[[[-78.98271484374999,68.19282226562501],[-79.17475585937493,68.26445312500002],[-78.95258789062495,68.35302734375006],[-78.98271484374999,68.19282226562501]]],[[[-104.54067382812497,68.405908203125],[-105.05136718749999,68.55903320312501],[-104.60200195312503,68.56152343749997],[-104.54067382812497,68.405908203125]]],[[[-74.880859375,68.34868164062505],[-75.40024414062503,68.52548828125],[-75.28740234374996,68.68774414062503],[-74.98364257812497,68.64760742187502],[-74.880859375,68.34868164062505]]],[[[-101.84589843749994,68.58632812499997],[-102.30815429687497,68.681982421875],[-102.01337890624995,68.82539062500001],[-101.73295898437495,68.75341796875],[-101.84589843749994,68.58632812499997]]],[[[-100.21723632812497,68.80668945312502],[-100.59653320312496,68.76640625000007],[-100.56547851562495,69.02680664062501],[-100.21723632812497,68.80668945312502]]],[[[-99.99467773437502,69.01352539062503],[-100.19570312500002,68.991455078125],[-100.153125,69.12949218750003],[-99.99467773437502,69.01352539062503]]],[[[-79.21064453124995,68.845458984375],[-79.24267578125,69.04926757812495],[-78.33256835937496,69.38603515624999],[-78.77919921875,68.95048828124999],[-79.21064453124995,68.845458984375]]],[[[-90.1998046875,69.419091796875],[-90.33027343749993,69.252197265625],[-90.49204101562503,69.369873046875],[-90.1998046875,69.419091796875]]],[[[-76.99536132812503,69.14375],[-77.37939453125,69.2740234375],[-77.18754882812502,69.440087890625],[-76.66884765625002,69.36616210937504],[-76.99536132812503,69.14375]]],[[[-101.171728515625,69.39707031250003],[-101.31289062499998,69.57607421875],[-101.00063476562497,69.4619140625],[-101.171728515625,69.39707031250003]]],[[[-95.51367187499997,69.57363281250002],[-95.43745117187498,69.37846679687505],[-95.73012695312502,69.34755859374997],[-95.80620117187499,69.56049804687501],[-95.89345703125,69.35175781250004],[-95.87583007812495,69.60600585937505],[-95.51367187499997,69.57363281250002]]],[[[-67.91469726562494,69.54096679687504],[-68.22138671874998,69.61674804687502],[-67.908837890625,69.68183593749995],[-67.91469726562494,69.54096679687504]]],[[[-78.02910156249993,69.71489257812502],[-78.03999023437495,69.6083984375],[-78.84819335937502,69.4828125],[-78.02910156249993,69.71489257812502]]],[[[-79.43066406250003,69.78779296874995],[-79.55283203124995,69.63085937500006],[-80.04750976562502,69.63432617187505],[-79.97783203124993,69.50966796874997],[-80.794775390625,69.68925781250005],[-80.42421875000002,69.797607421875],[-79.43066406250003,69.78779296874995]]],[[[-97.439453125,69.64267578125006],[-96.29995117187494,69.34438476562505],[-95.7513671875,68.89765624999998],[-95.26777343749998,68.82607421874997],[-96.40156249999995,68.47070312500003],[-97.47202148437498,68.543701171875],[-98.320556640625,68.84272460937498],[-98.70380859374993,68.80278320312502],[-98.90449218749995,68.93242187500005],[-99.25400390625002,68.86318359374997],[-99.49467773437493,68.95957031249998],[-99.455712890625,69.13120117187503],[-98.45595703124997,69.33466796875001],[-98.54599609375,69.57290039062497],[-98.04135742187498,69.456640625],[-98.20048828124996,69.79697265625006],[-97.79072265624998,69.86162109374999],[-97.439453125,69.64267578125006]]],[[[-86.91303710937501,70.11323242187501],[-86.55766601562499,69.99531249999995],[-87.3232421875,70.08012695312502],[-86.91303710937501,70.11323242187501]]],[[[-74.70888671874997,45.0038574218751],[-74.76245117187494,44.99907226562502],[-74.99614257812496,44.970117187499966],[-75.40126953124997,44.77226562499999],[-75.81933593749997,44.468017578125],[-76.18579101562503,44.24223632812502],[-76.819970703125,43.62880859375011],[-77.59653320312492,43.62861328125007],[-78.45825195312497,43.63149414062511],[-78.72041015624993,43.62495117187501],[-78.84555664062492,43.58334960937506],[-79.171875,43.466552734375085],[-79.0830566406249,43.33139648437509],[-79.05922851562494,43.27807617187506],[-79.066064453125,43.10610351562502],[-79.02617187499996,43.01733398437506],[-78.98076171874993,42.98061523437502],[-78.91508789062496,42.90913085937504],[-79.17373046875,42.74853515625],[-80.24755859374991,42.366015625000045],[-81.02822265624997,42.247167968750006],[-81.50732421874997,42.10346679687504],[-81.97416992187496,41.88872070312499],[-82.43906249999989,41.6748535156251],[-82.69003906249995,41.675195312499994],[-83.141943359375,41.97587890624996],[-83.10952148437497,42.25068359375001],[-82.54531249999997,42.62470703124998],[-82.19038085937495,43.47407226562501],[-82.137841796875,43.570898437500034],[-82.48505859374993,45.08374023437503],[-82.55107421874987,45.3473632812501],[-82.91933593749994,45.51796875000002],[-83.59267578125,45.81713867187506],[-83.46948242187503,45.99467773437499],[-83.61596679687503,46.116845703124994],[-83.97778320312494,46.08491210937507],[-84.12319335937497,46.50292968749997],[-84.44047851562496,46.49814453125006],[-84.66577148437503,46.54326171875002],[-84.87597656249994,46.89990234375003],[-85.07006835937497,46.97993164062498],[-85.65224609375,47.21997070312503],[-86.67216796874996,47.636425781249955],[-87.20800781249997,47.848486328125006],[-87.74389648437497,48.06054687500003],[-88.37817382812497,48.30307617187506],[-89.45566406249992,47.99624023437508],[-90.79731445312495,48.13105468750001],[-91.04345703124991,48.19370117187498],[-91.38720703124997,48.05854492187498],[-92.00517578125002,48.301855468750006],[-92.3484375,48.276611328125],[-92.41459960937493,48.276611328125],[-92.50058593749995,48.43535156250002],[-92.83671875,48.567773437499994],[-93.25795898437497,48.62885742187501],[-93.37788085937498,48.61655273437498],[-93.70771484374995,48.525439453125074],[-93.85161132812496,48.607275390625034],[-94.6208984374999,48.7426269531251],[-94.71279296874997,48.863427734374994],[-94.80346679687497,49.0029296875],[-94.86040039062493,49.258593750000045],[-94.85434570312495,49.304589843749994],[-95.15527343749997,49.3696777343751],[-95.16206054687493,48.991748046875045],[-95.39790039062493,48.99316406249997],[-96.25068359374993,48.99316406249997],[-96.67705078124993,48.99316406249997],[-97.52983398437493,48.99316406249997],[-98.80898437499995,48.99316406249997],[-104.77832031249997,48.993115234375125],[-110.7476562499999,48.993066406250136],[-116.71704101562493,48.993066406250136],[-118.84892578124993,48.993066406250136],[-119.27534179687494,48.993066406250136],[-119.70170898437495,48.99301757812495],[-120.98085937499995,48.99301757812495],[-122.78876953124994,48.99301757812495],[-122.82670898437495,49.028417968750034],[-122.9241699218749,49.07465820312504],[-122.96269531249993,49.07460937500005],[-123.06328125,48.97773437500001],[-123.22944335937493,49.260498046875085],[-122.87910156249995,49.39892578125003],[-123.27675781249997,49.34394531250001],[-123.1875,49.680322265624994],[-123.53056640624989,49.39731445312506],[-124.02861328125002,49.602880859375006],[-123.99262695312497,49.736181640625006],[-123.81718749999993,49.58657226562508],[-123.58247070312498,49.68125],[-123.87441406250005,49.736816406250114],[-123.82543945312493,50.14423828124998],[-123.94589843749995,50.18393554687509],[-123.9849121093749,49.87558593749998],[-124.28125,49.77211914062502],[-124.78237304687492,50.02011718749992],[-125.05668945312495,50.418652343750125],[-124.8598632812499,50.872412109375006],[-125.05878906249993,50.51386718749998],[-125.4763183593749,50.49716796874995],[-125.53935546874996,50.64902343749998],[-125.64130859374994,50.46621093750005],[-126.09433593749995,50.497607421875045],[-126.44746093750004,50.58774414062492],[-125.90410156250002,50.704931640625006],[-126.51435546875,50.679394531250125],[-126.37460937499995,50.83735351562498],[-126.5217773437499,50.86606445312498],[-126.51733398437497,51.0568359375001],[-126.63178710937494,50.915136718750006],[-127.057568359375,50.86752929687509],[-127.70810546875,51.15117187499996],[-127.41967773437496,51.608056640625136],[-126.69145507812502,51.70341796875002],[-127.33872070312489,51.70737304687495],[-127.66870117187497,51.47758789062502],[-127.85053710937498,51.67319335937509],[-127.79536132812493,52.19101562500006],[-127.43793945312504,52.356152343750125],[-127.24223632812496,52.39511718750009],[-126.71396484374989,52.060693359374994],[-127.19399414062498,52.45766601562502],[-126.95136718749994,52.7510253906251],[-127.01933593750002,52.8424804687501],[-127.06621093749989,52.65268554687498],[-127.79189453124994,52.28935546875002],[-128.10224609374993,51.78842773437495],[-128.3576171875,52.1588867187501],[-128.0375,52.318164062500045],[-127.94023437499996,52.545166015625085],[-128.27153320312493,52.3629882812501],[-128.05327148437487,52.91069335937496],[-128.3650390624999,52.82578125000006],[-128.52470703125002,53.1406738281251],[-129.08090820312492,53.36728515625006],[-129.1715820312499,53.53359375000002],[-128.8545898437499,53.70454101562504],[-128.90561523437492,53.559326171875114],[-128.5421386718749,53.420654296875114],[-128.13271484375002,53.417773437500045],[-127.92783203125,53.274707031250045],[-128.2072265624999,53.483203125000074],[-128.67553710937494,53.55458984375005],[-128.76367187500003,53.746875],[-128.5321289062499,53.85810546875007],[-128.959375,53.84145507812505],[-129.2578613281249,53.417968750000085],[-129.56372070312506,53.251464843750114],[-130.33525390625002,53.723925781250074],[-130.04331054687495,54.13354492187503],[-129.62602539062493,54.23027343750002],[-130.08422851562503,54.18139648437503],[-130.4302734375,54.42099609374998],[-129.56064453124995,55.46254882812508],[-129.79516601562503,55.559570312500114],[-130.04848632812494,55.05727539062511],[-130.01406249999997,55.950537109375006],[-130.09785156249995,56.10927734375002],[-130.41313476562487,56.12250976562507],[-130.47709960937496,56.230566406250034],[-130.649072265625,56.26367187500003],[-131.471875,56.55673828125006],[-131.82426757812496,56.58999023437508],[-131.86616210937495,56.792822265625006],[-132.1042968749999,56.85678710937509],[-132.062890625,56.95336914062503],[-132.33798828124992,57.07944335937498],[-132.27939453124998,57.14536132812506],[-132.23217773437494,57.198535156250074],[-132.30166015625005,57.2763183593751],[-132.44248046874986,57.40673828125003],[-132.55048828124995,57.499902343749994],[-133.00141601562495,57.948974609375],[-133.27529296875,58.22285156250004],[-133.54638671874997,58.50346679687499],[-134.21850585937503,58.849902343750045],[-134.32963867187505,58.93969726562506],[-134.39306640625,59.009179687499994],[-134.67724609374997,59.19926757812499],[-134.94375,59.28828125000001],[-135.05102539062491,59.57866210937502],[-135.36787109374998,59.743310546874994],[-135.70258789062504,59.72875976562506],[-136.3218261718749,59.604833984375034],[-136.27797851562494,59.48032226562506],[-136.46635742187493,59.459082031250006],[-136.57875976562494,59.15224609375002],[-136.81328125000002,59.15004882812511],[-137.12622070312491,59.04096679687507],[-137.2775390624999,58.988183593749994],[-137.43857421874995,58.903125],[-137.52089843749994,58.91538085937506],[-137.59331054687493,59.22626953124998],[-138.317626953125,59.611132812500074],[-138.86875,59.94575195312501],[-139.18515624999986,60.083593750000034],[-139.13696289062494,60.17270507812506],[-139.07924804687497,60.279443359375136],[-139.07924804687497,60.3437011718751],[-139.23476562499997,60.339746093749994],[-139.67631835937505,60.32832031249998],[-139.97329101562497,60.183154296875074],[-140.45283203125004,60.29970703125002],[-140.5254394531249,60.21835937499995],[-140.76274414062505,60.25913085937509],[-141.00214843750004,60.300244140625125],[-141.00214843750004,60.884667968749994],[-141.00214843750004,61.761279296875045],[-141.00214843750004,63.22226562499998],[-141.00214843750004,64.09887695312506],[-141.00214843750004,65.55991210937498],[-141.00214843750004,66.43652343750006],[-141.00214843750004,67.89755859374998],[-141.00214843750004,68.77416992187506],[-141.00214843750004,69.65078125000011],[-139.18154296874997,69.51552734375008],[-137.25996093749998,68.96411132812503],[-136.12236328124993,68.88222656250002],[-135.258837890625,68.68432617187503],[-135.93901367187487,68.9741699218751],[-135.575537109375,69.02695312500003],[-135.91020507812487,69.11147460937502],[-135.6914550781249,69.31118164062502],[-135.29282226562486,69.30786132812506],[-135.1408203124999,69.46782226562496],[-134.45683593749993,69.47763671875],[-134.40893554687494,69.68178710937502],[-133.87978515624997,69.50771484375011],[-134.17431640624991,69.25283203125005],[-133.16313476562496,69.43388671874999],[-132.91533203125002,69.62963867187506],[-132.40390625,69.65874023437496],[-132.48847656249993,69.73808593749996],[-132.16342773437498,69.70498046875014],[-131.13637695312497,69.90688476562505],[-130.66547851562495,70.12705078124998],[-129.944970703125,70.09091796875006],[-129.675634765625,70.19296875000009],[-129.64829101562495,69.9977539062501],[-130.83208007812487,69.65146484375006],[-131.9377929687499,69.5347167968751],[-132.8174804687499,69.20576171875004],[-133.41831054687492,68.84428710937493],[-133.138037109375,68.74658203125011],[-133.33666992187497,68.83525390625005],[-132.57763671874997,68.84780273437514],[-132.71894531249998,69.07919921875],[-131.78837890625002,69.43198242187495],[-131.32470703124997,69.36118164062509],[-131.06342773437504,69.45068359375003],[-130.97065429687495,69.20908203125],[-130.1176269531249,69.720068359375],[-128.89892578124994,69.96616210937506],[-129.15791015624995,69.80009765624999],[-129.05434570312502,69.70107421875005],[-128.85302734375003,69.7510253906251],[-127.68378906249994,70.26035156249995],[-128.17011718749998,70.41845703125],[-127.99101562499992,70.57382812500003],[-127.22597656249992,70.29614257812497],[-126.25043945312495,69.54526367187492],[-125.52495117187495,69.35156250000009],[-125.171875,69.42797851562503],[-125.35693359374991,69.62597656250003],[-124.767919921875,69.99003906249996],[-124.99038085937494,70.02661132812511],[-124.55502929687488,70.15122070312509],[-124.40693359374991,69.76743164062506],[-124.12460937499995,69.6899902343751],[-124.33808593749991,69.36484374999995],[-123.5284179687499,69.38935546874995],[-123.02578125,69.81000976562504],[-122.07006835937499,69.81616210937506],[-120.96245117187502,69.66040039062511],[-120.13999023437488,69.38056640625013],[-117.22695312499998,68.913427734375],[-116.05947265625,68.83701171875006],[-116.2434082031249,68.9740722656251],[-115.44228515624994,68.94091796875009],[-114.62016601562496,68.74609375],[-113.96440429687495,68.39907226562502],[-114.09594726562491,68.26679687500007],[-114.76528320312494,68.27021484375004],[-115.12705078124992,68.13203124999995],[-115.43447265624994,67.90234375000006],[-115.13320312499994,67.819189453125],[-112.50302734374993,67.6819335937501],[-110.9900390624999,67.79082031250007],[-110.07392578124995,67.99291992187506],[-109.63037109374991,67.73271484374996],[-109.03803710937504,67.69116210937503],[-108.85200195312497,67.42197265625009],[-108.61333007812493,67.59804687500008],[-107.98872070312495,67.2563964843751],[-107.99130859374995,67.09516601562513],[-108.49604492187493,67.09228515625006],[-107.25947265624998,66.39853515624995],[-107.71035156250001,66.74003906250007],[-107.7250976562499,66.98413085937506],[-107.15649414062497,66.88173828124997],[-107.9583984375,67.81860351562506],[-107.79829101562498,68.03691406249996],[-106.42426757812491,68.20058593750008],[-105.7501953125,68.59228515625011],[-106.45805664062496,68.51645507812495],[-106.60849609374988,68.35737304687504],[-107.61933593749994,68.3310546875],[-107.73417968749989,68.17373046875011],[-108.3228027343749,68.15410156250002],[-108.71811523437488,68.29746093750009],[-108.31347656249996,68.61079101562498],[-106.16445312499992,68.91987304687507],[-105.68559570312489,68.82817382812505],[-105.3774414062499,68.413818359375],[-104.65317382812488,68.23007812500003],[-104.48681640624991,68.06318359374998],[-103.47412109374993,68.11503906250005],[-102.32036132812489,67.73564453125005],[-101.55498046874992,67.69316406250007],[-100.21293945312489,67.83857421875004],[-98.92045898437502,67.72578124999998],[-98.41210937499991,67.80717773437505],[-98.63154296875004,68.0725585937501],[-97.45493164062486,67.61699218750002],[-97.20654296874989,67.85507812500003],[-97.73911132812495,67.97817382812505],[-98.19252929687494,67.92299804687502],[-98.65048828124989,68.36352539062506],[-98.21855468750002,68.31743164062507],[-97.7942382812499,68.38759765625],[-97.9250976562499,68.523681640625],[-97.41035156249993,68.49653320312498],[-96.97670898437497,68.25541992187505],[-96.43066406249991,68.3105957031251],[-96.72207031250005,68.03876953124998],[-95.9703125,68.24912109375],[-96.36914062499991,67.50976562500003],[-96.14145507812489,67.27182617187503],[-95.71992187499998,67.31679687500014],[-95.77768554687495,67.18461914062505],[-95.41591796875005,67.15556640624999],[-95.41889648437504,67.01323242187493],[-96.42255859374995,67.05175781249997],[-95.7875488281249,66.616796875],[-96.03686523437489,66.9375],[-95.39965820312503,66.94946289062509],[-95.25874023437493,67.26254882812492],[-95.65048828124986,67.73745117187505],[-95.46069335937503,68.02138671875],[-94.74443359374993,68.07089843749995],[-93.44892578124998,68.61889648437503],[-93.85244140624994,69.00034179687495],[-94.06489257812495,68.78476562500006],[-94.600439453125,68.80322265625011],[-94.08364257812497,69.12309570312507],[-94.254736328125,69.31376953125002],[-93.61948242187492,69.41699218750009],[-93.74853515624991,69.2261230468751],[-93.5322753906249,69.48090820312495],[-94.2708007812499,69.45512695312505],[-94.63383789062496,69.64965820312506],[-94.82250976562494,69.577783203125],[-95.96494140624989,69.80278320312499],[-96.5513671875,70.21030273437506],[-96.29770507812492,70.51137695312511],[-95.87861328124998,70.54897460937514],[-95.88632812499986,70.69428710937507],[-96.25800781249993,70.64228515625013],[-96.54892578124995,70.80874023437511],[-96.44658203124996,71.23989257812502],[-96.06201171874997,71.41386718749993],[-95.5642578124999,71.33676757812503],[-95.40625,71.49165039062498],[-95.87231445312494,71.57314453125005],[-94.73486328124994,71.98295898437507],[-94.30834960937491,71.76489257812506],[-93.74628906249998,71.742822265625],[-92.94868164062493,71.26210937500011],[-92.98144531249994,70.8522460937501],[-91.56406249999995,70.1782714843751],[-92.32050781250004,70.2353515625],[-92.51186523437494,70.10385742187503],[-91.976708984375,70.03867187500009],[-92.88779296874989,69.66821289062511],[-92.31166992187494,69.67290039062499],[-91.91196289062495,69.53125],[-91.20180664062494,69.64477539062494],[-91.43994140624997,69.52568359375002],[-90.4155761718749,69.45698242187507],[-90.89228515625004,69.26728515624995],[-91.23720703125005,69.28554687500014],[-90.47900390624994,68.88115234374999],[-90.57363281250005,68.47470703124998],[-90.20478515625004,68.25747070312511],[-89.27954101562491,69.25546875000003],[-88.22353515625,68.91503906249997],[-87.81357421874986,68.34570312499997],[-87.89267578125,68.24814453125],[-88.34697265624993,68.28828125000001],[-88.313818359375,67.95034179687508],[-87.359375,67.17724609374997],[-86.56079101562491,67.48212890625007],[-85.64316406249992,68.69970703124997],[-84.86757812499994,68.77333984375005],[-85.10664062499995,68.84404296875007],[-84.86220703125,69.07397460937503],[-85.38676757812493,69.23188476562504],[-85.50737304687487,69.84526367187493],[-82.61835937499993,69.69106445312514],[-82.39023437499989,69.60087890625007],[-82.75483398437493,69.49438476562506],[-82.30986328124996,69.41000976562509],[-82.22753906249997,69.24887695312495],[-81.37783203125005,69.18564453125003],[-81.95791015624991,68.88364257812498],[-81.38090820312496,68.85004882812504],[-81.28154296874987,68.65722656250003],[-81.91484374999993,68.4587890625001],[-82.55268554687504,68.44648437500007],[-82.22241210937489,68.145263671875],[-82.0125,68.19389648437496],[-81.97646484374997,67.86201171875001],[-81.2943359375,67.497412109375],[-81.46757812499996,67.0698730468751],[-83.40644531249998,66.37124023437508],[-84.53847656249994,66.97280273437505],[-84.84575195312502,67.02871093750008],[-85.11372070312498,66.90693359375013],[-84.73774414062504,66.93359375000006],[-84.223046875,66.68247070312506],[-83.86904296875,66.2135742187501],[-84.29306640624995,66.29179687500005],[-84.628076171875,66.20771484374998],[-85.603857421875,66.56826171875005],[-86.708154296875,66.52304687500009],[-86.68510742187502,66.36040039062499],[-85.95874023437491,66.11904296875002],[-87.45288085937503,65.33896484375009],[-87.96997070312503,65.34892578124999],[-89.7494140625,65.93603515625006],[-89.88969726562487,65.86855468749997],[-91.42724609374994,65.94790039062497],[-91.04111328124989,65.82983398437509],[-90.98344726562496,65.91923828124999],[-89.92407226562497,65.78027343750011],[-88.97402343749994,65.34829101562502],[-87.02753906249995,65.19809570312498],[-88.10561523437497,64.18330078125001],[-88.81772460937489,63.99223632812499],[-89.20063476562493,64.11376953125006],[-89.13154296874998,63.96850585937494],[-89.61582031249995,64.030615234375],[-89.8113281249999,64.18056640625],[-90.04165039062494,64.14086914062509],[-89.85571289062497,63.9569824218751],[-90.16816406250004,63.978759765625085],[-90.15473632812498,63.68964843749998],[-90.81191406249991,63.580908203125034],[-91.98222656249996,63.82241210937502],[-92.33842773437496,63.787646484375045],[-93.69633789062493,64.14716796875013],[-93.55981445312491,63.865283203125074],[-93.27021484374998,63.840869140625074],[-93.37851562499992,63.94848632812497],[-92.15688476562491,63.691699218750045],[-92.46508789062491,63.55507812500011],[-91.84184570312496,63.69755859374999],[-90.97006835937489,63.442773437500136],[-90.69858398437492,63.06386718750005],[-91.44897460937503,62.804052734375034],[-92.3612792968749,62.81938476562496],[-91.93583984374993,62.59238281250009],[-92.55141601562491,62.546728515625034],[-92.76596679687492,62.34995117187509],[-92.52797851562494,62.16840820312504],[-93.20537109374993,62.364941406250125],[-92.90551757812503,62.21513671874996],[-93.3330566406249,61.93291015625002],[-93.58178710937494,61.94204101562511],[-93.31201171874997,61.76728515625004],[-93.91274414062497,61.48144531250006],[-94.509375,60.60454101562493],[-94.76171874999991,60.498242187500125],[-94.78828124999998,59.26787109374993],[-94.95732421874996,59.068847656250085],[-94.28706054687493,58.716015625000125],[-94.33222656249998,58.297363281250114],[-94.12319335937494,58.73671875000008],[-93.1787597656249,58.72563476562496],[-92.43281249999993,57.3203125],[-92.7981445312499,56.921972656250034],[-90.89746093750003,57.25693359375006],[-88.94848632812489,56.85131835937503],[-88.07509765624997,56.46728515624994],[-87.48242187499991,56.021289062500045],[-85.55932617187491,55.54018554687508],[-85.21801757812491,55.348974609375034],[-85.3652832031249,55.07929687499998],[-85.06093749999997,55.285644531250085],[-83.91059570312493,55.314648437499955],[-82.39326171874998,55.067822265625125],[-82.219384765625,54.8134765625],[-82.42416992187486,54.2445800781251],[-82.14145507812492,53.81762695312497],[-82.29155273437496,53.03071289062507],[-81.5994140624999,52.432617187500085],[-81.82788085937489,52.22421875000009],[-81.46621093749994,52.204492187500136],[-80.588037109375,51.667236328125114],[-80.4433105468749,51.38857421875002],[-80.85122070312497,51.125],[-80.47832031249993,51.30732421874998],[-80.10356445312487,51.282861328125136],[-79.34790039062494,50.76264648437504],[-79.737451171875,51.186279296875],[-79.33867187500002,51.62817382812497],[-79.04052734375003,51.46376953125005],[-78.90317382812495,51.200292968750034],[-78.73134765624994,51.497460937499994],[-78.98164062499993,51.774560546875136],[-78.44809570312495,52.26137695312502],[-78.74414062499994,52.65537109374998],[-79.10034179687497,53.65664062500005],[-78.99604492187493,54.00249023437499],[-79.241796875,54.098876953125085],[-79.14672851562491,54.16923828125002],[-79.71235351562495,54.6718261718751],[-77.77529296874994,55.291259765625],[-76.60405273437496,56.19956054687495],[-76.52558593749998,56.8917968750001],[-76.80981445312497,57.65795898437506],[-77.15678710937496,58.018896484375034],[-78.51508789062493,58.68237304687503],[-77.76069335937498,59.38002929687505],[-77.72617187499995,59.67587890624992],[-77.34907226562495,59.57895507812509],[-77.48530273437493,59.684570312500114],[-77.28920898437494,60.0220214843751],[-77.58588867187498,60.088183593750074],[-77.45288085937497,60.1458007812501],[-77.6814453124999,60.427099609375034],[-77.503564453125,60.54272460937497],[-77.7908203124999,60.63984375000004],[-77.58955078124993,60.808593750000114],[-78.18134765624995,60.81914062499996],[-77.51435546874998,61.55629882812505],[-78.02138671874997,61.8320800781251],[-78.13339843749986,62.28227539062496],[-77.372412109375,62.572509765625114],[-75.81689453124991,62.31586914062507],[-75.7898437499999,62.17958984375002],[-75.3412109375,62.312109375],[-74.63256835937497,62.115673828125125],[-74.6458007812499,62.21113281250004],[-73.70507812499991,62.47314453124994],[-72.68696289062498,62.12456054687499],[-72.771630859375,61.840429687500006],[-72.50556640624998,61.922656250000074],[-72.22612304687487,61.83159179687499],[-72.04003906249991,61.68027343750006],[-72.21586914062502,61.58725585937495],[-71.86611328125,61.68852539062499],[-71.63828124999995,61.6171875],[-71.85439453124991,61.43979492187492],[-71.42270507812489,61.158935546875085],[-70.27929687499991,61.06865234374999],[-69.99243164062491,60.8564941406251],[-69.50332031249994,61.04042968750011],[-69.40473632812493,60.84677734375009],[-69.75947265624998,60.440234375000045],[-69.67373046874994,60.07587890625007],[-70.65483398437496,60.02622070312506],[-69.73393554687493,59.918017578125045],[-69.68188476562489,59.34174804687507],[-69.3440429687499,59.303076171875006],[-69.53164062499994,58.86923828125009],[-69.64838867187493,58.82080078125],[-69.78417968749994,58.95571289062511],[-70.15434570312496,58.76059570312498],[-69.78989257812486,58.689306640625034],[-69.27109374999986,58.88393554687505],[-68.69819335937495,58.904541015625],[-68.38115234374993,58.74350585937506],[-68.22939453124994,58.48457031250007],[-68.35654296874989,58.163232421875136],[-69.04082031249996,57.902490234375136],[-68.41357421874997,58.0517578125],[-68.02104492187493,58.48530273437504],[-67.88828124999989,58.29575195312495],[-68.06386718750005,58.13896484374999],[-67.75595703124992,58.4045898437501],[-67.6782714843749,57.99111328125008],[-67.5696289062499,58.21347656250006],[-66.72216796874991,58.49101562499996],[-66.36240234374989,58.791162109374994],[-66.0023925781249,58.43120117187502],[-66.04306640624995,58.82065429687495],[-65.72099609374996,59.02377929687495],[-65.38354492187494,59.06020507812508],[-65.7,59.21333007812501],[-65.4117187499999,59.31499023437496],[-65.47509765624994,59.47031249999998],[-65.03823242187494,59.38789062500007],[-65.40742187499993,59.53935546875002],[-65.4333984374999,59.776513671874994],[-65.02817382812495,59.77070312500007],[-65.17172851562489,59.90800781249996],[-64.81733398437498,60.3310546875],[-64.49941406250005,60.26826171875001],[-64.41958007812494,60.17138671874997],[-64.76845703124997,60.01210937500005],[-64.28349609374993,60.06406249999998],[-64.22631835937491,59.741210937500085],[-64.05605468750005,59.82255859374996],[-63.7501953124999,59.51259765625005],[-63.945458984374994,59.380175781250074],[-63.775878906249915,59.277148437500045],[-63.539892578124864,59.332861328125034],[-63.41513671874995,59.194384765625074],[-63.97114257812498,59.053808593750034],[-63.24843749999991,59.068310546874955],[-63.28212890624994,58.86738281250007],[-63.05029296874997,58.87817382812494],[-62.87387695312489,58.67246093749998],[-63.537060546874926,58.329931640625006],[-63.209960937499886,58.46694335937502],[-62.593847656249864,58.47402343750005],[-62.81206054687502,58.20039062500007],[-63.26152343749993,58.014697265625074],[-62.486230468749966,58.15405273437506],[-62.30566406249997,57.97226562499995],[-61.95864257812505,57.91176757812508],[-61.9679687499999,57.61191406250009],[-62.495556640624926,57.489208984375125],[-61.92114257812497,57.42080078125005],[-61.977441406249966,57.24794921875002],[-61.33374023437494,57.01059570312498],[-61.37163085937502,56.68081054687511],[-62.497265624999926,56.80170898437504],[-61.73774414062498,56.52602539062502],[-61.940429687499886,56.423583984375114],[-61.42529296874994,56.360644531250074],[-61.713085937499955,56.230957031250114],[-61.364697265624926,56.2160156250001],[-61.30112304687495,56.04716796874999],[-61.4495117187499,55.99570312499998],[-61.08935546874997,55.86635742187511],[-60.74326171874989,55.94145507812493],[-60.56210937499995,55.727001953125125],[-60.341015624999926,55.78466796874997],[-60.40830078124995,55.649560546874994],[-60.19238281249994,55.4809082031251],[-60.617138671874955,55.060205078124994],[-59.75878906249997,55.3095703125],[-59.68906249999989,55.19633789062502],[-59.43789062500005,55.175927734375136],[-59.837792968749994,54.813964843750114],[-59.25957031249996,55.19995117187506],[-58.99711914062496,55.149462890625074],[-58.780175781249994,54.838378906250114],[-58.39814453124998,54.77412109374998],[-57.96245117187493,54.875732421875085],[-57.40449218750004,54.59086914062496],[-57.69926757812496,54.38657226562506],[-58.435205078124966,54.228125],[-58.63320312499999,54.04956054687497],[-59.8230468749999,53.83442382812504],[-60.14492187499994,53.59614257812498],[-60.395410156249994,53.653320312500085],[-60.1002929687499,53.48696289062511],[-60.329492187499966,53.26611328125006],[-58.652050781249926,53.97788085937495],[-57.935986328124955,54.09116210937492],[-58.31748046874989,54.11445312500007],[-58.192089843749926,54.228173828125136],[-57.4160644531249,54.162744140625136],[-57.134960937499926,53.79184570312506],[-57.524072265624966,53.61142578125006],[-57.331738281249955,53.469091796875034],[-56.84086914062496,53.73945312500004],[-56.46499023437505,53.76503906250011],[-55.96611328125002,53.4711425781251],[-55.79794921874995,53.211962890625045],[-55.80283203124989,52.64316406249998],[-56.324902343749926,52.54453124999998],[-55.74648437499994,52.4745605468751],[-55.7771484374999,52.3642578125],[-56.01171874999997,52.394482421875125],[-55.695214843749994,52.13779296875006],[-56.97597656250005,51.45766601562505],[-58.510351562500006,51.295068359375136],[-59.88632812499992,50.316406250000085],[-61.72485351562503,50.10405273437499],[-61.91953124999989,50.2328613281251],[-62.71542968749995,50.30166015625008],[-66.49550781249991,50.2118652343751],[-66.94116210937503,49.993701171875045],[-67.37202148437495,49.348437500000045],[-68.28193359374998,49.197167968750136],[-69.67387695312496,48.19916992187504],[-71.01826171874993,48.455615234375045],[-69.86552734374993,48.17226562500005],[-69.775,48.09809570312504],[-69.9944335937499,47.73989257812508],[-70.70585937499996,47.13979492187505],[-71.26777343749995,46.79594726562499],[-71.87958984374998,46.68681640624996],[-72.98100585937493,46.209716796875085],[-73.4766113281249,45.738232421874955],[-74.03784179687494,45.501855468750136],[-74.31508789062494,45.531054687500045],[-73.97382812499995,45.345117187499994],[-74.70888671874997,45.0038574218751]]],[[[-96.78232421874998,72.93662109375],[-97.0927734375,72.99692382812503],[-96.86240234374995,73.18881835937506],[-96.78232421874998,72.93662109375]]],[[[-114.52153320312502,72.592919921875],[-113.57807617187501,72.65209960937506],[-113.2923828125,72.94980468750003],[-112.75361328125001,72.98603515624995],[-111.26972656249994,72.71372070312498],[-111.895166015625,72.35610351562497],[-111.67509765625002,72.30014648437503],[-110.20512695312495,72.66127929687497],[-110.66083984374998,73.00820312500002],[-110.00844726562494,72.983642578125],[-108.75498046875002,72.55107421874999],[-108.18823242187501,71.72377929687502],[-107.812841796875,71.62617187500004],[-107.30600585937496,71.89467773437502],[-108.23740234374999,73.14990234375003],[-108.029052734375,73.34873046875003],[-106.48212890624998,73.19619140624997],[-105.41513671874995,72.788330078125],[-104.38593749999997,71.57695312500005],[-104.51479492187502,71.06425781250005],[-103.58457031249995,70.63085937500003],[-103.07719726562497,70.50883789062505],[-103.04956054687503,70.65507812499999],[-101.67631835937495,70.27827148437495],[-101.56240234375001,70.135009765625],[-101.04267578125,70.11079101562504],[-100.98237304687497,69.67988281250001],[-101.483837890625,69.85019531250006],[-101.64765624999997,69.69853515625007],[-102.18212890624997,69.845947265625],[-102.59589843749997,69.71791992187502],[-102.62109374999996,69.55151367187506],[-103.464892578125,69.64448242187498],[-103.04892578124999,69.47177734375006],[-103.12021484374995,69.20458984374997],[-102.44677734374997,69.476318359375],[-102.04594726562493,69.46484374999997],[-101.85712890625001,69.02397460937505],[-102.89506835937499,68.8236328125],[-104.57143554687501,68.87211914062502],[-105.105859375,68.92041015625],[-105.019580078125,69.08125],[-106.27016601562497,69.19458007812497],[-106.65908203124997,69.439599609375],[-107.43989257812497,69.00214843749995],[-108.36499023437497,68.93476562499998],[-109.47211914062501,68.67670898437498],[-113.12773437500002,68.49414062500003],[-113.61684570312501,68.8384765625],[-113.69414062499995,69.19501953124998],[-115.61811523437495,69.28295898437506],[-116.51347656249993,69.42460937500005],[-117.19541015624995,70.05405273437503],[-114.59233398437497,70.31245117187498],[-112.63789062499997,70.225244140625],[-111.63256835937497,70.30883789062497],[-113.75727539062503,70.69072265625005],[-115.99091796874997,70.586279296875],[-117.58706054687498,70.62954101562502],[-118.2640625,70.888330078125],[-118.26909179687493,71.03471679687505],[-115.30341796874997,71.49370117187505],[-117.93564453125003,71.39208984375003],[-118.22646484374995,71.46708984375005],[-117.742333984375,71.65932617187502],[-118.58300781250003,71.64902343749998],[-118.98769531249997,71.7642578125],[-118.94462890624997,71.98554687499995],[-118.21347656249998,72.26289062499998],[-118.481298828125,72.42768554687498],[-118.13310546874995,72.63281250000003],[-114.63823242187499,73.37265625000003],[-114.20639648437495,73.29780273437495],[-114.05170898437497,73.07099609375004],[-114.52153320312502,72.592919921875]]],[[[-105.28891601562499,72.919921875],[-106.92153320312497,73.479833984375],[-106.61396484375001,73.69560546875002],[-105.31796874999995,73.76713867187502],[-104.5875,73.57807617187495],[-104.62172851562495,73.3111328125],[-105.28891601562499,72.919921875]]],[[[-79.53730468749998,73.65449218749998],[-78.2865234375,73.66582031250007],[-77.20654296874997,73.49956054687505],[-76.18339843749999,72.84306640625005],[-77.83593750000003,72.89682617187498],[-79.3193359375,72.75771484375],[-79.820703125,72.82631835937502],[-80.18330078124995,73.22465820312499],[-80.77641601562502,73.33417968750001],[-80.84887695312503,73.72124023437499],[-79.53730468749998,73.65449218749998]]],[[[-86.58935546874997,71.01079101562507],[-85.64384765624999,71.15244140624998],[-85.09487304687497,71.15195312500006],[-84.82373046874997,71.02861328125005],[-84.69941406249995,71.63144531250003],[-85.33906249999998,71.69726562500003],[-85.91162109375,71.98652343749998],[-85.321875,72.23315429687506],[-84.28374023437499,72.04448242187499],[-84.84199218749995,72.30815429687505],[-84.62304687500003,72.37656250000003],[-85.34111328124993,72.42153320312497],[-85.64990234374997,72.72216796875003],[-85.26210937500002,72.95400390625],[-84.25664062499999,72.79672851562503],[-85.454736328125,73.10546875000003],[-84.41606445312496,73.45649414062495],[-83.781884765625,73.41689453125],[-83.72983398437495,73.57587890624995],[-81.946142578125,73.72983398437506],[-81.40615234374997,73.634521484375],[-80.27724609375,72.77016601562502],[-81.229345703125,72.31171874999998],[-80.61147460937497,72.450830078125],[-80.925146484375,71.90766601562501],[-80.18193359374996,72.20878906250007],[-79.884375,72.17719726562501],[-80.10893554687499,72.33217773437497],[-79.83129882812503,72.44628906250003],[-79.000244140625,72.27202148437507],[-79.00781250000003,72.04291992187501],[-78.58510742187497,71.880615234375],[-78.86274414062495,72.100830078125],[-78.69926757812496,72.35141601562498],[-77.51650390624997,72.17778320312505],[-78.48427734374994,72.47060546875002],[-77.75322265624996,72.72475585937502],[-75.70429687499998,72.57153320312497],[-75.05268554687493,72.22636718749999],[-75.92280273437501,71.71723632812501],[-74.90317382812503,72.10048828125002],[-74.20932617187498,71.978662109375],[-74.31572265624999,71.84267578125],[-75.20478515625001,71.70913085937497],[-74.70078125,71.67558593750005],[-74.99619140624998,71.21811523437503],[-74.48808593750002,71.64838867187501],[-73.8140625,71.77143554687495],[-74.197265625,71.404150390625],[-73.71284179687498,71.58759765624998],[-73.18061523437501,71.282861328125],[-73.27822265625,71.53798828125],[-72.901953125,71.67778320312507],[-71.64067382812499,71.51625976562502],[-71.22939453124997,71.33876953125],[-71.49501953124997,71.10512695312502],[-71.93793945312498,71.09428710937502],[-72.63271484374994,70.83076171874998],[-71.74252929687495,71.046875],[-71.370849609375,70.97514648437499],[-70.82607421874994,71.10874023437503],[-70.67265625,71.05219726562498],[-70.76171874999997,70.79223632812503],[-71.89018554687502,70.43154296875002],[-71.27587890625,70.50029296874999],[-71.42944335937503,70.12778320312503],[-70.97978515624999,70.5810546875],[-69.94980468750003,70.84501953125005],[-68.49575195312502,70.61025390625],[-68.363525390625,70.48125],[-70.05771484375,70.042626953125],[-68.77822265625,70.20356445312501],[-69.00830078124997,69.97895507812501],[-68.74404296874997,69.94140625],[-68.05908203124997,70.317236328125],[-67.36367187499994,70.03442382812503],[-67.22163085937495,69.73071289062506],[-68.02041015625,69.77006835937499],[-69.25078124999999,69.51191406249998],[-68.51303710937498,69.57729492187497],[-67.236962890625,69.460107421875],[-66.71674804687495,69.31186523437498],[-66.70742187500002,69.16821289062503],[-68.40629882812499,69.23222656250002],[-69.040625,69.09799804687503],[-68.41552734375,69.17207031250001],[-67.8326171875,69.06596679687499],[-67.88320312500002,68.78398437499999],[-69.31909179687497,68.85698242187505],[-68.21040039062495,68.702978515625],[-67.9384765625,68.524169921875],[-66.74272460937502,68.45776367187497],[-67.032958984375,68.32607421874997],[-66.923095703125,68.06572265625005],[-66.72900390624997,68.12900390625006],[-66.66269531249995,68.03442382812497],[-66.63095703124998,68.21064453124998],[-66.21240234374997,68.280419921875],[-66.44394531249998,67.83383789062506],[-65.94238281250003,68.07094726562505],[-65.86435546875003,67.92285156249997],[-65.50908203124996,67.96826171875],[-65.40126953125002,67.67485351562499],[-65.41533203124996,67.87924804687498],[-64.92231445312495,68.03164062500002],[-65.02109375,67.78754882812495],[-64.63779296875,67.84023437500002],[-63.850195312500034,67.56606445312502],[-64.00795898437502,67.34731445312497],[-64.69995117187494,67.35053710937501],[-63.83623046874993,67.26411132812498],[-63.59160156250002,67.3775390625],[-63.040136718750034,67.235009765625],[-63.70156249999994,66.82236328125003],[-62.962304687499966,66.94926757812505],[-62.37973632812495,66.90537109375],[-62.12358398437499,67.046728515625],[-61.35341796874994,66.689208984375],[-61.52783203124994,66.55810546875003],[-62.12333984374993,66.64306640625003],[-61.57080078125,66.37290039062506],[-61.95634765624993,66.30932617187497],[-62.553125,66.40683593750003],[-62.53359374999994,66.22700195312498],[-61.99160156250002,66.03530273437502],[-62.624121093750006,66.01625976562505],[-62.381982421874966,65.83330078124999],[-62.65888671874998,65.63994140625002],[-63.16894531249997,65.65732421875],[-63.45874023437494,65.85302734375],[-63.42089843749997,65.70859374999998],[-63.651074218749955,65.66098632812506],[-63.33745117187493,65.61674804687502],[-63.36337890624998,65.22973632812503],[-63.606591796874966,64.92807617187503],[-64.345703125,65.17241210937499],[-64.26967773437497,65.40078124999997],[-64.55507812500002,65.1166015625],[-65.401611328125,65.764013671875],[-64.44536132812496,66.31713867187497],[-65.0044921875,66.07773437500003],[-65.82573242187499,65.996923828125],[-65.65634765625003,66.204736328125],[-66.06372070312497,66.13271484374997],[-66.986328125,66.62749023437505],[-67.07685546874995,66.52548828125006],[-67.30732421874993,66.5697265625],[-67.22539062499993,66.31025390624998],[-67.88339843749995,66.46743164062502],[-67.18320312499995,66.03442382812503],[-67.350439453125,65.92973632812502],[-67.82802734374997,65.96518554687503],[-68.45991210937498,66.249267578125],[-68.74892578125,66.200048828125],[-68.21718750000002,66.078857421875],[-68.18671874999993,65.87099609375002],[-67.86645507812497,65.773681640625],[-67.936767578125,65.56489257812501],[-67.56962890624999,65.64355468749997],[-67.11796874999999,65.44038085937495],[-67.3365234375,65.34658203125005],[-66.69741210937502,64.81518554687506],[-66.63549804687503,65.00034179687503],[-66.21464843749999,64.72241210937497],[-65.93852539062496,64.88574218750003],[-65.2748046875,64.63154296875004],[-65.52934570312499,64.50478515624997],[-65.074609375,64.43666992187502],[-65.21298828125003,64.30327148437502],[-65.580322265625,64.29384765624997],[-65.16987304687495,64.02817382812503],[-64.67846679687503,64.027978515625],[-64.79814453124999,63.91596679687498],[-64.4109375,63.70634765625002],[-64.66464843749995,63.24536132812497],[-65.19184570312498,63.764257812500006],[-65.06894531249998,63.26347656250002],[-64.67236328125003,62.921972656250006],[-65.16279296875001,62.93261718750003],[-65.10849609374998,62.62646484375],[-66.22402343749994,63.10717773437497],[-66.228662109375,62.99096679687503],[-66.41445312500002,63.027197265625034],[-66.65498046874998,63.264746093750006],[-66.69746093749993,63.069531249999955],[-67.89326171874993,63.733740234375006],[-67.72255859374997,63.422753906249966],[-68.49375,63.725488281249994],[-68.91108398437498,63.703222656250006],[-68.141259765625,63.17231445312501],[-67.67597656249998,63.093554687500045],[-67.73696289062497,63.00957031249999],[-65.98017578125001,62.20888671875002],[-66.12387695312498,61.89306640625],[-68.53588867187503,62.25561523437506],[-69.12558593749998,62.423974609374966],[-69.604736328125,62.76772460937502],[-70.23613281250002,62.76337890625001],[-70.801416015625,62.91049804687506],[-71.10576171874999,63.00224609375002],[-70.94604492187497,63.12070312499998],[-71.34726562499998,63.066113281249955],[-71.99223632812493,63.41616210937505],[-71.380859375,63.580322265625],[-72.29013671874995,63.72797851562498],[-72.17426757812498,63.893408203125006],[-72.49843749999994,63.82348632812497],[-73.45454101562495,64.39926757812503],[-73.27128906250002,64.58251953125],[-73.91035156249998,64.578125],[-74.064794921875,64.42465820312498],[-74.13046874999998,64.6078125],[-74.46123046874996,64.64467773437505],[-74.68139648437497,64.8306640625],[-74.91943359374997,64.76552734374997],[-74.69472656250002,64.49658203124997],[-75.71503906249995,64.52436523437495],[-75.76669921875,64.39194335937498],[-76.85615234374998,64.23764648437498],[-77.76049804687503,64.36015624999999],[-78.04521484374993,64.499267578125],[-78.09560546875,64.93925781250002],[-77.36088867187496,65.19653320312503],[-77.32670898437493,65.453125],[-75.82832031249993,65.22705078125003],[-75.45209960937495,64.84160156250002],[-75.35712890624995,65.00874023437495],[-75.79868164062503,65.297509765625],[-75.16630859374999,65.28393554687497],[-74.13847656250002,65.50346679687502],[-73.55078125000003,65.48525390625005],[-74.41640624999997,66.16708984375003],[-73.03325195312502,66.72817382812505],[-72.78881835937494,67.030615234375],[-72.22001953124999,67.25429687500002],[-73.28447265624993,68.35698242187505],[-73.82050781249998,68.36293945312502],[-73.82211914062495,68.68598632812501],[-74.11796875000002,68.70092773437506],[-73.9892578125,68.54863281250002],[-74.2701171875,68.54121093750001],[-74.89296875,68.80815429687505],[-74.71669921874997,69.04550781249998],[-76.58505859375,68.69873046875003],[-76.55722656250003,69.00947265625001],[-75.9537109375,69.03081054687502],[-75.64775390625002,69.212548828125],[-76.46494140624995,69.46943359375001],[-76.23408203125001,69.66210937500003],[-76.742333984375,69.57290039062497],[-77.08994140625,69.63510742187503],[-76.85859374999995,69.775390625],[-77.591650390625,69.84560546875002],[-77.77402343750003,70.23852539062503],[-78.28281250000003,70.229150390625],[-79.06640624999997,70.60356445312507],[-79.40522460937498,70.40073242187503],[-78.86284179687499,70.24189453125001],[-78.88964843750003,69.97749023437495],[-79.51542968749996,69.88759765625005],[-81.65195312500003,70.09462890625002],[-80.92172851562503,69.73090820312501],[-81.56469726562503,69.94272460937498],[-82.29384765624997,69.83691406250003],[-83.14995117187493,70.00908203125002],[-83.85908203124998,69.96274414062498],[-85.43237304687497,70.11137695312507],[-85.780029296875,70.03666992187505],[-86.32202148437503,70.14541015625],[-86.396875,70.46533203124997],[-87.838134765625,70.24658203125],[-88.78271484374997,70.49448242187503],[-89.45590820312498,71.06171874999995],[-87.84492187499995,70.94438476562505],[-87.14008789062498,71.01162109374997],[-89.80537109374993,71.46230468750005],[-89.86152343750001,72.41191406250005],[-88.70517578124998,73.40327148437495],[-87.71977539062496,73.72290039062497],[-85.95078124999998,73.85014648437505],[-84.94677734375,73.72163085937498],[-86.00053710937499,73.31254882812505],[-86.65629882812502,72.72402343750005],[-86.21845703124998,71.89912109375004],[-85.02338867187495,71.35322265625001],[-86.58935546874997,71.01079101562507]]],[[[-100.00190429687497,73.9458984375],[-99.15795898437499,73.73159179687497],[-97.66997070312499,73.88774414062499],[-97.1705078125,73.82485351562497],[-97.001708984375,73.66650390625003],[-97.62587890624997,73.50229492187498],[-97.27250976562502,73.38681640624998],[-98.42177734375002,72.94101562500003],[-97.63632812499998,73.02763671874999],[-97.128125,72.62758789062502],[-96.59208984374996,72.71025390624999],[-96.44560546874996,72.55244140624998],[-96.80146484374998,72.32241210937502],[-96.61342773437494,71.83383789062506],[-97.58227539062497,71.62968750000005],[-98.18134765624998,71.66245117187503],[-98.32270507812501,71.85234375000002],[-98.19863281249994,71.44086914062501],[-98.66289062499993,71.302099609375],[-99.22363281249996,71.387109375],[-100.594482421875,72.15234375000003],[-101.20854492187495,72.31699218749998],[-101.72392578124996,72.31489257812501],[-102.70874023437496,72.76450195312503],[-102.20400390624998,73.077294921875],[-101.27319335937497,72.7216796875],[-100.48476562500002,72.77294921874997],[-100.395703125,72.97700195312498],[-100.128125,72.90668945312495],[-100.53637695312497,73.19785156250003],[-99.82514648437503,73.2138671875],[-100.36611328125001,73.359033203125],[-100.88935546875003,73.27534179687501],[-101.52319335937501,73.48637695312502],[-100.97578124999995,73.59975585937502],[-100.5216796875,73.44931640625],[-100.96298828125002,73.79140625],[-99.99111328125,73.79516601562503],[-100.00190429687497,73.9458984375]]],[[[-98.270361328125,73.86850585937498],[-98.97392578124997,73.81206054687502],[-99.4169921875,73.89541015625002],[-97.69824218749997,74.10869140625005],[-98.270361328125,73.86850585937498]]],[[[-93.17084960937498,74.16098632812506],[-92.22270507812502,73.97236328124998],[-90.62744140625,73.95170898437505],[-90.38139648437496,73.82475585937502],[-92.11791992187497,72.75380859375],[-94.21132812499997,72.75693359375],[-93.77055664062496,72.66821289062506],[-93.55517578124994,72.42114257812497],[-94.03754882812498,72.02875976562498],[-95.00786132812496,72.01279296875],[-95.60214843749998,72.88447265624995],[-95.63291015625003,73.69545898437497],[-94.697607421875,73.66357421874997],[-95.134130859375,73.88125],[-94.97353515625,74.04140625000002],[-93.17084960937498,74.16098632812506]]],[[[-119.73632812499997,74.11264648437498],[-119.20595703125002,74.19799804687503],[-119.11796874999995,74.01552734375],[-118.54399414062499,74.24462890625003],[-117.51484375000001,74.23173828124999],[-115.51069335937501,73.61875],[-115.446875,73.43886718750002],[-118.96157226562497,72.68413085937499],[-119.51284179687501,72.30268554687501],[-120.17988281250001,72.21264648437506],[-120.61933593750001,71.50576171875002],[-121.47216796875003,71.38901367187503],[-121.74936523437502,71.44477539062501],[-123.09565429687503,71.09379882812502],[-124.00776367187494,71.67744140624998],[-125.29667968749999,71.973046875],[-125.84531250000002,71.978662109375],[-123.79726562499997,73.76816406250003],[-124.69624023437497,74.34819335937499],[-121.50415039062497,74.54511718749998],[-119.56264648437494,74.23281250000002],[-119.73632812499997,74.11264648437498]]],[[[-97.35551757812496,74.52631835937495],[-97.75,74.51054687500005],[-97.41650390624994,74.62656250000003],[-97.35551757812496,74.52631835937495]]],[[[-95.306640625,74.50541992187505],[-95.850732421875,74.58247070312504],[-95.51020507812498,74.63676757812499],[-95.306640625,74.50541992187505]]],[[[-104.11992187499995,75.03632812500004],[-104.88740234374998,75.14775390624999],[-104.34619140624996,75.42993164062503],[-103.64350585937497,75.18657226562499],[-104.11992187499995,75.03632812500004]]],[[[-93.54257812499995,75.0279296875],[-93.57309570312495,74.66884765625005],[-94.53452148437498,74.63671874999997],[-96.59960937499997,75.03178710937499],[-95.95463867187493,75.44379882812501],[-94.878173828125,75.63002929687502],[-93.90908203125002,75.42250976562502],[-93.54257812499995,75.0279296875]]],[[[-96.07856445312495,75.510107421875],[-96.91513671875003,75.37968749999999],[-96.98281249999997,75.50981445312505],[-96.367822265625,75.65463867187506],[-96.07856445312495,75.510107421875]]],[[[-94.52656249999995,75.74931640624999],[-94.901220703125,75.93076171875],[-94.53789062499996,75.99643554687506],[-94.52656249999995,75.74931640624999]]],[[[-118.328125,75.57968749999998],[-118.81713867187503,75.52211914062497],[-119.39458007812499,75.617333984375],[-117.63369140624998,76.11508789062498],[-118.328125,75.57968749999998]]],[[[-79.0630859375,75.92587890624998],[-79.63876953124995,75.84291992187505],[-79.00932617187499,76.14589843750005],[-79.0630859375,75.92587890624998]]],[[[-102.22734374999995,76.014892578125],[-102.00800781250003,75.93940429687498],[-102.57958984375003,75.78022460937498],[-103.31474609374996,75.76420898437499],[-103.04150390624999,75.91884765624997],[-103.98525390624997,75.93310546875003],[-103.80078124999994,76.03701171874997],[-104.24248046874996,76.04697265625006],[-104.35063476562497,76.18232421875001],[-102.72802734374999,76.30703125],[-102.22734374999995,76.014892578125]]],[[[-104.02285156249998,76.58310546875003],[-103.05131835937495,76.44985351562497],[-103.31137695312499,76.34755859375],[-104.35751953124995,76.33461914062502],[-104.58569335937499,76.60649414062499],[-104.07451171875003,76.66611328124998],[-104.02285156249998,76.58310546875003]]],[[[-97.70092773437497,76.46650390624998],[-97.89052734374997,75.7603515625],[-97.40751953124999,75.67250976562497],[-97.33603515624998,75.41982421875],[-97.65332031249997,75.50776367187498],[-97.87822265624996,75.41611328125003],[-97.67431640624997,75.127294921875],[-98.04531249999997,75.20083007812497],[-98.12094726562503,75.03271484375],[-100.234375,75.00771484374997],[-100.48349609374995,75.18842773437501],[-100.14570312499995,75.24614257812505],[-100.71191406250003,75.40634765625],[-99.19458007812499,75.698388671875],[-102.58740234375001,75.51367187500003],[-102.79750976562501,75.59965820312505],[-102.14472656249998,75.87504882812502],[-100.97280273437498,75.79843750000003],[-101.414990234375,75.84584960937502],[-101.87211914062496,76.08310546875003],[-101.52895507812495,76.21728515625003],[-102.1046875,76.33120117187505],[-101.41518554687495,76.42490234375003],[-99.86547851562499,75.92421875],[-100.11284179687502,76.11723632812507],[-99.54106445312497,76.14628906250005],[-100.41420898437495,76.242529296875],[-99.97773437500003,76.31245117187495],[-100.82973632812497,76.52387695312495],[-99.8140625,76.6322265625],[-98.89033203125,76.46557617187497],[-98.71083984374994,76.69384765625003],[-97.70092773437497,76.46650390624998]]],[[[-101.22612304687497,76.57934570312497],[-101.61308593749995,76.60458984375006],[-100.26914062499998,76.73413085937497],[-101.22612304687497,76.57934570312497]]],[[[-108.29238281250001,76.05712890625],[-107.72348632812502,75.99541015625002],[-108.020703125,75.80478515625],[-107.21621093749997,75.89155273437501],[-106.91352539062503,75.67963867187501],[-106.67700195312499,76.02373046875002],[-105.63266601562493,75.94536132812505],[-105.51948242187497,75.63237304687505],[-106.09262695312495,75.08945312500003],[-107.15341796874996,74.9271484375],[-108.47475585937495,74.94721679687501],[-108.83129882812501,75.06489257812498],[-112.51933593749997,74.41684570312503],[-113.67158203124997,74.45302734375005],[-114.31269531250003,74.71508789062506],[-112.835986328125,74.9755859375],[-111.67109375,75.01943359374997],[-111.09345703125001,75.25629882812498],[-113.71176757812499,75.06860351562503],[-113.85332031249996,75.259375],[-113.46708984374996,75.41611328125003],[-114.01650390624998,75.43427734375001],[-114.16845703124994,75.23950195312503],[-114.51381835937497,75.27548828125],[-114.45175781250002,75.08789062499997],[-115.02011718749999,74.97617187500003],[-115.41318359374995,75.11499023437497],[-115.72885742187496,74.968115234375],[-116.47607421874996,75.17177734375],[-117.56523437499997,75.23334960937504],[-117.25761718750002,75.45952148437502],[-116.07714843749996,75.49296874999999],[-115.14184570312501,75.67851562500005],[-116.42563476562498,75.58535156249997],[-117.16362304687496,75.64487304687503],[-116.80214843749995,75.77158203124998],[-114.99150390625002,75.896337890625],[-116.66455078124999,75.95756835937505],[-116.20986328125,76.19443359374998],[-114.77861328124999,76.17260742187497],[-115.82216796874997,76.27001953125003],[-114.99848632812503,76.4974609375],[-114.19394531249999,76.45146484375005],[-113.82348632812501,76.20683593750002],[-112.69760742187496,76.20170898437505],[-111.05268554687495,75.54853515625001],[-108.94716796875,75.54179687499999],[-108.94477539062495,75.69897460937503],[-109.8705078125,75.929052734375],[-109.48681640624999,76.14467773437497],[-110.31445312500001,76.369384765625],[-109.09824218749996,76.811865234375],[-108.46699218749997,76.73759765625007],[-108.29238281250001,76.05712890625]]],[[[-89.72646484374994,76.50742187499998],[-90.55625,76.73457031249998],[-90.13632812499995,76.83696289062505],[-89.69541015625,76.74116210937498],[-89.72646484374994,76.50742187499998]]],[[[-113.56069335937494,76.74326171874998],[-114.83525390624999,76.79467773437497],[-113.89165039062495,76.89487304687503],[-113.56069335937494,76.74326171874998]]],[[[-94.29497070312493,76.91245117187498],[-93.23002929687496,76.77026367187497],[-93.53457031250002,76.44770507812498],[-92.99536132812494,76.62041015624999],[-91.305029296875,76.68076171875003],[-90.54262695312494,76.495751953125],[-91.41508789062496,76.45585937500005],[-89.28452148437498,76.30161132812506],[-89.40659179687498,76.18916015624998],[-91.40732421874998,76.22006835937506],[-89.27758789062497,75.79506835937497],[-89.64604492187499,75.5650390625],[-88.91669921874998,75.45395507812503],[-88.64497070312495,75.65844726562503],[-88.201318359375,75.51201171875005],[-87.72973632812503,75.57563476562495],[-87.53911132812502,75.48486328125003],[-87.25693359374998,75.61772460937499],[-85.95146484374993,75.39501953125],[-85.97299804687498,75.5287109375],[-83.931982421875,75.81894531250003],[-83.23710937499993,75.75083007812503],[-82.153662109375,75.83105468750003],[-80.32197265624998,75.62910156250001],[-79.50908203125002,75.25981445312499],[-80.38198242187494,75.03417968750003],[-79.40141601562502,74.91762695312502],[-79.944482421875,74.83364257812505],[-80.34775390624998,74.90297851562505],[-80.26274414062499,74.58447265625],[-81.94018554687494,74.47270507812505],[-82.73579101562495,74.53027343749997],[-83.5220703125,74.90146484375],[-83.53188476562494,74.58569335937497],[-84.42553710937503,74.50810546875007],[-85.06142578125,74.60693359375003],[-85.133447265625,74.517431640625],[-85.44233398437495,74.6005859375],[-85.80800781249994,74.49897460937498],[-88.42304687499995,74.49414062499997],[-88.53496093749993,74.83173828125001],[-89.55869140624995,74.55473632812507],[-90.55327148437499,74.61274414062498],[-90.88022460937498,74.8177734375],[-91.13457031250002,74.64985351562498],[-91.54912109375002,74.65556640624999],[-92.3892578125,75.263330078125],[-92.18510742187499,75.84653320312498],[-93.09174804687495,76.35400390624997],[-95.27387695312498,76.26440429687503],[-96.03969726562494,76.48671875000002],[-95.65097656249998,76.58466796874998],[-96.88071289062495,76.73833007812505],[-96.40156249999995,76.79721679687503],[-96.75830078124997,76.97177734374998],[-95.84951171875002,77.06621093750005],[-94.29497070312493,76.91245117187498]]],[[[-115.55126953125001,77.36328125],[-116.32919921874996,77.137060546875],[-115.81005859374999,76.939111328125],[-116.25273437500002,76.90141601562505],[-115.94628906250003,76.71127929687503],[-116.99921874999995,76.531591796875],[-117.23359375000001,76.28154296875005],[-117.99296874999999,76.40581054687505],[-117.88081054687497,76.80507812500005],[-118.79140624999994,76.51298828125005],[-119.080712890625,76.12407226562505],[-119.58037109375,76.32651367187498],[-119.52612304687496,75.99721679687505],[-119.91289062499997,75.85883789062501],[-120.40888671874995,75.82563476562498],[-120.84838867187496,76.18266601562499],[-121.21347656249999,75.98369140625005],[-122.53305664062498,75.95092773437503],[-122.59272460937497,76.16206054687495],[-122.90278320312498,76.13471679687498],[-122.51938476562503,76.353173828125],[-121.56113281250003,76.453466796875],[-119.09018554687496,77.30507812500002],[-116.84355468749995,77.33955078124995],[-117.03974609374995,77.46513671875005],[-116.51132812500003,77.54760742187497],[-115.55126953125001,77.36328125]]],[[[-89.83325195312503,77.26762695312505],[-90.22827148437503,77.21245117187499],[-90.99321289062499,77.32949218750002],[-91.01904296875003,77.64389648437503],[-89.83896484375003,77.49140624999998],[-89.83325195312503,77.26762695312505]]],[[[-104.55815429687497,77.14174804687497],[-105.21508789062496,77.18208007812501],[-106.03559570312495,77.73984375000006],[-105.58789062499997,77.73598632812497],[-104.54223632812501,77.33774414062503],[-104.55815429687497,77.14174804687497]]],[[[-95.484375,77.79199218750003],[-93.30097656249995,77.73979492187505],[-93.54394531249997,77.466650390625],[-95.98706054687497,77.484130859375],[-96.19458007812497,77.70053710937503],[-95.484375,77.79199218750003]]],[[[-101.6935546875,77.69658203125005],[-102.37783203124995,77.728125],[-102.44770507812498,77.88061523437506],[-101.19321289062493,77.82978515624998],[-101.00205078124998,77.73510742187497],[-101.6935546875,77.69658203125005]]],[[[-113.83247070312497,77.75463867187506],[-114.28720703124998,77.72148437500005],[-114.98041992187498,77.91542968750002],[-114.33037109374997,78.07753906250002],[-113.83247070312497,77.75463867187506]]],[[[-110.45805664062496,78.10322265625001],[-109.62226562499995,78.07475585937499],[-110.865625,77.834130859375],[-110.15273437500002,77.76293945312506],[-110.19848632812501,77.52451171874998],[-112.37265625000002,77.36411132812498],[-113.16435546875002,77.5302734375],[-113.21518554687498,77.90351562500001],[-110.45805664062496,78.10322265625001]]],[[[-109.81596679687499,78.65039062500003],[-109.48447265624995,78.31640625],[-111.16918945312499,78.38627929687505],[-111.51748046874997,78.27470703125005],[-112.13125,78.366064453125],[-113.22304687499998,78.29790039062505],[-112.85585937499997,78.46684570312502],[-110.877587890625,78.73505859375004],[-109.81596679687499,78.65039062500003]]],[[[-96.20449218749994,78.53129882812499],[-94.91538085937495,78.39052734375002],[-95.32924804687497,78.22504882812495],[-94.93427734374998,78.07563476562498],[-96.98964843749994,77.80600585937503],[-97.65815429687498,78.090625],[-96.944677734375,78.15185546874997],[-98.04951171874995,78.325927734375],[-98.33261718749998,78.77353515625006],[-97.38232421875,78.78291015625001],[-96.20449218749994,78.53129882812499]]],[[[-103.42602539062499,79.315625],[-102.57617187499996,78.87939453125003],[-101.70366210937502,79.07890625000002],[-101.128125,78.80166015625002],[-100.43549804687503,78.8203125],[-99.60942382812495,78.58305664062507],[-99.16640625000002,77.85693359375003],[-100.27465820312503,77.83271484374995],[-101.07412109375001,78.19384765625],[-102.60698242187502,78.24892578125002],[-102.73134765624995,78.37104492187495],[-103.94658203124999,78.26000976562497],[-104.76357421874998,78.35166015625],[-104.90961914062498,78.55263671875],[-103.57050781250003,78.53984375000005],[-104.02084960937502,78.63491210937497],[-103.37158203125,78.73632812500003],[-104.18500976562498,78.78129882812505],[-104.15195312499999,78.989892578125],[-104.89550781249996,78.80815429687502],[-104.74677734375003,79.02709960937503],[-105.53564453124999,79.03251953125007],[-105.51455078124995,79.24248046875002],[-105.38769531249994,79.32358398437503],[-103.42602539062499,79.315625]]],[[[-98.79160156249995,79.98110351562505],[-98.94521484375,79.72407226562498],[-100.05683593749997,79.89824218750005],[-100.05327148437496,80.093359375],[-99.15322265625001,80.12421874999998],[-98.79160156249995,79.98110351562505]]],[[[-91.88554687499999,81.13286132812505],[-90.64301757812498,80.59370117187498],[-89.23559570312494,80.51064453125002],[-88.85732421874997,80.16621093750001],[-88.19990234374998,80.11147460937497],[-88.5248046875,80.41801757812507],[-87.675,80.37211914062505],[-87.92231445312501,80.09770507812499],[-86.97719726562502,79.89423828125001],[-87.29516601562494,79.58017578124998],[-86.33696289062496,79.63496093749995],[-86.00703124999998,79.47944335937498],[-85.6478515625,79.61142578125006],[-85.04213867187497,79.2845703125],[-86.95717773437502,78.97490234375005],[-87.61738281249995,78.67631835937505],[-88.04018554687494,78.99531250000004],[-87.98286132812498,78.53706054687501],[-88.74160156250002,78.58403320312499],[-88.82241210937497,78.18588867187498],[-90.037109375,78.60683593750002],[-89.52568359374999,78.15961914062495],[-90.29721679687495,78.32802734374997],[-90.614404296875,78.14985351562501],[-92.35126953125001,78.312890625],[-92.8482421875,78.46010742187497],[-91.86689453124998,78.54267578125001],[-93.26660156249997,78.60830078124997],[-93.63442382812502,78.75092773437498],[-93.15986328124998,78.77563476562503],[-94.11459960937498,78.92890625000001],[-92.54721679687495,79.28261718750002],[-91.29990234375003,79.372705078125],[-92.82192382812497,79.44990234375001],[-93.93315429687496,79.29072265624998],[-94.11030273437498,79.40156250000001],[-95.10317382812502,79.289892578125],[-95.66289062500002,79.52734374999997],[-94.40185546874997,79.736328125],[-95.73935546874995,79.66015625000003],[-96.58906249999995,79.91665039062497],[-96.77324218749999,80.13579101562502],[-94.64589843749994,80.04873046874997],[-94.26259765625002,80.19487304687499],[-95.40507812499996,80.13500976562506],[-96.39409179687493,80.31503906250003],[-95.549072265625,80.36660156249997],[-95.92695312499998,80.72065429687498],[-93.92792968749995,80.55917968750003],[-95.51474609375003,80.83813476562503],[-94.98051757812499,81.04965820312503],[-93.28671874999998,81.10029296874998],[-94.22011718749997,81.33076171875004],[-93.03466796874997,81.3462890625],[-91.88554687499999,81.13286132812505]]],[[[-69.4888671875,83.01679687499998],[-66.42255859374998,82.92685546875003],[-68.46933593749995,82.65336914062502],[-65.29902343749995,82.79960937500005],[-64.98388671874997,82.90229492187501],[-64.50400390625,82.77841796874998],[-63.641015624999966,82.81259765625003],[-63.246777343749926,82.4501953125],[-62.47519531249995,82.51958007812502],[-61.392480468749994,82.44189453125],[-61.61538085937502,82.18442382812503],[-64.43579101562497,81.74262695312501],[-66.62573242187497,81.61640624999995],[-68.68852539062493,81.29331054687503],[-64.78007812499993,81.49287109375001],[-69.55068359375,80.38325195312498],[-70.71259765625001,80.53959960937505],[-70.264892578125,80.23359374999998],[-72.05595703124996,80.12324218749995],[-70.56840820312493,80.09370117187498],[-71.387841796875,79.76176757812505],[-72.43652343750003,79.69438476562499],[-74.39448242187495,79.87407226562499],[-73.47246093749996,79.7564453125],[-73.36152343750001,79.50400390625],[-75.50341796875,79.41416015625],[-76.898828125,79.5123046875],[-75.60273437499998,79.23955078125005],[-74.48120117187503,79.22949218750006],[-74.64091796874996,79.03554687499997],[-78.58164062499998,79.075],[-77.88276367187498,78.9423828125],[-76.255859375,79.00683593749997],[-74.486328125,78.75009765624998],[-74.87861328124998,78.54482421875],[-76.41611328124995,78.51152343750005],[-75.19345703125,78.327734375],[-75.86596679687497,78.00981445312499],[-78.01259765624997,77.94604492187506],[-78.07617187500003,77.51904296875],[-78.70849609374997,77.34213867187503],[-80.57304687499996,77.31479492187506],[-81.65908203124997,77.52543945312499],[-81.3013671875,77.34404296875007],[-82.056787109375,77.29653320312497],[-81.75634765624997,77.20400390625005],[-79.49726562500001,77.19609375000005],[-78.97919921874998,76.89287109374999],[-78.28886718750002,76.97797851562501],[-77.98330078124994,76.75498046875006],[-78.284326171875,76.57124023437501],[-80.79970703124997,76.173583984375],[-80.97451171874994,76.470068359375],[-81.71738281250003,76.494970703125],[-82.52983398437499,76.723291015625],[-82.23315429687494,76.46582031250003],[-83.88569335937501,76.453125],[-84.22377929687497,76.67534179687499],[-84.27534179687498,76.35654296875006],[-85.141259765625,76.30458984375005],[-86.45371093750003,76.58486328125002],[-86.68022460937499,76.37661132812497],[-87.35419921874998,76.44804687500005],[-87.48979492187499,76.58583984374997],[-87.49755859374997,76.38627929687499],[-88.39599609374997,76.40527343750003],[-88.49584960937497,76.77285156249997],[-88.54580078125002,76.42089843750003],[-89.36962890624997,76.474462890625],[-89.49975585937503,76.82680664062502],[-88.39814453124995,77.10395507812501],[-86.81225585937497,77.18491210937498],[-87.68144531249996,77.43637695312503],[-88.01699218750002,77.78471679687505],[-86.75507812499998,77.86372070312498],[-85.58847656249998,77.46113281250004],[-84.73867187499997,77.36103515624998],[-83.72128906249998,77.41420898437497],[-82.7103515625,77.84951171875002],[-82.5953125,77.99213867187504],[-83.77939453125,77.53261718750002],[-85.28935546874996,77.55903320312498],[-85.54755859374998,77.92768554687495],[-84.61542968749998,78.19570312500002],[-84.22270507812499,78.176025390625],[-84.91035156249993,78.23969726562501],[-84.78320312499997,78.52758789062506],[-85.5859375,78.10957031249998],[-86.21777343750003,78.08120117187497],[-85.92006835937494,78.34287109374998],[-86.91323242187494,78.126806640625],[-87.5517578125,78.17661132812503],[-86.80791015624999,78.77436523437495],[-85.00375976562495,78.912255859375],[-83.27143554687501,78.77031250000002],[-81.75009765624995,78.97578124999995],[-82.43876953125002,78.903662109375],[-84.41201171875002,78.99658203125003],[-84.38359375000002,79.1185546875],[-83.57587890624995,79.05366210937501],[-86.42075195312498,79.84521484374997],[-86.49853515625003,80.25825195312501],[-83.72363281250003,80.22895507812501],[-81.68837890625,79.685791015625],[-80.47592773437498,79.60625],[-80.12446289062495,79.66948242187507],[-81.01015625000002,79.693115234375],[-82.98701171874995,80.32260742187498],[-76.86298828124995,80.86479492187505],[-78.71621093749994,80.95166015624997],[-76.88510742187503,81.43027343750006],[-81.00703125000001,80.6548828125],[-82.88432617187502,80.57753906249997],[-82.22236328124998,80.77231445312503],[-84.41782226562495,80.52675781250002],[-86.250341796875,80.56577148437506],[-86.60307617187499,80.66401367187498],[-85.63930664062494,80.92460937500007],[-83.288818359375,81.14794921875],[-85.780859375,81.03505859375],[-87.32988281250002,80.669775390625],[-88.00366210937497,80.675390625],[-89.16689453125,80.94130859375],[-86.47675781249993,81.03574218750006],[-84.94121093750002,81.28623046875],[-87.27509765624995,81.080810546875],[-89.623046875,81.032470703125],[-89.94731445312499,81.17265625000005],[-89.20869140624998,81.25009765625003],[-89.67368164062503,81.32861328125003],[-87.59702148437498,81.52583007812498],[-88.47905273437502,81.56464843749998],[-90.41630859374996,81.40537109375003],[-89.82167968749997,81.63486328124998],[-91.29238281250002,81.57124023437498],[-91.64755859374998,81.68383789062503],[-88.06318359375001,82.09648437500007],[-87.01821289062502,81.95874023437497],[-86.62680664062495,82.05102539062503],[-85.04482421874997,81.9828125],[-86.615625,82.21855468750007],[-84.89682617187503,82.44941406250001],[-82.63369140625002,82.07729492187497],[-82.53691406250002,82.24726562499995],[-79.465625,81.85112304687499],[-82.44755859374993,82.39501953125003],[-81.68115234375003,82.51865234375],[-82.11684570312497,82.62866210937503],[-80.8625,82.57153320312503],[-81.01015625000002,82.77905273437503],[-78.748779296875,82.67939453124998],[-80.15493164062497,82.91113281250003],[-77.61806640624997,82.89584960937503],[-76.009375,82.53515625],[-75.565625,82.60854492187502],[-77.12490234374994,83.00854492187497],[-74.41416015624995,83.01313476562501],[-72.65869140625,82.72163085937495],[-73.44189453124994,82.90483398437499],[-72.811669921875,83.08120117187502],[-71.98320312499996,83.10141601562498],[-70.94038085937495,82.90224609375],[-71.08481445312498,83.08266601562497],[-69.96992187499995,83.11611328125005],[-69.4888671875,83.01679687499998]]]]},"properties":{"name":"Canada","childNum":110}},{"geometry":{"type":"Polygon","coordinates":[[[9.527658197470123,47.27026989773668],[9.46249431093294,47.19858962254578],[9.46249431093294,47.09010747968864],[9.409458596647225,47.02019676540292],[9.579979133936737,47.05856388629306],[9.580273437500011,47.057373046875],[10.133496093750011,46.851513671875],[10.349414062500017,46.98476562499999],[10.414941406250023,46.964404296874996],[10.45458984375,46.8994140625],[10.452832031250011,46.86494140625],[10.406054687500017,46.73486328125],[10.39794921875,46.6650390625],[10.4306640625,46.550048828125],[10.195507812500011,46.62109375],[10.1375,46.61435546875],[10.087011718750006,46.599902343749996],[10.061230468750011,46.546777343749994],[10.038281250000011,46.483203125],[10.045605468750011,46.447900390624994],[10.081933593750023,46.420751953125],[10.109667968750017,46.362841796874996],[10.128320312500023,46.238232421875],[10.08056640625,46.227978515625],[10.041015625,46.238085937499996],[9.939257812500017,46.36181640625],[9.884472656250011,46.3677734375],[9.787792968750011,46.346044921875],[9.639453125000017,46.2958984375],[9.57958984375,46.29609375],[9.528710937500023,46.306201171874996],[9.427636718750023,46.482324218749994],[9.399316406250023,46.4806640625],[9.304394531250011,46.495556640625],[9.203417968750017,46.21923828125],[9.11874162946429,46.014892578125],[8.97551618303573,45.81677455357143],[8.74961495535715,46.02246372767857],[8.818554687500011,46.0771484375],[8.458398437500023,46.245898437499996],[8.370703125,46.445117187499996],[8.298535156250011,46.40341796875],[8.23193359375,46.341210937499994],[8.08154296875,46.256005859374994],[7.9931640625,46.015917968749996],[7.327929687500017,45.912353515625],[7.129003906250006,45.880419921874996],[7.055761718750006,45.90380859375],[7.02109375,45.92578125],[6.953710937500006,46.017138671874996],[6.897265625000017,46.0517578125],[6.772070312500006,46.16513671875],[6.758105468750017,46.415771484375],[6.578222656250006,46.437353515625],[6.428906250000011,46.430517578125],[6.321875,46.393701171874994],[6.234667968750017,46.3326171875],[6.199414062500011,46.19306640625],[6.086621093750011,46.147021484374996],[6.006640625000017,46.142333984375],[5.971484375000017,46.151220703125],[5.970019531250017,46.214697265625],[6.0361328125,46.238085937499996],[6.095898437500011,46.27939453125],[6.129687500000017,46.5669921875],[6.41015625,46.755419921874996],[6.429003906250017,46.832275390625],[6.45625,46.94833984375],[6.624804687500017,47.004345703125],[6.666894531250023,47.026513671874994],[6.688085937500006,47.058251953124994],[6.820703125000023,47.16318359375],[6.952050781250023,47.2671875],[6.978515625,47.302050781249996],[7.000585937500006,47.322509765625],[7.000585937500006,47.339453125],[6.900390625,47.39423828125],[6.968359375,47.45322265625],[7.136035156250017,47.48984375],[7.343164062500023,47.43310546875],[7.615625,47.592724609375],[8.454003906250023,47.59619140625],[8.559472656250023,47.6240234375],[8.570507812500011,47.63779296875],[8.567089843750011,47.651904296874996],[8.55234375,47.659130859375],[8.451757812500006,47.651806640625],[8.413281250000011,47.6626953125],[8.403417968750006,47.687792968749996],[8.435742187500011,47.731347656249994],[8.572656250000023,47.775634765625],[9.524023437500006,47.52421875],[9.625878906250023,47.467041015625],[9.527539062500011,47.270751953125],[9.527658197470123,47.27026989773668]]]},"properties":{"name":"Switzerland","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[-67.28886718749999,-55.776855468749964],[-67.55996093749997,-55.72480468750002],[-67.39736328124997,-55.58515625],[-67.28886718749999,-55.776855468749964]]],[[[-67.07993164062498,-55.15380859374996],[-67.33969726562495,-55.292578124999984],[-67.4947265625,-55.177441406249976],[-68.07001953124995,-55.22109374999999],[-68.30136718750003,-54.98066406250003],[-67.245263671875,-54.977636718750034],[-67.07993164062498,-55.15380859374996]]],[[[-69.70297851562503,-54.91904296875],[-68.90078125000002,-55.01777343750004],[-68.45800781249997,-54.95966796875002],[-68.61328124999997,-55.155566406250045],[-68.28266601562495,-55.25517578125],[-68.04833984375,-55.6431640625],[-68.86704101562498,-55.45019531250003],[-68.89008789062498,-55.2412109375],[-69.19262695312497,-55.171875],[-69.35922851562498,-55.300683593749945],[-69.18085937499995,-55.47480468749998],[-69.41181640624995,-55.44423828124997],[-69.97978515625002,-55.14746093749999],[-69.88442382812494,-54.88203125000001],[-69.70297851562503,-54.91904296875]]],[[[-70.9916015625,-54.86796874999999],[-70.80483398437497,-54.96767578124996],[-70.41752929687493,-54.908886718749976],[-70.29785156249997,-55.11376953124997],[-70.47558593749994,-55.17705078124998],[-71.43720703125001,-54.88925781249997],[-70.9916015625,-54.86796874999999]]],[[[-71.390478515625,-54.03281250000002],[-71.02192382812495,-54.111816406250036],[-71.14326171874998,-54.374023437499986],[-71.473291015625,-54.23115234375001],[-71.94853515624999,-54.300878906250006],[-72.21044921874997,-54.04775390624995],[-71.996484375,-53.884863281249984],[-71.390478515625,-54.03281250000002]]],[[[-72.92324218749997,-53.481640625],[-72.88222656249997,-53.578320312499976],[-72.48227539062503,-53.58808593750001],[-72.20541992187503,-53.80742187500002],[-72.408544921875,-54.00380859374997],[-72.87099609375,-54.12656250000002],[-72.76376953125,-53.86484375],[-73.03945312499994,-53.83281250000004],[-73.08076171875001,-53.99804687499995],[-73.21064453125001,-53.98583984374995],[-73.31435546875,-53.72919921874998],[-73.845458984375,-53.54580078125001],[-73.44707031249993,-53.41005859374998],[-72.92324218749997,-53.481640625]]],[[[-74.38574218749994,-52.92236328125001],[-73.65400390624998,-53.06982421875003],[-73.13520507812498,-53.35390625],[-73.56728515625,-53.3068359375],[-73.86694335937494,-53.096875],[-74.27021484374995,-53.08154296875002],[-74.71201171874998,-52.74873046874998],[-74.38574218749994,-52.92236328125001]]],[[[-68.62993164062499,-52.65263671875004],[-68.65322265624994,-54.85361328124999],[-69.48627929687493,-54.85888671875],[-69.72343750000002,-54.71210937500003],[-70.49716796875,-54.80957031249999],[-71.83154296874997,-54.62617187500002],[-71.92773437500003,-54.52871093749997],[-71.80014648437498,-54.433984374999945],[-71.07993164062498,-54.444238281249994],[-70.79726562500002,-54.32724609374996],[-70.70112304687498,-54.48544921875004],[-70.31098632812498,-54.52851562500002],[-70.86308593749993,-54.11044921875003],[-70.86772460937499,-53.88417968750002],[-70.53129882812502,-53.627343750000016],[-70.37973632812495,-53.98671874999995],[-70.62983398437493,-54.005566406249976],[-70.53530273437494,-54.136132812500016],[-70.16899414062502,-54.37929687499999],[-69.74184570312494,-54.30585937500005],[-69.25317382812494,-54.557421875000045],[-69.04433593749997,-54.40673828124999],[-69.98813476562503,-54.10908203125001],[-70.15112304687503,-53.88808593750002],[-70.09111328124996,-53.72177734374998],[-69.35595703125003,-53.41630859375001],[-69.63701171874999,-53.33408203125004],[-70.32929687499998,-53.37763671875003],[-70.44335937499994,-53.085546875000034],[-70.130615234375,-52.942773437499994],[-70.38012695312494,-52.75195312500002],[-69.93544921874997,-52.82109374999998],[-69.41406249999997,-52.48623046874997],[-69.16704101562499,-52.66757812499997],[-68.78979492187497,-52.576757812500034],[-68.62993164062499,-52.65263671875004]]],[[[-74.82294921874993,-51.63017578125001],[-74.53681640624998,-51.96513671875004],[-74.69448242187497,-52.27919921874999],[-74.85180664062494,-52.27070312500003],[-75.10537109375,-51.78886718750001],[-74.82294921874993,-51.63017578125001]]],[[[-74.55864257812499,-51.27705078125001],[-74.62036132812497,-51.395703125000026],[-75.04736328125,-51.39833984375003],[-75.28911132812496,-51.625390625000016],[-75.15366210937498,-51.278808593750014],[-74.73666992187503,-51.20761718749999],[-74.55864257812499,-51.27705078125001]]],[[[-75.302001953125,-50.67998046875005],[-75.411376953125,-50.76435546875001],[-75.42763671875002,-50.48056640625002],[-75.11533203124998,-50.510449218749976],[-75.302001953125,-50.67998046875005]]],[[[-75.05478515625,-50.29609375],[-75.44912109374997,-50.34335937500004],[-75.32666015624997,-50.01181640625],[-74.8759765625,-50.10996093750001],[-75.05478515625,-50.29609375]]],[[[-75.106689453125,-48.83652343750001],[-75.38994140624999,-49.15917968750002],[-75.64116210937499,-49.195410156250034],[-75.48764648437498,-49.082421875000016],[-75.58310546874998,-48.85888671874995],[-75.106689453125,-48.83652343750001]]],[[[-74.47617187499998,-49.14785156250002],[-74.59472656249997,-50.00664062500001],[-74.76298828124996,-50.01142578125001],[-74.88041992187502,-49.72587890625001],[-74.72382812499998,-49.42382812500003],[-74.960107421875,-49.533007812499974],[-75.06601562499998,-49.85234375000002],[-75.54980468749994,-49.79130859375002],[-75.30585937499998,-49.49404296875003],[-75.46748046874995,-49.35888671875003],[-75.08603515624998,-49.27021484375],[-75.21015624999995,-49.14804687499998],[-74.94921875,-48.960156249999976],[-74.89624023437503,-48.73320312500002],[-74.54609374999993,-48.76689453125004],[-74.47617187499998,-49.14785156250002]]],[[[-75.51025390624997,-48.76347656250005],[-75.65092773437496,-48.58632812500002],[-75.57148437499993,-48.095898437500026],[-75.39140625000002,-48.01972656249997],[-75.15849609374999,-48.62265624999996],[-75.51025390624997,-48.76347656250005]]],[[[-74.56728515625,-48.591992187500026],[-74.92304687499998,-48.62646484375003],[-75.21289062499997,-48.141699218750034],[-75.19829101562502,-47.974609375000014],[-74.895654296875,-47.839355468749986],[-74.56728515625,-48.591992187500026]]],[[[-75.11220703124997,-47.8376953125],[-75.26103515625002,-47.76386718749998],[-74.92646484374998,-47.72314453125003],[-75.11220703124997,-47.8376953125]]],[[[-74.31289062500002,-45.69150390625002],[-74.46552734374995,-45.757226562499994],[-74.68984375,-45.66259765625],[-74.310546875,-45.17265625000002],[-74.31289062500002,-45.69150390625002]]],[[[-73.63217773437498,-44.82148437499997],[-73.81845703125,-44.65214843750002],[-73.72392578124993,-44.544238281249974],[-73.63217773437498,-44.82148437499997]]],[[[-72.98613281249999,-44.780078124999974],[-73.22846679687498,-44.85996093749999],[-73.39707031249998,-44.77431640624995],[-73.44506835937497,-44.641015624999966],[-73.20771484374993,-44.33496093749997],[-72.7763671875,-44.50859374999999],[-72.98613281249999,-44.780078124999974]]],[[[-73.73535156249997,-44.39453125000003],[-74.00205078125003,-44.59091796874998],[-73.728173828125,-45.195898437500034],[-74.016259765625,-45.344921875000026],[-74.61777343749998,-44.64794921874996],[-74.50180664062498,-44.47353515624995],[-74.09721679687496,-44.38935546875004],[-73.99492187499999,-44.140234375],[-73.70322265624998,-44.27412109375001],[-73.73535156249997,-44.39453125000003]]],[[[-73.81064453125003,-43.827246093750006],[-73.95566406249998,-43.921972656250034],[-74.14296874999997,-43.872167968750006],[-73.81064453125003,-43.827246093750006]]],[[[-73.77338867187498,-43.3458984375],[-74.114404296875,-43.35791015624996],[-74.387353515625,-43.231640625],[-74.03666992187496,-41.79550781249998],[-73.52783203124997,-41.89628906249999],[-73.42290039062499,-42.192871093750014],[-73.47080078124998,-42.46630859375004],[-73.78925781249993,-42.58574218750003],[-73.43632812499996,-42.9365234375],[-73.74965820312494,-43.15908203124995],[-73.77338867187498,-43.3458984375]]],[[[-78.80415039062501,-33.646484374999986],[-78.98945312499993,-33.66171874999998],[-78.87744140625003,-33.57519531250003],[-78.80415039062501,-33.646484374999986]]],[[[-109.27998046874994,-27.14042968749996],[-109.434130859375,-27.171289062500023],[-109.39047851562499,-27.068359375000014],[-109.27998046874994,-27.14042968749996]]],[[[-67.19487304687493,-22.821679687500037],[-67.00878906249994,-23.00136718750005],[-67.35620117187503,-24.033789062499963],[-68.25029296875002,-24.391992187500023],[-68.56201171875,-24.74736328125003],[-68.38422851562495,-25.091894531249977],[-68.59208984375002,-25.420019531250034],[-68.41450195312498,-26.153710937500023],[-68.59160156249999,-26.47041015624997],[-68.31865234374999,-26.973242187500006],[-68.59208984375002,-27.140039062499966],[-68.84633789062494,-27.153710937499994],[-69.17441406249998,-27.924707031250037],[-69.65693359374995,-28.413574218749986],[-69.82788085937497,-29.10322265624997],[-70.02680664062501,-29.324023437500017],[-69.95996093749997,-30.078320312500026],[-69.84428710937493,-30.175],[-69.95634765624996,-30.35820312500003],[-70.15322265625,-30.360937499999963],[-70.30908203124994,-31.02265625000004],[-70.51958007812493,-31.1484375],[-70.585205078125,-31.569433593749963],[-70.25439453125,-31.957714843750026],[-70.36376953125,-32.08349609374997],[-70.02197265625,-32.88457031250002],[-70.08486328125002,-33.20175781249998],[-69.81962890624999,-33.28378906249999],[-69.85244140625,-34.224316406250026],[-70.05205078124999,-34.30078124999997],[-70.39316406250003,-35.146875],[-70.55517578125,-35.246875],[-70.41572265625001,-35.52304687500002],[-70.40478515625,-36.06171874999998],[-71.05551757812498,-36.52373046874996],[-71.19218750000002,-36.84365234375004],[-71.16757812499998,-37.76230468749996],[-70.858642578125,-38.60449218750003],[-71.40156249999995,-38.93505859374996],[-71.53945312499997,-39.60244140624995],[-71.71992187499995,-39.63525390624997],[-71.65976562499998,-40.02080078125],[-71.81831054687493,-40.17666015624995],[-71.70898437499997,-40.381738281249994],[-71.93212890624994,-40.69169921874999],[-71.91127929687497,-41.650390624999986],[-71.75,-42.04677734375001],[-72.10820312499993,-42.25185546874995],[-72.14643554687498,-42.990039062499974],[-71.750634765625,-43.237304687499986],[-71.90498046875001,-43.34755859374998],[-71.68007812500002,-43.92958984374998],[-71.82001953124993,-44.38310546875],[-71.21259765624998,-44.44121093750003],[-71.15971679687496,-44.56025390625004],[-71.26113281250002,-44.763085937499966],[-72.06372070312503,-44.771875],[-72.04169921874998,-44.90419921875004],[-71.5962890625,-44.97919921875004],[-71.34931640624995,-45.33193359374995],[-71.74619140624998,-45.57890625],[-71.63154296874998,-45.95371093749998],[-71.87568359374998,-46.160546875],[-71.69965820312501,-46.6513671875],[-71.94023437499999,-46.83125],[-71.90498046875001,-47.201660156250014],[-72.34594726562497,-47.49267578124997],[-72.517919921875,-47.87636718749998],[-72.32832031250001,-48.11005859374998],[-72.35473632812497,-48.36582031250005],[-72.582861328125,-48.47539062499999],[-72.65126953125,-48.84160156249998],[-73.03364257812501,-49.014355468750004],[-73.13525390625,-49.30068359374999],[-73.46157226562497,-49.31386718750001],[-73.55419921875,-49.463867187500014],[-73.50126953124996,-50.125292968750024],[-73.15292968749998,-50.73828125000003],[-72.50981445312496,-50.607519531250034],[-72.34023437499997,-50.68183593749999],[-72.40766601562501,-51.54082031250002],[-71.91865234374995,-51.98955078125004],[-69.96025390624993,-52.00820312500002],[-68.443359375,-52.35664062500004],[-69.24101562499996,-52.20546874999997],[-69.62031249999995,-52.46474609374995],[-70.79511718749995,-52.76875],[-70.99584960937497,-53.77929687499997],[-71.29775390625002,-53.88339843750004],[-72.1744140625,-53.632324218749964],[-72.41289062500002,-53.35019531250004],[-71.94169921874993,-53.23408203125001],[-71.89169921874998,-53.523535156250006],[-71.79145507812498,-53.48457031249997],[-71.74052734374999,-53.232617187499976],[-71.28896484375002,-53.03369140624995],[-71.22714843750003,-52.810644531249984],[-71.38774414062496,-52.76425781250004],[-72.27802734374998,-53.13232421874997],[-72.54892578125,-53.4607421875],[-73.05273437499997,-53.24345703125005],[-72.72768554687502,-52.7623046875],[-72.453466796875,-52.814453124999964],[-72.11757812499997,-52.65],[-71.51127929687502,-52.60537109375],[-72.22568359374998,-52.52099609374995],[-72.43769531250001,-52.62578124999998],[-72.71210937499995,-52.53554687499999],[-73.12246093749997,-53.073925781249976],[-73.64521484374998,-52.83701171875003],[-73.2408203125,-52.707128906250034],[-73.12392578125,-52.487988281249976],[-73.24414062499997,-52.62402343749998],[-73.58569335937503,-52.68574218750003],[-74.01445312499999,-52.63935546875],[-74.26494140624993,-52.1048828125],[-73.83447265625,-52.23398437500001],[-73.68432617187494,-52.07773437499998],[-73.26044921874993,-52.157812500000034],[-72.79501953124998,-51.94951171875005],[-72.57084960937496,-52.200097656249945],[-72.67705078125002,-52.38466796874998],[-72.52333984374997,-52.255468750000034],[-72.62460937499998,-51.94648437499997],[-72.48964843750002,-51.76367187500003],[-72.76123046875,-51.57324218749996],[-73.16875,-51.45390624999998],[-72.60004882812495,-51.79912109374997],[-73.51816406250003,-52.04101562499996],[-73.75263671874993,-51.795507812500034],[-74.19667968749997,-51.68056640624997],[-73.92978515624995,-51.61787109374999],[-73.93950195312499,-51.26630859375005],[-74.81474609374996,-51.06289062499999],[-75.09467773437495,-50.68125],[-74.68574218749995,-50.662011718749945],[-74.77587890625003,-50.46992187499998],[-74.64448242187498,-50.360937499999984],[-74.365576171875,-50.487890625],[-74.13940429687503,-50.81777343749997],[-73.80654296875,-50.93837890625003],[-73.654443359375,-50.49267578125],[-73.97802734375003,-50.827050781249994],[-74.18559570312493,-50.485351562500014],[-73.95034179687497,-50.510546875],[-74.62958984374998,-50.19404296875],[-74.333740234375,-49.97460937499997],[-73.95859374999998,-49.994726562499984],[-74.32392578124995,-49.783398437500004],[-74.29082031249996,-49.604101562499984],[-73.83637695312493,-49.609375],[-74.09443359374993,-49.42968749999998],[-73.93496093749994,-49.02089843750001],[-74.2212890625,-49.500585937500034],[-74.36655273437503,-49.40048828124998],[-74.34101562499998,-48.59570312499998],[-74.00908203124996,-48.475],[-74.47441406249999,-48.46396484374996],[-74.58466796874998,-47.999023437500014],[-73.39106445312498,-48.14589843750001],[-73.60991210937499,-47.993945312500045],[-73.71586914062499,-47.65546875000001],[-73.94086914062498,-47.92939453125004],[-74.22705078124994,-47.96894531250001],[-74.654931640625,-47.702246093750034],[-74.5337890625,-47.567675781249974],[-74.24296874999999,-47.67929687499998],[-74.13408203125002,-47.590820312499986],[-74.48266601562497,-47.43046875],[-74.15839843749998,-47.18251953125002],[-74.31357421874998,-46.78818359374998],[-74.45419921875003,-46.76679687499997],[-74.51225585937496,-46.88515625000002],[-75.00595703125,-46.74111328124998],[-74.98417968750002,-46.51210937499995],[-75.54033203124999,-46.69873046874996],[-75.43037109374995,-46.93457031249996],[-75.70639648437498,-46.70527343749997],[-74.924462890625,-46.159667968750014],[-75.06669921874993,-45.874902343749994],[-74.15786132812497,-45.7671875],[-74.122705078125,-45.49619140625002],[-73.95717773437494,-45.40439453124998],[-73.825,-45.446875],[-74.01992187500002,-46.055859375],[-74.39296875,-46.21738281250005],[-73.96757812500002,-46.15410156250003],[-73.87871093749993,-45.846875],[-73.73525390624994,-45.81171875],[-73.70815429687502,-46.070312500000014],[-73.94863281249997,-46.533105468749966],[-73.845361328125,-46.56601562500002],[-73.59184570312493,-45.89912109375004],[-73.73076171874999,-45.47998046875],[-73.26621093749995,-45.346191406250014],[-72.933837890625,-45.45234374999997],[-73.44497070312497,-45.23818359374995],[-73.36245117187502,-44.97822265625001],[-72.73896484375001,-44.73417968750003],[-72.680078125,-44.59394531249997],[-72.66386718749999,-44.43642578124995],[-73.26508789062498,-44.16865234375001],[-73.22446289062498,-43.89794921875003],[-73.06879882812495,-43.86201171874998],[-72.99658203125,-43.63154296875001],[-73.07597656250002,-43.323632812499994],[-72.75800781249998,-43.039453125],[-72.84804687500002,-42.66914062499997],[-72.77392578125003,-42.505175781250045],[-72.63183593750003,-42.509667968749994],[-72.77324218749996,-42.257714843749994],[-72.63105468749995,-42.199804687500006],[-72.412353515625,-42.388183593750014],[-72.49941406249997,-41.98085937499999],[-72.82407226562503,-41.90878906249996],[-72.36040039062499,-41.64912109375],[-72.31826171875,-41.49902343749997],[-72.54238281250002,-41.690625],[-72.95283203124995,-41.51474609374998],[-73.24179687499995,-41.78085937500002],[-73.62402343750003,-41.77363281249997],[-73.73515625000002,-41.74248046875002],[-73.62392578125,-41.581347656250045],[-73.81074218749995,-41.51748046875001],[-73.96586914062493,-41.118261718750034],[-73.67099609375,-39.96318359374999],[-73.41040039062503,-39.78916015624998],[-73.22646484375002,-39.22441406250003],[-73.52021484375001,-38.509375],[-73.46479492187498,-38.04033203125003],[-73.66181640624998,-37.69853515625003],[-73.66240234375002,-37.341015625000026],[-73.60166015624998,-37.18847656250003],[-73.21596679687502,-37.16689453124998],[-73.11806640624997,-36.68837890625002],[-72.58735351562493,-35.759667968749994],[-72.62392578125002,-35.5857421875],[-72.22377929687494,-35.096191406250014],[-72.00283203124997,-34.16533203125],[-71.66435546875002,-33.65263671875],[-71.74296875,-33.09511718750001],[-71.45224609374998,-32.65957031250001],[-71.70893554687495,-30.62802734375002],[-71.66948242187499,-30.33037109374996],[-71.40039062499997,-30.142968749999966],[-71.31572265624996,-29.649707031250017],[-71.51923828124993,-28.926464843750026],[-71.30673828124998,-28.672460937499963],[-71.08652343749998,-27.814453124999957],[-70.92578125,-27.588671874999974],[-70.64658203124998,-26.329394531250017],[-70.71372070312498,-25.78417968749997],[-70.44536132812502,-25.17265624999999],[-70.57412109374994,-24.644335937500003],[-70.39233398437494,-23.565917968749957],[-70.59335937499995,-23.255468750000034],[-70.56318359374995,-23.057031250000023],[-70.33168945312494,-22.848632812500014],[-70.08002929687501,-21.356835937500037],[-70.19702148437494,-20.725390625],[-70.15742187499995,-19.70585937500003],[-70.41826171874999,-18.345605468750023],[-69.92636718749998,-18.206054687500014],[-69.80258789062498,-17.990234375000014],[-69.85209960937493,-17.70380859375001],[-69.68476562499995,-17.649804687500023],[-69.58642578125,-17.57324218749997],[-69.51093749999998,-17.50605468749997],[-69.31337890624997,-17.943164062500017],[-69.28232421875003,-17.96484375],[-69.09394531249993,-18.05048828125004],[-69.14545898437495,-18.14404296875],[-69.09228515624994,-18.28242187500004],[-69.02680664062493,-18.65625],[-68.97885742187503,-18.81298828125003],[-68.96831054687502,-18.967968749999983],[-68.85795898437499,-19.09335937500005],[-68.62055664062495,-19.29667968749999],[-68.54785156249997,-19.341113281249974],[-68.49199218749996,-19.381933593750034],[-68.47016601562495,-19.409960937499974],[-68.46289062499997,-19.43281250000001],[-68.57529296874998,-19.56015625000002],[-68.69829101562499,-19.721093750000037],[-68.69619140625,-19.74072265625003],[-68.57827148437494,-19.856542968750006],[-68.559375,-19.902343750000014],[-68.56069335937502,-19.96708984374996],[-68.75932617187499,-20.115527343750003],[-68.74516601562493,-20.45859375],[-68.48432617187498,-20.628417968749957],[-68.55825195312497,-20.90195312499999],[-68.197021484375,-21.30029296874997],[-68.18642578124997,-21.618554687499966],[-67.88173828124997,-22.493359375000026],[-67.87944335937496,-22.822949218750026],[-67.57993164062495,-22.89169921874999],[-67.36225585937493,-22.85517578125001],[-67.19487304687493,-22.821679687500037]]]]},"properties":{"name":"Chile","childNum":26}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[110.88876953125006,19.99194335937497],[111.01367187500003,19.65546875000001],[110.64091796875002,19.291210937499955],[110.45126953125012,18.747949218750023],[110.06738281249997,18.447558593750045],[109.51933593750007,18.21826171875003],[108.7015625,18.535253906250034],[108.66552734375003,19.304101562499994],[109.27666015625002,19.761132812500023],[109.17744140625004,19.768457031250023],[109.26347656250007,19.882666015625006],[110.1715820312501,20.053710937500057],[110.58818359375002,19.976367187500017],[110.6517578125,20.137744140625017],[110.88876953125006,19.99194335937497]]],[[[110.38515625000005,21.093164062499966],[110.52158203125006,21.083105468750063],[110.50390625000003,20.96772460937501],[110.28095703125004,21.001171874999983],[110.38515625000005,21.093164062499966]]],[[[112.64375,21.63964843750003],[112.525,21.62304687500003],[112.64765625000004,21.710253906250017],[112.64375,21.63964843750003]]],[[[112.79023437500004,21.601855468750045],[112.78203125000007,21.772265625000045],[112.86259765625002,21.75263671875004],[112.79023437500004,21.601855468750045]]],[[[118.1830078125,24.496289062499983],[118.0905273437501,24.446142578125063],[118.10380859375002,24.552343750000034],[118.1830078125,24.496289062499983]]],[[[119.82089843750006,25.45698242187504],[119.70029296875012,25.432714843750063],[119.72255859375005,25.638818359375023],[119.83837890625003,25.591064453125],[119.82089843750006,25.45698242187504]]],[[[121.2513671875,28.086425781250057],[121.13154296875004,28.062597656250006],[121.20546875,28.204394531250017],[121.2513671875,28.086425781250057]]],[[[122.29589843750003,29.96342773437499],[122.02402343750012,30.01333007812505],[121.96943359375004,30.143115234375017],[122.28447265625007,30.068017578124994],[122.29589843750003,29.96342773437499]]],[[[121.86269531250005,31.492285156249977],[121.519921875,31.549609375000017],[121.2111328125001,31.80537109375001],[121.86269531250005,31.492285156249977]]],[[[130.52695312500012,42.535400390625],[130.24667968750012,42.744824218749955],[130.24033203125006,42.891796874999955],[129.89824218750002,42.998144531250034],[129.69785156250012,42.448144531249994],[129.3136718750001,42.41357421874997],[128.92343750000006,42.038232421874966],[128.04521484375007,41.9875],[128.28925781250004,41.60742187500006],[128.14941406249997,41.38774414062496],[127.17968750000003,41.531347656250006],[126.95478515625004,41.76948242187501],[126.74306640625,41.724853515625],[125.98906250000002,40.904638671875034],[124.8893554687501,40.459814453125006],[124.36210937500002,40.004052734374994],[124.10576171875002,39.84101562499998],[123.65087890625003,39.881591796875],[122.8400390625001,39.600830078125],[121.98232421875,39.05317382812498],[121.67724609374997,39.00341796875006],[121.64990234375003,38.865087890625034],[121.16357421874997,38.73164062500001],[121.10673828125002,38.920800781249994],[121.6798828125001,39.10869140625002],[121.62763671875004,39.22016601562498],[121.81845703125006,39.38652343750002],[121.27548828125006,39.38476562500003],[121.26748046875,39.544677734375],[121.51757812499997,39.638964843750045],[121.51738281250002,39.84482421875006],[121.8009765625001,39.950537109375006],[122.27500000000012,40.541845703125034],[121.83486328125005,40.97426757812502],[121.72929687500002,40.84614257812504],[121.1745117187501,40.901269531249994],[120.47910156250006,40.23095703125003],[119.39111328125003,39.75249023437499],[118.976953125,39.182568359374955],[118.29785156249997,39.067089843749955],[118.04091796875,39.22675781249998],[117.86572265625003,39.191259765625034],[117.61669921875003,38.852880859375034],[117.5578125000001,38.625146484374994],[117.76669921875012,38.311669921874994],[118.01494140625007,38.18339843749996],[118.94003906250006,38.04277343750002],[119.08916015625007,37.70073242187496],[118.95263671875003,37.33115234374998],[119.28740234375002,37.138281250000034],[119.76054687500007,37.15507812499999],[120.31152343750003,37.62270507812505],[120.2572265625,37.67900390624996],[120.75,37.83393554687501],[121.64023437500012,37.46035156250002],[122.05664062500003,37.528906250000034],[122.66699218750003,37.40283203125003],[122.4466796875,37.06811523437503],[122.51972656250004,36.94682617187502],[122.34091796875012,36.83222656250004],[121.93271484375006,36.95947265625003],[121.05380859375006,36.61137695312499],[120.81083984375007,36.6328125],[120.89580078125007,36.44414062500002],[120.71152343750006,36.41328125000004],[120.6378906250001,36.129931640625045],[120.39306640625003,36.053857421874994],[120.32773437500006,36.228173828124994],[120.18330078125004,36.20244140624999],[120.094140625,36.11889648437503],[120.28476562500006,35.98442382812499],[119.42968749999997,35.301416015624994],[119.16533203125002,34.84882812499998],[119.20097656250002,34.748437499999966],[120.26669921875006,34.274023437500034],[120.87109374999997,33.016503906249994],[120.8532226562501,32.66137695312503],[121.34169921875005,32.42504882812503],[121.40390625000006,32.20625],[121.85634765625,31.816455078125045],[121.86630859375006,31.703564453124955],[121.68085937500004,31.71215820312503],[121.351953125,31.85878906250005],[120.97353515625,31.86938476562497],[120.52011718750006,32.10585937500002],[120.03593750000002,31.93627929687503],[120.7155273437501,31.983740234375006],[120.7877929687501,31.81977539062501],[121.66064453124997,31.319726562499994],[121.87792968750003,30.91699218750003],[121.41894531249997,30.789794921875057],[120.8214843750001,30.354638671875023],[120.44980468750006,30.38784179687505],[120.19462890625002,30.241308593750034],[120.49453125,30.303076171875006],[120.63339843750006,30.133154296875034],[121.25800781250004,30.30410156250005],[121.67792968750004,29.979101562500006],[122.08291015625005,29.870361328125057],[121.50625,29.484570312499955],[121.94121093750002,29.605908203124983],[121.91777343750007,29.13500976562497],[121.71748046875004,29.25634765625],[121.48710937500007,29.193164062500017],[121.67968749999997,28.953125],[121.54003906250003,28.931884765625],[121.6625,28.851416015625034],[121.47519531250006,28.64140625],[121.60996093750006,28.29213867187505],[121.27226562500002,28.222119140624983],[121.14570312500004,28.32666015624997],[120.95859375000006,28.037011718750023],[120.74765625000006,28.00996093750001],[120.83300781249997,27.891455078125034],[120.58750000000012,27.580761718749983],[120.60751953125012,27.41240234374996],[120.2787109375,27.097070312500023],[120.08671875000007,26.67158203125004],[119.88222656250005,26.610449218750006],[119.82421874999997,26.84638671875001],[119.71044921874997,26.728662109375023],[119.58818359375002,26.784960937500045],[119.8810546875001,26.33417968750004],[119.46308593750004,26.05468750000003],[119.13945312500007,26.12177734375001],[119.33203124999997,25.94873046875003],[119.61875000000012,26.003564453124994],[119.53945312500005,25.59125976562504],[119.6224609375,25.391162109375017],[119.180078125,25.449804687499977],[119.285546875,25.232226562500074],[118.97753906249997,25.209277343750017],[118.90908203125005,24.92890625000001],[118.63691406250004,24.835546874999977],[118.65703125000002,24.621435546874977],[118.0871093750001,24.627001953125045],[118.00595703125006,24.48198242187499],[117.84267578125005,24.47431640625004],[118.0560546875,24.24609374999997],[117.62822265625002,23.836718750000074],[117.46640625000012,23.84057617187497],[117.36767578124997,23.58862304687497],[117.29082031250007,23.71435546875],[117.08251953124997,23.578759765625023],[116.91064453124997,23.646679687499983],[116.86093750000006,23.453076171874983],[116.62939453124997,23.353857421875034],[116.69882812500006,23.277783203124983],[116.53828125000004,23.17968749999997],[116.47070312499997,22.945898437500034],[116.25185546875005,22.981347656249994],[115.85214843750006,22.801562500000045],[115.64042968750002,22.853417968750023],[115.49833984375002,22.718847656250063],[115.19580078125003,22.81728515625005],[114.85380859375007,22.616796875000063],[114.65166015625002,22.755273437500023],[114.55419921874997,22.52890625],[114.26601562500005,22.540966796874983],[114.01542968750007,22.51191406250001],[113.61962890624997,22.861425781249977],[113.6205078125,23.12749023437499],[113.51972656250004,23.102099609375074],[113.33105468749997,22.912011718749966],[113.55302734375002,22.594042968750045],[113.54912109375002,22.225195312500034],[113.14902343750012,22.075],[113.08876953125,22.207958984374983],[112.95390625000007,21.907324218750034],[112.80859374999997,21.944628906250074],[112.58632812500005,21.77685546875],[112.35966796875007,21.97802734375003],[112.30498046875002,21.74169921875003],[111.94394531250012,21.84965820312499],[111.60273437500004,21.55908203125003],[111.01689453125007,21.51171874999997],[110.56718750000002,21.21406250000001],[110.41093750000007,21.33813476562497],[110.15400390625004,20.944628906250017],[110.36542968750004,20.837597656249955],[110.31308593750012,20.67167968749999],[110.51152343750007,20.51826171875001],[110.34472656249997,20.29482421875005],[109.88251953125004,20.364062500000045],[109.96835937500006,20.448144531250023],[109.66259765625003,20.91689453125005],[109.68125000000012,21.13164062499999],[109.93076171875012,21.480566406250034],[109.6869140625,21.52460937500004],[109.56640624999997,21.690576171874994],[109.54404296875012,21.537939453125006],[109.14863281250004,21.425537109375],[109.1017578125001,21.59047851562505],[108.77167968750004,21.63046875],[108.59375,21.901025390624994],[108.47988281250005,21.904638671875006],[108.50214843750004,21.633447265624994],[108.32480468750006,21.693505859374994],[108.24628906250004,21.55839843749999],[107.97265624999997,21.507958984375023],[107.75927734374997,21.655029296875057],[107.35117187500012,21.60888671874997],[106.97099609375002,21.923925781250034],[106.66357421875003,21.97890625000005],[106.55039062500006,22.501367187499994],[106.78027343749997,22.778906250000034],[106.54179687500007,22.908349609375023],[106.2790039062501,22.857470703125045],[106.14843749999997,22.970068359375006],[105.8429687500001,22.922802734374955],[105.27539062500003,23.34521484375003],[104.86474609375003,23.136376953125023],[104.68730468750002,22.822216796874983],[104.37177734375004,22.704052734374983],[104.14306640624997,22.800146484375006],[103.94150390625006,22.540087890625045],[103.62021484375006,22.782031250000045],[103.49296875000007,22.587988281250034],[103.32666015625003,22.769775390625057],[102.98193359374997,22.4482421875],[102.47089843750004,22.75092773437501],[102.40644531250004,22.70800781249997],[102.2370117187501,22.466015624999983],[102.1759765625001,22.414648437500006],[102.12744140624997,22.379199218750045],[101.84179687500003,22.38847656249999],[101.75996093750004,22.490332031250034],[101.73876953124997,22.495263671874994],[101.70751953125003,22.486572265625],[101.67148437500006,22.462304687500023],[101.64619140625004,22.405419921874966],[101.61992187500002,22.32744140624999],[101.56787109374997,22.27636718749997],[101.52451171875006,22.25366210937497],[101.7365234375001,21.826513671874977],[101.74394531250007,21.77797851562505],[101.74726562500004,21.605761718750045],[101.72294921875007,21.31494140625003],[101.80058593750007,21.212597656249983],[101.78349609375007,21.204150390625017],[101.728125,21.156396484374994],[101.7047851562501,21.15014648437503],[101.54238281250005,21.23427734375005],[101.2814453125001,21.184130859375045],[101.24785156250007,21.197314453125045],[101.22441406250002,21.223730468750034],[101.21181640625,21.278222656250023],[101.2199218750001,21.34243164062505],[101.17539062500006,21.407519531250074],[101.19667968750005,21.522070312500063],[101.1388671875001,21.567480468749977],[101.07978515625004,21.75585937499997],[100.60458984375012,21.471777343750006],[100.14765625000004,21.480517578125017],[99.94072265625007,21.75874023437504],[99.9176757812501,22.02802734375001],[99.19296875000006,22.12597656249997],[99.50712890625002,22.959130859374994],[99.41806640625006,23.069238281250023],[98.86376953125003,23.191259765625034],[98.8322265625001,23.624365234374977],[98.67675781250003,23.905078125000045],[98.83505859375006,24.121191406250034],[98.2125,24.110644531250017],[97.56455078125012,23.911035156250023],[97.7082031250001,24.228759765625],[97.53144531250004,24.49169921875003],[97.58330078125002,24.77480468750005],[97.73789062500006,24.869873046875057],[97.8195312500001,25.251855468749994],[98.01074218749997,25.292529296875017],[98.14287109375007,25.571093750000017],[98.33378906250007,25.586767578125006],[98.65625,25.86357421874999],[98.56406250000006,26.072412109374994],[98.68554687499997,26.189355468750023],[98.7384765625001,26.785742187500006],[98.65117187500007,27.572460937499983],[98.4525390625,27.6572265625],[98.29882812499997,27.550097656250045],[98.06162109375012,28.185888671874977],[97.59921875000006,28.51704101562504],[97.53789062500002,28.510205078124983],[97.43144531250002,28.353906250000023],[97.35644531249997,28.254492187500006],[97.32158929493812,28.217097107438057],[97.3027336276825,28.08710519614969],[97.34382779482424,27.982305259167095],[97.04929369561631,27.76000444316393],[96.96494598325154,27.699301564540924],[96.19423412199573,28.04146177926422],[95.73730002295082,28.117613231051525],[95.11298892962586,27.748338353239472],[94.07167814294401,27.588707868507477],[93.61247595136224,27.323800298697016],[93.30681393470121,26.786120363519142],[92.74319481218781,26.833531317384058],[92.04974640832253,26.874866505386724],[92.07342257335648,26.915311275859864],[92.06813426293174,26.9752569185349],[92.02985139563152,27.03987087331446],[91.99856592104459,27.079255842602592],[91.99177981607339,27.100605151743654],[92.0025114452454,27.147290053160265],[92.03101585307499,27.214271359861193],[92.08387457645458,27.29090135496722],[92.04520857607581,27.364442429033787],[91.99069061380867,27.450181624174498],[91.95099838734396,27.45828799115413],[91.85276579410389,27.438593286730903],[91.74366351462741,27.442853010105477],[91.59505352446729,27.557262710287986],[91.63193359375012,27.759960937499983],[91.64189453125002,27.923242187500023],[91.36259958579089,28.02438066407592],[91.27304687500012,28.078369140625],[91.22587890625007,28.071240234374983],[91.07773437500012,27.974462890624977],[91.02080078125002,27.970068359374977],[90.71572265625,28.071728515624983],[90.63007812500004,28.078564453124955],[90.47734375000007,28.07084960937499],[90.3527343750001,28.080224609375023],[90.33310546875012,28.093994140625],[90.36298828125004,28.21650390625001],[90.34824218750006,28.24394531249999],[90.22080078125006,28.27773437500005],[90.10449218749997,28.302050781250017],[89.98105468750006,28.311181640625023],[89.8978515625,28.29414062500001],[89.81689453125003,28.25629882812501],[89.74980468750002,28.18818359375001],[89.65273437500005,28.158300781250034],[89.53691406250007,28.10742187499997],[89.4806640625001,28.059960937499994],[88.89140625000002,27.316064453124966],[88.83251953125003,27.36284179687499],[88.7648437500001,27.429882812499983],[88.74902343749997,27.521875],[88.82988281250002,27.76738281249999],[88.84882812500004,27.86865234375],[88.80371093750003,28.006933593750034],[88.57792968750002,28.093359375000034],[88.42597656250004,28.01166992187501],[88.27519531250007,27.968847656250006],[88.14111328125003,27.94892578125001],[88.10898437500006,27.933007812499966],[88.10976562500005,27.870605468750057],[87.8607421875,27.886083984375006],[87.62255859374997,27.81518554687503],[87.29072265625004,27.821923828124994],[87.14140625000002,27.838330078124955],[87.02011718750006,27.928662109374983],[86.9337890625001,27.96845703125001],[86.84238281250012,27.99916992187505],[86.750390625,28.022070312500006],[86.71962890625005,28.070654296875034],[86.69052734375006,28.09492187500001],[86.61445312500004,28.10302734374997],[86.55449218750007,28.08520507812497],[86.51689453125007,27.963525390624966],[86.40869140625003,27.928662109374983],[86.32861328124997,27.95952148437496],[86.2179687500001,28.022070312500006],[86.13701171875002,28.114355468750063],[86.07871093750006,28.08359375],[86.0641601562501,27.934716796874966],[85.99453125000005,27.910400390625],[85.95410156249997,27.92822265624997],[85.92167968750002,27.989697265624983],[85.84023437500005,28.135351562499977],[85.75947265625004,28.220654296874955],[85.67832031250012,28.277441406249977],[85.41064453125003,28.27602539062505],[85.21210937500004,28.292626953124966],[85.1224609375,28.315966796875017],[85.08857421875004,28.37226562500001],[85.121484375,28.484277343750023],[85.16015624999997,28.571875],[85.15908203125,28.592236328124983],[85.1263671875,28.602636718750063],[85.06914062500007,28.60966796874999],[84.85507812500006,28.553613281250023],[84.796875,28.560205078125023],[84.2287109375001,28.911767578124966],[84.17558593750002,29.036376953125057],[84.12783203125005,29.15629882812496],[84.10136718750002,29.21997070312497],[84.02197265624997,29.25385742187504],[83.93593750000005,29.27949218750001],[83.58349609375003,29.18359375000003],[83.15546875000004,29.612646484375034],[82.22070312500003,30.063867187500023],[82.04335937500005,30.326757812500034],[81.8548828125,30.362402343750006],[81.64189453125007,30.3875],[81.4171875000001,30.33759765625001],[81.25507812500004,30.09331054687499],[81.17714843750005,30.039892578125034],[80.98544921875006,30.23710937499999],[80.87353515625003,30.290576171875045],[80.19121093750002,30.56840820312496],[80.20712890625006,30.683740234375023],[79.92451171875004,30.888769531250034],[79.66425781250004,30.96523437499999],[79.38847656250007,31.064208984375],[79.10712890625004,31.402636718750017],[78.74355468750005,31.323779296875017],[78.7550781250001,31.55029296875],[78.69345703125006,31.740380859374994],[78.72558593750003,31.983789062500023],[78.49589843750002,32.21577148437504],[78.4552734375001,32.30034179687502],[78.41748046874997,32.466699218749994],[78.38964843749997,32.51987304687498],[78.73671875,32.55839843750002],[78.75351562500012,32.49926757812506],[78.91894531249997,32.35820312500002],[79.16992187500003,32.497216796874994],[79.14550781250003,33.00146484375006],[79.10283203125007,33.05253906249996],[79.13515625000005,33.17192382812496],[79.1125,33.22626953125001],[78.94843750000004,33.346533203125006],[78.86503906250002,33.43110351562501],[78.78378906250006,33.80878906250004],[78.72666015625006,34.013378906249955],[78.97060546875,34.22822265625004],[78.93642578125,34.35195312500002],[78.86484375000006,34.39033203125001],[78.32695312500007,34.60639648437498],[78.15849609375002,34.94648437499998],[78.07578125000006,35.13491210937502],[78.0426757812501,35.47978515625002],[77.79941406250006,35.49589843750002],[77.44648437500004,35.47558593750006],[77.29482421875005,35.508154296875034],[77.09003906250004,35.55205078124999],[76.87890625000003,35.61328125000003],[76.76689453125002,35.661718750000034],[76.72753906250003,35.67866210937504],[76.63183593749997,35.729394531249966],[76.56347656249997,35.77299804687499],[76.55126953124997,35.887060546875034],[76.50205078125006,35.87822265625002],[76.38574218750003,35.837158203125],[76.25166015625004,35.8109375],[76.17783203125012,35.810546875],[76.14785156250005,35.82900390625002],[76.07089843750006,35.983007812500034],[75.91230468750004,36.048974609374994],[75.97441406250007,36.38242187500006],[75.9518554687501,36.458105468750034],[75.9330078125,36.52158203124998],[75.840234375,36.64970703124999],[75.7721679687501,36.694921875000034],[75.6671875000001,36.741992187500045],[75.57373046874997,36.75932617187502],[75.46025390625002,36.725048828124955],[75.42421875000005,36.73823242187498],[75.37685546875,36.88369140625005],[75.34667968749997,36.913476562499966],[75.05390625000004,36.98715820312498],[74.94912109375,36.96835937500006],[74.88925781250006,36.95244140625002],[74.69218750000007,37.035742187500006],[74.60058593749997,37.03666992187502],[74.54140625,37.02216796875001],[74.52646484375006,37.03066406250005],[74.49794921875,37.057226562500034],[74.37617187500004,37.13735351562502],[74.37216796875006,37.15771484375],[74.558984375,37.23662109374999],[74.66894531250003,37.266699218750006],[74.72666015625006,37.29072265625001],[74.7389648437501,37.28564453125003],[74.76738281250002,37.249169921874966],[74.840234375,37.22504882812504],[74.89130859375004,37.231640624999955],[75.11875,37.38569335937498],[74.8942382812501,37.60141601562498],[74.81230468750002,38.46030273437498],[74.27744140625,38.659765625000034],[74.02558593750004,38.53984375000002],[73.80166015625,38.60688476562501],[73.69609375000007,38.85429687499996],[73.8052734375,38.968652343749994],[73.60732421875,39.229199218749955],[73.63632812500006,39.396679687499955],[73.63164062500007,39.44887695312502],[73.82294921875004,39.48896484375004],[73.90712890625,39.578515624999966],[73.9146484375,39.60649414062499],[73.88251953125004,39.71455078124998],[73.83974609375005,39.76284179687505],[73.8353515625,39.800146484375006],[73.85625,39.828662109375045],[73.88457031250002,39.87792968750006],[73.93876953125002,39.97880859374999],[73.99160156250005,40.04311523437502],[74.83046875,40.32851562499999],[74.80126953124997,40.428515625000045],[74.83515625000004,40.482617187499955],[74.865625,40.493505859375034],[75.0044921875,40.44951171874996],[75.11132812499997,40.4541015625],[75.24101562500002,40.48027343750002],[75.52080078125002,40.627539062500006],[75.55556640625,40.625195312499955],[75.6771484375,40.305810546874994],[75.87197265625,40.30322265625],[76.25830078124997,40.43076171875006],[76.3185546875001,40.352246093749955],[76.39638671875005,40.389794921874966],[76.4801757812501,40.44951171874996],[76.57792968750002,40.577880859375],[76.62216796875006,40.66235351562497],[76.6398437500001,40.74223632812499],[76.66113281249997,40.77963867187498],[76.70839843750005,40.818115234375],[76.82402343750002,40.982324218749966],[76.90771484374997,41.02416992187497],[76.98662109375002,41.039160156250006],[77.58173828125004,40.99277343750006],[77.71933593750012,41.024316406249994],[77.81523437500002,41.05561523437498],[77.9564453125,41.05068359375005],[78.1234375,41.07563476562498],[78.34628906250012,41.28144531249998],[78.36240234375012,41.37163085937496],[78.44287109374997,41.41752929687499],[78.742578125,41.56005859375],[79.29355468750006,41.78281249999998],[79.76611328124997,41.89887695312501],[79.84042968750012,41.99575195312502],[79.90966796875003,42.014990234375034],[80.21621093750005,42.03242187500004],[80.23515625000007,42.04345703124997],[80.24619140625012,42.05981445312503],[80.209375,42.190039062500006],[80.20224609375012,42.73447265624998],[80.53896484375005,42.873486328124955],[80.39023437500006,43.043115234374966],[80.78574218750006,43.16157226562504],[80.35527343750002,44.09726562500006],[80.48154296875006,44.71464843749999],[79.871875,44.88378906249997],[80.05917968750012,45.006445312500006],[81.69199218750012,45.34936523437497],[81.94492187500006,45.16083984375001],[82.26660156249997,45.21909179687498],[82.52148437500003,45.12548828125],[82.61162109375007,45.424267578124955],[82.31523437500002,45.59492187499998],[83.02949218750004,47.18593750000002],[84.016015625,46.97050781250002],[84.66660156250006,46.97236328125004],[84.78613281249997,46.83071289062505],[85.484765625,47.06352539062496],[85.65664062500005,47.254638671875],[85.52597656250006,47.915625],[85.7494140625,48.38505859374999],[86.54941406250012,48.52861328125002],[86.8083007812501,49.04970703125002],[87.32285156250012,49.085791015625006],[87.41669921875004,49.07661132812501],[87.5158203125001,49.122412109375006],[87.7625,49.16582031249996],[87.81425781250002,49.162304687499955],[87.87216796875012,49.000146484374966],[87.74316406250003,48.88164062499999],[87.83183593750007,48.79165039062505],[88.02792968750006,48.735595703125],[88.06005859375003,48.707177734374966],[87.9796875000001,48.55512695312498],[88.30996093750005,48.47207031250002],[88.41396484375,48.403417968750006],[88.51708984374997,48.384472656249955],[88.56679687500005,48.31743164062496],[88.57597656250007,48.220166015624955],[88.68183593750004,48.170556640624994],[88.83828125000005,48.101708984374994],[88.91777343750007,48.089013671874966],[89.04765625000007,48.002539062500034],[89.47919921875004,48.02905273437503],[89.5609375,48.00395507812496],[89.778125,47.82700195312498],[89.83134765625002,47.82329101562502],[89.91044921875007,47.844335937500034],[89.95869140625004,47.88632812499998],[90.02792968750012,47.877685546875],[90.1032226562501,47.74541015624996],[90.19101562500012,47.70209960937501],[90.31328125000007,47.67617187499999],[90.33066406250006,47.655175781249966],[90.42519531250005,47.50410156250001],[90.49619140625012,47.28515625],[90.64335937500007,47.10029296874998],[90.71552734375004,47.00385742187498],[90.7990234375001,46.98515624999999],[90.86992187500002,46.95449218750005],[90.91054687500005,46.88325195312501],[90.9857421875,46.7490234375],[90.9115234375,46.270654296874994],[90.94755859375002,46.17729492187499],[90.99677734375004,46.10498046875],[91.00175781250007,46.03579101562502],[90.6618164062501,45.525244140625006],[90.87724609375002,45.19609375000002],[91.05,45.217431640624994],[91.584375,45.07651367187498],[92.42382812499997,45.008935546874994],[92.57890625000002,45.01098632812506],[92.78789062500007,45.035742187500034],[93.51621093750012,44.944482421874994],[94.71201171875012,44.35083007812503],[95.35029296875004,44.27807617187503],[95.32558593750005,44.03935546874999],[95.52558593750004,43.953955078125006],[95.85957031250004,43.27597656249998],[96.38544921875004,42.72036132812502],[97.20566406250012,42.78979492187506],[99.46787109375012,42.568212890625034],[99.98378906250005,42.67734375000006],[100.08632812500005,42.67075195312506],[100.51904296875003,42.61679687499998],[101.09199218750004,42.55131835937496],[101.49531250000004,42.53876953124998],[101.57910156249997,42.52353515624998],[101.65996093750002,42.50004882812499],[101.97294921875002,42.21586914062502],[102.15664062500005,42.158105468749966],[102.57519531249997,42.09208984375002],[103.07285156250006,42.00595703125006],[103.7111328125001,41.75131835937506],[103.99726562500004,41.796972656250034],[104.30517578124997,41.84614257812501],[104.49824218750004,41.87700195312499],[104.49824218750004,41.65869140625],[104.86035156250003,41.64375],[104.98203125000012,41.59550781250002],[105.05058593750002,41.61591796875001],[105.1154296875001,41.66328124999998],[105.19707031250002,41.738037109375],[105.31435546875005,41.77089843750005],[105.86757812500005,41.993994140625034],[106.77001953125003,42.28872070312502],[108.17119140625002,42.44731445312502],[108.68730468750002,42.416113281250034],[109.33984374999997,42.43837890625005],[109.44316406250002,42.455957031249994],[110.40039062499997,42.77368164062497],[111.00722656250005,43.34140624999998],[111.878125,43.68017578125],[111.93173828125012,43.81494140625],[111.40224609375005,44.367285156250006],[111.89804687500006,45.064062500000034],[112.03261718750005,45.08164062500006],[112.11289062500006,45.06293945312498],[112.41132812500004,45.05820312499998],[112.49931640625002,45.01093750000004],[112.59677734375006,44.917675781249955],[112.7067382812501,44.883447265624994],[113.04941406250006,44.81035156250002],[113.3009765625001,44.79165039062502],[113.50791015625006,44.76235351562502],[113.58701171875006,44.745703125],[113.65263671875002,44.76347656249999],[113.87705078125012,44.89619140625001],[114.03027343749997,44.942578124999955],[114.08027343750004,44.97114257812501],[114.41914062500004,45.20258789062501],[114.56015625000012,45.38999023437498],[114.73876953124997,45.41962890624998],[114.91923828125007,45.378271484375006],[115.16259765624997,45.390234375000034],[115.6810546875,45.45825195312503],[116.19765625,45.739355468750006],[116.240625,45.795996093750006],[116.22910156250012,45.84575195312502],[116.21298828125012,45.88691406249998],[116.56259765625012,46.28979492187497],[116.85908203125004,46.387939453125],[117.3333984375,46.36201171875004],[117.35693359375003,46.391308593749955],[117.35634765625,46.436669921874966],[117.39218750000012,46.53759765625003],[117.40556640625007,46.57089843750006],[117.43808593750012,46.58623046874999],[117.546875,46.58828125000005],[117.74121093749997,46.51816406250006],[118.07128906249997,46.666601562500006],[118.15683593750006,46.678564453125034],[118.30869140625012,46.71704101562497],[118.40439453125006,46.70317382812499],[118.58046875,46.69189453125],[118.64873046875002,46.70166015625006],[118.72294921875007,46.69189453125],[118.8439453125001,46.76020507812498],[118.95712890625006,46.73486328124997],[119.16210937499997,46.638671875],[119.33183593750002,46.61381835937499],[119.47402343750005,46.626660156249955],[119.62021484375006,46.60395507812504],[119.70664062500006,46.60600585937502],[119.74746093750005,46.62719726562497],[119.86718750000003,46.67216796874999],[119.89785156250005,46.857812499999966],[119.71113281250004,47.15],[119.08193359375,47.654150390625034],[119.01757812500003,47.68535156249999],[118.88027343750005,47.72509765625],[118.75996093750004,47.75761718749996],[118.69052734375012,47.822265625],[118.56777343750005,47.94326171875005],[118.49843750000005,47.98398437499998],[117.76835937500002,47.98789062499998],[117.3507812500001,47.65219726562498],[117.28593750000002,47.666357421875034],[117.06972656250005,47.80639648437506],[116.95166015624997,47.836572265624966],[116.90117187500007,47.85307617187496],[116.76054687500002,47.869775390624994],[116.65195312500012,47.86450195312497],[116.51347656250007,47.839550781249955],[116.37822265625002,47.84404296874999],[116.31718750000002,47.85986328125],[116.2311523437501,47.85820312500002],[116.07480468750012,47.78955078125],[115.99384765625004,47.71132812500005],[115.89824218750002,47.68691406250005],[115.6164062500001,47.874804687500045],[115.52509765625004,48.13085937499997],[115.63945312500007,48.18623046874998],[115.785546875,48.24824218750001],[115.7965820312501,48.346337890624994],[115.7916992187501,48.455712890624994],[115.8205078125001,48.57724609375006],[116.6833007812501,49.82377929687499],[117.8734375,49.51347656250002],[118.4515625,49.84448242187503],[119.25986328125012,50.06640625000003],[119.34628906250012,50.278955078124994],[119.16367187500006,50.40600585937503],[120.06689453125003,51.60068359375006],[120.74980468750007,52.096533203125006],[120.65615234375,52.56665039062503],[120.0675781250001,52.632910156250034],[120.09453125000007,52.787207031250034],[120.98544921875012,53.28457031250002],[123.6078125,53.546533203124994],[124.81230468750002,53.133837890625045],[125.075,53.20366210937496],[125.64902343750012,53.042285156250045],[126.34169921875,52.36201171875001],[126.92480468749997,51.10014648437496],[127.30703125000005,50.70795898437501],[127.33720703125007,50.35014648437502],[127.590234375,50.20898437500003],[127.55078124999997,49.801806640625045],[127.99960937500006,49.56860351562506],[128.70400390625,49.60014648437499],[129.0651367187501,49.374658203124966],[129.49814453125012,49.38881835937502],[130.1959960937501,48.89165039062499],[130.553125,48.861181640625006],[130.5521484375,48.602490234374955],[130.80429687500012,48.34150390624998],[130.7326171875001,48.01923828124998],[130.96191406249997,47.70932617187498],[132.47626953125004,47.714990234374994],[132.7072265625001,47.94726562500006],[133.14404296875003,48.10566406249998],[133.46835937500006,48.09716796875003],[134.29335937500005,48.37343750000002],[134.66523437500004,48.25390625],[134.56601562500006,48.02250976562502],[134.75234375,47.71542968749998],[134.1676757812501,47.30219726562501],[133.86132812500003,46.24775390625004],[133.43642578125,45.60468750000004],[133.18603515625003,45.49482421875004],[133.1134765625001,45.130712890625006],[132.93603515624997,45.029931640624994],[131.85185546875002,45.32685546875001],[131.44687500000012,44.984033203124966],[130.9816406250001,44.844335937500034],[131.2552734375,44.07158203124999],[131.25732421875003,43.378076171874994],[131.06855468750004,42.90224609375005],[130.42480468749997,42.72705078124997],[130.52695312500012,42.535400390625]]],[[[113.9977539062501,22.210498046875045],[113.83886718749997,22.24169921875003],[114.04394531250003,22.33339843750005],[113.9977539062501,22.210498046875045]]],[[[114.01542968750007,22.51191406250001],[114.26601562500005,22.540966796874983],[114.26796875,22.295556640624966],[113.93730468750002,22.364990234375],[114.01542968750007,22.51191406250001]]],[],[[[118.4074218750001,24.522119140624994],[118.43271484375006,24.414355468750074],[118.29511718750004,24.436328125000017],[118.4074218750001,24.522119140624994]]],[[[121.00878906249997,22.62036132812497],[120.83984375000003,21.925],[120.2328125,22.71791992187505],[120.0724609375001,23.149755859375006],[120.13212890625007,23.652929687500034],[121.040625,25.032812500000034],[121.59365234375,25.275341796874983],[121.92900390625002,24.973730468749977],[121.39746093750003,23.172509765625023],[121.00878906249997,22.62036132812497]]]]},"properties":{"name":"China","childNum":15}},{"geometry":{"type":"Polygon","coordinates":[[[-5.262304687499977,10.319677734374991],[-4.72177734374992,9.756542968750026],[-4.625830078125006,9.713574218749969],[-4.526611328124943,9.723486328125034],[-4.406201171874926,9.647998046875031],[-4.332226562499955,9.645703125],[-4.18115234375,9.78173828125],[-3.790625,9.917187499999983],[-3.581152343749977,9.924316406250014],[-3.289697265625023,9.882226562500051],[-3.223535156249937,9.895458984374997],[-3.160693359374932,9.849169921874974],[-3.095800781249949,9.752099609375009],[-3.042626953124937,9.72089843750004],[-2.988281249999972,9.687353515624963],[-2.900878906249943,9.534619140625026],[-2.875146484374937,9.500927734374997],[-2.816748046874949,9.425830078124974],[-2.766601562499943,9.424707031250009],[-2.7171875,9.457128906250048],[-2.695849609374989,9.481347656250009],[-2.686132812499977,9.43173828125002],[-2.705761718749983,9.351367187499989],[-2.74692382812492,9.04511718750004],[-2.689892578124955,9.02509765625004],[-2.649218750000017,8.956591796875031],[-2.600390625000017,8.800439453125023],[-2.505859375000028,8.208740234375],[-2.538281249999955,8.171630859374986],[-2.61171875,8.147558593749963],[-2.619970703125006,8.12109375],[-2.600976562499937,8.082226562499983],[-2.613378906249977,8.046679687500017],[-2.668847656249994,8.022216796875014],[-2.789746093749955,7.931933593750003],[-2.959082031249977,7.454541015624997],[-3.227148437499977,6.749121093749991],[-2.998291015624972,5.711328125000051],[-2.793652343749955,5.600097656250028],[-2.754980468749977,5.432519531249994],[-2.815673828125,5.153027343749997],[-3.168701171874972,5.203027343749966],[-3.199951171874943,5.3544921875],[-3.347558593749994,5.13066406249996],[-4.120166015625017,5.309716796875023],[-4.60888671875,5.235888671875003],[-4.037207031249977,5.23012695312498],[-4.899707031249932,5.138330078125023],[-5.282373046874994,5.210253906250017],[-5.36752929687492,5.15078125],[-5.061816406249989,5.13066406249996],[-5.913769531249926,5.0109375],[-7.544970703124989,4.351318359375],[-7.574658203124983,4.572314453124989],[-7.585058593749977,4.916748046875],[-7.39990234375,5.550585937499989],[-7.454394531249989,5.841308593749972],[-7.636132812499994,5.90771484375],[-7.730371093749994,5.919042968749991],[-7.800927734374994,6.038916015624991],[-7.833251953125,6.076367187499983],[-7.855517578125017,6.150146484375],[-7.888623046875011,6.234863281250028],[-7.981591796874937,6.2861328125],[-8.287109375,6.31904296875004],[-8.587890625,6.490527343749989],[-8.324511718749989,6.920019531249991],[-8.408740234374989,7.411816406249997],[-8.429980468749989,7.601855468749989],[-8.351757812499926,7.590576171875],[-8.231884765624955,7.556738281250034],[-8.205957031249994,7.590234375000023],[-8.115429687499926,7.760742187500028],[-8.126855468749937,7.867724609374974],[-8.00986328124992,8.078515625000023],[-8.048583984375,8.169726562500045],[-8.140625,8.181445312500031],[-8.217138671874949,8.219677734375011],[-8.256103515625,8.253710937500017],[-8.244140624999943,8.407910156249983],[-8.236962890624994,8.455664062500034],[-7.953125,8.477734375],[-7.823583984374977,8.467675781249994],[-7.738964843749983,8.375244140624986],[-7.696093749999932,8.375585937499977],[-7.71958007812492,8.643017578125011],[-7.950976562499989,8.786816406249997],[-7.938183593749983,8.97978515624996],[-7.902099609375,9.017089843750014],[-7.777978515624937,9.080859375000031],[-7.799804687499943,9.115039062499989],[-7.839404296875017,9.151611328124972],[-7.918066406249949,9.188525390625031],[-7.896191406249955,9.415869140624991],[-8.136962890624972,9.49570312499999],[-8.155175781249937,9.973193359375017],[-7.990625,10.1625],[-7.661132812500028,10.427441406250011],[-7.385058593749989,10.340136718749989],[-7.01708984375,10.143261718750026],[-6.950341796874994,10.342333984374989],[-6.693261718750023,10.34946289062502],[-6.669335937499937,10.39218750000002],[-6.69199218749992,10.512011718750017],[-6.686132812499977,10.578027343750051],[-6.676367187499949,10.633789062500043],[-6.654150390624949,10.65644531250004],[-6.482617187499983,10.561230468749997],[-6.250244140625,10.717919921875037],[-6.190673828124943,10.400292968749994],[-6.192626953124972,10.369433593750003],[-6.241308593749949,10.279199218750009],[-6.238378906249977,10.26162109374998],[-6.117187499999972,10.201904296874986],[-6.034570312499937,10.194824218750057],[-5.907568359375006,10.307226562500034],[-5.896191406249983,10.354736328125028],[-5.843847656249977,10.389550781250023],[-5.694287109374983,10.433203125000034],[-5.556591796874983,10.439941406249986],[-5.382275390625011,10.314013671875003],[-5.262304687499977,10.319677734374991]]]},"properties":{"name":"Côte d'Ivoire","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[15.480078125,7.523779296874991],[15.206738281250011,7.206152343749991],[14.7392578125,6.27978515625],[14.43115234375,6.038720703124994],[14.616894531250011,5.865136718749994],[14.56298828125,5.279931640624994],[14.73125,4.602392578124991],[15.063574218750006,4.284863281249997],[15.128710937500017,3.826904296875],[16.0634765625,2.90859375],[16.183398437500017,2.270068359374989],[16.059375,1.676220703124997],[15.741601562500023,1.914990234374997],[14.902441406250006,2.012304687499991],[14.578906250000017,2.199121093749994],[13.293554687500006,2.161572265624997],[13.2203125,2.256445312499991],[11.558984375000023,2.302197265624997],[11.348437500000017,2.299707031249994],[11.328710937500006,2.167431640624997],[11.096582031250023,2.16748046875],[10.790917968750023,2.16757812499999],[9.979882812500023,2.167773437499989],[9.8701171875,2.21328125],[9.8369140625,2.242382812499997],[9.830371093750017,2.275488281249991],[9.826171875,2.297802734374997],[9.80078125,2.304443359375],[9.82177734375,2.539257812499997],[9.948437500000011,3.079052734374997],[9.672070312500011,3.53759765625],[9.765722656250006,3.623828124999989],[9.642382812500017,3.611767578124997],[9.55615234375,3.798046875],[9.739648437500023,3.852929687499994],[9.639941406250017,3.96533203125],[9.688867187500023,4.056396484375],[9.483691406250017,4.066113281249997],[9.42529296875,3.922314453124997],[9.000097656250006,4.091601562499989],[8.918261718750017,4.553759765624989],[8.660351562500011,4.670996093749991],[8.65625,4.516357421875],[8.53955078125,4.571875],[8.715625,5.046875],[8.997167968750006,5.917724609375],[9.490234375,6.418652343749997],[9.779882812500006,6.76015625],[9.820703125000023,6.783935546875],[9.874218750000011,6.803271484374989],[10.038867187500017,6.92138671875],[10.1435546875,6.996435546874991],[10.167773437500017,6.959179687499997],[10.185546875,6.912792968749997],[10.205468750000023,6.8916015625],[10.293066406250006,6.876757812499989],[10.413183593750006,6.877734374999989],[10.60625,7.063085937499991],[10.954199218750006,6.7765625],[11.032519531250017,6.697900390624994],[11.1064453125,6.457714843749997],[11.1533203125,6.437939453124997],[11.2373046875,6.450537109374991],[11.401757812500023,6.533935546875],[11.551660156250023,6.697265625],[11.580078125,6.888867187499997],[11.657519531250017,6.9515625],[11.861425781250006,7.11640625],[11.767382812500017,7.272265624999989],[11.809179687500006,7.345068359374991],[12.016015625000023,7.589746093749994],[12.2333984375,8.282324218749991],[12.403515625000011,8.595556640624991],[12.582714843750011,8.624121093749991],[12.651562500000011,8.667773437499989],[12.7822265625,8.81787109375],[12.806542968750023,8.886621093749994],[12.875683593750011,9.303515624999989],[12.929492187500017,9.42626953125],[13.19873046875,9.563769531249989],[13.269921875000023,10.036181640624989],[13.41455078125,10.171435546874989],[13.535351562500011,10.60507812499999],[13.699902343750011,10.873144531249991],[13.89208984375,11.140087890624997],[13.9814453125,11.211865234374997],[14.056738281250006,11.245019531249994],[14.143261718750011,11.24853515625],[14.202343750000011,11.268164062499991],[14.559765625000011,11.492285156249991],[14.619726562500006,12.150976562499991],[14.518945312500023,12.298242187499994],[14.272851562500023,12.356494140624989],[14.184863281250017,12.447216796874997],[14.06396484375,13.07851562499999],[14.244824218750011,13.07734375],[14.461718750000017,13.021777343749989],[14.847070312500023,12.502099609374994],[15.08125,11.845507812499989],[15.029882812500006,11.11367187499999],[15.132226562500023,10.648486328124989],[15.276074218750011,10.357373046874997],[15.654882812500006,10.0078125],[14.243261718750006,9.979736328125],[13.977246093750011,9.691552734374994],[14.332324218750017,9.20351562499999],[15.1162109375,8.557324218749997],[15.5498046875,7.787890624999989],[15.480078125,7.523779296874991]]]},"properties":{"name":"Cameroon","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[27.4033203125,5.109179687499989],[27.7880859375,4.644677734374994],[28.19208984375001,4.350244140624994],[28.427539062500017,4.324169921874997],[28.72705078125,4.504980468749991],[29.224902343750017,4.391894531249989],[29.469628906250023,4.61181640625],[29.676855468750006,4.5869140625],[30.194921875,3.98193359375],[30.50830078125,3.835693359375],[30.586718750000017,3.62421875],[30.757226562500023,3.62421875],[30.83857421875001,3.49072265625],[30.90644531250001,3.408935546875],[30.754003906250006,3.041796874999989],[30.8466796875,2.847021484374991],[30.728613281250006,2.455371093749989],[31.176367187500006,2.270068359374989],[31.252734375000017,2.044580078124994],[29.94287109375,0.819238281249994],[29.934472656250023,0.4990234375],[29.717675781250023,0.098339843749997],[29.576953125000017,-1.387890625000011],[29.196582031250017,-1.719921875000011],[29.13154296875001,-2.195117187500003],[28.876367187500023,-2.400292968750009],[28.893945312500023,-2.635058593750003],[29.01435546875001,-2.72021484375],[29.224414062500017,-3.053515625],[29.211816406250023,-3.833789062500003],[29.403222656250023,-4.449316406250006],[29.404199218750023,-4.496679687500006],[29.32568359375,-4.835644531250011],[29.32343750000001,-4.898828125],[29.3427734375,-4.983105468750011],[29.542382812500023,-5.499804687500003],[29.594140625000023,-5.65078125],[29.60703125,-5.72265625],[29.59638671875001,-5.775976562500006],[29.490820312500006,-5.965429687500006],[29.480078125,-6.025],[29.50625,-6.172070312500011],[29.540820312500017,-6.313867187500009],[29.590625,-6.394433593750009],[29.70966796875001,-6.616894531250011],[29.798144531250017,-6.69189453125],[29.961816406250023,-6.803125],[30.10625,-6.9150390625],[30.212695312500017,-7.037890625],[30.31318359375001,-7.203710937500006],[30.40673828125,-7.460644531250011],[30.75117187500001,-8.193652343750003],[28.89814453125001,-8.485449218750006],[28.869531250000023,-8.785839843750011],[28.400683593750017,-9.224804687500011],[28.60419921875001,-9.678808593750006],[28.6455078125,-10.550195312500009],[28.383398437500006,-11.566699218750003],[28.482519531250006,-11.812109375],[29.064355468750023,-12.348828125000011],[29.48554687500001,-12.41845703125],[29.508203125000023,-12.228222656250011],[29.79511718750001,-12.155468750000011],[29.775195312500017,-13.438085937500006],[29.55419921875,-13.248925781250009],[29.20185546875001,-13.398339843750009],[29.014257812500006,-13.368847656250011],[28.730078125,-12.925488281250011],[28.550878906250006,-12.836132812500011],[28.412890625000017,-12.51806640625],[27.573828125,-12.22705078125],[27.1591796875,-11.579199218750006],[26.824023437500017,-11.965234375],[26.025976562500006,-11.89013671875],[25.349414062500017,-11.623046875],[25.28876953125001,-11.21240234375],[24.3779296875,-11.417089843750006],[24.36572265625,-11.1298828125],[23.96650390625001,-10.871777343750011],[23.901171875000017,-10.983203125],[23.833886718750023,-11.013671875],[23.463964843750006,-10.969335937500006],[23.076269531250006,-11.087890625],[22.814746093750017,-11.080273437500011],[22.56103515625,-11.055859375000011],[22.486132812500017,-11.08671875],[22.392968750000023,-11.159472656250003],[22.31494140625,-11.198632812500009],[22.27880859375,-11.194140625],[22.226171875,-11.121972656250009],[22.203515625000023,-10.829492187500009],[22.307031250000023,-10.691308593750009],[22.19775390625,-10.040625],[21.81318359375001,-9.46875],[21.905371093750006,-8.693359375],[21.806054687500023,-7.32861328125],[21.751074218750006,-7.30546875],[21.190332031250023,-7.284960937500003],[20.910937500000017,-7.281445312500011],[20.607812500000023,-7.277734375],[20.558398437500017,-7.244433593750003],[20.53583984375001,-7.182812500000011],[20.536914062500017,-7.121777343750011],[20.598730468750006,-6.93515625],[20.59003906250001,-6.919921875],[20.482226562500017,-6.915820312500003],[20.190039062500006,-6.9462890625],[19.997460937500023,-6.976464843750009],[19.87519531250001,-6.986328125],[19.527636718750017,-7.144433593750009],[19.483789062500023,-7.279492187500011],[19.479882812500023,-7.47216796875],[19.371679687500006,-7.655078125],[19.369921875000017,-7.70654296875],[19.3408203125,-7.966601562500003],[19.142675781250006,-8.00146484375],[18.944433593750006,-8.00146484375],[18.56269531250001,-7.9359375],[18.0087890625,-8.107617187500011],[17.643359375000017,-8.090722656250009],[17.57958984375,-8.099023437500009],[16.984765625000023,-7.257421875],[16.91943359375,-6.933984375],[16.813085937500006,-6.772558593750006],[16.742968750000017,-6.618457031250003],[16.697265625,-6.164257812500011],[16.537109375,-5.9658203125],[16.431445312500017,-5.900195312500003],[16.315234375000017,-5.865625],[13.978515625,-5.857226562500003],[13.346484375000017,-5.863378906250006],[13.184375,-5.85625],[12.452929687500017,-6.00048828125],[12.213671875000017,-5.758691406250009],[12.484570312500011,-5.71875],[12.451464843750017,-5.071484375000011],[12.502734375000017,-5.036914062500003],[12.573535156250017,-4.99658203125],[12.59619140625,-4.978417968750009],[12.8296875,-4.736621093750003],[12.947460937500011,-4.6953125],[13.057324218750011,-4.651074218750011],[13.07275390625,-4.634765625],[13.08740234375,-4.601953125],[13.136621093750023,-4.604296875],[13.414941406250023,-4.83740234375],[13.659570312500023,-4.721484375],[13.717089843750017,-4.454492187500009],[13.94091796875,-4.484667968750003],[14.358300781250023,-4.299414062500006],[14.449804687500006,-4.449511718750003],[14.365429687500011,-4.585546875],[14.410742187500006,-4.83125],[14.707910156250023,-4.881738281250009],[15.990039062500017,-3.766210937500006],[16.217382812500006,-3.0302734375],[16.21533203125,-2.177832031250006],[16.54072265625001,-1.840136718750003],[16.8798828125,-1.225878906250003],[17.752832031250023,-0.549023437500011],[18.072167968750023,2.01328125],[18.49091796875001,2.924414062499991],[18.6103515625,3.478417968749994],[18.594140625000023,4.346240234374989],[19.06855468750001,4.891406249999989],[19.5009765625,5.127490234374989],[19.806542968750023,5.089306640624997],[20.226367187500017,4.829638671874989],[20.55810546875,4.462695312499989],[22.422167968750017,4.134960937499997],[22.864550781250017,4.723876953125],[23.41718750000001,4.663134765624989],[24.31982421875,4.994140625],[25.065234375000017,4.967431640624994],[25.52509765625001,5.31210937499999],[26.822070312500017,5.062402343749994],[27.071875,5.199755859374989],[27.4033203125,5.109179687499989]]]},"properties":{"name":"Dem. Rep. Congo","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[18.6103515625,3.478417968749994],[18.49091796875001,2.924414062499991],[18.072167968750023,2.01328125],[17.752832031250023,-0.549023437500011],[16.8798828125,-1.225878906250003],[16.54072265625001,-1.840136718750003],[16.21533203125,-2.177832031250006],[16.217382812500006,-3.0302734375],[15.990039062500017,-3.766210937500006],[14.707910156250023,-4.881738281250009],[14.410742187500006,-4.83125],[14.365429687500011,-4.585546875],[14.449804687500006,-4.449511718750003],[14.358300781250023,-4.299414062500006],[13.94091796875,-4.484667968750003],[13.717089843750017,-4.454492187500009],[13.659570312500023,-4.721484375],[13.414941406250023,-4.83740234375],[13.136621093750023,-4.604296875],[13.08740234375,-4.601953125],[13.07275390625,-4.634765625],[13.048046875000011,-4.619238281250006],[12.971386718750011,-4.5517578125],[12.881054687500011,-4.445117187500003],[12.84814453125,-4.428906250000011],[12.50146484375,-4.5875],[12.018359375000017,-5.004296875],[11.777539062500011,-4.565820312500009],[11.130175781250017,-3.916308593750003],[11.234472656250006,-3.690820312500009],[11.504296875000023,-3.5203125],[11.685742187500011,-3.68203125],[11.8798828125,-3.665917968750009],[11.934179687500006,-3.318554687500011],[11.715429687500006,-3.176953125000011],[11.760156250000023,-2.983105468750011],[11.537792968750011,-2.83671875],[11.60546875,-2.342578125],[12.064453125,-2.41259765625],[12.446386718750006,-2.329980468750009],[12.43212890625,-1.928906250000011],[12.590429687500006,-1.826855468750011],[12.793554687500006,-1.931835937500011],[12.991992187500017,-2.313378906250009],[13.464941406250006,-2.395410156250009],[13.733789062500023,-2.138476562500003],[13.886914062500011,-2.465429687500006],[13.993847656250011,-2.490625],[14.199804687500006,-2.354199218750011],[14.162890625000017,-2.217578125],[14.383984375000011,-1.890039062500009],[14.47412109375,-0.573437500000011],[13.860058593750011,-0.203320312500011],[13.949609375000023,0.353808593749989],[14.32421875,0.62421875],[14.429882812500011,0.901464843749991],[14.180859375000011,1.370214843749991],[13.851367187500017,1.41875],[13.21630859375,1.2484375],[13.172167968750017,1.78857421875],[13.293554687500006,2.161572265624997],[14.578906250000017,2.199121093749994],[14.902441406250006,2.012304687499991],[15.741601562500023,1.914990234374997],[16.059375,1.676220703124997],[16.183398437500017,2.270068359374989],[16.468554687500017,2.831738281249997],[16.610742187500023,3.50537109375],[17.491601562500023,3.687304687499989],[18.160937500000017,3.499804687499989],[18.474414062500017,3.622998046874997],[18.6103515625,3.478417968749994]]]},"properties":{"name":"Congo","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[-71.31972656249997,11.861914062500048],[-71.95810546875,11.66640625],[-72.24848632812501,11.196435546875009],[-72.690087890625,10.835839843749994],[-72.86933593750001,10.49125976562496],[-73.00654296874998,9.789160156250006],[-73.36621093749997,9.194140625000017],[-73.05839843749999,9.259570312500031],[-72.79638671874997,9.10898437499999],[-72.66542968749994,8.62758789062498],[-72.39033203124995,8.287060546874969],[-72.47197265624996,7.524267578124991],[-72.20771484374995,7.37026367187498],[-72.00664062499993,7.032617187500023],[-71.12861328124993,6.98671875],[-70.73715820312503,7.090039062499997],[-70.12919921874999,6.95361328125],[-69.42714843749997,6.123974609374997],[-68.47177734375,6.156542968749974],[-67.85917968749999,6.289892578124963],[-67.48198242187499,6.18027343750002],[-67.47387695312503,5.929980468750003],[-67.82490234374995,5.270458984375026],[-67.85527343750002,4.506884765624989],[-67.66162109375,3.864257812499986],[-67.3111328125,3.41586914062502],[-67.85908203124998,2.793603515624994],[-67.61870117187496,2.793603515624994],[-67.21083984375,2.390136718750043],[-66.87602539062499,1.223046875000037],[-67.082275390625,1.185400390625006],[-67.11923828124998,1.703613281249986],[-67.40043945312499,2.116699218750028],[-67.93623046874998,1.748486328124969],[-68.19379882812495,1.987011718749983],[-68.25595703125,1.845507812500017],[-68.17656249999999,1.719824218749991],[-69.84858398437493,1.708740234375043],[-69.85214843750003,1.05952148437504],[-69.31181640624999,1.050488281249969],[-69.15332031249994,0.65878906250002],[-69.47211914062498,0.72993164062504],[-70.05390624999993,0.578613281250028],[-70.07050781249993,-0.13886718750004],[-69.63398437500001,-0.50927734375],[-69.40024414062498,-1.194921874999977],[-69.66904296875003,-2.667675781249997],[-69.94819335937498,-4.200585937500009],[-69.96591796875003,-4.2359375],[-70.16752929687499,-4.050195312500009],[-70.24028320312496,-3.882714843749994],[-70.2984375,-3.844238281249972],[-70.33950195312502,-3.814355468750009],[-70.73510742187497,-3.781542968749989],[-70.09584960937494,-2.658203125000014],[-70.16474609374995,-2.639843750000011],[-70.24443359375002,-2.606542968749977],[-70.29462890624995,-2.552539062499989],[-70.57587890624995,-2.418261718749989],[-70.64799804687499,-2.405761718750014],[-70.70537109374996,-2.341992187499983],[-70.91455078125003,-2.218554687499974],[-70.96855468750002,-2.206835937499989],[-71.02729492187498,-2.225781250000026],[-71.11337890625003,-2.245410156250031],[-71.19638671874998,-2.313085937499963],[-71.39697265625,-2.334082031249977],[-71.55947265624997,-2.224218749999977],[-71.75253906249995,-2.15273437499998],[-71.80273437499997,-2.166308593749989],[-71.86728515624998,-2.227734374999983],[-71.932470703125,-2.288671874999963],[-71.98427734375,-2.326562499999952],[-72.21845703125001,-2.400488281250006],[-72.94111328124998,-2.394042968750028],[-72.9896484375,-2.33974609374998],[-73.15449218749993,-2.278222656249966],[-73.19697265624995,-1.830273437500011],[-73.49628906249993,-1.69306640625004],[-73.66430664062497,-1.248828124999946],[-73.86318359374997,-1.19667968749998],[-73.92695312500001,-1.125195312499983],[-73.98681640625003,-1.098144531249986],[-74.05439453124995,-1.028613281250031],[-74.18076171875,-0.997753906249955],[-74.24638671874999,-0.970605468750023],[-74.28388671874998,-0.927832031250006],[-74.33442382812498,-0.85087890624996],[-74.41787109375,-0.580664062499977],[-74.46518554687498,-0.517675781250034],[-74.51386718749993,-0.470117187500023],[-74.555078125,-0.429882812499997],[-74.61635742187494,-0.370019531249966],[-74.691650390625,-0.335253906249989],[-74.75537109375003,-0.298632812499989],[-74.78046874999998,-0.24453125],[-74.80175781249997,-0.200097656249994],[-75.13837890624998,-0.050488281249969],[-75.28447265624999,-0.10654296875002],[-75.77666015624999,0.08925781249998],[-76.27060546874998,0.439404296874997],[-76.49462890624997,0.23544921875002],[-77.396337890625,0.393896484374963],[-77.46767578124997,0.636523437500017],[-77.702880859375,0.837841796874997],[-78.1806640625,0.968554687499974],[-78.85966796874996,1.455371093750031],[-79.02543945312499,1.623681640625037],[-78.79296874999994,1.848730468749963],[-78.576904296875,1.773779296874977],[-78.59169921875,2.356640624999969],[-78.41689453125,2.483496093749963],[-78.06665039062494,2.509130859375034],[-77.81357421875,2.716357421874974],[-77.076806640625,3.913281250000026],[-77.26352539062503,3.893212890625023],[-77.27802734374995,4.058496093750023],[-77.35820312499996,3.944726562500037],[-77.40874023437496,4.24775390625004],[-77.52070312499993,4.212792968750023],[-77.35351562499997,4.398291015624977],[-77.28632812499995,4.72172851562496],[-77.373291015625,5.323974609375],[-77.53442382812497,5.537109374999986],[-77.24926757812497,5.780175781250037],[-77.46943359374995,6.176757812500014],[-77.368798828125,6.575585937499994],[-77.90117187499999,7.229345703125048],[-77.76191406249995,7.698828125000034],[-77.53828124999995,7.56625976562502],[-77.19599609374995,7.972460937500003],[-77.47851562499994,8.498437500000037],[-77.37421874999993,8.65830078125002],[-76.85185546875002,8.09047851562498],[-76.924658203125,7.973193359374974],[-76.78657226562493,7.931591796875026],[-76.7720703125,8.310546875000043],[-76.92045898437496,8.573730468750014],[-76.27685546875,8.989111328124991],[-76.02724609374997,9.365771484374989],[-75.63935546874998,9.450439453125014],[-75.680029296875,9.729785156249989],[-75.53857421874997,10.205175781250034],[-75.708349609375,10.143408203124963],[-75.44599609374995,10.610888671874989],[-74.84458007812498,11.109716796875006],[-74.330224609375,10.996679687499991],[-74.51625976562497,10.8625],[-74.40087890625,10.76523437499999],[-74.14291992187503,11.320849609375031],[-73.31337890624997,11.295751953124991],[-72.275,11.88925781250002],[-72.13574218749994,12.188574218749977],[-71.71455078124993,12.41997070312496],[-71.26210937499997,12.335302734375034],[-71.13730468750003,12.04633789062504],[-71.31972656249997,11.861914062500048]]]},"properties":{"name":"Colombia","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[43.788671875,-12.307031250000023],[43.85898437500006,-12.368261718749977],[43.66367187500006,-12.342871093749949],[43.63134765624997,-12.247070312499972],[43.788671875,-12.307031250000023]]],[[[44.476367187500074,-12.08154296875],[44.504980468750006,-12.356542968749991],[44.220117187499994,-12.171386718750014],[44.476367187500074,-12.08154296875]]],[[[43.46582031249997,-11.901269531249966],[43.226660156250006,-11.75185546874998],[43.2990234375001,-11.374511718750028],[43.39296875000005,-11.408593749999952],[43.46582031249997,-11.901269531249966]]]]},"properties":{"name":"Comoros","childNum":3}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[-24.308251953124966,14.856298828124991],[-24.44052734374992,14.834814453124963],[-24.496875,14.980273437500017],[-24.329492187499937,15.019482421875011],[-24.308251953124966,14.856298828124991]]],[[[-23.18212890624997,15.136767578125017],[-23.210253906250017,15.32353515625006],[-23.119335937499955,15.26840820312502],[-23.18212890624997,15.136767578125017]]],[[[-23.444238281249994,15.00795898437498],[-23.5046875,14.916113281250006],[-23.70537109374999,14.96132812499998],[-23.74809570312499,15.328515625],[-23.444238281249994,15.00795898437498]]],[[[-22.917724609375,16.237255859374955],[-22.69262695312497,16.169042968750006],[-22.710107421874994,16.043359374999966],[-22.95927734374996,16.045117187499983],[-22.917724609375,16.237255859374955]]],[[[-24.08769531249999,16.62250976562501],[-24.03271484374997,16.57202148437503],[-24.243066406250023,16.599414062500017],[-24.32236328124992,16.49311523437504],[-24.398095703124966,16.61840820312497],[-24.08769531249999,16.62250976562501]]],[[[-22.888330078124966,16.659082031249994],[-22.980615234374937,16.700878906249983],[-22.93291015624999,16.84101562500004],[-22.888330078124966,16.659082031249994]]],[[[-24.88706054687495,16.81811523437497],[-25.09306640624999,16.83251953125],[-24.936474609374983,16.92211914062503],[-24.88706054687495,16.81811523437497]]],[[[-25.169824218749994,16.94648437500001],[-25.308300781249955,16.93583984374999],[-25.337109374999955,17.091015624999983],[-25.03466796875,17.176464843749983],[-24.979687499999983,17.09472656250003],[-25.169824218749994,16.94648437500001]]]]},"properties":{"name":"Cape Verde","childNum":8}},{"geometry":{"type":"Polygon","coordinates":[[[-83.6419921875,10.917236328125],[-83.346826171875,10.315380859374997],[-82.77841796874999,9.66953125],[-82.56357421874999,9.57666015625],[-82.56923828125,9.55820312499999],[-82.58652343749999,9.538818359375],[-82.64409179687499,9.505859375],[-82.801025390625,9.591796875],[-82.843994140625,9.57080078125],[-82.86015624999999,9.511474609375],[-82.88896484374999,9.481005859374989],[-82.925048828125,9.469042968749989],[-82.93984375,9.449169921874997],[-82.94033203125,9.060107421874989],[-82.88134765625,9.055859375],[-82.78305664062499,8.990283203124989],[-82.741162109375,8.951708984374989],[-82.72783203124999,8.916064453124989],[-82.91704101562499,8.740332031249991],[-82.855712890625,8.635302734374989],[-82.84477539062499,8.489355468749991],[-82.86162109374999,8.45351562499999],[-83.02734375,8.337744140624991],[-82.879345703125,8.070654296874991],[-83.12333984374999,8.353076171874989],[-83.16240234374999,8.588183593749989],[-83.4697265625,8.706835937499989],[-83.29150390625,8.406005859375],[-83.54375,8.445849609374989],[-83.73408203125,8.614453125],[-83.613720703125,8.804052734374991],[-83.73691406249999,9.150292968749994],[-84.58159179687499,9.568359375],[-84.71494140624999,9.8994140625],[-85.23564453124999,10.242089843749994],[-85.2365234375,10.107373046874997],[-84.88642578125,9.820947265624994],[-85.07705078125,9.60195312499999],[-85.31455078124999,9.8109375],[-85.62485351562499,9.902441406249991],[-85.84965820312499,10.292041015624989],[-85.667236328125,10.745019531249994],[-85.90800781249999,10.897558593749991],[-85.7443359375,11.06210937499999],[-85.5841796875,11.189453125],[-84.9091796875,10.9453125],[-84.6341796875,11.045605468749997],[-83.91928710937499,10.7353515625],[-83.71293945312499,10.785888671875],[-83.6419921875,10.917236328125]]]},"properties":{"name":"Costa Rica","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[-82.56176757812503,21.571679687500023],[-82.959619140625,21.441308593750023],[-83.18378906250001,21.59345703125004],[-82.97358398437498,21.592285156250057],[-83.08251953124997,21.791406250000023],[-82.99121093750003,21.942724609375034],[-82.71455078124998,21.890283203125023],[-82.56176757812503,21.571679687500023]]],[[[-77.66899414062493,21.951953125000045],[-77.91855468749998,22.088085937499983],[-77.63369140624994,22.054003906250074],[-77.66899414062493,21.951953125000045]]],[[[-77.87939453125,22.127539062500034],[-78.04165039062502,22.201269531250034],[-77.99921874999998,22.298730468749994],[-77.87939453125,22.127539062500034]]],[[[-81.83745117187499,23.163037109374955],[-81.26235351562497,23.156835937500034],[-81.14462890624998,23.054931640625057],[-80.65014648437494,23.10307617187499],[-80.36489257812502,22.943408203125074],[-79.82026367187498,22.887011718750045],[-79.27568359374999,22.407617187499994],[-78.68647460937493,22.366845703125023],[-77.63681640624995,21.79736328125],[-77.49711914062502,21.78833007812503],[-77.58315429687497,21.889257812499977],[-77.49726562499995,21.871630859375045],[-77.14414062499995,21.643603515625017],[-77.36616210937498,21.612646484375034],[-77.25288085937498,21.483496093750006],[-77.0986328125,21.589013671875023],[-76.86743164062497,21.330419921875006],[-75.72294921874996,21.111035156249983],[-75.59580078125,20.99467773437499],[-75.72456054687493,20.71455078125004],[-74.882568359375,20.65063476562497],[-74.51313476562495,20.384570312500045],[-74.16748046874997,20.292187499999955],[-74.15371093750002,20.168554687500006],[-75.11640624999995,19.901416015625017],[-75.151611328125,20.008349609375045],[-75.29047851562495,19.893115234375017],[-76.15844726562497,19.98974609374997],[-77.715087890625,19.85546874999997],[-77.10380859374999,20.407519531250017],[-77.22958984374995,20.64375],[-78.11635742187497,20.761865234374994],[-78.49077148437493,21.05371093750003],[-78.72768554687497,21.592724609374955],[-79.35742187500003,21.58515625000001],[-80.23134765625,21.872167968750063],[-80.48544921874998,22.1234375],[-81.03564453124997,22.073583984375063],[-81.18549804687495,22.26796875000005],[-81.284375,22.109423828125074],[-81.84941406249993,22.21367187499999],[-82.077734375,22.3876953125],[-81.71035156250002,22.496679687500006],[-81.83881835937498,22.672460937500034],[-82.73803710937497,22.689257812500074],[-83.37963867187503,22.222998046875034],[-83.90073242187495,22.17011718750001],[-84.03095703124993,21.94311523437503],[-84.502587890625,21.776171875000045],[-84.50136718750002,21.930273437499977],[-84.88720703125003,21.856982421875074],[-84.32636718749998,22.074316406250034],[-84.36127929687498,22.37890625],[-84.04492187500003,22.666015625000057],[-83.25781249999997,22.967578125000017],[-81.83745117187499,23.163037109374955]]]]},"properties":{"name":"Cuba","childNum":4}},{"geometry":{"type":"Polygon","coordinates":[[[-68.75107421874999,12.059765625],[-68.9951171875,12.141845703125],[-69.15888671875,12.380273437499994],[-68.75107421874999,12.059765625]]]},"properties":{"name":"Curaçao","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[-81.36953124999997,19.34887695312497],[-81.10712890624995,19.305175781250057],[-81.40478515624994,19.278417968750006],[-81.36953124999997,19.34887695312497]]],[[[-79.823388671875,19.711914062500057],[-79.90620117187501,19.702539062499994],[-79.74228515625,19.757128906250017],[-79.823388671875,19.711914062500057]]]]},"properties":{"name":"Cayman Is.","childNum":2}},{"geometry":{"type":"Polygon","coordinates":[[[34.004492187500006,35.065234375],[33.47578125000001,35.000341796875],[33.3837890625,35.1626953125],[32.91953125,35.087841796875],[32.71269531250002,35.171044921874994],[32.8798828125,35.180566406249994],[32.94160156250001,35.390429687499996],[33.60761718750001,35.354150390624994],[34.55605468750002,35.662060546875],[33.941992187500006,35.292041015624996],[34.004492187500006,35.065234375]]]},"properties":{"name":"N. Cyprus","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[32.71269531250002,35.171044921874994],[32.91953125,35.087841796875],[33.3837890625,35.1626953125],[33.47578125000001,35.000341796875],[34.004492187500006,35.065234375],[34.05019531250002,34.98837890625],[33.69941406250001,34.969873046874994],[33.007910156250006,34.569580078125],[32.44902343750002,34.729443359375],[32.31718750000002,34.9533203125],[32.30097656250001,35.082958984375],[32.71269531250002,35.171044921874994]]]},"properties":{"name":"Cyprus","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[14.809375,50.858984375],[14.895800781250017,50.861376953124996],[14.98291015625,50.886572265625],[14.99375,51.01435546875],[16.007226562500023,50.611621093749996],[16.2822265625,50.655615234375],[16.419726562500017,50.573632812499994],[16.210351562500023,50.423730468749994],[16.63916015625,50.1021484375],[16.989648437500023,50.2369140625],[16.88007812500001,50.427050781249996],[17.41523437500001,50.254785156249994],[17.702246093750006,50.307177734374996],[17.627050781250006,50.11640625],[17.874804687500017,49.972265625],[18.0283203125,50.03525390625],[18.562402343750023,49.879345703125],[18.83222656250001,49.510791015624996],[18.160937500000017,49.257373046874996],[18.0859375,49.06513671875],[17.75849609375001,48.888134765625],[17.135644531250023,48.841064453125],[16.953125,48.598828125],[16.543554687500006,48.796240234375],[16.057226562500006,48.754785156249994],[15.066796875000023,48.997851562499996],[14.691308593750023,48.59921875],[14.049121093750017,48.602490234375],[13.814746093750017,48.766943359375],[13.769921875000023,48.815966796874996],[13.684960937500023,48.876708984375],[13.547656250000017,48.95966796875],[13.440722656250017,48.95556640625],[13.401171875000017,48.977587890624996],[12.916699218750011,49.33046875],[12.68115234375,49.414501953125],[12.390527343750023,49.739648437499994],[12.5125,49.87744140625],[12.09921875,50.310986328125],[12.134863281250006,50.3109375],[12.1748046875,50.288378906249996],[12.231152343750011,50.244873046875],[12.27734375,50.181445312499996],[12.3056640625,50.205712890624994],[12.549023437500011,50.393408203125],[13.016406250000017,50.490380859374994],[13.18115234375,50.510498046875],[14.369042968750023,50.898730468749996],[14.319726562500023,51.03779296875],[14.545703125000017,50.993945312499996],[14.559667968750006,50.954931640625],[14.59521484375,50.918603515624994],[14.623828125000017,50.91474609375],[14.613574218750017,50.85556640625],[14.658203125,50.8326171875],[14.723339843750011,50.814697265625],[14.766503906250023,50.818310546875],[14.797460937500006,50.842333984374996],[14.809375,50.858984375]]]},"properties":{"name":"Czech Rep.","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[14.1982421875,53.919042968750034],[13.92578125,53.879052734374966],[13.827734375,54.12724609374999],[14.1982421875,53.919042968750034]]],[[[13.709179687500011,54.382714843749994],[13.707324218750074,54.281152343749994],[13.190039062500034,54.32563476562501],[13.336816406249994,54.697119140625006],[13.65761718750008,54.55957031249997],[13.709179687500011,54.382714843749994]]],[[[9.739746093750028,54.82553710937498],[10.022167968750011,54.673925781250006],[9.86865234375,54.47246093749999],[10.731542968750006,54.31625976562506],[11.013378906250068,54.37915039062497],[11.008593750000074,54.18115234374997],[10.810742187500068,54.075146484374955],[10.917773437500045,53.99531250000004],[11.39960937500004,53.94462890625002],[12.111328125,54.168310546875006],[12.57539062500004,54.467382812500006],[13.028613281250017,54.411035156249994],[13.448046875000017,54.14086914062503],[13.724218750000063,54.153222656249966],[13.865527343750074,53.85336914062498],[14.258886718750006,53.729638671874994],[14.298730468750051,53.55644531249999],[14.41455078125,53.28349609374996],[14.412304687500011,53.216748046874955],[14.410937500000074,53.19902343749999],[14.368554687500051,53.105566406250034],[14.293164062500068,53.026757812499966],[14.138867187500068,52.93286132812503],[14.128613281250011,52.87822265625002],[14.253710937500017,52.78251953124996],[14.514062500000023,52.645605468750034],[14.619433593750017,52.52851562499998],[14.569726562499994,52.431103515624955],[14.554589843750023,52.35966796874996],[14.573925781250068,52.31416015625001],[14.615625,52.277636718750045],[14.679882812500068,52.25],[14.752539062500034,52.08183593750002],[14.601660156250034,51.832373046875006],[14.738671875000051,51.62714843750004],[14.7109375,51.54492187499997],[14.724707031250063,51.523876953124955],[14.90595703125004,51.463330078124955],[14.935546875000028,51.435351562500045],[14.9638671875,51.095117187499994],[14.917480468750057,51.00874023437498],[14.814257812499989,50.871630859375045],[14.809375,50.858984375000034],[14.797460937500034,50.84233398437502],[14.766503906250051,50.81831054687501],[14.72333984375004,50.81469726562497],[14.658203125,50.832617187500006],[14.613574218750045,50.85556640625006],[14.623828125000017,50.91474609375004],[14.595214843750057,50.91860351562502],[14.559667968750006,50.954931640625034],[14.545703124999989,50.99394531249999],[14.319726562500051,51.037792968749955],[14.36904296875008,50.89873046874996],[13.18115234375,50.510498046875],[13.016406250000017,50.490380859374994],[12.549023437500011,50.393408203125034],[12.3056640625,50.205712890624994],[12.27734375,50.18144531250002],[12.231152343749983,50.24487304687497],[12.174804687500057,50.28837890624996],[12.134863281250006,50.31093750000002],[12.099218750000034,50.31098632812504],[12.089843749999972,50.30175781250003],[12.089746093750051,50.2685546875],[12.294598214285761,50.13608119419641],[12.5125,49.87744140625],[12.390527343750051,49.739648437499994],[12.68115234375,49.41450195312501],[12.91669921875004,49.33046875000002],[13.401171875000074,48.97758789062499],[13.440722656250045,48.95556640625003],[13.547656250000074,48.95966796874998],[13.684960937500051,48.87670898437506],[13.769921875000051,48.81596679687502],[13.814746093750017,48.76694335937498],[13.802929687500011,48.74750976562501],[13.798828124999972,48.62167968750006],[13.785351562499983,48.58745117187502],[13.486621093750074,48.58183593750002],[13.471679687500028,48.57182617187502],[13.459863281250023,48.564550781250034],[13.409375,48.39414062500006],[13.322851562500006,48.33125],[13.215234375000023,48.301904296874994],[12.760351562500063,48.10698242187499],[12.95351562500008,47.890625],[12.897656250000068,47.721875],[13.054101562500051,47.655126953125034],[13.047949218750034,47.57915039062502],[13.031542968750074,47.50800781250001],[13.01435546875004,47.478076171875045],[12.968066406250017,47.475683593750006],[12.878906250000057,47.506445312500034],[12.809375,47.542187499999955],[12.782812500000034,47.56416015624998],[12.781152343750051,47.590429687500006],[12.796191406249989,47.60703125],[12.771386718750023,47.63940429687503],[12.685839843750074,47.66933593750002],[12.209277343750074,47.71826171875003],[12.196875,47.709082031250034],[12.203808593750011,47.64672851562503],[12.185644531250063,47.61953125],[11.041992187500028,47.39311523437496],[10.98085937499999,47.39814453125001],[10.893945312500051,47.470458984375],[10.870605468750028,47.500781250000045],[10.873046874999972,47.52021484375001],[10.741601562500023,47.52412109375001],[10.65869140625,47.547216796875006],[10.482812500000051,47.54179687499996],[10.439453125000028,47.55156249999999],[10.403906250000063,47.41699218750003],[10.369140625,47.366064453125034],[10.18300781250008,47.27880859375003],[10.200292968750063,47.36342773437505],[10.066308593750023,47.39335937500002],[10.064575892857171,47.42369419642856],[10.059863281250045,47.44907226562498],[10.034082031250023,47.47358398437501],[9.971582031249994,47.50532226562498],[9.839160156250017,47.55229492187496],[9.748925781250023,47.575537109375006],[9.524023437500034,47.52421875000002],[8.572656250000023,47.775634765625],[8.435742187500011,47.73134765625002],[8.403417968750006,47.687792968750045],[8.413281250000068,47.66269531249998],[8.451757812500006,47.65180664062498],[8.552343750000063,47.65913085937498],[8.56708984375004,47.65190429687502],[8.57050781250004,47.63779296874998],[8.55947265625008,47.62402343750003],[8.477636718750034,47.61269531250002],[8.454003906249994,47.59619140625003],[7.615625,47.59272460937504],[7.616601562500023,48.15678710937502],[8.134863281250006,48.97358398437498],[7.450585937500051,49.152197265625034],[6.735449218750006,49.16059570312498],[6.344335937500006,49.45273437499998],[6.4873046875,49.798486328124994],[6.204882812500017,49.915136718750034],[6.13818359375,49.97431640625001],[6.10976562500008,50.034375],[6.116503906250045,50.120996093749966],[6.340917968750006,50.451757812500034],[5.993945312500017,50.75043945312504],[6.048437500000034,50.90488281250006],[5.857519531250034,51.030126953125006],[6.129980468750034,51.14741210937501],[6.198828125000034,51.45],[5.948730468750057,51.80268554687501],[6.800390625,51.96738281249998],[6.724511718749994,52.080224609374966],[7.035156250000057,52.38022460937498],[6.748828125000074,52.464013671874994],[6.710742187500045,52.61787109374998],[7.033007812500045,52.65136718749997],[7.197265625000028,53.28227539062499],[7.074316406250034,53.477636718750006],[7.285253906250034,53.68134765625001],[8.00927734375,53.69072265624999],[8.108496093750063,53.46767578125002],[8.245214843750006,53.44531249999997],[8.333886718750051,53.606201171875],[8.495214843750063,53.39423828124998],[8.618945312500045,53.875],[9.20556640625,53.85595703124997],[9.783984375000074,53.554638671874955],[9.31201171875,53.859130859375],[8.92041015625,53.96533203125006],[8.906640625000023,54.26079101562502],[8.625781250000017,54.35395507812501],[8.951855468750011,54.46757812499996],[8.670312500000023,54.903417968750034],[9.739746093750028,54.82553710937498]]],[[[8.307714843750034,54.786962890625034],[8.451464843750017,55.05537109374998],[8.3798828125,54.89985351562501],[8.629589843750068,54.891748046874966],[8.307714843750034,54.786962890625034]]]]},"properties":{"name":"Germany","childNum":4}},{"geometry":{"type":"Polygon","coordinates":[[[43.24599609375002,11.499804687499989],[42.92275390625002,10.999316406249989],[42.557714843750006,11.080761718749997],[41.79824218750002,10.98046875],[41.79267578125001,11.68603515625],[42.378515625,12.46640625],[42.40859375000002,12.494384765625],[42.45,12.521337890624991],[42.47939453125002,12.513623046874997],[42.703710937500006,12.380322265624997],[42.76748046875002,12.4228515625],[42.825292968750006,12.5693359375],[42.86591796875001,12.622802734375],[42.88330078125,12.621289062499997],[43.00566406250002,12.662304687499997],[43.11669921875,12.70859375],[43.353515625,12.367041015624991],[43.38027343750002,12.091259765624997],[42.64003906250002,11.560107421874989],[42.52177734375002,11.572167968749994],[42.58378906250002,11.496777343749997],[43.04277343750002,11.588476562499991],[43.24599609375002,11.499804687499989]]]},"properties":{"name":"Djibouti","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[-61.281689453125,15.2490234375],[-61.37539062499999,15.227294921875],[-61.45810546874999,15.633105468750003],[-61.277246093749994,15.526708984374991],[-61.281689453125,15.2490234375]]]},"properties":{"name":"Dominica","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[11.361425781250006,54.891650390625045],[11.739550781250017,54.80742187500002],[11.765917968750074,54.67944335937506],[11.457421875000023,54.628857421874955],[11.035546875000051,54.77309570312505],[11.058593750000028,54.940576171874966],[11.361425781250006,54.891650390625045]]],[[[12.549218750000051,54.96577148437504],[12.11884765625004,54.91440429687506],[12.274023437500034,55.064111328124994],[12.549218750000051,54.96577148437504]]],[[[10.061230468750068,54.88637695312502],[9.80625,54.90600585937503],[9.78125,55.06904296875001],[10.061230468750068,54.88637695312502]]],[[[10.734082031250011,54.750732421875],[10.621679687500006,54.851416015625006],[10.95107421875008,55.15620117187501],[10.734082031250011,54.750732421875]]],[[[15.087695312500017,55.021875],[14.684179687500063,55.10224609375004],[14.765332031250068,55.296728515625034],[15.132617187500017,55.14453125000003],[15.087695312500017,55.021875]]],[[[10.645117187500006,55.60981445312498],[10.785253906250034,55.13339843749998],[10.44277343750008,55.04877929687498],[9.988769531250028,55.163183593750006],[9.860644531250045,55.515478515625034],[10.645117187500006,55.60981445312498]]],[[[12.665722656250068,55.596533203125006],[12.550878906250034,55.55625],[12.59921875,55.68022460937502],[12.665722656250068,55.596533203125006]]],[[[12.56875,55.785058593749966],[12.215039062500011,55.46650390624998],[12.413085937500028,55.28618164062502],[12.089941406250006,55.18813476562505],[12.050390625000034,54.81533203125002],[11.8623046875,54.77260742187502],[11.653808593750057,55.186914062499966],[11.286328125000068,55.20444335937498],[10.978906250000051,55.721533203125006],[11.322265625000028,55.752539062500006],[11.627734375000074,55.95688476562498],[11.819726562500023,55.69765625000002],[11.86640625000004,55.968164062499966],[12.218945312499983,56.11865234374997],[12.578710937500006,56.06406250000006],[12.56875,55.785058593749966]]],[[[11.052148437500051,57.25253906250006],[10.873828125000045,57.26225585937499],[11.174511718750011,57.322900390624994],[11.052148437500051,57.25253906250006]]],[[[9.739746093750028,54.82553710937498],[8.670312500000023,54.903417968750034],[8.61591796875004,55.41821289062503],[8.132128906250074,55.59980468749998],[8.16396484375008,56.60688476562498],[8.671679687500045,56.49565429687496],[8.88808593750008,56.73505859374998],[9.06708984375004,56.79384765625005],[9.196386718750006,56.70166015625],[9.2548828125,57.01171875000003],[8.992773437499977,57.01611328125003],[8.771972656250028,56.72529296875004],[8.468359375,56.66455078125],[8.284082031250023,56.85234374999999],[8.618554687500051,57.11127929687498],[9.43359375,57.17431640625003],[9.96230468750008,57.580957031249994],[10.609960937500034,57.73691406249998],[10.282714843750057,56.620507812499994],[10.926171875000051,56.44326171875002],[10.753417968750028,56.24199218749999],[10.31875,56.212890625],[10.18300781250008,55.86518554687504],[9.903710937500023,55.84282226562502],[10.02363281250004,55.76142578125004],[9.591113281250017,55.49321289062502],[9.670996093750063,55.26640624999999],[9.453710937500006,55.03955078125006],[9.732324218750023,54.96801757812506],[9.739746093750028,54.82553710937498]]]]},"properties":{"name":"Denmark","childNum":10,"cp":[10.2768332,56.1773879]}},{"geometry":{"type":"Polygon","coordinates":[[[-71.647216796875,19.195947265624994],[-71.746484375,19.285839843749997],[-71.71147460937499,19.486572265625],[-71.75742187499999,19.688183593749997],[-71.779248046875,19.718164062499994],[-71.6673828125,19.8486328125],[-70.95415039062499,19.913964843749994],[-70.19384765625,19.63803710937499],[-69.95683593749999,19.671875],[-69.739404296875,19.29921875],[-69.23247070312499,19.27182617187499],[-69.60595703125,19.206494140624997],[-69.62363281249999,19.117822265624994],[-68.684765625,18.90478515625],[-68.33916015624999,18.611523437499997],[-68.68740234375,18.21494140624999],[-68.9349609375,18.408007812500003],[-69.27451171874999,18.43984375],[-69.770654296875,18.443554687499997],[-70.479931640625,18.21728515625],[-70.644677734375,18.336230468750003],[-71.02783203125,18.273193359375],[-71.43896484375,17.63559570312499],[-71.63173828125,17.773632812499997],[-71.768310546875,18.03916015624999],[-71.76376953124999,18.20395507812499],[-71.737255859375,18.270800781250003],[-71.7619140625,18.34130859375],[-71.87255859375,18.416210937499997],[-71.940380859375,18.512597656249994],[-72.000390625,18.597900390625],[-71.98686523437499,18.6103515625],[-71.86650390624999,18.614160156249994],[-71.74321289062499,18.73291015625],[-71.72705078125,18.80322265625],[-71.733642578125,18.856396484374997],[-71.80712890625,18.987011718749997],[-71.647216796875,19.195947265624994]]]},"properties":{"name":"Dominican Rep.","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[8.207617187500006,36.518945312499994],[8.348730468750006,36.36796875],[8.318066406250011,35.654931640624994],[8.31640625,35.403125],[8.35986328125,35.299609375],[8.394238281250011,35.203857421875],[8.312109375,35.084619140624994],[8.27685546875,34.9794921875],[8.24560546875,34.73408203125],[7.513867187500011,34.080517578125],[7.534375,33.717919921874994],[7.877246093750017,33.172119140625],[8.1125,33.055322265624994],[8.333398437500023,32.543603515624994],[9.044042968750006,32.07236328125],[9.160253906250006,31.621337890625],[9.224023437500023,31.373681640624994],[9.51875,30.229394531249994],[9.310253906250011,30.115234375],[9.805273437500006,29.176953125],[9.916015625,27.785693359374996],[9.74755859375,27.330859375],[9.883203125000023,26.630810546874997],[9.491406250000011,26.333740234375],[9.4482421875,26.067138671875],[10.000683593750011,25.332080078125003],[10.255859375,24.591015625],[10.395898437500023,24.485595703125],[10.686132812500006,24.55136718749999],[11.507617187500017,24.314355468749994],[11.967871093750006,23.517871093750003],[7.481738281250017,20.873095703125003],[5.836621093750011,19.479150390624994],[4.227636718750006,19.142773437499997],[3.3564453125,18.986621093750003],[3.119726562500006,19.103173828124994],[3.255859375,19.4109375],[3.130273437500023,19.85019531249999],[1.685449218750023,20.378369140624997],[1.610644531250017,20.555566406249994],[1.165722656250011,20.817431640625003],[1.1455078125,21.102246093749997],[-1.947900390624994,23.124804687500003],[-4.822607421874977,24.99560546875],[-8.683349609375,27.2859375],[-8.683349609375,27.656445312499997],[-8.683349609375,27.900390625],[-8.659912109375,28.718603515625],[-7.485742187499994,29.392236328124994],[-7.427685546874983,29.425],[-7.142431640624977,29.619580078124997],[-6.855566406249977,29.601611328124996],[-6.755126953125,29.583837890625],[-6.635351562499977,29.568798828124997],[-6.597753906249977,29.578955078125],[-6.520556640624989,29.659863281249997],[-6.479736328125,29.820361328124996],[-6.00429687499999,29.83125],[-5.448779296874989,29.956933593749994],[-5.293652343749983,30.058642578124996],[-5.180126953124983,30.166162109374994],[-4.96826171875,30.465380859374996],[-4.778515624999983,30.552392578124994],[-4.529150390624977,30.625537109374996],[-4.322851562499977,30.698876953124994],[-4.148779296874977,30.8095703125],[-3.626904296874983,31.000927734374997],[-3.833398437499994,31.197802734374996],[-3.837109374999983,31.512353515624994],[-3.768164062499977,31.68955078125],[-3.700244140624989,31.700097656249994],[-3.604589843749977,31.686767578125],[-3.439794921874977,31.704541015624997],[-3.017382812499989,31.834277343749996],[-2.988232421874983,31.87421875],[-2.930859374999983,32.042529296874996],[-2.863427734374994,32.07470703125],[-1.275341796874983,32.089013671874994],[-1.16259765625,32.399169921875],[-1.111035156249983,32.552294921874996],[-1.188232421875,32.60849609375],[-1.29638671875,32.675683593749994],[-1.352148437499977,32.703369140625],[-1.45,32.784814453124994],[-1.510009765625,32.87763671875],[-1.550732421874983,33.073583984375],[-1.67919921875,33.318652343749996],[-1.795605468749983,34.751904296875],[-2.131787109374983,34.970849609374994],[-2.190771484374977,35.02978515625],[-2.219628906249994,35.10419921875],[-1.673632812499989,35.18310546875],[-0.426123046874977,35.8615234375],[-0.048242187499994,35.8328125],[0.312207031250011,36.162353515625],[0.9716796875,36.4439453125],[2.593359375,36.60068359375],[2.972851562500011,36.784472656249996],[3.779003906250011,36.89619140625],[4.758105468750017,36.896337890625],[5.29541015625,36.648242187499996],[6.486523437500011,37.085742187499996],[6.927539062500017,36.91943359375],[7.238476562500011,36.968505859375],[7.204296875000011,37.0923828125],[7.910449218750017,36.856347656249994],[8.576562500000023,36.93720703125],[8.601269531250011,36.833935546875],[8.207617187500006,36.518945312499994]]]},"properties":{"name":"Algeria","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[-80.131591796875,-2.973144531249957],[-80.27294921875003,-2.995898437499974],[-80.22368164062502,-2.753125],[-80.08076171874995,-2.668847656249966],[-79.90903320312495,-2.725585937499972],[-80.131591796875,-2.973144531249957]]],[[[-90.42392578125,-1.339941406250034],[-90.51953124999994,-1.299121093749974],[-90.47719726562494,-1.22099609374996],[-90.42392578125,-1.339941406250034]]],[[[-89.41889648437498,-0.911035156249966],[-89.60859374999998,-0.888574218750009],[-89.28784179687503,-0.689843750000023],[-89.41889648437498,-0.911035156249966]]],[[[-90.33486328125,-0.771582031249977],[-90.54213867187502,-0.676464843749955],[-90.53168945312493,-0.581445312499966],[-90.26938476562498,-0.48466796874996],[-90.19272460937498,-0.658789062500006],[-90.33486328125,-0.771582031249977]]],[[[-91.42597656249995,-0.460839843749994],[-91.61074218749994,-0.44394531250002],[-91.64667968749998,-0.284472656249946],[-91.46015625000001,-0.255664062500031],[-91.42597656249995,-0.460839843749994]]],[[[-90.57392578124993,-0.333984375],[-90.8677734375,-0.271386718750037],[-90.78037109374998,-0.160449218749989],[-90.57392578124993,-0.333984375]]],[[[-91.27216796874998,0.025146484374986],[-90.799658203125,-0.752050781249991],[-90.90551757812497,-0.94052734375002],[-91.13105468750001,-1.019628906249977],[-91.41904296874998,-0.996679687500006],[-91.49541015624999,-0.860937499999977],[-91.120947265625,-0.559082031250028],[-91.36918945312493,-0.287207031249977],[-91.42885742187502,-0.023388671874955],[-91.59682617187497,0.002099609374994],[-91.36137695312496,0.125830078124977],[-91.27216796874998,0.025146484374986]]],[[[-78.90922851562502,1.252783203124977],[-78.99169921875003,1.293212890625043],[-78.89980468749997,1.359765625],[-78.90922851562502,1.252783203124977]]],[[[-75.28447265624999,-0.10654296875002],[-75.62626953124999,-0.122851562499974],[-75.63203125000001,-0.157617187500037],[-75.56059570312502,-0.200097656249994],[-75.49106445312498,-0.24833984374996],[-75.42470703124997,-0.408886718749983],[-75.259375,-0.59013671874996],[-75.24960937499998,-0.951855468750026],[-75.34819335937499,-0.966796874999957],[-75.38012695312503,-0.94023437499996],[-75.40805664062503,-0.92431640625],[-75.42041015624997,-0.962207031250003],[-75.570556640625,-1.53125],[-76.08979492187501,-2.133105468749974],[-76.6791015625,-2.562597656249991],[-77.860595703125,-2.981640625000011],[-78.240380859375,-3.472558593750009],[-78.345361328125,-3.397363281249966],[-78.64799804687499,-4.248144531250006],[-78.68603515625003,-4.562402343749994],[-78.86152343749998,-4.665039062499943],[-78.90761718749997,-4.714453124999977],[-78.92578125,-4.770703124999983],[-78.91420898437497,-4.818652343749974],[-78.919189453125,-4.858398437499986],[-78.97539062499999,-4.873242187499997],[-78.99526367187497,-4.908007812499974],[-79.03330078124998,-4.96914062499999],[-79.07626953125003,-4.990625],[-79.18666992187497,-4.958203124999983],[-79.26811523437493,-4.957617187499949],[-79.33095703124997,-4.92783203125002],[-79.39941406249997,-4.840039062499983],[-79.45576171874998,-4.766210937499949],[-79.50190429687495,-4.670605468750011],[-79.51616210937493,-4.539160156249963],[-79.57768554687496,-4.50058593750002],[-79.638525390625,-4.454882812500031],[-79.71098632812502,-4.467578124999946],[-79.79726562500002,-4.47636718749996],[-79.8451171875,-4.445898437499977],[-79.962890625,-4.390332031250026],[-80.06352539062499,-4.327539062500023],[-80.13955078125002,-4.296093750000011],[-80.19746093750001,-4.311035156249943],[-80.293359375,-4.416796875],[-80.38349609374998,-4.46367187499996],[-80.424169921875,-4.461425781250028],[-80.47856445312499,-4.430078125000037],[-80.48847656249995,-4.393652343749991],[-80.44384765625003,-4.335839843750023],[-80.35288085937495,-4.208496093750014],[-80.453759765625,-4.205175781249963],[-80.48847656249995,-4.165527343749972],[-80.49345703124999,-4.119140625000014],[-80.510009765625,-4.06953125000004],[-80.49013671874994,-4.010058593750003],[-80.43720703125001,-3.978613281249991],[-80.30327148437499,-4.005078124999969],[-80.26689453124993,-3.948828124999963],[-80.23051757812499,-3.924023437499969],[-80.19414062499996,-3.905859375],[-80.24375,-3.576757812500006],[-80.32465820312498,-3.387890625],[-79.96333007812501,-3.15771484375],[-79.72988281249997,-2.579101562499972],[-79.842138671875,-2.0673828125],[-79.92558593749996,-2.548535156249969],[-80.03017578124994,-2.556738281249949],[-80.00664062499993,-2.353808593750003],[-80.28471679687502,-2.706738281249955],[-80.93217773437493,-2.269140624999977],[-80.76059570312498,-1.934570312500028],[-80.90239257812499,-1.078906249999974],[-80.55390624999998,-0.847949218749989],[-80.45546875,-0.585449218749986],[-80.282373046875,-0.620507812500023],[-80.48227539062503,-0.368261718749963],[-80.046142578125,0.155371093750048],[-80.08828124999997,0.78476562500002],[-78.89965820312503,1.20625],[-78.85966796874996,1.455371093750031],[-78.1806640625,0.968554687499974],[-77.702880859375,0.837841796874997],[-77.46767578124997,0.636523437500017],[-77.396337890625,0.393896484374963],[-76.49462890624997,0.23544921875002],[-76.27060546874998,0.439404296874997],[-75.77666015624999,0.08925781249998],[-75.28447265624999,-0.10654296875002]]]]},"properties":{"name":"Ecuador","childNum":9}},{"geometry":{"type":"Polygon","coordinates":[[[34.24531250000001,31.208300781249996],[34.904296875,29.47734375],[34.736425781250006,29.27060546875],[34.39970703125002,28.01601562499999],[34.22011718750002,27.764306640624994],[33.76025390625,28.04765625],[33.24775390625001,28.567724609375],[32.56572265625002,29.973974609375],[32.35976562500002,29.630664062499996],[32.89824218750002,28.565234375],[33.54707031250001,27.898144531249997],[33.5498046875,27.607373046874997],[33.84931640625001,27.184912109375],[33.959082031250006,26.6490234375],[35.19414062500002,24.475146484375003],[35.78388671875001,23.937792968750003],[35.54082031250002,23.920654296875],[35.50439453125,23.779296875],[35.697851562500006,22.946191406249994],[36.22968750000001,22.628808593749994],[36.87138671875002,21.996728515624994],[31.434472656250023,21.995849609375],[31.486132812500017,22.14780273437499],[31.400292968750023,22.202441406250003],[31.260644531250023,22.00229492187499],[31.092675781250023,21.994873046875],[28.036425781250017,21.995361328125],[24.980273437500017,21.995849609375],[24.980273437500017,25.5888671875],[24.980273437500017,29.181884765625],[24.703222656250006,30.201074218749994],[24.96142578125,30.678515625],[24.85273437500001,31.334814453125],[25.150488281250006,31.654980468749997],[25.382226562500023,31.51279296875],[25.89326171875001,31.620898437499996],[27.248046875,31.377880859374997],[27.5400390625,31.212695312499996],[28.51484375000001,31.050439453124994],[29.072070312500017,30.830273437499997],[29.929785156250006,31.227490234374997],[30.22265625,31.2583984375],[30.395117187500006,31.4576171875],[30.92353515625001,31.566845703124997],[30.56298828125,31.4169921875],[31.001757812500017,31.462792968749994],[31.082910156250023,31.603320312499996],[31.5244140625,31.458251953125],[31.888964843750017,31.54140625],[32.13603515625002,31.341064453125],[31.8921875,31.482470703124996],[31.77109375,31.292578125],[32.10175781250001,31.092822265624996],[32.281835937500006,31.200878906249997],[32.21621093750002,31.29375],[32.60332031250002,31.06875],[33.66650390625,31.130419921874996],[34.19814453125002,31.322607421875],[34.24531250000001,31.208300781249996]]]},"properties":{"name":"Egypt","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[40.141210937500006,15.696142578125034],[40.399023437500006,15.579882812500045],[39.975195312500006,15.612451171875023],[39.94746093750004,15.696142578125034],[40.07050781250004,15.676611328125034],[39.93994140625003,15.744531250000023],[39.9567382812501,15.889404296875057],[40.141210937500006,15.696142578125034]]],[[[40.07646484375002,16.082421875000023],[40.11005859375004,15.985742187500051],[39.99609375000003,16.04267578125001],[40.07646484375002,16.082421875000023]]],[[[40.938574218750006,13.983105468749997],[40.82011718750002,14.111669921874991],[40.22148437500002,14.431152343749972],[39.531835937500006,14.53671875],[39.198046875000074,14.479394531250037],[39.1354492187501,14.581884765625034],[39.07421874999997,14.628222656249974],[39.02382812499999,14.628222656249974],[38.99570312500006,14.586865234374983],[38.81201171875003,14.482324218750009],[38.50439453124997,14.42441406250002],[38.43144531250002,14.428613281249994],[38.221484375000074,14.649658203124986],[38.002539062500006,14.737109375000045],[37.94345703125006,14.810546875],[37.884179687499994,14.852294921874972],[37.82031250000003,14.708496093749986],[37.70839843750005,14.45722656250004],[37.64843750000003,14.32255859375006],[37.571191406249994,14.149072265624966],[37.546777343749994,14.143847656249974],[37.507226562499994,14.156396484375037],[37.257226562499994,14.453759765625051],[37.024511718750006,14.271972656250057],[36.81191406250005,14.315039062500034],[36.67910156250005,14.307568359375026],[36.542382812499994,14.25820312499999],[36.52431640625005,14.256835937499986],[36.492285156250006,14.544335937500023],[36.470800781250006,14.736474609375009],[36.448144531249994,14.940087890625009],[36.42675781249997,15.132080078125043],[36.566015625,15.362109375],[36.9137695312501,16.296191406250045],[36.887792968750006,16.624658203124994],[36.9787109375001,16.800585937500045],[36.9757812500001,16.866552734375006],[36.99521484375006,17.020556640625017],[37.00898437500004,17.058886718750017],[37.06152343749997,17.061279296875057],[37.16953125000006,17.04140625],[37.41103515625005,17.061718749999955],[37.452929687500074,17.108691406250017],[37.51015625,17.28813476562499],[37.54746093750006,17.32412109375005],[37.78242187500004,17.458007812500057],[38.253515625,17.584765625000017],[38.26728515625004,17.616699218750057],[38.28984375000002,17.637011718750017],[38.34736328125004,17.68359375],[38.37373046875004,17.717333984375045],[38.42246093750006,17.823925781249983],[38.60947265625006,18.00507812500004],[39.03447265625002,17.085546875000034],[39.298925781250006,15.921093750000011],[39.78554687499999,15.124853515624991],[39.86376953124997,15.470312500000034],[40.20410156250003,15.014111328124983],[41.17646484375004,14.620312500000054],[41.65820312499997,13.983056640624994],[42.24511718749997,13.587646484374986],[42.39931640625005,13.212597656249969],[42.522851562499994,13.221484375],[42.796191406250074,12.864257812500057],[42.96953125000002,12.808349609375028],[42.99902343750003,12.899511718750048],[43.08291015625005,12.824609374999966],[43.11669921874997,12.708593749999963],[43.00566406250002,12.66230468750004],[42.88330078124997,12.621289062500026],[42.86591796875004,12.622802734374986],[42.82529296875006,12.569335937500014],[42.767480468749994,12.422851562500014],[42.70371093750006,12.380322265625054],[42.479394531249994,12.513623046875026],[42.45,12.521337890625006],[42.40859375,12.494384765625014],[42.37851562500006,12.46640625],[42.28994140625005,12.570214843750009],[42.225,12.661962890624963],[42.13427734374997,12.771435546874969],[41.95214843749997,12.88232421875],[41.85957031250004,13.025878906250028],[41.76503906250005,13.183935546874991],[41.362890625,13.499804687500031],[40.938574218750006,13.983105468749997]]]]},"properties":{"name":"Eritrea","childNum":3}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[-17.887939453125,27.809570312500057],[-17.984765625000023,27.646386718750023],[-18.160546874999937,27.76147460937503],[-17.887939453125,27.809570312500057]]],[[[-15.400585937499955,28.147363281250023],[-15.436767578124972,27.810693359375023],[-15.71030273437492,27.784082031250023],[-15.809472656249966,27.994482421874977],[-15.682763671874994,28.15405273437497],[-15.400585937499955,28.147363281250023]]],[[[-17.184667968749977,28.02197265624997],[-17.324902343749955,28.11767578125003],[-17.25859375,28.203173828125045],[-17.103759765624943,28.111132812500017],[-17.184667968749977,28.02197265624997]]],[[[-16.33447265624997,28.37993164062499],[-16.41821289062497,28.15141601562496],[-16.65800781249999,28.007177734374977],[-16.905322265625017,28.33959960937503],[-16.12363281249992,28.57597656249996],[-16.33447265624997,28.37993164062499]]],[[[-14.196777343749943,28.169287109375063],[-14.332617187500006,28.056005859374977],[-14.49179687499992,28.100927734374977],[-14.231982421875017,28.21582031250003],[-14.003369140624983,28.706689453125023],[-13.85722656249996,28.73803710937503],[-13.928027343749989,28.25346679687499],[-14.196777343749943,28.169287109375063]]],[[[-17.83427734374999,28.49321289062496],[-18.00078124999999,28.758251953124955],[-17.928808593749977,28.844580078125063],[-17.7265625,28.724462890625006],[-17.83427734374999,28.49321289062496]]],[[[-13.715966796874966,28.911230468750034],[-13.85991210937496,28.869091796874983],[-13.823632812499966,29.013330078124966],[-13.463574218749955,29.237207031250023],[-13.477929687499966,29.00659179687503],[-13.715966796874966,28.911230468750034]]],[[[1.593945312500068,38.672070312499955],[1.40576171875,38.670996093750006],[1.436328125000017,38.768212890624994],[1.593945312500068,38.672070312499955]]],[[[1.445214843750051,38.91870117187503],[1.223339843750068,38.90385742187502],[1.3486328125,39.080810546875],[1.564453125,39.12104492187504],[1.623632812499977,39.03881835937497],[1.445214843750051,38.91870117187503]]],[[[3.145312500000017,39.79008789062499],[3.461816406250023,39.69775390625003],[3.072851562500006,39.30126953124997],[2.799804687500057,39.38505859374999],[2.700585937500023,39.54213867187502],[2.49951171875,39.47788085937498],[2.37001953125008,39.57207031249999],[3.15869140625,39.97050781249999],[3.145312500000017,39.79008789062499]]],[[[4.293652343750011,39.84184570312499],[3.8671875,39.958740234375],[3.853417968750051,40.06303710937502],[4.22578125000004,40.032373046874966],[4.293652343750011,39.84184570312499]]],[[[-1.794042968749949,43.407324218750006],[-1.410693359374932,43.240087890625034],[-1.460839843749937,43.05175781250006],[-1.300048828124943,43.10097656250002],[-0.586425781249943,42.798974609374966],[0.631640625000045,42.689599609374994],[0.696875,42.84511718750005],[1.428320312499977,42.59589843749998],[1.414843750000074,42.54838867187499],[1.448828124999977,42.43745117187504],[1.534082031250051,42.44169921875002],[1.7060546875,42.50332031250005],[1.859765625000051,42.457080078125045],[1.927929687500068,42.42631835937499],[2.032714843750028,42.353515625],[3.21142578125,42.43115234375],[3.248046875,41.94423828125002],[3.0048828125,41.76743164062506],[2.082617187500063,41.287402343750045],[1.032910156250068,41.06206054687496],[0.714648437500074,40.822851562500006],[0.891113281250057,40.72236328125004],[0.59609375000008,40.614501953125],[-0.327001953124949,39.519873046875006],[-0.204931640624949,39.062597656250034],[0.20156250000008,38.75917968750002],[-0.520800781249989,38.317285156249966],[-0.814648437500011,37.76992187500002],[-0.721582031249966,37.63105468749998],[-1.327539062499937,37.561132812500034],[-1.640966796874949,37.38696289062497],[-2.111523437499983,36.77666015624999],[-4.366845703124994,36.71811523437506],[-4.67412109374996,36.506445312500006],[-5.171484374999949,36.423779296874955],[-5.3609375,36.134912109374994],[-5.62548828125,36.02592773437499],[-6.040673828124937,36.18842773437498],[-6.38413085937492,36.63701171874996],[-6.216796875000028,36.91357421875],[-6.396191406249983,36.831640625],[-6.863769531250028,37.27890625],[-7.406152343749937,37.17944335937497],[-7.44394531249992,37.72827148437497],[-6.957568359374932,38.18789062499999],[-7.106396484374983,38.181005859375006],[-7.343017578124943,38.45742187500002],[-6.997949218749994,39.05644531250002],[-7.53569335937496,39.66157226562501],[-7.117675781249972,39.681689453125045],[-6.975390624999932,39.79838867187502],[-6.896093749999949,40.02182617187506],[-7.032617187499966,40.16791992187498],[-6.8101562499999,40.343115234375034],[-6.928466796874972,41.009130859375006],[-6.2125,41.53203125],[-6.542187499999955,41.672509765624994],[-6.61826171874992,41.9423828125],[-7.147119140625023,41.98115234374998],[-7.40361328124996,41.833691406249955],[-8.152490234374937,41.81196289062498],[-8.266064453124983,42.13740234375001],[-8.777148437500017,41.941064453124994],[-8.887207031249943,42.105273437500045],[-8.690917968749943,42.274169921875],[-8.815820312499966,42.285253906250034],[-8.730029296874989,42.411718750000034],[-8.8115234375,42.64033203124998],[-9.033105468750023,42.593847656250006],[-8.927197265624926,42.79858398437497],[-9.235205078124977,42.97690429687498],[-9.178076171874977,43.17402343749998],[-8.248925781249937,43.43940429687498],[-8.256738281249937,43.57988281249999],[-8.004687499999932,43.69438476562496],[-7.503613281249983,43.73994140625001],[-7.060986328124955,43.55395507812503],[-5.846679687499943,43.645068359375045],[-4.52304687499992,43.41572265625004],[-3.604638671874966,43.51948242187504],[-3.045605468749926,43.37158203125],[-2.875048828125017,43.454443359375006],[-2.337109374999926,43.32802734375002],[-1.794042968749949,43.407324218750006]]]]},"properties":{"name":"Spain","childNum":12,"cp":[-2.9366964,40.3438963]}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[22.61738281250004,58.62124023437502],[23.323242187500057,58.45083007812502],[22.730273437500045,58.23066406250001],[22.371679687499977,58.217138671875006],[21.996875,57.93134765624998],[22.187695312500068,58.15434570312502],[21.88212890624999,58.262353515624994],[21.862304687500057,58.497167968750034],[22.61738281250004,58.62124023437502]]],[[[23.343554687500017,58.550341796875045],[23.10908203125004,58.65922851562502],[23.332812500000045,58.648583984374994],[23.343554687500017,58.550341796875045]]],[[[22.923730468750023,58.826904296875],[22.54218750000001,58.68999023437499],[22.411035156250023,58.863378906250034],[22.05625,58.94360351562506],[22.6494140625,59.08710937499998],[22.90986328125004,58.99121093749997],[22.923730468750023,58.826904296875]]],[[[28.0125,59.484277343749966],[28.15107421875004,59.374414062499966],[27.434179687500006,58.787255859374994],[27.502441406250057,58.221337890624994],[27.778515625000068,57.87070312500006],[27.542089843750063,57.799414062500006],[27.4,57.66679687499999],[27.35195312500005,57.528125],[26.96601562500001,57.60913085937506],[26.532617187499994,57.53100585937503],[26.29804687500001,57.60107421875],[25.66015625,57.920166015625],[25.27265625000001,58.009375],[25.11103515625004,58.06342773437498],[24.45888671875005,57.907861328124994],[24.3625,57.86616210937501],[24.322558593750074,57.87060546875003],[24.529101562500045,58.35424804687497],[24.114843750000034,58.26611328125006],[23.767578125000057,58.36083984374997],[23.50927734375003,58.65854492187498],[23.680761718750063,58.787158203125074],[23.43203125,58.920654296875],[23.494433593750017,59.19565429687498],[24.083398437500023,59.29189453125005],[24.38037109375003,59.47265625],[25.44375,59.52114257812502],[25.50927734374997,59.63901367187506],[26.974707031250006,59.450634765624955],[28.0125,59.484277343749966]]]]},"properties":{"name":"Estonia","childNum":4}},{"geometry":{"type":"Polygon","coordinates":[[[38.43144531250002,14.428613281249994],[38.50439453125,14.424414062499991],[38.81201171875,14.482324218749994],[38.995703125,14.586865234374997],[39.02382812500002,14.628222656250003],[39.07421875,14.628222656250003],[39.13544921875001,14.581884765624991],[39.19804687500002,14.479394531249994],[39.531835937500006,14.53671875],[40.22148437500002,14.43115234375],[40.82011718750002,14.111669921874991],[40.938574218750006,13.983105468749997],[41.362890625,13.499804687500003],[41.76503906250002,13.183935546874991],[41.85957031250001,13.02587890625],[41.9521484375,12.88232421875],[42.13427734375,12.771435546874997],[42.225,12.661962890624991],[42.28994140625002,12.570214843749994],[42.378515625,12.46640625],[41.79267578125001,11.68603515625],[41.79824218750002,10.98046875],[42.557714843750006,11.080761718749997],[42.92275390625002,10.999316406249989],[42.65644531250001,10.6],[42.84160156250002,10.203076171874997],[43.181640625,9.879980468749991],[43.482519531250006,9.379492187499991],[43.98378906250002,9.008837890624989],[46.97822265625001,7.9970703125],[47.97822265625001,7.9970703125],[44.940527343750006,4.912011718749994],[43.988867187500006,4.950537109374991],[43.58349609375,4.85498046875],[43.12568359375001,4.644482421874997],[42.85664062500001,4.32421875],[42.02412109375001,4.137939453125],[41.91533203125002,4.031298828124989],[41.88398437500001,3.977734375],[41.73769531250002,3.979052734374989],[41.48193359375,3.96328125],[41.37246093750002,3.946191406249994],[41.22089843750001,3.943554687499997],[41.02080078125002,4.057470703124991],[40.765234375,4.27304687499999],[39.84218750000002,3.851464843749994],[39.79033203125002,3.754248046874991],[39.65751953125002,3.577832031249997],[39.49443359375002,3.456103515624989],[38.608007812500006,3.60009765625],[38.45156250000002,3.604833984374991],[38.22529296875001,3.618994140624991],[38.08613281250001,3.64882812499999],[37.15458984375002,4.254541015624994],[36.90556640625002,4.411474609374991],[36.02197265625,4.468115234374991],[35.76308593750002,4.808007812499994],[35.75615234375002,4.950488281249989],[35.779296875,5.105566406249991],[35.80029296875,5.156933593749997],[35.74501953125002,5.343994140625],[35.325292968750006,5.364892578124994],[35.2646484375,5.412060546874997],[35.26386718750001,5.457910156249994],[35.26835937500002,5.492285156249991],[34.98359375000001,5.858300781249994],[34.71064453125001,6.660302734374994],[34.06425781250002,7.225732421874994],[33.902441406250006,7.509521484375],[32.99892578125002,7.899511718749991],[33.28105468750002,8.437255859375],[33.95332031250001,8.443505859374994],[34.07275390625,8.545263671874991],[34.078125,9.461523437499991],[34.31123046875001,10.190869140624997],[34.34394531250001,10.658642578124997],[34.571875,10.880175781249989],[34.77128906250002,10.746191406249991],[34.93144531250002,10.864794921874989],[35.1123046875,11.816552734374994],[35.67021484375002,12.623730468749997],[36.12519531250001,12.75703125],[36.52431640625002,14.2568359375],[36.54238281250002,14.25820312499999],[36.67910156250002,14.307568359374997],[36.81191406250002,14.315039062499991],[37.024511718750006,14.27197265625],[37.25722656250002,14.453759765624994],[37.50722656250002,14.156396484374994],[37.54677734375002,14.143847656250003],[37.57119140625002,14.149072265624994],[37.6484375,14.322558593750003],[37.70839843750002,14.457226562499997],[37.8203125,14.70849609375],[37.88417968750002,14.852294921875],[37.943457031250006,14.810546875],[38.002539062500006,14.737109375],[38.22148437500002,14.649658203125],[38.43144531250002,14.428613281249994]]]},"properties":{"name":"Ethiopia","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[22.17509765624999,60.370751953124994],[22.41552734375003,60.30336914062505],[22.36054687500004,60.165576171875045],[22.07714843750003,60.286328124999955],[22.17509765624999,60.370751953124994]]],[[[21.450878906250068,60.529589843750045],[21.3,60.47978515625002],[21.224707031250006,60.62060546875003],[21.450878906250068,60.529589843750045]]],[[[21.2177734375,63.241308593750034],[21.415625,63.19736328125006],[21.25341796875,63.152001953124966],[21.08388671875008,63.277539062499955],[21.2177734375,63.241308593750034]]],[[[24.848242187500034,64.99101562499999],[24.576562500000023,65.04287109375],[24.970605468750023,65.05532226562502],[24.848242187500034,64.99101562499999]]],[[[28.96582031250003,69.02197265625],[28.414062500000057,68.90415039062506],[28.77285156250005,68.84003906249995],[28.470703125000057,68.48837890625],[28.685156250000034,68.189794921875],[29.343847656250006,68.06186523437506],[29.988085937500017,67.66826171874999],[29.066210937500045,66.89174804687497],[30.102734375000097,65.72626953125004],[29.715917968750063,65.62456054687502],[29.608007812500006,65.248681640625],[29.826953125000017,65.14506835937502],[29.60419921875004,64.968408203125],[30.072851562500063,64.76503906250005],[30.04189453125005,64.44335937499997],[30.513769531250006,64.2],[30.50390625000003,64.02060546875],[29.991503906250074,63.73515625000002],[31.180859375000097,63.208300781250074],[31.533984375000017,62.885400390624994],[31.18671875000004,62.48139648437504],[29.69013671875004,61.54609375000001],[27.797656250000074,60.53613281250003],[26.53466796874997,60.412890625000074],[26.56933593750003,60.62456054687502],[26.377734375000074,60.42407226562503],[25.955957031250023,60.474218750000034],[26.03583984375004,60.34150390625001],[25.75800781250004,60.26752929687504],[25.65644531250004,60.33320312499998],[24.44560546874999,60.021289062500045],[23.46357421875004,59.986230468749994],[23.021289062500074,59.81601562500006],[23.19843750000001,60.02182617187498],[22.911718750000063,60.20971679687497],[22.749804687500017,60.057275390624994],[22.462695312500045,60.029199218749966],[22.5849609375,60.380566406249955],[21.436035156250057,60.596386718749955],[21.605957031250057,61.59155273437503],[21.255957031250063,61.98964843750005],[21.143847656250045,62.73999023437506],[21.650976562500063,63.039306640625],[21.545117187499983,63.204296874999955],[22.31972656250005,63.310449218749994],[22.532324218750034,63.647851562499994],[23.598925781250074,64.04091796874997],[24.557910156250045,64.801025390625],[25.288183593750063,64.8603515625],[25.34785156250004,65.47924804687497],[24.674902343750006,65.67070312499999],[24.628027343750034,65.85917968750002],[24.15546875000004,65.80527343750006],[23.700292968750034,66.25263671874998],[23.988574218750045,66.81054687500003],[23.64150390625005,67.12939453124997],[23.733593750000068,67.42290039062499],[23.454882812500045,67.46025390625007],[23.63886718750004,67.95439453125002],[22.854101562500034,68.36733398437502],[21.99746093750005,68.52060546874998],[20.622167968750006,69.036865234375],[21.065722656250017,69.04174804687503],[21.06611328125001,69.21411132812497],[21.59375,69.273583984375],[22.410937500000074,68.719873046875],[23.324023437500017,68.64897460937502],[23.85400390625,68.80590820312503],[24.94140625000003,68.59326171875006],[25.748339843750017,68.99013671875],[26.07246093750004,69.69155273437497],[26.525390625000057,69.91503906250003],[27.127539062500063,69.90649414062497],[27.747851562500045,70.06484375],[29.14160156250003,69.67143554687505],[29.33339843750005,69.47299804687503],[28.846289062500006,69.17690429687502],[28.96582031250003,69.02197265625]]]]},"properties":{"name":"Finland","childNum":5}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[178.48789062500018,-18.97412109375],[177.95869140624998,-19.121582031250014],[178.33427734375013,-18.93447265625001],[178.48789062500018,-18.97412109375]]],[[[179.34931640625015,-18.10234375000003],[179.25351562500018,-18.030566406249974],[179.30644531250013,-17.944042968750026],[179.34931640625015,-18.10234375000003]]],[[[178.28017578124994,-17.37197265625001],[178.59160156249996,-17.651464843750006],[178.66767578125004,-18.080859375],[177.95546875000005,-18.264062500000023],[177.32138671875,-18.077539062500037],[177.26396484375007,-17.86347656250004],[177.5044921875,-17.539550781250043],[177.81796875000012,-17.38847656249999],[178.28017578124994,-17.37197265625001]]],[[[180,-16.96308593750001],[179.89697265625003,-16.96406250000004],[180,-16.785742187500034],[180,-16.96308593750001]]],[[[-179.97490234374996,-16.92480468750003],[-180,-16.96298828124999],[-180,-16.907812500000034],[-180,-16.82431640624999],[-180,-16.78554687499999],[-179.86098632812502,-16.68828124999999],[-179.97490234374996,-16.92480468750003]]],[[[-179.92944335937503,-16.502832031250037],[-179.999951171875,-16.540039062499986],[-179.900927734375,-16.431542968749994],[-179.92944335937503,-16.502832031250037]]],[[[179.99921875000004,-16.168554687499977],[179.56416015625004,-16.636914062499997],[179.56816406249996,-16.747460937499966],[179.93037109375004,-16.51943359375005],[179.9279296875001,-16.74443359374996],[179.41933593750005,-16.80654296875001],[179.20234375000004,-16.71269531249999],[179.00683593750003,-16.90019531249999],[178.70664062500018,-16.97617187500002],[178.4974609375,-16.78789062500003],[178.58359375000012,-16.621875],[178.80507812499994,-16.631445312500034],[179.55175781250003,-16.249902343750023],[180,-16.15292968749999],[179.99921875000004,-16.168554687499977]]]]},"properties":{"name":"Fiji","childNum":7}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[-61.01875,-51.7857421875],[-60.87597656250003,-51.79423828125004],[-60.94755859374996,-51.94628906250002],[-61.14501953125003,-51.83945312500001],[-61.01875,-51.7857421875]]],[[[-60.28623046874995,-51.461914062500014],[-59.38759765625002,-51.35996093750003],[-59.26806640625,-51.42753906250003],[-59.92138671874997,-51.969531250000045],[-60.246337890625,-51.98642578125003],[-60.35346679687498,-52.13994140625004],[-60.686376953125034,-52.18837890624996],[-60.96142578125003,-52.05732421874999],[-60.23847656249998,-51.771972656250036],[-60.58251953125,-51.71269531250004],[-60.24516601562493,-51.638867187500004],[-60.56845703124998,-51.357812499999945],[-60.28623046874995,-51.461914062500014]]],[[[-60.11171875000002,-51.39589843749998],[-60.275341796874955,-51.28056640625002],[-60.06982421875,-51.307910156249996],[-60.11171875000002,-51.39589843749998]]],[[[-58.85019531249995,-51.26992187499998],[-58.42583007812502,-51.32421875000003],[-58.508935546874994,-51.48359375],[-58.271582031250034,-51.57470703124999],[-58.25922851562501,-51.417089843750034],[-57.976513671874955,-51.384375],[-57.80849609375002,-51.51796875],[-57.96044921874997,-51.58320312500003],[-57.79179687499999,-51.63613281249998],[-58.68349609375002,-51.93623046875001],[-58.65278320312498,-52.09921875],[-59.19584960937496,-52.01767578125],[-59.06801757812502,-52.17304687500003],[-59.341503906249955,-52.19599609375],[-59.395654296874966,-52.308007812499994],[-59.64873046875002,-52.134375],[-59.57080078124994,-51.92539062500003],[-59.05952148437498,-51.685449218749994],[-59.09663085937498,-51.49140624999998],[-58.85019531249995,-51.26992187499998]]]]},"properties":{"name":"Falkland Is.","childNum":4}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[55.79736328125003,-21.33935546875003],[55.36269531250005,-21.27363281250004],[55.23281250000005,-21.05839843749999],[55.311328125000074,-20.90410156249999],[55.661914062500074,-20.90625],[55.8390625000001,-21.13857421874998],[55.79736328125003,-21.33935546875003]]],[[[45.180273437500006,-12.97675781250004],[45.069433593750006,-12.895605468750034],[45.09238281250006,-12.653027343749997],[45.22314453124997,-12.752148437500026],[45.180273437500006,-12.97675781250004]]],[[[-51.65253906249998,4.061279296874972],[-52.327880859375,3.18173828125002],[-52.58300781250003,2.528906249999977],[-52.90346679687502,2.211523437499977],[-53.76777343749998,2.354833984375048],[-54.13007812499998,2.121044921875026],[-54.43310546875,2.207519531250057],[-54.51508789062498,2.245458984374963],[-54.55048828125001,2.293066406249991],[-54.59194335937502,2.313769531250031],[-54.61625976562499,2.326757812500006],[-54.60473632812497,2.335791015624991],[-54.56840820312502,2.342578125000031],[-54.53593749999999,2.343310546875003],[-54.48554687500001,2.416113281250006],[-54.402001953124966,2.46152343750002],[-54.25673828125002,2.713720703124977],[-54.19550781249998,2.817871093750057],[-54.17070312499999,2.993603515624969],[-54.203125,3.138183593750028],[-54.18803710937499,3.178759765625031],[-54.063183593749955,3.353320312499989],[-54.00957031249993,3.448535156250017],[-54.03422851562499,3.62939453125],[-54.350732421874994,4.054101562500023],[-54.47968749999998,4.836523437499991],[-53.91992187499997,5.768994140624983],[-52.899316406249966,5.425048828124986],[-52.29052734375003,4.942187500000031],[-52.324609374999966,4.770898437500037],[-52.21997070312494,4.862792968750014],[-52.05810546875003,4.717382812499963],[-52.00292968749997,4.352294921875014],[-51.82753906250002,4.635693359375026],[-51.65253906249998,4.061279296874972]]],[[[-60.826269531250006,14.494482421874991],[-61.063720703125,14.467089843750017],[-61.01132812499998,14.601904296875034],[-61.21333007812501,14.848583984375011],[-60.927148437499966,14.755175781249989],[-60.826269531250006,14.494482421874991]]],[[[-61.23046875000003,15.889941406250074],[-61.310742187499955,15.894677734374966],[-61.25,16.006298828124983],[-61.23046875000003,15.889941406250074]]],[[[-61.58955078125001,16.006933593750006],[-61.759423828124966,16.062060546875045],[-61.74804687499997,16.355273437500017],[-61.55234374999998,16.270898437499966],[-61.58955078125001,16.006933593750006]]],[[[-61.3271484375,16.230419921874983],[-61.522167968749955,16.22802734375003],[-61.47119140624994,16.506640625000045],[-61.17260742187497,16.25610351562497],[-61.3271484375,16.230419921874983]]],[[[9.480371093750023,42.80541992187503],[9.550683593750051,42.12973632812506],[9.186132812500034,41.38491210937502],[8.80751953125008,41.58837890625],[8.886816406249977,41.70068359375003],[8.621875,41.93071289062502],[8.700976562500045,42.09560546875002],[8.565625,42.35771484374996],[8.81484375000008,42.60791015625003],[9.313378906250023,42.71318359374999],[9.363183593750051,43.01738281249996],[9.480371093750023,42.80541992187503]]],[[[-1.17832031249992,45.904052734375],[-1.213574218750011,45.81660156250004],[-1.388671874999972,46.05039062500006],[-1.17832031249992,45.904052734375]]],[[[5.789746093749983,49.53828125000001],[5.823437500000011,49.50507812499998],[5.9013671875,49.48974609374997],[5.928906250000011,49.47753906249997],[5.959472656250028,49.45463867187502],[6.01142578125004,49.44545898437502],[6.074121093750023,49.45463867187502],[6.119921875000017,49.485205078125034],[6.181054687500051,49.498925781249966],[6.344335937500006,49.45273437499998],[6.735449218750006,49.16059570312498],[7.450585937500051,49.152197265625034],[8.134863281250006,48.97358398437498],[7.616601562500023,48.15678710937502],[7.615625,47.59272460937504],[7.343164062499994,47.43310546875003],[7.136035156249989,47.489843750000034],[6.968359375000034,47.453222656250034],[6.900390625000028,47.39423828125001],[7.000585937500034,47.339453125000034],[7.000585937500034,47.32250976562506],[6.978515625000057,47.30205078124996],[6.95205078125008,47.26718750000006],[6.820703125000051,47.163183593750006],[6.688085937500034,47.05825195312505],[6.66689453125008,47.026513671874966],[6.624804687500017,47.00434570312498],[6.45625,46.948339843750034],[6.438646763392874,46.774418247767855],[6.129687500000045,46.56699218750006],[6.118111049107182,46.447459542410726],[6.095898437500011,46.279394531250006],[5.970019531250045,46.214697265625034],[5.971484375000074,46.151220703125006],[6.006640625000045,46.14233398437506],[6.086621093750068,46.14702148437502],[6.19941406250004,46.19306640624998],[6.234667968750045,46.332617187500006],[6.321875,46.39370117187502],[6.428906250000011,46.43051757812506],[6.578222656250034,46.437353515625034],[6.758105468750017,46.41577148437497],[6.772070312500006,46.16513671874998],[6.897265625000017,46.05175781249997],[6.953710937500063,46.017138671875045],[7.00390625,45.95883789062506],[7.021093750000034,45.92578124999997],[6.790917968750023,45.740869140624966],[7.146386718750051,45.381738281249994],[7.07832031250004,45.23994140624998],[6.634765625000028,45.06816406249996],[6.99267578125,44.82729492187502],[6.900195312499989,44.33574218749996],[7.318554687500068,44.13798828125002],[7.637207031250057,44.16484375],[7.4931640625,43.767138671875045],[6.570214843750023,43.199072265625034],[6.115917968750011,43.07236328124998],[5.406542968750074,43.228515625],[5.05976562500004,43.44453125000004],[4.712109375000011,43.373291015625],[3.910839843750011,43.563085937500034],[3.258886718750063,43.193212890625006],[3.051757812500057,42.915136718750006],[3.21142578125,42.43115234375],[2.032714843750028,42.353515625],[1.927929687500068,42.42631835937499],[1.859765625000051,42.457080078125045],[1.7060546875,42.50332031250005],[1.709863281250051,42.604443359374955],[1.568164062500045,42.63500976562506],[1.501367187500023,42.64272460937502],[1.428320312499977,42.59589843749998],[0.696875,42.84511718750005],[0.631640625000045,42.689599609374994],[-0.586425781249943,42.798974609374966],[-1.300048828124943,43.10097656250002],[-1.460839843749937,43.05175781250006],[-1.410693359374932,43.240087890625034],[-1.794042968749949,43.407324218750006],[-1.484863281249943,43.56376953124999],[-1.245507812499937,44.55986328124999],[-1.07695312499996,44.68984375],[-1.152880859374989,44.764013671875006],[-1.245214843749977,44.66669921874998],[-1.081005859374983,45.532421874999955],[-0.548486328124966,45.00058593750006],[-0.790771484375028,45.46801757812497],[-1.195996093749983,45.714453125],[-1.03173828125,45.741064453125006],[-1.14628906249996,46.311376953125034],[-1.786523437499937,46.51484375000001],[-2.059375,46.81030273437497],[-2.01889648437492,47.03764648437502],[-2.197070312499989,47.16293945312506],[-2.027587890625028,47.27358398437502],[-1.742529296874949,47.21596679687502],[-1.97539062499996,47.31069335937505],[-2.503125,47.31206054687496],[-2.427685546874983,47.47089843749998],[-2.770312499999989,47.513867187499955],[-2.787207031249949,47.62553710937496],[-4.312109374999949,47.82290039062502],[-4.678808593749949,48.03950195312501],[-4.32944335937492,48.169970703125045],[-4.577148437499943,48.2900390625],[-4.241406249999926,48.30366210937501],[-4.719384765624966,48.363134765625034],[-4.7625,48.45024414062502],[-4.531201171874983,48.61997070312506],[-3.231445312499972,48.84082031250003],[-2.692333984374983,48.53681640624998],[-2.446191406249937,48.64829101562506],[-2.00371093749996,48.58208007812499],[-1.905712890624955,48.69711914062506],[-1.376464843749972,48.65258789062503],[-1.565478515624932,48.805517578125034],[-1.583105468749977,49.20239257812506],[-1.856445312499972,49.68378906249998],[-1.258642578124949,49.68017578125006],[-1.138525390624977,49.38789062500001],[-0.163476562499937,49.296777343749994],[0.41689453125008,49.448388671874994],[0.129394531250028,49.508447265624966],[0.186718749999983,49.703027343749994],[1.245507812500051,49.99824218750001],[1.5927734375,50.25219726562506],[1.672265625000023,50.885009765625],[2.52490234375,51.097119140624955],[2.759375,50.750634765624994],[3.10683593750008,50.779443359374994],[3.27333984375008,50.53154296875002],[3.595410156250068,50.47734374999999],[3.689355468750023,50.30605468750002],[4.174609375000017,50.24648437500005],[4.149316406250023,49.971582031249994],[4.545019531250063,49.96025390624999],[4.818652343750045,50.153173828125034],[4.867578125000051,49.78813476562502],[5.50732421875,49.51088867187502],[5.789746093749983,49.53828125000001]]]]},"properties":{"name":"France","childNum":10,"cp":[2.8719426,46.8222422]}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[-7.186865234374949,62.139306640624966],[-7.116796874999977,62.046826171874955],[-7.379101562499926,62.07480468749998],[-7.186865234374949,62.139306640624966]]],[[[-6.631054687499955,62.22788085937498],[-6.655810546874932,62.09360351562498],[-6.840527343749983,62.119287109374994],[-6.725195312499949,61.95146484374999],[-7.17216796874996,62.28559570312501],[-6.631054687499955,62.22788085937498]]],[[[-6.406054687499932,62.258642578125034],[-6.544140624999926,62.20561523437499],[-6.554589843749994,62.35566406250001],[-6.406054687499932,62.258642578125034]]]]},"properties":{"name":"Faeroe Is.","childNum":3}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[158.31484375,6.813671875],[158.18339843750002,6.801269531250057],[158.13476562499997,6.944824218749986],[158.29462890625004,6.951074218750023],[158.31484375,6.813671875]]],[[[138.14267578125006,9.50068359375004],[138.06708984375004,9.419042968750006],[138.18583984375007,9.593310546874989],[138.14267578125006,9.50068359375004]]]]},"properties":{"name":"Micronesia","childNum":2}},{"geometry":{"type":"Polygon","coordinates":[[[13.293554687500006,2.161572265624997],[13.172167968750017,1.78857421875],[13.21630859375,1.2484375],[13.851367187500017,1.41875],[14.180859375000011,1.370214843749991],[14.429882812500011,0.901464843749991],[14.32421875,0.62421875],[13.949609375000023,0.353808593749989],[13.860058593750011,-0.203320312500011],[14.47412109375,-0.573437500000011],[14.383984375000011,-1.890039062500009],[14.162890625000017,-2.217578125],[14.199804687500006,-2.354199218750011],[13.993847656250011,-2.490625],[13.886914062500011,-2.465429687500006],[13.733789062500023,-2.138476562500003],[13.464941406250006,-2.395410156250009],[12.991992187500017,-2.313378906250009],[12.793554687500006,-1.931835937500011],[12.590429687500006,-1.826855468750011],[12.43212890625,-1.928906250000011],[12.446386718750006,-2.329980468750009],[12.064453125,-2.41259765625],[11.60546875,-2.342578125],[11.537792968750011,-2.83671875],[11.760156250000023,-2.983105468750011],[11.715429687500006,-3.176953125000011],[11.934179687500006,-3.318554687500011],[11.8798828125,-3.665917968750009],[11.685742187500011,-3.68203125],[11.504296875000023,-3.5203125],[11.234472656250006,-3.690820312500009],[11.130175781250017,-3.916308593750003],[10.34765625,-3.013085937500009],[9.722070312500023,-2.467578125],[10.06201171875,-2.549902343750006],[9.624609375,-2.367089843750009],[9.298925781250006,-1.903027343750011],[9.483203125000017,-1.894628906250006],[9.265625,-1.825097656250009],[9.036328125000011,-1.308886718750003],[9.31884765625,-1.632031250000011],[9.501074218750006,-1.55517578125],[9.295800781250023,-1.515234375],[9.3466796875,-1.325],[9.203808593750011,-1.382421875],[9.064648437500011,-1.29833984375],[8.703125,-0.591015625000011],[8.946386718750006,-0.688769531250003],[9.296679687500017,-0.351269531250011],[9.354882812500023,0.343603515624991],[9.468164062500023,0.15976562499999],[9.796777343750023,0.044238281249989],[10.00146484375,0.194970703124994],[9.546484375,0.295947265624989],[9.324804687500006,0.552099609374991],[9.495312500000011,0.664843749999989],[9.617968750000017,0.576513671874991],[9.5908203125,1.031982421875],[9.636132812500023,1.046679687499989],[9.676464843750011,1.07470703125],[9.70458984375,1.079980468749994],[9.760546875000017,1.07470703125],[9.788671875,1.025683593749989],[9.803906250000011,0.998730468749997],[9.90673828125,0.960107421874994],[11.335351562500023,0.999707031249997],[11.332324218750017,1.528369140624989],[11.328710937500006,2.167431640624997],[11.348437500000017,2.299707031249994],[11.558984375000023,2.302197265624997],[13.2203125,2.256445312499991],[13.293554687500006,2.161572265624997]]]},"properties":{"name":"Gabon","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[-1.065576171874966,50.69023437500002],[-1.25146484375,50.58881835937498],[-1.563427734374955,50.666113281250006],[-1.31279296874996,50.77348632812502],[-1.065576171874966,50.69023437500002]]],[[[-4.196777343749972,53.321435546874966],[-4.04936523437496,53.30576171874998],[-4.373046875,53.13417968750002],[-4.56787109375,53.386474609375],[-4.315087890625023,53.41723632812503],[-4.196777343749972,53.321435546874966]]],[[[-6.218017578125,54.08872070312506],[-6.649804687499937,54.05864257812496],[-7.007714843749937,54.40668945312501],[-7.324511718750017,54.13344726562502],[-7.606542968750006,54.14384765625002],[-8.118261718749977,54.41425781250004],[-7.75439453125,54.59492187499998],[-7.910595703124955,54.698339843750006],[-7.55039062499992,54.767968749999966],[-7.218652343749937,55.09199218749998],[-6.475048828124955,55.24101562499999],[-6.035791015624994,55.14453125000003],[-5.71684570312496,54.817480468750034],[-5.878613281249955,54.64130859375001],[-5.582519531249943,54.66342773437498],[-5.470410156249926,54.500195312499955],[-5.671093749999955,54.54975585937501],[-5.60678710937492,54.272558593750034],[-6.019042968749972,54.05126953124997],[-6.218017578125,54.08872070312506]]],[[[-5.105419921875011,55.448828125000034],[-5.331494140624955,55.481054687500034],[-5.318115234375,55.709179687499955],[-5.105419921875011,55.448828125000034]]],[[[-6.128906249999972,55.93056640625002],[-6.055322265624994,55.69531249999997],[-6.305078124999966,55.60693359375],[-6.286425781249989,55.77250976562499],[-6.491357421874994,55.697314453125045],[-6.462841796874955,55.808251953124994],[-6.128906249999972,55.93056640625002]]],[[[-5.970068359374949,55.814550781250034],[-6.071972656250011,55.893115234375045],[-5.72514648437496,56.118554687499966],[-5.970068359374949,55.814550781250034]]],[[[-5.77788085937496,56.344335937500034],[-6.313427734374983,56.29365234375001],[-6.138867187499955,56.490625],[-6.286328124999983,56.61186523437502],[-6.102734374999955,56.645654296874966],[-5.760839843749949,56.49067382812501],[-5.77788085937496,56.344335937500034]]],[[[-7.249853515624977,57.115332031250006],[-7.410546874999937,57.38110351562506],[-7.26713867187496,57.37177734375001],[-7.249853515624977,57.115332031250006]]],[[[-6.144726562499983,57.50498046874998],[-6.135546874999989,57.31425781250002],[-5.672460937499977,57.252685546875],[-5.94907226562492,57.045166015625],[-6.034375,57.20122070312499],[-6.322705078124926,57.20249023437498],[-6.761132812499994,57.4423828125],[-6.305957031249989,57.67197265624998],[-6.144726562499983,57.50498046874998]]],[[[-7.205566406250028,57.682958984375006],[-7.182617187499972,57.53330078125006],[-7.514746093749949,57.60195312500002],[-7.205566406250028,57.682958984375006]]],[[[-6.198681640624983,58.36328125000003],[-6.554589843749994,58.092871093750006],[-6.425195312499937,58.02128906249999],[-6.983105468749983,57.75],[-7.083447265624926,57.81376953124999],[-6.856835937499937,57.92353515624998],[-7.085253906249932,58.18217773437499],[-6.726464843749937,58.189404296874955],[-6.776464843750006,58.30151367187497],[-6.237451171874966,58.50283203125005],[-6.198681640624983,58.36328125000003]]],[[[-3.109667968749932,58.515478515625034],[-3.212353515624983,58.32124023437501],[-3.99003906249996,57.95903320312502],[-4.035595703124926,57.85200195312498],[-3.857128906249983,57.81855468750001],[-4.134521484375,57.57773437500006],[-3.402783203124955,57.708251953125],[-2.074072265624977,57.70239257812506],[-1.780664062499994,57.474023437499966],[-2.592675781249937,56.56157226562499],[-3.309960937499966,56.36347656250004],[-2.885156249999937,56.397509765625045],[-2.674267578124955,56.25341796875],[-3.362255859374955,56.02763671875002],[-3.789062499999972,56.09521484375],[-3.048730468749937,55.951953125000045],[-2.599316406249955,56.02729492187501],[-2.14707031249992,55.90297851562502],[-1.655371093749949,55.57036132812502],[-1.232421874999943,54.703710937500034],[-0.084375,54.118066406249994],[-0.20556640625,54.021728515625],[0.115332031250006,53.609277343749994],[-0.270019531249972,53.73676757812504],[-0.659912109375,53.72402343750002],[-0.293701171875,53.69233398437504],[0.270996093750028,53.33549804687499],[0.355761718750045,53.15996093750002],[0.0458984375,52.90561523437498],[0.279785156250028,52.80869140625006],[0.55878906250004,52.96694335937505],[1.05556640625008,52.95898437500003],[1.656738281249972,52.753710937500045],[1.74658203125,52.46899414062503],[1.59140625,52.11977539062502],[1.232421875000057,51.97124023437496],[1.188476562500057,51.803369140624966],[0.752246093750017,51.729589843750034],[0.890917968750017,51.571435546874966],[0.42451171875004,51.465625],[1.414941406250023,51.36328125],[1.397558593750034,51.18203125000002],[0.960156250000011,50.92587890624998],[0.299707031249994,50.775976562500006],[-0.785253906249949,50.76542968749999],[-1.416455078124955,50.896875],[-1.334472656249943,50.82080078124997],[-1.516748046874937,50.747460937499966],[-2.031054687499932,50.72539062499999],[-2.035839843749926,50.603076171875045],[-2.999414062499937,50.71660156249999],[-3.40458984374996,50.63242187499998],[-3.679785156250006,50.239941406249955],[-4.194580078124972,50.39331054687503],[-4.727978515624926,50.29047851562504],[-5.11850585937492,50.038330078125],[-5.622119140624932,50.05068359375002],[-4.188183593749926,51.18852539062502],[-3.135986328124972,51.20502929687501],[-2.433056640624926,51.74072265625],[-3.293115234374994,51.390429687500045],[-3.890771484374994,51.591650390625006],[-4.234570312499955,51.56909179687503],[-4.091015624999926,51.65991210937506],[-4.38627929687496,51.74106445312506],[-4.902294921874926,51.626269531250045],[-5.168359374999937,51.74072265625],[-5.183349609374972,51.94965820312501],[-4.217724609374983,52.277441406250006],[-3.980322265624949,52.54174804687503],[-4.101464843750023,52.915478515624955],[-4.683056640624926,52.80615234374997],[-4.268554687499943,53.14453125],[-3.427734374999972,53.34067382812498],[-3.097558593749937,53.260302734375045],[-3.064746093749932,53.426855468750034],[-2.74951171875,53.310205078124994],[-3.064599609374994,53.512841796874966],[-2.84648437499996,54.135302734375045],[-3.165966796874955,54.12792968750006],[-3.56938476562496,54.46757812499996],[-3.464599609374943,54.77309570312505],[-3.036230468749977,54.95307617187501],[-3.550439453124937,54.94741210937502],[-3.957910156249994,54.780957031249955],[-4.818066406249983,54.84614257812501],[-4.911230468749949,54.68945312500006],[-5.032324218749949,54.76137695312505],[-5.172705078124949,54.98588867187496],[-4.676757812499972,55.50131835937498],[-4.871679687499977,55.87392578125005],[-4.58408203124992,55.93867187500001],[-4.844091796874949,56.05117187499999],[-4.80029296875,56.158349609374994],[-5.228222656249983,55.886328125],[-5.084326171874977,56.197460937499955],[-5.41044921874996,55.995361328125],[-5.55644531249996,55.389599609374955],[-5.730664062499926,55.33413085937502],[-5.504492187499949,55.80239257812502],[-5.609570312499955,56.055273437500034],[-5.188378906249937,56.75805664062503],[-5.652441406249977,56.531982421875],[-6.133691406249966,56.706689453124966],[-5.730615234374994,56.853076171875045],[-5.86142578124992,56.902685546875006],[-5.561914062499994,57.23271484375002],[-5.794921874999972,57.37880859375002],[-5.581787109374972,57.546777343749966],[-5.744921874999989,57.668310546875034],[-5.608349609374955,57.88134765625],[-5.157226562499972,57.88134765625],[-5.413183593750006,58.06972656250002],[-5.338281250000023,58.23872070312498],[-5.008300781250028,58.262646484374955],[-5.016748046874966,58.566552734374966],[-4.433251953124937,58.51284179687505],[-3.25913085937492,58.65],[-3.053076171874949,58.63481445312502],[-3.109667968749932,58.515478515625034]]],[[[-3.057421874999932,59.02963867187498],[-2.793017578124989,58.906933593749955],[-3.331640624999949,58.97124023437499],[-3.31035156249996,59.13081054687498],[-3.057421874999932,59.02963867187498]]],[[[-1.30810546875,60.5375],[-1.052441406249955,60.44448242187502],[-1.299462890624994,59.87866210937503],[-1.290917968749937,60.153466796874966],[-1.663769531249983,60.282519531250074],[-1.374609374999949,60.33291015625002],[-1.571777343749972,60.494433593750074],[-1.363964843750011,60.60957031249998],[-1.30810546875,60.5375]]]]},"properties":{"name":"United Kingdom","childNum":14,"cp":[-2.5830348,54.4598409]}},{"geometry":{"type":"Polygon","coordinates":[[[46.30546875000002,41.507714843749994],[46.61894531250002,41.34375],[46.67255859375001,41.28681640625],[46.66240234375002,41.245507812499994],[46.62636718750002,41.15966796875],[46.534375,41.08857421875],[46.43095703125002,41.077050781249994],[46.086523437500006,41.183837890625],[45.28095703125001,41.449560546875],[45.21718750000002,41.423193359375],[45.00136718750002,41.290966796875],[44.97587890625002,41.277490234374994],[44.81132812500002,41.259375],[44.077246093750006,41.182519531249994],[43.43339843750002,41.155517578125],[43.20546875000002,41.199169921875],[43.15283203125,41.23642578125],[43.14101562500002,41.26484375],[43.17128906250002,41.287939453125],[43.149023437500006,41.30712890625],[43.05712890625,41.352832031249996],[42.90673828125,41.466845703124996],[42.82167968750002,41.4923828125],[42.78789062500002,41.563720703125],[42.75410156250001,41.57890625],[42.68242187500002,41.585742187499996],[42.60683593750002,41.57880859375],[42.590429687500006,41.57070312499999],[42.5673828125,41.55927734375],[42.46640625,41.43984375],[41.92578125,41.495654296874996],[41.82353515625002,41.432373046875],[41.779394531250006,41.44052734375],[41.701757812500006,41.471582031249994],[41.57656250000002,41.497314453125],[41.51005859375002,41.517480468749994],[41.701757812500006,41.705419921875],[41.76298828125002,41.970019531249996],[41.48876953125,42.659326171874994],[40.83662109375001,43.0634765625],[40.46210937500001,43.145703125],[39.97832031250002,43.419824218749994],[40.02373046875002,43.48486328125],[40.084570312500006,43.553125],[40.648046875,43.53388671875],[40.941992187500006,43.41806640625],[41.083105468750006,43.374462890625],[41.35820312500002,43.333398437499994],[41.46074218750002,43.276318359375],[41.58056640625,43.21923828125],[42.76064453125002,43.169580078124994],[42.99160156250002,43.09150390625],[43.00019531250001,43.049658203125],[43.08916015625002,42.9890625],[43.55781250000001,42.844482421875],[43.623046875,42.80771484375],[43.78261718750002,42.747021484375],[43.79873046875002,42.727783203125],[43.79541015625,42.702978515625],[43.74990234375002,42.657519531249996],[43.738378906250006,42.616992187499996],[43.759863281250006,42.59384765625],[43.82597656250002,42.571533203125],[43.95742187500002,42.566552734374994],[44.00468750000002,42.595605468749994],[44.10273437500001,42.616357421874994],[44.32949218750002,42.70351562499999],[44.505859375,42.7486328125],[44.77109375,42.616796875],[44.85048828125002,42.746826171875],[44.87099609375002,42.756396484374996],[44.943359375,42.730273437499996],[45.07158203125002,42.694140625],[45.160253906250006,42.675],[45.34375,42.52978515625],[45.56289062500002,42.5357421875],[45.70527343750001,42.498095703124996],[45.7275390625,42.475048828125],[45.63427734375,42.234716796875],[45.63857421875002,42.205078125],[46.21269531250002,41.989892578124994],[46.42988281250001,41.890966796875],[46.18427734375001,41.7021484375],[46.30546875000002,41.507714843749994]]]},"properties":{"name":"Georgia","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[-0.068603515625,11.115625],[0.009423828125023,11.02099609375],[-0.08632812499999,10.673046875],[0.380859375,10.291845703124991],[0.264550781250023,9.644726562499997],[0.342578125000017,9.604150390624994],[0.2333984375,9.463525390624994],[0.525683593750017,9.398486328124989],[0.48876953125,8.851464843749994],[0.37255859375,8.75927734375],[0.686328125000017,8.354882812499994],[0.5,7.546875],[0.634765625,7.353662109374994],[0.525585937500011,6.850927734374991],[0.736914062500006,6.452587890624997],[1.187207031250011,6.089404296874989],[0.94970703125,5.810253906249997],[0.259667968750023,5.75732421875],[-2.001855468749994,4.762451171875],[-3.114013671875,5.088671874999989],[-2.815673828125,5.153027343749997],[-2.754980468749977,5.432519531249994],[-2.793652343749983,5.60009765625],[-2.998291015625,5.71132812499999],[-3.227148437499977,6.749121093749991],[-2.959082031249977,7.454541015624997],[-2.789746093749983,7.931933593749989],[-2.668847656249994,8.022216796875],[-2.613378906249977,8.046679687499989],[-2.600976562499994,8.082226562499997],[-2.619970703124977,8.12109375],[-2.61171875,8.147558593749991],[-2.538281249999983,8.171630859375],[-2.505859375,8.208740234375],[-2.600390624999989,8.800439453124994],[-2.649218749999989,8.956591796874989],[-2.689892578124983,9.025097656249997],[-2.746923828124977,9.045117187499997],[-2.705761718749983,9.351367187499989],[-2.695849609374989,9.481347656249994],[-2.706201171874994,9.533935546875],[-2.765966796874977,9.658056640624991],[-2.780517578125,9.745849609375],[-2.791162109374994,10.432421874999989],[-2.914892578124977,10.592333984374989],[-2.829931640624977,10.998388671874991],[-1.04248046875,11.010058593749989],[-0.627148437499983,10.927392578124994],[-0.299462890624994,11.166894531249994],[-0.068603515625,11.115625]]]},"properties":{"name":"Ghana","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[-11.389404296875,12.404394531249991],[-11.502197265625,12.198632812499994],[-11.30517578125,12.015429687499989],[-10.933203124999977,12.205175781249991],[-10.709228515625,11.898730468749989],[-10.274853515624983,12.212646484375],[-9.754003906249977,12.029931640624994],[-9.358105468749983,12.255419921874989],[-9.395361328124977,12.464648437499989],[-9.043066406249977,12.40234375],[-8.818310546874983,11.922509765624994],[-8.822021484375,11.673242187499994],[-8.398535156249977,11.366552734374991],[-8.666699218749983,11.009472656249997],[-8.33740234375,10.990625],[-8.266650390624989,10.485986328124994],[-8.007275390624983,10.321875],[-7.990625,10.1625],[-8.155175781249994,9.973193359374989],[-8.136962890625,9.49570312499999],[-7.896191406249983,9.415869140624991],[-7.918066406249977,9.188525390624989],[-7.839404296874989,9.151611328125],[-7.7998046875,9.115039062499989],[-7.777978515624994,9.080859374999989],[-7.902099609375,9.01708984375],[-7.938183593749983,8.979785156249989],[-7.950976562499989,8.786816406249997],[-7.719580078124977,8.643017578124997],[-7.696093749999989,8.375585937499991],[-7.823583984374977,8.467675781249994],[-7.953125,8.477734375],[-8.236962890624994,8.455664062499991],[-8.244140625,8.407910156249997],[-8.256103515625,8.253710937499989],[-8.217138671874977,8.219677734374997],[-8.140625,8.181445312499989],[-8.048583984375,8.169726562499989],[-8.009863281249977,8.07851562499999],[-8.126855468749994,7.867724609374989],[-8.115429687499983,7.7607421875],[-8.205957031249994,7.59023437499999],[-8.231884765624983,7.556738281249991],[-8.429980468749989,7.601855468749989],[-8.486425781249977,7.558496093749994],[-8.659765624999977,7.688378906249994],[-8.8896484375,7.2626953125],[-9.11757812499999,7.215917968749991],[-9.463818359374983,7.415869140624991],[-9.369140625,7.703808593749997],[-9.518261718749983,8.34609375],[-9.781982421875,8.537695312499991],[-10.064355468749994,8.429882812499997],[-10.147412109374983,8.519726562499997],[-10.233056640624994,8.488818359374989],[-10.283203125,8.485156249999989],[-10.360058593749983,8.495507812499994],[-10.394433593749994,8.48095703125],[-10.496435546874977,8.362109374999989],[-10.557714843749977,8.315673828125],[-10.686962890624983,8.321679687499994],[-10.712109374999983,8.335253906249989],[-10.677343749999977,8.400585937499997],[-10.500537109374989,8.687548828124989],[-10.615966796875,9.059179687499991],[-10.726855468749989,9.081689453124994],[-10.747021484374983,9.095263671874989],[-10.749951171874983,9.122363281249989],[-10.687646484374994,9.261132812499994],[-10.682714843749977,9.289355468749989],[-10.758593749999989,9.385351562499991],[-11.047460937499977,9.786328125],[-11.180859374999983,9.925341796874989],[-11.205664062499977,9.977734375],[-11.273632812499983,9.996533203124997],[-11.911083984374983,9.993017578124991],[-12.142333984375,9.87539062499999],[-12.427978515625,9.898144531249997],[-12.557861328125,9.704980468749994],[-12.755859375,9.373583984374989],[-12.958789062499989,9.263330078124994],[-13.077294921874994,9.069628906249989],[-13.292675781249983,9.04921875],[-13.436279296875,9.4203125],[-13.691357421874983,9.535791015624994],[-13.689794921874977,9.927783203124989],[-13.820117187499989,9.88720703125],[-14.045019531249977,10.141259765624994],[-14.426904296874994,10.248339843749989],[-14.609570312499983,10.549853515624989],[-14.593505859375,10.766699218749991],[-14.677343749999977,10.68896484375],[-14.775927734374989,10.931640625],[-14.88671875,10.968066406249989],[-14.975,10.803417968749997],[-15.051220703124983,10.834570312499991],[-15.043017578124989,10.940136718749997],[-14.9990234375,10.9921875],[-14.944433593749977,11.072167968749994],[-14.779296875,11.405517578125],[-14.720263671874989,11.48193359375],[-14.682958984374977,11.508496093749997],[-14.604785156249989,11.511621093749994],[-14.452441406249989,11.556201171874989],[-14.327832031249983,11.629785156249994],[-14.265576171874983,11.659912109375],[-14.122314453125,11.65195312499999],[-13.953222656249977,11.664599609374989],[-13.732763671874977,11.736035156249997],[-13.730664062499983,11.959863281249994],[-13.737988281249983,12.009667968749994],[-13.816308593749994,12.054492187499989],[-13.948876953124994,12.178173828124997],[-13.8875,12.246875],[-13.759765625,12.262353515624994],[-13.673535156249983,12.478515625],[-13.732617187499983,12.592822265624989],[-13.729248046875,12.673925781249991],[-13.082910156249994,12.633544921875],[-13.061279296875,12.489990234375],[-12.930712890624989,12.532275390624989],[-12.399072265624994,12.340087890625],[-11.389404296875,12.404394531249991]]]},"properties":{"name":"Guinea","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[-16.763330078124994,13.064160156249997],[-16.824804687499977,13.341064453125],[-16.669335937499994,13.475],[-16.41337890624999,13.269726562499997],[-15.427490234375,13.46835937499999],[-16.135449218749983,13.4482421875],[-16.351806640625,13.34335937499999],[-16.56230468749999,13.587304687499994],[-15.509667968749994,13.586230468750003],[-15.426855468749977,13.727001953124997],[-15.108349609374983,13.81210937499999],[-14.405468749999983,13.503710937500003],[-13.977392578124977,13.54345703125],[-13.826708984374989,13.4078125],[-14.246777343749983,13.23583984375],[-15.151123046875,13.556494140624991],[-15.286230468749977,13.39599609375],[-15.814404296874983,13.325146484374997],[-15.834277343749989,13.156445312499997],[-16.648779296874977,13.154150390624991],[-16.763330078124994,13.064160156249997]]]},"properties":{"name":"Gambia","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[-15.895898437499966,11.082470703124969],[-15.963964843749977,11.05898437499998],[-15.937695312499955,11.192773437499966],[-15.895898437499966,11.082470703124969]]],[[[-16.11450195312503,11.059423828124977],[-16.236425781249977,11.113427734374966],[-16.06733398437501,11.197216796874983],[-16.11450195312503,11.059423828124977]]],[[[-15.901806640624926,11.4658203125],[-16.02319335937497,11.477148437499991],[-15.964550781249926,11.59829101562498],[-15.901806640624926,11.4658203125]]],[[[-15.986425781249949,11.882031249999969],[-16.038330078124943,11.759716796875011],[-16.15244140624992,11.876806640624963],[-15.986425781249949,11.882031249999969]]],[[[-13.759765625,12.262353515624994],[-13.8875,12.246875],[-13.948876953124966,12.178173828124997],[-13.737988281250011,12.009667968750037],[-13.730664062499926,11.959863281250009],[-13.73276367187492,11.736035156249983],[-13.953222656249977,11.664599609374989],[-14.265576171874926,11.659912109375014],[-14.327832031250011,11.629785156250009],[-14.452441406249989,11.556201171875017],[-14.604785156249932,11.511621093749994],[-14.682958984374949,11.508496093749983],[-14.720263671875017,11.481933593749986],[-14.779296874999972,11.405517578125057],[-14.944433593749949,11.072167968749994],[-14.999023437499972,10.992187500000043],[-15.04301757812496,10.940136718750011],[-15.09375,11.011035156249974],[-15.054589843749994,11.141943359375006],[-15.222119140624926,11.030908203125037],[-15.216699218749994,11.15625],[-15.39311523437496,11.217236328124983],[-15.354687499999955,11.396337890624963],[-15.479492187499972,11.410302734374966],[-15.072656249999937,11.597802734374966],[-15.230371093750023,11.686767578124972],[-15.412988281249994,11.615234374999972],[-15.501904296875011,11.723779296874966],[-15.467187499999937,11.842822265624974],[-15.078271484374937,11.968994140625014],[-15.941748046875006,11.786621093749986],[-15.92021484374996,11.93779296874996],[-16.138427734375,11.917285156250045],[-16.32807617187501,12.051611328124963],[-16.244580078124955,12.237109375],[-16.43681640624996,12.204150390625045],[-16.711816406249937,12.354833984375006],[-16.656933593749955,12.364355468749991],[-16.52133789062495,12.348632812499986],[-16.41630859374996,12.367675781250057],[-16.24150390624996,12.443310546875011],[-16.144189453124937,12.457421875000037],[-15.839550781249955,12.437890624999966],[-15.57480468749992,12.490380859375009],[-15.19609375,12.679931640624986],[-14.3492187499999,12.67641601562498],[-14.064843749999966,12.675292968750014],[-13.729248046875,12.673925781250006],[-13.732617187499983,12.592822265625003],[-13.673535156249926,12.478515624999986],[-13.759765625,12.262353515624994]]]]},"properties":{"name":"Guinea-Bissau","childNum":5}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[11.332324218750017,1.528369140624989],[11.335351562500023,0.999707031250011],[9.906738281250028,0.960107421875037],[9.80390625000004,0.998730468749997],[9.788671875000034,1.025683593749974],[9.760546874999989,1.074707031250014],[9.704589843750057,1.079980468750023],[9.676464843750011,1.074707031250014],[9.636132812500051,1.046679687499989],[9.590820312500057,1.031982421875014],[9.599414062500045,1.054443359374972],[9.509863281250006,1.114794921875017],[9.385937500000068,1.13925781250002],[9.807031250000051,1.927490234375028],[9.77968750000008,2.068212890625006],[9.800781250000028,2.304443359375],[9.826171875000057,2.297802734374969],[9.8369140625,2.242382812500054],[9.870117187500028,2.21328125],[9.979882812499994,2.167773437500045],[10.790917968750023,2.167578125],[11.096582031250051,2.167480468749986],[11.328710937500006,2.167431640624969],[11.332324218750017,1.528369140624989]]],[[[8.735742187500023,3.758300781249972],[8.910058593750023,3.758203125000051],[8.946093750000074,3.627539062499977],[8.704003906250051,3.223632812500028],[8.474902343749989,3.264648437500043],[8.464648437500045,3.450585937499994],[8.735742187500023,3.758300781249972]]]]},"properties":{"name":"Eq. Guinea","childNum":2}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[23.852246093749983,35.53544921874999],[24.166015625000057,35.59521484375],[24.108984374999977,35.49580078124998],[24.35400390625,35.359472656250034],[25.73017578125004,35.34858398437501],[25.791308593750074,35.122851562500045],[26.32021484375008,35.315136718749955],[26.165625,35.018603515625045],[24.79980468750003,34.93447265625002],[24.70888671875008,35.08906250000001],[24.463671875000045,35.160351562499955],[23.59277343749997,35.257226562499966],[23.56982421875,35.534765625000034],[23.67265624999999,35.51391601562506],[23.736914062500034,35.65551757812503],[23.852246093749983,35.53544921874999]]],[[[27.17607421874999,35.46528320312498],[27.070703125000023,35.59775390624998],[27.22314453125,35.820458984374966],[27.17607421874999,35.46528320312498]]],[[[23.053808593750034,36.18979492187498],[22.91083984375004,36.220996093750045],[22.950488281250045,36.38393554687502],[23.053808593750034,36.18979492187498]]],[[[27.84277343750003,35.929296875000034],[27.71552734375004,35.95732421874996],[27.71630859375003,36.17158203125001],[28.23183593750005,36.43364257812502],[28.087792968750023,36.06533203125002],[27.84277343750003,35.929296875000034]]],[[[25.48242187500003,36.39262695312502],[25.37050781250005,36.35893554687499],[25.408984375000074,36.473730468750006],[25.48242187500003,36.39262695312502]]],[[[26.46064453125001,36.58540039062501],[26.270019531250057,36.54692382812499],[26.370019531250023,36.63857421875002],[26.46064453125001,36.58540039062501]]],[[[26.94960937500005,36.72709960937502],[27.214941406250006,36.89863281249998],[27.352148437499977,36.86889648437506],[26.94960937500005,36.72709960937502]]],[[[25.859375,36.79042968750005],[25.74316406250003,36.78974609374998],[26.06445312500003,36.90273437500002],[25.859375,36.79042968750005]]],[[[27.01972656250004,36.95903320312502],[26.91992187500003,36.94521484375005],[26.88867187499997,37.087255859375034],[27.01972656250004,36.95903320312502]]],[[[25.278906250000034,37.06840820312502],[25.105468750000057,37.034960937500045],[25.235058593750068,37.148535156250006],[25.278906250000034,37.06840820312502]]],[[[25.54589843749997,36.96757812499999],[25.45673828125001,36.9296875],[25.361914062500063,37.07041015624998],[25.52529296875005,37.19638671875006],[25.54589843749997,36.96757812499999]]],[[[24.523535156250063,37.125097656250006],[24.42480468750003,37.131982421874994],[24.48378906250005,37.21020507812503],[24.523535156250063,37.125097656250006]]],[[[25.402734375000023,37.419140624999955],[25.312695312500068,37.48930664062496],[25.462988281250063,37.47109375],[25.402734375000023,37.419140624999955]]],[[[26.029296875000057,37.529394531250034],[26.086328125000023,37.63491210937505],[26.351367187500017,37.67431640625],[26.029296875000057,37.529394531250034]]],[[[25.255859375000057,37.59960937500006],[25.156347656250034,37.54506835937505],[24.99648437500005,37.676904296874994],[25.255859375000057,37.59960937500006]]],[[[24.35595703125003,37.57685546875004],[24.28896484375005,37.52827148437498],[24.37910156250004,37.682714843750006],[24.35595703125003,37.57685546875004]]],[[[26.82441406250004,37.81142578125005],[27.05507812500005,37.70927734375002],[26.84492187500004,37.64472656250001],[26.58105468750003,37.723730468750034],[26.82441406250004,37.81142578125005]]],[[[20.888476562500074,37.805371093749955],[20.993945312500074,37.70800781250003],[20.81855468750004,37.66474609375001],[20.61953125000008,37.855029296875045],[20.691503906250006,37.929541015625034],[20.888476562500074,37.805371093749955]]],[[[24.991699218750057,37.75961914062506],[24.962207031250074,37.69238281250003],[24.7001953125,37.961669921875],[24.956347656250045,37.90478515625006],[24.991699218750057,37.75961914062506]]],[[[20.61230468750003,38.38334960937502],[20.761328125,38.07055664062497],[20.523535156250063,38.106640624999955],[20.4521484375,38.23417968750002],[20.35253906250003,38.179882812499955],[20.563183593750068,38.474951171875034],[20.61230468750003,38.38334960937502]]],[[[26.094042968750017,38.21806640625002],[25.891894531250045,38.243310546874994],[25.991406250000068,38.353515625],[25.846093750000023,38.57402343749996],[26.16035156250001,38.54072265625001],[26.094042968750017,38.21806640625002]]],[[[20.68671875000001,38.60869140625002],[20.5546875,38.58256835937502],[20.69414062499999,38.84423828125003],[20.68671875000001,38.60869140625002]]],[[[24.67470703125005,38.80922851562502],[24.54101562499997,38.788671875],[24.485644531250074,38.980273437500045],[24.67470703125005,38.80922851562502]]],[[[23.41542968750008,38.958642578124994],[23.525,38.8134765625],[24.127539062500034,38.648486328125045],[24.27578125000005,38.22001953124996],[24.58837890625003,38.12397460937504],[24.53652343750005,37.97973632812506],[24.212011718750006,38.11752929687506],[24.040136718750006,38.389990234375034],[23.65078125000008,38.44306640625001],[23.25214843750004,38.80122070312498],[22.870312500000068,38.870507812499966],[23.258203125000023,39.03134765625006],[23.41542968750008,38.958642578124994]]],[[[26.41015625000003,39.329443359375034],[26.59560546875005,39.04882812499997],[26.488671875000023,39.074804687500034],[26.46875,38.97280273437502],[26.10791015625,39.08105468749997],[26.273144531249983,39.19755859374999],[26.072363281250034,39.095605468749994],[25.84414062500008,39.20004882812506],[26.16542968750008,39.37353515625006],[26.41015625000003,39.329443359375034]]],[[[20.077929687500045,39.432714843750034],[19.883984375000068,39.461523437500034],[19.646484375,39.76708984375003],[19.926074218750017,39.773730468750045],[19.8466796875,39.66811523437502],[20.077929687500045,39.432714843750034]]],[[[25.43769531250004,39.98330078125002],[25.357031250000063,39.80810546875003],[25.24941406250005,39.89414062500006],[25.06220703125004,39.852392578125006],[25.05800781250005,39.999658203124966],[25.43769531250004,39.98330078125002]]],[[[24.774218750000074,40.615185546874955],[24.515527343750023,40.64702148437496],[24.623339843750045,40.79291992187501],[24.774218750000074,40.615185546874955]]],[[[26.03896484375008,40.726757812499955],[25.10449218750003,40.994726562500006],[24.792968750000057,40.857519531250034],[24.47705078125,40.94775390625003],[24.082324218750074,40.72407226562504],[23.762792968750063,40.74780273437497],[23.866796875000034,40.41855468750006],[24.21279296875008,40.32778320312502],[24.343359375000034,40.14770507812503],[23.913183593750063,40.35878906250005],[23.72792968750008,40.329736328124994],[23.96748046875001,40.11455078125002],[23.947070312500045,39.96557617187506],[23.66455078125003,40.22382812499998],[23.42626953125,40.26396484374999],[23.62734375,39.92407226562503],[22.896484375000057,40.39990234374997],[22.92226562500008,40.59086914062499],[22.629492187500034,40.49555664062501],[22.59218750000005,40.03691406250002],[23.327734374999977,39.174902343750006],[23.15468750000008,39.10146484375005],[23.16171875,39.25776367187501],[22.92138671874997,39.30634765625004],[22.886035156250074,39.16997070312496],[23.066699218750017,39.03793945312498],[22.569140625000074,38.86748046874999],[23.25292968750003,38.66123046875006],[23.68398437500008,38.35244140625002],[23.96699218750001,38.275],[24.024511718750006,38.139794921874966],[24.01972656250001,37.67773437499997],[23.50175781249999,38.03486328124998],[23.03632812500004,37.87836914062501],[23.48925781250003,37.440185546875],[23.16152343750005,37.333837890625006],[22.725390625000017,37.542138671874966],[23.16015625000003,36.448095703125034],[22.717187500000023,36.79394531250006],[22.42773437500003,36.47578124999998],[22.08046875000008,37.028955078124966],[21.95556640625003,36.990087890625034],[21.892382812500045,36.73730468749997],[21.58291015625005,37.080957031249994],[21.678906250000068,37.38720703125003],[21.124707031250068,37.89160156250003],[21.40371093750005,38.19667968750002],[21.658398437500068,38.17509765624996],[21.82470703125003,38.328125],[22.846386718750068,37.96757812499996],[23.18349609375008,38.133691406249966],[22.421679687500045,38.43852539062499],[22.319921875,38.35683593750005],[21.96533203124997,38.412451171875006],[21.47255859375005,38.321386718750006],[21.3310546875,38.48730468749997],[21.303320312500034,38.373925781249966],[21.113183593750023,38.38466796875002],[20.768554687500057,38.874414062499966],[21.111621093750045,38.89628906249999],[21.11835937500001,39.029980468749955],[20.71337890625,39.03515625000003],[20.300781250000057,39.32709960937501],[20.19140625,39.545800781249966],[20.099414062500074,39.641259765624966],[20.001269531250074,39.70942382812501],[20.022558593750063,39.710693359375],[20.059765624999983,39.69912109375002],[20.13105468750004,39.66162109375003],[20.206835937500017,39.65351562499998],[20.382421875,39.802636718749994],[20.381640625000017,39.84179687500006],[20.311328125000074,39.95078125000006],[20.311132812500034,39.97944335937504],[20.338476562500006,39.991064453125006],[20.38369140625008,40.0171875],[20.408007812500074,40.049462890624994],[20.4560546875,40.065576171874994],[20.657421875000068,40.11738281249998],[20.881640625000017,40.467919921874994],[21.030859375000034,40.62246093750002],[20.95576171875001,40.775292968749994],[20.96425781250005,40.84990234374999],[21.575781250000034,40.86894531249996],[21.627539062500006,40.896337890625034],[21.77949218750004,40.95043945312506],[21.99335937500001,41.13095703125006],[22.18447265625005,41.15864257812501],[22.49355468750005,41.118505859375006],[22.603613281249977,41.14018554687499],[22.724804687500068,41.17851562499999],[22.78388671875004,41.33198242187498],[23.155957031250068,41.32207031249999],[23.239843750000034,41.38496093750001],[23.372070312500057,41.3896484375],[23.433398437500017,41.39873046874999],[23.53583984375001,41.38603515624999],[23.63515625000008,41.386767578125045],[24.011328124999977,41.460058593750034],[24.03291015625004,41.469091796875034],[24.05605468750005,41.527246093749966],[24.38671875,41.523535156250006],[24.487890625,41.55522460937499],[24.518261718750068,41.55253906249996],[24.773730468750045,41.356103515624994],[24.99355468750008,41.36499023437503],[25.133398437500063,41.31577148437506],[25.251171875000068,41.243554687499994],[25.923339843750057,41.311914062499966],[26.066406250000057,41.35068359375006],[26.135351562499977,41.3857421875],[26.155175781250023,41.43486328124999],[26.143554687500057,41.52153320312496],[26.085546875000063,41.704150390625045],[26.10742187499997,41.72568359374998],[26.20058593750005,41.74379882812502],[26.320898437500034,41.716552734375],[26.581347656250074,41.60126953125004],[26.62490234375008,41.401757812499994],[26.330664062499977,41.23876953125],[26.331054687500057,40.954492187499994],[26.03896484375008,40.726757812499955]]]]},"properties":{"name":"Greece","childNum":29}},{"geometry":{"type":"Polygon","coordinates":[[[-61.71552734375,12.012646484374997],[-61.714990234374994,12.18515625],[-61.60703125,12.223291015624994],[-61.71552734375,12.012646484374997]]]},"properties":{"name":"Grenada","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[-46.266699218750006,60.781396484374994],[-46.381542968749955,60.66030273437502],[-46.7880859375,60.758398437500034],[-46.205224609374994,60.943505859374994],[-46.266699218750006,60.781396484374994]]],[[[-37.03125,65.53198242187497],[-37.23842773437494,65.60986328125003],[-37.047509765624966,65.722265625],[-37.03125,65.53198242187497]]],[[[-51.01367187499994,69.55249023437497],[-51.202050781249966,69.525],[-51.33886718749994,69.73203125000006],[-51.094580078125006,69.92416992187503],[-50.67900390624999,69.84853515625],[-51.01367187499994,69.55249023437497]]],[[[-52.73115234375001,69.94472656250005],[-52.0453125,69.8072265625],[-51.90019531249999,69.60478515625007],[-53.57841796874996,69.25664062500002],[-54.18271484374995,69.40351562500001],[-53.65830078124998,69.46513671875005],[-53.825,69.54033203124999],[-54.91914062499998,69.71362304687503],[-54.78789062499996,69.94985351562502],[-54.322607421875034,69.94189453125],[-54.83076171875001,70.13295898437502],[-54.37163085937499,70.31728515625],[-53.296728515625034,70.20537109375002],[-52.73115234375001,69.94472656250005]]],[[[-51.67514648437498,70.855224609375],[-52.11938476562497,70.87065429687502],[-52.10673828124999,70.96801757812497],[-51.67514648437498,70.855224609375]]],[[[-25.43232421875001,70.92133789062495],[-25.402246093749994,70.65268554687503],[-26.217871093749977,70.45405273437498],[-26.604687499999926,70.55336914062497],[-28.03525390624995,70.48681640625],[-27.61723632812496,70.91376953125001],[-26.621777343749955,70.87563476562497],[-25.81889648437499,71.04365234375001],[-25.43232421875001,70.92133789062495]]],[[[-53.53520507812493,71.04082031250005],[-53.9578125,71.12773437499999],[-53.58447265625003,71.29707031249995],[-53.53520507812493,71.04082031250005]]],[[[-55.01689453124999,72.79111328125003],[-55.56660156249998,72.56435546875002],[-56.214794921874955,72.71918945312495],[-55.01689453124999,72.79111328125003]]],[[[-18.000537109374932,75.40732421875003],[-17.391992187499937,75.03691406250007],[-18.670800781249966,75.00166015624998],[-18.856054687499977,75.31914062500002],[-18.000537109374932,75.40732421875003]]],[[[-18.58261718749995,76.042333984375],[-19.085351562499966,76.43037109375001],[-18.882470703124937,76.70380859375001],[-18.58261718749995,76.042333984375]]],[[[-71.667333984375,77.32529296874998],[-72.48955078124999,77.43164062499997],[-71.43344726562495,77.394384765625],[-71.667333984375,77.32529296874998]]],[[[-17.6125,79.82587890624995],[-18.662011718749966,79.72001953125005],[-19.13828125,79.85234375000002],[-17.98291015625,80.05517578125003],[-17.471386718749955,80.02871093749997],[-17.6125,79.82587890624995]]],[[[-44.86455078124999,82.08364257812502],[-46.75190429687501,82.34819335937502],[-47.27226562499996,82.65693359375001],[-46.399169921875,82.692138671875],[-44.91748046875003,82.48051757812505],[-44.86455078124999,82.08364257812502]]],[[[-29.952880859375,83.56484374999997],[-25.795068359374994,83.26098632812497],[-31.99267578125,83.0853515625],[-32.03271484374997,82.98344726562502],[-25.12338867187495,83.15961914062501],[-24.47031249999995,82.87739257812498],[-21.582519531249943,82.6341796875],[-23.118066406249966,82.32470703125003],[-29.57939453124996,82.16118164062502],[-29.887402343749983,82.05483398437502],[-29.543847656249994,81.93994140624997],[-27.839501953124966,82.04887695312505],[-25.148828124999966,82.001123046875],[-24.293066406249977,81.70097656250005],[-23.103710937499983,82.01181640625003],[-21.337988281249977,82.068701171875],[-21.230517578125017,81.60136718749999],[-23.11772460937499,80.77817382812498],[-19.62993164062499,81.63989257812503],[-17.456054687499943,81.397705078125],[-16.12070312499995,81.776611328125],[-14.241992187500017,81.81386718750005],[-12.434423828125006,81.68251953125002],[-11.430664062499972,81.45683593750005],[-13.126220703124972,81.08779296875],[-14.452343749999955,80.99311523437498],[-14.503564453124994,80.76328125000006],[-16.76059570312492,80.573388671875],[-15.937255859374972,80.42763671874997],[-16.48876953124997,80.25195312499997],[-18.070947265624994,80.17207031249995],[-19.429199218749943,80.25771484375],[-20.150146484375,80.01123046874997],[-18.99199218749996,79.17836914062502],[-21.133740234374926,78.65864257812501],[-21.729589843749977,77.70854492187499],[-20.862597656249932,77.91186523437503],[-19.490429687499983,77.71889648437497],[-19.46752929687503,77.56582031250005],[-20.162060546874926,77.68984375],[-20.680810546875023,77.61899414062503],[-20.23193359374997,77.36840820312497],[-19.30029296874997,77.22236328124995],[-18.442626953124943,77.259375],[-18.51030273437496,76.77817382812498],[-20.48671875,76.92080078125],[-21.614697265624926,76.68789062499997],[-22.18525390625001,76.79409179687502],[-22.609326171874983,76.70429687500004],[-21.877343749999966,76.57348632812503],[-21.488232421874926,76.271875],[-20.10361328124992,76.21909179687503],[-19.508984374999926,75.75751953124995],[-19.52636718750003,75.18022460937505],[-20.484960937500006,75.31425781249999],[-21.649316406249966,75.02343749999997],[-22.232861328124926,75.11972656249998],[-21.69511718749999,74.96445312500003],[-20.985791015624983,75.07436523437497],[-20.86157226562497,74.63593750000001],[-20.41708984374995,74.9751953125],[-19.98491210937499,74.9751953125],[-19.287011718750023,74.54638671875006],[-19.36914062499997,74.28403320312498],[-20.256445312499977,74.2828125],[-20.653125,74.13735351562502],[-21.954931640624977,74.24428710937497],[-21.942919921874932,74.56572265624999],[-22.32158203124999,74.30253906250002],[-22.134814453124932,73.99047851562503],[-20.36728515624992,73.8482421875],[-20.509667968749966,73.49287109375001],[-22.346875,73.26923828125001],[-23.23320312499999,73.39770507812497],[-24.157714843749943,73.76445312499999],[-24.67724609375,73.602197265625],[-25.521289062500017,73.85161132812499],[-24.79125976562497,73.51127929687502],[-26.062304687500017,73.25302734375],[-27.270410156250023,73.43627929687503],[-26.541845703125006,73.24897460937495],[-27.561621093750006,73.13847656250002],[-27.348046875000023,73.06782226562501],[-25.057031250000023,73.396484375],[-24.132666015625006,73.409375],[-22.036328124999955,72.91845703125006],[-22.29321289062497,72.11953125],[-24.06904296875001,72.49873046874998],[-24.629980468749977,73.03764648437499],[-26.657617187499966,72.71582031249997],[-24.81333007812492,72.90151367187497],[-24.65,72.58251953125],[-25.117871093749983,72.34697265625005],[-24.66684570312492,72.437353515625],[-21.959667968749955,71.74467773437502],[-22.479638671874937,71.38344726562497],[-22.417578125,71.24868164062505],[-22.29902343750001,71.43232421874998],[-21.75224609374999,71.47832031250002],[-21.522656249999926,70.52622070312503],[-22.38413085937492,70.46240234375],[-22.437011718749943,70.860009765625],[-22.690673828124943,70.43730468750002],[-23.327832031249983,70.45097656250007],[-23.97138671875001,70.64946289062499],[-24.562207031249926,71.22353515624997],[-25.885156249999966,71.571923828125],[-27.08720703124999,71.6265625],[-27.107031250000034,71.53266601562498],[-25.842724609374955,71.48017578124995],[-25.74223632812499,71.18359375],[-26.717919921874994,70.95048828125005],[-28.39843749999997,70.99291992187497],[-27.99218749999997,70.89521484374998],[-28.06987304687499,70.69902343750005],[-29.07207031249999,70.444970703125],[-26.621777343749955,70.46337890625],[-26.576806640625023,70.35708007812502],[-27.560839843749932,70.12446289062498],[-27.384179687500023,69.9916015625],[-27.027734374999966,70.20122070312499],[-25.529882812499977,70.35317382812502],[-23.66733398437495,70.139306640625],[-22.28447265624996,70.12583007812498],[-22.287060546874955,70.03339843749998],[-23.03364257812501,69.90083007812498],[-23.04956054687497,69.79272460937497],[-23.86572265624997,69.73671875000002],[-23.739404296874994,69.58862304687497],[-24.296679687500017,69.58554687500006],[-24.295556640624966,69.439306640625],[-25.188574218750006,69.26054687500002],[-25.092431640624937,69.16518554687502],[-25.697998046874943,68.889892578125],[-26.48291015624997,68.67592773437502],[-29.24951171874997,68.29877929687501],[-29.86850585937495,68.31157226562505],[-30.318115234375,68.19331054687501],[-30.72001953124999,68.25117187499998],[-30.610742187499994,68.11791992187503],[-30.97856445312499,68.06132812500005],[-32.32744140624999,68.43730468749999],[-32.16455078125,67.99111328125002],[-33.15698242187497,67.62670898437506],[-34.1982421875,66.65507812499999],[-35.18857421874995,66.25029296875002],[-35.86723632812502,66.44140624999997],[-35.630078124999926,66.13994140625002],[-36.37919921874996,65.830810546875],[-36.52724609375002,66.00771484375],[-36.665185546874966,65.79008789062507],[-37.06279296874996,65.87143554687503],[-37.410058593749994,65.65634765625],[-37.954785156249955,65.63359375000007],[-37.278710937499994,66.30439453124995],[-38.156640624999966,66.38559570312498],[-37.75234375000002,66.26152343750002],[-38.13994140625002,65.90351562499998],[-38.52036132812498,66.00966796875002],[-38.20336914062497,65.71171874999999],[-40.17353515624998,65.55615234375],[-39.57792968749996,65.34077148437501],[-39.937255859375,65.14160156250003],[-40.253125,65.04887695312505],[-41.08442382812501,65.10083007812497],[-40.966015624999955,64.86884765624995],[-40.655468749999926,64.91533203125002],[-40.18222656249998,64.47993164062495],[-40.78173828125,64.22177734375003],[-41.581005859374926,64.29833984375],[-41.03056640624996,64.12104492187504],[-40.61777343749998,64.13173828125],[-40.550390625000034,63.72524414062505],[-40.77519531249999,63.53364257812501],[-41.04873046875002,63.51381835937505],[-41.387890624999926,63.06186523437498],[-41.84448242187497,63.07026367187501],[-42.174511718749955,63.20878906249999],[-41.63447265624998,62.972460937500074],[-41.90898437499996,62.73710937499999],[-42.94165039062503,62.72021484375003],[-42.15297851562502,62.568457031250006],[-42.32148437499998,62.15273437500005],[-42.110205078125006,61.857226562500074],[-42.58530273437498,61.71748046875001],[-42.34736328125001,61.61743164062497],[-42.717041015625,60.767480468749994],[-43.04409179687502,60.523681640625],[-43.92270507812495,60.59536132812502],[-43.21298828124998,60.390673828125074],[-43.122900390625006,60.06123046875001],[-43.32011718749993,59.928125],[-43.95502929687498,60.025488281250006],[-43.65791015625001,59.85864257812503],[-43.90654296874996,59.815478515625045],[-44.11699218750002,59.83193359375002],[-44.06547851562499,59.92480468750003],[-44.412939453125006,59.922607421875],[-44.22436523437494,60.273535156250006],[-44.61328124999997,60.01665039062499],[-45.37924804687495,60.20292968750002],[-45.367773437500006,60.37294921875002],[-44.97470703124995,60.457226562499955],[-44.756738281249966,60.66459960937502],[-45.38051757812494,60.444921875],[-46.04663085937503,60.61572265625],[-46.141943359375006,60.776513671874994],[-45.87021484374998,61.21831054687502],[-46.87446289062501,60.81640625000003],[-48.180810546874966,60.76923828125001],[-47.77031249999999,60.99775390625001],[-48.386425781249926,61.004736328125034],[-48.42817382812501,61.18740234375002],[-48.92207031249998,61.27744140624998],[-49.28906249999997,61.58994140625006],[-49.380273437499994,61.89018554687502],[-48.82871093749998,62.0796875],[-49.62377929687494,61.99858398437499],[-49.553466796875,62.23271484374999],[-50.319238281249966,62.473193359375045],[-50.298730468749966,62.72197265625002],[-49.793115234374994,63.04462890625004],[-50.39008789062501,62.82202148437497],[-51.46884765624995,63.64228515625001],[-51.547509765624994,64.00610351562497],[-50.260693359374955,64.21425781250002],[-50.48662109374996,64.20888671875],[-50.43706054687499,64.31284179687503],[-51.58491210937498,64.10317382812502],[-51.70786132812498,64.205078125],[-51.403759765624926,64.46318359375002],[-50.49208984375002,64.69316406250005],[-50.00898437500001,64.44726562499997],[-50.12163085937493,64.703759765625],[-50.51699218750002,64.76650390625],[-50.96064453124998,65.20112304687498],[-50.721582031249966,64.79760742187503],[-51.22060546875002,64.62846679687502],[-51.25537109375,64.75810546875005],[-51.92260742187503,64.21875],[-52.259033203125,65.154931640625],[-52.537695312500034,65.32880859374998],[-51.61914062500003,65.71318359375002],[-51.091894531250006,65.77578125],[-51.7234375,65.723486328125],[-52.55126953125003,65.46137695312498],[-52.760937499999926,65.59082031249997],[-53.198974609375,65.59404296875002],[-53.106347656249966,65.97714843749998],[-53.39204101562498,66.04833984375],[-51.225,66.88154296875001],[-53.035791015624966,66.20141601562503],[-53.538769531249955,66.13935546874998],[-53.41875,66.64853515624998],[-53.038281249999955,66.82680664062497],[-52.38686523437502,66.88115234375005],[-53.44360351562503,66.924658203125],[-53.88442382812502,67.13554687499999],[-53.79858398437494,67.41816406250001],[-52.666455078124955,67.74970703124995],[-50.613476562499955,67.5279296875],[-51.171044921874966,67.693603515625],[-50.96884765624998,67.80664062500003],[-51.765234375000034,67.73784179687505],[-52.34482421874998,67.83691406249997],[-53.735205078125006,67.54902343750004],[-53.151562499999926,68.20776367187503],[-51.779980468749926,68.05673828124998],[-51.456494140624926,68.116064453125],[-51.21015625000001,68.419921875],[-52.19853515624993,68.22080078125],[-53.38315429687495,68.29736328124997],[-53.03945312500002,68.61088867187499],[-52.60458984374998,68.70874023437503],[-51.62314453124995,68.53481445312505],[-50.945703124999966,68.68266601562505],[-50.807714843750006,68.81699218749998],[-51.24941406250002,68.73994140625001],[-51.084863281249994,69.12827148437498],[-50.29736328124994,69.17060546874998],[-51.07695312499996,69.20947265625],[-50.291699218749955,70.01445312500005],[-52.254638671875,70.05893554687503],[-53.02304687499995,70.30190429687497],[-54.01445312499996,70.42167968750005],[-54.53076171875,70.69926757812502],[-54.16582031249999,70.82011718750005],[-52.801953124999955,70.7505859375],[-50.87236328124993,70.36489257812502],[-50.66328124999998,70.417578125],[-51.32285156249998,70.58876953124997],[-51.25659179687497,70.85268554687502],[-51.77431640625002,71.01044921875001],[-51.018945312499966,71.001318359375],[-51.37666015625001,71.11904296875],[-53.007568359375,71.17998046874999],[-52.89184570312497,71.457666015625],[-51.76992187500002,71.67172851562498],[-53.44008789062502,71.57900390625002],[-53.14453125000003,71.80742187500002],[-53.65214843749996,72.36264648437506],[-53.92773437499997,72.31879882812501],[-53.47758789062502,71.84995117187506],[-54.01992187500002,71.657861328125],[-53.96298828124995,71.45898437499997],[-54.6890625,71.36723632812505],[-55.59404296874999,71.55351562500005],[-55.315576171874994,72.11069335937498],[-54.84013671874996,72.35610351562497],[-55.581445312499994,72.178857421875],[-55.63583984374998,72.300439453125],[-55.29570312499996,72.35439453124997],[-55.60170898437494,72.453466796875],[-54.924951171874994,72.57197265624998],[-54.737939453124994,72.87250976562501],[-55.07309570312498,73.01513671875003],[-55.28891601562498,72.93320312500003],[-55.66855468749998,73.00791015624998],[-55.288281249999955,73.32709960937498],[-56.10405273437496,73.55815429687499],[-55.83828125,73.75971679687501],[-56.22539062499999,74.12910156249995],[-57.23056640624995,74.12529296875007],[-56.70634765625002,74.21918945312501],[-56.717675781249994,74.42924804687499],[-56.25546874999998,74.52680664062498],[-58.56552734374998,75.35273437500001],[-58.249658203124994,75.50668945312503],[-58.51621093749995,75.68906250000006],[-61.18823242187494,76.157861328125],[-63.29130859374996,76.35205078125003],[-63.84306640624999,76.21713867187498],[-64.307275390625,76.31650390624998],[-65.36992187499993,76.13056640625004],[-65.87573242187494,76.23833007812505],[-66.46577148437498,76.13916015625],[-66.99257812500002,76.21293945312502],[-66.67480468750003,75.977392578125],[-68.14873046875002,76.06704101562497],[-69.48408203125001,76.39916992187503],[-68.1142578125,76.65063476562503],[-69.67382812499994,76.73588867187507],[-69.69423828125002,76.98945312500004],[-70.613134765625,76.82182617187499],[-71.14145507812498,77.02866210937503],[-70.86284179687496,77.175439453125],[-68.97832031250002,77.19531250000006],[-68.13554687499999,77.37958984375001],[-66.38945312499999,77.28027343750003],[-66.69121093749999,77.68120117187502],[-67.68808593749995,77.523779296875],[-68.62153320312498,77.60185546875002],[-69.35136718749999,77.467138671875],[-70.53540039062497,77.699560546875],[-70.11445312500001,77.84135742187505],[-71.27163085937494,77.81313476562497],[-72.81806640624995,78.1943359375],[-72.47250976562498,78.48203125],[-71.65131835937493,78.62314453124998],[-68.99345703124999,78.857421875],[-68.37705078124998,79.037841796875],[-65.82553710937503,79.17373046874997],[-64.79228515624993,80.00063476562502],[-64.17915039062498,80.09926757812497],[-66.84365234374997,80.07622070312507],[-67.05063476562503,80.384521484375],[-64.51552734374997,81],[-63.72197265624993,81.05732421875001],[-63.028662109375006,80.88955078125002],[-62.90336914062496,81.21835937500003],[-61.43598632812498,81.13359375000002],[-60.842871093750034,81.85537109374997],[-59.28193359374998,81.88403320312503],[-56.615136718749994,81.362890625],[-59.26181640624998,82.00664062500005],[-54.54887695312496,82.35063476562505],[-53.671337890624955,82.16406249999997],[-53.55566406250003,81.65327148437501],[-53.022558593750034,82.32172851562504],[-50.894433593749994,81.89521484375001],[-49.54106445312496,81.91806640625003],[-50.93554687500003,82.38281250000003],[-50.03710937499994,82.472412109375],[-44.7294921875,81.77983398437505],[-44.23886718749998,82.3681640625],[-45.55654296875002,82.74702148437498],[-41.87646484375,82.680322265625],[-41.36962890625003,82.75],[-46.136816406250006,82.85883789062504],[-46.169042968750006,83.06386718749997],[-45.41459960937496,83.01767578124998],[-43.00927734375003,83.26459960937501],[-41.300146484375006,83.10078125000004],[-40.35683593750002,83.332177734375],[-38.15625,82.9986328125],[-38.74956054687496,83.37084960937497],[-37.72333984374998,83.49775390624998],[-29.952880859375,83.56484374999997]]]]},"properties":{"name":"Greenland","childNum":14}},{"geometry":{"type":"Polygon","coordinates":[[[-89.2328125,15.888671875],[-88.89404296875,15.890625],[-88.60336914062499,15.76416015625],[-88.5939453125,15.950292968749991],[-88.22832031249999,15.72900390625],[-88.271435546875,15.694873046875003],[-88.36455078124999,15.616015625],[-88.68447265625,15.360498046874994],[-88.96098632812499,15.152441406249991],[-89.142578125,15.072314453125003],[-89.22236328125,14.866064453124991],[-89.16220703124999,14.669238281250003],[-89.17177734375,14.606884765624997],[-89.28671875,14.529980468749997],[-89.36259765624999,14.416015625],[-89.5736328125,14.390087890624997],[-89.54716796874999,14.241259765625003],[-90.04814453124999,13.904052734375],[-90.09521484375,13.736523437499997],[-90.60693359375,13.929003906250003],[-91.37734375,13.990185546874997],[-92.23515624999999,14.54541015625],[-92.15854492187499,14.963574218749997],[-92.14423828125,15.001953125],[-92.09873046874999,15.026757812499994],[-92.07480468749999,15.07421875],[-92.187158203125,15.320898437499991],[-92.08212890624999,15.495556640624997],[-91.9572265625,15.703222656249991],[-91.736572265625,16.07016601562499],[-91.433984375,16.070458984374994],[-90.97958984374999,16.07080078125],[-90.70322265624999,16.071044921875],[-90.52197265625,16.071191406249994],[-90.44716796875,16.072705078124997],[-90.45986328125,16.162353515625],[-90.450146484375,16.261376953124994],[-90.4169921875,16.351318359375],[-90.4169921875,16.39101562499999],[-90.47109375,16.43955078124999],[-90.57578125,16.467822265625003],[-90.63408203124999,16.5107421875],[-90.634375,16.565136718749997],[-90.65996093749999,16.630908203125003],[-90.710693359375,16.70810546874999],[-90.975830078125,16.867822265624994],[-91.409619140625,17.255859375],[-91.1955078125,17.254101562499997],[-90.99296874999999,17.25244140625],[-90.98916015625,17.81640625],[-89.16147460937499,17.81484375],[-89.2328125,15.888671875]]]},"properties":{"name":"Guatemala","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[144.74179687500003,13.25927734375],[144.64931640625002,13.4287109375],[144.87539062500002,13.614648437499994],[144.94082031250002,13.5703125],[144.74179687500003,13.25927734375]]]},"properties":{"name":"Guam","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[-57.194775390625,5.5484375],[-57.3185546875,5.335351562499994],[-57.20981445312499,5.195410156249991],[-57.331005859375,5.020166015624994],[-57.711083984374994,4.991064453124991],[-57.91704101562499,4.820410156249991],[-57.84599609374999,4.668164062499997],[-58.05429687499999,4.101660156249991],[-57.646728515625,3.39453125],[-57.303662109375,3.377099609374994],[-57.19736328124999,2.853271484375],[-56.704345703125,2.036474609374991],[-56.4828125,1.942138671875],[-56.96953124999999,1.91640625],[-57.03759765625,1.936474609374997],[-57.092675781249994,2.005810546874997],[-57.118896484375,2.013964843749989],[-57.31748046874999,1.963476562499991],[-57.41269531249999,1.908935546875],[-57.500439453125,1.77382812499999],[-57.54575195312499,1.72607421875],[-57.59443359375,1.7041015625],[-57.795654296875,1.7],[-57.8734375,1.667285156249989],[-57.9828125,1.6484375],[-58.03466796875,1.520263671875],[-58.34067382812499,1.587548828124994],[-58.38037109375,1.530224609374997],[-58.39580078124999,1.481738281249989],[-58.5060546875,1.438671875],[-58.511865234374994,1.28466796875],[-58.68461914062499,1.281054687499989],[-58.73032226562499,1.247509765624997],[-58.78720703124999,1.20849609375],[-58.82177734375,1.201220703124989],[-59.231201171875,1.376025390624989],[-59.53569335937499,1.7],[-59.66660156249999,1.746289062499997],[-59.66850585937499,1.842333984374989],[-59.74072265625,1.874169921874994],[-59.75620117187499,1.900634765625],[-59.75522460937499,2.274121093749997],[-59.8896484375,2.362939453124994],[-59.9943359375,2.689990234374989],[-59.854394531249994,3.5875],[-59.55112304687499,3.933544921874997],[-59.557763671874994,3.960009765624989],[-59.62021484374999,4.023144531249997],[-59.73857421874999,4.226757812499997],[-59.69970703125,4.353515625],[-60.1486328125,4.533251953124989],[-59.990673828125,5.082861328124991],[-60.142041015625,5.238818359374989],[-60.241650390625,5.257958984374994],[-60.335205078125,5.199316406249991],[-60.45952148437499,5.188085937499991],[-60.6513671875,5.221142578124997],[-60.742138671875,5.202050781249994],[-61.37680664062499,5.906982421875],[-61.3908203125,5.938769531249989],[-61.303125,6.049511718749997],[-61.22495117187499,6.129199218749989],[-61.15947265624999,6.174414062499991],[-61.12871093749999,6.214306640624997],[-61.152294921875,6.385107421874991],[-61.151025390624994,6.446533203125],[-61.181591796875,6.513378906249997],[-61.20361328125,6.58837890625],[-61.14560546874999,6.69453125],[-60.717919921874994,6.768310546875],[-60.35209960937499,7.002880859374997],[-60.32207031249999,7.092041015625],[-60.32548828124999,7.133984375],[-60.34506835937499,7.15],[-60.46494140624999,7.166552734374989],[-60.523193359375,7.143701171874994],[-60.583203125,7.156201171874997],[-60.63330078125,7.211083984374994],[-60.718652343749994,7.535937499999989],[-60.513623046875,7.813183593749997],[-60.032421875,8.053564453124991],[-59.99072265625,8.162011718749994],[-59.96484375,8.191601562499997],[-59.849072265625,8.248681640624994],[-59.83164062499999,8.305957031249989],[-60.017529296875,8.54931640625],[-59.20024414062499,8.07460937499999],[-58.51108398437499,7.39804687499999],[-58.48056640624999,7.038134765624989],[-58.67294921874999,6.390771484374994],[-58.414990234375,6.85117187499999],[-57.982568359374994,6.785888671875],[-57.54013671874999,6.33154296875],[-57.2275390625,6.178417968749997],[-57.194775390625,5.5484375]]]},"properties":{"name":"Guyana","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[73.70742187500002,-53.13710937499999],[73.46513671875002,-53.184179687500006],[73.25117187500001,-52.97578125000001],[73.83779296875002,-53.11279296875],[73.70742187500002,-53.13710937499999]]]},"properties":{"name":"Heard I. and McDonald Is.","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[-83.635498046875,14.876416015624997],[-84.53764648437496,14.633398437499963],[-84.64594726562498,14.661083984375011],[-84.86044921874998,14.809765625000011],[-84.98515624999999,14.752441406249972],[-85.059375,14.582958984374997],[-85.20834960937498,14.311816406250003],[-85.73393554687496,13.85869140625006],[-85.75341796875,13.852050781250028],[-85.78671874999995,13.844433593749997],[-85.98378906249997,13.965673828125006],[-86.04038085937503,14.050146484374977],[-86.33173828124995,13.770068359375031],[-86.37695312500003,13.755664062500031],[-86.61025390624997,13.774853515625026],[-86.73364257812494,13.763476562500017],[-86.75898437499995,13.746142578125045],[-86.77060546875003,13.698730468749972],[-86.763525390625,13.635253906250014],[-86.72958984375,13.4072265625],[-86.710693359375,13.31337890624998],[-86.72929687499996,13.284375],[-86.79213867187497,13.279785156249972],[-86.87353515624994,13.266503906250023],[-86.918212890625,13.223583984374983],[-87.00932617187499,13.007812499999986],[-87.0591796875,12.991455078125028],[-87.337255859375,12.979248046875028],[-87.48911132812503,13.352929687500051],[-87.814208984375,13.399169921875057],[-87.781884765625,13.521386718749994],[-87.71533203125003,13.812695312500011],[-87.73144531250003,13.841064453125014],[-87.80224609374997,13.889990234375034],[-87.89199218749997,13.894970703124983],[-87.99101562499996,13.879638671874972],[-88.15102539062497,13.987353515624974],[-88.44912109374994,13.850976562499994],[-88.48266601562503,13.854248046875043],[-88.49765624999998,13.904541015624986],[-88.50434570312501,13.964208984374963],[-88.51254882812498,13.97895507812504],[-89.12050781249994,14.370214843749991],[-89.36259765624996,14.416015625],[-89.17177734375,14.606884765624983],[-89.16220703125,14.669238281249989],[-89.22236328125001,14.86606445312502],[-89.142578125,15.072314453125031],[-88.96098632812496,15.15244140625002],[-88.68447265625002,15.360498046875037],[-88.36455078124996,15.616015625000045],[-88.27143554687498,15.694873046875045],[-88.22832031249999,15.729003906249972],[-88.131103515625,15.701025390625034],[-87.87495117187495,15.879345703124955],[-86.35664062499998,15.783203125],[-85.93627929687497,15.953417968750045],[-85.98564453124999,16.02416992187497],[-85.48369140624996,15.899511718749977],[-84.97373046874998,15.989892578124994],[-84.55966796875,15.802001953125],[-84.26142578124998,15.822607421875034],[-83.765283203125,15.405468750000054],[-83.972802734375,15.519628906250034],[-84.11132812499997,15.492431640625],[-84.09506835937503,15.400927734375017],[-83.92744140624998,15.394042968750028],[-83.76044921874998,15.220361328124994],[-83.49794921874997,15.222119140624997],[-83.64638671875,15.368408203125043],[-83.36918945312493,15.239990234375],[-83.29086914062498,15.078906250000045],[-83.2255859375,15.042285156250045],[-83.15751953124999,14.993066406249966],[-83.41503906249994,15.008056640625],[-83.5365234375,14.977001953124983],[-83.635498046875,14.876416015624997]]]},"properties":{"name":"Honduras","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[17.60781250000005,42.76904296875],[17.744238281250063,42.70034179687505],[17.34414062500008,42.790380859375006],[17.60781250000005,42.76904296875]]],[[[16.650683593750017,42.99658203125],[17.188281250000045,42.917041015625045],[16.850683593750006,42.8955078125],[16.650683593750017,42.99658203125]]],[[[17.667578125000063,42.897119140624994],[18.436328125000017,42.559716796874994],[18.517480468750023,42.43291015624999],[17.823828125,42.79741210937502],[17.045410156250057,43.014892578125],[17.667578125000063,42.897119140624994]]],[[[16.785253906250006,43.270654296874966],[16.490332031250034,43.28618164062502],[16.44892578125004,43.38706054687506],[16.89130859375001,43.314648437499955],[16.785253906250006,43.270654296874966]]],[[[15.371386718750074,43.973828124999955],[15.437207031250068,43.899511718750006],[15.270019531250028,44.01074218750003],[15.371386718750074,43.973828124999955]]],[[[14.488085937500074,44.66005859375005],[14.31240234375008,44.90039062499997],[14.33125,45.16499023437498],[14.488085937500074,44.66005859375005]]],[[[14.810253906250068,44.97705078124997],[14.45039062500004,45.079199218750006],[14.571093750000017,45.224755859374994],[14.810253906250068,44.97705078124997]]],[[[18.905371093750006,45.931738281250034],[18.839062499999983,45.83574218750002],[19.064257812500045,45.51499023437506],[19.004687500000074,45.39951171875006],[19.4,45.2125],[19.062890625000023,45.13720703125],[19.007128906250045,44.86918945312502],[18.83642578125,44.883251953124955],[18.66259765625,45.07744140624999],[17.812792968750074,45.078125],[16.918652343749983,45.27656249999998],[16.53066406250008,45.21669921875002],[16.29335937500005,45.00883789062496],[16.028320312500057,45.18959960937502],[15.788085937500057,45.17895507812497],[15.736621093750045,44.76582031250001],[16.10341796875008,44.52099609375006],[16.300097656250017,44.12451171875],[17.27382812500005,43.44575195312501],[17.650488281250063,43.006591796875],[17.585156250000068,42.93837890625005],[16.903125,43.392431640625006],[16.393945312500023,43.54335937500002],[15.985546875000068,43.519775390625],[15.185839843750017,44.17211914062503],[15.122949218749994,44.256787109374955],[15.470996093750045,44.27197265625003],[14.981347656250023,44.60292968750005],[14.854589843750034,45.08100585937501],[14.550488281249983,45.297705078125006],[14.31269531250004,45.33779296875002],[13.86074218750008,44.83740234375003],[13.517187500000063,45.481787109375034],[13.878710937500017,45.428369140624994],[14.369921875000074,45.48144531250006],[14.427343750000034,45.50576171875002],[14.56884765625,45.65722656249997],[14.591796875000057,45.65126953125002],[14.649511718750006,45.57148437500001],[14.793066406250034,45.47822265625001],[14.95458984375,45.499902343749994],[15.110449218750034,45.450781250000034],[15.242089843750023,45.44140624999997],[15.339453125000063,45.46704101562506],[15.326660156250028,45.502294921875034],[15.291210937500011,45.541552734375045],[15.283593750000051,45.5796875],[15.35371093750004,45.659912109375],[15.27705078125004,45.73261718749998],[15.652148437500074,45.86215820312498],[15.675585937500045,45.98369140624996],[15.666210937500011,46.04848632812502],[15.596875,46.10922851562506],[15.592578125000017,46.139990234375006],[15.608984374999977,46.171923828125045],[16.1064453125,46.382226562499994],[16.32119140625005,46.53461914062504],[16.42763671875005,46.5244140625],[16.516210937499977,46.499902343749966],[16.569921875,46.48500976562505],[16.748046875000057,46.41640625000002],[16.87148437500008,46.33930664062504],[17.310644531250006,45.99614257812502],[17.80712890625,45.79042968750002],[18.358300781250023,45.75302734375006],[18.533593750000023,45.79614257812503],[18.56464843750004,45.81328124999999],[18.666015625,45.90747070312497],[18.905371093750006,45.931738281250034]]]]},"properties":{"name":"Croatia","childNum":8}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[-72.80458984374997,18.777685546875063],[-72.82221679687501,18.707128906249977],[-73.07797851562498,18.790917968749994],[-73.27641601562499,18.95405273437501],[-72.80458984374997,18.777685546875063]]],[[[-71.647216796875,19.195947265624994],[-71.80712890624997,18.987011718749983],[-71.733642578125,18.85639648437501],[-71.72705078125,18.80322265625003],[-71.74321289062502,18.73291015625],[-71.86650390624999,18.61416015625005],[-71.98686523437499,18.61035156249997],[-72.000390625,18.59790039062503],[-71.94038085937493,18.51259765625005],[-71.87255859374997,18.416210937499955],[-71.76191406249998,18.34130859374997],[-71.73725585937495,18.27080078124999],[-71.76831054687497,18.039160156250063],[-71.85292968749997,18.119140625],[-71.94609375,18.186083984375045],[-72.05986328124993,18.228564453125017],[-72.87666015624998,18.151757812499994],[-73.38515625000002,18.251171874999983],[-73.747314453125,18.190234375000017],[-73.88496093749998,18.041894531249994],[-74.478125,18.45],[-74.3875,18.624707031249983],[-74.22773437499998,18.662695312499977],[-72.78935546874996,18.434814453125],[-72.37607421874998,18.57446289062503],[-72.34765624999994,18.674951171874994],[-72.81108398437496,19.071582031250074],[-72.70322265625,19.441064453125023],[-73.43837890624994,19.722119140624983],[-73.21777343750003,19.88369140625005],[-72.63701171875002,19.90087890625],[-72.21982421875003,19.744628906250057],[-71.834716796875,19.696728515624983],[-71.77924804687498,19.718164062499994],[-71.75742187499998,19.68818359375001],[-71.71147460937493,19.486572265625057],[-71.74648437499997,19.28583984375001],[-71.647216796875,19.195947265624994]]]]},"properties":{"name":"Haiti","childNum":2}},{"geometry":{"type":"Polygon","coordinates":[[[22.1318359375,48.405322265624996],[22.253710937500017,48.407373046874994],[22.582421875000023,48.134033203125],[22.769140625,48.109619140625],[22.87666015625001,47.947265625],[21.99970703125001,47.505029296874994],[21.121679687500006,46.282421875],[20.76025390625,46.246240234374994],[20.613671875000023,46.13349609375],[20.508105468750017,46.166943359375],[20.28095703125001,46.1330078125],[20.241796875,46.10859375],[20.21015625000001,46.126025390624996],[20.161425781250017,46.141894531249996],[19.93408203125,46.161474609375],[19.84443359375001,46.145898437499994],[19.61347656250001,46.169189453125],[19.421289062500023,46.064453125],[18.666015625,45.907470703125],[18.56464843750001,45.81328125],[18.533593750000023,45.796142578125],[18.358300781250023,45.75302734375],[17.80712890625,45.790429687499994],[17.310644531250006,45.996142578124996],[16.871484375000023,46.339306640625],[16.748046875,46.41640625],[16.569921875,46.485009765624994],[16.516210937500006,46.499902343749994],[16.283593750000023,46.857275390625],[16.093066406250017,46.86328125],[16.453417968750017,47.006787109375],[16.44287109375,47.39951171875],[16.676562500000017,47.536035156249994],[16.421289062500023,47.674462890624994],[17.06660156250001,47.707568359374996],[17.147363281250023,48.00595703125],[17.76191406250001,47.770166015624994],[18.72421875,47.787158203124996],[18.791894531250023,48.000292968749996],[19.625390625000023,48.223095703125],[19.95039062500001,48.146630859374994],[20.333789062500017,48.295556640624994],[20.490039062500017,48.526904296874996],[21.45136718750001,48.55224609375],[21.766992187500023,48.3380859375],[22.1318359375,48.405322265624996]]]},"properties":{"name":"Hungary","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[122.9489257812501,-10.90927734375002],[122.82617187500003,-10.899121093749983],[122.84570312500003,-10.761816406249991],[123.37109375000003,-10.474902343749989],[123.41816406250004,-10.651269531250037],[122.9489257812501,-10.90927734375002]]],[[[121.8830078125001,-10.590332031249957],[121.70468750000006,-10.5556640625],[121.99833984375002,-10.446972656249983],[121.8830078125001,-10.590332031249957]]],[[[123.41621093750004,-10.302636718749966],[123.3255859375,-10.264160156249943],[123.45878906250002,-10.13994140624996],[123.41621093750004,-10.302636718749966]]],[[[120.0125,-9.374707031250026],[120.78447265625002,-9.95703125],[120.83261718750006,-10.0375],[120.69804687500002,-10.206640624999949],[120.4391601562501,-10.294042968749991],[120.14482421875002,-10.200097656249952],[119.60107421874997,-9.773535156250006],[119.08544921875003,-9.706933593750023],[118.95878906250002,-9.519335937500003],[119.29589843749997,-9.3671875],[119.9420898437501,-9.301464843750026],[120.0125,-9.374707031250026]]],[[[125.06816406250002,-9.511914062499997],[124.42753906250002,-10.14863281250004],[123.7472656250001,-10.347167968749986],[123.60478515625002,-10.270117187500006],[123.71640625000012,-10.078613281249986],[123.5892578125,-9.966796875000028],[123.709375,-9.61484375],[124.0363281250001,-9.341601562500031],[124.28232421875012,-9.427929687500026],[124.44443359375012,-9.190332031250023],[124.92226562500005,-8.942480468749977],[124.93681640625007,-9.053417968750026],[125.14902343750012,-9.042578125000034],[125.10048828125,-9.189843750000023],[124.96015625000004,-9.213769531250009],[125.06816406250002,-9.511914062499997]]],[[[115.60996093750012,-8.769824218749974],[115.48046875000003,-8.715429687500006],[115.56142578125,-8.669921874999972],[115.60996093750012,-8.769824218749974]]],[[[122.97734375000002,-8.54521484374996],[122.88779296875006,-8.587304687500009],[123.01054687500002,-8.448339843750034],[123.153125,-8.475781250000026],[122.97734375000002,-8.54521484374996]]],[[[119.46406250000004,-8.741015624999974],[119.38554687500002,-8.736035156250026],[119.4464843750001,-8.429199218749957],[119.55722656250012,-8.518847656250003],[119.46406250000004,-8.741015624999974]]],[[[123.31748046875012,-8.354785156249974],[123.02500000000012,-8.395507812500014],[123.21708984375002,-8.235449218750006],[123.33603515625006,-8.269042968750014],[123.31748046875012,-8.354785156249974]]],[[[116.64082031250004,-8.613867187500006],[116.51425781250012,-8.820996093750011],[116.58652343750012,-8.886132812499966],[116.23935546875006,-8.912109375000014],[115.85732421875005,-8.787890625000017],[116.07646484375002,-8.744921874999974],[116.06113281250006,-8.437402343750023],[116.4015625000001,-8.204199218750034],[116.7189453125001,-8.336035156249977],[116.64082031250004,-8.613867187500006]]],[[[124.28662109375003,-8.32949218749998],[124.14667968750004,-8.531445312499997],[123.92773437500003,-8.448925781249969],[124.23955078125002,-8.20341796874996],[124.28662109375003,-8.32949218749998]]],[[[123.92480468750003,-8.2724609375],[123.55302734375007,-8.566796875],[123.23007812500006,-8.530664062500023],[123.47587890625007,-8.322265625000014],[123.39121093750012,-8.280468750000026],[123.77597656250006,-8.190429687499986],[123.92480468750003,-8.2724609375]]],[[[138.89511718750006,-8.388671874999957],[138.56337890625,-8.30908203125],[138.79619140625007,-8.173632812500017],[138.89511718750006,-8.388671874999957]]],[[[117.55634765625004,-8.367285156249949],[117.49052734375007,-8.183398437499974],[117.66503906249997,-8.148242187500003],[117.55634765625004,-8.367285156249949]]],[[[124.5755859375,-8.140820312499997],[125.05029296874997,-8.179589843749994],[125.13173828125,-8.326464843749989],[124.38066406250002,-8.41513671875002],[124.43066406249997,-8.18320312500002],[124.5755859375,-8.140820312499997]]],[[[127.8234375000001,-8.098828124999969],[128.11923828125012,-8.17070312499996],[128.02353515625006,-8.255371093749972],[127.82089843750012,-8.190234375000031],[127.8234375000001,-8.098828124999969]]],[[[122.7829101562501,-8.61171875],[121.65136718749997,-8.898730468749946],[121.41464843750006,-8.81484375],[121.32832031250004,-8.916894531250009],[121.03525390625012,-8.935449218749966],[120.55048828125004,-8.80185546875002],[119.909375,-8.857617187500011],[119.80791015625002,-8.697656250000023],[119.87480468750007,-8.419824218749994],[120.61025390625005,-8.24042968750004],[121.44453125000004,-8.57783203125004],[121.96650390625004,-8.455175781250006],[122.32324218749997,-8.628320312500023],[122.85048828125,-8.304394531250011],[122.91914062500004,-8.221875],[122.75859375000002,-8.185937499999952],[122.91699218749997,-8.105566406250006],[123.00595703125006,-8.329101562499986],[122.7829101562501,-8.61171875]]],[[[130.86220703125,-8.31875],[130.77519531250002,-8.34990234374996],[131.02011718750012,-8.091308593749943],[131.17636718750006,-8.130761718749994],[130.86220703125,-8.31875]]],[[[118.24238281250004,-8.317773437499994],[118.61191406250006,-8.28066406249998],[118.71386718749997,-8.41494140624998],[118.926171875,-8.297656249999974],[119.12968750000002,-8.668164062499969],[118.74589843750002,-8.735449218749991],[118.83261718750012,-8.833398437499966],[118.47861328125012,-8.856445312499957],[118.37890625000003,-8.674609375000031],[118.18994140624997,-8.840527343749997],[117.06132812500002,-9.099023437499994],[116.78847656250005,-9.006347656250028],[116.83505859375012,-8.532421875000026],[117.16484375000007,-8.367187500000014],[117.56708984375004,-8.426367187499991],[117.80605468750005,-8.711132812500011],[117.96953125000002,-8.728027343749986],[118.23486328124997,-8.591894531249963],[117.81484375000005,-8.342089843749974],[117.7552734375,-8.149511718749991],[118.11748046875007,-8.12226562500004],[118.24238281250004,-8.317773437499994]]],[[[115.44785156250012,-8.155175781249994],[115.70429687500004,-8.40712890624998],[115.14492187500005,-8.849023437500037],[115.05507812500005,-8.573046874999946],[114.61318359375,-8.37832031249998],[114.46757812500007,-8.166308593749946],[114.93847656249997,-8.18710937500002],[115.15400390625004,-8.065722656249974],[115.44785156250012,-8.155175781249994]]],[[[129.83886718749997,-7.954589843749986],[129.71347656250012,-8.04072265625004],[129.60898437500006,-7.803417968750011],[129.81298828124997,-7.819726562499952],[129.83886718749997,-7.954589843749986]]],[[[126.80097656250004,-7.667871093750009],[126.4720703125,-7.950390625000011],[126.04003906250003,-7.885839843750006],[125.79824218750005,-7.984570312499969],[125.97529296875004,-7.663378906249989],[126.21367187500002,-7.706738281250026],[126.60957031250004,-7.571777343749972],[126.80097656250004,-7.667871093750009]]],[[[127.41943359375003,-7.623046875000028],[127.37070312500012,-7.512792968749949],[127.47519531250012,-7.531054687500031],[127.41943359375003,-7.623046875000028]]],[[[138.53535156250004,-8.273632812499969],[138.2962890625,-8.405175781250037],[137.65039062499997,-8.386132812499966],[138.08183593750002,-7.566210937500003],[138.29550781250012,-7.4384765625],[138.76982421875002,-7.390429687499974],[138.98906250000002,-7.696093749999989],[138.53535156250004,-8.273632812499969]]],[[[131.3255859375,-7.999511718749986],[131.11376953125003,-7.997363281249989],[131.13779296875012,-7.684863281250017],[131.64345703125,-7.11279296875],[131.73613281250007,-7.197070312500017],[131.64384765625002,-7.266894531249946],[131.62441406250005,-7.626171874999955],[131.3255859375,-7.999511718749986]]],[[[131.98203125000006,-7.202050781249966],[131.75078125000002,-7.116796875],[131.92226562500005,-7.104492187499986],[131.98203125000006,-7.202050781249966]]],[[[128.6701171875001,-7.183300781249969],[128.52978515625003,-7.134570312499989],[128.62773437500007,-7.06875],[128.6701171875001,-7.183300781249969]]],[[[120.77441406250003,-7.118945312500003],[120.64082031250004,-7.115820312499991],[120.63339843750006,-7.018261718750011],[120.77441406250003,-7.118945312500003]]],[[[113.84453125000007,-7.105371093749994],[113.12695312499997,-7.224121093750028],[112.72587890625007,-7.072753906250014],[112.86806640625,-6.899902343749972],[113.06738281250003,-6.879980468749991],[113.97470703125012,-6.873046875],[114.0736328125,-6.960156249999983],[113.84453125000007,-7.105371093749994]]],[[[115.37705078125006,-6.97080078125002],[115.22031250000012,-6.952539062500037],[115.24052734375007,-6.861230468749994],[115.54609375000004,-6.938671874999955],[115.37705078125006,-6.97080078125002]]],[[[105.25283203125005,-6.640429687499946],[105.12138671875007,-6.614941406249997],[105.26054687500002,-6.523925781250014],[105.25283203125005,-6.640429687499946]]],[[[134.53681640625004,-6.442285156249994],[134.32275390624997,-6.84873046875002],[134.09082031249997,-6.833789062500003],[134.10703125000006,-6.471582031250009],[134.19462890625007,-6.459765625],[134.11464843750005,-6.190820312500009],[134.53681640625004,-6.442285156249994]]],[[[107.37392578125005,-6.007617187499989],[107.66679687500002,-6.215820312499957],[108.33017578125012,-6.286035156249966],[108.67783203125006,-6.790527343749972],[110.42626953124997,-6.947265625000028],[110.83476562500002,-6.424218749999952],[110.97226562500012,-6.435644531249977],[111.18154296875005,-6.686718749999969],[111.54033203125002,-6.648242187500031],[112.0873046875,-6.89335937499996],[112.53925781250004,-6.926464843749955],[112.64873046875007,-7.221289062499977],[112.7943359375,-7.304492187499974],[112.79453125000012,-7.55244140625004],[113.01357421875005,-7.657714843749986],[113.49765625000006,-7.723828124999955],[114.07070312500005,-7.633007812500011],[114.40927734375012,-7.79248046875],[114.38691406250004,-8.405175781250037],[114.58378906250002,-8.769628906250034],[113.25332031250005,-8.286718749999963],[112.67880859375006,-8.409179687499957],[111.50996093750004,-8.30507812499998],[110.60722656250002,-8.149414062499972],[109.28164062500005,-7.704882812500003],[108.74121093749997,-7.667089843750034],[108.45175781250006,-7.79697265625002],[107.91748046875003,-7.724121093750014],[107.28496093750007,-7.471679687500014],[106.45527343750004,-7.368652343749986],[106.51972656250004,-7.053710937499943],[106.19824218749997,-6.927832031249977],[105.25546875000012,-6.835253906250031],[105.37089843750002,-6.664355468750031],[105.48369140625007,-6.781542968750017],[105.65507812500002,-6.469531249999946],[105.78691406250002,-6.456933593749966],[105.86826171875006,-6.11640625000004],[106.075,-5.914160156249963],[106.82519531249997,-6.098242187499977],[107.0462890625,-5.90419921874998],[107.37392578125005,-6.007617187499989]]],[[[120.52832031249997,-6.2984375],[120.48730468749997,-6.464843749999972],[120.47734375000007,-5.775292968750009],[120.52832031249997,-6.2984375]]],[[[112.7194335937501,-5.81103515625],[112.58603515625006,-5.803613281249994],[112.69003906250006,-5.726171875000034],[112.7194335937501,-5.81103515625]]],[[[132.80712890625003,-5.850781250000011],[132.68144531250002,-5.91259765625],[132.63017578125002,-5.60703125],[132.80712890625003,-5.850781250000011]]],[[[134.74697265625,-5.707031249999957],[134.71416015625007,-6.29511718750004],[134.44111328125004,-6.334863281249966],[134.15488281250006,-6.06289062499998],[134.3019531250001,-6.009765624999986],[134.34306640625002,-5.833007812499943],[134.20537109375002,-5.707226562499997],[134.34130859375003,-5.712890624999986],[134.57080078124997,-5.42734375],[134.74697265625,-5.707031249999957]]],[[[132.92626953124997,-5.902050781249983],[132.84501953125002,-5.987988281249997],[133.13847656250002,-5.317871093749986],[133.11962890625003,-5.575976562499989],[132.92626953124997,-5.902050781249983]]],[[[102.36718750000003,-5.478710937499983],[102.1107421875,-5.32255859374996],[102.3717773437501,-5.366406250000011],[102.36718750000003,-5.478710937499983]]],[[[123.62675781250007,-5.271582031249963],[123.58261718750006,-5.36738281250004],[123.54277343750002,-5.271093749999963],[123.62675781250007,-5.271582031249963]]],[[[122.04296874999997,-5.437988281250028],[121.80849609375,-5.256152343750017],[121.91367187500012,-5.072265624999957],[122.04101562500003,-5.158789062499991],[122.04296874999997,-5.437988281250028]]],[[[122.64511718750012,-5.26943359374998],[122.5638671875,-5.3875],[122.28310546875,-5.319531249999969],[122.39628906250002,-5.069824218749986],[122.36894531250007,-4.767187499999977],[122.70195312500002,-4.61865234375],[122.75986328125012,-4.933886718750003],[122.61406250000007,-5.138671874999986],[122.64511718750012,-5.26943359374998]]],[[[123.17978515625006,-4.551171875000023],[123.195703125,-4.82265625],[123.05517578124997,-4.748242187500026],[122.97167968750003,-5.138476562500031],[123.18730468750007,-5.333007812499957],[122.96875,-5.405761718749943],[122.81210937500012,-5.671289062499952],[122.64501953124997,-5.663378906250031],[122.58642578124997,-5.488867187500006],[122.76650390625005,-5.210156249999983],[122.85332031250007,-4.618359375000026],[123.074609375,-4.38691406250004],[123.17978515625006,-4.551171875000023]]],[[[133.57080078124997,-4.245898437500003],[133.621875,-4.299316406249957],[133.32089843750006,-4.111035156249969],[133.57080078124997,-4.245898437500003]]],[[[123.2423828125001,-4.112988281250011],[123.07617187499997,-4.227148437499991],[122.96904296875002,-4.029980468749969],[123.21191406250003,-3.997558593750028],[123.2423828125001,-4.112988281250011]]],[[[128.56259765625012,-3.58544921875],[128.39160156250003,-3.637890625000026],[128.45156250000005,-3.514746093749991],[128.56259765625012,-3.58544921875]]],[[[128.2755859375001,-3.67460937499996],[127.97802734374997,-3.770996093749972],[127.925,-3.69931640625002],[128.32910156249997,-3.51591796874996],[128.2755859375001,-3.67460937499996]]],[[[116.42412109375007,-3.464453124999963],[116.38779296875012,-3.636718749999972],[116.3265625,-3.539062499999972],[116.42412109375007,-3.464453124999963]]],[[[116.30332031250006,-3.868164062499957],[116.05878906250004,-4.006933593749991],[116.06357421875006,-3.457910156249952],[116.26972656250004,-3.251074218750006],[116.30332031250006,-3.868164062499957]]],[[[126.86113281250007,-3.087890624999986],[127.22734375000007,-3.391015625],[127.22958984375006,-3.633007812500011],[126.68632812500007,-3.823632812500037],[126.21455078125004,-3.605175781250026],[126.05654296875,-3.420996093749991],[126.08828125,-3.105468750000014],[126.86113281250007,-3.087890624999986]]],[[[106.88642578125004,-3.005273437500023],[106.7428710937501,-2.932812500000011],[106.91064453124997,-2.93398437499998],[106.88642578125004,-3.005273437500023]]],[[[129.75468750000007,-2.865820312500034],[130.3791015625001,-2.989355468749977],[130.56992187500006,-3.130859375000028],[130.85996093750006,-3.570312500000028],[130.805078125,-3.85771484374996],[129.844140625,-3.327148437499957],[129.51171875000003,-3.32851562499998],[129.46767578125005,-3.453222656249977],[128.8625,-3.234960937500006],[128.51660156249997,-3.449121093750037],[128.13203125000004,-3.157421875000026],[127.90234374999997,-3.496289062499955],[127.87792968749997,-3.222070312499966],[128.19853515625002,-2.865917968749969],[128.99111328125,-2.82851562499998],[129.17441406250006,-2.933496093749966],[129.48417968750002,-2.785742187499977],[129.75468750000007,-2.865820312500034]]],[[[100.42509765625007,-3.182910156249974],[100.46513671875007,-3.32851562499998],[100.20429687500004,-2.98681640625],[100.19853515625002,-2.785546875000023],[100.45458984375003,-3.001953124999972],[100.42509765625007,-3.182910156249974]]],[[[108.2072265625001,-2.997656249999977],[108.05527343750006,-3.22685546874996],[107.85820312500002,-3.086328125000023],[107.61445312500004,-3.209375],[107.56347656250003,-2.920117187499997],[107.66630859375002,-2.566308593750037],[107.83779296875005,-2.530273437499972],[108.21513671875002,-2.696972656250011],[108.29062500000012,-2.829980468750023],[108.2072265625001,-2.997656249999977]]],[[[100.20410156249997,-2.741015625000017],[100.01494140625007,-2.819726562499966],[99.98789062500006,-2.525390624999957],[100.20410156249997,-2.741015625000017]]],[[[99.84306640625007,-2.343066406250031],[99.60703125000012,-2.257519531250011],[99.57216796875005,-2.025781249999966],[99.84306640625007,-2.343066406250031]]],[[[126.055078125,-2.451269531249963],[125.86289062500006,-2.077148437499943],[125.92275390625,-1.974804687499969],[126.055078125,-2.451269531249963]]],[[[126.02421875000007,-1.789746093750011],[126.33173828125004,-1.822851562500006],[125.47919921875004,-1.940039062499991],[125.38720703124997,-1.843066406249946],[126.02421875000007,-1.789746093750011]]],[[[130.35332031250007,-1.690527343749963],[130.41884765625,-1.971289062499963],[130.24804687500003,-2.047753906249994],[129.7376953125,-1.866894531250011],[130.35332031250007,-1.690527343749963]]],[[[124.96953125000007,-1.70546875],[125.18789062500005,-1.712890624999986],[125.31406250000006,-1.877148437499969],[124.41777343750002,-2.005175781250031],[124.32968750000012,-1.858886718749972],[124.41757812500006,-1.659277343749991],[124.96953125000007,-1.70546875]]],[[[135.47421875000006,-1.591796875000014],[136.89257812500003,-1.799707031249994],[136.22812500000012,-1.893652343749949],[135.47421875000006,-1.591796875000014]]],[[[108.953125,-1.61962890625],[108.83789062499997,-1.661621093750028],[108.80371093750003,-1.567773437499994],[108.953125,-1.61962890625]]],[[[106.04570312500002,-1.669433593750014],[106.36591796875004,-2.464843749999972],[106.81845703125006,-2.573339843749963],[106.6120117187501,-2.895507812499957],[106.66718750000004,-3.071777343749986],[105.99873046875004,-2.824902343749955],[105.7858398437501,-2.18134765625004],[105.13339843750012,-2.042578125],[105.45957031250006,-1.574707031249986],[105.58544921875003,-1.526757812499994],[105.7008789062501,-1.731054687499963],[105.7204101562501,-1.533886718750026],[105.91005859375,-1.504980468749991],[106.04570312500002,-1.669433593750014]]],[[[123.59755859375,-1.704296875000011],[123.48251953125006,-1.681445312499974],[123.52851562500004,-1.502832031250009],[123.59755859375,-1.704296875000011]]],[[[128.1530273437501,-1.66054687499998],[127.56162109375012,-1.728515624999972],[127.39501953125003,-1.589843749999972],[127.64667968750004,-1.332421875],[128.1530273437501,-1.66054687499998]]],[[[123.2123046875,-1.171289062499966],[123.23779296874997,-1.389355468749983],[123.43476562500004,-1.236816406249986],[123.54726562500005,-1.337402343749957],[123.51191406250004,-1.447363281249977],[123.27490234374997,-1.437207031249955],[123.17294921875006,-1.616015624999974],[123.15039062500003,-1.304492187500003],[122.89042968750007,-1.58720703124996],[122.81083984375002,-1.432128906249986],[122.90800781250002,-1.182226562499963],[123.2123046875,-1.171289062499966]]],[[[109.71025390625007,-1.1806640625],[109.46367187500002,-1.277539062500026],[109.4759765625,-0.9853515625],[109.74335937500004,-1.039355468749989],[109.71025390625007,-1.1806640625]]],[[[134.96533203124997,-1.116015624999974],[134.86171875,-1.114160156249952],[134.82792968750002,-0.978808593750003],[134.99628906250004,-1.03408203124998],[134.96533203124997,-1.116015624999974]]],[[[99.16386718750007,-1.777929687500006],[98.82773437500006,-1.609960937499977],[98.60175781250004,-1.197851562499949],[98.67607421875007,-0.970507812500003],[98.93261718750003,-0.954003906250009],[99.2672851562501,-1.62773437499996],[99.16386718750007,-1.777929687500006]]],[[[131.00185546875005,-1.315527343750034],[130.78232421875006,-1.255468749999963],[130.67294921875006,-0.959765625000031],[131.03300781250007,-0.917578124999963],[131.00185546875005,-1.315527343750034]]],[[[135.38300781250004,-0.6513671875],[135.89355468749997,-0.725781249999969],[136.37529296875007,-1.094042968750031],[136.1647460937501,-1.214746093750023],[135.91503906250003,-1.178417968749997],[135.74707031249997,-0.823046874999974],[135.64570312500004,-0.881933593749991],[135.38300781250004,-0.6513671875]]],[[[127.30039062500012,-0.780957031250026],[127.1564453125001,-0.760937500000026],[127.20908203125006,-0.619335937499955],[127.30039062500012,-0.780957031250026]]],[[[130.6266601562501,-0.528710937499966],[130.46542968750006,-0.486523437499983],[130.6159179687501,-0.417285156250003],[130.6266601562501,-0.528710937499966]]],[[[121.86435546875012,-0.406835937500006],[121.88125,-0.502636718749983],[121.65527343749997,-0.526171874999989],[121.86435546875012,-0.406835937500006]]],[[[140.97343750000007,-2.609765625],[140.97353515625,-2.803417968750026],[140.975,-6.346093750000023],[140.86230468749997,-6.740039062499989],[140.97519531250006,-6.90537109375002],[140.97617187500012,-9.11875],[140.00292968749997,-8.19550781250004],[140.11699218750002,-7.923730468750009],[139.93476562500004,-8.101171875],[139.38564453125,-8.189062499999963],[139.24882812500002,-7.982421874999972],[138.890625,-8.237792968749943],[139.08798828125012,-7.587207031250017],[138.74794921875,-7.25146484375],[139.17685546875006,-7.1904296875],[138.84570312500003,-7.13632812499999],[138.60136718750007,-6.936523437499972],[138.86455078125007,-6.858398437499943],[138.43867187500004,-6.343359375],[138.2962890625,-5.94902343749996],[138.37460937500006,-5.84365234374998],[138.19960937500005,-5.80703125],[138.33964843750007,-5.675683593749966],[138.08710937500004,-5.70917968750004],[138.06083984375002,-5.46523437499998],[137.27978515624997,-4.945410156249949],[136.61884765625004,-4.81875],[135.97968750000004,-4.530859374999963],[135.19560546875007,-4.450683593749972],[134.67968749999997,-4.079101562499943],[134.70654296875003,-3.954785156250026],[134.88652343750007,-3.938476562499986],[134.26621093750012,-3.945800781249972],[134.14707031250006,-3.79677734374998],[133.97382812500004,-3.817968750000034],[133.67832031250006,-3.4794921875],[133.8415039062501,-3.054785156249991],[133.70039062500004,-3.0875],[133.653125,-3.364355468749991],[133.51816406250012,-3.411914062500003],[133.40087890625003,-3.899023437500034],[133.24873046875004,-4.062304687499989],[132.91445312500005,-4.05693359374996],[132.75390625000003,-3.703613281250014],[132.86972656250006,-3.550976562499997],[132.75136718750005,-3.294628906249997],[131.97119140624997,-2.788574218750014],[132.2306640625001,-2.680371093749997],[132.725,-2.789062500000028],[133.19101562500006,-2.43779296874996],[133.70009765625005,-2.624609375],[133.75332031250005,-2.450683593750014],[133.90488281250012,-2.390917968750003],[133.79101562500003,-2.293652343749997],[133.92158203125004,-2.102050781249957],[132.96279296875005,-2.272558593749963],[132.30761718749997,-2.24228515625002],[132.02343749999997,-1.99033203125002],[131.93037109375004,-1.559667968750034],[131.29375,-1.393457031250009],[130.99589843750007,-1.42470703124998],[131.1908203125,-1.165820312500003],[131.2572265625,-0.855468750000014],[131.80429687500006,-0.703808593750026],[132.39375,-0.355468750000028],[132.85644531250003,-0.417382812500023],[133.47265624999997,-0.726171874999963],[133.97451171875,-0.744335937500026],[134.11152343750004,-0.84677734375002],[134.07197265625004,-1.001855468749994],[134.25957031250007,-1.362988281250026],[134.105859375,-1.720996093749946],[134.19482421875003,-2.309082031249943],[134.45996093749997,-2.83232421874996],[134.48330078125,-2.583007812499972],[134.62744140624997,-2.536718749999963],[134.70214843749997,-2.933593749999986],[134.84335937500006,-2.909179687499986],[134.88681640625006,-3.209863281249966],[135.25156250000012,-3.368554687499966],[135.48662109375002,-3.34511718749998],[135.85917968750002,-2.99531250000004],[136.38994140625002,-2.273339843750037],[137.07207031250002,-2.105078124999949],[137.1710937500001,-2.025488281249991],[137.1234375,-1.840917968749963],[137.80625000000012,-1.483203125],[139.78955078125003,-2.34824218750002],[140.62255859374997,-2.44580078125],[140.74746093750005,-2.607128906249997],[140.97343750000007,-2.609765625]]],[[[104.47421875000012,-0.334667968749955],[104.59013671875002,-0.466601562500017],[104.36318359375,-0.658593749999966],[104.25712890625002,-0.463281249999966],[104.47421875000012,-0.334667968749955]]],[[[127.56699218750006,-0.318945312499949],[127.68242187500002,-0.46835937500002],[127.60498046874997,-0.610156249999946],[127.88017578125002,-0.808691406249991],[127.7611328125,-0.883691406249994],[127.62382812500002,-0.76601562499999],[127.46269531250002,-0.80595703124996],[127.46865234375,-0.64296875],[127.3,-0.500292968749946],[127.32509765625,-0.335839843750023],[127.45517578125012,-0.406347656249991],[127.56699218750006,-0.318945312499949]]],[[[127.24990234375005,-0.4953125],[127.11914062500003,-0.520507812499986],[127.12646484375003,-0.278613281250003],[127.29003906250003,-0.284375],[127.24990234375005,-0.4953125]]],[[[103.73652343750004,-0.347949218750003],[103.461328125,-0.357617187500011],[103.54892578125006,-0.227539062499986],[103.73652343750004,-0.347949218750003]]],[[[130.81328125000007,-0.004101562500026],[131.27685546875003,-0.149804687499952],[131.33974609375005,-0.290332031249989],[131.00537109374997,-0.360742187500037],[130.62216796875006,-0.0859375],[130.89921875000002,-0.344433593749997],[130.7501953125001,-0.44384765625],[130.6886718750001,-0.296582031250011],[130.55078124999997,-0.366406250000026],[130.23662109375002,-0.209667968749983],[130.3625,-0.072851562500006],[130.81328125000007,-0.004101562500026]]],[[[98.45927734375007,-0.530468749999969],[98.30966796875012,-0.531835937499977],[98.4271484375,-0.226464843750037],[98.3229492187501,-0.000781249999974],[98.54414062500004,-0.257617187499989],[98.45927734375007,-0.530468749999969]]],[[[104.77861328125007,-0.175976562499955],[105.00537109374997,-0.282812499999963],[104.44707031250002,-0.189160156249983],[104.54267578125004,0.01772460937498],[104.77861328125007,-0.175976562499955]]],[[[103.28447265625002,0.541943359375011],[103.13955078125,0.549072265625043],[103.18740234375,0.699755859375017],[103.28447265625002,0.541943359375011]]],[[[103.0275390625001,0.746630859374974],[102.4904296875001,0.856640625],[102.50664062500002,1.088769531250037],[103.00244140624997,0.859277343750009],[103.0275390625001,0.746630859374974]]],[[[103.42392578125012,1.048339843749972],[103.31542968750003,1.071289062500028],[103.37998046875006,1.133642578125034],[103.42392578125012,1.048339843749972]]],[[[103.16640625000005,0.870166015625003],[102.7018554687501,1.0537109375],[102.72558593749997,1.158837890625023],[102.99941406250005,1.067773437500023],[103.16640625000005,0.870166015625003]]],[[[104.02480468750005,1.180566406250009],[104.13984375000004,1.165576171874974],[104.06611328125004,0.989550781249989],[103.93222656250012,1.071386718749963],[104.02480468750005,1.180566406250009]]],[[[104.58535156250005,1.21611328124996],[104.66289062500002,1.04951171875004],[104.57519531250003,0.831933593750037],[104.43925781250002,1.050439453125051],[104.25195312499997,1.014892578125],[104.36181640624997,1.18149414062502],[104.58535156250005,1.21611328124996]]],[[[102.4271484375,0.990136718750023],[102.27958984375002,1.075683593750043],[102.25634765625003,1.397070312499963],[102.44287109374997,1.234228515625006],[102.4271484375,0.990136718750023]]],[[[97.48154296875006,1.465087890624972],[97.93193359375002,0.973925781250003],[97.82041015625012,0.564453124999986],[97.683984375,0.596093750000037],[97.60390625000005,0.83388671874998],[97.40537109375012,0.946972656250026],[97.07919921875006,1.425488281249983],[97.35595703124997,1.539746093749997],[97.48154296875006,1.465087890624972]]],[[[102.49189453125004,1.459179687500011],[102.49941406250005,1.330908203124991],[102.02402343750012,1.607958984375031],[102.49189453125004,1.459179687500011]]],[[[124.88886718750004,0.995312500000011],[124.42753906250002,0.470605468750051],[123.75380859375,0.305517578124991],[123.26542968750007,0.326611328125026],[122.996875,0.493505859375006],[121.01298828125002,0.441699218750017],[120.57900390625,0.5283203125],[120.19228515625,0.268505859374997],[120.01328125000012,-0.196191406249994],[120.062890625,-0.555566406250023],[120.240625,-0.868261718749949],[120.51757812499997,-1.039453125],[120.66738281250005,-1.370117187499972],[121.14853515625012,-1.33945312500002],[121.5755859375,-0.828515625000023],[121.96962890625005,-0.933300781249969],[122.27998046875004,-0.757031250000026],[122.88876953125006,-0.755175781250003],[122.8294921875,-0.658886718750026],[123.17148437500012,-0.57070312499999],[123.37968750000002,-0.648535156249949],[123.43417968750006,-0.778222656249994],[123.37792968749997,-1.004101562500011],[122.90283203125003,-0.900976562499963],[122.25068359375004,-1.555273437500034],[121.8585937500001,-1.69326171874998],[121.65097656250006,-1.895410156249952],[121.35546874999997,-1.878222656250003],[122.29169921875004,-2.907617187500023],[122.39902343750006,-3.200878906249997],[122.25292968749997,-3.620410156250017],[122.68964843750004,-4.084472656249972],[122.84794921875002,-4.064550781250006],[122.8722656250001,-4.391992187500009],[122.71972656250003,-4.340722656249952],[122.11425781250003,-4.540234375000011],[122.03808593749997,-4.832421875000023],[121.58867187500007,-4.759570312500017],[121.48652343750004,-4.581054687499972],[121.61806640625,-4.092675781249952],[120.89179687500004,-3.520605468750034],[121.05429687500012,-3.167089843749949],[121.0521484375,-2.751660156249955],[120.87939453124997,-2.64560546875002],[120.65361328125002,-2.667578124999977],[120.26103515625007,-2.949316406249991],[120.43662109375012,-3.70732421874996],[120.42011718750004,-4.617382812500011],[120.27929687499997,-5.146093749999977],[120.4303710937501,-5.591015625000026],[119.9515625,-5.577636718749972],[119.71728515625003,-5.693359375000014],[119.55742187500007,-5.611035156250026],[119.36035156249997,-5.314160156250026],[119.59404296875007,-4.523144531249997],[119.62363281250006,-4.034375],[119.46748046875004,-3.512988281249989],[118.99462890624997,-3.537597656250028],[118.86767578124997,-3.39804687500002],[118.78330078125006,-2.720800781249977],[119.09218750000005,-2.482910156250014],[119.32187500000012,-1.929687500000014],[119.308984375,-1.408203125],[119.508203125,-0.906738281249972],[119.71132812500005,-0.680761718750034],[119.84433593750006,-0.861914062499991],[119.721875,-0.088476562499991],[119.865625,0.040087890625003],[119.80927734375004,0.238671875000051],[119.9132812500001,0.445068359375],[120.26953125000003,0.970800781249991],[120.60253906249997,0.854394531249994],[120.86796875000007,1.25283203124998],[121.0817382812501,1.327636718750028],[121.40410156250002,1.243603515624969],[121.59179687499997,1.067968749999977],[122.43662109375006,1.018066406250028],[122.83828125,0.845703125],[123.06650390625006,0.941796875000037],[123.93076171875006,0.850439453124977],[124.53369140624997,1.230468750000043],[124.94707031250002,1.672167968749974],[125.11093750000012,1.685693359374966],[125.2337890625,1.502294921875006],[124.88886718750004,0.995312500000011]]],[[[101.70810546875006,2.078417968750045],[101.71943359375004,1.789160156250006],[101.50078125000002,1.733203124999974],[101.40966796875003,2.021679687500026],[101.70810546875006,2.078417968750045]]],[[[127.73271484375007,0.848144531250043],[127.8810546875001,0.832128906249977],[127.96728515624997,1.042578125000048],[128.16074218750006,1.1578125],[128.22246093750002,1.400634765624986],[128.68837890625,1.572558593750017],[128.70263671874997,1.106396484374997],[128.29882812500003,0.87680664062502],[128.26064453125,0.733789062500023],[128.61123046875,0.549951171875051],[128.89960937500004,0.216259765625011],[127.9831054687501,0.471875],[127.88740234375004,0.298339843750043],[127.97783203125002,-0.24833984374996],[128.4254882812501,-0.892675781249949],[128.04638671875003,-0.706054687499943],[127.69160156250004,-0.241894531249983],[127.70869140625004,0.288085937499986],[127.53710937500003,0.610888671875031],[127.60800781250006,0.848242187499977],[127.42851562500002,1.139990234374991],[127.63173828125,1.843701171875011],[128.03642578125002,2.199023437500017],[127.88681640625012,1.83295898437504],[128.0109375000001,1.701220703125031],[128.01171874999997,1.331738281249983],[127.65283203124997,1.013867187499969],[127.73271484375007,0.848144531250043]]],[[[97.3341796875001,2.075634765625011],[97.10830078125,2.216894531250006],[97.29140625,2.200830078125023],[97.3341796875001,2.075634765625011]]],[[[128.45390625000002,2.051757812500028],[128.29589843749997,2.034716796875017],[128.2179687500001,2.297460937499991],[128.60214843750012,2.59760742187504],[128.68847656250003,2.473681640625017],[128.62324218750004,2.224414062500031],[128.45390625000002,2.051757812500028]]],[[[96.46367187500002,2.360009765625037],[95.80859374999997,2.655615234375034],[95.7171875,2.825976562500017],[95.89580078125007,2.8890625],[96.41728515625007,2.515185546875031],[96.46367187500002,2.360009765625037]]],[[[108.8875,2.905419921875037],[108.7865234375,2.885644531250009],[108.88574218750003,2.998974609374997],[108.8875,2.905419921875037]]],[[[105.76035156250006,2.863037109375014],[105.69218750000002,3.0625],[105.83671875000007,2.97651367187504],[105.76035156250006,2.863037109375014]]],[[[106.28525390625006,3.15712890624998],[106.28369140624997,3.088232421874977],[106.20097656250002,3.204882812500031],[106.28525390625006,3.15712890624998]]],[[[117.65839843750004,3.280517578124986],[117.54785156250003,3.43198242187502],[117.68085937500004,3.407519531250017],[117.65839843750004,3.280517578124986]]],[[[125.65810546875,3.436035156250043],[125.51152343750007,3.461132812500011],[125.46884765625006,3.73325195312502],[125.65810546875,3.436035156250043]]],[[[117.88476562499997,4.186132812500006],[117.92285156250003,4.054296874999977],[117.73681640624997,4.004003906250034],[117.64902343750012,4.168994140624974],[117.88476562499997,4.186132812500006]]],[[[108.31601562500006,3.689648437500026],[108.10039062500002,3.70454101562504],[108.24326171875006,3.810351562500017],[108.00234375,3.982861328124983],[108.24833984375002,4.21713867187502],[108.39287109375007,3.986181640625034],[108.31601562500006,3.689648437500026]]],[[[117.5744140625001,4.17060546875004],[117.46533203124997,4.076074218749966],[117.77724609375005,3.689257812500031],[117.05595703125007,3.622656249999963],[117.34628906250006,3.426611328124991],[117.35244140625,3.19375],[117.61064453125002,3.064355468749994],[117.56914062500002,2.92929687500002],[117.69765625,2.887304687499991],[117.6388671875001,2.825292968749963],[118.0666015625001,2.317822265624969],[117.7892578125001,2.026855468750014],[118.98496093750006,0.982128906249983],[118.53476562500006,0.813525390625017],[118.19609375000002,0.874365234374977],[117.91162109374997,1.098681640625017],[117.96425781250005,0.889550781250051],[117.74511718749997,0.72963867187498],[117.52216796875004,0.235888671875017],[117.46289062500003,-0.323730468749957],[117.5625,-0.770898437500009],[116.91396484375,-1.223632812499972],[116.73984375000006,-1.044238281250017],[116.75341796874997,-1.327343749999955],[116.27548828125006,-1.784863281249997],[116.42431640625003,-1.784863281249997],[116.45195312500002,-1.923144531250017],[116.31396484374997,-2.139843750000011],[116.56542968749997,-2.299707031249994],[116.52929687499997,-2.51054687499996],[116.31679687500005,-2.55185546875002],[116.33066406250012,-2.902148437499974],[116.16630859375002,-2.934570312500014],[116.2572265625,-3.126367187500009],[115.95615234375012,-3.595019531250003],[114.6935546875001,-4.169726562500017],[114.5255859375001,-3.376660156250011],[114.44599609375004,-3.481835937500037],[114.34433593750012,-3.444433593749963],[114.34433593750012,-3.23515625],[114.23632812500003,-3.36113281249996],[114.0822265625001,-3.27890625],[113.70507812499997,-3.45527343750004],[113.6100585937501,-3.195703125],[113.34316406250005,-3.246484374999966],[113.03398437500002,-2.933496093749966],[112.97148437500002,-3.187109375000034],[112.75800781250004,-3.322167968750009],[112.60029296875004,-3.400488281249977],[112.28496093750002,-3.32099609375004],[111.85810546875004,-3.551855468750006],[111.82304687500007,-3.057226562499949],[111.69472656250005,-2.88945312499996],[110.93007812500005,-3.071093750000017],[110.82968750000012,-2.9951171875],[110.89931640625,-2.908593749999952],[110.703125,-3.020898437500009],[110.57402343750007,-2.89140625],[110.25605468750004,-2.966113281249946],[110.09658203125,-2.001367187499966],[109.95986328125,-1.862792968749972],[109.98330078125,-1.274804687499994],[109.78740234375007,-1.011328124999963],[109.25878906250003,-0.807421874999989],[109.37275390625004,-0.638183593749972],[109.12109375000003,-0.39091796874996],[109.2575195312501,0.031152343750051],[108.94453125000004,0.355664062499997],[108.91679687500007,0.912646484375045],[108.95859375000006,1.134619140624963],[109.1315429687501,1.253857421875011],[109.01025390624997,1.239648437500051],[109.07587890625004,1.495898437500031],[109.37851562500006,1.922705078125034],[109.62890625000003,2.027539062499983],[109.53896484375,1.89619140625004],[109.65400390625004,1.614892578125023],[110.50576171875005,0.861962890625023],[111.10136718750002,1.050537109374986],[111.80898437500005,1.011669921874969],[112.078515625,1.143359374999974],[112.1857421875001,1.4390625],[112.47617187500006,1.559082031250028],[112.94296875000006,1.566992187500034],[113.00654296875004,1.433886718750003],[113.6222656250001,1.2359375],[113.90234375000003,1.434277343749997],[114.5125,1.452001953124963],[114.83056640625003,1.980029296874989],[114.78642578125002,2.250488281250014],[115.1791015625,2.523193359374972],[115.08076171875004,2.63422851562504],[115.117578125,2.89487304687502],[115.24697265625005,3.025927734374989],[115.45439453125002,3.034326171875009],[115.67880859375006,4.193017578124994],[115.86074218750005,4.348046875000037],[116.51474609375006,4.370800781249969],[117.10058593750003,4.337060546875023],[117.5744140625001,4.17060546875004]]],[[[126.81660156250004,4.033496093750003],[126.70449218750005,4.070996093749997],[126.81357421875006,4.258496093750011],[126.72207031250005,4.344189453124969],[126.75732421874997,4.547900390624989],[126.9210937500001,4.291015624999972],[126.81660156250004,4.033496093750003]]],[[[96.49257812500005,5.229345703124991],[97.54716796875002,5.205859375],[98.2484375,4.41455078125],[98.3073242187501,4.09287109375002],[99.73232421875005,3.183056640625026],[100.523828125,2.18916015625004],[100.88789062500004,1.948242187499986],[100.82822265625012,2.242578125],[101.04619140625002,2.257470703125023],[101.47666015625006,1.693066406250054],[102.019921875,1.442138671875],[102.38994140625007,0.84199218750004],[103.03183593750006,0.57890625],[103.0075195312501,0.415332031249974],[102.55,0.216455078124966],[103.33896484375012,0.513720703125045],[103.67265625000007,0.288916015624977],[103.78671875000012,0.046972656249991],[103.42851562500007,-0.19179687499998],[103.40517578125005,-0.36220703124998],[103.5091796875,-0.465527343749969],[103.43857421875006,-0.575585937500009],[103.72109375,-0.886718749999986],[104.36054687500004,-1.038378906249974],[104.51591796875002,-1.81943359375002],[104.84521484375003,-2.092968749999969],[104.65078125000005,-2.595214843749972],[104.97080078125012,-2.370898437500017],[105.39697265624997,-2.380175781249946],[106.0443359375,-3.10625],[105.84375,-3.61367187499998],[105.93046875000007,-3.833007812499986],[105.83144531250005,-4.16289062499996],[105.88720703124997,-5.009570312499974],[105.74833984375007,-5.818261718749966],[105.34941406250007,-5.549511718750011],[105.08134765625002,-5.74550781249998],[104.63955078125005,-5.520410156250037],[104.68398437500005,-5.89267578125002],[104.60156249999997,-5.90458984374996],[103.8314453125,-5.079589843750028],[102.53769531250006,-4.152148437499989],[102.12753906250006,-3.599218749999963],[101.57861328124997,-3.166992187500014],[100.88955078125,-2.248535156249957],[100.85527343750002,-1.934179687499949],[100.30820312500006,-0.82666015625],[99.66982421875005,0.045068359375037],[99.15917968749997,0.351757812499997],[98.59531250000006,1.864599609375006],[97.70078125000006,2.358544921875009],[97.59082031249997,2.846582031250037],[97.3913085937501,2.975292968749969],[96.9689453125001,3.575146484374969],[96.44472656250005,3.81630859374998],[95.57861328125003,4.661962890625048],[95.20664062500006,5.284033203125034],[95.22783203125002,5.564794921875034],[95.62890625000003,5.609082031249997],[96.13330078125003,5.294287109374991],[96.49257812500005,5.229345703124991]]]]},"properties":{"name":"Indonesia","childNum":107}},{"geometry":{"type":"Polygon","coordinates":[[[-4.412060546874983,54.185351562499996],[-4.785351562499983,54.073046875],[-4.424707031249994,54.407177734375],[-4.412060546874983,54.185351562499996]]]},"properties":{"name":"Isle of Man","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[75.32221348233018,32.28516356678968],[75.62496871116024,32.28516356678968],[75.73585997688717,32.78417426256088],[76.32728006076415,32.87658365066666],[76.62299010270264,33.32014871357439],[77.06655516561037,33.301666835953235],[77.71342088235082,32.6917648744551],[78.10154031239509,32.87658365066666],[78.49194250885338,32.53122786149202],[78.38964843749997,32.51987304687498],[78.41748046874997,32.466699218749994],[78.4552734375001,32.30034179687502],[78.49589843750002,32.21577148437504],[78.72558593750009,31.983789062500023],[78.71972656250009,31.887646484374983],[78.69345703125006,31.740380859374994],[78.7550781250001,31.55029296875],[78.74355468750005,31.323779296875017],[79.10712890625004,31.402636718750102],[79.38847656250013,31.064208984375085],[79.66425781250004,30.96523437499999],[79.92451171875004,30.888769531250034],[80.20712890625006,30.683740234375023],[80.19121093750002,30.56840820312496],[80.87353515625003,30.290576171875045],[80.98544921875006,30.23710937499999],[81.01025390625014,30.164501953125097],[80.96611328125002,30.180029296875063],[80.90761718750005,30.171923828125017],[80.84814453125009,30.139746093750034],[80.81992187500012,30.119335937499955],[80.68408203125014,29.994335937500068],[80.54902343750015,29.899804687499994],[80.40185546875003,29.730273437500102],[80.31689453125014,29.572070312500017],[80.25488281250009,29.423339843750114],[80.25595703125006,29.318017578125136],[80.23300781250006,29.194628906250045],[80.16953125000012,29.124316406250102],[80.13046875000006,29.100390625000045],[80.08457031249995,28.994189453125074],[80.05166015625,28.870312500000068],[80.07070312500005,28.830175781250063],[80.22656250000003,28.723339843750125],[80.32480468750012,28.66640625000008],[80.41855468749995,28.61201171875001],[80.47910156250012,28.604882812499994],[80.49580078125015,28.635791015625074],[80.51787109375002,28.665185546875023],[80.58701171875006,28.64960937500004],[81.16894531250014,28.335009765625074],[81.85263671875018,27.867089843750136],[81.89687500000011,27.87446289062504],[81.94521484375005,27.89926757812495],[81.98769531250016,27.91376953125004],[82.03701171875,27.90058593750004],[82.11191406250006,27.86494140625004],[82.28769531250018,27.756542968749983],[82.45136718750004,27.671826171874955],[82.62988281249997,27.687060546875045],[82.67734375000006,27.67343749999995],[82.71083984375005,27.596679687500114],[82.73339843750003,27.518994140625097],[83.28974609375004,27.370996093750136],[83.36943359375002,27.410253906249977],[83.38398437500004,27.444824218750085],[83.44716796875011,27.46533203125],[83.55166015625011,27.456347656249932],[83.74697265625011,27.395947265625068],[83.8288085937501,27.377832031250108],[84.09101562499993,27.491357421875136],[84.22978515625007,27.427832031250006],[84.48085937500005,27.348193359375102],[84.61015625000002,27.298681640624977],[84.64072265625012,27.249853515624977],[84.65478515625014,27.20366210937499],[84.65380859375009,27.09169921875008],[84.68535156250013,27.041015625000057],[85.19179687500011,26.766552734375097],[85.29296875000009,26.741015625000045],[85.56845703125012,26.839843750000114],[85.64843749999997,26.829003906250023],[85.69990234375004,26.781640624999966],[85.73730468750003,26.639746093750034],[85.79453125000006,26.60415039062505],[86.00732421875009,26.64936523437504],[86.70136718750015,26.435058593750057],[87.01640625000002,26.555419921875085],[87.2874023437499,26.360302734375125],[87.41357421875014,26.42294921875009],[87.84921875000006,26.43691406250008],[87.99511718750014,26.38237304687499],[88.02695312500023,26.395019531250085],[88.05488281250004,26.43002929687492],[88.11152343750004,26.58642578125],[88.1615234375,26.724804687500125],[88.15722656250009,26.807324218750068],[88.1110351562501,26.928466796875057],[87.99316406250009,27.086083984374994],[87.984375,27.133935546874994],[88.14697265625014,27.749218750000097],[88.15029296875011,27.843310546875074],[88.10976562500005,27.87060546874997],[88.10898437499995,27.93300781250005],[88.14111328125003,27.948925781250097],[88.27519531250013,27.96884765625009],[88.42597656250015,28.011669921875097],[88.57792968750002,28.093359375000034],[88.80371093750003,28.006933593750034],[88.74902343749997,27.521875000000136],[88.7648437500001,27.429882812500068],[88.83251953125003,27.362841796875074],[88.89140625000002,27.316064453125136],[88.88164062500007,27.29746093750009],[88.76035156250006,27.21811523437509],[88.73876953125009,27.175585937499932],[88.85761718750015,26.961474609375017],[89.14824218750002,26.816162109375085],[89.33212890625018,26.848632812500114],[89.58613281250004,26.778955078125136],[89.60996093750012,26.719433593750097],[89.71093750000009,26.713916015625045],[89.76386718750004,26.7015625],[89.94316406250013,26.723925781249932],[90.12294921875011,26.754589843749983],[90.20605468749997,26.847509765625063],[90.34589843750004,26.890332031250097],[90.73964843750005,26.771679687500068],[91.2865234375,26.78994140625008],[91.42675781249997,26.867089843749966],[91.45585937500013,26.866894531250125],[91.51757812500009,26.807324218750068],[91.67158203124993,26.80200195312503],[91.84208984375013,26.852978515625125],[91.94375,26.860839843750114],[91.99833984375013,26.85498046875],[92.04970703125016,26.87485351562495],[92.73155507489682,26.833697862861648],[93.30975376159499,26.784950522650554],[93.61047043679247,27.32239435188504],[94.06979001484449,27.589407158584788],[95.10800937321915,27.749636881153737],[95.74000740838363,28.116850432722256],[96.19577594042592,28.04291597700983],[96.96279296875,27.698291015625017],[96.88359375000013,27.514843750000125],[96.90195312500012,27.43959960937508],[97.10371093749993,27.163330078125114],[97.10205078125003,27.115429687500125],[96.95341796875013,27.13330078125003],[96.79785156249997,27.29619140624999],[96.19082031250005,27.26127929687499],[95.20146484375007,26.641406250000017],[95.05976562500015,26.473974609375006],[95.06894531250006,26.191113281250097],[95.10839843750014,26.091406250000034],[95.12929687500011,26.070410156250034],[95.13242187500006,26.041259765624943],[94.99199218750002,25.77045898437504],[94.66777343750007,25.458886718749966],[94.55302734375013,25.215722656249994],[94.70371093750012,25.097851562499955],[94.49316406250003,24.637646484374983],[94.37724609375002,24.473730468750006],[94.29306640625012,24.321875],[94.07480468750006,23.8720703125],[93.68339843750007,24.00654296875004],[93.45214843750003,23.987402343750034],[93.32626953125006,24.064208984375057],[93.36601562500007,23.132519531249955],[93.34941406250007,23.08496093750003],[93.20390625000002,23.03701171875005],[93.07871093750018,22.718212890625097],[93.16201171875,22.360205078125006],[93.07060546875002,22.20942382812501],[92.96455078125015,22.003759765625034],[92.90947265625013,21.988916015625023],[92.85429687500002,22.010156250000108],[92.77138671875,22.104785156250017],[92.68896484375009,22.130957031250006],[92.63037109375014,22.011328124999977],[92.57490234374993,21.97807617187496],[92.5612304687501,22.04804687500001],[92.49140625000004,22.685400390625006],[92.46445312500006,22.734423828125045],[92.36162109375002,22.929003906250074],[92.33378906250002,23.242382812499955],[92.24609375000003,23.68359374999997],[92.04404296875006,23.677783203125017],[91.97851562500003,23.691992187500063],[91.92958984375011,23.685986328125097],[91.92949218750019,23.598242187499977],[91.93789062500011,23.504687500000102],[91.75419921875013,23.28730468750004],[91.75097656250003,23.053515625000017],[91.55351562500013,22.991552734375006],[91.43623046875004,23.19990234375001],[91.359375,23.06835937500003],[91.16044921875019,23.660644531250085],[91.35019531250012,24.06049804687501],[91.72656250000003,24.20507812499997],[91.84619140624997,24.175292968749943],[92.06416015625004,24.374365234375006],[92.11748046875002,24.493945312500017],[92.22666015625012,24.77099609374997],[92.22832031250002,24.881347656250085],[92.2512695312499,24.895068359375045],[92.38496093750004,24.848779296875023],[92.46835937500018,24.944140625000074],[92.04970703125016,25.16948242187499],[90.61308593750002,25.16772460937497],[90.11962890625003,25.21997070312497],[89.86630859375012,25.293164062499955],[89.81406250000006,25.305371093749955],[89.80087890625012,25.33613281250001],[89.82490234375004,25.56015625],[89.82294921875015,25.94140625000003],[89.67089843750009,26.213818359375125],[89.57275390625003,26.13232421875003],[89.54990234375006,26.00527343750008],[89.28925781250015,26.037597656250085],[89.01865234375012,26.410253906249977],[88.95195312500002,26.412109375],[88.97041015625004,26.250878906250023],[88.94072265625002,26.24536132812497],[88.68281250000004,26.291699218749983],[88.51826171875004,26.51777343750004],[88.36992187500002,26.56411132812508],[88.35146484375005,26.482568359374966],[88.38623046875003,26.471533203125034],[88.44042968749997,26.369482421875034],[88.33398437499997,26.257519531249955],[88.15078125000005,26.087158203125057],[88.1066406250001,25.841113281250045],[88.14746093749997,25.811425781250023],[88.50244140625009,25.53701171875008],[88.76914062500006,25.490478515625],[88.85478515625002,25.333544921875017],[88.94414062500002,25.290771484375],[88.92978515625012,25.222998046875063],[88.57382812500006,25.18789062499999],[88.45625,25.188427734375125],[88.37294921875016,24.961523437500063],[88.31337890625011,24.8818359375],[88.27949218750015,24.881933593750034],[88.18886718750016,24.920605468750097],[88.14980468750011,24.91464843749995],[88.04511718750015,24.71303710937508],[88.03027343750009,24.664453125000136],[88.02343750000003,24.627832031250136],[88.07910156250009,24.549902343750063],[88.14550781250003,24.485791015624955],[88.225,24.460644531249983],[88.3375,24.45385742187503],[88.49853515625003,24.34663085937504],[88.64228515625015,24.325976562500102],[88.72353515625011,24.27490234375],[88.7335937500001,24.230908203125097],[88.72656250000009,24.18623046875004],[88.71376953125016,24.069628906250102],[88.69980468750006,24.00253906249992],[88.56738281250009,23.674414062500034],[88.63574218749997,23.55],[88.69765625,23.493017578125034],[88.72441406250002,23.254980468750034],[88.89707031250018,23.21040039062501],[88.92812500000011,23.186621093749977],[88.89970703125002,22.843505859375057],[88.92070312500002,22.632031249999955],[89.05,22.274609374999983],[89.02792968750023,21.937207031249983],[88.94931640625018,21.937939453125125],[89.05166015625,21.654101562500045],[88.85751953125012,21.744677734375017],[88.74501953125011,21.584375],[88.74023437500003,22.005419921875017],[88.64160156250003,22.121972656250136],[88.58466796875015,21.659716796874932],[88.44599609375004,21.614257812500085],[88.28750000000016,21.758203125000108],[88.25371093750002,21.622314453124943],[88.0568359375001,21.694140625000017],[88.19628906249997,22.139550781249994],[87.94140625000003,22.374316406250045],[88.15927734375018,22.12172851562508],[87.82373046875003,21.727343750000045],[87.20068359375009,21.544873046874983],[86.95410156250014,21.365332031250006],[86.84228515625009,21.106347656249994],[86.97548828125005,20.70014648437501],[86.75039062500011,20.313232421875057],[86.37656250000006,20.006738281249966],[86.24521484375012,20.05302734374999],[86.27949218750021,19.919433593749943],[85.575,19.69291992187499],[85.496875,19.696923828125108],[85.50410156250004,19.887695312500057],[85.24863281250006,19.757666015625034],[85.18076171875018,19.59487304687508],[85.44160156249993,19.626562499999977],[84.77099609375009,19.125390625000023],[84.10410156250018,18.29267578125001],[82.35957031250004,17.09619140624997],[82.25878906250014,16.55986328124996],[81.76191406250015,16.32949218750008],[81.28613281249997,16.337060546875023],[80.97871093750004,15.758349609375074],[80.64658203125006,15.895019531250028],[80.29345703125014,15.710742187499989],[80.0534179687501,15.074023437499932],[80.17871093750003,14.478320312500074],[80.11171875000005,14.212207031250045],[80.30654296875016,13.485058593750054],[80.15625,13.713769531250108],[80.06210937500006,13.60625],[80.34238281250006,13.361328125000071],[80.22910156250018,12.690332031249966],[79.85849609375018,11.988769531250043],[79.69316406250007,11.312548828124946],[79.79902343750004,11.338671874999932],[79.84863281250009,11.196875],[79.83818359375002,10.322558593750045],[79.31455078125018,10.256689453124949],[78.93994140625009,9.565771484375063],[79.01992187500005,9.333349609374963],[79.41142578125002,9.192382812500014],[78.97958984375018,9.268554687500085],[78.42148437500006,9.105029296874989],[78.19248046874995,8.890869140625057],[78.06015625000006,8.384570312499932],[77.51757812500003,8.078320312500068],[77.06591796875003,8.315917968749986],[76.5534179687501,8.902783203124997],[76.32460937500016,9.452099609374997],[76.24238281250004,9.927099609374949],[76.37558593750006,9.539892578124935],[76.45878906250013,9.536230468750077],[76.34648437500002,9.922119140625],[76.19560546875002,10.086132812500026],[75.72382812500015,11.361767578125026],[74.94550781250004,12.56455078124992],[74.38222656250005,14.494726562500048],[73.94921875000014,15.074755859375088],[73.80078125000009,15.39697265625],[73.93193359375013,15.39697265625],[73.77177734375013,15.573046874999989],[73.83281250000013,15.659375],[73.67988281250015,15.708886718750136],[73.47607421875003,16.05424804687496],[72.87548828124997,18.642822265625114],[72.97207031250011,19.15332031250003],[72.8346679687501,18.975585937500057],[72.80302734375013,19.07929687500004],[72.81162109375,19.298925781250006],[72.98720703125,19.27744140625009],[72.78789062500013,19.362988281250097],[72.66777343750019,19.83095703125005],[72.89375,20.672753906250136],[72.81386718750011,21.117187500000085],[72.62382812500002,21.371972656250108],[72.73476562500016,21.470800781250006],[72.61328125000009,21.461816406250108],[73.1125,21.750439453125125],[72.54306640625,21.69658203124999],[72.70019531250003,21.971923828124943],[72.52226562500013,21.976220703125108],[72.55302734375007,22.159960937500074],[72.80917968749995,22.23330078125008],[72.18281250000015,22.26972656250004],[72.30644531250002,22.18920898437497],[72.27441406250009,22.089746093749966],[72.03720703125006,21.82304687499999],[72.2103515625,21.72822265625004],[72.25400390625006,21.531005859375],[72.01523437500012,21.155712890625097],[71.0246093750001,20.73886718750009],[70.71933593750006,20.740429687500068],[70.12734375,21.094677734375097],[68.96992187500021,22.29028320312497],[69.05166015625016,22.437304687500074],[69.27656250000004,22.285498046875063],[70.17724609375014,22.57275390624997],[70.48925781250009,23.08950195312508],[70.33945312500012,22.939746093749932],[69.66464843750006,22.759082031250074],[69.23593749999995,22.848535156250023],[68.64072265625006,23.189941406250114],[68.41748046875009,23.57148437500004],[68.7767578125,23.852099609375017],[68.23496093749995,23.596972656250074],[68.16503906250009,23.857324218749994],[68.28251953125013,23.927978515625],[68.38125000000016,23.950878906250068],[68.48867187500011,23.96723632812501],[68.5866210937501,23.966601562500074],[68.72412109375003,23.964697265625034],[68.72812500000012,24.265625],[68.73964843750016,24.291992187500085],[68.75898437499993,24.307226562500006],[68.78115234375011,24.313720703125085],[68.8,24.30908203125003],[68.82832031250004,24.26401367187509],[68.86347656250015,24.26650390625005],[68.90078125000011,24.29243164062501],[68.98457031250015,24.273095703124966],[69.05156250000013,24.28632812500001],[69.11953125000011,24.26865234374995],[69.23505859374993,24.268261718750068],[69.44345703124995,24.275390625000085],[69.55917968750006,24.273095703124966],[69.80517578125009,24.16523437500004],[70.0982421875,24.2875],[70.28906250000009,24.356298828125063],[70.54677734375,24.418310546875063],[70.56503906250006,24.385791015625017],[70.55585937500015,24.331103515625074],[70.57929687500015,24.279052734374943],[70.65947265625013,24.24609374999997],[70.71630859375009,24.237988281250097],[70.7672851562501,24.245410156250017],[70.80507812500011,24.26196289062503],[70.88623046875014,24.34375],[70.92812500000016,24.362353515625045],[70.98281250000011,24.361035156250125],[71.04404296875006,24.400097656250097],[71.04531250000005,24.42998046874996],[70.96982421875012,24.571875],[70.97636718750013,24.61875],[71.00234375000016,24.6539062499999],[71.04785156250003,24.687744140625085],[71.02070312500021,24.75766601562492],[70.95087890625015,24.89160156250003],[70.87773437500019,25.06298828124997],[70.65205078125004,25.422900390625102],[70.64843750000003,25.666943359375068],[70.5695312500001,25.705957031250023],[70.50585937500009,25.685302734375085],[70.44853515625013,25.681347656249983],[70.26464843750009,25.70654296874997],[70.10019531250006,25.91005859375005],[70.14921875000002,26.347558593749994],[70.11464843750016,26.548046874999983],[69.47001953125002,26.804443359375],[69.56796875,27.174609375000102],[69.89628906250007,27.473632812500085],[70.04980468750009,27.694726562500023],[70.14453125000003,27.849023437499994],[70.19394531250006,27.89487304687492],[70.24433593750004,27.934130859375102],[70.4037109375,28.025048828124994],[70.48857421875013,28.023144531250125],[70.62910156250015,27.937451171875068],[70.6916015625001,27.76899414062504],[70.79794921875012,27.709619140625023],[70.87490234375016,27.71445312499995],[71.18476562500004,27.831640625],[71.54296875000003,27.869873046875],[71.8703125000001,27.9625],[71.88886718750004,28.04746093749992],[71.94804687500002,28.177294921875102],[72.12851562500012,28.34633789062508],[72.29199218750003,28.69726562499997],[72.34189453125006,28.751904296875097],[72.90332031250003,29.02875976562501],[73.38164062500013,29.934375],[73.8091796875,30.093359375],[73.88652343750013,30.162011718750136],[73.93339843750002,30.222070312500108],[73.92460937500007,30.28164062499999],[73.88271484375,30.352148437499977],[73.89931640625,30.435351562500045],[74.00898437500004,30.519677734374994],[74.33935546875003,30.893554687499943],[74.38037109375003,30.89340820312509],[74.50976562500009,30.959667968750097],[74.63281250000014,31.034667968750114],[74.62578125000002,31.068750000000108],[74.61035156250009,31.112841796875045],[74.51767578125012,31.185595703124932],[74.53496093750007,31.261376953125108],[74.59394531249993,31.465380859375102],[74.58183593750013,31.523925781250114],[74.50996093750015,31.712939453125074],[74.52597656249995,31.765136718750057],[74.55556640625011,31.818554687500097],[74.63574218750003,31.889746093750034],[74.73945312500015,31.948828125],[75.07148437500015,32.08935546875003],[75.13876953125,32.10478515624999],[75.25410156250004,32.140332031250125],[75.33349609374997,32.279199218749994],[75.32221348233018,32.28516356678968]]]]},"properties":{"name":"India","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[72.49199218750002,-7.37744140625],[72.42910156250002,-7.435351562500003],[72.34970703125,-7.263378906250011],[72.447265625,-7.395703125000011],[72.44560546875002,-7.220410156250011],[72.49199218750002,-7.37744140625]]]},"properties":{"name":"Br. Indian Ocean Ter.","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[-9.948193359374926,53.91313476562499],[-10.265722656249949,53.977685546874994],[-9.99638671874996,54.00361328125004],[-9.948193359374926,53.91313476562499]]],[[[-6.218017578125,54.08872070312506],[-6.347607421874926,53.94130859375005],[-6.027392578124989,52.927099609375006],[-6.463183593749932,52.345361328124994],[-6.325,52.246679687500034],[-6.890234375,52.15922851562499],[-6.965771484374926,52.24951171875],[-8.057812499999926,51.82558593750005],[-8.4091796875,51.888769531250034],[-8.349121093749943,51.73930664062496],[-8.813427734374926,51.584912109374955],[-9.737304687499943,51.473730468750034],[-9.524902343750028,51.68110351562501],[-10.120751953124994,51.60068359375006],[-9.598828124999983,51.87441406250005],[-10.341064453124943,51.798925781250034],[-9.909667968749972,52.122949218749966],[-10.39023437499992,52.134912109374994],[-10.356689453125,52.20693359375002],[-9.772119140624937,52.250097656250034],[-9.90605468749996,52.403710937499966],[-9.632226562499937,52.54692382812502],[-8.783447265624943,52.679638671874955],[-8.990283203124989,52.755419921875045],[-9.175390624999949,52.634912109374994],[-9.916601562499977,52.56972656250005],[-9.46489257812496,52.82319335937498],[-9.299218749999966,53.09755859375002],[-8.930126953124983,53.207080078125045],[-9.51420898437496,53.23823242187498],[-10.091259765624926,53.41284179687503],[-10.116992187499932,53.548535156249955],[-9.720654296874926,53.6044921875],[-9.901611328124943,53.72719726562502],[-9.578222656249949,53.80541992187497],[-9.578857421875,53.879833984374955],[-9.9140625,53.863720703124955],[-9.856445312499972,54.095361328124994],[-10.092675781249966,54.15576171875003],[-10.056396484374943,54.25781250000006],[-8.545556640624994,54.24121093750003],[-8.623144531249977,54.346875],[-8.133447265624966,54.64082031250001],[-8.763916015624972,54.68120117187496],[-8.377294921874977,54.88945312500002],[-8.274609374999955,55.146289062500045],[-7.667089843749977,55.25649414062502],[-7.65874023437496,54.97094726562503],[-7.308789062500011,55.365820312500006],[-6.961669921874972,55.23789062500006],[-7.218652343749937,55.09199218749998],[-7.55039062499992,54.767968749999966],[-7.910595703124955,54.698339843750006],[-7.75439453125,54.59492187499998],[-8.118261718749977,54.41425781250004],[-7.606542968750006,54.14384765625002],[-7.324511718750017,54.13344726562502],[-7.007714843749937,54.40668945312501],[-6.649804687499937,54.05864257812496],[-6.218017578125,54.08872070312506]]]]},"properties":{"name":"Ireland","childNum":2}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[56.18798828125003,26.92114257812497],[55.95429687500004,26.70112304687501],[55.31152343749997,26.592626953125006],[55.76259765625005,26.81196289062504],[55.75761718750002,26.94765625000005],[56.279394531250006,26.952099609374983],[56.18798828125003,26.92114257812497]]],[[[46.1144531250001,38.877783203125034],[46.490625,38.90668945312498],[47.995898437500074,39.683935546875034],[48.322167968749994,39.39907226562502],[48.10439453125005,39.241113281249994],[48.292089843750006,39.01884765624999],[47.99648437499999,38.85375976562503],[48.59267578125005,38.41108398437498],[48.86875,38.43549804687498],[48.95996093750003,37.89013671875],[49.171191406250074,37.60058593749997],[50.13046875,37.407128906249994],[50.53320312499997,37.01367187500006],[51.11855468750005,36.742578124999966],[52.19013671875004,36.62172851562505],[53.76767578125006,36.93032226562502],[53.91542968750005,36.93032226562502],[53.67949218750002,36.853125],[53.970117187499994,36.818310546874955],[53.91416015625006,37.34355468750002],[54.6994140625001,37.47016601562498],[54.90009765625004,37.77792968750006],[55.38085937500003,38.051123046875034],[56.272070312500006,38.080419921875034],[56.440625,38.249414062499994],[57.1935546875001,38.216406250000034],[57.35371093750004,37.97333984374998],[58.261621093749994,37.665820312500045],[58.81542968750003,37.683496093749994],[59.30175781249997,37.51064453125005],[59.454980468749994,37.25283203125002],[60.06279296875002,36.962890625],[60.34130859375003,36.63764648437501],[61.11962890625003,36.64257812500003],[61.212011718750006,36.190527343750034],[61.15292968750006,35.97675781250001],[61.25214843750004,35.86762695312498],[61.26201171875002,35.61958007812498],[61.28183593750006,35.55341796875001],[61.2785156250001,35.513769531250006],[61.245507812499994,35.47407226562501],[61.18925781250002,35.31201171875003],[61.1,35.272314453125034],[61.08007812499997,34.85561523437505],[60.95117187499997,34.65385742187499],[60.91474609375004,34.63398437500001],[60.80234375000006,34.55463867187501],[60.73945312500004,34.544726562500045],[60.7262695312501,34.51826171874998],[60.736132812500074,34.491796875],[60.76259765625005,34.475244140624994],[60.88945312500002,34.31943359375006],[60.642675781250006,34.30717773437496],[60.48574218750005,34.09477539062502],[60.4859375,33.7119140625],[60.57382812500006,33.58833007812498],[60.91699218749997,33.505224609375006],[60.56054687499997,33.13784179687502],[60.5765625,32.99487304687503],[60.71044921874997,32.6],[60.82929687500004,32.24941406250005],[60.82724609375006,32.16796874999997],[60.789941406249994,31.98710937499999],[60.7875,31.87719726562497],[60.791601562500006,31.660595703124983],[60.82070312499999,31.495166015625045],[60.854101562500006,31.483251953125006],[61.110742187499994,31.45112304687504],[61.346484375000074,31.42163085937497],[61.66015625000003,31.382421874999977],[61.7550781250001,31.285302734374994],[61.814257812500074,31.072558593750017],[61.810839843750074,30.913281249999983],[61.78417968749997,30.831933593750023],[61.55947265625005,30.59936523437497],[61.33164062500006,30.36372070312501],[60.84335937500006,29.85869140624999],[61.03417968750003,29.663427734374977],[61.15214843750002,29.542724609375],[61.8898437500001,28.546533203124994],[62.7625,28.202050781249994],[62.782324218750006,27.800537109375],[62.75273437500002,27.265625],[63.16679687500002,27.25249023437499],[63.19609375000002,27.243945312500017],[63.25625,27.20791015625005],[63.30156250000002,27.151464843750006],[63.30517578124997,27.124560546875017],[63.242089843749994,27.07768554687499],[63.25039062499999,26.879248046875063],[63.24160156250005,26.86474609375003],[63.18613281250006,26.83759765625001],[63.168066406250006,26.66557617187496],[62.31230468750002,26.490869140624994],[62.23935546875006,26.357031249999977],[62.12597656249997,26.368994140625034],[61.842382812500006,26.225927734375006],[61.809960937499994,26.165283203125],[61.78076171874997,25.99584960937503],[61.75439453125003,25.843359375000063],[61.737695312499994,25.821093750000045],[61.66865234375004,25.76899414062501],[61.6618164062501,25.751269531250017],[61.67138671874997,25.69238281250003],[61.64013671875003,25.584619140624994],[61.61542968750004,25.28613281250003],[61.58789062499997,25.20234375000001],[61.533105468749994,25.195507812499955],[61.41220703125006,25.102099609375017],[60.66386718750002,25.28222656250003],[60.51054687500002,25.437060546875045],[60.40019531250002,25.311572265625074],[59.45605468749997,25.481494140625045],[59.0460937500001,25.417285156250017],[58.79785156249997,25.554589843750023],[57.334570312500006,25.791552734375074],[57.03603515625005,26.80068359375005],[56.728125,27.127685546875057],[56.118066406249994,27.14311523437499],[54.75927734375003,26.50507812500004],[54.24707031250003,26.696630859374977],[53.70576171875004,26.72558593750003],[52.69160156250004,27.323388671875023],[52.475878906250074,27.61650390624999],[52.03076171874997,27.824414062499955],[51.58906250000004,27.864208984374983],[51.27890625,28.13134765624997],[51.06201171874997,28.72612304687499],[50.86699218750002,28.870166015625017],[50.87578125000002,29.062695312499983],[50.67519531250005,29.146582031250034],[50.64960937500004,29.420068359374966],[50.16894531250003,29.921240234375034],[50.071582031250074,30.198535156250017],[49.55488281250004,30.028955078125023],[49.028125,30.333447265624983],[49.224511718749994,30.472314453125023],[49.00195312500003,30.506542968749983],[48.91914062500004,30.120898437500017],[48.54648437500006,29.962353515624955],[48.47851562499997,30.003808593749966],[48.43457031249997,30.03759765625],[48.33105468749997,30.28544921874996],[48.01494140625002,30.465625],[48.01064453125005,30.989794921875017],[47.679492187500074,31.00239257812501],[47.679492187500074,31.400585937499955],[47.75390624999997,31.601367187500017],[47.829980468749994,31.79443359375],[47.71455078125004,31.936425781249966],[47.5915039062501,32.087988281250034],[47.51191406250004,32.15083007812504],[47.3297851562501,32.45551757812501],[47.28515625000003,32.474023437499966],[47.121386718750074,32.46660156249996],[46.569921875,32.83393554687501],[46.37705078125006,32.92924804687499],[46.29824218750005,32.95024414062502],[46.11279296875003,32.957666015624994],[46.09306640625002,32.97587890624999],[46.08046875,33.028222656249994],[46.0807617187501,33.08652343750006],[46.14111328125003,33.174414062500034],[46.145898437499994,33.229638671874994],[46.01992187500005,33.41572265624998],[45.39707031250006,33.970849609374994],[45.542773437500074,34.21552734375004],[45.459375,34.470361328124994],[45.50078125000002,34.58159179687499],[45.6375,34.573828125],[45.678125,34.798437500000034],[45.92089843750003,35.02851562500001],[46.04179687500002,35.08017578125006],[46.13378906249997,35.127636718749955],[46.15468750000005,35.19672851562498],[46.112109375000074,35.32167968750005],[45.97109375000005,35.524169921875],[46.03740234375002,35.67314453124999],[46.180957031250074,35.71137695312504],[46.2625,35.74414062500006],[46.27343749999997,35.77324218750002],[46.16748046874997,35.820556640625],[45.77636718749997,35.82182617187499],[45.36162109375002,36.015332031249955],[45.241113281249994,36.35595703125],[45.20654296874997,36.397167968749955],[45.15527343749997,36.407373046874994],[45.11240234375006,36.409277343750034],[45.053125,36.47163085937501],[44.76513671875003,37.142431640625006],[44.79414062500004,37.290380859375034],[44.574023437500074,37.435400390625006],[44.589941406250006,37.710351562499966],[44.21132812499999,37.908056640625006],[44.4499023437501,38.33422851562506],[44.2985351562501,38.38627929687499],[44.27167968750004,38.83603515625006],[44.02324218750002,39.37744140625006],[44.3893554687501,39.422119140625],[44.58710937500004,39.76855468750006],[44.81718750000002,39.65043945312496],[45.4796875000001,39.00625],[46.1144531250001,38.877783203125034]]]]},"properties":{"name":"Iran","childNum":2}},{"geometry":{"type":"Polygon","coordinates":[[[45.6375,34.573828125],[45.50078125000002,34.581591796874996],[45.459375,34.470361328124994],[45.54277343750002,34.21552734375],[45.397070312500006,33.970849609374994],[46.01992187500002,33.41572265625],[46.14589843750002,33.229638671874994],[46.14111328125,33.1744140625],[46.08076171875001,33.0865234375],[46.08046875000002,33.028222656249994],[46.09306640625002,32.975878906249996],[46.11279296875,32.957666015624994],[46.377050781250006,32.929248046874996],[46.569921875,32.833935546875],[47.12138671875002,32.466601562499996],[47.28515625,32.474023437499994],[47.32978515625001,32.455517578125],[47.51191406250001,32.150830078125],[47.59150390625001,32.08798828125],[47.71455078125001,31.936425781249994],[47.82998046875002,31.79443359375],[47.75390625,31.601367187499996],[47.67949218750002,31.400585937499997],[47.67949218750002,31.002392578124997],[48.01064453125002,30.989794921874996],[48.01494140625002,30.465625],[48.3310546875,30.285449218749996],[48.546484375,29.962353515624997],[48.454199218750006,29.9384765625],[48.354589843750006,29.956738281249997],[48.141699218750006,30.040917968749994],[47.982519531250006,30.011328125],[47.97871093750001,29.9828125],[47.64375,30.097314453124994],[47.14824218750002,30.0009765625],[46.905859375,29.5375],[46.76933593750002,29.347460937499996],[46.69375,29.259667968749994],[46.53144531250001,29.096240234374996],[46.3564453125,29.063671875],[44.71650390625001,29.193603515625],[43.77373046875002,29.84921875],[42.07441406250001,31.080371093749996],[40.47890625000002,31.893359375],[40.36933593750001,31.93896484375],[40.02783203125,31.995019531249994],[39.7041015625,32.042529296874996],[39.14541015625002,32.12451171875],[39.29277343750002,32.24384765625],[39.24746093750002,32.350976562499994],[39.04140625000002,32.3056640625],[38.773535156250006,33.372216796874994],[40.98701171875001,34.429052734375],[41.19472656250002,34.768994140625],[41.354101562500006,35.640429687499996],[41.295996093750006,36.383349609374996],[41.41679687500002,36.5146484375],[41.78857421875,36.59716796875],[42.358984375,37.10859375],[42.45585937500002,37.128710937499996],[42.63544921875001,37.249267578125],[42.74111328125002,37.3619140625],[42.77460937500001,37.371875],[42.869140625,37.334912109375],[42.936621093750006,37.324755859374996],[43.09248046875001,37.3673828125],[43.67578125,37.22724609375],[43.83642578125,37.223535156249994],[44.01318359375,37.313525390624996],[44.11445312500001,37.30185546875],[44.15625,37.282958984375],[44.19179687500002,37.249853515625],[44.20839843750002,37.20263671875],[44.20166015625,37.051806640624996],[44.281835937500006,36.97802734375],[44.32558593750002,37.0107421875],[44.401953125,37.058496093749994],[44.60595703125,37.176025390625],[44.66933593750002,37.173583984375],[44.73095703125,37.165283203125],[44.76513671875,37.142431640625],[45.053125,36.471630859375],[45.112402343750006,36.40927734375],[45.1552734375,36.407373046874994],[45.20654296875,36.39716796875],[45.24111328125002,36.35595703125],[45.36162109375002,36.01533203125],[45.7763671875,35.821826171874996],[46.16748046875,35.820556640625],[46.2734375,35.773242187499996],[46.2625,35.744140625],[46.18095703125002,35.711376953125],[46.03740234375002,35.673144531249996],[45.97109375000002,35.524169921875],[46.11210937500002,35.321679687499994],[46.15468750000002,35.196728515625],[46.1337890625,35.12763671875],[46.04179687500002,35.08017578125],[45.9208984375,35.028515625],[45.678125,34.7984375],[45.6375,34.573828125]]]},"properties":{"name":"Iraq","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[-15.543115234374994,66.228515625],[-14.595849609374994,66.38154296875],[-15.117382812499983,66.125634765625],[-14.698193359374983,66.02021484375],[-14.827099609374983,65.7642578125],[-14.391845703125,65.78740234375],[-14.473388671875,65.575341796875],[-14.166943359374983,65.64228515625],[-13.617871093749983,65.5193359375],[-13.804785156249977,65.35478515625],[-13.599316406249983,65.0359375],[-14.04443359375,64.74189453125],[-14.385107421874977,64.74521484375],[-14.475390624999989,64.493994140625],[-14.927392578124994,64.319677734375],[-15.832910156249994,64.17666015625],[-16.640332031249983,63.865478515625],[-17.81572265624999,63.71298828125],[-17.946923828124994,63.5357421875],[-18.65361328124999,63.406689453125],[-20.198144531249994,63.555810546874994],[-20.494042968749994,63.687353515625],[-20.413964843749994,63.80517578125],[-20.65092773437499,63.73740234375],[-21.15239257812499,63.94453125],[-22.652197265624977,63.827734375],[-22.701171875,64.083203125],[-22.51005859374999,63.991455078125],[-22.187597656249977,64.039208984375],[-21.463330078124983,64.379150390625],[-22.053369140624994,64.313916015625],[-21.950341796874994,64.514990234375],[-21.590625,64.6263671875],[-22.10600585937499,64.533056640625],[-22.467041015625,64.794970703125],[-23.818994140624994,64.73916015625],[-24.02617187499999,64.863427734375],[-22.7880859375,65.046484375],[-21.89213867187499,65.048779296875],[-21.779980468749983,65.1876953125],[-22.50908203124999,65.19677734375],[-21.844384765624994,65.44736328125],[-22.902490234374994,65.58046875],[-23.89990234375,65.407568359375],[-24.475683593749977,65.5251953125],[-24.248925781249994,65.614990234375],[-23.85673828124999,65.53837890625],[-24.092626953124977,65.77646484375],[-23.615917968749983,65.67958984375],[-23.285351562499983,65.75],[-23.832617187499977,65.84921875],[-23.52495117187499,65.880029296875],[-23.77734375,66.017578125],[-23.434472656249994,66.02421875],[-23.452539062499994,66.181005859375],[-23.018994140624983,65.98212890625],[-22.659863281249983,66.025927734375],[-22.61601562499999,65.86748046875],[-22.44169921874999,65.90830078125],[-22.4453125,66.07001953125],[-22.947900390624994,66.212744140625],[-22.48442382812499,66.26630859375],[-23.116943359375,66.338720703125],[-22.9443359375,66.429443359375],[-22.426123046874977,66.430126953125],[-21.406884765624994,66.0255859375],[-21.374902343749994,65.74189453125],[-21.658447265625,65.723583984375],[-21.12968749999999,65.2666015625],[-20.804345703124994,65.63642578125],[-20.454833984375,65.571044921875],[-20.20751953125,66.10009765625],[-19.489697265624983,65.76806640625],[-19.382958984374994,66.07568359375],[-18.845898437499983,66.183935546875],[-18.141943359374977,65.73408203125],[-18.29716796874999,66.157421875],[-17.906982421875,66.143310546875],[-17.550439453124994,65.964404296875],[-17.153027343749983,66.20283203125],[-16.838037109374994,66.125244140625],[-16.485009765624994,66.195947265625],[-16.540673828124994,66.446728515625],[-16.24931640624999,66.522900390625],[-15.985400390624989,66.5146484375],[-15.543115234374994,66.228515625]]]},"properties":{"name":"Iceland","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[35.78730468750001,32.734912109374996],[35.572851562500006,32.640869140625],[35.56904296875001,32.619873046875],[35.55146484375001,32.3955078125],[35.484375,32.401660156249996],[35.40263671875002,32.450634765625],[35.38671875,32.493017578125],[35.303808593750006,32.512939453125],[35.19326171875002,32.534423828125],[35.065039062500006,32.46044921875],[35.01054687500002,32.338183593749996],[34.95595703125002,32.1609375],[34.98974609375,31.91328125],[34.97832031250002,31.86640625],[34.95380859375001,31.841259765624997],[34.96113281250001,31.82333984375],[34.983007812500006,31.81679687499999],[35.05322265625,31.837939453124996],[35.12714843750001,31.816748046875],[35.203710937500006,31.75],[34.95097656250002,31.602294921875],[34.88046875,31.3681640625],[35.45058593750002,31.479296875],[34.97343750000002,29.555029296875],[34.904296875,29.47734375],[34.24531250000001,31.208300781249996],[34.34833984375001,31.292919921874997],[34.350195312500006,31.362744140624997],[34.52558593750001,31.525634765625],[34.47734375000002,31.584863281249994],[34.483984375,31.59228515625],[34.67841796875001,31.895703125],[35.10859375000001,33.08369140625],[35.411230468750006,33.07568359375],[35.869140625,33.43173828125],[35.91347656250002,32.94960937499999],[35.78730468750001,32.734912109374996]]]},"properties":{"name":"Israel","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[15.576562500000051,38.220312500000034],[15.099511718750023,37.45859375],[15.295703125000017,37.05517578124997],[15.112597656250017,36.687841796875006],[14.501855468750023,36.798681640625034],[14.142968750000023,37.103662109374994],[13.90546875000004,37.10063476562502],[13.169921875000028,37.47929687499996],[12.640234375000034,37.594335937500034],[12.435546874999972,37.819775390624955],[12.734375,38.18305664062498],[12.902734375000023,38.03486328124998],[13.291113281250034,38.19145507812502],[13.788867187499989,37.981201171875],[15.11875,38.15273437500002],[15.498730468750011,38.290869140625006],[15.576562500000051,38.220312500000034]]],[[[8.478906250000023,39.067529296874966],[8.421484375000034,38.968652343749994],[8.366796875,39.115917968749955],[8.478906250000023,39.067529296874966]]],[[[8.28603515625008,41.03984375],[8.205664062500034,40.99746093750005],[8.320214843750023,41.121875],[8.28603515625008,41.03984375]]],[[[9.632031250000011,40.88203124999998],[9.805273437500063,40.499560546875045],[9.642968750000023,40.268408203125006],[9.5625,39.16601562500006],[9.056347656250068,39.23916015625002],[8.966601562500074,38.963720703125034],[8.648535156250034,38.92656250000002],[8.418164062500068,39.205712890624966],[8.547753906250023,39.83920898437506],[8.4078125,39.91723632812497],[8.471289062500063,40.29267578124998],[8.189941406250028,40.651611328125],[8.22421875,40.91333007812503],[8.571875,40.85019531250006],[9.228417968750023,41.257080078125],[9.615332031249977,41.01728515624998],[9.632031250000011,40.88203124999998]]],[[[10.395117187500034,42.85815429687503],[10.419335937499994,42.71318359374999],[10.13125,42.742041015625006],[10.395117187500034,42.85815429687503]]],[[[13.420996093750006,46.212304687499994],[13.63251953125004,46.17705078125002],[13.634960937499983,46.15776367187499],[13.61660156250008,46.133105468750045],[13.54804687500004,46.08911132812503],[13.486425781250034,46.03955078124997],[13.480273437500017,46.00922851562501],[13.487695312500023,45.987109375000045],[13.509179687500051,45.973779296874994],[13.6005859375,45.97978515624996],[13.663476562500023,45.7919921875],[13.831152343750006,45.680419921875],[13.719824218750063,45.58759765625001],[13.628320312500051,45.77094726562498],[13.206347656250074,45.771386718749966],[12.27431640625008,45.44604492187503],[12.225683593750034,45.24150390625002],[12.523437500000028,44.96796874999998],[12.248339843750045,44.72250976562498],[12.396289062500074,44.223876953125],[13.56416015625004,43.57128906250003],[14.010449218750011,42.68955078125006],[14.54072265625004,42.24428710937502],[15.16875,41.93403320312498],[16.164648437500034,41.89619140624998],[15.900488281250034,41.51206054687498],[17.954980468749994,40.65517578125002],[18.460644531249983,40.221044921875034],[18.34375,39.82138671874998],[18.077929687500017,39.93696289062498],[17.865039062500074,40.28017578125002],[17.395800781250045,40.34023437499999],[17.179980468750045,40.50278320312498],[16.92822265625,40.45805664062502],[16.521875,39.74755859375003],[17.114550781250017,39.38061523437497],[17.174609375000017,38.998095703125045],[16.61669921875003,38.800146484375034],[16.54560546875001,38.40908203125002],[16.05683593750001,37.941845703124955],[15.72451171875008,37.93911132812502],[15.645800781250017,38.034228515625045],[15.87890625,38.61391601562502],[16.19677734375,38.759228515624955],[16.20996093750003,38.94111328124998],[15.692773437499994,39.99018554687501],[14.95087890625004,40.23901367187497],[14.94765625000008,40.469335937500006],[14.765722656250063,40.66840820312498],[14.339941406250006,40.59882812500001],[14.460546875000063,40.72871093750001],[14.04433593750008,40.81225585937506],[13.733398437500057,41.23564453124999],[13.088671875000074,41.243847656249955],[12.630859374999972,41.469677734374955],[11.637304687500063,42.287548828124955],[11.141210937499977,42.38989257812503],[11.167773437500074,42.53515625000006],[10.708398437500023,42.93632812499999],[10.514843750000011,42.96752929687503],[10.188085937500063,43.947509765625],[8.76582031250004,44.42231445312501],[8.004980468750006,43.87675781249999],[7.4931640625,43.767138671875045],[7.637207031250057,44.16484375],[7.318554687500068,44.13798828125002],[6.900195312499989,44.33574218749996],[6.99267578125,44.82729492187502],[6.634765625000028,45.06816406249996],[7.07832031250004,45.23994140624998],[7.146386718750051,45.381738281249994],[6.790917968750023,45.740869140624966],[7.021093750000034,45.92578124999997],[7.055761718749977,45.90380859375003],[7.129003906249977,45.88041992187499],[7.327929687500017,45.912353515625],[7.9931640625,46.01591796874996],[8.081542968750057,46.25600585937502],[8.231933593750057,46.341210937499966],[8.29853515625004,46.403417968750034],[8.370703125,46.44511718750002],[8.458398437500023,46.24589843750002],[8.818554687500011,46.0771484375],[8.826757812500006,46.06103515625],[8.77802734375004,45.996191406250034],[8.953710937500034,45.83002929687501],[9.023730468750074,45.845703125],[9.203417968750017,46.21923828125],[9.304394531250068,46.49555664062498],[9.399316406250023,46.480664062499955],[9.427636718750023,46.48232421875002],[9.528710937500023,46.306201171875045],[9.57958984375,46.29609375000001],[9.639453125000017,46.29589843749997],[9.78779296875004,46.34604492187498],[9.884472656250011,46.36777343750006],[9.939257812500074,46.36181640625],[10.041015625000028,46.23808593750002],[10.08056640625,46.22797851562501],[10.128320312500051,46.238232421874955],[10.109667968750074,46.36284179687502],[10.081933593750023,46.420751953125006],[10.045605468750068,46.44790039062505],[10.038281250000011,46.483203125000045],[10.061230468750068,46.54677734375002],[10.087011718750063,46.59990234375002],[10.1375,46.614355468750034],[10.195507812500068,46.62109374999997],[10.4306640625,46.55004882812497],[10.409352678571473,46.6092047991071],[10.39794921875,46.66503906250006],[10.406054687500045,46.73486328124997],[10.452832031249983,46.86494140625001],[10.47939453125008,46.85512695312505],[10.579785156250011,46.85371093750001],[10.689257812500017,46.846386718749955],[10.759765625,46.79331054687498],[10.828906250000045,46.775244140625034],[10.927343750000034,46.76948242187501],[10.993261718750034,46.77700195312502],[11.02509765625004,46.796972656250006],[11.063476562500057,46.85913085937497],[11.133886718750006,46.93618164062505],[11.244433593750045,46.975683593750006],[11.433203125000063,46.983056640624994],[11.527539062500011,46.99741210937498],[11.775683593750017,46.986083984375],[12.169433593750028,47.082128906250006],[12.19716796875008,47.075],[12.201269531250034,47.060888671875034],[12.165527343750028,47.028173828125034],[12.130761718750051,46.98476562499999],[12.154101562500017,46.93525390625004],[12.267968750000023,46.83588867187504],[12.330078125,46.75981445312499],[12.388281250000034,46.70263671874997],[12.479199218749983,46.672509765624966],[13.16875,46.572656249999966],[13.3515625,46.55791015624999],[13.490039062500045,46.55556640625002],[13.7,46.52026367187503],[13.679687500000057,46.46289062499997],[13.63710937500008,46.44853515624999],[13.563281250000045,46.41508789062502],[13.399511718749977,46.31752929687502],[13.420996093750006,46.212304687499994]]]]},"properties":{"name":"Italy","childNum":6}},{"geometry":{"type":"Polygon","coordinates":[[[-77.261474609375,18.45742187499999],[-76.349853515625,18.15185546875],[-76.21079101562499,17.913525390624997],[-76.524609375,17.8662109375],[-76.85322265625,17.97373046874999],[-76.94414062499999,17.848779296874994],[-77.11948242187499,17.880078125],[-77.20498046875,17.71494140624999],[-77.36142578124999,17.833691406249997],[-77.76816406249999,17.877392578124997],[-78.04448242187499,18.173828125],[-78.339501953125,18.28720703124999],[-78.21669921875,18.44809570312499],[-77.8734375,18.522216796875],[-77.261474609375,18.45742187499999]]]},"properties":{"name":"Jamaica","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[-2.018652343749977,49.23125],[-2.23583984375,49.1763671875],[-2.220507812499989,49.266357421875],[-2.018652343749977,49.23125]]]},"properties":{"name":"Jersey","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[39.14541015625002,32.12451171875],[38.9970703125,32.007470703124994],[38.96230468750002,31.994921875],[38.37548828125,31.847460937499996],[38.111425781250006,31.781152343749994],[37.49335937500001,31.625878906249994],[37.215625,31.556103515624997],[36.95859375,31.491503906249996],[37.980078125,30.5],[37.862890625,30.442626953125],[37.66972656250002,30.34814453125],[37.64990234375,30.330957031249994],[37.63359375000002,30.31328125],[37.55361328125002,30.144580078124996],[37.49072265625,30.01171875],[37.46923828125,29.995068359374997],[36.75527343750002,29.866015625],[36.70390625000002,29.831640625],[36.591796875,29.66611328125],[36.47607421875,29.4951171875],[36.2828125,29.355371093749994],[36.068457031250006,29.200537109375],[34.95078125,29.353515625],[34.97343750000002,29.555029296875],[35.45058593750002,31.479296875],[35.57207031250002,32.237890625],[35.55146484375001,32.3955078125],[35.56904296875001,32.619873046875],[35.572851562500006,32.640869140625],[35.78730468750001,32.734912109374996],[36.3720703125,32.3869140625],[36.818359375,32.317285156249994],[38.773535156250006,33.372216796874994],[39.04140625000002,32.3056640625],[39.24746093750002,32.350976562499994],[39.29277343750002,32.24384765625],[39.14541015625002,32.12451171875]]]},"properties":{"name":"Jordan","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[123.88867187499997,24.280126953124977],[123.67978515625012,24.317773437500023],[123.77148437499997,24.41445312499999],[123.93486328125002,24.362011718749983],[123.88867187499997,24.280126953124977]]],[[[124.29316406250004,24.515917968750074],[124.13574218750003,24.347607421874983],[124.08476562500002,24.435839843750017],[124.30195312500004,24.58710937500001],[124.29316406250004,24.515917968750074]]],[[[125.44414062500002,24.7431640625],[125.26894531250005,24.732519531250063],[125.28359375,24.871923828125034],[125.44414062500002,24.7431640625]]],[[[128.25878906249997,26.65278320312501],[127.86708984375,26.442480468749977],[127.80361328125005,26.152539062499983],[127.653125,26.0947265625],[127.90722656250003,26.69360351562497],[128.09765624999997,26.66777343749996],[128.25488281249997,26.88188476562496],[128.25878906249997,26.65278320312501]]],[[[128.99814453125012,27.720800781250006],[128.90000000000012,27.727783203125],[128.9076171875,27.897998046875045],[128.99814453125012,27.720800781250006]]],[[[129.45253906250005,28.20898437499997],[129.3664062500001,28.127734375000045],[129.16464843750012,28.24975585937503],[129.68955078125012,28.517480468750023],[129.45253906250005,28.20898437499997]]],[[[130.6227539062501,30.262988281250017],[130.44560546875002,30.264697265625017],[130.38808593750005,30.38818359375003],[130.49716796875006,30.465527343749983],[130.64355468749997,30.388964843750017],[130.6227539062501,30.262988281250017]]],[[[130.95976562500007,30.39692382812504],[130.87031250000004,30.444238281249994],[131.06035156250007,30.828466796875006],[130.95976562500007,30.39692382812504]]],[[[130.38105468750004,32.42373046875002],[130.24169921874997,32.462792968749994],[130.46142578124997,32.515722656250034],[130.38105468750004,32.42373046875002]]],[[[130.08251953124997,32.22968750000001],[129.9601562500001,32.24375],[130.00976562499997,32.521630859374994],[130.16777343750002,32.54121093749998],[130.19951171875002,32.34057617187506],[130.08251953124997,32.22968750000001]]],[[[128.66533203125002,32.783886718749955],[128.89453124999997,32.65214843750002],[128.69296875000012,32.60473632812506],[128.66533203125002,32.783886718749955]]],[[[129.07695312500002,32.84028320312498],[128.99726562500004,32.95185546874998],[129.10976562500005,33.13256835937503],[129.18193359375002,32.99311523437504],[129.07695312500002,32.84028320312498]]],[[[129.49179687500006,33.22304687499999],[129.37041015625002,33.176025390625],[129.56992187500006,33.36103515625004],[129.49179687500006,33.22304687499999]]],[[[129.79570312500007,33.74882812499999],[129.67480468749997,33.73969726562498],[129.71728515624997,33.8583984375],[129.79570312500007,33.74882812499999]]],[[[131.17460937500007,33.602587890625045],[131.69628906250003,33.60283203124999],[131.53740234375007,33.274072265624994],[131.89658203125006,33.25458984375001],[131.8478515625001,33.118066406249994],[132.0021484375001,32.882373046875045],[131.6603515625001,32.465625],[131.33720703125007,31.4046875],[131.07080078124997,31.436865234374977],[131.09843750000002,31.256152343750017],[130.68574218750004,31.01513671875003],[130.77626953125,31.70629882812497],[130.65507812500002,31.71840820312505],[130.5560546875,31.563085937500034],[130.58876953125,31.178515625000017],[130.20068359374997,31.291894531250023],[130.14726562500002,31.40849609374996],[130.2941406250001,31.45068359375003],[130.3219726562501,31.601464843750023],[130.18789062500005,31.768847656250017],[130.19443359375012,32.090771484374955],[130.64052734375005,32.61923828124998],[130.49785156250002,32.65693359375001],[130.547265625,32.83159179687499],[130.2375,33.177636718749966],[130.12685546875005,33.10483398437506],[130.175,32.851318359375],[130.32646484375002,32.852636718750006],[130.34042968750012,32.70185546875004],[130.05410156250005,32.770800781250045],[129.76855468749997,32.57099609375001],[129.82675781250006,32.72534179687503],[129.67910156250005,33.059960937499966],[129.99169921875003,32.85156249999997],[129.58007812500003,33.23627929687501],[129.61015625000002,33.34365234375005],[129.844140625,33.32177734375003],[129.82568359374997,33.43701171875006],[130.36503906250007,33.634472656249955],[130.4837890625,33.834619140624966],[130.715625,33.92778320312502],[130.953125,33.87202148437504],[131.17460937500007,33.602587890625045]]],[[[132.266015625,33.945166015625006],[132.44492187500006,33.91318359374998],[132.20878906250007,33.87285156250002],[132.266015625,33.945166015625006]]],[[[129.27949218750004,34.123388671875006],[129.18642578125,34.14501953125006],[129.21484374999997,34.320654296875034],[129.3371093750001,34.284765625],[129.27949218750004,34.123388671875006]]],[[[134.35742187500003,34.25634765625],[134.6375,34.22661132812499],[134.73886718750012,33.82050781250001],[134.37705078125012,33.60839843749997],[134.18164062500003,33.24721679687502],[133.95869140625004,33.44833984375006],[133.63203125000004,33.51098632812503],[133.28593750000007,33.35996093749998],[132.97724609375004,32.84199218749998],[132.80429687500006,32.75200195312502],[132.6417968750001,32.76245117187503],[132.70898437500003,32.90249023437505],[132.49511718749997,32.91660156249998],[132.41279296875004,33.43046875],[132.0326171875,33.339990234374994],[132.64306640624997,33.68994140624997],[132.93515625000006,34.09531250000006],[133.19306640625004,33.93320312499998],[133.58203124999997,34.01713867187502],[133.60263671875006,34.24384765625001],[133.94833984375006,34.34804687500002],[134.35742187500003,34.25634765625]]],[[[134.35185546875002,34.48364257812503],[134.25185546875,34.42304687500004],[134.18212890625003,34.51923828124998],[134.35185546875002,34.48364257812503]]],[[[134.9328125000001,34.28813476562499],[134.82441406250004,34.202929687500045],[134.66787109375005,34.294140624999955],[135.00468750000002,34.54404296874998],[134.9328125000001,34.28813476562499]]],[[[129.38564453125,34.35366210937502],[129.26669921875012,34.37045898437506],[129.45107421875005,34.68657226562499],[129.38564453125,34.35366210937502]]],[[[133.37050781250005,36.203857421875],[133.23925781249997,36.178759765625045],[133.20615234375006,36.293408203124955],[133.29570312500002,36.34013671874996],[133.37050781250005,36.203857421875]]],[[[138.34404296875007,37.822119140625006],[138.22519531250006,37.82939453124996],[138.25,38.078466796875006],[138.50361328125004,38.31591796875006],[138.45361328124997,38.07568359375006],[138.57519531249997,38.065527343750034],[138.34404296875007,37.822119140625006]]],[[[141.22929687500007,41.37265625],[141.45546875000005,41.404736328124955],[141.43046875000002,40.72333984374998],[141.7970703125001,40.29116210937502],[141.97695312500005,39.428808593750034],[141.90078125,39.111328125],[141.5462890625,38.762841796874966],[141.4674804687501,38.404150390625006],[141.10839843750003,38.33793945312502],[140.9621093750001,38.148876953124955],[141.00166015625004,37.11464843750002],[140.57353515625007,36.23134765625002],[140.87402343749997,35.72495117187506],[140.457421875,35.51025390625],[140.35468750000004,35.18144531249999],[139.8439453125001,34.914892578125034],[139.82646484375002,35.29667968750002],[140.096875,35.58515624999998],[139.83476562500002,35.658056640625006],[139.65000000000012,35.40913085937501],[139.675,35.149267578125006],[139.47441406250002,35.298535156249955],[139.24941406250005,35.27802734375004],[139.08603515625006,34.83916015624999],[138.8375,34.619238281250034],[138.80273437499997,34.97480468749998],[138.90361328125002,35.02524414062506],[138.71962890625,35.12407226562502],[138.18906250000012,34.596337890624994],[137.543359375,34.66420898437505],[137.06171875000004,34.58281249999999],[137.27519531250002,34.77250976562499],[136.96328125000005,34.83491210937501],[136.87128906250004,34.733105468749955],[136.89707031250006,35.03554687500002],[136.80419921874997,35.05029296875],[136.53300781250007,34.678369140624994],[136.8802734375,34.43359375000006],[136.8537109375001,34.324072265625034],[136.32988281250007,34.17685546875006],[135.91621093750004,33.561718749999955],[135.69531250000003,33.48696289062502],[135.4528320312501,33.55336914062505],[135.12792968749997,34.006982421874994],[135.10009765624997,34.288378906250045],[135.41591796875,34.61748046875002],[134.74003906250007,34.765234375],[134.246875,34.71386718750003],[133.96826171874997,34.52729492187504],[133.14238281250002,34.30244140624998],[132.65654296875007,34.24609375000003],[132.31259765625006,34.32495117187503],[132.14648437499997,33.83876953125002],[131.74052734375007,34.05205078125002],[130.91884765625,33.97573242187502],[130.88925781250012,34.261816406250034],[131.00419921875007,34.39257812500003],[131.35439453125,34.41318359375006],[132.92294921875006,35.511279296875045],[133.98125,35.50722656250002],[135.17431640625003,35.74707031250003],[135.32695312500002,35.52553710937502],[135.68027343750006,35.503125],[135.903125,35.60688476562498],[136.09531250000006,35.767626953125045],[136.06748046875006,36.11684570312505],[136.69814453125005,36.742041015625034],[136.84345703125004,37.38212890624999],[137.32265625,37.52207031249998],[136.89990234375003,37.11767578125],[137.01669921875006,36.83720703124999],[137.24628906250004,36.753173828125],[137.5140625,36.95156250000002],[138.31992187500012,37.21840820312502],[138.88505859375007,37.84394531250001],[139.36386718750006,38.09902343750002],[139.80195312500004,38.881591796875],[140.06474609375002,39.624414062499994],[139.99472656250006,39.855078125],[139.74150390625002,39.92084960937498],[140.01113281250005,40.26035156250006],[139.92285156250003,40.59843750000002],[140.28125,40.84609375000002],[140.3444335937501,41.203320312499955],[140.62763671875004,41.195410156250034],[140.74863281250012,40.830322265625],[140.93603515625003,40.940771484375034],[141.1185546875,40.88227539062501],[141.24423828125006,41.20561523437499],[140.80058593750002,41.138818359374966],[140.80185546875012,41.253662109375],[140.9369140625,41.50556640624998],[141.22929687500007,41.37265625]]],[[[139.48125,42.08100585937498],[139.43134765625004,42.19956054687498],[139.55839843750002,42.235205078125034],[139.48125,42.08100585937498]]],[[[141.29541015625003,45.11933593750001],[141.14531250000002,45.153906250000034],[141.19375,45.24785156249999],[141.29541015625003,45.11933593750001]]],[[[141.07275390624997,45.33286132812498],[141.03398437500007,45.26933593750002],[140.97167968749997,45.465478515624994],[141.07275390624997,45.33286132812498]]],[[[143.82431640625012,44.11699218749999],[144.71523437500005,43.92797851562503],[145.36953125000005,44.32739257812506],[145.13964843750003,43.6625],[145.34082031249997,43.30253906249999],[145.83300781249997,43.38593750000001],[144.92138671874997,43.00092773437498],[143.96933593750006,42.88139648437499],[143.42949218750002,42.41889648437498],[143.2365234375001,42.000195312499955],[141.85136718750007,42.57905273437501],[141.40664062500005,42.54692382812496],[140.98613281250002,42.34213867187498],[140.70976562500002,42.555615234374955],[140.48046875000003,42.559375],[140.32666015625003,42.29335937499999],[141.15097656250012,41.80507812499999],[140.99951171874997,41.73740234375006],[140.65986328125004,41.815576171874994],[140.3849609375001,41.51928710937503],[140.08515625000004,41.43408203125],[139.99531250000004,41.57641601562503],[140.10839843749997,41.912939453125034],[139.83544921874997,42.278076171875],[139.86015625000002,42.58173828125004],[140.43222656250012,42.95410156250006],[140.39238281250002,43.303125],[141.13818359374997,43.17993164062506],[141.37412109375006,43.279638671875006],[141.7609375000001,44.482519531250034],[141.58300781250003,45.15595703125001],[141.66796874999997,45.401269531249966],[141.93769531250004,45.509521484375],[142.88476562499997,44.670117187499955],[143.82431640625012,44.11699218749999]]]]},"properties":{"name":"Japan","childNum":28}},{"geometry":{"type":"Polygon","coordinates":[[[77.04863281249999,35.109912109374996],[76.927734375,35.346630859375],[76.88222656250002,35.4357421875],[76.81279296874999,35.571826171874996],[76.76689453124999,35.66171875],[76.87890625,35.61328125],[77.09003906250001,35.552050781249996],[77.29482421875002,35.508154296875],[77.44648437500001,35.4755859375],[77.57255859374999,35.471826171874994],[77.72402343750002,35.48056640625],[77.79941406250003,35.495898437499996],[77.42343750000003,35.302587890625],[77.16855468750003,35.171533203124994],[77.04863281249999,35.109912109374996]]]},"properties":{"name":"Siachen Glacier","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[50.184472656249994,44.854638671874994],[49.99511718750003,44.93696289062498],[50.10986328124997,45.08193359375002],[50.038867187500074,44.949121093749966],[50.184472656249994,44.854638671874994]]],[[[87.32285156250012,49.085791015625006],[86.8083007812501,49.04970703125002],[86.54941406250012,48.52861328125002],[85.7494140625,48.38505859374999],[85.52597656250006,47.915625],[85.65664062500005,47.254638671875],[85.484765625,47.06352539062496],[84.78613281249997,46.83071289062505],[84.66660156250006,46.97236328125004],[84.016015625,46.97050781250002],[83.02949218750004,47.18593750000002],[82.31523437500002,45.59492187499998],[82.61162109375007,45.424267578124955],[82.52148437500003,45.12548828125],[82.26660156249997,45.21909179687498],[81.94492187500006,45.16083984375001],[81.69199218750012,45.34936523437497],[80.05917968750012,45.006445312500006],[79.871875,44.88378906249997],[80.48154296875006,44.71464843749999],[80.35527343750002,44.09726562500006],[80.78574218750006,43.16157226562504],[80.39023437500006,43.043115234374966],[80.53896484375005,42.873486328124955],[80.20224609375012,42.73447265624998],[80.209375,42.190039062500006],[80.07128906249997,42.302978515625],[79.92109375000004,42.41313476562496],[79.49013671875,42.45756835937496],[79.42822265624997,42.483496093750006],[79.20302734375005,42.66601562499997],[79.16484375000007,42.759033203125],[79.1266601562501,42.775732421875034],[76.98808593750007,42.97358398437501],[76.64648437500003,42.928808593750034],[76.50917968750005,42.91889648437498],[75.9322265625,42.92851562499999],[75.84033203125003,42.9375],[75.78955078124997,42.93291015624999],[75.68173828125,42.83046875],[75.04765625000007,42.904394531250034],[74.20908203125006,43.24038085937502],[73.88603515625002,43.132568359375],[73.55625,43.002783203125006],[73.45019531249997,42.703027343749966],[73.421875,42.59350585937503],[73.49296875000007,42.409033203125034],[73.41162109375003,42.41977539062498],[73.316015625,42.46699218750001],[73.2829101562501,42.50410156250004],[72.85507812500006,42.561132812500006],[72.75292968750003,42.63789062500001],[72.54316406250004,42.67773437500006],[72.27578125,42.757666015625006],[71.76054687500002,42.82148437500004],[71.5142578125,42.766943359375006],[71.42207031250004,42.78315429687504],[71.25664062500002,42.733544921874966],[70.89287109375007,42.339990234374994],[70.94677734374997,42.24868164062505],[69.15361328125002,41.42524414062498],[68.58408203125,40.876269531250045],[68.57265625,40.62265624999998],[68.29189453125,40.656103515625034],[68.04765625000007,40.80927734374998],[68.11308593750007,41.02861328124999],[67.9357421875001,41.19658203125002],[66.70966796875004,41.17915039062501],[66.49863281250006,41.99487304687503],[66.00957031250007,42.00488281250003],[66.1002929687501,42.99082031249998],[65.80302734375002,42.87695312500006],[65.49619140625,43.310546875],[64.9054687500001,43.714697265625006],[64.44316406250007,43.55117187499999],[63.20703125000003,43.62797851562502],[61.99023437500003,43.492138671874955],[61.007910156250006,44.39379882812497],[58.555273437500006,45.55537109375001],[55.97568359375006,44.99492187499996],[55.97744140625005,41.32221679687504],[55.434375,41.296289062499994],[54.85380859375002,41.965185546875006],[54.120996093749994,42.335205078125],[53.0558593750001,42.14775390624999],[52.4938476562501,41.780371093750034],[52.59658203125005,42.760156249999966],[51.898242187500074,42.86962890624997],[51.61601562500002,43.15844726562503],[51.29541015624997,43.17412109375002],[51.30175781249997,43.48237304687501],[50.8307617187501,44.192773437499966],[50.331152343750006,44.32548828125002],[50.25292968749997,44.461523437500006],[50.409472656250074,44.6240234375],[51.543554687500006,44.53100585937506],[51.009375,44.92182617187501],[51.4157226562501,45.35786132812501],[53.20039062500004,45.33198242187498],[52.77382812499999,45.57275390625],[53.13525390625003,46.19165039062497],[53.069433593750006,46.85605468750006],[52.48320312500002,46.99067382812504],[52.13828125,46.82861328124997],[51.178027343750074,47.110156250000045],[49.886328125,46.59565429687504],[49.347460937500074,46.51914062499998],[49.232226562500074,46.33715820312503],[48.54121093750004,46.60561523437502],[48.558398437500074,46.75712890624999],[48.959375,46.77460937499998],[48.16699218750003,47.70878906249996],[47.48193359374997,47.80390624999998],[47.292382812499994,47.74091796875004],[47.06464843750004,48.23247070312499],[46.660937500000074,48.41225585937502],[46.70263671875003,48.80556640625002],[47.031347656250006,49.150292968749994],[46.80205078125002,49.36708984375002],[46.889550781249994,49.69697265625001],[47.42919921874997,50.35795898437502],[47.7057617187501,50.37797851562502],[48.33496093750003,49.858251953125006],[48.7589843750001,49.92832031250006],[48.625097656250006,50.61269531250005],[49.32343750000004,50.851708984374966],[49.49804687500003,51.08359375000006],[50.246875,51.28950195312498],[50.79394531249997,51.729199218749955],[51.16347656250005,51.6474609375],[51.344531250000074,51.47534179687503],[52.21914062499999,51.709375],[52.57119140625005,51.481640624999955],[53.33808593750004,51.48237304687504],[54.139746093750006,51.04077148437503],[54.555273437500006,50.535791015624994],[54.64160156250003,51.011572265625034],[55.68623046875004,50.582861328125006],[56.49140625000004,51.01953124999997],[57.01171874999997,51.06518554687503],[57.44218750000002,50.88886718749998],[57.83886718750003,51.091650390625006],[58.359179687500074,51.063818359375034],[58.88369140625005,50.694433593750006],[59.4523437500001,50.62041015625002],[59.523046875,50.492871093749955],[59.812402343749994,50.58203125],[60.05859374999997,50.850292968749955],[60.42480468749997,50.67915039062498],[60.94228515625005,50.69550781250004],[61.38945312500002,50.86103515625001],[61.55468750000003,51.32460937500005],[60.464746093749994,51.651171875000045],[60.03027343749997,51.93325195312505],[60.99453125000005,52.33686523437504],[60.77441406249997,52.67578124999997],[61.047460937500006,52.97246093750002],[62.08271484375004,53.00541992187499],[61.65986328125004,53.22846679687504],[61.19921874999997,53.28715820312502],[61.22890625,53.445898437500006],[61.53496093750002,53.52329101562506],[60.97949218749997,53.62172851562505],[61.231054687500006,54.01948242187498],[61.92871093750003,53.94648437500004],[64.46123046875002,54.38417968750002],[65.08837890624997,54.340185546875034],[65.476953125,54.62329101562497],[68.15585937500006,54.97670898437505],[68.20625,55.16093750000002],[68.9772460937501,55.389599609374955],[70.18242187500002,55.162451171875034],[70.73808593750007,55.30517578125],[71.18554687500003,54.59931640624998],[71.09316406250005,54.21220703124999],[72.00449218750006,54.20566406249998],[72.18603515625003,54.32563476562501],[72.44677734375003,53.94184570312498],[72.62226562500004,54.13432617187502],[73.22988281250005,53.957812500000045],[73.71240234375003,54.04238281250002],[73.30566406250003,53.707226562499955],[73.40693359375004,53.44755859374999],[73.85898437500006,53.61972656249998],[74.35156250000003,53.487646484375006],[74.45195312500007,53.64726562500002],[75.22021484374997,53.89379882812506],[75.43720703125004,54.08964843749999],[76.8373046875,54.4423828125],[76.65458984375007,54.14526367187503],[76.42167968750007,54.151513671874966],[76.48476562500005,54.02255859374998],[77.85996093750006,53.269189453124994],[79.98623046875,50.774560546874966],[80.42363281250002,50.94628906249997],[80.44804687500002,51.18334960937503],[80.73525390625,51.29340820312498],[81.12724609375002,51.19106445312502],[81.0714843750001,50.96875],[81.38828125000006,50.95649414062501],[81.46591796875006,50.73984375],[82.49394531250007,50.72758789062499],[82.76083984375012,50.89335937500002],[83.35732421875005,50.99458007812504],[83.94511718750007,50.774658203125],[84.32324218749997,50.239160156249966],[84.9894531250001,50.061425781249994],[85.2326171875001,49.61582031249998],[86.1808593750001,49.49931640624996],[86.67548828125004,49.77729492187501],[86.62646484374997,49.56269531250001],[87.32285156250012,49.085791015625006]]]]},"properties":{"name":"Kazakhstan","childNum":2}},{"geometry":{"type":"Polygon","coordinates":[[[35.325292968750006,5.364892578124994],[35.745019531249994,5.343994140625],[35.80029296874997,5.156933593749983],[35.77929687499997,5.105566406250006],[35.756152343750074,4.950488281250031],[35.76308593750005,4.808007812500051],[36.02197265625003,4.468115234374991],[36.90556640625002,4.411474609374991],[37.15458984375002,4.254541015624994],[37.944921875,3.746728515625023],[38.0861328125001,3.648828124999966],[38.22529296875004,3.61899414062502],[38.45156250000005,3.604833984374977],[38.608007812500006,3.600097656249986],[39.49443359375002,3.45610351562496],[39.65751953125002,3.577832031249983],[39.79033203125002,3.754248046875034],[39.8421875,3.851464843750037],[40.765234375,4.273046875000034],[41.02080078125002,4.057470703124991],[41.22089843750004,3.943554687499969],[41.372460937499994,3.94619140624998],[41.48193359375003,3.96328125],[41.737695312499994,3.979052734375003],[41.88398437500004,3.977734375000011],[41.6134765625001,3.59047851562498],[41.34179687499997,3.20166015625],[40.964453125,2.814648437500026],[40.9787109375001,-0.870312500000011],[41.249804687500074,-1.220507812499946],[41.4269531250001,-1.449511718749974],[41.521875,-1.572265625000028],[41.53271484374997,-1.695312499999957],[41.26748046875005,-1.945019531250026],[40.889746093750006,-2.023535156250034],[40.89824218750002,-2.269921874999966],[40.64414062500006,-2.53945312499998],[40.22246093750002,-2.688378906250037],[40.1154296875001,-3.250585937499991],[39.8609375,-3.576757812500006],[39.49091796875004,-4.478417968750023],[39.221777343750006,-4.692382812500014],[37.608203125000074,-3.497070312500028],[37.643847656250074,-3.045410156250028],[33.90322265625005,-1.002050781250034],[33.94316406250002,0.173779296874969],[34.160937500000074,0.605175781250026],[34.4108398437501,0.867285156250034],[34.48173828125002,1.042138671875051],[34.79863281250002,1.24453125],[34.976464843749994,1.719628906250051],[34.97753906249997,1.861914062499991],[34.9640625000001,2.06240234374998],[34.8830078125001,2.417919921875026],[34.90576171875003,2.4796875],[34.44785156250006,3.163476562500037],[34.40722656249997,3.357519531250034],[34.39941406249997,3.412695312500006],[34.44179687499999,3.60625],[34.43769531250004,3.650585937499969],[34.392871093750074,3.691503906250048],[34.26708984375003,3.733154296875],[34.16503906250003,3.812988281250014],[34.18574218750004,3.869775390625037],[34.13203125000004,3.889160156249986],[33.97607421874997,4.220214843750028],[34.176855468750006,4.419091796875037],[34.38017578125002,4.620654296874974],[34.6398437500001,4.875488281250028],[34.878320312499994,5.109570312500026],[35.08447265624997,5.31186523437502],[35.268359375000074,5.492285156250006],[35.325292968750006,5.364892578124994]]]},"properties":{"name":"Kenya","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[72.63994140625002,39.385986328125],[72.22998046875,39.20751953125],[72.14736328125002,39.2607421875],[72.08417968750001,39.31064453125],[72.04277343750002,39.3521484375],[71.77861328125002,39.277978515624994],[71.73222656250002,39.422998046874994],[71.50332031250002,39.478808593749996],[71.51738281250002,39.553857421874994],[71.50302734375,39.582177734374994],[71.4703125,39.603662109374994],[70.79931640625,39.3947265625],[70.50117187500001,39.587353515625],[69.29765625000002,39.524804687499994],[69.2447265625,39.827099609375],[69.27880859375,39.917773437499996],[69.3072265625,39.968554687499996],[69.36542968750001,39.947070312499996],[69.43193359375002,39.909765625],[69.47626953125001,39.919726562499996],[69.47099609375002,39.990625],[69.46875,40.020751953125],[69.966796875,40.20224609375],[70.59921875,39.974511718749994],[70.990625,40.2548828125],[71.3046875,40.286914062499996],[71.69248046875,40.15234375],[72.13125,40.438623046874994],[72.3892578125,40.427392578124994],[72.40205078125001,40.578076171875],[72.6041015625,40.525439453124996],[73.13212890625002,40.82851562499999],[72.65830078125,40.869921875],[72.36406250000002,41.04345703125],[72.294921875,41.039941406249994],[72.21308593750001,41.0142578125],[72.18730468750002,41.025927734374996],[72.18095703125002,41.118457031249996],[72.16425781250001,41.173730468749994],[72.11542968750001,41.186572265624996],[72.05244140625001,41.16474609375],[71.95849609375,41.187060546874996],[71.87861328125001,41.19501953125],[71.8580078125,41.311376953125],[71.79248046875,41.413134765624996],[71.75771484375002,41.428027343749996],[71.70068359375,41.454003906249994],[71.66494140625002,41.5412109375],[71.6375,41.5341796875],[71.60224609375001,41.503271484375],[71.60625,41.367431640625],[71.54560546875001,41.308056640625],[71.5,41.307470703125],[71.4208984375,41.34189453125],[71.40839843750001,41.136035156249996],[71.39306640625,41.123388671875],[71.11074218750002,41.152636718749996],[70.86044921875,41.224902343749996],[70.734375,41.400537109374994],[70.18095703125002,41.571435546874994],[70.85664062500001,42.030810546874996],[71.0322265625,42.077783203124994],[71.228515625,42.162890625],[71.23232421875002,42.186279296875],[71.21269531250002,42.206445312499994],[71.12998046875,42.25],[71.03603515625002,42.28466796875],[70.97900390625,42.266552734375],[70.94677734375,42.248681640624994],[70.89287109375002,42.339990234374994],[71.25664062500002,42.733544921874994],[71.42207031250001,42.783154296875],[71.5142578125,42.766943359375],[71.76054687500002,42.821484375],[72.16181640625001,42.760693359375],[72.27578125000002,42.757666015625],[72.54316406250001,42.677734375],[72.7529296875,42.637890625],[72.855078125,42.5611328125],[73.28291015625001,42.5041015625],[73.316015625,42.4669921875],[73.41162109375,42.419775390625],[73.49296875000002,42.409033203125],[73.421875,42.593505859375],[73.4501953125,42.703027343749994],[73.55625,43.002783203125],[73.88603515625002,43.132568359375],[74.20908203125,43.240380859374994],[75.04765625000002,42.90439453125],[75.68173828125,42.83046875],[75.78955078125,42.932910156249996],[75.84033203125,42.9375],[75.9322265625,42.928515625],[76.50917968750002,42.918896484375],[76.646484375,42.92880859375],[76.98808593749999,42.973583984375],[79.12666015625001,42.775732421875],[79.20302734375002,42.666015625],[79.29550781250003,42.604833984375],[79.36777343750003,42.547216796875],[79.42822265625,42.48349609375],[79.92109375000001,42.413134765624996],[80.0712890625,42.302978515625],[80.209375,42.1900390625],[80.24619140625003,42.059814453125],[80.23515624999999,42.04345703125],[80.21621093750002,42.032421875],[79.90966796875,42.014990234375],[79.84042968750003,41.995751953124994],[79.76611328125,41.898876953125],[78.74257812500002,41.56005859375],[78.54316406250001,41.4595703125],[78.44287109375,41.417529296874996],[78.36240234375003,41.371630859374996],[78.34628906250003,41.2814453125],[78.12343750000002,41.075634765625],[77.95644531250002,41.050683593749994],[77.81523437499999,41.055615234375],[77.71933593750003,41.024316406249994],[77.58173828125001,40.9927734375],[76.98662109374999,41.03916015625],[76.90771484375,41.024169921875],[76.82402343749999,40.982324218749994],[76.70839843750002,40.818115234375],[76.6611328125,40.779638671875],[76.63984375000001,40.742236328124996],[76.62216796875003,40.662353515625],[76.57792968749999,40.577880859375],[76.48017578125001,40.449511718749996],[76.39638671875002,40.389794921874994],[76.31855468750001,40.35224609375],[76.25830078125,40.43076171875],[75.87197265625002,40.30322265625],[75.67714843750002,40.305810546874994],[75.55556640625002,40.6251953125],[75.52080078125002,40.6275390625],[75.24101562500002,40.480273437499996],[75.111328125,40.4541015625],[75.0044921875,40.449511718749996],[74.865625,40.493505859375],[74.80126953125,40.428515625],[74.83046875000002,40.32851562499999],[74.41191406250002,40.13720703125],[74.24267578125,40.092041015625],[74.08515625000001,40.07431640625],[73.99160156250002,40.043115234374994],[73.93876953125002,39.978808593749996],[73.88457031250002,39.8779296875],[73.85625,39.828662109374996],[73.83535156250002,39.800146484375],[73.83974609375002,39.762841796874994],[73.88251953125001,39.71455078125],[73.9146484375,39.606494140624996],[73.90712890625002,39.57851562499999],[73.87275390625001,39.53330078125],[73.82294921875001,39.48896484375],[73.71572265625002,39.462255859375],[73.63164062500002,39.448876953124994],[73.47041015625001,39.460595703124994],[73.38740234375001,39.442724609375],[73.33613281250001,39.412353515625],[73.2349609375,39.374560546874996],[73.10927734375002,39.3619140625],[72.63994140625002,39.385986328125]],[[70.66416015625,39.85546875],[70.56708984375001,39.866601562499994],[70.49775390625001,39.882421875],[70.48281250000002,39.882714843749994],[70.4892578125,39.863037109375],[70.5595703125,39.790917968749994],[70.61210937500002,39.786767578124994],[70.70166015625,39.82529296875],[70.66416015625,39.85546875]],[[71.20615234375,39.892578125],[71.22871093750001,40.048144531249996],[71.08037109375002,40.079882812499996],[71.02412109375001,40.149169921875],[71.00546875,40.152294921875],[70.96064453125001,40.08798828125],[71.04482421875002,39.992529296875],[71.04365234375001,39.976318359375],[71.01171875,39.8951171875],[71.06425781250002,39.884912109374994],[71.15625,39.883447265624994],[71.20615234375,39.892578125]]]},"properties":{"name":"Kyrgyzstan","childNum":3}},{"geometry":{"type":"Polygon","coordinates":[[[104.42636718750006,10.411230468749991],[103.87050781250005,10.655126953125034],[103.58710937500004,10.552197265625026],[103.54042968750005,10.668701171875043],[103.721875,10.890136718750043],[103.5324218750001,11.146679687499997],[103.35361328125006,10.921582031250054],[103.15283203124997,10.913720703125051],[103.12548828124997,11.460644531250011],[102.9486328125,11.773486328124974],[102.93388671875002,11.706689453125037],[102.73662109375007,12.089794921875011],[102.75566406250002,12.42626953125],[102.49960937500012,12.669970703125003],[102.33632812500005,13.560302734375014],[102.546875,13.585693359375043],[102.90927734375006,14.136718750000028],[103.19941406250004,14.332617187499977],[104.77900390625004,14.427832031250006],[105.07412109375005,14.227441406250037],[105.12597656250003,14.280957031250011],[105.16914062500004,14.336083984374966],[105.1833007812501,14.346240234374989],[105.18554687500003,14.319091796874972],[105.20703125000003,14.259375],[105.24570312500006,14.200537109374977],[105.35019531250006,14.109570312500011],[105.53154296875007,14.156152343749994],[105.73974609375003,14.084960937500057],[105.83144531250005,13.976611328125003],[105.9044921875001,13.924511718750054],[106.06679687500005,13.921191406250003],[106.12470703125004,14.049121093750031],[106.09667968749997,14.127099609375023],[106.00410156250004,14.262890624999983],[105.97890625,14.343017578125043],[106.00839843750012,14.357177734375],[106.1652343750001,14.372363281249989],[106.19072265625007,14.388134765624997],[106.22539062500002,14.476220703125009],[106.26796875,14.466210937500009],[106.35498046875003,14.454785156249997],[106.44697265625004,14.515039062500009],[106.50146484375003,14.578222656250006],[106.53115234375005,14.549414062499991],[106.5636718750001,14.505078125000026],[106.59921875000006,14.479394531250037],[106.66542968750005,14.441308593749994],[106.73818359375005,14.387744140625017],[106.78349609375002,14.335107421875037],[106.81992187500006,14.314697265625057],[106.91318359375006,14.329394531250031],[106.93808593750006,14.327343750000054],[106.99218750000003,14.391015624999966],[107.03017578125,14.425683593750009],[107.06240234375,14.415771484375043],[107.109375,14.416699218750054],[107.29267578125004,14.592382812500048],[107.37988281250003,14.555322265625051],[107.41474609375004,14.56289062499999],[107.51943359375005,14.705078125],[107.3314453125,14.126611328125009],[107.60546874999997,13.437792968750017],[107.47539062500002,13.030371093749963],[107.50644531250006,12.364550781250031],[107.39335937500002,12.260498046874972],[107.21210937500004,12.30400390624996],[106.70009765625,11.979296874999974],[106.41386718750002,11.9484375],[106.39921875000007,11.687011718750028],[106.0060546875001,11.758007812500011],[105.85146484375005,11.635009765625],[105.85605468750006,11.294287109375048],[106.16093750000002,11.037109375000057],[106.16396484375005,10.794921875],[105.85332031250007,10.86357421874996],[105.75507812500004,10.989990234375043],[105.40576171875003,10.95161132812504],[105.3146484375001,10.845166015625026],[105.04570312500002,10.911376953125014],[105.04638671874997,10.701660156250014],[104.85058593749997,10.534472656249974],[104.42636718750006,10.411230468749991]]]},"properties":{"name":"Cambodia","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[-157.34213867187503,1.855566406250034],[-157.17578125,1.73984375],[-157.57895507812498,1.902050781249997],[-157.43583984374993,1.84726562500002],[-157.365185546875,1.94609375],[-157.44189453125003,2.025048828125009],[-157.321875,1.968554687500045],[-157.34213867187503,1.855566406250034]]],[[[-159.3390625,3.923535156249983],[-159.27475585937503,3.796582031250054],[-159.40903320312503,3.87324218750004],[-159.3390625,3.923535156249983]]]]},"properties":{"name":"Kiribati","childNum":2}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[126.32695312500002,33.2236328125],[126.16562500000012,33.31201171875],[126.33769531250002,33.46040039062501],[126.90117187500002,33.51513671874997],[126.87285156250002,33.34116210937498],[126.32695312500002,33.2236328125]]],[[[126.23369140625002,34.370507812499994],[126.12285156250002,34.443945312500034],[126.34384765625012,34.544921875],[126.23369140625002,34.370507812499994]]],[[[126.17197265625006,34.73115234375001],[126.00751953125004,34.86748046874999],[126.07841796875002,34.914843750000045],[126.17197265625006,34.73115234375001]]],[[[128.0658203125,34.80585937500004],[128.05468750000003,34.70805664062502],[127.87343750000005,34.73496093749998],[127.8322265625001,34.87451171875],[128.0658203125,34.80585937500004]]],[[[128.74101562500007,34.798535156249955],[128.64667968750004,34.73686523437502],[128.48925781250003,34.86528320312496],[128.66796875000003,35.0087890625],[128.74101562500007,34.798535156249955]]],[[[126.52070312500004,37.73681640625003],[126.516015625,37.60468750000001],[126.42333984375003,37.62363281250006],[126.41162109374997,37.82265625000002],[126.52070312500004,37.73681640625003]]],[[[128.37460937500012,38.6234375],[129.41826171875002,37.059033203124955],[129.40351562500004,36.052148437499994],[129.57285156250006,36.05053710937503],[129.4191406250001,35.49785156249996],[129.07675781250006,35.12270507812502],[128.5109375000001,35.10097656250002],[128.44394531250012,34.87036132812503],[128.03623046875006,35.02197265625],[127.71484374999997,34.95468749999998],[127.71542968750012,34.72104492187498],[127.40429687499997,34.823095703125006],[127.47910156250012,34.625244140625],[127.324609375,34.463281249999966],[127.17343750000006,34.54614257812497],[127.24707031249997,34.755126953125],[126.89746093749997,34.438867187499966],[126.75478515625005,34.511865234374994],[126.53144531250004,34.31425781249999],[126.26445312500002,34.67324218750002],[126.52451171875006,34.697900390624966],[126.59335937500012,34.824365234374994],[126.42070312500002,34.823388671874966],[126.29111328125012,35.154150390625034],[126.61406250000007,35.57099609375004],[126.4884765625001,35.647070312500006],[126.75302734375006,35.871972656249994],[126.5404296875,36.166162109374966],[126.4876953125,36.69379882812498],[126.18085937500004,36.69160156249998],[126.16054687500005,36.77192382812501],[126.48701171875004,37.00747070312502],[126.78447265625007,36.94843749999998],[126.87207031249997,36.82446289062506],[126.97685546875002,36.93940429687501],[126.74638671875002,37.19355468750001],[126.63388671875012,37.78183593750006],[127.09033203125003,38.28388671875001],[128.03896484375,38.30854492187498],[128.37460937500012,38.6234375]]]]},"properties":{"name":"Korea","childNum":7}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[48.27539062499997,29.624316406250017],[48.17968750000003,29.611425781250063],[48.081445312499994,29.798925781250063],[48.1847656250001,29.978857421875034],[48.348242187500006,29.78266601562504],[48.27539062499997,29.624316406250017]]],[[[48.442480468750006,28.542919921874983],[47.671289062499994,28.53315429687504],[47.433203125,28.989550781250017],[46.53144531250004,29.09624023437499],[46.69375,29.259667968749966],[46.76933593750002,29.347460937500017],[46.90585937500006,29.5375],[47.14824218750002,30.0009765625],[47.64375,30.097314453125023],[47.75390624999997,30.076611328124955],[47.97871093750004,29.98281250000005],[48.00566406250002,29.835791015625034],[48.143457031249994,29.57246093750001],[47.96962890625005,29.61669921874997],[47.72265624999997,29.393017578124955],[48.0514648437501,29.355371093750023],[48.442480468750006,28.542919921874983]]]]},"properties":{"name":"Kuwait","childNum":2}},{"geometry":{"type":"Polygon","coordinates":[[[102.12744140625011,22.37919921874999],[102.58251953125006,21.904296875000057],[102.66201171875008,21.676025390625057],[102.73857421875005,21.677929687500125],[102.77109375000015,21.70966796875001],[102.79824218750014,21.797949218750034],[102.81591796875,21.807373046875],[102.94960937500008,21.681347656250068],[102.85117187500009,21.26591796874999],[102.8837890625,21.202587890625068],[103.1044921875,20.89165039062499],[103.21074218749999,20.840625],[103.46357421874995,20.779833984375102],[103.6350585937501,20.697070312500102],[104.10136718750005,20.945507812500125],[104.1953125,20.91396484375008],[104.349609375,20.82109374999999],[104.58320312500001,20.646679687499955],[104.53271484375,20.554882812500125],[104.47861328124998,20.529589843750102],[104.40781250000015,20.485742187500023],[104.36777343750015,20.441406250000057],[104.39218750000015,20.424755859375068],[104.49619140625003,20.41367187499992],[104.61884765624995,20.374511718750114],[104.65644531250001,20.328515624999966],[104.66191406250005,20.289013671875125],[104.67695312500007,20.224707031249977],[104.69873046875006,20.205322265625114],[104.84785156250007,20.202441406250045],[104.88867187500006,20.169091796875023],[104.92919921874994,20.082812500000045],[104.92792968750007,20.01811523437499],[104.81513671875001,19.90400390625001],[104.80175781250011,19.836132812500068],[104.74316406250006,19.754736328124977],[104.58789062500006,19.61875],[104.54628906250014,19.610546875000068],[104.25986328125003,19.685498046875068],[104.06279296875005,19.678417968750068],[104.03203124999999,19.67514648437492],[104.0134765625001,19.646484374999943],[104.05156250000005,19.564160156250068],[104.06289062500002,19.482568359375136],[104.02753906250013,19.420458984375102],[103.93203125000002,19.366064453125034],[103.89638671875002,19.339990234375023],[103.89160156249994,19.30498046874999],[105.146484375,18.650976562499977],[105.14541015625014,18.616796874999977],[105.08701171875015,18.49624023437508],[105.11455078125005,18.405273437500057],[105.45820312500007,18.154296875000057],[105.51855468750011,18.077441406250045],[105.58847656250015,17.983691406249932],[105.69140625,17.737841796874932],[106.00625,17.415283203124943],[106.26953125,17.216796875000057],[106.33339843750002,17.14370117187508],[106.42597656250007,17.00253906250009],[106.50224609374999,16.9541015625],[106.52597656250003,16.876611328125023],[106.53369140625,16.821044921875057],[106.54619140625005,16.650732421874977],[106.65644531250013,16.492626953125125],[106.73955078124999,16.452539062500136],[106.79160156250015,16.490332031249977],[106.83242187500008,16.526269531250023],[106.85107421875,16.515625],[106.89277343750013,16.396533203125102],[106.93066406250006,16.353125],[107.39638671875008,16.04301757812499],[107.39199218750008,15.951660156250057],[107.36064453125005,15.921728515624977],[107.18886718750008,15.838623046875114],[107.16591796875002,15.802490234375],[107.27939453125003,15.618701171875045],[107.33876953125002,15.560498046875125],[107.56425781249999,15.3916015625],[107.62167968750015,15.309863281250045],[107.653125,15.255224609375091],[107.63369140625008,15.18984375000008],[107.58964843749999,15.118457031250102],[107.55527343750009,15.057031250000023],[107.48037109375014,14.979882812500136],[107.5046875000001,14.91591796875008],[107.52451171875003,14.871826171874943],[107.51376953124998,14.817382812500057],[107.51943359375008,14.705078125000114],[107.46513671875005,14.664990234375125],[107.41474609375007,14.56289062500008],[107.37988281250006,14.555322265625136],[107.29267578125007,14.592382812500034],[107.109375,14.416699218749955],[107.06240234375008,14.415771484374943],[107.03017578125008,14.425683593750023],[106.99218749999994,14.39101562500008],[106.93808593750015,14.327343750000068],[106.91318359375003,14.329394531249932],[106.81992187500003,14.314697265624943],[106.7834960937501,14.335107421875023],[106.73818359375008,14.387744140625102],[106.66542968750002,14.441308593750023],[106.59921875000003,14.479394531250136],[106.56367187500007,14.505078125000011],[106.53115234375002,14.549414062499977],[106.50146484375,14.578222656250034],[106.22539062500005,14.476220703125023],[106.1907226562501,14.388134765625011],[106.16523437500007,14.372363281249989],[106.00839843750009,14.357177734375114],[105.97890625000014,14.343017578125057],[106.00410156250013,14.262890625000068],[106.09667968750011,14.127099609375136],[106.12470703124995,14.049121093750045],[106.06679687500008,13.921191406250102],[105.90449218750007,13.924511718750068],[105.83144531250008,13.976611328124989],[105.73974609375006,14.084960937500057],[105.5315429687501,14.156152343750023],[105.35019531250009,14.109570312500125],[105.24570312500015,14.200537109374977],[105.20703125000006,14.259375],[105.18554687499994,14.319091796875],[105.18330078125001,14.346240234374989],[105.24365234375006,14.367871093749955],[105.34218750000008,14.416699218749955],[105.42265624999993,14.471630859374955],[105.47558593750006,14.530126953124977],[105.49736328125005,14.590673828125034],[105.52304687500015,14.843310546874989],[105.54667968749999,14.932470703125034],[105.53339843750013,15.041601562500091],[105.49042968750007,15.127587890625023],[105.49042968750007,15.256591796875],[105.615625,15.488281249999943],[105.63886718750013,15.585937499999943],[105.64101562500002,15.656542968749932],[105.62207031250006,15.699951171875114],[105.39892578125011,15.829882812500102],[105.40625,15.987451171875023],[105.33066406250003,16.037890625000045],[105.1487304687501,16.09355468749999],[105.04716796874999,16.16025390625009],[104.81933593749994,16.466064453125057],[104.75058593750015,16.647558593750034],[104.74355468750014,16.884375],[104.75898437500013,17.0771484375],[104.81601562499998,17.30029296875],[104.73964843750008,17.461669921875],[104.428125,17.698974609375057],[104.32265625000002,17.815820312500023],[104.19619140625002,17.988378906250034],[104.04873046875002,18.216699218749966],[103.94960937500008,18.318994140625023],[103.89882812500002,18.295312500000023],[103.79228515624999,18.31650390625009],[103.62968750000005,18.382568359375057],[103.48798828124995,18.41816406250001],[103.36699218750005,18.42333984375],[103.28828124999995,18.408398437499955],[103.25175781249999,18.373486328125125],[103.24892578125014,18.338964843750034],[103.27958984374999,18.304980468750045],[103.26318359375,18.278466796875136],[103.19970703125006,18.25947265625001],[103.14853515625009,18.221728515624932],[103.09121093750014,18.13823242187499],[103.05136718750003,18.02851562500001],[102.80742187500005,17.945556640625],[102.71757812500005,17.892236328125136],[102.67519531250014,17.851757812500068],[102.68007812500008,17.824121093750136],[102.66064453125,17.8179687499999],[102.61679687500015,17.833349609375034],[102.59824218750009,17.926757812500057],[102.55253906249999,17.965087890625057],[102.4587890625001,17.984619140624943],[102.35185546874999,18.045947265625045],[102.14824218750005,18.203857421875057],[102.10146484375014,18.21064453125001],[102.03457031250002,18.169824218750023],[101.94746093750001,18.081494140624955],[101.87548828125011,18.046435546874932],[101.81865234375005,18.064648437500125],[101.77480468750002,18.033398437500125],[101.6875,17.889404296875114],[101.56367187500001,17.820507812500125],[101.55507812500002,17.812353515625034],[101.41367187500015,17.71875],[101.16748046875011,17.4990234375],[101.10517578125001,17.479541015625102],[100.9084960937501,17.583886718750023],[101.14394531250008,18.14262695312499],[101.1375,18.286865234375057],[101.0505859375001,18.407031250000045],[101.04697265625003,18.441992187500034],[101.28632812499995,18.977148437500034],[101.19755859374999,19.327929687500045],[101.22080078125015,19.486621093750045],[101.21191406250011,19.548339843750057],[100.51357421875008,19.553466796875],[100.39765625000013,19.756103515625057],[100.51953125000006,20.177929687500068],[100.31796875000003,20.385888671875136],[100.2180664062501,20.339599609375114],[100.13974609375015,20.245410156250102],[100.11494140625007,20.25766601562492],[100.12246093750002,20.316650390625057],[100.12968750000005,20.372216796875023],[100.1838867187501,20.589111328124943],[100.2493164062501,20.730273437499932],[100.32607421875008,20.795703124999932],[100.40742187499995,20.823242187500057],[100.56513671875013,20.82509765625008],[100.62294921875002,20.85957031250001],[100.61767578125,20.87924804687509],[100.54931640625011,20.884228515625068],[100.5222656250001,20.921923828125102],[100.53613281250006,20.992382812500068],[100.703125,21.25136718750008],[101.0803710937501,21.46865234375008],[101.13886718750013,21.567480468749977],[101.19667968750002,21.522070312499977],[101.17539062500009,21.407519531250102],[101.21992187500013,21.342431640625136],[101.21181640625008,21.278222656250023],[101.22441406249999,21.22373046874992],[101.24785156249993,21.197314453125045],[101.28144531250007,21.184130859375045],[101.44355468750001,21.230810546874977],[101.54238281250008,21.234277343750136],[101.70478515625013,21.150146484375057],[101.728125,21.15639648437508],[101.78349609374999,21.204150390625045],[101.8005859375001,21.212597656249955],[101.7229492187501,21.314941406250057],[101.74726562500007,21.60576171874999],[101.7439453125001,21.77797851562508],[101.73652343750001,21.826513671874977],[101.52451171874998,22.253662109375],[101.56787109375011,22.2763671875],[101.6199218750001,22.327441406250102],[101.67148437500009,22.462304687500023],[101.70751953125,22.486572265625],[101.73876953125011,22.495263671874966],[101.75996093750001,22.490332031250034],[101.841796875,22.388476562500102],[102.02441406250006,22.439208984375114],[102.09150390625007,22.412255859375136],[102.12744140625011,22.37919921874999]]]},"properties":{"name":"Lao PDR","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[35.869140625,33.43173828125],[35.411230468750006,33.07568359375],[35.10859375000001,33.08369140625],[35.64785156250002,34.2482421875],[35.97626953125001,34.629199218749996],[36.383886718750006,34.65791015625],[36.32988281250002,34.499609375],[36.50439453125,34.432373046875],[36.5849609375,34.221240234374996],[36.27783203125,33.92529296875],[36.36503906250002,33.83935546875],[35.98613281250002,33.75263671875],[36.03447265625002,33.58505859375],[35.869140625,33.43173828125]]]},"properties":{"name":"Lebanon","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[-8.486425781249977,7.558496093749994],[-8.408740234374989,7.411816406249997],[-8.324511718749989,6.920019531249991],[-8.587890625,6.490527343749989],[-8.287109375,6.319042968749997],[-7.981591796874994,6.2861328125],[-7.888623046874983,6.23486328125],[-7.800927734374994,6.038916015624991],[-7.730371093749994,5.919042968749991],[-7.636132812499994,5.90771484375],[-7.454394531249989,5.84130859375],[-7.39990234375,5.550585937499989],[-7.585058593749977,4.916748046875],[-7.574658203124983,4.572314453124989],[-7.544970703124989,4.351318359375],[-8.259033203125,4.589990234374994],[-9.132177734374977,5.054638671874997],[-10.2763671875,6.07763671875],[-11.291601562499977,6.688232421875],[-11.507519531249983,6.906542968749989],[-11.267675781249977,7.232617187499997],[-10.878076171874994,7.538232421874994],[-10.6474609375,7.759375],[-10.570849609374989,8.071142578124991],[-10.516748046874994,8.125292968749989],[-10.359814453124983,8.187939453124997],[-10.283203125,8.485156249999989],[-10.233056640624994,8.488818359374989],[-10.147412109374983,8.519726562499997],[-10.064355468749994,8.429882812499997],[-9.781982421875,8.537695312499991],[-9.518261718749983,8.34609375],[-9.369140625,7.703808593749997],[-9.463818359374983,7.415869140624991],[-9.11757812499999,7.215917968749991],[-8.8896484375,7.2626953125],[-8.659765624999977,7.688378906249994],[-8.486425781249977,7.558496093749994]]]},"properties":{"name":"Liberia","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[25.150488281250006,31.654980468749997],[24.85273437500001,31.334814453125],[24.96142578125,30.678515625],[24.703222656250006,30.201074218749994],[24.980273437500017,29.181884765625],[24.980273437500017,25.5888671875],[24.980273437500017,21.995849609375],[24.9794921875,20.002587890624994],[23.980273437500017,19.99594726562499],[23.980273437500017,19.496630859375003],[20.14765625000001,21.38925781249999],[15.984082031250011,23.445214843749994],[14.97900390625,22.99619140624999],[14.215527343750011,22.619677734375003],[13.48125,23.18017578125],[11.967871093750006,23.517871093750003],[11.507617187500017,24.314355468749994],[10.686132812500006,24.55136718749999],[10.395898437500023,24.485595703125],[10.255859375,24.591015625],[10.000683593750011,25.332080078125003],[9.4482421875,26.067138671875],[9.491406250000011,26.333740234375],[9.883203125000023,26.630810546874997],[9.74755859375,27.330859375],[9.916015625,27.785693359374996],[9.805273437500006,29.176953125],[9.310253906250011,30.115234375],[9.51875,30.229394531249994],[9.89501953125,30.3873046875],[9.932519531250023,30.425341796874996],[10.059765625000011,30.580078125],[10.21640625,30.783203125],[10.114941406250011,31.463769531249994],[10.274609375000011,31.684960937499994],[10.475781250000011,31.736035156249997],[10.60888671875,31.929541015625],[10.826367187500011,32.0806640625],[11.005175781250017,32.172705078125],[11.168261718750017,32.256738281249994],[11.358007812500006,32.34521484375],[11.504980468750006,32.413671875],[11.535937500000017,32.47333984375],[11.533789062500006,32.524951171874996],[11.453906250000017,32.642578125],[11.453906250000017,32.781689453125],[11.459179687500011,32.897363281249994],[11.467187500000023,32.965722656249994],[11.504589843750011,33.181933593749996],[11.657128906250023,33.118896484375],[11.8134765625,33.093701171875],[12.279882812500006,32.858544921874994],[12.753515625,32.801074218749996],[13.283496093750017,32.9146484375],[15.176562500000017,32.391162109374996],[15.705957031250023,31.426416015624994],[17.830468750000023,30.927587890625],[18.669824218750023,30.415673828124994],[19.12373046875001,30.26611328125],[19.713281250000023,30.48837890625],[20.11152343750001,30.963720703125],[19.926367187500006,31.817529296874994],[20.121484375000023,32.21875],[20.62109375,32.58017578125],[21.63593750000001,32.937304687499996],[22.187402343750023,32.918261718749996],[23.090625,32.61875],[23.10625,32.331445312499994],[23.28632812500001,32.213818359375],[24.129687500000017,32.009228515625],[24.878515625,31.984277343749994],[25.150488281250006,31.654980468749997]]]},"properties":{"name":"Libya","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[-60.89521484375,13.821972656249997],[-60.951416015625,13.717578125],[-61.073144531249994,13.865576171874991],[-60.908105468749994,14.09335937499999],[-60.89521484375,13.821972656249997]]]},"properties":{"name":"Saint Lucia","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[79.87480468750002,9.050732421875026],[79.90371093750005,8.975],[79.74765625000006,9.104589843749991],[79.87480468750002,9.050732421875026]]],[[[79.98232421875,9.812695312500011],[80.25283203125005,9.796337890625054],[80.71113281250004,9.366357421875023],[81.226953125,8.50551757812498],[81.37285156250002,8.431445312499989],[81.42216796875007,8.147851562500023],[81.87412109375012,7.288330078124986],[81.86142578125012,6.901269531249994],[81.63740234375004,6.425146484374991],[80.72412109375003,5.97905273437496],[80.26738281250007,6.009765625],[80.09531250000012,6.153173828125006],[79.859375,6.829296874999983],[79.71298828125012,8.18232421875004],[79.74980468750007,8.294238281250003],[79.78349609375007,8.018457031250051],[79.92890625000004,8.899218749999974],[80.09960937499997,9.209960937500043],[80.08632812500005,9.577832031250026],[80.42832031250006,9.480957031250014],[80.04580078125005,9.649902343749972],[79.98232421875,9.812695312500011]]]]},"properties":{"name":"Sri Lanka","childNum":2}},{"geometry":{"type":"Polygon","coordinates":[[[28.646875,-30.1265625],[28.39208984375,-30.147558593750006],[28.128710937500017,-30.52509765625001],[28.05683593750001,-30.63105468750001],[27.753125,-30.6],[27.364062500000017,-30.27919921875001],[27.19355468750001,-29.94130859375001],[27.056933593750017,-29.625585937500006],[27.29453125,-29.519335937500003],[27.73554687500001,-28.940039062500006],[27.959863281250023,-28.873339843750003],[28.084375,-28.77998046875001],[28.23261718750001,-28.701269531250006],[28.471875,-28.615820312500006],[28.583398437500023,-28.594140625],[28.625781250000017,-28.58173828125001],[29.301367187500006,-29.08984375],[29.38671875,-29.31972656250001],[29.34882812500001,-29.441992187500006],[29.293554687500006,-29.56689453125],[29.1421875,-29.700976562500003],[29.098046875000023,-29.919042968750006],[28.646875,-30.1265625]]]},"properties":{"name":"Lesotho","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[20.957812500000074,55.27890625000006],[20.89980468750008,55.286669921875045],[21.11484375,55.61650390624999],[20.957812500000074,55.27890625000006]]],[[[25.573046875000017,54.139892578125],[25.497363281250045,54.17524414062501],[25.52734375000003,54.21513671874996],[25.505664062500045,54.26494140624999],[25.46113281250004,54.29277343749996],[25.179492187500017,54.214257812499966],[25.111425781250006,54.15493164062505],[25.04609375000004,54.13305664062503],[24.869531250000023,54.14516601562502],[24.82568359374997,54.118994140625006],[24.78925781250001,53.99824218750001],[24.768164062499977,53.97465820312499],[24.31796875,53.892968749999966],[24.236621093750045,53.91997070312496],[24.19130859375005,53.95043945312503],[23.559082031250057,53.91982421875002],[23.484667968750074,53.939794921875006],[23.453613281250057,54.14345703125002],[23.3701171875,54.20048828124999],[23.282324218750063,54.240332031250034],[23.17031250000008,54.28144531249998],[23.0875,54.299462890624994],[23.042187500000068,54.30419921875],[23.01552734375005,54.34833984375001],[22.976757812500068,54.36635742187505],[22.89394531250008,54.390527343749994],[22.82373046874997,54.39580078124999],[22.766210937499977,54.356787109375034],[22.679882812500068,54.493017578125006],[22.684472656250023,54.56293945312504],[22.82470703125,54.87128906249998],[22.56728515625005,55.05913085937496],[22.072363281250034,55.06367187499998],[21.235742187500023,55.26411132812498],[21.237890625000034,55.455029296874955],[21.06191406250005,55.81342773437498],[21.053808593750006,56.02294921875003],[21.04609375000004,56.07006835937503],[21.31464843750004,56.18813476562502],[21.65351562500004,56.314550781250006],[22.084570312500034,56.40673828125006],[22.875585937500063,56.39643554687501],[22.96826171875003,56.38041992187502],[23.042968750000057,56.324072265625006],[23.119824218749983,56.330664062500006],[23.195898437500034,56.36713867187498],[24.120703125000063,56.26425781249998],[24.90302734375001,56.398193359375],[25.069921875,56.20039062500004],[25.663183593750063,56.104833984375006],[26.593554687500074,55.66752929687502],[26.590820312500057,55.62265625],[26.56660156250001,55.546484375000034],[26.51923828125004,55.448144531249994],[26.469531250000045,55.371923828125006],[26.457617187500006,55.342480468749955],[26.49531250000004,55.31801757812502],[26.68125,55.30644531249999],[26.76015625000008,55.29335937499999],[26.775683593750045,55.27309570312502],[26.601171875000034,55.130175781250045],[26.291796875000074,55.13959960937501],[26.250781250000045,55.12451171875006],[26.175195312500023,55.003271484375034],[26.092968750000068,54.96230468750005],[25.964453124999977,54.947167968749966],[25.85927734375005,54.91928710937498],[25.722460937500074,54.71787109374998],[25.731640625000068,54.59038085937502],[25.72480468750001,54.564257812500045],[25.68515625,54.53579101562502],[25.62031250000004,54.46040039062501],[25.56757812500004,54.377050781250006],[25.54736328125,54.33183593750002],[25.55751953125005,54.310693359374994],[25.702539062499994,54.29296875],[25.765234374999977,54.179785156250034],[25.573046875000017,54.139892578125]]]]},"properties":{"name":"Lithuania","childNum":2}},{"geometry":{"type":"Polygon","coordinates":[[[6.4873046875,49.798486328124994],[6.344335937500006,49.452734375],[6.181054687500023,49.498925781249994],[6.119921875000017,49.485205078125],[6.074121093750023,49.454638671874996],[6.011425781250011,49.445458984374994],[5.95947265625,49.454638671874996],[5.928906250000011,49.4775390625],[5.9013671875,49.48974609375],[5.823437500000011,49.505078125],[5.789746093750011,49.53828125],[5.776710379464286,49.639953962053575],[5.744042968750023,49.91962890625],[5.7880859375,49.961230468749996],[5.8173828125,50.0126953125],[5.866894531250011,50.0828125],[5.976269531250011,50.1671875],[6.089062500000011,50.154589843749996],[6.110058593750011,50.123779296875],[6.116503906250017,50.120996093749994],[6.109765625000023,50.034375],[6.13818359375,49.97431640625],[6.204882812500017,49.91513671875],[6.272327008928583,49.887234933035714],[6.4873046875,49.798486328124994]]]},"properties":{"name":"Luxembourg","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[28.14794921875,56.142919921875],[27.576757812500006,55.798779296875],[27.052539062500017,55.83056640625],[26.593554687500017,55.667529296874996],[25.663183593750006,56.104833984375],[25.069921875,56.200390625],[24.90302734375001,56.398193359375],[24.120703125,56.2642578125],[23.81269531250001,56.329248046875],[23.195898437500006,56.367138671875],[23.11982421875001,56.3306640625],[23.04296875,56.324072265625],[22.875585937500006,56.396435546875],[22.084570312500006,56.40673828125],[21.730566406250006,56.325976562499996],[21.65351562500001,56.31455078125],[21.31464843750001,56.188134765625],[21.04609375000001,56.070068359375],[21.0712890625,56.82373046875],[21.72871093750001,57.57099609375],[22.554589843750023,57.724267578125],[23.28730468750001,57.08974609375],[23.647753906250017,56.971044921875],[24.382617187500017,57.250048828124996],[24.322558593750017,57.87060546875],[24.3625,57.866162109375],[24.458886718750023,57.907861328125],[25.11103515625001,58.063427734375],[25.27265625000001,58.009375],[25.66015625,57.920166015625],[26.29804687500001,57.60107421875],[26.532617187500023,57.531005859375],[26.96601562500001,57.609130859375],[27.187109375,57.538330078125],[27.326562500000023,57.52548828125],[27.4697265625,57.5240234375],[27.538671875,57.42978515625],[27.796875,57.316943359374996],[27.82861328125,57.293310546875],[27.838281250000023,57.247705078125],[27.83027343750001,57.194482421875],[27.639453125000017,56.845654296875],[27.806054687500023,56.86708984375],[27.8486328125,56.85341796875],[27.89208984375,56.741064453125],[28.00751953125001,56.599853515625],[28.103125,56.545703125],[28.11083984375,56.510693359375],[28.169238281250017,56.386865234375],[28.191699218750017,56.315576171875],[28.202050781250023,56.260400390625],[28.14794921875,56.142919921875]]]},"properties":{"name":"Latvia","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[28.2125,45.450439453125],[28.07470703125,45.598974609375],[28.23945312500001,46.6408203125],[28.07177734375,46.978417968749994],[27.614062500000017,47.34052734375],[26.980761718750017,48.155029296875],[26.618945312500017,48.25986328125],[26.640429687500017,48.294140625],[26.847070312500023,48.387158203125],[26.90058593750001,48.371923828125],[27.228515625,48.371435546875],[27.549218750000023,48.477734375],[28.34052734375001,48.144433593749994],[28.42304687500001,48.146875],[29.125390625000023,47.96455078125],[29.134863281250006,47.489697265625],[29.455664062500006,47.292626953124994],[29.57197265625001,46.964013671874994],[29.7197265625,46.88291015625],[29.877832031250023,46.82890625],[29.942480468750006,46.723779296874994],[29.93476562500001,46.625],[29.92431640625,46.538867187499996],[30.13105468750001,46.423095703125],[30.07568359375,46.377832031249994],[29.878027343750006,46.360205078125],[29.837890625,46.350537109375],[29.458789062500017,46.453759765624994],[29.30488281250001,46.466601562499996],[29.22382812500001,46.376953125],[29.20458984375,46.379345703125],[29.20078125,46.50498046875],[29.18623046875001,46.523974609374996],[29.146289062500017,46.526904296874996],[28.958398437500023,46.45849609375],[28.92744140625001,46.424121093749996],[28.930566406250023,46.362255859375],[28.94375,46.288427734375],[29.00625,46.17646484375],[28.971875,46.12763671875],[28.94775390625,46.049951171874994],[28.849511718750023,45.978662109374994],[28.73876953125,45.937158203124994],[28.729296875000017,45.852001953125],[28.667578125,45.793847656249994],[28.562304687500017,45.735791015625],[28.491601562500023,45.665771484375],[28.4990234375,45.517724609374994],[28.310351562500017,45.498583984374996],[28.26484375000001,45.48388671875],[28.2125,45.450439453125]]]},"properties":{"name":"Moldova","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[49.936425781249994,-16.90292968750002],[49.82402343750002,-17.08652343750002],[50.02304687500006,-16.6953125],[49.936425781249994,-16.90292968750002]]],[[[48.3421875,-13.363867187500034],[48.21191406250003,-13.385253906249957],[48.191210937500074,-13.259960937500011],[48.308886718750074,-13.198242187499957],[48.3421875,-13.363867187500034]]],[[[49.53828125000004,-12.432128906250014],[49.9375,-13.072265624999957],[50.23535156249997,-14.732031249999963],[50.482714843750074,-15.385644531249994],[50.20898437499997,-15.960449218750028],[50.02041015625005,-15.801757812500028],[49.89257812500003,-15.457714843750011],[49.664355468750074,-15.521582031249977],[49.83906250000004,-16.486523437499997],[49.76718750000006,-16.815136718749983],[49.44931640625006,-17.240625],[49.477832031250074,-17.89853515624999],[49.362890625,-18.336328125],[47.934472656249994,-22.393945312500023],[47.55800781250005,-23.874609374999963],[47.17734375,-24.787207031249977],[46.72851562499997,-25.14990234374997],[46.15869140624997,-25.230371093750023],[45.5080078125001,-25.56318359374997],[45.2057617187501,-25.57050781250004],[44.0353515625001,-24.995703125],[43.670019531250006,-24.30029296875],[43.722265625,-23.529687500000037],[43.2648437500001,-22.38359375],[43.29052734374997,-21.93251953124998],[43.50185546875005,-21.356445312499957],[43.800195312499994,-21.179199218749986],[44.40468750000005,-19.922070312500026],[44.44882812500006,-19.42871093749997],[44.23876953124997,-19.075195312499986],[44.23310546875004,-18.740625],[44.04003906249997,-18.288476562500023],[43.979394531249994,-17.3916015625],[44.42138671874997,-16.70263671874997],[44.476171875,-16.217285156249957],[44.90917968749997,-16.174511718750026],[45.2228515625001,-15.95048828124996],[45.3421875,-16.03671875000002],[45.598242187500006,-15.992578125],[45.70019531249997,-15.813769531249989],[46.157519531250074,-15.738281249999972],[46.3996093750001,-15.924609375000017],[46.331445312499994,-15.713671875000031],[46.47509765625003,-15.513476562500003],[46.942285156249994,-15.219042968749974],[47.09921875,-15.43417968750002],[47.092578125000074,-15.150097656249969],[47.35195312500005,-14.766113281249986],[47.46474609375005,-14.713281249999966],[47.47832031250002,-15.009375],[47.77402343750006,-14.63671875],[47.964160156250074,-14.672558593750026],[47.773339843749994,-14.369921875],[47.995507812499994,-13.960449218749986],[47.88359375000002,-13.807519531250009],[47.94101562500006,-13.662402343750017],[48.03984375000002,-13.596289062499963],[48.25527343750005,-13.719335937499977],[48.796484375,-13.267480468750023],[48.91943359375003,-12.839062499999969],[48.78632812500004,-12.470898437500011],[48.931738281250006,-12.4390625],[49.20703124999997,-12.079589843749957],[49.53828125000004,-12.432128906250014]]]]},"properties":{"name":"Madagascar","childNum":3}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[-91.68369140624998,18.677343750000034],[-91.81611328124995,18.675878906250006],[-91.53671874999998,18.760009765625],[-91.68369140624998,18.677343750000034]]],[[[-86.93964843750001,20.303320312500006],[-86.97797851562498,20.489794921875074],[-86.76328124999995,20.579052734374955],[-86.93964843750001,20.303320312500006]]],[[[-106.50224609374999,21.61083984375003],[-106.60703124999993,21.561474609374983],[-106.63935546874995,21.697851562499977],[-106.50224609374999,21.61083984375003]]],[[[-110.56738281249994,25.003466796875017],[-110.5388671875,24.89155273437504],[-110.69926757812499,25.081445312499994],[-110.56738281249994,25.003466796875017]]],[[[-112.05727539062498,24.545703125000017],[-112.29677734375002,24.789648437500063],[-112.15942382812501,25.28564453125003],[-112.19501953124998,24.841064453125057],[-112.05727539062498,24.545703125000017]]],[[[-111.10029296874998,26.020605468750006],[-111.224658203125,25.83588867187504],[-111.18291015625002,26.040625],[-111.10029296874998,26.020605468750006]]],[[[-115.17060546875001,28.06938476562496],[-115.35292968750002,28.103955078124983],[-115.23354492187495,28.36835937500004],[-115.17060546875001,28.06938476562496]]],[[[-112.20307617187503,29.00532226562504],[-112.27841796875,28.769335937500017],[-112.51406249999997,28.847607421874955],[-112.42353515625,29.203662109375017],[-112.28505859374994,29.240429687499955],[-112.20307617187503,29.00532226562504]]],[[[-113.15561523437502,29.05224609375],[-113.49633789062497,29.30761718749997],[-113.58720703125002,29.57304687499996],[-113.20214843749999,29.301855468750034],[-113.15561523437502,29.05224609375]]],[[[-97.14624023437494,25.961474609375045],[-97.66767578124995,24.389990234374977],[-97.84248046874995,22.510302734375017],[-97.76328124999998,22.105859374999966],[-97.31450195312496,21.56420898437503],[-97.40917968749997,21.272558593750034],[-97.38344726562497,21.56669921874999],[-97.75380859375002,22.02666015624999],[-97.18632812499996,20.717041015625],[-96.45605468749994,19.869775390624966],[-96.28955078124994,19.34375],[-95.778125,18.805517578125034],[-95.92036132812495,18.81958007812497],[-95.62680664062503,18.690576171874994],[-95.71982421874998,18.768359375000017],[-95.18183593749995,18.700732421875017],[-94.79814453124996,18.51459960937501],[-94.45976562499993,18.166650390624994],[-93.55234375,18.430468750000017],[-92.88476562499997,18.468652343749966],[-92.44101562499998,18.67529296874997],[-91.97377929687502,18.715869140625074],[-91.91357421875,18.52851562500001],[-91.53398437499993,18.45654296875],[-91.27524414062498,18.62446289062501],[-91.34306640624996,18.900585937499955],[-91.43666992187502,18.889794921874966],[-90.73925781249994,19.352246093749955],[-90.69316406249996,19.729882812499966],[-90.49169921874997,19.94677734375003],[-90.353125,21.009423828124966],[-89.81977539062495,21.274609374999983],[-88.46669921874997,21.569384765625017],[-88.0068359375,21.604052734375045],[-87.25087890625,21.44697265625004],[-87.18828124999993,21.546435546875045],[-87.36850585937498,21.57373046875],[-87.034765625,21.592236328124955],[-86.824072265625,21.421679687500017],[-86.77177734374999,21.150537109375023],[-86.92622070312493,20.786474609375034],[-87.42138671875,20.23139648437501],[-87.44174804687498,19.861523437499983],[-87.68769531249998,19.63710937499999],[-87.6453125,19.55390625000001],[-87.42475585937498,19.583349609375063],[-87.65869140625003,19.352343750000074],[-87.65576171874997,19.25786132812499],[-87.50107421874998,19.287792968749983],[-87.76181640624998,18.446142578125006],[-87.88198242187497,18.27387695312501],[-88.05644531249996,18.524462890625074],[-88.03173828125,18.838916015625017],[-88.29565429687494,18.47241210937503],[-88.52299804687499,18.445898437500063],[-88.80634765624998,17.965527343749983],[-89.13354492187503,17.970800781249977],[-89.16147460937503,17.81484375],[-90.98916015624997,17.81640624999997],[-90.99296874999993,17.25244140625],[-91.19550781249998,17.254101562499983],[-91.40961914062501,17.255859375],[-90.975830078125,16.867822265624994],[-90.710693359375,16.708105468750034],[-90.65996093749996,16.630908203125045],[-90.634375,16.565136718749955],[-90.63408203125002,16.51074218749997],[-90.57578124999995,16.467822265625017],[-90.47109374999994,16.439550781250034],[-90.41699218750003,16.391015625000023],[-90.41699218750003,16.351318359375],[-90.45014648437493,16.261376953124994],[-90.45986328124997,16.16235351562497],[-90.44716796874994,16.07270507812501],[-90.52197265625,16.07119140625005],[-90.70322265624998,16.07104492187503],[-90.97958984374998,16.07080078124997],[-91.433984375,16.070458984374994],[-91.736572265625,16.070166015625006],[-91.95722656250001,15.703222656250034],[-92.08212890624998,15.495556640625011],[-92.18715820312497,15.320898437499963],[-92.07480468749998,15.074218749999972],[-92.09873046874998,15.026757812499994],[-92.14423828125001,15.001953125],[-92.158544921875,14.963574218749997],[-92.23515625,14.545410156249986],[-93.91606445312493,16.053564453125006],[-94.374169921875,16.284765625000034],[-94.426416015625,16.22626953125001],[-94.00126953124996,16.018945312499966],[-94.66152343750002,16.20190429687503],[-94.58710937499995,16.315820312499966],[-94.79082031249999,16.28715820312499],[-94.85869140624996,16.41972656249999],[-95.02084960937503,16.277636718750017],[-94.79941406249995,16.20966796875001],[-95.134375,16.17695312500001],[-96.21357421874993,15.693066406250011],[-96.80795898437495,15.726416015624977],[-97.18466796874998,15.909277343750006],[-97.75478515624994,15.966845703125017],[-98.52031249999993,16.30483398437505],[-98.76220703125,16.534765624999977],[-99.69067382812499,16.719628906249994],[-100.847802734375,17.20048828124999],[-101.91870117187494,17.959765625000045],[-102.69956054687495,18.062841796875006],[-103.44160156249995,18.32539062500001],[-103.91245117187496,18.828466796875006],[-104.9384765625,19.309375],[-105.482080078125,19.97607421875003],[-105.66943359374997,20.385595703124977],[-105.26015625,20.579052734374955],[-105.32705078124994,20.752978515625045],[-105.51083984374999,20.808740234375023],[-105.23706054687499,21.119189453125045],[-105.20869140624998,21.490820312499977],[-105.43144531249997,21.618261718750006],[-105.64912109375001,21.988085937500045],[-105.64550781249999,22.32690429687497],[-105.79179687500003,22.627490234375017],[-106.93549804687497,23.88125],[-107.76494140625002,24.47192382812497],[-107.52724609375001,24.36005859375001],[-107.51191406249998,24.489160156250023],[-107.95117187499994,24.614892578124966],[-108.28076171874994,25.08154296875],[-108.05146484374995,25.067041015624994],[-108.69638671874998,25.382910156250034],[-108.78725585937502,25.53803710937501],[-109.02880859375003,25.48046875000003],[-108.886572265625,25.733447265625045],[-109.19648437499998,25.59252929687503],[-109.38496093750001,25.727148437500006],[-109.42563476562495,26.032568359375063],[-109.19970703125003,26.30522460937499],[-109.11669921874999,26.25273437499996],[-109.27626953125,26.533886718749955],[-109.48286132812498,26.710351562500023],[-109.75478515624995,26.702929687500017],[-109.94399414062495,27.079345703125057],[-110.37729492187495,27.233300781249966],[-110.59267578124995,27.544335937500023],[-110.52988281249995,27.864208984374983],[-111.12138671875002,27.966992187499983],[-112.16176757812495,29.018896484375034],[-113.05766601562496,30.651025390625023],[-113.04672851562495,31.17924804687499],[-113.62348632812494,31.34589843750001],[-113.75942382812501,31.557763671874994],[-113.94775390625001,31.62934570312501],[-114.14931640624995,31.507373046875045],[-114.93359374999994,31.900732421874977],[-114.78989257812498,31.647119140624994],[-114.88188476562499,31.156396484375023],[-114.55048828124997,30.02226562499999],[-113.75546875,29.367480468750017],[-113.49970703124995,28.92670898437501],[-113.20556640624997,28.798779296874955],[-113.09365234375001,28.511767578125017],[-112.870849609375,28.42421875000005],[-112.73403320312501,27.825976562500017],[-112.32919921874996,27.52343750000003],[-111.86264648437495,26.678515625000017],[-111.6994140625,26.58095703125005],[-111.79526367187499,26.8796875],[-111.56967773437495,26.707617187500006],[-111.29160156249996,25.78979492187497],[-110.68676757812501,24.867675781250057],[-110.65932617187502,24.34145507812505],[-110.36743164062497,24.100488281249994],[-110.30375976562497,24.339453125],[-110.02280273437502,24.17460937499999],[-109.6765625,23.66157226562501],[-109.42084960937495,23.480126953124994],[-109.49570312500002,23.159814453125023],[-110.00625,22.894042968750057],[-110.3626953125,23.60493164062501],[-111.68291015625002,24.555810546875023],[-111.80249023437494,24.542529296875074],[-112.07255859374999,24.84003906250001],[-112.06987304687497,25.572851562500006],[-112.37724609374997,26.21391601562496],[-113.02075195312499,26.58325195312497],[-113.15581054687496,26.94624023437504],[-113.27226562499997,26.79096679687501],[-113.59853515625001,26.721289062500034],[-113.84096679687502,26.966503906249983],[-114.44526367187503,27.218164062499994],[-114.53989257812495,27.431103515624955],[-114.99350585937499,27.736035156249983],[-115.03647460937495,27.84184570312496],[-114.57001953124995,27.78393554687497],[-114.30058593749995,27.87299804687501],[-114.30224609375003,27.775732421875006],[-114.0693359375,27.67568359375005],[-114.15839843750003,27.919677734375],[-114.26586914062499,27.934472656249994],[-114.04848632812502,28.42617187499999],[-114.93730468749999,29.35161132812496],[-115.67382812500003,29.756396484375017],[-116.06215820312501,30.80415039062504],[-116.29628906250001,30.97050781249999],[-116.33344726562494,31.202783203124994],[-116.66215820312495,31.56489257812504],[-116.72207031249998,31.734570312499955],[-116.62080078124995,31.85107421874997],[-116.84799804687496,31.997363281250045],[-117.12827148437495,32.533349609374994],[-114.72475585937495,32.71533203125003],[-114.83593749999994,32.50830078125003],[-111.0419921875,31.32421875000003],[-108.21445312499993,31.329443359375034],[-108.21181640625002,31.779345703125017],[-106.44541015624996,31.768408203125006],[-106.14804687499995,31.450927734375],[-104.97880859374996,30.645947265624955],[-104.50400390624995,29.677685546874955],[-104.110595703125,29.386132812499994],[-103.16831054687498,28.998193359374994],[-102.8919921875,29.216406250000034],[-102.61494140624994,29.75234375],[-102.26894531249998,29.871191406250034],[-101.44038085937503,29.77685546875],[-100.75458984375001,29.182519531249994],[-100.29604492187495,28.32768554687499],[-99.50532226562497,27.54833984375003],[-99.45654296874999,27.05668945312496],[-99.10776367187498,26.446923828124994],[-97.37563476562497,25.871826171875],[-97.14624023437494,25.961474609375045]]]]},"properties":{"name":"Mexico","childNum":10}},{"geometry":{"type":"Polygon","coordinates":[[[22.344042968750017,42.31396484375],[22.836816406250023,41.993603515625],[23.00361328125001,41.73984375],[22.916015625,41.336279296875],[22.78388671875001,41.331982421875],[22.72480468750001,41.178515625],[22.603613281250006,41.140185546874996],[22.493554687500023,41.118505859375],[22.184472656250023,41.158642578125],[21.99335937500001,41.13095703125],[21.77949218750001,40.950439453125],[21.627539062500006,40.896337890625],[21.57578125,40.868945312499996],[20.964257812500023,40.849902343749996],[20.709277343750017,40.928369140624994],[20.48896484375001,41.272607421874994],[20.566210937500017,41.873681640624994],[20.725,41.87353515625],[20.778125,42.071044921875],[21.05976562500001,42.171289062499994],[21.28662109375,42.100390625],[21.389550781250023,42.21982421875],[21.560839843750017,42.24765625],[21.5625,42.247509765625],[21.81464843750001,42.303125],[22.344042968750017,42.31396484375]]]},"properties":{"name":"Macedonia","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[4.227636718750006,19.142773437499997],[4.234667968750017,16.996386718750003],[4.121289062500011,16.357714843750003],[3.842968750000011,15.701708984375003],[3.5205078125,15.483105468749997],[3.504296875000023,15.356347656249994],[3.06015625,15.427197265624997],[3.001074218750006,15.340966796874994],[1.300195312500023,15.272265625],[0.947460937500011,14.982128906249997],[0.217480468750011,14.911474609374991],[-0.235888671874989,15.059423828124991],[-0.760449218749983,15.047753906249994],[-1.049560546875,14.81953125],[-1.97304687499999,14.45654296875],[-2.113232421874983,14.16845703125],[-2.586718749999989,14.227587890625003],[-2.873925781249994,13.950732421875003],[-2.950830078124994,13.6484375],[-3.248632812499977,13.658349609374994],[-3.3017578125,13.28076171875],[-3.527636718749989,13.182714843749991],[-3.947314453124989,13.402197265624991],[-4.151025390624994,13.306201171875003],[-4.328710937499977,13.119042968749994],[-4.227099609374989,12.793701171875],[-4.480615234374994,12.672216796874991],[-4.4287109375,12.337597656249997],[-4.699316406249977,12.076171875],[-5.288134765624989,11.827929687499989],[-5.250244140625,11.375781249999989],[-5.490478515625,11.042382812499994],[-5.523535156249977,10.426025390625],[-5.556591796874983,10.43994140625],[-5.694287109374983,10.43320312499999],[-5.843847656249977,10.389550781249994],[-5.896191406249983,10.354736328125],[-5.907568359374977,10.307226562499991],[-6.034570312499994,10.19482421875],[-6.1171875,10.201904296875],[-6.238378906249977,10.261621093749994],[-6.241308593749977,10.279199218749994],[-6.192626953125,10.369433593749989],[-6.190673828125,10.400292968749994],[-6.250244140625,10.717919921874994],[-6.482617187499983,10.561230468749997],[-6.564599609374994,10.58642578125],[-6.654150390624977,10.656445312499997],[-6.676367187499977,10.6337890625],[-6.686132812499977,10.578027343749994],[-6.691992187499977,10.512011718749989],[-6.669335937499994,10.3921875],[-6.693261718749994,10.349462890624991],[-6.950341796874994,10.342333984374989],[-7.01708984375,10.143261718749997],[-7.385058593749989,10.340136718749989],[-7.6611328125,10.427441406249997],[-7.990625,10.1625],[-8.007275390624983,10.321875],[-8.266650390624989,10.485986328124994],[-8.33740234375,10.990625],[-8.666699218749983,11.009472656249997],[-8.398535156249977,11.366552734374991],[-8.822021484375,11.673242187499994],[-8.818310546874983,11.922509765624994],[-9.043066406249977,12.40234375],[-9.395361328124977,12.464648437499989],[-9.358105468749983,12.255419921874989],[-9.754003906249977,12.029931640624994],[-10.274853515624983,12.212646484375],[-10.709228515625,11.898730468749989],[-10.933203124999977,12.205175781249991],[-11.30517578125,12.015429687499989],[-11.502197265625,12.198632812499994],[-11.389404296875,12.404394531249991],[-11.390380859375,12.941992187499991],[-11.634960937499983,13.369873046875],[-11.831689453124994,13.315820312499994],[-12.05419921875,13.633056640625],[-11.960888671874983,13.875292968750003],[-12.019189453124994,14.206494140624997],[-12.228417968749994,14.45859375],[-12.280615234374977,14.809033203124997],[-12.104687499999983,14.745361328125],[-12.08154296875,14.766357421875],[-12.021582031249977,14.804931640625],[-11.76015625,15.425537109375],[-11.675878906249977,15.512060546874991],[-11.502685546875,15.636816406249991],[-11.455224609374994,15.62539062499999],[-10.9482421875,15.151123046875],[-10.696582031249989,15.42265625],[-9.94140625,15.373779296875],[-9.446923828124994,15.458203125],[-9.447705078124983,15.574853515624994],[-9.426562499999989,15.623046875],[-9.3505859375,15.677392578124994],[-9.33544921875,15.525683593750003],[-9.293701171875,15.502832031249994],[-5.5125,15.496289062499997],[-5.359912109374989,16.282861328124994],[-5.509619140624977,16.442041015624994],[-5.628662109375,16.568652343750003],[-5.65625,16.8095703125],[-5.684765624999983,17.058251953124994],[-5.713183593749989,17.306884765625],[-5.74169921875,17.555566406249994],[-5.827099609374983,18.3015625],[-6.026416015624989,20.0421875],[-6.396582031249977,23.274804687499994],[-6.482031249999977,24.020800781250003],[-6.538964843749994,24.51816406249999],[-6.5673828125,24.766796875],[-6.594091796874977,24.99462890625],[-6.287207031249977,24.994824218749997],[-5.959814453124977,24.99497070312499],[-5.640771484374994,24.995166015625003],[-4.822607421874977,24.99560546875],[-1.947900390624994,23.124804687500003],[1.1455078125,21.102246093749997],[1.165722656250011,20.817431640625003],[1.610644531250017,20.555566406249994],[1.685449218750023,20.378369140624997],[3.130273437500023,19.85019531249999],[3.255859375,19.4109375],[3.119726562500006,19.103173828124994],[3.3564453125,18.986621093750003],[4.227636718750006,19.142773437499997]]]},"properties":{"name":"Mali","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[14.566210937499989,35.85273437499998],[14.436425781250023,35.82167968750005],[14.351269531250011,35.978417968749994],[14.566210937499989,35.85273437499998]]]},"properties":{"name":"Malta","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[98.18261718749997,9.933447265625006],[98.11806640625,9.877880859375054],[98.2916992187501,10.051318359375031],[98.18261718749997,9.933447265625006]]],[[[98.20976562500002,10.952734375],[98.27148437499997,10.73989257812498],[98.08046875000005,10.886621093750037],[98.20976562500002,10.952734375]]],[[[98.55380859375012,11.744873046875],[98.52841796875012,11.538671875],[98.43476562500004,11.567089843750026],[98.37646484374997,11.79150390625],[98.55380859375012,11.744873046875]]],[[[98.516015625,11.905029296875028],[98.46621093750005,12.08427734374996],[98.60957031250004,11.956640624999977],[98.516015625,11.905029296875028]]],[[[98.06611328125004,12.389794921875023],[98.00234375000005,12.279003906250011],[97.93867187500004,12.34609375],[98.06611328125004,12.389794921875023]]],[[[98.41396484375005,12.597949218749974],[98.45947265625003,12.473730468749991],[98.3138671875,12.335986328124989],[98.31210937500006,12.678173828124983],[98.41396484375005,12.597949218749974]]],[[[98.31542968749997,13.099072265625026],[98.30917968750012,12.934716796875023],[98.26533203125004,13.202246093749991],[98.31542968749997,13.099072265625026]]],[[[94.80488281250004,15.8193359375],[94.73349609375006,15.823046875000045],[94.82802734375005,15.933007812499966],[94.80488281250004,15.8193359375]]],[[[94.47675781250004,15.945947265625023],[94.41191406250007,15.848388671875057],[94.3878906250001,15.994140624999972],[94.60126953125004,16.205517578124983],[94.47675781250004,15.945947265625023]]],[[[97.575,16.253222656250017],[97.48037109375,16.305712890625045],[97.54199218749997,16.505078124999983],[97.575,16.253222656250017]]],[[[93.6908203125,18.68427734375004],[93.4875,18.867529296875063],[93.74472656250006,18.865527343750017],[93.6908203125,18.68427734375004]]],[[[93.71484374999997,19.558251953124994],[93.94570312500005,19.428613281249966],[93.90195312500012,19.33203125],[93.75585937500003,19.325683593750057],[93.64404296874997,19.49506835937501],[93.71484374999997,19.558251953124994]]],[[[93.49179687500012,19.892578125],[93.51328125000006,19.754785156249994],[93.41289062500002,19.950341796875023],[93.49179687500012,19.892578125]]],[[[93.01015625000005,19.923925781249977],[93.02324218750007,19.82885742187497],[92.91464843750006,20.086474609375045],[93.01015625000005,19.923925781249977]]],[[[101.1388671875001,21.567480468749977],[101.08037109375007,21.468652343749994],[100.703125,21.251367187499966],[100.613671875,21.059326171875],[100.56660156250004,21.038183593750063],[100.53613281250003,20.992382812499955],[100.52226562500007,20.92192382812499],[100.54931640624997,20.884228515624955],[100.61767578125003,20.879248046875006],[100.62294921875005,20.859570312499983],[100.5651367187501,20.825097656249994],[100.4074218750001,20.823242187500057],[100.32607421875005,20.795703125000045],[100.24931640625002,20.730273437500045],[100.18388671875002,20.589111328125057],[100.12968750000002,20.372216796874994],[100.12246093750005,20.316650390625057],[100.0036132812501,20.37958984375001],[99.9542968750001,20.415429687500023],[99.8903320312501,20.424414062499977],[99.72011718750005,20.32543945312497],[99.45888671875005,20.363037109375],[99.48593750000006,20.14985351562501],[99.07421875000003,20.09936523437503],[98.9166992187501,19.77290039062504],[98.37128906250004,19.68916015625004],[98.01503906250005,19.74951171874997],[97.816796875,19.459960937500057],[97.74589843750002,18.58818359374999],[97.37392578125,18.51796875],[97.63222656250005,18.290332031250074],[97.7064453125,17.79711914062503],[98.4388671875,16.975683593750034],[98.66074218750006,16.330419921875006],[98.83544921875003,16.417578125],[98.88828125000006,16.351904296875034],[98.81796875000012,16.180810546874994],[98.59238281250006,16.05068359375005],[98.55693359375007,15.367675781249986],[98.19101562500012,15.204101562499972],[98.20214843749997,14.97592773437502],[98.57001953125004,14.359912109375031],[99.13681640625006,13.716699218749994],[99.12392578125,13.030761718750043],[99.40507812500002,12.547900390625003],[99.61474609374997,11.781201171875026],[99.1901367187501,11.105273437499989],[98.7572265625,10.660937499999974],[98.70253906250005,10.19038085937504],[98.56259765625006,10.034960937499989],[98.46494140625006,10.675830078124989],[98.67558593750007,10.986914062500034],[98.74140625000004,11.591699218749966],[98.87597656250003,11.719726562500028],[98.63632812500006,11.738378906250006],[98.69628906250003,12.225244140624994],[98.6002929687501,12.2453125],[98.67871093749997,12.348486328124963],[98.57597656250002,13.161914062500031],[98.20039062500004,13.980175781250026],[98.14951171875012,13.647607421875037],[98.11064453125007,13.712890625000014],[98.10019531250006,14.161523437500023],[97.90976562500012,14.652685546874991],[98.01875,14.652587890625057],[97.81230468750007,14.858935546874989],[97.7103515625,15.875537109375074],[97.58427734375007,16.019580078125017],[97.72597656250005,16.56855468750004],[97.37587890625005,16.52294921874997],[97.20019531249997,17.095410156249983],[96.85146484375005,17.401025390624994],[96.90859375000005,17.03095703125001],[96.76542968750002,16.710351562499966],[96.43115234374997,16.504931640625045],[96.18906250000012,16.768310546875057],[96.32431640625006,16.444433593750063],[95.76328125000006,16.169042968750006],[95.38955078125005,15.722753906250034],[95.30146484375004,15.756152343749989],[95.34677734375012,16.09760742187501],[95.17695312500004,15.825683593750028],[94.9425781250001,15.818261718750023],[94.89316406250006,16.182812499999955],[94.66152343750005,15.904394531250006],[94.70332031250004,16.511914062499955],[94.4416015625001,16.094384765624966],[94.22382812500004,16.016455078125006],[94.58896484375006,17.5693359375],[94.17070312500007,18.73242187499997],[94.24570312500006,18.741162109374983],[94.07001953125004,18.893408203125006],[94.04492187500003,19.287402343750074],[93.92919921874997,18.89965820312503],[93.70546875000005,19.026904296875017],[93.49306640625005,19.369482421875006],[93.82490234375004,19.238476562499955],[93.99814453125006,19.440869140624983],[93.61171875000005,19.776074218749983],[93.70703125000003,19.912158203125074],[93.25,20.070117187500017],[93.12949218750012,19.858007812500063],[93.00195312499997,20.074853515624994],[93.06679687500005,20.377636718749955],[92.82832031250004,20.177587890625063],[92.89111328124997,20.34033203125],[92.73564453125007,20.56269531250001],[92.72285156250004,20.29560546875004],[92.32412109375,20.791845703125063],[92.17958984375005,21.293115234375023],[92.33056640624997,21.439794921874977],[92.63164062500002,21.306201171875045],[92.5934570312501,21.46733398437499],[92.58281250000002,21.940332031249994],[92.57490234375004,21.978076171875045],[92.68896484374997,22.130957031250006],[92.72099609375002,22.132421875000063],[92.77138671875,22.104785156250017],[92.9645507812501,22.003759765625034],[93.07060546875002,22.20942382812501],[93.16201171875,22.360205078125006],[93.07871093750006,22.71821289062501],[93.20390625000002,23.03701171875005],[93.34941406250007,23.08496093750003],[93.36601562500007,23.132519531249955],[93.32626953125006,24.064208984375057],[93.45214843750003,23.987402343750034],[93.68339843750007,24.00654296875004],[94.07480468750006,23.8720703125],[94.29306640625012,24.321875],[94.37724609375002,24.473730468750006],[94.49316406250003,24.637646484374983],[94.70371093750012,25.097851562499955],[94.55302734375007,25.215722656249994],[94.66777343750007,25.458886718749966],[94.99199218750002,25.77045898437504],[95.01523437500006,25.912939453125006],[95.0929687500001,25.98730468749997],[95.13242187500006,26.041259765625057],[95.12929687500005,26.070410156250034],[95.10839843749997,26.091406250000034],[95.06894531250006,26.19111328125001],[95.0597656250001,26.473974609375006],[95.20146484375007,26.641406250000017],[96.19082031250005,27.26127929687499],[96.79785156249997,27.29619140624999],[96.95341796875002,27.13330078125003],[97.10205078125003,27.11542968750004],[97.10371093750004,27.16333007812503],[96.90195312500012,27.439599609374994],[96.88359375000002,27.514843749999955],[96.96279296875,27.698291015625017],[97.04970703125005,27.760009765625],[97.34355468750002,27.982324218749994],[97.30273437499997,28.08598632812496],[97.3224609375001,28.21796875000004],[97.35644531249997,28.254492187500006],[97.43144531250002,28.353906250000023],[97.53789062500002,28.510205078124983],[97.59921875000006,28.51704101562504],[98.06162109375012,28.185888671874977],[98.29882812499997,27.550097656250045],[98.4525390625,27.6572265625],[98.65117187500007,27.572460937499983],[98.7384765625001,26.785742187500006],[98.68554687499997,26.189355468750023],[98.56406250000006,26.072412109374994],[98.65625,25.86357421874999],[98.33378906250007,25.586767578125006],[98.14287109375007,25.571093750000017],[98.01074218749997,25.292529296875017],[97.8195312500001,25.251855468749994],[97.73789062500006,24.869873046875057],[97.58330078125002,24.77480468750005],[97.53144531250004,24.49169921875003],[97.7082031250001,24.228759765625],[97.56455078125012,23.911035156250023],[98.2125,24.110644531250017],[98.83505859375006,24.121191406250034],[98.67675781250003,23.905078125000045],[98.8322265625001,23.624365234374977],[98.86376953125003,23.191259765625034],[99.41806640625006,23.069238281250023],[99.50712890625002,22.959130859374994],[99.19296875000006,22.12597656249997],[99.9176757812501,22.02802734375001],[99.94072265625007,21.75874023437504],[100.14765625000004,21.480517578125017],[100.60458984375012,21.471777343750006],[101.07978515625004,21.75585937499997],[101.1388671875001,21.567480468749977]]]]},"properties":{"name":"Myanmar","childNum":15}},{"geometry":{"type":"Polygon","coordinates":[[[19.21875,43.449951171875],[19.670996093750006,43.163964843749994],[20.344335937500006,42.827929687499996],[20.054296875,42.760058593749996],[20.06396484375,42.54726562499999],[19.78828125000001,42.476171875],[19.65449218750001,42.628564453124994],[19.280664062500023,42.17255859375],[19.342382812500006,41.869091796875],[18.436328125000017,42.559716796874994],[18.5458984375,42.6416015625],[18.46601562500001,42.777246093749994],[18.44384765625,42.96845703125],[18.46015625000001,42.997900390625],[18.48847656250001,43.012158203125],[18.623632812500006,43.027685546875],[18.621875,43.124609375],[18.674218750000023,43.230810546875],[18.74921875000001,43.283544921875],[18.85107421875,43.346337890624994],[18.934667968750006,43.339453125],[18.97871093750001,43.285400390625],[19.026660156250017,43.292431640625],[19.03671875,43.357324218749994],[18.940234375000017,43.496728515624994],[18.95068359375,43.526660156249996],[18.97421875,43.542333984375],[19.0283203125,43.532519531249996],[19.080078125,43.517724609374994],[19.11279296875,43.52773437499999],[19.164355468750017,43.535449218749996],[19.1943359375,43.53330078125],[19.21875,43.449951171875]]]},"properties":{"name":"Montenegro","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[111.878125,43.68017578125],[111.00722656250002,43.34140625],[110.400390625,42.773681640625],[109.44316406249999,42.455957031249994],[109.33984375,42.438378906249994],[108.68730468749999,42.41611328125],[108.17119140624999,42.447314453124996],[106.77001953125,42.288720703124994],[105.86757812500002,41.993994140625],[105.31435546875002,41.770898437499994],[105.19707031249999,41.738037109375],[105.11542968750001,41.66328125],[105.05058593749999,41.61591796875],[104.98203125000003,41.595507812499996],[104.49824218750001,41.65869140625],[104.49824218750001,41.877001953124996],[104.30517578125,41.846142578125],[103.99726562500001,41.79697265625],[103.71113281250001,41.751318359375],[103.07285156250003,42.00595703125],[102.5751953125,42.092089843749996],[102.15664062500002,42.158105468749994],[101.97294921874999,42.215869140624996],[101.65996093749999,42.500048828124996],[101.5791015625,42.52353515625],[101.49531250000001,42.53876953125],[101.09199218750001,42.551318359374996],[100.51904296875,42.616796875],[100.08632812500002,42.670751953125],[99.98378906250002,42.67734375],[99.46787109375003,42.568212890625],[97.20566406250003,42.789794921875],[96.38544921875001,42.720361328124994],[95.85957031250001,43.2759765625],[95.52558593750001,43.953955078125],[95.32558593750002,44.039355468749996],[95.35029296875001,44.278076171875],[94.71201171875003,44.350830078125],[93.51621093750003,44.944482421874994],[92.78789062499999,45.0357421875],[92.57890624999999,45.010986328125],[92.423828125,45.008935546874994],[92.17265624999999,45.03525390625],[92.02978515625,45.068505859374994],[91.584375,45.076513671875],[91.05,45.217431640624994],[90.87724609374999,45.19609375],[90.66181640625001,45.525244140625],[91.00175781249999,46.035791015624994],[90.99677734375001,46.10498046875],[90.94755859374999,46.177294921874996],[90.91152343750002,46.270654296874994],[90.98574218750002,46.7490234375],[90.91054687500002,46.883251953125],[90.86992187499999,46.954492187499994],[90.79902343750001,46.98515625],[90.71552734375001,47.003857421875],[90.49619140625003,47.28515625],[90.42519531250002,47.5041015625],[90.34746093749999,47.596972656249996],[90.33066406250003,47.655175781249994],[90.31328124999999,47.67617187499999],[90.19101562500003,47.702099609375],[90.10322265625001,47.745410156249996],[90.02792968750003,47.877685546875],[89.95869140625001,47.886328125],[89.91044921874999,47.8443359375],[89.83134765624999,47.823291015624996],[89.778125,47.827001953125],[89.56093750000002,48.003955078124996],[89.47919921875001,48.029052734375],[89.04765624999999,48.0025390625],[88.97109375000002,48.049951171874994],[88.91777343749999,48.089013671874994],[88.83828125000002,48.101708984374994],[88.68183593750001,48.170556640624994],[88.57597656249999,48.220166015625],[88.56679687500002,48.317431640624996],[88.51708984375,48.38447265625],[88.41396484375002,48.40341796875],[88.30996093750002,48.472070312499994],[87.97968750000001,48.555126953125],[88.06005859375,48.707177734374994],[87.83183593749999,48.791650390624994],[87.7431640625,48.881640625],[87.87216796875003,49.000146484374994],[87.81630859375002,49.0802734375],[87.8251953125,49.11630859375],[87.81425781249999,49.1623046875],[87.93476562500001,49.16455078125],[87.98808593749999,49.186914062499994],[88.02851562500001,49.219775390624996],[88.11572265625,49.256298828125],[88.19257812500001,49.451708984374996],[88.63320312500002,49.486132812499996],[88.83164062500003,49.4484375],[88.86386718750003,49.527636718749996],[88.90019531249999,49.539697265624994],[88.94541015625003,49.507666015625],[88.97060546875002,49.483740234375],[89.00839843750003,49.472802734374994],[89.10947265625003,49.501367187499994],[89.17998046874999,49.5322265625],[89.20292968749999,49.595703125],[89.24394531249999,49.62705078125],[89.39560546875003,49.6115234375],[89.475,49.66054687499999],[89.57919921875003,49.69970703125],[89.65410156249999,49.71748046875],[89.64384765624999,49.90302734375],[90.0537109375,50.09375],[90.65507812499999,50.22236328125],[90.71435546875,50.259423828124994],[90.7607421875,50.305957031249996],[91.02158203125003,50.415478515625],[91.23378906250002,50.452392578125],[91.30058593749999,50.46337890625],[91.3408203125,50.470068359375],[91.4150390625,50.468017578125],[91.44648437500001,50.52216796875],[91.80429687500003,50.693603515625],[92.10400390625,50.6919921875],[92.1923828125,50.700585937499994],[92.35478515624999,50.864160156249994],[92.42636718750003,50.803076171875],[92.62666015625001,50.68828125],[92.68134765625001,50.683203125],[92.73867187500002,50.7109375],[92.779296875,50.778662109375],[92.8564453125,50.789111328124996],[92.94130859375002,50.778222656249994],[93.103125,50.60390625],[94.25107421875003,50.556396484375],[94.35468750000001,50.221826171874994],[94.61474609375,50.023730468749996],[94.67548828125001,50.028076171875],[94.71806640624999,50.043261718749996],[94.93027343750003,50.04375],[95.11142578125003,49.935449218749994],[95.52265625000001,49.91123046875],[96.06552734375003,49.99873046875],[96.31503906250003,49.901123046875],[96.98574218750002,49.8828125],[97.20859375000003,49.730810546875],[97.35976562500002,49.741455078125],[97.58935546875,49.911474609375],[98.00390625,50.0142578125],[98.25029296874999,50.30244140625],[98.27949218750001,50.533251953124996],[98.14501953125,50.5685546875],[98.07890624999999,50.603808593749996],[98.02978515625,50.64462890625],[97.82529296875003,50.985253906249994],[98.103125,51.483544921874994],[98.64052734375002,51.801171875],[98.89316406250003,52.11728515625],[99.92167968749999,51.755517578125],[100.03457031250002,51.737109375],[100.23037109375002,51.729833984375],[100.46894531250001,51.72607421875],[100.53623046875003,51.7134765625],[101.38125,51.45263671875],[101.57089843750003,51.4671875],[101.82119140625002,51.421044921874994],[102.11152343750001,51.353466796875],[102.15566406250002,51.313769531249996],[102.16005859375002,51.26083984375],[102.14238281249999,51.216064453125],[102.15195312500003,51.10751953125],[102.19453125000001,51.050683593749994],[102.21503906250001,50.829443359375],[102.31660156250001,50.71845703125],[102.28837890624999,50.585107421874994],[103.30439453125001,50.20029296875],[103.63291015625003,50.138574218749994],[103.72324218750003,50.153857421874996],[103.80263671875002,50.176074218749996],[104.07871093750003,50.154248046875],[105.38359374999999,50.47373046875],[106.21787109375003,50.304589843749994],[106.36845703124999,50.317578125],[106.57441406250001,50.32880859375],[106.71113281250001,50.31259765625],[106.94130859375002,50.196679687499994],[107.04023437500001,50.086474609374996],[107.14306640625,50.033007812499996],[107.23330078125002,49.989404296874994],[107.34707031250002,49.986669921875],[107.63095703125003,49.98310546875],[107.91660156250003,49.947802734374996],[107.96542968750003,49.653515625],[108.40693359375001,49.396386718749994],[108.5224609375,49.34150390625],[108.61367187500002,49.322802734374996],[109.23671875000002,49.334912109375],[109.45371093750003,49.296337890625],[109.52871093750002,49.269873046875],[110.19990234375001,49.17041015625],[110.42783203125003,49.219970703125],[110.70976562499999,49.14296875],[110.82792968749999,49.166162109374994],[111.20419921875003,49.304296875],[111.33662109375001,49.35585937499999],[111.42929687500003,49.342626953125],[112.07968750000003,49.42421875],[112.49492187499999,49.53232421875],[112.69736328125003,49.507275390625],[112.80644531249999,49.523583984374994],[112.91484374999999,49.569238281249994],[113.05556640625002,49.616259765624996],[113.09208984374999,49.692529296874994],[113.16416015625003,49.797167968749996],[113.31904296875001,49.874316406249996],[113.44550781250001,49.9416015625],[113.57421875,50.00703125],[114.29707031250001,50.2744140625],[114.7431640625,50.233691406249996],[115.00332031250002,50.138574218749994],[115.27451171875003,49.948876953124994],[115.36503906249999,49.911767578124994],[115.42919921875,49.896484375],[115.58798828125003,49.886035156249996],[115.7177734375,49.880615234375],[115.79521484374999,49.905908203124994],[115.92597656250001,49.9521484375],[116.13457031249999,50.010791015624996],[116.216796875,50.00927734375],[116.35117187500003,49.978076171874996],[116.55117187500002,49.9203125],[116.68330078125001,49.823779296874996],[115.82050781250001,48.57724609375],[115.79169921875001,48.455712890624994],[115.79658203125001,48.346337890624994],[115.78554687500002,48.2482421875],[115.63945312499999,48.18623046875],[115.52509765625001,48.130859375],[115.61640625000001,47.874804687499996],[115.89824218749999,47.686914062499994],[115.99384765625001,47.71132812499999],[116.07480468750003,47.78955078125],[116.23115234375001,47.858203125],[116.31718749999999,47.85986328125],[116.37822265624999,47.844042968749996],[116.51347656249999,47.83955078125],[116.65195312500003,47.864501953125],[116.76054687499999,47.869775390624994],[116.90117187499999,47.853076171874996],[116.95166015625,47.836572265624994],[117.06972656250002,47.806396484375],[117.28593749999999,47.666357421875],[117.35078125000001,47.652197265625],[117.76835937499999,47.987890625],[118.49843750000002,47.983984375],[118.56777343750002,47.943261718749994],[118.69052734375003,47.822265625],[118.75996093750001,47.757617187499996],[118.88027343750002,47.72509765625],[119.017578125,47.685351562499996],[119.08193359375002,47.654150390625],[119.71113281250001,47.15],[119.89785156250002,46.8578125],[119.8671875,46.672167968749996],[119.74746093750002,46.627197265625],[119.70664062500003,46.606005859374996],[119.62021484375003,46.603955078125],[119.47402343750002,46.62666015625],[119.33183593749999,46.613818359374996],[119.162109375,46.638671875],[118.95712890625003,46.73486328125],[118.84394531250001,46.760205078125],[118.79033203124999,46.7470703125],[118.72294921874999,46.69189453125],[118.64873046874999,46.70166015625],[118.58046875000002,46.69189453125],[118.40439453125003,46.703173828124996],[118.30869140625003,46.717041015625],[118.15683593750003,46.678564453125],[118.0712890625,46.6666015625],[117.7412109375,46.5181640625],[117.546875,46.58828125],[117.43808593750003,46.586230468749996],[117.40556640624999,46.5708984375],[117.39218750000003,46.53759765625],[117.35634765625002,46.436669921874994],[117.35693359375,46.39130859375],[117.33339843750002,46.36201171875],[116.85908203125001,46.387939453125],[116.56259765625003,46.289794921875],[116.21298828125003,45.8869140625],[116.22910156250003,45.845751953124996],[116.240625,45.79599609375],[116.19765625000002,45.73935546875],[115.68105468750002,45.458251953125],[115.16259765625,45.390234375],[114.91923828124999,45.378271484375],[114.73876953125,45.41962890625],[114.56015625000003,45.389990234375],[114.41914062500001,45.202587890625],[114.16738281250002,45.049853515624996],[114.08027343750001,44.971142578125],[113.87705078125003,44.89619140625],[113.65263671874999,44.763476562499996],[113.58701171875003,44.745703125],[113.04941406250003,44.810351562499996],[112.70673828125001,44.883447265624994],[112.59677734375003,44.91767578125],[112.49931640624999,45.0109375],[112.41132812500001,45.058203125],[112.11289062500003,45.062939453125],[112.03261718750002,45.081640625],[111.89804687500003,45.0640625],[111.40224609375002,44.36728515625],[111.93173828125003,43.81494140625],[111.878125,43.68017578125]]]},"properties":{"name":"Mongolia","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[145.75195312499997,15.133154296874991],[145.71318359375007,15.215283203125026],[145.821875,15.265380859375014],[145.75195312499997,15.133154296874991]]]},"properties":{"name":"N. Mariana Is.","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[32.112890625,-26.839453125],[32.10595703125,-26.52001953125],[32.04140625000002,-26.28125],[32.060546875,-26.018359375],[31.9482421875,-25.957617187500006],[31.98583984375,-24.46064453125001],[31.799609375000017,-23.8921875],[31.54560546875001,-23.48232421875001],[31.287890625000017,-22.40205078125001],[31.429492187500017,-22.298828125],[32.429785156250006,-21.29707031250001],[32.353613281250006,-21.136523437500003],[32.49238281250001,-20.659765625],[32.992773437500006,-19.98486328125],[32.77763671875002,-19.388769531250006],[32.84980468750001,-19.10439453125001],[32.69970703125,-18.94091796875],[32.99306640625002,-18.35957031250001],[32.87626953125002,-16.88359375],[32.94804687500002,-16.71230468750001],[31.939843750000023,-16.428808593750006],[31.236230468750023,-16.02363281250001],[30.437792968750017,-15.995312500000011],[30.39609375,-15.64306640625],[30.231835937500023,-14.990332031250006],[33.201757812500006,-14.013378906250011],[33.63642578125001,-14.568164062500003],[34.375,-14.4248046875],[34.50527343750002,-14.59814453125],[34.54082031250002,-15.297265625],[34.24609375,-15.829394531250003],[34.528125,-16.319140625],[34.93339843750002,-16.760351562500006],[35.11210937500002,-16.898535156250006],[35.06464843750001,-17.07861328125],[35.124609375,-17.127246093750003],[35.20136718750001,-17.13105468750001],[35.272558593750006,-17.118457031250003],[35.29042968750002,-17.096972656250003],[35.28115234375002,-16.80781250000001],[35.22978515625002,-16.639257812500006],[35.178320312500006,-16.573339843750006],[35.16718750000001,-16.56025390625001],[35.242773437500006,-16.375390625],[35.358496093750006,-16.160546875],[35.59931640625001,-16.12587890625001],[35.70888671875002,-16.095800781250006],[35.75527343750002,-16.05830078125001],[35.79121093750001,-15.958691406250011],[35.89277343750001,-14.891796875000011],[35.86669921875,-14.86376953125],[35.84716796875,-14.6708984375],[35.6904296875,-14.465527343750011],[35.48847656250001,-14.201074218750009],[35.37578125000002,-14.058691406250006],[35.24746093750002,-13.896875],[35.01386718750001,-13.643457031250009],[34.61152343750001,-13.437890625],[34.54570312500002,-13.21630859375],[34.542578125,-13.108691406250003],[34.35781250000002,-12.164746093750011],[34.60625,-11.690039062500006],[34.65957031250002,-11.588671875],[34.82656250000002,-11.57568359375],[34.95947265625,-11.578125],[35.1826171875,-11.574804687500006],[35.41826171875002,-11.583203125000011],[35.50439453125,-11.604785156250003],[35.56435546875002,-11.60234375],[35.630957031250006,-11.58203125],[35.78544921875002,-11.452929687500003],[35.91132812500001,-11.4546875],[36.08222656250001,-11.537304687500011],[36.17548828125001,-11.609277343750009],[36.19130859375002,-11.670703125],[36.3056640625,-11.706347656250003],[36.97890625000002,-11.566992187500006],[37.37285156250002,-11.71044921875],[37.54169921875001,-11.675097656250003],[37.72480468750001,-11.580664062500006],[37.92021484375002,-11.294726562500003],[38.491796875,-11.413281250000011],[38.9875,-11.167285156250003],[39.81708984375001,-10.912402343750003],[39.98867187500002,-10.82080078125],[40.46357421875001,-10.46435546875],[40.61171875000002,-10.661523437500009],[40.48662109375002,-10.76513671875],[40.59716796875,-10.830664062500006],[40.40283203125,-11.33203125],[40.53154296875002,-12.004589843750011],[40.48710937500002,-12.4921875],[40.58085937500002,-12.635546875],[40.43681640625002,-12.983105468750011],[40.56875,-12.984667968750003],[40.595703125,-14.122851562500003],[40.715625,-14.214453125],[40.64609375,-14.538671875],[40.775,-14.421289062500009],[40.84453125000002,-14.718652343750009],[40.617773437500006,-15.115527343750003],[40.650976562500006,-15.260937500000011],[39.98359375000001,-16.22548828125001],[39.79091796875002,-16.29453125],[39.84462890625002,-16.435644531250006],[39.084375,-16.97285156250001],[38.14492187500002,-17.242773437500006],[37.24453125000002,-17.73994140625001],[36.93935546875002,-17.993457031250003],[36.40371093750002,-18.76972656250001],[36.26289062500001,-18.71962890625001],[36.23564453125002,-18.861328125],[35.85371093750001,-18.99335937500001],[34.947851562500006,-19.81269531250001],[34.6494140625,-19.70136718750001],[34.75576171875002,-19.82197265625001],[34.705078125,-20.473046875],[34.98232421875002,-20.80625],[35.267675781250006,-21.650976562500006],[35.31572265625002,-22.396875],[35.38300781250001,-22.45458984375],[35.45634765625002,-22.11591796875001],[35.53007812500002,-22.248144531250006],[35.57539062500001,-22.96308593750001],[35.37041015625002,-23.79824218750001],[35.5419921875,-23.82441406250001],[35.48964843750002,-24.065527343750006],[34.99208984375002,-24.65058593750001],[32.96113281250001,-25.49042968750001],[32.590429687500006,-26.00410156250001],[32.84882812500001,-26.26806640625],[32.95488281250002,-26.08359375],[32.93359375,-26.25234375],[32.88916015625,-26.83046875],[32.88613281250002,-26.84931640625001],[32.353515625,-26.861621093750003],[32.19960937500002,-26.83349609375],[32.112890625,-26.839453125]]]},"properties":{"name":"Mozambique","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[-16.37333984374999,19.706445312499994],[-16.437548828124932,19.609277343749994],[-16.477001953124983,19.710351562499994],[-16.343652343749994,19.86621093750003],[-16.37333984374999,19.706445312499994]]],[[[-5.359912109374989,16.282861328124994],[-5.5125,15.496289062499983],[-9.293701171875,15.502832031249994],[-9.350585937499943,15.677392578125023],[-9.38535156249992,15.667626953124994],[-9.4265625,15.623046875000057],[-9.447705078124926,15.574853515624994],[-9.446923828124937,15.458203124999955],[-9.941406249999972,15.373779296874986],[-10.696582031249989,15.42265625],[-10.9482421875,15.151123046875014],[-11.455224609374994,15.62539062499999],[-11.760156249999937,15.425537109375057],[-11.828759765624966,15.244873046875014],[-11.872851562499989,14.995166015625031],[-12.02158203124992,14.804931640625],[-12.081542968749972,14.766357421875057],[-12.104687499999955,14.745361328125043],[-12.40869140625,14.889013671874991],[-12.735253906249994,15.13125],[-13.105273437499989,15.57177734375],[-13.40966796875,16.059179687500006],[-13.756640624999989,16.172509765624994],[-13.868457031249932,16.14814453125001],[-14.300097656249932,16.58027343750001],[-14.990625,16.676904296874994],[-15.768212890624994,16.485107421875],[-16.23901367187497,16.53129882812499],[-16.44101562499992,16.20454101562504],[-16.480078124999977,16.097216796875017],[-16.50205078124992,15.917333984375063],[-16.53525390624995,15.838378906250057],[-16.53574218749995,16.28681640625001],[-16.463623046875,16.60151367187501],[-16.030322265625017,17.88793945312497],[-16.213085937499926,19.003320312500023],[-16.51445312499996,19.361962890624994],[-16.305273437499977,19.51264648437504],[-16.44487304687499,19.47314453124997],[-16.21044921875003,20.227929687500023],[-16.42978515624995,20.652343750000057],[-16.622509765624955,20.634179687499994],[-16.87607421874992,21.086132812499955],[-16.998242187499926,21.039697265625023],[-17.048046874999955,20.80615234375003],[-17.06396484375,20.89882812499999],[-16.96455078125001,21.329248046875023],[-15.231201171875,21.331298828125],[-14.084667968749926,21.33271484375001],[-13.626025390624932,21.33325195312503],[-13.396728515624943,21.333544921875017],[-13.167431640624926,21.333789062500074],[-13.016210937499949,21.33393554687501],[-13.025097656249983,21.46679687499997],[-13.032226562500028,21.572070312500017],[-13.041748046875,21.71381835937504],[-13.051220703124983,21.854785156250074],[-13.094335937499977,22.49599609375005],[-13.153271484374983,22.820507812499983],[-13.031494140624943,23.000244140625],[-12.895996093749972,23.08955078125001],[-12.739599609375006,23.192724609375063],[-12.62041015624996,23.271337890625006],[-12.559375,23.290820312500045],[-12.372900390624977,23.318017578124994],[-12.023437499999943,23.467578125000017],[-12.016308593749983,23.97021484375],[-12.016308593749983,24.378662109375],[-12.016308593749983,24.923242187499994],[-12.016308593749983,25.059375],[-12.016308593749983,25.331689453124994],[-12.016308593749983,25.740136718749994],[-12.016308593749983,25.995410156250017],[-10.376123046874966,25.995458984375034],[-9.444531249999983,25.99550781250005],[-9.071923828124937,25.99550781250005],[-8.885644531249994,25.99550781250005],[-8.682226562499949,25.99550781250005],[-8.68212890625,26.109472656250006],[-8.68212890625,26.273193359375057],[-8.682324218749955,26.49770507812505],[-8.682617187500028,26.723144531250057],[-8.682861328124972,26.92133789062501],[-8.683349609375,27.285937500000045],[-4.822607421874949,24.99560546875],[-5.640771484374994,24.99516601562499],[-5.959814453124977,24.994970703125063],[-6.287207031249977,24.99482421875001],[-6.594091796874977,24.99462890624997],[-6.396582031249977,23.274804687499994],[-6.02641601562496,20.04218750000001],[-5.827099609374955,18.301562500000045],[-5.741699218749943,17.555566406250023],[-5.713183593750017,17.306884765625],[-5.684765624999983,17.058251953124966],[-5.628662109375028,16.568652343750045],[-5.50961914062492,16.442041015625023],[-5.359912109374989,16.282861328124994]]]]},"properties":{"name":"Mauritania","childNum":2}},{"geometry":{"type":"Polygon","coordinates":[[[-62.1484375,16.74033203124999],[-62.221630859375,16.699511718750003],[-62.191357421875,16.804394531249997],[-62.1484375,16.74033203124999]]]},"properties":{"name":"Montserrat","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[57.65126953125002,-20.48486328125],[57.31767578125002,-20.42763671875001],[57.416015625,-20.18378906250001],[57.65654296875002,-19.98994140625001],[57.7919921875,-20.21259765625001],[57.65126953125002,-20.48486328125]]]},"properties":{"name":"Mauritius","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[34.95947265625003,-11.578125],[34.82656250000005,-11.575683593749972],[34.65957031250005,-11.58867187499996],[34.61855468750005,-11.620214843749991],[34.60625,-11.690039062500006],[34.3578125,-12.164746093749997],[34.542578125,-13.108691406250003],[34.54570312500002,-13.21630859375],[34.6115234375001,-13.437890625000023],[35.0138671875001,-13.64345703124998],[35.247460937499994,-13.896875],[35.37578125000002,-14.05869140625002],[35.48847656250004,-14.20107421874998],[35.69042968749997,-14.465527343750026],[35.84716796875003,-14.670898437500043],[35.8927734375001,-14.891796875000011],[35.7912109375001,-15.958691406250026],[35.75527343750005,-16.058300781249983],[35.708886718749994,-16.095800781249977],[35.5993164062501,-16.12587890624998],[35.35849609375006,-16.160546875000023],[35.242773437500006,-16.375390625],[35.16718750000004,-16.56025390625001],[35.178320312500006,-16.57333984375002],[35.22978515625002,-16.639257812500034],[35.281152343749994,-16.8078125],[35.29042968750005,-17.096972656250017],[35.27255859375006,-17.11845703124996],[35.2013671875001,-17.13105468750004],[35.124609375,-17.127246093749974],[35.06464843750004,-17.078613281250014],[35.11210937500002,-16.898535156250006],[34.93339843750002,-16.760351562500006],[34.528125,-16.319140625],[34.24609374999997,-15.829394531249974],[34.54082031250002,-15.297265625],[34.50527343750005,-14.598144531249957],[34.375,-14.4248046875],[33.63642578125004,-14.568164062499974],[33.148046875,-13.94091796875],[32.98125,-14.009375],[32.797460937500006,-13.6884765625],[32.67041015624997,-13.590429687500006],[32.96757812500002,-13.225],[32.97519531250006,-12.701367187499983],[33.51230468750006,-12.347753906249977],[33.340136718750074,-12.308300781250011],[33.25234375000005,-12.112597656250031],[33.3039062500001,-11.69082031249998],[33.23271484375002,-11.417675781250026],[33.26835937500002,-11.403906249999977],[33.379785156249994,-11.15791015625004],[33.29277343750002,-10.85234375],[33.661523437499994,-10.553125],[33.55371093749997,-10.391308593750011],[33.53759765624997,-10.351562499999986],[33.52890625,-10.234667968749974],[33.31152343750003,-10.037988281249966],[33.3371093750001,-9.954003906249994],[33.350976562499994,-9.862207031250037],[33.25,-9.759570312500003],[33.148046875,-9.603515625],[32.99599609375005,-9.622851562499946],[32.91992187500003,-9.407421875000026],[33.88886718750004,-9.670117187499983],[33.99560546875003,-9.495410156250003],[34.32089843750006,-9.731542968749977],[34.56992187500006,-10.241113281249966],[34.66708984375006,-10.792480468750028],[34.60791015624997,-11.08046875],[34.77382812500005,-11.341699218750009],[34.890625,-11.3935546875],[34.93701171874997,-11.463476562500034],[34.95947265625003,-11.578125]]]},"properties":{"name":"Malawi","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[111.38925781250006,2.415332031250031],[111.31152343749997,2.437597656250034],[111.33349609374997,2.768310546875],[111.38925781250006,2.415332031250031]]],[[[104.22158203125,2.731738281250003],[104.1291015625001,2.767236328125037],[104.18476562500004,2.871728515625009],[104.22158203125,2.731738281250003]]],[[[117.88476562499997,4.186132812500006],[117.64902343750012,4.168994140624974],[117.70800781249997,4.262402343749997],[117.88476562499997,4.186132812500006]]],[[[100.28896484375005,5.294726562499989],[100.19101562500006,5.28286132812498],[100.2455078125,5.467773437499986],[100.33886718749997,5.410058593750037],[100.28896484375005,5.294726562499989]]],[[[99.848046875,6.465722656249994],[99.9186523437501,6.358593750000011],[99.74375,6.263281249999963],[99.64628906250002,6.418359375000023],[99.848046875,6.465722656249994]]],[[[102.10107421874997,6.242236328125031],[102.34013671875002,6.172021484375023],[102.534375,5.862548828125028],[103.09707031250005,5.408447265624986],[103.41582031250007,4.85029296875004],[103.43945312499997,2.93310546875],[103.8122070312501,2.58046875],[104.21855468750002,1.722851562499997],[104.25009765625012,1.388574218750009],[104.11494140625004,1.412255859375037],[103.98144531250003,1.623632812500034],[103.99150390625002,1.454785156249997],[103.6945312500001,1.449658203125026],[103.48027343750007,1.329492187499966],[103.35683593750005,1.546142578125057],[102.72714843750012,1.855566406250034],[101.29550781250012,2.885205078125011],[101.29990234375012,3.253271484375034],[100.71542968750006,3.966210937499966],[100.79550781250012,4.023388671874983],[100.61455078125002,4.3734375],[100.34326171874997,5.984179687500031],[100.11914062499997,6.441992187500048],[100.26142578125004,6.682714843749963],[100.3454101562501,6.549902343750006],[100.75449218750012,6.460058593749991],[100.87392578125,6.24541015624996],[101.05351562500002,6.242578125],[100.98164062500004,5.771044921875045],[101.1139648437501,5.636767578125045],[101.5560546875,5.907763671875003],[101.67841796875004,5.778808593750028],[101.87363281250012,5.825292968749991],[102.10107421874997,6.242236328125031]]],[[[117.5744140625001,4.17060546875004],[117.10058593750003,4.337060546875023],[116.51474609375006,4.370800781249969],[115.86074218750005,4.348046875000037],[115.67880859375006,4.193017578124994],[115.45439453125002,3.034326171875009],[115.24697265625005,3.025927734374989],[115.117578125,2.89487304687502],[115.08076171875004,2.63422851562504],[115.1791015625,2.523193359374972],[114.78642578125002,2.250488281250014],[114.83056640625003,1.980029296874989],[114.5125,1.452001953124963],[113.90234375000003,1.434277343749997],[113.6222656250001,1.2359375],[113.00654296875004,1.433886718750003],[112.94296875000006,1.566992187500034],[112.47617187500006,1.559082031250028],[112.1857421875001,1.4390625],[112.078515625,1.143359374999974],[111.80898437500005,1.011669921874969],[111.10136718750002,1.050537109374986],[110.50576171875005,0.861962890625023],[109.65400390625004,1.614892578125023],[109.53896484375,1.89619140625004],[109.62890625000003,2.027539062499983],[109.86484375000012,1.764453125000031],[110.34921875000012,1.719726562499972],[111.22324218750012,1.395849609374991],[111.0287109375,1.557812500000026],[111.26816406250012,2.13974609375002],[111.20859375000012,2.379638671875043],[111.44384765625003,2.381542968749983],[111.5125,2.743017578124991],[112.98789062500006,3.161914062499974],[113.92392578125006,4.243212890625003],[114.0638671875,4.592675781249966],[114.65410156250007,4.037646484375045],[114.84023437500005,4.393212890625009],[114.74667968750006,4.718066406250017],[115.02675781250005,4.899707031249989],[115.10703125000006,4.390429687499974],[115.290625,4.352587890624989],[115.1400390625,4.899755859374991],[115.37490234375,4.932763671874966],[115.55449218750007,5.093554687500045],[115.41904296875012,5.413183593749963],[115.60390625,5.603417968749994],[115.74082031250012,5.533007812500045],[115.8771484375001,5.613525390625014],[116.74980468750007,6.977099609374989],[116.8498046875001,6.826708984374989],[116.78808593749997,6.606103515624994],[117.12851562500012,6.968896484375009],[117.2298828125,6.939990234374974],[117.29404296875006,6.676904296875023],[117.60966796875002,6.512646484375054],[117.69375,6.35],[117.64453124999997,6.001855468749994],[117.5011718750001,5.884667968750009],[118.00380859375,6.053320312499991],[118.11582031250006,5.8625],[117.93476562500004,5.7875],[117.97363281249997,5.70625],[118.35312500000012,5.80605468749998],[118.59482421875006,5.592089843750003],[119.22343750000007,5.412646484375031],[119.2663085937501,5.308105468750057],[119.21962890625,5.159814453125037],[118.9125,5.02290039062504],[118.26054687500007,4.988867187500034],[118.18535156250002,4.828515625000051],[118.5625,4.502148437499997],[118.54833984375003,4.379248046875006],[118.008203125,4.250244140625014],[117.6964843750001,4.342822265625045],[117.5744140625001,4.17060546875004]]],[[[117.14160156250003,7.168212890625028],[117.08066406250006,7.115283203124989],[117.06425781250007,7.26069335937504],[117.2640625,7.351660156250006],[117.26679687500004,7.220800781249991],[117.14160156250003,7.168212890625028]]]]},"properties":{"name":"Malaysia","childNum":8}},{"geometry":{"type":"Polygon","coordinates":[[[23.380664062500017,-17.640625],[24.27490234375,-17.481054687500006],[24.73291015625,-17.51777343750001],[25.001757812500017,-17.56855468750001],[25.2587890625,-17.793554687500006],[24.909082031250023,-17.821386718750006],[24.530566406250017,-18.052734375],[24.243945312500017,-18.0234375],[23.599707031250006,-18.4599609375],[23.219335937500006,-17.99970703125001],[20.97412109375,-18.31884765625],[20.9794921875,-21.9619140625],[19.977343750000017,-22.00019531250001],[19.98046875,-24.77675781250001],[19.98046875,-28.310351562500003],[19.98046875,-28.451269531250006],[19.539843750000017,-28.574609375],[19.31269531250001,-28.73330078125001],[19.24580078125001,-28.901660156250003],[19.16171875,-28.938769531250003],[18.310839843750017,-28.88623046875],[17.44794921875001,-28.69814453125001],[17.34785156250001,-28.50117187500001],[17.358691406250017,-28.26943359375001],[17.1884765625,-28.13251953125001],[17.05625,-28.031054687500003],[16.93330078125001,-28.069628906250003],[16.875292968750017,-28.1279296875],[16.841210937500023,-28.21894531250001],[16.81015625,-28.26455078125001],[16.7875,-28.39472656250001],[16.755761718750023,-28.4521484375],[16.62617187500001,-28.487890625],[16.487109375000017,-28.572851562500006],[16.447558593750017,-28.617578125],[15.719042968750017,-27.9658203125],[15.341503906250011,-27.386523437500003],[15.139062500000023,-26.50800781250001],[14.9677734375,-26.31806640625001],[14.837109375000011,-25.033203125],[14.5015625,-24.201953125],[14.462792968750023,-22.44912109375001],[13.450585937500023,-20.91669921875001],[13.168359375000023,-20.184667968750006],[12.458203125000011,-18.9267578125],[11.77587890625,-18.001757812500003],[11.733496093750006,-17.7509765625],[11.743066406250023,-17.24921875000001],[11.902539062500011,-17.2265625],[12.013964843750017,-17.168554687500006],[12.21337890625,-17.2099609375],[12.318457031250006,-17.21337890625],[12.359277343750023,-17.205859375],[12.548144531250017,-17.212695312500003],[13.179492187500017,-16.9716796875],[13.475976562500023,-17.0400390625],[14.017480468750023,-17.40888671875001],[16.1484375,-17.390234375],[18.396386718750023,-17.3994140625],[18.95527343750001,-17.803515625],[20.1943359375,-17.863671875],[20.745507812500023,-18.01972656250001],[22.32421875,-17.8375],[23.380664062500017,-17.640625]]]},"properties":{"name":"Namibia","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[167.54443359375003,-22.62324218750001],[167.44375,-22.63916015624997],[167.44345703125006,-22.541406250000037],[167.54443359375003,-22.62324218750001]]],[[[168.01093750000004,-21.429980468750017],[168.1390625,-21.44521484375001],[168.12070312500012,-21.615820312500034],[167.96679687500003,-21.641601562499957],[167.81542968749997,-21.392675781249963],[167.9884765625001,-21.337890624999986],[168.01093750000004,-21.429980468750017]]],[[[167.40087890625003,-21.16064453125003],[167.07265625,-20.99726562499997],[167.03271484374997,-20.922558593750026],[167.18945312500003,-20.803515625000017],[167.05576171875012,-20.720214843750014],[167.29794921875006,-20.732519531250034],[167.40087890625003,-21.16064453125003]]],[[[164.20234375000004,-20.246093749999957],[164.4359375,-20.282226562499957],[165.191796875,-20.768847656249974],[165.66279296875004,-21.267187499999977],[166.94238281250003,-22.09013671875003],[166.97031250000012,-22.32285156250002],[166.77412109375004,-22.37617187500004],[166.4679687500001,-22.256054687499997],[164.92744140625004,-21.289843749999974],[164.16972656250007,-20.48017578125004],[164.05966796875012,-20.141503906249966],[164.20234375000004,-20.246093749999957]]]]},"properties":{"name":"New Caledonia","childNum":4}},{"geometry":{"type":"Polygon","coordinates":[[[14.97900390625,22.99619140624999],[15.181835937500011,21.523388671874997],[15.607324218750023,20.954394531250003],[15.587109375000011,20.733300781249994],[15.963183593750017,20.34619140625],[15.735058593750011,19.904052734375],[15.474316406250011,16.908398437499997],[14.367968750000017,15.750146484374994],[13.4482421875,14.380664062500003],[13.505761718750023,14.134423828124994],[13.606347656250023,13.70458984375],[13.426953125000011,13.701757812499991],[13.323828125,13.670849609374997],[12.871679687500006,13.449023437500003],[12.65478515625,13.3265625],[12.463183593750017,13.09375],[10.958886718750023,13.371533203124997],[10.475878906250017,13.330224609374994],[10.229589843750006,13.281005859375],[10.184667968750006,13.270117187499991],[9.615917968750011,12.810644531249991],[9.201562500000023,12.821484375],[8.750585937500006,12.908154296874997],[8.4560546875,13.059667968749991],[8.095019531250017,13.291162109374994],[7.955761718750011,13.32275390625],[7.788671875,13.337890625],[7.056738281250006,13.000195312499997],[6.804296875,13.107666015625],[6.2998046875,13.658789062499991],[6.184277343750011,13.66367187499999],[5.838183593750017,13.765380859375],[5.491992187500017,13.872851562500003],[5.415820312500017,13.859179687500003],[5.361621093750017,13.836865234374997],[5.241894531250011,13.757226562499994],[4.664843750000017,13.733203125],[4.147558593750006,13.457714843749997],[3.947851562500006,12.775048828124994],[3.646679687500011,12.529980468749997],[3.595410156250011,11.6962890625],[2.805273437500006,12.383837890624989],[2.366015625000017,12.221923828125],[2.38916015625,11.897070312499991],[2.072949218750011,12.309375],[2.226269531250011,12.466064453125],[2.104589843750006,12.701269531249991],[1.56494140625,12.635400390624994],[0.9873046875,13.041894531249994],[0.988476562500011,13.36484375],[1.201171875,13.357519531249991],[0.6181640625,13.703417968750003],[0.42919921875,13.972119140624997],[0.382519531250011,14.245800781249997],[0.163867187500017,14.497216796874994],[0.217480468750011,14.911474609374991],[0.947460937500011,14.982128906249997],[1.300195312500023,15.272265625],[3.001074218750006,15.340966796874994],[3.06015625,15.427197265624997],[3.504296875000023,15.356347656249994],[3.5205078125,15.483105468749997],[3.842968750000011,15.701708984375003],[4.121289062500011,16.357714843750003],[4.234667968750017,16.996386718750003],[4.227636718750006,19.142773437499997],[5.836621093750011,19.479150390624994],[7.481738281250017,20.873095703125003],[11.967871093750006,23.517871093750003],[13.48125,23.18017578125],[14.215527343750011,22.619677734375003],[14.97900390625,22.99619140624999]]]},"properties":{"name":"Niger","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[7.30078125,4.418164062500026],[7.140429687500017,4.395117187500034],[7.227343750000045,4.527343749999972],[7.30078125,4.418164062500026]]],[[[6.804296875,13.107666015625],[7.056738281250006,13.00019531250004],[7.788671875,13.337890625],[7.955761718750011,13.322753906250028],[8.095019531250045,13.29116210937498],[8.750585937500034,12.908154296875026],[9.20156250000008,12.82148437500004],[9.615917968750011,12.810644531249963],[10.184667968750063,13.270117187499963],[10.229589843749977,13.281005859375043],[10.475878906250074,13.330224609375037],[10.958886718750051,13.371533203125011],[12.463183593750017,13.09375],[12.654785156250057,13.3265625],[13.426953125000068,13.701757812499963],[13.606347656250023,13.704589843750014],[13.932324218750011,13.258496093749997],[14.06396484375,13.078515625],[14.160058593750023,12.612792968749986],[14.184863281250017,12.447216796874997],[14.272851562500023,12.356494140624989],[14.518945312500051,12.298242187500023],[14.619726562500063,12.150976562500048],[14.559765625000011,11.492285156249963],[14.20234375000004,11.268164062499963],[14.143261718750068,11.248535156250043],[14.056738281250034,11.245019531250037],[13.981445312500057,11.21186523437504],[13.892089843750057,11.140087890624983],[13.699902343749983,10.873144531250048],[13.53535156250004,10.605078124999963],[13.414550781250028,10.171435546874989],[13.269921875000051,10.036181640624974],[13.198730468750028,9.563769531250003],[12.929492187500074,9.426269531249972],[12.87568359375004,9.303515625000017],[12.80654296875008,8.886621093749994],[12.7822265625,8.817871093750014],[12.651562500000011,8.667773437499989],[12.40351562500004,8.59555664062502],[12.311328125000074,8.419726562499989],[12.2333984375,8.282324218749977],[12.016015625000051,7.589746093750009],[11.809179687500006,7.345068359374991],[11.767382812500017,7.272265624999989],[11.861425781249977,7.11640625000004],[11.657519531250017,6.951562500000023],[11.580078125000057,6.88886718750004],[11.551660156250023,6.697265625],[11.153320312500057,6.437939453125011],[11.1064453125,6.457714843750054],[11.032519531250045,6.697900390625037],[10.954199218750006,6.7765625],[10.60625,7.063085937500006],[10.413183593750006,6.877734375],[10.293066406250034,6.876757812499974],[10.205468750000051,6.891601562499986],[10.185546874999972,6.91279296875004],[10.167773437500017,6.959179687499983],[10.143554687500057,6.99643554687502],[10.038867187500045,6.921386718750014],[9.874218750000068,6.803271484375017],[9.82070312500008,6.783935546874986],[9.779882812500034,6.760156250000023],[9.725585937499972,6.65],[9.659960937500017,6.531982421874986],[9.490234375,6.418652343749997],[8.997167968750006,5.917724609375],[8.715625,5.046875],[8.514843750000068,4.724707031250034],[8.23378906250008,4.907470703124972],[8.293066406250006,4.557617187500014],[7.644238281250068,4.525341796875011],[7.530761718750028,4.655175781249994],[7.284375,4.547656250000031],[7.076562500000051,4.716162109374991],[7.15468750000008,4.514404296875],[6.92324218750008,4.390673828125017],[6.767675781250006,4.724707031250034],[6.860351562500057,4.373339843750045],[6.633007812500011,4.340234375000051],[6.579980468750051,4.475976562499994],[6.554589843750023,4.34140625000002],[6.263671875,4.309423828124991],[6.270996093749972,4.432128906250028],[6.173339843749972,4.277392578125031],[5.970703125,4.338574218749983],[5.587792968750051,4.647216796874972],[5.448144531250023,4.945849609374974],[5.383300781250057,5.129003906249977],[5.475976562500023,5.153857421874989],[5.370019531250023,5.195019531250026],[5.367968750000045,5.337744140624963],[5.549707031250023,5.474218749999963],[5.385839843750034,5.401757812500037],[5.199218750000028,5.533544921874977],[5.456640624999977,5.61171875],[5.327343750000011,5.707519531249986],[5.112402343750034,5.64155273437504],[4.861035156250068,6.026318359374997],[4.431347656250011,6.348583984375026],[3.450781249999977,6.427050781250017],[3.71699218750004,6.597949218750017],[3.430175781250057,6.525],[3.335546875000063,6.396923828125011],[2.706445312500051,6.369238281249963],[2.735644531250045,6.595703125],[2.753710937499989,6.661767578124966],[2.774609374999983,6.711718750000017],[2.752929687500028,6.771630859374966],[2.731738281250045,6.852832031249989],[2.721386718750068,6.980273437500017],[2.75673828125008,7.067919921875017],[2.750488281250057,7.39506835937496],[2.765820312500068,7.422509765625051],[2.783984375000045,7.443408203125045],[2.78515625,7.476855468750017],[2.703125,8.371826171875],[2.774804687500023,9.048535156250026],[3.044921875,9.08383789062502],[3.325195312499972,9.778466796875051],[3.60205078125,10.004541015625009],[3.646582031250006,10.408984374999989],[3.771777343750017,10.417626953124966],[3.83447265625,10.607421875],[3.7568359375,10.76875],[3.71640625,11.07958984375],[3.695312499999972,11.12031250000004],[3.63886718750004,11.176855468750006],[3.487792968749972,11.395410156250037],[3.490527343750017,11.499218750000054],[3.55390625000004,11.631884765624989],[3.595410156250068,11.696289062500057],[3.664746093750068,11.762451171875028],[3.646679687500011,12.529980468749983],[3.947851562500006,12.775048828124994],[4.147558593750006,13.457714843749983],[4.664843750000045,13.733203124999974],[5.241894531250011,13.757226562499994],[5.361621093750074,13.836865234375054],[5.415820312500017,13.859179687499974],[5.491992187500074,13.872851562500003],[6.2998046875,13.658789062500006],[6.804296875,13.107666015625]]]]},"properties":{"name":"Nigeria","childNum":2}},{"geometry":{"type":"Polygon","coordinates":[[[-83.6419921875,10.917236328125],[-83.71293945312499,10.785888671875],[-83.91928710937499,10.7353515625],[-84.6341796875,11.045605468749997],[-84.9091796875,10.9453125],[-85.5841796875,11.189453125],[-85.7443359375,11.06210937499999],[-87.670166015625,12.965673828124991],[-87.58505859374999,13.043310546874991],[-87.42436523437499,12.921142578125],[-87.33725585937499,12.979248046875],[-87.05917968749999,12.991455078125],[-87.00932617187499,13.0078125],[-86.918212890625,13.223583984374997],[-86.87353515625,13.266503906249994],[-86.792138671875,13.27978515625],[-86.72929687499999,13.284375],[-86.710693359375,13.313378906249994],[-86.76352539062499,13.63525390625],[-86.77060546874999,13.69873046875],[-86.758984375,13.746142578125003],[-86.733642578125,13.763476562500003],[-86.61025390625,13.774853515624997],[-86.376953125,13.755664062500003],[-86.33173828125,13.770068359375003],[-86.238232421875,13.899462890625003],[-86.15122070312499,13.994580078124997],[-86.0892578125,14.037207031249991],[-86.04038085937499,14.050146484374991],[-85.9837890625,13.965673828124991],[-85.78671875,13.844433593749997],[-85.75341796875,13.85205078125],[-85.73393554687499,13.858691406250003],[-85.727734375,13.876074218749991],[-85.731201171875,13.931835937499997],[-85.68193359374999,13.982568359374994],[-85.20834960937499,14.311816406250003],[-85.059375,14.582958984374997],[-84.86044921874999,14.809765625],[-84.645947265625,14.661083984374997],[-84.53764648437499,14.633398437499991],[-83.635498046875,14.876416015624997],[-83.5365234375,14.977001953124997],[-83.4150390625,15.008056640625],[-83.15751953124999,14.993066406249994],[-83.18535156249999,14.956396484374991],[-83.21591796874999,14.932373046875],[-83.27988281249999,14.812792968750003],[-83.344384765625,14.902099609375],[-83.413720703125,14.825341796874994],[-83.29921875,14.7490234375],[-83.187744140625,14.340087890625],[-83.4123046875,13.99648437499999],[-83.567333984375,13.3203125],[-83.5109375,12.411816406249997],[-83.627197265625,12.459326171874991],[-83.59335937499999,12.713085937499997],[-83.75424804687499,12.501953125],[-83.680419921875,12.024316406249994],[-83.7671875,12.059277343749997],[-83.82890624999999,11.861035156249997],[-83.70458984375,11.824560546874991],[-83.6517578125,11.642041015624997],[-83.86787109375,11.300048828125],[-83.6419921875,10.917236328125]]]},"properties":{"name":"Nicaragua","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[-169.80341796875,-19.0830078125],[-169.94833984375,-19.072851562500006],[-169.834033203125,-18.96601562500001],[-169.80341796875,-19.0830078125]]]},"properties":{"name":"Niue","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[-68.205810546875,12.144580078124989],[-68.25434570312495,12.032080078124977],[-68.36923828125,12.301953124999983],[-68.205810546875,12.144580078124989]]],[[[4.226171875000034,51.38647460937503],[3.902050781250011,51.20766601562502],[3.43251953125008,51.24575195312505],[3.35009765625,51.37768554687503],[4.226171875000034,51.38647460937503]]],[[[3.94912109375008,51.73945312500001],[4.07509765625008,51.648779296875006],[3.699023437500017,51.70991210937501],[3.94912109375008,51.73945312500001]]],[[[4.886132812500023,53.07070312500005],[4.70917968750004,53.036035156249994],[4.886425781249983,53.18330078124998],[4.886132812500023,53.07070312500005]]],[[[4.226171875000034,51.38647460937503],[3.448925781250068,51.54077148437503],[3.743945312500017,51.596044921875006],[4.27412109375004,51.47163085937498],[4.004785156250051,51.595849609374966],[4.182617187500057,51.61030273437498],[3.946875,51.810546875],[4.482812500000023,52.30917968749998],[4.76875,52.941308593749966],[5.061230468750068,52.96064453125001],[5.532031250000074,53.268701171874966],[6.062207031250068,53.407080078125006],[6.816210937500045,53.44116210937503],[7.197265625000028,53.28227539062499],[7.033007812500045,52.65136718749997],[6.710742187500045,52.61787109374998],[6.748828125000074,52.464013671874994],[7.035156250000057,52.38022460937498],[6.724511718749994,52.080224609374966],[6.800390625,51.96738281249998],[5.948730468750057,51.80268554687501],[6.198828125000034,51.45],[6.129980468750034,51.14741210937501],[5.857519531250034,51.030126953125006],[6.048437500000034,50.90488281250006],[5.993945312500017,50.75043945312504],[5.693554687500011,50.774755859375006],[5.796484375000034,51.153076171875],[5.214160156250045,51.278955078124966],[5.03095703125004,51.46909179687498],[4.226171875000034,51.38647460937503]]],[[[5.325781250000063,53.38574218750003],[5.190234375000074,53.39179687500001],[5.582617187500063,53.438085937500034],[5.325781250000063,53.38574218750003]]]]},"properties":{"name":"Netherlands","childNum":6,"cp":[5.0752777,52.358465]}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[5.085839843750023,60.30756835937501],[5.089062500000068,60.188769531250045],[4.95722656250004,60.44726562500006],[5.085839843750023,60.30756835937501]]],[[[4.958691406250068,61.084570312500034],[4.79902343750004,61.08271484375001],[4.861621093749989,61.19384765625],[4.958691406250068,61.084570312500034]]],[[[8.10273437500004,63.33759765625004],[7.804003906250017,63.413916015625034],[8.073535156250045,63.47080078124998],[8.10273437500004,63.33759765625004]]],[[[8.470800781250063,63.66713867187502],[8.287109375000028,63.68715820312502],[8.764648437500057,63.804638671874955],[8.78652343750008,63.703466796875034],[8.470800781250063,63.66713867187502]]],[[[11.2314453125,64.865869140625],[10.739843750000034,64.87031250000001],[11.02099609375,64.97871093749995],[11.2314453125,64.865869140625]]],[[[12.971777343750063,67.87412109375],[12.824023437500074,67.82124023437498],[13.068066406250068,68.07133789062505],[12.971777343750063,67.87412109375]]],[[[13.872851562500045,68.26533203125004],[14.096777343750034,68.218603515625],[13.229394531250051,67.995361328125],[13.300195312499994,68.16044921875007],[13.872851562500045,68.26533203125004]]],[[[15.207128906250006,68.943115234375],[15.222070312500023,68.61630859375003],[14.404687500000051,68.663232421875],[15.037792968750068,69.00053710937507],[15.207128906250006,68.943115234375]]],[[[15.760351562500006,68.56123046875001],[16.328906250000017,68.87631835937498],[16.519238281250068,68.63300781249998],[15.975292968750011,68.402490234375],[14.257519531249983,68.19077148437503],[15.412597656250028,68.61582031250003],[15.483007812500006,69.04345703125003],[16.04804687500001,69.30205078125002],[15.760351562500006,68.56123046875001]]],[[[17.503027343750034,69.59624023437502],[18.004101562500068,69.50498046874998],[17.95068359375003,69.19814453125],[17.487890625000063,69.19682617187499],[17.08251953124997,69.013671875],[16.81044921875008,69.07070312499997],[17.001757812500045,69.36191406250006],[17.36083984375003,69.38149414062497],[17.503027343750034,69.59624023437502]]],[[[29.956152343750006,69.79677734375002],[29.766210937500006,69.76752929687501],[29.835839843749994,69.90556640625005],[29.956152343750006,69.79677734375002]]],[[[20.779199218750023,70.08974609375002],[20.46425781250005,70.0765625],[20.492773437500006,70.20332031249995],[20.78603515625008,70.21953124999999],[20.779199218750023,70.08974609375002]]],[[[19.25507812500001,70.06640625000006],[19.607812500000023,70.019140625],[19.334765625000074,69.82026367187501],[18.784765625000034,69.57900390624997],[18.12988281250003,69.557861328125],[18.34931640625004,69.76787109374999],[18.67402343750004,69.78164062500002],[19.13271484375005,70.24414062500003],[19.25507812500001,70.06640625000006]]],[[[19.76748046875005,70.21669921875002],[20.005957031250034,70.07622070312502],[19.599023437499994,70.26616210937507],[19.76748046875005,70.21669921875002]]],[[[23.615332031250034,70.54931640625003],[23.15917968750003,70.28261718750005],[22.941015625000063,70.444580078125],[23.546679687500017,70.61708984374997],[23.615332031250034,70.54931640625003]]],[[[24.01757812500003,70.56738281249997],[23.716601562500074,70.561865234375],[23.778417968750063,70.74736328125005],[24.01757812500003,70.56738281249997]]],[[[23.440527343750063,70.81577148437503],[22.8291015625,70.54155273437505],[22.358691406250017,70.514794921875],[21.99453125000008,70.65712890624997],[23.440527343750063,70.81577148437503]]],[[[30.869726562500006,69.78344726562506],[30.860742187499994,69.53842773437503],[30.18017578124997,69.63583984375],[30.08730468750005,69.43286132812503],[29.38828125,69.29814453125005],[28.96582031250003,69.02197265625],[28.846289062500006,69.17690429687502],[29.33339843750005,69.47299804687503],[29.14160156250003,69.67143554687505],[27.747851562500045,70.06484375],[27.127539062500063,69.90649414062497],[26.525390625000057,69.91503906250003],[26.07246093750004,69.69155273437497],[25.748339843750017,68.99013671875],[24.94140625000003,68.59326171875006],[23.85400390625,68.80590820312503],[23.324023437500017,68.64897460937502],[22.410937500000074,68.719873046875],[21.59375,69.273583984375],[21.06611328125001,69.21411132812497],[21.065722656250017,69.04174804687503],[20.622167968750006,69.036865234375],[20.116699218750057,69.02089843750005],[20.348046875000023,68.84873046875003],[19.969824218750063,68.35639648437501],[18.303027343750045,68.55541992187497],[17.91669921875001,67.96489257812502],[17.324609375000023,68.10380859374999],[16.783593750000023,67.89501953125],[16.12744140625,67.42583007812507],[16.40351562500004,67.05498046875002],[15.422949218750006,66.48984374999998],[15.483789062500051,66.30595703124999],[14.543261718750045,66.12934570312498],[14.47968750000004,65.30146484374998],[13.650292968750023,64.58154296874997],[14.077636718750028,64.464013671875],[14.141210937500006,64.17353515624998],[13.960546875000063,64.01401367187498],[13.203515625000023,64.07509765625],[12.792773437500017,64],[12.175195312500051,63.595947265625],[11.999902343750051,63.29169921875001],[12.303515625000074,62.28559570312501],[12.155371093750006,61.720751953125045],[12.88076171875008,61.35229492187506],[12.706054687500028,61.059863281250074],[12.29414062500004,61.00268554687506],[12.588671874999989,60.450732421875045],[12.486132812500074,60.10678710937506],[11.680761718750034,59.59228515625003],[11.798144531250074,59.28989257812498],[11.64277343750004,58.92607421875002],[11.470703125000057,58.909521484375034],[11.388281250000063,59.036523437499966],[10.834472656250028,59.18393554687498],[10.595312500000063,59.764550781249966],[10.179394531250068,59.00927734375003],[9.842578125000017,58.95849609374997],[9.557226562500063,59.11269531250002],[9.65693359375004,58.97119140624997],[8.166113281250063,58.145312500000045],[7.0048828125,58.024218750000074],[6.877050781250006,58.15073242187498],[6.590527343750068,58.09731445312502],[6.659863281250068,58.26274414062499],[5.706835937500074,58.52363281250001],[5.55556640625008,58.975195312500006],[6.099023437500023,58.87026367187502],[6.363281250000028,59.00092773437501],[6.099414062500017,58.951953125000074],[5.88916015625,59.097949218750045],[5.951855468750068,59.299072265625],[6.415332031250074,59.547119140625],[5.17324218750008,59.16254882812498],[5.2421875,59.564306640625034],[5.472460937500017,59.713085937499955],[5.77216796875004,59.66093749999999],[6.216601562499989,59.818359375],[5.73046875,59.863085937500045],[6.348730468750006,60.35297851562504],[6.57363281250008,60.36059570312497],[6.526855468750057,60.152929687500034],[6.995703125,60.511962890625],[6.1533203125,60.34624023437499],[5.145800781250074,59.63881835937502],[5.205664062500006,60.087939453125045],[5.688574218749977,60.12319335937502],[5.285839843750011,60.20571289062505],[5.13710937500008,60.445605468750074],[5.648339843750051,60.68798828124997],[5.244042968750023,60.569580078125],[5.115820312500006,60.63598632812503],[5.008593750000017,61.038183593750006],[6.777832031250028,61.142431640625006],[7.038671875000063,60.952929687500045],[7.040136718750006,61.091162109375034],[7.604492187500057,61.210546875000034],[7.34658203125008,61.30058593749999],[7.442578125000011,61.43461914062502],[7.173535156250011,61.16596679687501],[6.599902343750017,61.28964843749998],[6.383496093750068,61.133886718750034],[5.451269531250034,61.10234375000002],[5.106738281250017,61.187548828125045],[5.002734375000074,61.43359375],[5.338671875000017,61.485498046874994],[4.927832031249977,61.71069335937506],[4.93007812499999,61.878320312499994],[6.01582031250004,61.7875],[6.730761718750045,61.86977539062505],[5.266894531250045,61.935595703125045],[5.143164062500063,62.159912109375],[5.908300781249977,62.41601562500003],[6.083496093750057,62.349609375],[6.580078125000057,62.407275390625045],[6.692382812500028,62.46806640624999],[6.136132812500051,62.40747070312497],[6.352929687500051,62.61113281249999],[7.653125,62.56401367187499],[7.538378906250074,62.67207031249998],[8.045507812500006,62.77124023437503],[6.734960937500006,62.72070312500003],[6.940429687500028,62.930468750000045],[7.571875,63.09951171875002],[8.100585937500028,63.090966796874966],[8.623144531250006,62.84624023437502],[8.158007812500017,63.16152343750005],[8.635546875000045,63.34233398437502],[8.360742187500023,63.498876953125034],[8.576171875000028,63.60117187499998],[9.135839843750006,63.593652343749966],[9.156054687500045,63.459326171875034],[9.696875,63.624560546875045],[10.020996093750028,63.39082031250004],[10.76015625000008,63.461279296875006],[10.725292968750068,63.625],[11.370703125000034,63.804833984374994],[11.175585937500074,63.89887695312498],[11.457617187500063,64.00297851562505],[11.306640625000028,64.04887695312499],[10.91425781250004,63.92109374999998],[10.934863281250045,63.770214843749955],[10.055078125000051,63.5126953125],[9.567285156250051,63.70615234374998],[10.565625,64.418310546875],[11.523828125000051,64.744384765625],[11.632910156250063,64.81391601562495],[11.296777343750051,64.75478515625],[11.489355468750034,64.975830078125],[12.15966796875,65.178955078125],[12.508398437499977,65.09941406250005],[12.915527343750057,65.33925781249997],[12.417578125000063,65.18408203124997],[12.133886718749977,65.27915039062498],[12.68886718750008,65.90219726562498],[13.033105468750051,65.95625],[12.783789062500063,66.10043945312506],[14.034179687500057,66.29755859374998],[13.118847656250011,66.23066406250004],[13.211425781250028,66.64082031250001],[13.959472656250028,66.79433593750002],[13.651562500000011,66.90708007812498],[14.10878906250008,67.11923828125003],[15.41572265625004,67.20244140625002],[14.441699218750045,67.27138671875005],[14.961914062500057,67.57426757812502],[15.59443359375004,67.34853515625005],[15.691503906250006,67.52138671875],[15.24873046875004,67.6021484375],[15.303906250000011,67.76528320312502],[14.854687500000068,67.66333007812506],[14.798925781250063,67.80932617187503],[15.13427734375,67.97270507812502],[15.621386718750017,67.94829101562502],[15.316015624999977,68.06875],[16.007910156250006,68.22871093750004],[16.312304687500017,67.88144531249998],[16.20380859375001,68.31674804687503],[17.552832031250063,68.42626953125006],[16.51435546875004,68.53256835937503],[18.101464843749994,69.15629882812499],[18.259765625,69.47060546875],[18.915917968750023,69.33559570312502],[18.614453125000068,69.49057617187498],[19.197265625000057,69.74785156249999],[19.722460937500017,69.78164062500002],[19.64150390625005,69.42402343750001],[20.324218750000057,69.94531249999997],[20.054492187500074,69.33266601562497],[20.486718750000023,69.54208984375],[20.739453124999983,69.52050781250003],[20.622070312500057,69.91391601562498],[21.163085937500057,69.88950195312498],[21.432910156250045,70.01318359375006],[21.974707031250034,69.83457031249998],[21.355761718750045,70.23339843749997],[22.321972656250068,70.264501953125],[22.684570312500057,70.374755859375],[23.35390625000008,69.98339843750003],[23.3291015625,70.20722656249995],[24.420019531250034,70.70200195312503],[24.263476562500017,70.82631835937497],[24.658007812500017,71.00102539062505],[25.264648437500057,70.843505859375],[25.768164062500063,70.85317382812502],[25.043847656250023,70.10903320312502],[26.66132812500004,70.93974609374999],[26.585058593750034,70.41000976562498],[26.989355468750063,70.51137695312502],[27.183691406250034,70.74404296875],[27.546484375000063,70.80400390625005],[27.23525390625008,70.94721679687498],[27.59707031250005,71.09130859375003],[28.392285156250068,70.97529296875004],[27.898046875,70.67792968750001],[28.271777343750017,70.66796875000003],[28.192968750000034,70.24858398437505],[28.83154296875003,70.86396484375001],[29.7375,70.646826171875],[30.065136718750097,70.70297851562498],[30.944140625000017,70.27441406249997],[30.262988281250074,70.12470703125004],[28.804296875000063,70.09252929687506],[29.601367187500017,69.97675781249998],[29.792089843750063,69.727880859375],[30.08828125,69.71757812500005],[30.237597656250017,69.86220703125002],[30.428320312500006,69.722265625],[30.869726562500006,69.78344726562506]]],[[[25.58632812500005,71.14208984375],[26.13378906250003,70.99580078125004],[25.582031250000057,70.960791015625],[25.31494140625,71.03413085937504],[25.58632812500005,71.14208984375]]],[[[-8.953564453124983,70.83916015625002],[-8.001367187499966,71.17768554687495],[-8.002099609374937,71.04125976562497],[-8.953564453124983,70.83916015625002]]],[[[19.219335937500006,74.39101562500002],[18.86123046875008,74.51416015624997],[19.182910156250045,74.51791992187503],[19.219335937500006,74.39101562500002]]],[[[21.60810546875004,78.59570312499997],[22.04316406250004,78.57695312500007],[22.29951171875004,78.22817382812497],[23.451953125000074,78.14946289062502],[23.11669921874997,77.99150390624999],[24.901855468750057,77.756591796875],[22.55371093750003,77.26665039062502],[22.685351562500045,77.55351562500002],[20.928125,77.45966796874998],[21.653125,77.92353515624998],[20.22792968750005,78.47783203125005],[21.60810546875004,78.59570312499997]]],[[[11.250292968750017,78.610693359375],[12.116406250000068,78.232568359375],[11.121289062500011,78.46328125],[10.558203125000063,78.90292968750003],[11.250292968750017,78.610693359375]]],[[[29.047070312500068,78.91206054687504],[29.69667968750005,78.90473632812495],[27.88906250000005,78.8521484375],[28.511132812500023,78.96733398437502],[29.047070312500068,78.91206054687504]]],[[[16.786718750000034,79.90673828125],[17.834570312499977,79.80004882812503],[17.66875,79.38593750000004],[18.39736328125008,79.60517578125001],[18.677832031250006,79.26171875000003],[19.893554687500057,79.05620117187499],[20.61103515625004,79.10664062499998],[21.388769531250034,78.74042968749998],[19.67675781250003,78.60957031249995],[16.700488281250045,76.57929687499995],[14.365820312500034,77.23447265625003],[13.995703125000034,77.50820312500002],[14.69501953125004,77.525048828125],[14.920800781250023,77.68881835937506],[17.033300781250006,77.79770507812503],[16.91406250000003,77.89799804687505],[14.089941406250063,77.77138671875],[13.680566406250051,78.028125],[14.307226562500006,78.00507812500001],[15.783886718750011,78.32705078125005],[17.00292968750003,78.36938476562497],[16.44863281250008,78.50356445312502],[16.78261718750008,78.66362304687505],[15.417382812500023,78.47324218749998],[15.384179687500023,78.77119140625001],[15.01630859375004,78.63012695312497],[14.689257812500017,78.720947265625],[14.638281250000034,78.41459960937502],[14.110449218750063,78.27089843749997],[13.150195312499989,78.2375],[11.365429687500011,78.95039062500004],[12.323437500000068,78.91425781249995],[12.083984375000028,79.26752929687498],[11.579785156250068,79.28349609375005],[11.208105468750034,79.12963867187503],[10.737597656250017,79.52016601562502],[10.804003906250045,79.79877929687504],[11.150390625,79.71699218749998],[11.702343750000011,79.82060546875005],[12.287792968750068,79.713134765625],[12.279980468749983,79.81596679687507],[13.692871093749972,79.860986328125],[13.777539062500011,79.71528320312498],[12.555371093750068,79.56948242187502],[13.333789062500017,79.57480468750006],[14.029589843750017,79.34414062500005],[14.59365234375008,79.79873046875002],[16.34375,78.97612304687502],[15.816113281250011,79.68183593750001],[16.245703125000034,80.04946289062502],[16.786718750000034,79.90673828125]]],[[[32.52597656250006,80.119140625],[31.48193359374997,80.10791015625003],[33.62929687499999,80.21743164062497],[32.52597656250006,80.119140625]]],[[[20.897851562500023,80.24995117187501],[22.289746093749983,80.04921874999997],[22.450781250000034,80.40224609375005],[23.00800781250004,80.473974609375],[23.114550781250074,80.18696289062498],[24.29755859375004,80.36040039062505],[26.86083984375,80.16000976562498],[27.19863281250008,79.90659179687506],[25.641210937500034,79.40302734374995],[23.94775390625,79.19428710937498],[22.903710937500023,79.23066406250001],[22.865527343750045,79.41186523437497],[20.861132812500017,79.39785156249997],[20.128222656250074,79.489599609375],[19.674609375000045,79.591162109375],[20.784082031250023,79.74858398437502],[18.725,79.7607421875],[18.25537109375,79.92919921875003],[18.855957031250057,80.03662109375],[17.91689453125005,80.14311523437502],[19.343359375000063,80.11640624999998],[19.733300781249994,80.47783203124999],[20.897851562500023,80.24995117187501]]]]},"properties":{"name":"Norway","childNum":27}},{"geometry":{"type":"Polygon","coordinates":[[[87.984375,27.133935546874994],[87.9931640625,27.086083984374994],[88.11103515625001,26.928466796875],[88.1572265625,26.807324218749997],[88.16152343750002,26.724804687499997],[88.11152343750001,26.58642578125],[88.05488281250001,26.430029296875],[88.02695312500003,26.39501953125],[87.9951171875,26.382373046874996],[87.28740234374999,26.360302734374997],[87.01640624999999,26.555419921875],[86.70136718750001,26.43505859375],[86.00732421875,26.649365234374997],[85.79453125000003,26.604150390624994],[85.7373046875,26.63974609375],[85.6484375,26.829003906249994],[85.56845703125003,26.83984375],[85.29296875,26.741015625],[85.19179687500002,26.766552734374997],[84.68535156249999,27.041015625],[84.65380859375,27.091699218749994],[84.65478515625,27.203662109374996],[84.64072265625003,27.249853515625],[84.61015624999999,27.298681640625],[84.48085937500002,27.348193359374996],[84.22978515624999,27.42783203125],[84.09101562500001,27.491357421874994],[83.82880859375001,27.377832031249994],[83.74697265625002,27.395947265624997],[83.55166015625002,27.456347656249996],[83.44716796875002,27.46533203125],[83.38398437500001,27.44482421875],[83.36943359374999,27.41025390625],[83.28974609375001,27.370996093749994],[82.7333984375,27.518994140624997],[82.71083984375002,27.5966796875],[82.67734375000003,27.6734375],[82.6298828125,27.687060546874996],[82.45136718750001,27.671826171874997],[82.28769531250003,27.756542968749997],[82.11191406250003,27.864941406249997],[82.03701171875002,27.900585937499997],[81.98769531250002,27.913769531249997],[81.94521484375002,27.899267578125],[81.896875,27.874462890624997],[81.85263671875003,27.867089843749994],[81.1689453125,28.335009765624996],[80.58701171875003,28.649609375],[80.51787109374999,28.665185546874994],[80.49580078125001,28.635791015624996],[80.47910156250003,28.604882812499994],[80.41855468750003,28.612011718749997],[80.32480468750003,28.66640625],[80.2265625,28.723339843749997],[80.07070312500002,28.83017578125],[80.05166015625002,28.8703125],[80.08457031250003,28.994189453124996],[80.13046875000003,29.100390625],[80.16953125000003,29.124316406249996],[80.23300781250003,29.194628906249996],[80.25595703125003,29.318017578124994],[80.2548828125,29.42333984375],[80.31689453125,29.572070312499996],[80.40185546875,29.730273437499996],[80.54902343750001,29.899804687499994],[80.81992187500003,30.119335937499997],[80.84814453125,30.13974609375],[80.90761718750002,30.171923828124996],[80.96611328124999,30.180029296875],[81.17714843750002,30.039892578125],[81.25507812500001,30.093310546874996],[81.41718750000001,30.337597656249997],[81.64189453124999,30.3875],[81.85488281250002,30.36240234375],[82.04335937500002,30.3267578125],[82.220703125,30.063867187499994],[83.15546875000001,29.612646484375],[83.58349609375,29.18359375],[83.93593750000002,29.279492187499997],[84.02197265625,29.253857421874997],[84.10136718749999,29.219970703125],[84.12783203125002,29.156298828124996],[84.17558593749999,29.036376953125],[84.22871093750001,28.911767578124994],[84.796875,28.560205078124994],[84.85507812500003,28.553613281249994],[85.06914062499999,28.609667968749996],[85.12636718750002,28.60263671875],[85.15908203125002,28.592236328124997],[85.16015625,28.571875],[85.12148437500002,28.484277343749994],[85.08857421875001,28.372265625],[85.12246093750002,28.315966796874996],[85.21210937500001,28.292626953124994],[85.41064453125,28.276025390624994],[85.67832031250003,28.27744140625],[85.75947265625001,28.220654296874997],[85.84023437500002,28.1353515625],[85.92167968749999,27.989697265624997],[85.9541015625,27.92822265625],[85.99453125000002,27.910400390625],[86.06416015625001,27.934716796874994],[86.07871093750003,28.08359375],[86.13701171874999,28.11435546875],[86.21796875000001,28.0220703125],[86.32861328125,27.959521484374996],[86.40869140625,27.928662109374997],[86.51689453124999,27.963525390624994],[86.55449218749999,28.085205078125],[86.61445312500001,28.10302734375],[86.69052734375003,28.094921875],[86.71962890625002,28.070654296875],[86.75039062500002,28.0220703125],[86.93378906250001,27.968457031249997],[87.02011718750003,27.928662109374997],[87.14140624999999,27.838330078124997],[87.29072265625001,27.821923828124994],[87.62255859375,27.815185546875],[87.86074218750002,27.886083984375],[88.10976562500002,27.87060546875],[87.984375,27.133935546874994]]]},"properties":{"name":"Nepal","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[169.17822265624997,-52.497265625],[169.12753906250006,-52.570312499999964],[169.02177734375002,-52.49541015624998],[169.17822265624997,-52.497265625]]],[[[166.22109375,-50.76152343749997],[166.2428710937501,-50.84570312499998],[165.88916015624997,-50.80771484374996],[166.10136718750002,-50.538964843750016],[166.26748046875005,-50.558593750000014],[166.22109375,-50.76152343749997]]],[[[168.14492187500005,-46.862207031249966],[168.04316406250004,-46.9326171875],[168.2409179687501,-47.070019531250026],[167.52197265624997,-47.258691406249994],[167.80078125000003,-46.90654296875002],[167.78398437500007,-46.699804687500006],[167.9557617187501,-46.69443359374998],[168.14492187500005,-46.862207031249966]]],[[[166.97949218749997,-45.17968750000003],[167.02265625000004,-45.299804687499986],[166.89267578125012,-45.24052734374999],[166.97949218749997,-45.17968750000003]]],[[[-176.17763671874997,-43.74033203124998],[-176.38173828124997,-43.86679687499998],[-176.40737304687497,-43.7609375],[-176.516552734375,-43.78476562499996],[-176.33359375000003,-44.02529296875004],[-176.51552734374997,-44.11660156249998],[-176.62934570312495,-44.036132812500014],[-176.55512695312504,-43.85195312499998],[-176.84765625000003,-43.82392578125004],[-176.56611328124995,-43.717578125000045],[-176.17763671874997,-43.74033203124998]]],[[[173.91464843750018,-40.86367187500004],[173.78085937500012,-40.921777343749966],[173.964453125,-40.71298828124998],[173.91464843750018,-40.86367187500004]]],[[[173.11533203125006,-41.27929687499997],[173.94716796875005,-40.92412109375],[173.79785156250003,-41.271972656249986],[173.99941406250005,-40.99326171874996],[174.30253906249996,-41.019531249999986],[174.03857421875003,-41.24189453125],[174.37011718750009,-41.1037109375],[174.06933593750009,-41.42949218750002],[174.08369140625015,-41.67080078124998],[174.2831054687501,-41.740625],[173.22119140624997,-42.976562499999986],[172.62402343749997,-43.27246093749996],[172.73476562500005,-43.35478515625003],[172.52666015625002,-43.464746093749966],[172.69345703125006,-43.444335937499986],[172.80703125000005,-43.620996093749994],[173.07324218750003,-43.676171874999966],[173.065625,-43.87460937499998],[172.50273437500002,-43.84365234374998],[172.48037109375,-43.726660156250034],[172.29658203125004,-43.867871093750026],[172.035546875,-43.70175781250002],[172.17978515625006,-43.895996093749986],[171.24072265624997,-44.26416015625003],[171.14628906250002,-44.9123046875],[170.99902343750003,-44.91142578124999],[171.11328125000003,-45.03925781250001],[170.7005859375,-45.68427734374997],[170.77626953125005,-45.870898437499974],[170.4191406250001,-45.94101562499996],[169.68662109375006,-46.55166015625002],[169.34228515625003,-46.62050781250001],[168.38212890625007,-46.60537109374995],[168.1891601562501,-46.362207031249966],[167.8419921875001,-46.366210937499986],[167.539453125,-46.14853515624996],[167.36894531250007,-46.24150390624999],[166.73154296875006,-46.19785156249998],[166.91669921875004,-45.95722656249998],[166.64990234374997,-46.04169921875004],[166.71796875000004,-45.88935546875001],[166.49316406249997,-45.9638671875],[166.48828124999997,-45.83183593750002],[167.0033203125,-45.71210937500004],[166.79765625000002,-45.64560546874999],[166.99082031250012,-45.531738281249986],[166.73398437500012,-45.54355468749999],[166.74306640625,-45.46845703124997],[166.91992187499997,-45.40791015624998],[166.86923828125006,-45.31123046875],[167.15566406250005,-45.410937499999974],[167.23007812500012,-45.29033203125],[167.02587890624997,-45.12363281249998],[167.25947265625004,-45.08222656249997],[167.19453125000004,-44.963476562500034],[167.41074218750006,-44.82792968750003],[167.4662109375,-44.958300781250045],[167.48496093750006,-44.77138671874998],[167.78701171875,-44.59501953125002],[167.90898437500002,-44.66474609375001],[167.85654296875012,-44.50068359374998],[168.45742187500005,-44.030566406250045],[169.17890625000004,-43.9130859375],[169.16953125000006,-43.77705078125],[169.83388671875,-43.53701171875004],[170.24023437499997,-43.163867187500045],[170.39609375000012,-43.18222656249996],[170.30283203125012,-43.10761718750004],[170.61181640625003,-43.091796875000014],[170.5236328125001,-43.00898437500001],[170.6654296875,-42.961230468749974],[170.73525390625005,-43.029785156249986],[170.96992187500004,-42.71835937499996],[171.01171875000003,-42.88505859374999],[171.027734375,-42.696093750000045],[171.31337890625005,-42.460156250000026],[171.48623046875,-41.7947265625],[171.94804687500002,-41.53867187499996],[172.13945312500002,-40.947265625000014],[172.640625,-40.51826171875001],[172.94365234375007,-40.51875],[172.73261718750004,-40.54375],[172.70439453125002,-40.6677734375],[172.988671875,-40.84824218749999],[173.11533203125006,-41.27929687499997]]],[[[175.54316406250015,-36.279296874999986],[175.34619140624997,-36.217773437499986],[175.3895507812501,-36.07773437499996],[175.54316406250015,-36.279296874999986]]],[[[173.26943359375,-34.93476562499998],[173.44785156250012,-34.844335937500034],[173.47265625000003,-34.94697265624998],[174.10400390625003,-35.14287109375002],[174.1431640625,-35.3],[174.32031250000003,-35.246679687500034],[174.58066406250018,-35.78554687500004],[174.39580078124996,-35.79736328124996],[174.8021484375,-36.30947265625001],[174.72246093750007,-36.84121093749998],[175.29951171875004,-36.99326171874996],[175.38535156250012,-37.206933593749966],[175.54248046874997,-37.2013671875],[175.46083984375005,-36.475683593750034],[175.77216796875004,-36.73515625],[176.10839843749997,-37.64511718749998],[177.27402343750012,-37.993457031249974],[178.0091796875,-37.55488281249998],[178.53623046875006,-37.69208984375004],[178.26767578125006,-38.551171875],[177.976171875,-38.72226562500005],[177.90878906250012,-39.23955078125],[177.52294921875003,-39.07382812499999],[177.07675781250012,-39.22177734375002],[176.93925781249996,-39.55527343750002],[177.10986328125009,-39.673144531250045],[176.8421875000001,-40.15781250000002],[175.98291015625003,-41.21328125000002],[175.30976562499998,-41.610644531249974],[175.16562500000012,-41.41738281249995],[174.88134765624997,-41.42402343749997],[174.8656250000001,-41.223046874999966],[174.63535156250012,-41.28945312499999],[175.1625,-40.62158203125],[175.25410156250004,-40.28935546875],[175.1559570312501,-40.11494140625],[175.00927734375009,-39.95214843749996],[173.93437500000013,-39.50908203125002],[173.76367187499997,-39.31875],[173.84433593750006,-39.13935546875001],[174.39843749999997,-38.96259765624998],[174.59736328124998,-38.78505859374995],[174.80166015625005,-37.895507812500014],[174.92802734375002,-37.80449218750003],[174.58583984374994,-37.09775390625002],[174.73427734375,-37.21523437499998],[174.92890625000004,-37.084765625000045],[174.78203125000013,-36.94375],[174.47558593750009,-36.94189453124997],[174.1888671875001,-36.492285156250034],[174.4015625000001,-36.60195312499999],[174.39277343750004,-36.24003906249999],[174.26787109375002,-36.16308593750003],[174.25371093749996,-36.24912109374998],[174.03642578125013,-36.12246093750001],[173.91445312499994,-35.908691406249986],[173.91728515625002,-36.01816406249999],[174.16640624999994,-36.327636718749986],[174.05468749999991,-36.35976562500004],[173.41220703125012,-35.542578125],[173.62617187500004,-35.31914062499996],[173.3763671875001,-35.50009765624996],[173.31396484375003,-35.44335937499996],[173.11669921874997,-35.205273437500026],[173.190625,-35.01621093749998],[172.70595703125005,-34.45517578124998],[173.04394531249997,-34.429101562499994],[172.96376953125,-34.53515625000003],[173.26943359375,-34.93476562499998]]]]},"properties":{"name":"New Zealand","childNum":9}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[58.722070312499994,20.21875],[58.640917968750074,20.210693359375057],[58.64121093750006,20.33735351562501],[58.884375,20.680566406250023],[58.95078125000006,20.516162109375017],[58.722070312499994,20.21875]]],[[[56.38798828125002,24.97919921875004],[56.640625,24.4703125],[57.12304687500003,23.980712890625],[58.773046875,23.517187499999977],[59.42939453125004,22.660839843749955],[59.82324218749997,22.50898437500004],[59.8,22.21992187500001],[59.37148437500005,21.498828125000017],[58.89570312500004,21.11279296874997],[58.47421875000006,20.406884765624966],[58.20898437500003,20.423974609374994],[58.245019531249994,20.599218749999977],[58.16943359375003,20.58950195312505],[57.86181640624997,20.24414062500003],[57.71416015625002,19.678417968749983],[57.81162109375006,19.01708984374997],[56.825976562500074,18.753515625],[56.3834960937501,17.98798828125001],[55.479101562500006,17.84326171875003],[55.25537109375003,17.58564453125004],[55.275195312500074,17.320898437500006],[55.06416015625004,17.038916015625034],[54.06816406250002,17.005517578124966],[53.60986328124997,16.75996093750004],[53.08564453125004,16.648388671874955],[51.977636718750006,18.996142578125074],[54.97734375000002,19.995947265625006],[55.64101562499999,22.001855468749994],[55.185839843750074,22.7041015625],[55.1999023437501,23.034765625000034],[55.53164062499999,23.81904296875001],[55.4684570312501,23.94111328125001],[55.98515625000002,24.063378906249966],[55.92861328125005,24.215136718750074],[55.76083984375006,24.24267578125],[55.795703125000074,24.868115234374955],[56.00058593750006,24.953222656249977],[56.06386718750005,24.73876953125],[56.38798828125002,24.97919921875004]]],[[[56.29785156250003,25.650683593750045],[56.144628906250006,25.690527343750006],[56.16748046875003,26.047460937499977],[56.08046875,26.06264648437505],[56.41308593749997,26.351171875000034],[56.29785156250003,25.650683593750045]]]]},"properties":{"name":"Oman","childNum":3}},{"geometry":{"type":"Polygon","coordinates":[[[73.08961802927895,36.86435907947333],[73.08203125000107,36.43949943991182],[72.31128647748268,35.77290936638241],[73.13410859949555,34.82510160558277],[73.19895048106557,33.88770931468204],[74.00809389139292,33.25375789331485],[73.98984375,33.22119140625],[74.30361328125002,32.991796875],[74.30546875000002,32.810449218749994],[74.35458984375,32.768701171874994],[74.58828125000002,32.753222656249996],[74.632421875,32.770898437499994],[74.66328125000001,32.757666015625],[74.64335937500002,32.607714843749996],[74.68574218750001,32.493798828124994],[74.78886718750002,32.4578125],[74.9873046875,32.462207031249996],[75.33349609375,32.279199218749994],[75.25410156250001,32.14033203125],[75.13876953125,32.104785156249996],[75.07148437500001,32.08935546875],[74.73945312500001,31.948828125],[74.6357421875,31.88974609375],[74.55556640625002,31.818554687499997],[74.5259765625,31.76513671875],[74.50996093750001,31.712939453124996],[74.58183593750002,31.52392578125],[74.59394531250001,31.465380859374996],[74.53496093750002,31.261376953124994],[74.51767578125,31.185595703124996],[74.6103515625,31.112841796874996],[74.62578125000002,31.06875],[74.6328125,31.03466796875],[74.509765625,30.959667968749997],[74.38037109375,30.893408203125],[74.33935546875,30.8935546875],[74.00898437500001,30.519677734374994],[73.89931640625002,30.435351562499996],[73.88271484375002,30.3521484375],[73.92460937500002,30.28164062499999],[73.93339843750002,30.222070312499994],[73.88652343750002,30.162011718749994],[73.8091796875,30.093359375],[73.38164062500002,29.934375],[72.9033203125,29.028759765624997],[72.34189453125,28.751904296874997],[72.2919921875,28.697265625],[72.128515625,28.346337890624994],[71.94804687500002,28.177294921874996],[71.88886718750001,28.0474609375],[71.87031250000001,27.9625],[71.54296875,27.869873046875],[71.18476562500001,27.831640625],[70.87490234375002,27.714453125],[70.79794921875,27.709619140624994],[70.69160156250001,27.768994140624997],[70.62910156250001,27.937451171874997],[70.40371093750002,28.025048828124994],[70.24433593750001,27.934130859374996],[70.1939453125,27.894873046875],[70.14453125,27.849023437499994],[70.0498046875,27.694726562499994],[69.89628906250002,27.4736328125],[69.56796875,27.174609375],[69.47001953125002,26.804443359375],[70.11464843750002,26.548046875],[70.14921875000002,26.347558593749994],[70.1001953125,25.910058593749994],[70.2646484375,25.70654296875],[70.3251953125,25.685742187499997],[70.44853515625002,25.681347656249997],[70.505859375,25.685302734375],[70.56953125000001,25.705957031249994],[70.6484375,25.666943359374997],[70.65205078125001,25.422900390625003],[70.87773437500002,25.06298828125],[70.95087890625001,24.8916015625],[71.02070312500001,24.75766601562499],[71.0478515625,24.687744140625],[71.00234375000002,24.65390625],[70.97636718750002,24.61875],[70.96982421875,24.571875],[71.04531250000002,24.429980468750003],[71.04404296875,24.400097656249997],[70.98281250000002,24.361035156249997],[70.928125,24.362353515625003],[70.88623046875,24.34375],[70.80507812500002,24.261962890625],[70.76728515625001,24.245410156250003],[70.71630859375,24.237988281249997],[70.65947265625002,24.24609375],[70.57929687500001,24.279052734375],[70.55585937500001,24.331103515625003],[70.5650390625,24.385791015625003],[70.54677734375002,24.41831054687499],[70.2890625,24.35629882812499],[70.0982421875,24.2875],[69.80517578125,24.165234375],[69.71621093750002,24.172607421875],[69.63417968750002,24.22519531249999],[69.5591796875,24.273095703124994],[69.44345703125,24.275390625],[69.23505859375001,24.268261718749997],[69.11953125000002,24.26865234374999],[69.05156250000002,24.286328125],[68.98457031250001,24.273095703124994],[68.90078125000002,24.292431640624997],[68.86347656250001,24.266503906249994],[68.82832031250001,24.26401367187499],[68.78115234375002,24.313720703125],[68.75898437500001,24.30722656249999],[68.73964843750002,24.2919921875],[68.728125,24.265625],[68.72412109375,23.96469726562499],[68.48867187500002,23.967236328124997],[68.38125,23.950878906249997],[68.28251953125002,23.927978515625],[68.1650390625,23.857324218749994],[68.11552734375002,23.753369140624997],[67.8599609375,23.90268554687499],[67.66845703125,23.810986328124997],[67.309375,24.1748046875],[67.171484375,24.756103515625],[66.70302734375002,24.8609375],[66.69863281250002,25.226318359375],[66.32421875,25.601806640625],[66.13115234375002,25.49326171874999],[66.46767578125002,25.4453125],[64.77666015625002,25.307324218749997],[64.65898437500002,25.18408203125],[64.059375,25.40292968749999],[63.556640625,25.353173828124994],[63.49140625000001,25.210839843749994],[61.56689453125,25.186328125],[61.587890625,25.20234375],[61.61542968750001,25.2861328125],[61.64013671875,25.584619140624994],[61.67138671875,25.6923828125],[61.66181640625001,25.751269531250003],[61.66865234375001,25.768994140624997],[61.73769531250002,25.82109375],[61.75439453125,25.84335937499999],[61.78076171875,25.995849609375],[61.80996093750002,26.165283203125],[61.842382812500006,26.225927734375],[62.1259765625,26.368994140625],[62.239355468750006,26.35703125],[62.31230468750002,26.490869140624994],[63.168066406250006,26.665576171874996],[63.186132812500006,26.837597656249997],[63.24160156250002,26.86474609375],[63.25039062500002,26.879248046875],[63.24208984375002,27.077685546874996],[63.30517578125,27.124560546874996],[63.30156250000002,27.15146484375],[63.25625,27.207910156249994],[63.19609375000002,27.243945312499996],[63.16679687500002,27.252490234374996],[62.75273437500002,27.265625],[62.782324218750006,27.800537109375],[62.7625,28.202050781249994],[61.88984375000001,28.546533203124994],[61.15214843750002,29.542724609375],[61.0341796875,29.663427734375],[60.843359375,29.858691406249996],[61.22441406250002,29.749414062499994],[62.0009765625,29.530419921874994],[62.4765625,29.408349609374994],[63.56757812500001,29.497998046874997],[64.09873046875,29.391943359375],[64.39375,29.544335937499994],[65.09550781250002,29.559472656249994],[66.23125,29.86572265625],[66.346875,30.802783203124996],[66.82929687500001,31.263671875],[67.45283203125001,31.234619140625],[67.737890625,31.343945312499997],[67.57822265625,31.506494140624994],[68.16103515625002,31.802978515625],[68.59765625,31.802978515625],[68.86894531250002,31.634228515624997],[69.279296875,31.936816406249996],[69.24140625000001,32.433544921875],[69.5015625,33.020068359374996],[70.26113281250002,33.289013671875],[69.8896484375,34.007275390625],[70.65400390625001,33.952294921874994],[71.05156250000002,34.049707031249994],[71.095703125,34.369433593749996],[70.965625,34.53037109375],[71.62050781250002,35.183007812499994],[71.57197265625001,35.546826171875],[71.18505859375,36.04208984375],[71.23291015625,36.12177734375],[72.24980468750002,36.734716796875],[73.08961802927895,36.86435907947333]]]},"properties":{"name":"Pakistan","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[-81.60327148437497,7.332812499999989],[-81.85205078125003,7.453320312500026],[-81.812158203125,7.59238281250002],[-81.72875976562494,7.62119140625002],[-81.60327148437497,7.332812499999989]]],[[[-78.89833984375002,8.27426757812502],[-78.960595703125,8.435839843749989],[-78.88325195312495,8.460253906249989],[-78.89833984375002,8.27426757812502]]],[[[-77.37421874999993,8.65830078125002],[-77.47851562499994,8.498437500000037],[-77.19599609374995,7.972460937500003],[-77.53828124999995,7.56625976562502],[-77.76191406249995,7.698828125000034],[-77.90117187499999,7.229345703125048],[-78.42158203124995,8.060986328125011],[-78.28735351562497,8.091796874999972],[-78.14189453125002,8.386083984374977],[-77.76054687499993,8.133251953124983],[-78.09946289062498,8.496972656250009],[-78.22304687500002,8.396630859374994],[-78.39921874999993,8.505664062500003],[-78.40986328124998,8.35532226562502],[-78.51406249999997,8.628173828125],[-79.08637695312495,8.997167968750034],[-79.50708007812494,8.97006835937502],[-79.68745117187493,8.850976562500009],[-79.81591796875,8.639208984375031],[-79.75043945312498,8.595507812500017],[-80.458984375,8.213867187499972],[-80.45810546875,8.077050781249994],[-80.01123046875,7.500048828125031],[-80.66669921874995,7.225683593750006],[-80.90122070312503,7.277148437500017],[-81.06386718749994,7.89975585937502],[-81.26840820312495,7.625488281250014],[-81.50415039062503,7.721191406249972],[-81.72763671875,8.137548828124977],[-82.15986328124995,8.19482421875],[-82.23544921874998,8.311035156250057],[-82.67954101562503,8.321972656249969],[-82.86611328124994,8.246337890625014],[-82.87934570312498,8.07065429687502],[-83.02734375,8.337744140624991],[-82.86162109374999,8.453515625000037],[-82.84477539062493,8.489355468749963],[-82.85571289062494,8.635302734375031],[-82.91704101562502,8.740332031250034],[-82.88198242187497,8.805322265625037],[-82.72783203125002,8.916064453125031],[-82.78305664062498,8.990283203124974],[-82.88134765625003,9.055859375000011],[-82.94033203124997,9.060107421874989],[-82.93984374999994,9.449169921875026],[-82.92504882812494,9.469042968749989],[-82.88896484374999,9.481005859375017],[-82.86015625,9.511474609375014],[-82.84399414062497,9.570800781250014],[-82.801025390625,9.591796875000028],[-82.64409179687502,9.505859375000028],[-82.56357421875003,9.576660156249972],[-82.50034179687503,9.523242187500017],[-82.37080078124993,9.428564453124991],[-82.33974609375,9.209179687499983],[-82.18813476562502,9.191748046874977],[-82.24418945312499,9.031494140625014],[-82.07788085937503,8.93486328124996],[-81.78022460937495,8.957226562499983],[-81.89448242187495,9.140429687500003],[-81.35478515624996,8.78056640624996],[-80.83867187499999,8.887207031250014],[-80.12709960937497,9.20991210937504],[-79.57729492187497,9.597851562500026],[-78.08276367187494,9.236279296874997],[-77.37421874999993,8.65830078125002]]]]},"properties":{"name":"Panama","childNum":3}},{"geometry":{"type":"Polygon","coordinates":[[[-73.137353515625,-6.4658203125],[-73.75810546874999,-6.90576171875],[-73.79301757812499,-7.135058593750003],[-73.758203125,-7.172753906250009],[-73.72041015625,-7.309277343750011],[-73.964306640625,-7.37890625],[-73.95849609375,-7.506640625],[-73.98173828124999,-7.535742187500006],[-74.00205078124999,-7.556054687500009],[-73.98173828124999,-7.585058593750006],[-73.946875,-7.611230468750009],[-73.89462890624999,-7.65478515625],[-73.82207031249999,-7.738964843750011],[-73.76689453124999,-7.753515625],[-73.72041015625,-7.782519531250003],[-73.73203125,-7.875390625],[-73.54912109374999,-8.345800781250006],[-73.39814453125,-8.458984375],[-73.36040039062499,-8.479296875],[-73.351708984375,-8.51416015625],[-73.35673828124999,-8.566992187500006],[-73.30244140625,-8.654003906250011],[-73.203125,-8.719335937500006],[-73.0705078125,-8.8828125],[-72.9740234375,-8.9931640625],[-72.970361328125,-9.1201171875],[-73.08984375,-9.265722656250006],[-73.209423828125,-9.411425781250003],[-72.379052734375,-9.51015625],[-72.181591796875,-10.003710937500003],[-71.33940429687499,-9.988574218750003],[-71.11528320312499,-9.852441406250009],[-71.041748046875,-9.81875],[-70.6369140625,-9.478222656250011],[-70.60791015625,-9.463671875],[-70.54111328124999,-9.4375],[-70.57016601562499,-9.48984375],[-70.592236328125,-9.54345703125],[-70.59916992187499,-9.620507812500009],[-70.642333984375,-11.01025390625],[-70.59653320312499,-10.976855468750003],[-70.53325195312499,-10.946875],[-70.45087890625,-11.024804687500009],[-70.39228515625,-11.05859375],[-70.3419921875,-11.066699218750003],[-70.29038085937499,-11.064257812500003],[-70.22006835937499,-11.04765625],[-70.06630859375,-10.982421875],[-69.9603515625,-10.929882812500011],[-69.839794921875,-10.933398437500003],[-69.6740234375,-10.9541015625],[-69.57861328125,-10.951757812500006],[-68.68525390625,-12.501953125],[-68.97861328124999,-12.880078125000011],[-69.07412109375,-13.682812500000011],[-68.87089843749999,-14.169726562500003],[-69.35947265624999,-14.7953125],[-69.37470703125,-14.962988281250006],[-69.17246093749999,-15.236621093750003],[-69.4208984375,-15.640625],[-69.21757812499999,-16.14912109375001],[-68.8427734375,-16.337890625],[-69.03291015625,-16.47597656250001],[-69.020703125,-16.6421875],[-69.62485351562499,-17.2001953125],[-69.645703125,-17.24853515625],[-69.521923828125,-17.388964843750003],[-69.510986328125,-17.46035156250001],[-69.51108398437499,-17.5048828125],[-69.5109375,-17.50605468750001],[-69.58642578125,-17.5732421875],[-69.684765625,-17.64980468750001],[-69.85209960937499,-17.70380859375001],[-69.80258789062499,-17.990234375],[-69.92636718749999,-18.2060546875],[-70.41826171874999,-18.34560546875001],[-71.33696289062499,-17.68251953125001],[-71.5322265625,-17.29433593750001],[-72.46767578125,-16.708105468750006],[-73.727685546875,-16.20166015625],[-75.104248046875,-15.411914062500003],[-75.533642578125,-14.89921875],[-75.93388671874999,-14.63359375],[-76.37646484375,-13.863085937500003],[-76.259228515625,-13.802832031250006],[-76.2236328125,-13.371191406250006],[-76.83212890624999,-12.348730468750006],[-77.152734375,-12.060351562500003],[-77.2203125,-11.663378906250003],[-77.633203125,-11.287792968750011],[-77.736083984375,-10.83671875],[-78.18559570312499,-10.089062500000011],[-78.76225585937499,-8.616992187500003],[-79.37724609374999,-7.835546875],[-79.99497070312499,-6.768945312500009],[-81.142041015625,-6.056738281250006],[-81.164306640625,-5.875292968750003],[-80.9306640625,-5.8408203125],[-80.88193359374999,-5.635058593750003],[-81.33662109375,-4.66953125],[-81.283203125,-4.322265625],[-80.503662109375,-3.49609375],[-80.324658203125,-3.387890625000011],[-80.24375,-3.576757812500006],[-80.19414062499999,-3.905859375],[-80.23051757812499,-3.924023437500011],[-80.26689453124999,-3.948828125],[-80.30327148437499,-4.005078125000011],[-80.43720703125,-3.978613281250006],[-80.49013671875,-4.010058593750003],[-80.510009765625,-4.069531250000011],[-80.49345703124999,-4.119140625],[-80.4884765625,-4.16552734375],[-80.453759765625,-4.205175781250006],[-80.35288085937499,-4.20849609375],[-80.44384765625,-4.335839843750009],[-80.4884765625,-4.393652343750006],[-80.47856445312499,-4.430078125],[-80.42416992187499,-4.46142578125],[-80.38349609375,-4.463671875],[-80.293359375,-4.416796875],[-80.1974609375,-4.31103515625],[-80.13955078125,-4.296093750000011],[-80.06352539062499,-4.327539062500009],[-79.962890625,-4.390332031250011],[-79.8451171875,-4.445898437500006],[-79.797265625,-4.476367187500003],[-79.71098632812499,-4.467578125],[-79.63852539062499,-4.454882812500003],[-79.57768554687499,-4.500585937500006],[-79.51616210937499,-4.539160156250006],[-79.501904296875,-4.670605468750011],[-79.45576171875,-4.766210937500006],[-79.3994140625,-4.840039062500011],[-79.33095703125,-4.927832031250006],[-79.26811523437499,-4.957617187500006],[-79.186669921875,-4.958203125000011],[-79.07626953124999,-4.990625],[-79.03330078124999,-4.969140625],[-78.995263671875,-4.908007812500003],[-78.97539062499999,-4.873242187500011],[-78.919189453125,-4.8583984375],[-78.92578125,-4.770703125000011],[-78.9076171875,-4.714453125],[-78.8615234375,-4.6650390625],[-78.68603515625,-4.562402343750009],[-78.64799804687499,-4.248144531250006],[-78.345361328125,-3.397363281250009],[-78.240380859375,-3.472558593750009],[-77.860595703125,-2.981640625000011],[-76.6791015625,-2.562597656250006],[-76.089794921875,-2.133105468750003],[-75.570556640625,-1.53125],[-75.42041015625,-0.962207031250003],[-75.40805664062499,-0.92431640625],[-75.24960937499999,-0.951855468750011],[-75.259375,-0.590136718750003],[-75.42470703125,-0.408886718750011],[-75.49106445312499,-0.248339843750003],[-75.56059570312499,-0.200097656250009],[-75.63203125,-0.157617187500009],[-75.62626953124999,-0.122851562500003],[-75.340478515625,-0.1421875],[-75.13837890625,-0.050488281250011],[-74.8017578125,-0.200097656250009],[-74.78046875,-0.24453125],[-74.75537109375,-0.298632812500003],[-74.691650390625,-0.335253906250003],[-74.616357421875,-0.370019531250009],[-74.555078125,-0.429882812500011],[-74.5138671875,-0.470117187500009],[-74.46518554687499,-0.517675781250006],[-74.41787109375,-0.580664062500006],[-74.334423828125,-0.850878906250003],[-74.28388671875,-0.927832031250006],[-74.24638671874999,-0.970605468750009],[-74.05439453125,-1.028613281250003],[-73.98681640625,-1.09814453125],[-73.926953125,-1.125195312500011],[-73.86318359375,-1.196679687500009],[-73.664306640625,-1.248828125],[-73.4962890625,-1.693066406250011],[-73.19697265625,-1.830273437500011],[-73.1544921875,-2.278222656250009],[-72.9896484375,-2.339746093750009],[-72.94111328125,-2.39404296875],[-72.21845703125,-2.400488281250006],[-71.98427734375,-2.3265625],[-71.93247070312499,-2.288671875],[-71.86728515624999,-2.227734375000011],[-71.802734375,-2.166308593750003],[-71.75253906249999,-2.152734375],[-71.55947265625,-2.22421875],[-71.39697265625,-2.334082031250006],[-71.19638671874999,-2.313085937500006],[-71.11337890624999,-2.245410156250003],[-71.027294921875,-2.225781250000011],[-70.96855468749999,-2.206835937500003],[-70.70537109374999,-2.341992187500011],[-70.64799804687499,-2.40576171875],[-70.57587890625,-2.418261718750003],[-70.29462890625,-2.552539062500003],[-70.24443359374999,-2.606542968750006],[-70.16474609375,-2.639843750000011],[-70.095849609375,-2.658203125],[-70.735107421875,-3.781542968750003],[-70.5296875,-3.866406250000011],[-70.48583984375,-3.869335937500011],[-70.42109375,-3.849609375],[-70.37919921874999,-3.81875],[-70.339501953125,-3.814355468750009],[-70.2984375,-3.84423828125],[-70.24028320312499,-3.882714843750009],[-70.16752929687499,-4.050195312500009],[-70.0171875,-4.162011718750009],[-69.96591796874999,-4.2359375],[-69.97202148437499,-4.301171875],[-70.00395507812499,-4.327246093750006],[-70.05332031249999,-4.333105468750006],[-70.12880859375,-4.28662109375],[-70.23916015625,-4.301171875],[-70.31689453125,-4.246972656250009],[-70.34365234375,-4.193652343750003],[-70.40463867187499,-4.150097656250011],[-70.5306640625,-4.167578125],[-70.72158203125,-4.158886718750011],[-70.79951171875,-4.17333984375],[-70.97368164062499,-4.350488281250009],[-71.8447265625,-4.50439453125],[-72.256787109375,-4.748925781250009],[-72.35283203124999,-4.786035156250009],[-72.468994140625,-4.901269531250009],[-72.608349609375,-5.009570312500003],[-72.69873046875,-5.0671875],[-72.83193359375,-5.09375],[-72.88706054687499,-5.122753906250011],[-72.9798828125,-5.634863281250006],[-73.16289062499999,-5.933398437500003],[-73.209375,-6.028710937500009],[-73.235546875,-6.0984375],[-73.137353515625,-6.4658203125]]]},"properties":{"name":"Peru","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[120.250390625,5.256591796875043],[119.82148437500004,5.06953125000004],[120.1652343750001,5.332421875000037],[120.250390625,5.256591796875043]]],[[[121.159375,6.075634765625011],[121.41103515625005,5.939843749999966],[121.29443359374997,5.869970703125034],[120.8763671875,5.95263671875],[121.159375,6.075634765625011]]],[[[122.09287109375012,6.428320312500006],[121.95917968750004,6.415820312500045],[121.83203125000003,6.664062499999986],[122.0583007812501,6.740722656249972],[122.32353515625002,6.602246093750011],[122.09287109375012,6.428320312500006]]],[[[122.93710937500006,7.409130859374983],[122.80468750000003,7.315966796875017],[122.82216796875,7.428466796875014],[122.93710937500006,7.409130859374983]]],[[[117.07988281250007,7.883398437499977],[117.02832031249997,7.807519531249966],[116.96953125000007,7.894921875],[116.9935546875,8.050537109375014],[117.07705078125,8.069140624999974],[117.07988281250007,7.883398437499977]]],[[[117.35527343750002,8.21464843749996],[117.28701171875,8.191015625000034],[117.28085937500006,8.314990234374974],[117.35527343750002,8.21464843749996]]],[[[124.80664062500003,9.142626953125003],[124.66582031250002,9.132324218750043],[124.65332031250003,9.225830078125],[124.80664062500003,9.142626953125003]]],[[[123.69765625000005,9.237304687500028],[123.61445312500004,9.103320312499989],[123.49345703125002,9.192089843750054],[123.69765625000005,9.237304687500028]]],[[[126.00595703125006,9.320947265625009],[126.19335937499997,9.276708984374963],[126.30458984375,8.952050781249994],[126.13955078125005,8.59565429687504],[126.36533203125012,8.483886718750014],[126.45869140625004,8.20283203125004],[126.43535156250002,7.832812499999974],[126.57011718750002,7.677246093749986],[126.58154296875003,7.247753906249969],[126.1920898437501,6.852539062500014],[126.18935546875,6.309667968749991],[125.82441406250004,7.333300781249989],[125.68925781250007,7.263037109374977],[125.38066406250007,6.689941406250014],[125.58847656250012,6.465771484374997],[125.66796874999997,5.97866210937498],[125.34648437500002,5.598974609374977],[125.23154296875006,6.069531250000011],[124.92734375000006,5.875341796874977],[124.21279296875,6.233251953124977],[124.078125,6.404443359375037],[123.98525390625,6.993701171875003],[124.20664062500006,7.396435546874983],[123.66582031250002,7.817773437500023],[123.49306640625,7.80791015624996],[123.39091796875007,7.407519531250017],[123.09667968749997,7.700439453125],[122.8429687500001,7.529296875000043],[122.79179687500002,7.72246093749996],[122.61621093749997,7.763134765624983],[122.14248046875,6.949658203124997],[121.96425781250005,6.96821289062504],[121.92460937500002,7.199511718750003],[122.24335937500004,7.945117187500031],[122.91113281250003,8.156445312499997],[123.05058593750002,8.433935546875048],[123.43457031249997,8.70332031250004],[123.84921875000006,8.432714843749977],[123.79941406250006,8.049121093749989],[124.19765625,8.229541015624974],[124.40488281250006,8.599853515625014],[124.7311523437501,8.562988281250043],[124.86894531250002,8.972265625000034],[125.141015625,8.86875],[125.20966796875004,9.027148437500017],[125.49873046875004,9.014746093749977],[125.47128906250006,9.756787109374983],[126.00595703125006,9.320947265625009]]],[[[126.059375,9.766210937500034],[125.99121093750003,9.838525390625023],[126.07382812500006,10.059228515625051],[126.1725585937501,9.79995117187498],[126.059375,9.766210937500034]]],[[[124.59384765625006,9.787207031249963],[124.1224609375,9.599316406249969],[123.93564453125012,9.623974609375011],[123.81718750000002,9.817382812499986],[124.17285156250003,10.135205078124983],[124.33574218750002,10.159912109375043],[124.57714843749997,10.026708984374991],[124.59384765625006,9.787207031249963]]],[[[125.69023437500007,9.914453125000037],[125.49482421875004,10.118701171875003],[125.66679687500002,10.440136718750026],[125.69023437500007,9.914453125000037]]],[[[119.91621093750004,10.485986328125037],[119.79316406250004,10.455273437499997],[119.85205078124997,10.64013671875],[120.00839843750012,10.570117187500031],[119.91621093750004,10.485986328125037]]],[[[122.64951171875012,10.472705078125003],[122.53837890625002,10.424951171875037],[122.5375,10.607568359375023],[122.70126953125006,10.740625],[122.64951171875012,10.472705078125003]]],[[[123.13085937500003,9.064111328124994],[122.99472656250006,9.058837890624986],[122.8666015625,9.319824218750043],[122.5625,9.482812500000037],[122.39951171875006,9.823046874999989],[122.47148437500007,9.961523437500034],[122.85556640625006,10.0869140625],[122.81699218750012,10.503808593750023],[122.98330078125,10.886621093750037],[123.25664062500007,10.99394531249996],[123.51064453125005,10.923046875],[123.5675781250001,10.780761718750057],[123.16201171875,9.864257812500028],[123.1498046875,9.606152343750026],[123.32050781250004,9.27294921875],[123.13085937500003,9.064111328124994]]],[[[123.37031250000004,9.449609375000023],[123.38623046874997,9.967089843750017],[124.03886718750002,11.273535156249991],[124.00498046875012,10.40009765625004],[123.70048828125007,10.128320312500009],[123.37031250000004,9.449609375000023]]],[[[123.75703125000004,11.28330078125002],[123.815625,11.15073242187502],[123.73671875,11.151464843749991],[123.75703125000004,11.28330078125002]]],[[[117.31113281250012,8.439599609375051],[117.21855468750007,8.367285156249963],[117.34990234375002,8.713574218749997],[119.22382812500004,10.477294921875043],[119.30566406250003,10.9736328125],[119.55332031250012,11.31352539062496],[119.52666015625002,10.953173828125003],[119.68691406250005,10.500341796875034],[119.36933593750004,10.327294921875037],[119.19150390625012,10.061083984374989],[118.78212890625005,9.91611328125002],[118.4349609375,9.256005859375009],[117.31113281250012,8.439599609375051]]],[[[119.86142578125006,11.52534179687504],[119.83066406250012,11.375683593750011],[119.72998046874997,11.431933593750017],[119.86142578125006,11.52534179687504]]],[[[124.574609375,11.343066406250031],[124.92998046875002,11.372851562499974],[125.02656250000004,11.21171875],[125.01318359374997,10.785693359374989],[125.26845703125005,10.307714843750048],[125.14257812499997,10.189453125000028],[124.9875,10.36757812499998],[125.02656250000004,10.033105468749966],[124.78076171874997,10.16806640625002],[124.78671875000012,10.781396484375009],[124.66269531250006,10.961962890625017],[124.44550781250004,10.923583984375014],[124.33066406250012,11.535205078125003],[124.574609375,11.343066406250031]]],[[[124.60839843750003,11.492187500000043],[124.48349609375006,11.485839843749986],[124.36035156250003,11.665917968749994],[124.5109375000001,11.687109375000048],[124.60839843750003,11.492187500000043]]],[[[122.49619140625006,11.615087890625034],[122.83808593750004,11.595654296874983],[122.89453125000003,11.44130859374998],[123.15830078125012,11.53554687499999],[123.11953125,11.286816406250026],[122.8029296875001,10.99003906249996],[122.76992187500005,10.823828125000034],[121.95400390625,10.444384765625003],[122.10351562499997,11.64291992187502],[121.91601562499997,11.854345703125006],[122.02919921875005,11.895410156250023],[122.49619140625006,11.615087890625034]]],[[[120.03876953125004,11.703320312499969],[119.94492187500006,11.690722656249989],[119.86093750000006,11.953955078124963],[120.03593750000002,11.917236328125028],[120.03876953125004,11.703320312499969]]],[[[120.1,12.167675781249983],[120.22822265625004,12.219824218750034],[120.31455078125012,12.012402343749969],[120.01054687500002,12.008251953125011],[119.88574218749997,12.299853515625003],[120.1,12.167675781249983]]],[[[122.65449218750004,12.309033203125011],[122.42294921875006,12.455078125],[122.60361328125006,12.49160156249998],[122.65449218750004,12.309033203125011]]],[[[125.23955078125002,12.527880859375003],[125.32021484375,12.321826171875031],[125.53564453125003,12.191406250000028],[125.49179687500006,11.594335937499977],[125.57353515625002,11.238232421874997],[125.73564453125002,11.049609375000017],[125.23339843749997,11.145068359375017],[125.03427734375012,11.341259765625026],[124.91699218750003,11.558398437500031],[124.99501953125,11.764941406250003],[124.445703125,12.152783203124969],[124.29472656250007,12.569335937500014],[125.23955078125002,12.527880859375003]]],[[[123.71660156250007,12.287353515625028],[124.04033203125002,11.966796875],[124.04550781250012,11.752441406250028],[123.47373046875006,12.21665039062502],[123.15781250000012,11.925634765624963],[123.23642578125012,12.583496093750057],[123.71660156250007,12.287353515625028]]],[[[122.09404296875002,12.354882812500023],[122.01396484375002,12.105615234375037],[121.9232421875,12.331298828125014],[122.00156250000006,12.598535156250009],[122.14501953124997,12.652636718750017],[122.09404296875002,12.354882812500023]]],[[[123.77539062499997,12.453906250000031],[123.77910156250002,12.366259765625031],[123.62148437500005,12.67490234375002],[123.77539062499997,12.453906250000031]]],[[[123.28183593750006,12.85341796874998],[123.36718750000003,12.70083007812498],[122.95751953124997,13.107177734374986],[123.28183593750006,12.85341796874998]]],[[[120.70439453125002,13.479492187499986],[121.20273437500006,13.432324218749969],[121.52275390625007,13.131201171874991],[121.540625,12.63818359375],[121.39433593750002,12.300585937499974],[121.23671875000005,12.218798828125003],[120.92216796875002,12.51162109374998],[120.65136718749997,13.169140625],[120.33847656250012,13.412353515624986],[120.40126953125,13.517041015624997],[120.70439453125002,13.479492187499986]]],[[[121.91484375000002,13.540332031250031],[122.11455078125002,13.463183593750031],[122.00488281249997,13.204980468750009],[121.82919921875006,13.328613281249972],[121.91484375000002,13.540332031250031]]],[[[124.35361328125006,13.632226562500009],[124.17539062500012,13.531542968750017],[124.03886718750002,13.663134765625003],[124.22490234375007,14.077587890624969],[124.41718750000004,13.871044921874997],[124.35361328125006,13.632226562500009]]],[[[122.03349609375002,15.005029296875009],[121.93300781250005,14.656054687500045],[121.83984374999997,15.038134765625003],[122.03349609375002,15.005029296875009]]],[[[121.10156249999997,18.615283203125017],[121.84560546875,18.29541015625003],[122.03847656250005,18.32792968749999],[122.14667968750004,18.486572265625],[122.26552734375005,18.458837890625034],[122.15234374999997,17.664404296875006],[122.51914062500012,17.124853515625034],[122.13515625000005,16.18481445312503],[121.59531250000012,15.933251953125023],[121.60703125000006,15.669824218749994],[121.39228515625004,15.324414062499969],[121.69541015625006,14.7373046875],[121.62792968749997,14.581152343749977],[121.76660156249997,14.16806640625002],[122.21171875000002,13.930175781250057],[122.2875,13.996191406250006],[122.19970703125003,14.148046875000034],[122.6271484375001,14.317529296875009],[122.93417968750012,14.18808593750002],[123.101953125,13.750244140624986],[123.29697265625012,13.836425781250043],[123.32031249999997,14.061669921875023],[123.81572265625002,13.837109375000011],[123.80625000000012,13.721728515625045],[123.54960937500007,13.645751953125014],[123.81923828125,13.269482421875011],[123.78515625000003,13.110546875000054],[124.14277343750004,13.035791015625009],[124.0597656250001,12.567089843749997],[123.87783203125005,12.689697265625014],[123.94853515625007,12.916406250000023],[123.31093750000005,13.044091796875009],[123.16328125000004,13.44174804687502],[122.59521484374997,13.90761718749998],[122.46796875000004,13.886718749999986],[122.66787109375,13.395361328124991],[122.59990234375002,13.194140625000031],[122.37656250000012,13.520605468750006],[121.77792968750006,13.93764648437498],[121.50107421875006,13.8421875],[121.344140625,13.649121093749997],[121.09550781250007,13.679492187500045],[120.84072265625,13.884716796875026],[120.637109375,13.804492187500031],[120.61679687500006,14.188037109375003],[120.9220703125001,14.493115234374983],[120.94130859375,14.645068359375031],[120.58369140625004,14.88125],[120.58867187500002,14.483105468749983],[120.43876953125002,14.453369140624972],[120.25078125000002,14.793310546875034],[120.08212890625012,14.851074218749986],[119.77255859375012,16.25512695312503],[119.83076171875004,16.326562500000023],[120.15976562500012,16.047656250000045],[120.36875,16.109570312499955],[120.35839843749997,17.63818359375],[120.59970703125012,18.507861328125074],[121.10156249999997,18.615283203125017]]],[[[121.92167968750007,18.89472656250001],[121.82519531250003,18.842724609374983],[121.94335937500003,19.010449218749955],[121.92167968750007,18.89472656250001]]],[[[121.52089843750005,19.361962890624994],[121.53125,19.271337890625006],[121.37460937500006,19.356298828124977],[121.52089843750005,19.361962890624994]]]]},"properties":{"name":"Philippines","childNum":37}},{"geometry":{"type":"Polygon","coordinates":[[[134.5954101562501,7.382031249999969],[134.51572265625012,7.525781250000037],[134.65117187500002,7.712109374999983],[134.5954101562501,7.382031249999969]]]},"properties":{"name":"Palau","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[153.53613281249997,-11.476171874999949],[153.75986328125006,-11.586328125],[153.55371093749997,-11.630566406249969],[153.28681640625004,-11.516992187500009],[153.20361328124997,-11.32412109374998],[153.53613281249997,-11.476171874999949]]],[[[154.28076171874997,-11.36142578125002],[154.12119140625006,-11.425683593749966],[154.02343750000003,-11.347949218750031],[154.28076171874997,-11.36142578125002]]],[[[150.89873046875002,-10.565332031250023],[150.88466796875,-10.643457031250037],[150.78574218750006,-10.603417968749966],[150.89873046875002,-10.565332031250023]]],[[[151.08095703125,-10.020117187499963],[151.29648437500012,-9.956738281250026],[151.230859375,-10.194726562500009],[150.95917968750004,-10.092578124999989],[150.77607421875004,-9.70908203125002],[151.08095703125,-10.020117187499963]]],[[[150.52841796875006,-9.34658203124998],[150.78867187500006,-9.417968749999957],[150.89404296875003,-9.667480468749986],[150.43623046875004,-9.624609374999949],[150.5084960937501,-9.536132812499957],[150.43730468750007,-9.359960937500034],[150.52841796875006,-9.34658203124998]]],[[[150.3454101562501,-9.493847656249955],[150.10976562500005,-9.361914062499991],[150.20830078125002,-9.206347656250003],[150.32011718750007,-9.264160156249972],[150.3454101562501,-9.493847656249955]]],[[[152.63095703125012,-8.959375],[152.95292968750007,-9.07011718749996],[152.96689453125006,-9.208984375000014],[152.51513671874997,-9.009863281250034],[152.63095703125012,-8.959375]]],[[[151.10683593750005,-8.733496093749949],[151.12412109375012,-8.804882812500011],[151.00498046875006,-8.523828124999952],[151.117578125,-8.41884765624998],[151.10683593750005,-8.733496093749949]]],[[[143.58681640625005,-8.481738281250003],[143.321875,-8.367578125],[143.5814453125,-8.390917968749974],[143.58681640625005,-8.481738281250003]]],[[[148.02578125,-5.826367187500011],[147.78105468750007,-5.627246093749946],[147.7946289062501,-5.492382812500011],[148.05478515625006,-5.61152343750004],[148.02578125,-5.826367187500011]]],[[[155.95761718750006,-6.686816406249989],[155.71933593750012,-6.862792968749957],[155.34404296875007,-6.721679687499986],[155.20214843750003,-6.3076171875],[154.75927734375003,-5.931347656249997],[154.72929687500002,-5.444433593750006],[155.09384765625006,-5.620214843750034],[155.46699218750004,-6.145117187500034],[155.82255859375002,-6.38046875000002],[155.95761718750006,-6.686816406249989]]],[[[147.17626953124997,-5.431933593749946],[147.00585937499997,-5.30703125],[147.1310546875001,-5.190820312500037],[147.17626953124997,-5.431933593749946]]],[[[154.64726562500002,-5.43271484375002],[154.54003906250003,-5.11083984375],[154.63261718750007,-5.013867187499955],[154.72714843750006,-5.218066406249989],[154.64726562500002,-5.43271484375002]]],[[[146.01933593750007,-4.726171874999963],[145.88359375000007,-4.66748046875],[145.9958007812501,-4.539257812499983],[146.01933593750007,-4.726171874999963]]],[[[151.915625,-4.296777343749966],[152.11718749999997,-4.212207031249974],[152.40566406250005,-4.340722656249952],[152.35117187500006,-4.82216796874998],[151.98369140625007,-5.07441406250004],[152.14296875,-5.357031249999963],[152.07705078125,-5.458300781249989],[151.86542968750004,-5.564843750000023],[151.51513671874997,-5.552343749999963],[151.22929687500002,-5.919921874999986],[150.47353515625,-6.263378906249969],[149.65253906250004,-6.290429687499966],[149.38232421874997,-6.078125],[149.0990234375,-6.116992187499989],[148.33720703125007,-5.669433593750014],[148.43203125,-5.471777343749991],[149.35888671875003,-5.583984375000014],[149.8314453125,-5.524121093749997],[149.96279296875,-5.447753906249972],[150.0900390625001,-5.011816406249977],[150.1703125,-5.070605468749974],[150.0724609375001,-5.309570312499986],[150.18310546874997,-5.523632812499983],[150.90029296875005,-5.447167968750037],[151.32656250000005,-4.96035156249998],[151.67119140625007,-4.88330078125],[151.59306640625007,-4.200781249999949],[151.915625,-4.296777343749966]]],[[[152.67060546875004,-3.13339843750002],[152.64619140625004,-3.221191406249957],[152.54326171875002,-3.095605468749952],[152.63876953125012,-3.042773437500031],[152.67060546875004,-3.13339843750002]]],[[[140.97617187500012,-9.11875],[140.97519531250006,-6.90537109375002],[140.86230468749997,-6.740039062499989],[140.975,-6.346093750000023],[140.97353515625,-2.803417968750026],[140.97343750000007,-2.609765625],[142.90517578125,-3.32070312499998],[143.50898437500004,-3.431152343750014],[144.06640625000003,-3.80517578125],[144.4777343750001,-3.82529296875002],[145.08779296875,-4.349121093749972],[145.33457031250012,-4.385253906249972],[145.7669921875,-4.823046874999989],[145.74521484375012,-5.402441406249977],[147.56669921875002,-6.056933593750003],[147.80205078125002,-6.31523437499996],[147.84550781250007,-6.662402343749989],[147.11914062499997,-6.721679687499986],[146.95361328124997,-6.834082031249963],[147.19003906250012,-7.378125],[148.12675781250007,-8.103613281249963],[148.246875,-8.554296875000034],[148.45117187499997,-8.694531250000011],[148.58310546875006,-9.051757812499957],[149.19833984375006,-9.03125],[149.26318359374997,-9.497851562499974],[150.01103515625007,-9.688183593750026],[149.76123046874997,-9.805859375000011],[149.87441406250005,-10.012988281250031],[150.84951171875,-10.236035156249997],[150.44609375000007,-10.30732421875004],[150.6471679687501,-10.517968749999966],[150.31992187500012,-10.654882812499963],[150.0167968750001,-10.577148437500028],[149.75410156250004,-10.353027343750028],[147.76865234375012,-10.070117187500031],[147.01718750000006,-9.38789062500004],[146.96376953125,-9.059570312499943],[146.63085937499997,-8.951171874999972],[146.03320312499997,-8.076367187500011],[144.97382812500004,-7.802148437500009],[144.86425781249997,-7.631542968749983],[144.50986328125006,-7.567382812499972],[144.14287109375007,-7.757226562500009],[143.65488281250012,-7.460351562500009],[143.94228515625005,-7.944238281250009],[143.8333984375,-8.029101562499974],[143.51816406250006,-8.000683593749955],[143.61376953125003,-8.200390624999969],[142.52412109375004,-8.32167968749998],[142.34746093750002,-8.167480468750014],[142.20683593750002,-8.195800781250014],[142.47480468750004,-8.369433593750031],[142.79794921875006,-8.345019531250031],[143.11181640624997,-8.474511718750037],[143.37724609375007,-8.762207031250028],[143.36621093750003,-8.961035156250034],[142.6471679687501,-9.327832031249969],[142.22958984375012,-9.169921874999957],[141.13320312500005,-9.221289062500034],[140.97617187500012,-9.11875]]],[[[152.96582031249997,-4.756347656249986],[152.89169921875006,-4.832421875000023],[152.73994140625004,-4.635839843750034],[152.66816406250004,-4.131835937500028],[152.27939453125006,-3.582421875],[151.06679687500005,-2.829003906249994],[150.74609374999997,-2.73886718750002],[150.8253906250001,-2.572949218749969],[152.03291015625004,-3.25136718749998],[153.01679687500004,-4.105664062500026],[153.1325195312501,-4.352441406250037],[152.96582031249997,-4.756347656249986]]],[[[150.43662109375012,-2.66181640625004],[150.16572265625004,-2.660253906249991],[149.96162109375004,-2.473828125000026],[150.22714843750006,-2.384179687499966],[150.42949218750007,-2.47041015625004],[150.43662109375012,-2.66181640625004]]],[[[147.06757812500004,-1.96015625],[147.43808593750012,-2.05898437499998],[147.20634765625007,-2.181933593749974],[146.54648437500012,-2.20859375],[146.65625,-1.97402343749998],[147.06757812500004,-1.96015625]]],[[[149.76542968750007,-1.553027343750017],[149.54589843749997,-1.471679687499957],[149.58095703125005,-1.353222656249983],[149.76542968750007,-1.553027343750017]]]]},"properties":{"name":"Papua New Guinea","childNum":21}},{"geometry":{"type":"Polygon","coordinates":[[[23.484667968750017,53.939794921875],[23.915429687500023,52.770263671875],[23.175097656250017,52.28662109375],[23.652441406250006,52.040380859375],[23.605273437500017,51.517919921875],[23.664453125000023,51.31005859375],[24.095800781250006,50.87275390625],[23.9970703125,50.809375],[24.089941406250006,50.53046875],[23.97265625,50.410058593749994],[23.711718750000017,50.37734375],[23.03632812500001,49.899072265624994],[22.706152343750006,49.606201171875],[22.6494140625,49.539013671875],[22.66064453125,49.483691406249996],[22.71992187500001,49.353808593749996],[22.732421875,49.295166015625],[22.705664062500006,49.171191406249996],[22.847070312500023,49.08125],[22.538671875,49.072705078125],[22.473046875000023,49.081298828125],[22.020117187500006,49.209521484374996],[21.6396484375,49.411962890625],[21.079394531250017,49.418261718749996],[20.868457031250017,49.314697265625],[20.36298828125001,49.38525390625],[20.0576171875,49.181298828124994],[19.756640625000017,49.204394531249996],[19.77392578125,49.37216796875],[19.44160156250001,49.597705078124996],[19.1494140625,49.4],[18.83222656250001,49.510791015624996],[18.562402343750023,49.879345703125],[18.0283203125,50.03525390625],[17.874804687500017,49.972265625],[17.627050781250006,50.11640625],[17.702246093750006,50.307177734374996],[17.41523437500001,50.254785156249994],[16.88007812500001,50.427050781249996],[16.989648437500023,50.2369140625],[16.63916015625,50.1021484375],[16.210351562500023,50.423730468749994],[16.419726562500017,50.573632812499994],[16.2822265625,50.655615234375],[16.007226562500023,50.611621093749996],[14.99375,51.01435546875],[14.98291015625,50.886572265625],[14.895800781250017,50.861376953124996],[14.809375,50.858984375],[14.814257812500017,50.871630859374996],[14.91748046875,51.008740234375],[14.9638671875,51.095117187499994],[14.935546875,51.435351562499996],[14.905957031250011,51.463330078125],[14.724707031250006,51.523876953125],[14.7109375,51.544921875],[14.738671875000023,51.6271484375],[14.601660156250006,51.832373046875],[14.752539062500006,52.081835937499996],[14.679882812500011,52.25],[14.615625,52.277636718749996],[14.573925781250011,52.31416015625],[14.554589843750023,52.359667968749996],[14.569726562500023,52.431103515625],[14.619433593750017,52.528515625],[14.514062500000023,52.64560546875],[14.253710937500017,52.782519531249996],[14.128613281250011,52.878222656249996],[14.138867187500011,52.932861328125],[14.293164062500011,53.0267578125],[14.368554687500023,53.10556640625],[14.410937500000017,53.199023437499996],[14.412304687500011,53.216748046875],[14.41455078125,53.283496093749996],[14.258886718750006,53.729638671875],[14.58349609375,53.63935546875],[14.558398437500017,53.823193359375],[14.21142578125,53.950341796875],[16.186328125000017,54.290380859375],[16.55976562500001,54.55380859375],[18.32343750000001,54.838183593749996],[18.75927734375,54.6845703125],[18.43623046875001,54.7447265625],[18.83642578125,54.369580078125],[19.604394531250023,54.4591796875],[20.20820312500001,54.420751953125],[22.16845703125,54.35986328125],[22.731835937500023,54.35009765625],[22.766210937500006,54.356787109375],[22.82373046875,54.395800781249996],[22.893945312500023,54.39052734375],[22.97675781250001,54.366357421875],[23.015527343750023,54.34833984375],[23.04218750000001,54.30419921875],[23.0875,54.299462890625],[23.170312500000023,54.2814453125],[23.282324218750006,54.24033203125],[23.3701171875,54.200488281249996],[23.45361328125,54.14345703125],[23.484667968750017,53.939794921875]]]},"properties":{"name":"Poland","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[-65.42558593749999,18.105615234374994],[-65.57221679687493,18.137304687499977],[-65.29487304687501,18.133349609375045],[-65.42558593749999,18.105615234374994]]],[[[-66.12939453125003,18.444921875000034],[-65.62880859375,18.381396484375045],[-65.62084960937497,18.242333984374966],[-65.97080078124995,17.974365234375],[-67.196875,17.994189453125045],[-67.2640625,18.364599609375006],[-67.15864257812501,18.499218749999983],[-66.12939453125003,18.444921875000034]]]]},"properties":{"name":"Puerto Rico","childNum":2}},{"geometry":{"type":"Polygon","coordinates":[[[130.52695312500012,42.535400390625],[130.68730468750007,42.30253906249999],[130.2357421875,42.183203125000034],[129.75634765624997,41.712255859375006],[129.70869140625004,40.857324218749994],[129.34111328125002,40.72631835937506],[128.51123046874997,40.130224609375006],[127.56816406250002,39.78198242187503],[127.39453125000003,39.207910156249966],[127.78613281250003,39.084130859374966],[128.37460937500012,38.6234375],[128.03896484375,38.30854492187498],[127.09033203125003,38.28388671875001],[126.63388671875012,37.78183593750006],[126.36992187500007,37.87836914062501],[126.11669921875003,37.74291992187503],[125.76914062500006,37.98535156250003],[125.35781250000005,37.72480468749998],[125.31074218750004,37.843505859375],[124.98876953124997,37.93144531249999],[125.2067382812501,38.08154296875],[124.69091796874997,38.12919921875002],[125.06738281250003,38.556738281250006],[125.55449218750002,38.68623046875001],[125.16884765625,38.80551757812506],[125.40966796875003,39.28837890625002],[125.36083984375003,39.52661132812497],[124.77529296875,39.75805664062506],[124.63828125000006,39.61508789062506],[124.36210937500002,40.004052734374994],[124.8893554687501,40.459814453125006],[125.98906250000002,40.904638671875034],[126.74306640625,41.724853515625],[126.95478515625004,41.76948242187501],[127.17968750000003,41.531347656250006],[128.14941406249997,41.38774414062496],[128.28925781250004,41.60742187500006],[128.04521484375007,41.9875],[128.92343750000006,42.038232421874966],[129.3136718750001,42.41357421874997],[129.69785156250012,42.448144531249994],[129.89824218750002,42.998144531250034],[130.24033203125006,42.891796874999955],[130.24667968750012,42.744824218749955],[130.52695312500012,42.535400390625]]]},"properties":{"name":"Dem. Rep. Korea","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[-17.190869140624926,32.86860351562498],[-16.693261718749966,32.75800781250001],[-17.018261718749926,32.66279296874998],[-17.226025390624983,32.76684570312503],[-17.190869140624926,32.86860351562498]]],[[[-25.64897460937499,37.840917968750006],[-25.18193359374996,37.837890625],[-25.19072265624999,37.764355468749955],[-25.73447265624992,37.76289062500001],[-25.845898437499983,37.89404296875],[-25.64897460937499,37.840917968750006]]],[[[-28.14726562499996,38.45268554687502],[-28.064794921875034,38.412744140624966],[-28.454492187500023,38.40864257812504],[-28.54882812499997,38.51855468750003],[-28.14726562499996,38.45268554687502]]],[[[-28.641308593749983,38.525],[-28.842041015625,38.5984375],[-28.69775390625,38.638476562500045],[-28.641308593749983,38.525]]],[[[-27.07524414062496,38.643457031249994],[-27.38593750000001,38.765820312499955],[-27.127001953125017,38.78984375],[-27.07524414062496,38.643457031249994]]],[[[-31.137109374999937,39.40693359375001],[-31.282958984375,39.39409179687496],[-31.260839843750034,39.49677734375001],[-31.137109374999937,39.40693359375001]]],[[[-7.406152343749937,37.17944335937497],[-7.834130859374994,37.005712890625034],[-8.597656249999943,37.12133789062506],[-8.997802734375028,37.03227539062502],[-8.814160156249983,37.43081054687502],[-8.881103515624943,38.44667968750005],[-8.668310546874949,38.42431640625003],[-8.798876953124989,38.518164062500034],[-9.213281249999937,38.44809570312498],[-9.250390624999966,38.65673828125003],[-9.021484374999943,38.746875],[-8.79160156249992,39.07817382812502],[-9.13579101562496,38.74277343749998],[-9.35673828124996,38.697900390624994],[-9.479736328124972,38.79877929687501],[-9.374755859374972,39.338281249999966],[-8.837841796874926,40.11567382812498],[-8.684619140624989,40.75253906250006],[-8.755419921874932,41.69838867187502],[-8.887597656249937,41.76459960937501],[-8.777148437500017,41.941064453124994],[-8.266064453124983,42.13740234375001],[-8.152490234374937,41.81196289062498],[-7.40361328124996,41.833691406249955],[-7.147119140625023,41.98115234374998],[-6.61826171874992,41.9423828125],[-6.542187499999955,41.672509765624994],[-6.2125,41.53203125],[-6.928466796874972,41.009130859375006],[-6.8101562499999,40.343115234375034],[-7.032617187499966,40.16791992187498],[-6.896093749999949,40.02182617187506],[-6.975390624999932,39.79838867187502],[-7.117675781249972,39.681689453125045],[-7.53569335937496,39.66157226562501],[-6.997949218749994,39.05644531250002],[-7.343017578124943,38.45742187500002],[-7.106396484374983,38.181005859375006],[-6.957568359374932,38.18789062499999],[-7.44394531249992,37.72827148437497],[-7.406152343749937,37.17944335937497]]]]},"properties":{"name":"Portugal","childNum":7,"cp":[-8.7440694,39.9251454]}},{"geometry":{"type":"Polygon","coordinates":[[[-58.15976562499999,-20.164648437500006],[-58.13779296874999,-20.2373046875],[-58.12460937499999,-20.29345703125],[-58.09150390625,-20.33320312500001],[-58.05844726562499,-20.38613281250001],[-58.025390625,-20.415820312500003],[-58.00224609374999,-20.465429687500006],[-57.97905273437499,-20.657324218750006],[-57.91513671874999,-20.69033203125001],[-57.830224609374994,-20.99794921875001],[-57.94267578124999,-21.79833984375],[-57.95590820312499,-22.109179687500003],[-56.77519531249999,-22.261328125],[-56.44780273437499,-22.076171875],[-56.39487304687499,-22.09267578125001],[-56.35185546874999,-22.17861328125001],[-56.246044921875,-22.2646484375],[-56.18984375,-22.28115234375001],[-55.99140625,-22.28115234375001],[-55.84916992187499,-22.3076171875],[-55.75327148437499,-22.41015625],[-55.74663085937499,-22.5126953125],[-55.61767578125,-22.671484375],[-55.53828125,-23.58095703125001],[-55.518457031249994,-23.627246093750003],[-55.458886718749994,-23.68671875000001],[-55.4423828125,-23.792578125],[-55.4423828125,-23.865332031250006],[-55.415917968749994,-23.95136718750001],[-55.36630859374999,-23.991015625],[-55.28691406249999,-24.004296875],[-55.1943359375,-24.01748046875001],[-55.08188476562499,-23.99765625],[-54.982666015625,-23.97451171875001],[-54.62548828125,-23.8125],[-54.44023437499999,-23.90175781250001],[-54.37080078125,-23.97119140625],[-54.24179687499999,-24.047265625],[-54.281005859375,-24.30605468750001],[-54.43623046875,-25.12128906250001],[-54.47314453125,-25.22021484375],[-54.610546875,-25.432714843750006],[-54.615869140624994,-25.57607421875001],[-54.63193359374999,-26.00576171875001],[-54.677734375,-26.30878906250001],[-54.934472656249994,-26.70253906250001],[-55.1359375,-26.93115234375],[-55.426660156249994,-27.00927734375],[-55.450634765625,-27.068359375],[-55.496728515624994,-27.115332031250006],[-55.564892578125,-27.15],[-55.59726562499999,-27.207617187500006],[-55.59379882812499,-27.2880859375],[-55.63291015624999,-27.35712890625001],[-55.71464843749999,-27.41484375],[-55.789990234375,-27.41640625],[-55.95146484374999,-27.32568359375],[-56.1640625,-27.32148437500001],[-56.437158203124994,-27.553808593750006],[-58.16826171874999,-27.2734375],[-58.60483398437499,-27.31435546875001],[-58.641748046874994,-27.19609375],[-58.618603515625,-27.132128906250003],[-58.222070312499994,-26.65],[-58.18149414062499,-26.307421875],[-57.943115234375,-26.05292968750001],[-57.563134765624994,-25.473730468750006],[-57.821679687499994,-25.13642578125001],[-59.187255859375,-24.562304687500003],[-59.892480468749994,-24.093554687500003],[-60.83984375,-23.85810546875001],[-61.084716796875,-23.65644531250001],[-61.79853515625,-23.18203125],[-62.21416015624999,-22.612402343750006],[-62.372509765625,-22.43916015625001],[-62.54155273437499,-22.349609375],[-62.6259765625,-22.29042968750001],[-62.62568359375,-22.261523437500003],[-62.65097656249999,-22.233691406250003],[-62.27666015624999,-21.066015625],[-62.276318359375,-20.5625],[-61.7568359375,-19.6453125],[-60.00737304687499,-19.29755859375001],[-59.09052734375,-19.286230468750006],[-58.18017578125,-19.81787109375],[-58.15976562499999,-20.164648437500006]]]},"properties":{"name":"Paraguay","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[34.34833984375004,31.292919921874955],[34.2453125000001,31.208300781250045],[34.2125,31.292285156250017],[34.198144531249994,31.322607421875063],[34.47734375000002,31.584863281250023],[34.52412109375004,31.541650390624994],[34.5255859375001,31.52563476562503],[34.34833984375004,31.292919921874955]]],[[[34.88046875,31.3681640625],[34.950976562500074,31.60229492187503],[35.20371093750006,31.75],[35.1271484375001,31.816748046875006],[35.05322265625003,31.83793945312496],[34.983007812500006,31.816796875000023],[34.9611328125001,31.823339843750006],[34.95380859375004,31.84125976562504],[34.98974609374997,31.913281249999955],[34.955957031249994,32.1609375],[35.01054687500002,32.33818359375002],[35.06503906250006,32.46044921875006],[35.19326171875005,32.53442382812503],[35.303808593750006,32.512939453125],[35.38671875000003,32.493017578125034],[35.402636718750074,32.45063476562501],[35.484375,32.40166015624999],[35.5514648437501,32.39550781250006],[35.57207031250002,32.237890625],[35.450585937499994,31.479296875000017],[34.88046875,31.3681640625]]]]},"properties":{"name":"Palestine","childNum":2}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[-149.321533203125,-17.690039062499963],[-149.177685546875,-17.736621093750045],[-149.18178710937497,-17.86230468749997],[-149.34111328125,-17.732421874999986],[-149.57890624999993,-17.734960937499963],[-149.635009765625,-17.564257812500003],[-149.37919921874993,-17.522363281249994],[-149.321533203125,-17.690039062499963]]],[[[-143.44057617187497,-16.619726562499963],[-143.38618164062498,-16.668847656250023],[-143.55068359375002,-16.62109374999997],[-143.44057617187497,-16.619726562499963]]],[[[-139.02431640624997,-9.695214843750037],[-138.82734375,-9.74160156249998],[-139.13408203124996,-9.829492187500037],[-139.02431640624997,-9.695214843750037]]],[[[-140.075634765625,-9.425976562499983],[-140.14438476562498,-9.359375],[-140.07094726562497,-9.328125],[-140.075634765625,-9.425976562499983]]],[[[-140.07260742187503,-8.910449218750031],[-140.21743164062497,-8.929687499999957],[-140.24003906249993,-8.79755859375004],[-140.057666015625,-8.801464843750026],[-140.07260742187503,-8.910449218750031]]]]},"properties":{"name":"Fr. Polynesia","childNum":5}},{"geometry":{"type":"Polygon","coordinates":[[[51.26796875000002,24.607226562500003],[51.17802734375002,24.58671875],[51.093359375,24.564648437499997],[51.02275390625002,24.565234375],[50.96601562500001,24.573925781249997],[50.928320312500006,24.595117187499994],[50.85566406250001,24.679638671874997],[50.80439453125001,24.789257812499997],[50.8359375,24.850390625],[50.846777343750006,24.888574218749994],[50.75458984375001,25.39926757812499],[51.003125,25.9814453125],[51.262304687500006,26.153271484374997],[51.543066406250006,25.902392578125003],[51.4853515625,25.524707031250003],[51.60888671875,25.052880859374994],[51.42792968750001,24.668261718750003],[51.26796875000002,24.607226562500003]]]},"properties":{"name":"Qatar","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[28.2125,45.450439453125],[28.317675781250017,45.347119140625],[28.451269531250006,45.2921875],[28.78828125000001,45.240966796875],[28.78173828125,45.309863281249996],[28.894335937500017,45.289941406249994],[29.223535156250023,45.4029296875],[29.403710937500023,45.419677734375],[29.567675781250017,45.37080078125],[29.705859375000017,45.259912109374994],[29.557519531250023,44.843408203124994],[29.048242187500023,44.757568359375],[29.0953125,44.975048828125],[28.891503906250023,44.91865234375],[28.585351562500023,43.742236328124996],[28.221972656250017,43.772851562499994],[27.88427734375,43.987353515624996],[27.425390625,44.0205078125],[27.0869140625,44.167382812499994],[26.2158203125,44.007275390625],[25.4970703125,43.670800781249994],[22.919042968750006,43.83447265625],[22.868261718750006,43.947900390624994],[23.02851562500001,44.077978515625],[22.705078125,44.23779296875],[22.687890625000023,44.248291015625],[22.494531250000023,44.435449218749994],[22.554003906250017,44.540332031249996],[22.6201171875,44.562353515625],[22.70078125,44.555517578125],[22.734375,44.569921875],[22.72089843750001,44.605517578124996],[22.64208984375,44.6509765625],[22.49765625,44.70625],[22.350683593750006,44.676123046875],[22.200976562500017,44.560693359374994],[22.093066406250017,44.541943359375],[21.909277343750006,44.66611328125],[21.636132812500023,44.71044921875],[21.52314453125001,44.790087890624996],[21.36005859375001,44.82666015625],[21.35791015625,44.86181640625],[21.384375,44.870068359375],[21.442187500000017,44.873388671875],[21.519921875000023,44.880810546875],[21.532324218750006,44.900683593749996],[21.35703125,44.990771484374996],[21.465429687500006,45.171875],[21.431445312500017,45.192529296874994],[20.794042968750006,45.46787109375],[20.775,45.749804687499996],[20.760156250000023,45.758105468749996],[20.746875,45.748974609375],[20.727832031250017,45.73740234375],[20.709277343750017,45.735253906249994],[20.652734375000023,45.77939453125],[20.581152343750006,45.869482421875],[20.35859375000001,45.975488281249994],[20.241796875,46.10859375],[20.28095703125001,46.1330078125],[20.508105468750017,46.166943359375],[20.613671875000023,46.13349609375],[20.76025390625,46.246240234374994],[21.121679687500006,46.282421875],[21.99970703125001,47.505029296874994],[22.87666015625001,47.947265625],[23.054785156250006,48.00654296875],[23.139453125000017,48.08740234375],[23.20263671875,48.084521484374996],[23.408203125,47.989990234375],[23.628710937500017,47.995849609375],[24.578906250000017,47.931054687499994],[24.979101562500006,47.72412109375],[25.464257812500023,47.910791015624994],[25.689257812500017,47.932470703125],[25.90869140625,47.967578125],[26.162695312500006,47.992529296875],[26.236230468750023,48.064355468749994],[26.276953125,48.113232421875],[26.3056640625,48.203759765624994],[26.4423828125,48.22998046875],[26.618945312500017,48.25986328125],[26.980761718750017,48.155029296875],[27.614062500000017,47.34052734375],[28.07177734375,46.978417968749994],[28.23945312500001,46.6408203125],[28.07470703125,45.598974609375],[28.2125,45.450439453125]]]},"properties":{"name":"Romania","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[146.71396484375012,43.743798828124994],[146.62197265625,43.81298828125006],[146.88408203125002,43.82915039062496],[146.71396484375012,43.743798828124994]]],[[[146.20761718750006,44.49765625],[146.5677734375,44.44042968749997],[145.91406249999997,44.10371093750004],[145.58681640625,43.84511718750002],[145.5558593750001,43.66459960937502],[145.46171875000007,43.870898437500045],[146.20761718750006,44.49765625]]],[[[148.59951171875,45.317626953125],[147.91376953125004,44.99038085937502],[147.65781250000012,44.97714843749998],[146.89746093750003,44.404296875],[147.24658203124997,44.856054687500006],[147.88554687500007,45.22563476562499],[147.9240234375001,45.38330078125006],[148.05605468750005,45.26210937500005],[148.32421874999997,45.28242187500001],[148.8122070312501,45.510009765625],[148.83710937500004,45.36269531250002],[148.59951171875,45.317626953125]]],[[[149.68769531250004,45.64204101562501],[149.44707031250002,45.593359375000034],[149.9623046875,46.02192382812504],[150.553125,46.208544921875045],[149.68769531250004,45.64204101562501]]],[[[152.00205078125006,46.89716796874998],[151.72343750000007,46.82880859375001],[152.28886718750007,47.1421875],[152.00205078125006,46.89716796874998]]],[[[154.81044921875005,49.31201171875],[154.61093750000006,49.29404296874998],[154.82490234375004,49.64692382812501],[154.81044921875005,49.31201171875]]],[[[155.9210937500001,50.30219726562501],[155.39716796875004,50.04125976562497],[155.24306640625,50.09462890625002],[155.21835937500012,50.29785156250003],[155.68017578124997,50.400732421875034],[156.096875,50.771875],[155.9210937500001,50.30219726562501]]],[[[156.40507812500002,50.65761718750005],[156.16796874999997,50.73188476562498],[156.37646484374997,50.86210937499996],[156.4875,50.84296874999998],[156.40507812500002,50.65761718750005]]],[[[142.76103515625002,54.393945312499966],[143.32470703125003,52.96308593749998],[143.15556640625002,52.08374023437497],[143.29951171875004,51.632373046875045],[143.81601562500006,50.28261718750002],[144.71376953125,48.64028320312502],[144.04873046875,49.249169921874994],[143.73232421875,49.31201171875],[143.10498046875003,49.198828125000034],[142.57421874999997,48.07216796875002],[142.55693359375002,47.737890625000034],[143.21767578125005,46.79487304687504],[143.48564453125002,46.752050781250006],[143.58066406250012,46.360693359375034],[143.43164062500003,46.02866210937498],[143.28232421875006,46.55898437500002],[142.57802734375005,46.700781250000034],[142.07714843749997,45.91704101562499],[141.83037109375002,46.451074218749966],[142.03867187500012,47.140283203124966],[141.9640625000001,47.58745117187502],[142.18173828125012,48.01337890625001],[141.86630859375006,48.750097656250006],[142.1422851562501,49.56914062499999],[142.06601562500006,50.630468750000034],[142.20673828125004,51.22255859375002],[141.72236328125004,51.73632812499997],[141.66083984375004,52.27294921874997],[141.85556640625012,52.79350585937499],[141.82353515625007,53.33950195312502],[142.1419921875,53.49560546875003],[142.52617187500002,53.44746093749998],[142.70595703125,53.89570312499998],[142.33496093749997,54.28071289062501],[142.76103515625002,54.393945312499966]]],[[[137.17861328125005,55.100439453125034],[137.05527343750006,54.9267578125],[136.71464843750002,54.956152343750034],[137.17861328125005,55.100439453125034]]],[[[137.94052734375012,55.092626953125034],[138.20615234375012,55.03354492187498],[137.72148437500007,54.66323242187505],[137.46269531250002,54.873388671875034],[137.23291015624997,54.79057617187496],[137.5773437500001,55.19702148437497],[137.94052734375012,55.092626953125034]]],[[[21.235742187500023,55.26411132812498],[22.072363281250034,55.06367187499998],[22.56728515625005,55.05913085937496],[22.82470703125,54.87128906249998],[22.684472656250023,54.56293945312504],[22.679882812500068,54.493017578125006],[22.766210937499977,54.356787109375034],[22.168457031250057,54.35986328125006],[21.14052734375008,54.39179687499998],[19.604394531250023,54.45917968750004],[19.974511718750023,54.92119140625002],[20.520312500000017,54.994873046875],[20.89980468750008,55.286669921875045],[20.957812500000074,55.27890625000006],[20.594824218750006,54.982373046874955],[20.995898437500017,54.90268554687506],[21.18886718750008,54.93520507812502],[21.235742187500023,55.26411132812498]]],[[[166.65029296875005,54.83906249999998],[166.64511718750006,54.69409179687503],[165.75107421875006,55.294531250000034],[166.27578125000005,55.311962890624955],[166.24804687499997,55.16542968750002],[166.65029296875005,54.83906249999998]]],[[[150.58994140625006,59.01875],[150.47021484375003,59.05405273437498],[150.66621093750004,59.16015625000003],[150.58994140625006,59.01875]]],[[[163.63515625000005,58.603369140625006],[163.47138671875004,58.509375],[163.7609375000001,59.01503906250002],[164.57265625,59.22114257812501],[164.61572265624997,58.885595703125034],[163.63515625000005,58.603369140625006]]],[[[35.8161132812501,65.18208007812501],[35.77871093750005,64.97666015625],[35.52890625000006,65.15107421875001],[35.8161132812501,65.18208007812501]]],[[[70.02070312500004,66.502197265625],[69.65136718750003,66.56533203125],[69.50273437500002,66.75107421875],[70.07666015624997,66.69589843750003],[70.02070312500004,66.502197265625]]],[[[-179.79853515625,68.9404296875],[-178.873876953125,68.75410156249995],[-178.69262695312503,68.54599609375],[-178.09746093750002,68.4248046875],[-178.05581054687497,68.26489257812503],[-177.79677734374997,68.33798828125],[-178.37304687500003,68.56567382812503],[-177.52724609375002,68.29438476562501],[-177.58920898437503,68.22421875],[-175.34521484375,67.67807617187503],[-175.37470703124998,67.35737304687498],[-175.00268554687494,67.4375],[-174.849853515625,67.34887695312503],[-174.92490234375,66.62314453125006],[-174.503759765625,66.537939453125],[-174.39409179687496,66.34423828124997],[-174.084765625,66.47309570312504],[-174.06503906249998,66.22958984374998],[-173.77397460937502,66.43466796875003],[-174.23159179687497,66.63188476562505],[-174.08642578125,66.94287109375],[-174.55009765624993,67.090625],[-173.6796875,67.144775390625],[-173.15781249999998,67.06909179687503],[-173.32353515625,66.95483398437503],[-173.25893554687497,66.84008789062503],[-173.19301757812497,66.99360351562504],[-172.5201171875,66.952490234375],[-173.00751953125,67.06489257812498],[-171.79555664062502,66.93173828125003],[-170.50952148437503,66.34365234375005],[-170.604443359375,66.24892578125002],[-170.30122070312504,66.29404296874998],[-170.24394531250002,66.16928710937503],[-169.777880859375,66.14311523437505],[-169.83168945312497,65.99892578124997],[-170.54067382812497,65.86542968749995],[-170.66630859375,65.62153320312501],[-171.42153320312502,65.81035156250002],[-171.10585937500002,65.51103515625005],[-171.90712890625,65.495947265625],[-172.78330078124998,65.68105468749997],[-172.23281250000002,65.45571289062497],[-172.30927734375004,65.27563476562497],[-172.66191406249993,65.24853515625006],[-172.28603515625002,65.20571289062502],[-172.21318359375,65.04814453124999],[-173.08579101562498,64.81733398437495],[-172.80107421874996,64.79052734375],[-172.90087890624994,64.62885742187501],[-172.40146484374998,64.413916015625],[-172.73916015624997,64.41225585937502],[-172.90317382812498,64.52607421875004],[-172.96005859375003,64.32768554687502],[-173.27548828124998,64.2896484375],[-173.327490234375,64.53955078125003],[-173.72973632812497,64.36450195312497],[-174.57055664062503,64.7177734375],[-175.39511718749998,64.80239257812502],[-175.85385742187498,65.01083984375003],[-176.09326171875,65.471044921875],[-177.05625,65.613623046875],[-177.48876953125,65.50371093749999],[-178.4125,65.49555664062501],[-178.93906249999998,66.03276367187505],[-178.74672851562497,66.01367187500006],[-178.52656250000004,66.40156250000004],[-178.86811523437498,66.18706054687502],[-179.14340820312503,66.37504882812505],[-179.327197265625,66.16259765625003],[-179.68330078124998,66.18413085937505],[-179.78969726562497,65.90087890625],[-179.352099609375,65.51674804687497],[-180,65.06723632812498],[-180,65.31196289062501],[-180,65.55678710937497],[-180,65.80156250000002],[-180,66.04628906250002],[-180,66.29106445312499],[-180,66.53583984375004],[-180,66.78056640625005],[-180,67.02534179687501],[-180,67.27011718750006],[-180,67.51484374999998],[-180,67.75961914062503],[-180,68.00439453124997],[-180,68.24912109375],[-180,68.49389648437497],[-180,68.738671875],[-179.999951171875,68.98344726562505],[-179.79853515625,68.9404296875]]],[[[50.265234375,69.18559570312502],[49.62626953125002,68.85971679687498],[48.91035156250004,68.74306640625002],[48.4390625,68.80488281249998],[48.319921875,69.26923828125001],[48.8449218750001,69.49472656250003],[49.22519531250006,69.51123046875],[50.265234375,69.18559570312502]]],[[[161.46708984375002,68.90097656250003],[161.08281250000007,69.4056640625],[161.50517578125007,69.63945312500002],[161.46708984375002,68.90097656250003]]],[[[169.20078125000006,69.58046875],[168.34804687500005,69.66435546875005],[167.86474609375003,69.90107421875004],[168.35791015625003,70.01567382812502],[169.37480468750007,69.88261718749999],[169.20078125000006,69.58046875]]],[[[60.450488281250074,69.93486328124999],[60.44023437500002,69.72592773437506],[59.637011718750074,69.72104492187503],[59.50263671875004,69.86621093750003],[58.952734375,69.89277343750004],[58.51992187500005,70.31831054687504],[59.04804687500004,70.46049804687505],[60.450488281250074,69.93486328124999]]],[[[52.90332031250003,71.36499023437503],[53.19257812500004,71.21528320312498],[53.0226562500001,70.96870117187501],[52.24960937500006,71.28491210937506],[52.90332031250003,71.36499023437503]]],[[[178.8615234375001,70.826416015625],[178.68388671875013,71.10566406250004],[180,71.53774414062505],[180,70.993017578125],[178.8615234375001,70.826416015625]]],[[[137.95986328125005,71.50766601562503],[137.71181640625005,71.4232421875],[137.06406250000006,71.52988281250003],[137.816796875,71.58789062500006],[137.95986328125005,71.50766601562503]]],[[[-178.87646484375,71.57705078124997],[-178.13388671874998,71.46547851562497],[-177.523583984375,71.16689453125],[-179.415673828125,70.91899414062502],[-179.999951171875,70.993017578125],[-179.999951171875,71.53774414062505],[-178.87646484375,71.57705078124997]]],[[[77.6325195312501,72.291259765625],[76.87109374999997,72.317041015625],[77.74853515625003,72.63120117187506],[78.36513671875005,72.48242187500003],[77.6325195312501,72.291259765625]]],[[[79.50146484374997,72.72192382812497],[78.63320312500005,72.85073242187502],[79.16425781250004,73.0943359375],[79.50146484374997,72.72192382812497]]],[[[74.660546875,72.87343750000002],[74.18066406250003,72.975341796875],[74.19853515625002,73.10908203124998],[74.9615234375,73.0625],[74.660546875,72.87343750000002]]],[[[120.26132812500012,73.08984374999997],[119.79208984375006,73.04541015624997],[119.64042968750002,73.12431640625007],[120.26132812500012,73.08984374999997]]],[[[55.31982421875003,73.30830078124998],[56.42958984375005,73.201171875],[56.121679687500006,72.80659179687498],[55.40332031249997,72.54907226562503],[55.29785156249997,71.93535156250005],[56.45439453125002,71.10737304687504],[57.62539062500005,70.72880859374999],[57.14589843750005,70.58911132812506],[56.38574218749997,70.73413085937503],[56.49970703125004,70.56640625000003],[55.687304687500074,70.69218749999999],[54.60117187500006,70.68007812500002],[53.383593750000074,70.87353515625],[53.670507812500006,71.08691406250003],[54.155664062499994,71.12548828125],[53.40996093750002,71.34013671875002],[53.41162109375003,71.530126953125],[51.93789062500005,71.47470703124998],[51.511328125,71.64809570312497],[51.58251953124997,72.07119140625],[52.252050781250006,72.12973632812503],[52.66191406250002,72.33686523437495],[52.91660156250006,72.66889648437501],[52.5792968750001,72.791357421875],[53.3698242187501,72.91674804687506],[53.2511718750001,73.182958984375],[54.80390625000004,73.38764648437498],[55.31982421875003,73.30830078124998]]],[[[70.67392578125006,73.09501953125005],[70.04072265625004,73.03715820312507],[69.99589843750002,73.359375],[70.94023437500002,73.51440429687503],[71.6261718750001,73.17397460937497],[70.67392578125006,73.09501953125005]]],[[[142.18486328125007,73.89589843750005],[143.34375,73.56875],[143.45146484375007,73.231298828125],[141.59667968750003,73.31083984375005],[140.66279296875004,73.45200195312503],[139.785546875,73.35522460937503],[141.08476562500002,73.86586914062497],[142.18486328125007,73.89589843750005]]],[[[83.5490234375001,74.07177734375],[82.8177734375,74.09160156250005],[83.14980468750005,74.151611328125],[83.5490234375001,74.07177734375]]],[[[141.01025390625003,73.99946289062501],[140.40947265625002,73.92167968750005],[140.1935546875001,74.23671875000002],[141.03857421875003,74.24272460937502],[141.01025390625003,73.99946289062501]]],[[[113.38720703124997,74.40043945312499],[112.78242187500004,74.09506835937503],[111.50341796874997,74.35307617187502],[111.87978515625,74.36381835937499],[112.08447265624997,74.54897460937505],[113.38720703124997,74.40043945312499]]],[[[86.653125,74.981298828125],[87.05214843750005,74.982568359375],[86.92714843750005,74.83076171874998],[86.25859375000002,74.89350585937498],[86.653125,74.981298828125]]],[[[82.17236328125003,75.41938476562501],[81.97851562499997,75.24711914062499],[81.65478515625003,75.28891601562498],[81.71210937500004,75.45141601562506],[82.165625,75.515625],[82.17236328125003,75.41938476562501]]],[[[146.79521484375007,75.37075195312505],[148.43242187500002,75.41352539062495],[148.59013671875007,75.23637695312502],[150.82236328125006,75.15654296875002],[150.64628906250002,74.944580078125],[149.596875,74.77260742187505],[148.296875,74.80043945312502],[146.14853515625012,75.19829101562499],[146.5375,75.58178710937506],[146.79521484375007,75.37075195312505]]],[[[135.9486328125,75.40957031250005],[135.45195312500007,75.38955078124997],[135.6986328125,75.84526367187499],[136.16894531249997,75.60556640625],[135.9486328125,75.40957031250005]]],[[[140.04873046875,75.82895507812503],[140.81591796874997,75.63071289062498],[141.48544921875012,76.13715820312495],[142.66953125000012,75.86342773437497],[143.68583984375002,75.86367187500002],[145.35996093750006,75.53046874999998],[144.01972656250004,75.04467773437506],[143.1703125,75.11689453125001],[142.72949218749997,75.33764648437506],[142.941796875,75.71328125000002],[142.30791015625007,75.69169921875005],[142.19882812500006,75.39267578124998],[143.12792968749997,74.9703125],[142.47275390625006,74.82041015625],[141.98730468750003,74.99125976562499],[140.26787109375002,74.846923828125],[139.68125,74.96406249999995],[139.09912109374997,74.65654296875002],[138.09228515625003,74.79746093750003],[136.94765625000005,75.32553710937498],[137.28974609375004,75.34863281249997],[137.26884765625002,75.7494140625],[137.70654296875003,75.75957031250002],[137.56054687499997,75.95522460937502],[138.20761718750006,76.11494140624995],[138.91953125000006,76.19672851562501],[140.04873046875,75.82895507812503]]],[[[96.5324218750001,76.278125],[96.30058593750002,76.121728515625],[95.31113281250006,76.21474609375002],[95.37988281250003,76.2890625],[96.5324218750001,76.278125]]],[[[112.47802734375003,76.62089843749999],[112.531640625,76.450048828125],[111.96894531250004,76.62617187500001],[112.47802734375003,76.62089843749999]]],[[[149.15019531250002,76.65991210937506],[148.39863281250004,76.64824218750007],[149.4064453125001,76.78208007812498],[149.15019531250002,76.65991210937506]]],[[[67.7653320312501,76.23759765624999],[61.35595703124997,75.31484375000002],[60.27685546875003,75.00756835937503],[60.501367187499994,74.90463867187503],[59.67402343750004,74.61015624999999],[59.24013671875005,74.69296874999998],[59.040429687499994,74.48554687500001],[58.53466796875003,74.49892578124997],[58.6178710937501,74.22739257812498],[57.76738281250002,74.013818359375],[57.755957031250006,73.769189453125],[57.313085937500006,73.838037109375],[57.54257812500006,73.65820312500003],[56.96386718750003,73.36655273437503],[56.43037109375004,73.29721679687503],[55.00683593750003,73.45385742187506],[54.29990234375006,73.35097656249997],[53.7628906250001,73.76616210937499],[54.64267578125006,73.95957031250006],[55.34091796875006,74.41962890624998],[56.13710937500005,74.49609375000003],[55.5822265625001,74.627685546875],[56.4987304687501,74.95708007812505],[55.81005859374997,75.12490234374997],[56.03554687499999,75.19423828124997],[56.57031250000003,75.09775390625003],[56.8444335937501,75.351416015625],[57.606835937499994,75.34125976562498],[58.05830078125004,75.6630859375],[58.88125,75.85478515625007],[60.27929687499997,76.09624023437505],[60.94218750000002,76.07128906250003],[61.20166015624997,76.28203125000007],[62.97148437500002,76.23666992187498],[64.4634765625,76.37817382812503],[67.65185546874997,77.011572265625],[68.48574218750005,76.93369140625003],[68.94169921875002,76.707666015625],[67.7653320312501,76.23759765624999]]],[[[96.28544921875002,77.02666015625007],[95.27031250000007,77.01884765624999],[96.52841796875006,77.20551757812501],[96.28544921875002,77.02666015625007]]],[[[89.51425781250006,77.18881835937498],[89.14169921875012,77.22680664062497],[89.61621093749997,77.31103515625],[89.51425781250006,77.18881835937498]]],[[[130.68730468750007,42.30253906249999],[130.52695312500012,42.535400390625],[130.42480468749997,42.72705078124997],[131.06855468750004,42.90224609375005],[131.25732421875003,43.378076171874994],[131.2552734375,44.07158203124999],[130.9816406250001,44.844335937500034],[131.44687500000012,44.984033203124966],[131.85185546875002,45.32685546875001],[132.93603515624997,45.029931640624994],[133.1134765625001,45.130712890625006],[133.18603515625003,45.49482421875004],[133.43642578125,45.60468750000004],[133.86132812500003,46.24775390625004],[134.1676757812501,47.30219726562501],[134.75234375,47.71542968749998],[134.56601562500006,48.02250976562502],[134.66523437500004,48.25390625],[134.29335937500005,48.37343750000002],[133.46835937500006,48.09716796875003],[133.14404296875003,48.10566406249998],[132.7072265625001,47.94726562500006],[132.47626953125004,47.714990234374994],[130.96191406249997,47.70932617187498],[130.7326171875001,48.01923828124998],[130.80429687500012,48.34150390624998],[130.5521484375,48.602490234374955],[130.553125,48.861181640625006],[130.1959960937501,48.89165039062499],[129.49814453125012,49.38881835937502],[129.0651367187501,49.374658203124966],[128.70400390625,49.60014648437499],[127.99960937500006,49.56860351562506],[127.55078124999997,49.801806640625045],[127.590234375,50.20898437500003],[127.33720703125007,50.35014648437502],[127.30703125000005,50.70795898437501],[126.92480468749997,51.10014648437496],[126.34169921875,52.36201171875001],[125.64902343750012,53.042285156250045],[125.075,53.20366210937496],[124.81230468750002,53.133837890625045],[123.6078125,53.546533203124994],[120.98544921875012,53.28457031250002],[120.09453125000007,52.787207031250034],[120.0675781250001,52.632910156250034],[120.65615234375,52.56665039062503],[120.74980468750007,52.096533203125006],[120.06689453125003,51.60068359375006],[119.16367187500006,50.40600585937503],[119.34628906250012,50.278955078124994],[119.25986328125012,50.06640625000003],[118.4515625,49.84448242187503],[117.8734375,49.51347656250002],[116.6833007812501,49.82377929687499],[116.551171875,49.92031250000002],[116.35117187500012,49.97807617187499],[116.21679687500003,50.00927734375003],[116.13457031250002,50.01079101562499],[115.9259765625001,49.95214843750003],[115.79521484375002,49.90590820312502],[115.71777343750003,49.88061523437503],[115.58798828125006,49.88603515624996],[115.42919921874997,49.89648437499997],[115.36503906250002,49.911767578124966],[115.27451171875006,49.948876953124994],[115.00332031250005,50.138574218749994],[114.74316406249997,50.23369140625002],[114.29707031250004,50.27441406250006],[113.57421874999997,50.00703125000001],[113.44550781250004,49.94160156250001],[113.31904296875004,49.87431640624999],[113.16416015625012,49.79716796874999],[113.09208984375007,49.692529296874994],[113.05556640625,49.61625976562499],[112.91484375000002,49.569238281249994],[112.80644531250007,49.52358398437502],[112.69736328125012,49.50727539062498],[112.49492187500002,49.532324218750034],[112.07968750000006,49.42421875000002],[111.42929687500006,49.342626953125034],[111.3366210937501,49.355859374999966],[111.20419921875012,49.304296875000034],[110.82792968750002,49.16616210937505],[110.70976562500002,49.14296875000002],[110.42783203125006,49.219970703125],[110.32138671875012,49.215869140625045],[110.19990234375004,49.17041015625003],[109.5287109375,49.269873046875034],[109.45371093750012,49.29633789062501],[109.23671875000005,49.334912109374955],[108.61367187500005,49.32280273437499],[108.52246093750003,49.34150390624998],[108.4069335937501,49.39638671875005],[107.96542968750012,49.65351562500004],[107.91660156250012,49.947802734375045],[107.63095703125012,49.98310546875004],[107.3470703125,49.986669921875034],[107.23330078125,49.989404296874994],[107.14306640625003,50.03300781249999],[107.04023437500004,50.086474609375045],[106.94130859375005,50.19667968750002],[106.71113281250004,50.312597656250006],[106.57441406250004,50.32880859375004],[106.36845703125002,50.317578124999955],[106.21787109375006,50.304589843749966],[105.38359375000002,50.47373046874998],[104.07871093750012,50.15424804687498],[103.63291015625006,50.138574218749994],[103.49628906250004,50.16494140625005],[103.42119140625002,50.18706054687502],[103.3043945312501,50.200292968750034],[102.28837890625007,50.58510742187502],[102.31660156250004,50.71845703125001],[102.21503906250004,50.82944335937506],[102.19453125000004,51.05068359375002],[102.15195312500006,51.107519531250034],[102.14238281250007,51.21606445312503],[102.16005859375005,51.260839843750006],[102.1556640625,51.31376953124996],[102.1115234375001,51.353466796874955],[101.97919921875004,51.382226562499966],[101.82119140625,51.421044921874966],[101.57089843750006,51.46718750000005],[101.38125,51.45263671875],[100.53623046875006,51.713476562500034],[100.46894531250004,51.72607421875003],[100.23037109375,51.729833984375006],[100.0345703125,51.73710937499996],[99.92167968750002,51.755517578124994],[99.71923828124997,51.87163085937502],[98.89316406250006,52.11728515625006],[98.64052734375005,51.80117187500005],[98.103125,51.483544921874994],[97.82529296875012,50.985253906249994],[97.953125,50.85517578124998],[98.02978515625003,50.64462890624998],[98.07890625000002,50.60380859375002],[98.14501953124997,50.56855468750001],[98.22050781250007,50.55717773437502],[98.2794921875001,50.53325195312502],[98.25029296875002,50.30244140624998],[98.00390625000003,50.01425781249998],[97.35976562500005,49.741455078125],[97.20859375000006,49.73081054687506],[96.98574218750005,49.88281250000003],[96.31503906250012,49.90112304687503],[96.06552734375006,49.99873046875001],[95.52265625000004,49.911230468750034],[95.11142578125012,49.935449218749994],[94.93027343750006,50.04375],[94.8112304687501,50.04819335937506],[94.71806640625002,50.04326171875002],[94.67548828125004,50.02807617187506],[94.61474609375003,50.02373046874996],[94.56464843750004,50.08793945312499],[94.35468750000004,50.221826171874994],[94.25107421875006,50.55639648437503],[93.103125,50.60390625000002],[92.94130859375005,50.77822265625002],[92.85644531250003,50.78911132812502],[92.77929687500003,50.778662109375006],[92.738671875,50.71093749999997],[92.68134765625004,50.683203125],[92.6266601562501,50.68828124999999],[92.57890625000002,50.725439453125006],[92.42636718750006,50.803076171875006],[92.35478515625002,50.86416015625002],[92.29580078125,50.84980468750004],[92.19238281249997,50.700585937499994],[91.80429687500006,50.693603515625],[91.4464843750001,50.52216796874998],[91.41503906249997,50.46801757812506],[91.34082031249997,50.470068359375034],[91.30058593750002,50.46337890625],[91.2337890625,50.45239257812497],[91.02158203125012,50.41547851562501],[90.83808593750004,50.32373046874997],[90.76074218749997,50.30595703124999],[90.71435546874997,50.25942382812502],[90.65507812500007,50.22236328125001],[90.05371093750003,50.09375],[89.64384765625002,49.90302734374998],[89.65410156250007,49.71748046875001],[89.57919921875006,49.69970703125003],[89.475,49.66054687500005],[89.39560546875006,49.61152343750001],[89.24394531250007,49.62705078125006],[89.20292968750007,49.59570312499997],[89.17998046875002,49.5322265625],[89.10947265625012,49.50136718750002],[89.00839843750006,49.472802734374994],[88.97060546875,49.483740234375006],[88.94541015625012,49.50766601562498],[88.90019531250002,49.53969726562502],[88.86386718750006,49.52763671874996],[88.83164062500012,49.44843749999998],[88.633203125,49.486132812500045],[88.19257812500004,49.451708984375045],[88.13554687500002,49.38149414062502],[88.11572265624997,49.25629882812501],[88.0285156250001,49.219775390625045],[87.98808593750002,49.186914062499994],[87.9347656250001,49.16455078124997],[87.81425781250002,49.162304687499955],[87.7625,49.16582031249996],[87.5158203125001,49.122412109375006],[87.41669921875004,49.07661132812501],[87.32285156250012,49.085791015625006],[86.62646484374997,49.56269531250001],[86.67548828125004,49.77729492187501],[86.1808593750001,49.49931640624996],[85.2326171875001,49.61582031249998],[84.9894531250001,50.061425781249994],[84.32324218749997,50.239160156249966],[83.94511718750007,50.774658203125],[83.35732421875005,50.99458007812504],[82.76083984375012,50.89335937500002],[82.49394531250007,50.72758789062499],[81.46591796875006,50.73984375],[81.38828125000006,50.95649414062501],[81.0714843750001,50.96875],[81.12724609375002,51.19106445312502],[80.73525390625,51.29340820312498],[80.44804687500002,51.18334960937503],[80.42363281250002,50.94628906249997],[79.98623046875,50.774560546874966],[77.85996093750006,53.269189453124994],[76.48476562500005,54.02255859374998],[76.42167968750007,54.151513671874966],[76.65458984375007,54.14526367187503],[76.8373046875,54.4423828125],[75.43720703125004,54.08964843749999],[75.22021484374997,53.89379882812506],[74.45195312500007,53.64726562500002],[74.35156250000003,53.487646484375006],[73.85898437500006,53.61972656249998],[73.40693359375004,53.44755859374999],[73.30566406250003,53.707226562499955],[73.71240234375003,54.04238281250002],[73.22988281250005,53.957812500000045],[72.62226562500004,54.13432617187502],[72.44677734375003,53.94184570312498],[72.18603515625003,54.32563476562501],[72.00449218750006,54.20566406249998],[71.09316406250005,54.21220703124999],[71.18554687500003,54.59931640624998],[70.73808593750007,55.30517578125],[70.18242187500002,55.162451171875034],[68.9772460937501,55.389599609374955],[68.20625,55.16093750000002],[68.15585937500006,54.97670898437505],[65.476953125,54.62329101562497],[65.08837890624997,54.340185546875034],[64.46123046875002,54.38417968750002],[61.92871093750003,53.94648437500004],[61.231054687500006,54.01948242187498],[60.97949218749997,53.62172851562505],[61.53496093750002,53.52329101562506],[61.22890625,53.445898437500006],[61.19921874999997,53.28715820312502],[61.65986328125004,53.22846679687504],[62.08271484375004,53.00541992187499],[61.047460937500006,52.97246093750002],[60.77441406249997,52.67578124999997],[60.99453125000005,52.33686523437504],[60.03027343749997,51.93325195312505],[60.464746093749994,51.651171875000045],[61.55468750000003,51.32460937500005],[61.38945312500002,50.86103515625001],[60.94228515625005,50.69550781250004],[60.42480468749997,50.67915039062498],[60.05859374999997,50.850292968749955],[59.812402343749994,50.58203125],[59.523046875,50.492871093749955],[59.4523437500001,50.62041015625002],[58.88369140625005,50.694433593750006],[58.359179687500074,51.063818359375034],[57.83886718750003,51.091650390625006],[57.44218750000002,50.88886718749998],[57.01171874999997,51.06518554687503],[56.49140625000004,51.01953124999997],[55.68623046875004,50.582861328125006],[54.64160156250003,51.011572265625034],[54.555273437500006,50.535791015624994],[54.139746093750006,51.04077148437503],[53.33808593750004,51.48237304687504],[52.57119140625005,51.481640624999955],[52.21914062499999,51.709375],[51.344531250000074,51.47534179687503],[51.16347656250005,51.6474609375],[50.79394531249997,51.729199218749955],[50.246875,51.28950195312498],[49.49804687500003,51.08359375000006],[49.32343750000004,50.851708984374966],[48.625097656250006,50.61269531250005],[48.7589843750001,49.92832031250006],[48.33496093750003,49.858251953125006],[47.7057617187501,50.37797851562502],[47.42919921874997,50.35795898437502],[46.889550781249994,49.69697265625001],[46.80205078125002,49.36708984375002],[47.031347656250006,49.150292968749994],[46.70263671875003,48.80556640625002],[46.660937500000074,48.41225585937502],[47.06464843750004,48.23247070312499],[47.292382812499994,47.74091796875004],[47.48193359374997,47.80390624999998],[48.16699218750003,47.70878906249996],[48.959375,46.77460937499998],[48.558398437500074,46.75712890624999],[48.54121093750004,46.60561523437502],[49.232226562500074,46.33715820312503],[48.683691406250006,46.08618164062497],[48.72958984375006,45.896826171875034],[48.4870117187501,45.93486328124996],[47.63330078124997,45.58403320312499],[47.46328125,45.67968750000003],[47.5294921875001,45.530224609374955],[47.3512695312501,45.21772460937498],[46.7072265625001,44.503320312499994],[47.30703125000005,44.103125],[47.462792968749994,43.55502929687498],[47.64648437500003,43.88461914062498],[47.463183593750074,43.03505859375002],[48.572851562500006,41.84448242187503],[47.79101562499997,41.19926757812502],[47.31767578125002,41.28242187500001],[46.74931640625002,41.812597656250006],[46.42988281250004,41.890966796875006],[46.21269531250002,41.989892578124994],[45.63857421875005,42.20507812500003],[45.63427734374997,42.234716796875034],[45.72753906249997,42.47504882812498],[45.70527343750004,42.49809570312496],[45.56289062499999,42.53574218749998],[45.34375,42.52978515625003],[45.16025390625006,42.675],[45.07158203125002,42.69414062500002],[44.94335937499997,42.73027343750002],[44.870996093749994,42.75639648437499],[44.850488281249994,42.746826171875],[44.77109375000006,42.61679687499998],[44.69179687499999,42.709619140624966],[44.64433593750002,42.734716796875034],[44.50585937500003,42.748632812500006],[44.329492187499994,42.703515624999966],[44.10273437500004,42.616357421874994],[44.004687500000074,42.59560546875002],[43.95742187500005,42.56655273437505],[43.825976562500074,42.571533203125],[43.759863281250006,42.593847656250006],[43.738378906250006,42.61699218750002],[43.74990234375005,42.65751953125002],[43.79541015624997,42.702978515625034],[43.78261718750005,42.747021484374955],[43.62304687500003,42.80771484374998],[43.5578125000001,42.844482421875],[43.089160156250074,42.9890625],[43.00019531250004,43.04965820312506],[42.991601562499994,43.09150390624998],[42.76064453125005,43.169580078124966],[41.58056640624997,43.21923828124997],[41.460742187500074,43.276318359374955],[41.35820312500002,43.33339843750005],[41.08310546875006,43.37446289062498],[40.94199218750006,43.41806640624998],[40.801660156249994,43.479931640624955],[40.64804687500006,43.53388671875004],[40.084570312500006,43.553125],[40.02373046875002,43.48486328125],[39.873632812500006,43.47280273437502],[38.71728515624997,44.28808593750003],[38.18125,44.41967773437503],[37.851464843749994,44.698828125000034],[37.49511718750003,44.69526367187504],[37.20478515625004,44.97197265624999],[36.62763671875004,45.15131835937504],[36.941210937500074,45.289697265624994],[36.72041015625004,45.371875],[36.8659179687501,45.42705078124999],[37.21357421875004,45.272314453125006],[37.6471679687501,45.37719726562506],[37.61240234375006,45.56469726562506],[37.93310546875003,46.001708984375],[38.014257812500006,46.047753906249966],[38.07958984375003,45.93481445312506],[38.18359374999997,46.09482421875006],[38.49228515625006,46.09052734374998],[37.913867187500074,46.40649414062503],[37.766503906249994,46.63613281250002],[38.50097656249997,46.663671875000034],[38.43867187500004,46.813085937500006],[39.29345703125003,47.105761718750045],[39.19570312499999,47.268847656250045],[39.023730468750074,47.27221679687503],[38.928320312500006,47.175683593749994],[38.55244140625004,47.15034179687498],[38.7619140625001,47.261621093749994],[38.21435546875003,47.091455078124966],[38.36884765625004,47.609960937500006],[38.90029296875005,47.85512695312502],[39.77871093750005,47.88754882812506],[39.95791015625005,48.268896484375034],[39.8356445312501,48.54277343749996],[39.6447265625001,48.591210937499966],[39.792871093749994,48.807714843750034],[40.00361328125004,48.82207031250002],[39.68652343749997,49.007910156250034],[40.10878906250005,49.251562500000034],[40.080664062500006,49.576855468749955],[39.780566406250074,49.57202148437503],[39.17480468750003,49.85595703124997],[38.91835937499999,49.82470703125],[38.258593750000074,50.05234375],[38.046875,49.92001953125006],[37.42285156249997,50.411474609375006],[36.619433593750074,50.209228515625],[36.1164062500001,50.408544921875006],[35.59111328125002,50.36875],[35.31191406250005,51.043896484374955],[35.0640625,51.203417968750045],[34.21386718750003,51.25537109375006],[34.12109375000003,51.67915039062498],[34.397851562499994,51.780419921874994],[33.735253906249994,52.344775390625045],[32.435449218749994,52.307226562500034],[32.12226562500004,52.05058593749996],[31.763378906250097,52.10107421875003],[31.758593750000017,52.125830078125034],[31.690625,52.22065429687498],[31.64990234374997,52.26220703125],[31.60156250000003,52.284814453124994],[31.57734375000004,52.31230468749999],[31.585546875,52.532470703125],[31.56484375,52.75922851562501],[31.53515624999997,52.798242187499966],[31.442773437499994,52.86181640625003],[31.35302734374997,52.93344726562498],[31.295117187500097,52.98979492187499],[31.25878906249997,53.01669921875006],[31.364550781250017,53.13896484375002],[31.388378906250097,53.18481445312503],[31.41787109375005,53.196044921875],[31.849707031250006,53.106201171875],[32.14199218750005,53.091162109375034],[32.46933593750006,53.270312500000045],[32.578027343749994,53.312402343749994],[32.644433593749994,53.32890624999999],[32.70429687500004,53.33632812499999],[32.45097656250002,53.6533203125],[32.20039062500004,53.78125],[31.99218750000003,53.796875],[31.82080078124997,53.79194335937498],[31.754199218750017,53.81044921875002],[31.825292968750006,53.93500976562501],[31.837792968749994,54.00078124999999],[31.825976562500074,54.030712890624955],[31.79199218749997,54.05590820312503],[31.62841796874997,54.111181640625006],[31.403613281250017,54.195947265624966],[31.299121093750017,54.29169921875001],[31.184765625000097,54.452978515625006],[31.074804687500063,54.491796875],[31.154882812500063,54.610937500000034],[31.152148437500017,54.625341796875034],[31.12128906250004,54.64848632812496],[30.984179687500074,54.695898437500034],[30.79882812499997,54.78325195312499],[30.79101562499997,54.806005859375006],[30.804492187500074,54.8609375],[30.829882812500017,54.91499023437498],[30.977734375000097,55.05048828124998],[30.977734375000097,55.08779296875002],[30.958886718749994,55.13759765625005],[30.87744140625003,55.223437500000045],[30.81445312499997,55.27871093750002],[30.81054687499997,55.306982421875006],[30.82099609375004,55.330273437499955],[30.900585937500097,55.397412109374955],[30.906835937500063,55.57001953125004],[30.625585937500006,55.666259765625],[30.23359375000004,55.84521484375006],[30.04267578125004,55.83642578125003],[29.93701171874997,55.84526367187499],[29.881640625000074,55.83232421875002],[29.82392578125004,55.79511718749998],[29.74414062499997,55.770410156249994],[29.630078125000097,55.75117187499998],[29.482226562500074,55.6845703125],[29.412988281249994,55.72485351562506],[29.35341796875005,55.784375],[29.375,55.938720703125],[28.284277343750006,56.055908203125],[28.14794921875003,56.142919921875034],[28.202050781250023,56.260400390624994],[28.191699218750045,56.31557617187505],[28.169238281250017,56.386865234374994],[28.11083984375,56.51069335937501],[28.103125,56.545703125000045],[27.89208984375003,56.741064453125034],[27.88154296875001,56.82416992187501],[27.848632812500057,56.85341796875002],[27.806054687499994,56.86708984375005],[27.639453125000074,56.84565429687504],[27.83027343750004,57.19448242187505],[27.83828125000008,57.247705078124966],[27.82861328124997,57.293310546875006],[27.796875,57.316943359375045],[27.538671875000063,57.429785156250034],[27.51113281250005,57.508154296875006],[27.469726562500057,57.524023437500034],[27.35195312500005,57.528125],[27.4,57.66679687499999],[27.542089843750063,57.799414062500006],[27.778515625000068,57.87070312500006],[27.502441406250057,58.221337890624994],[27.434179687500006,58.787255859374994],[28.15107421875004,59.374414062499966],[28.0125,59.484277343749966],[28.05800781250008,59.781542968750045],[28.334570312500034,59.69252929687502],[28.518164062500034,59.849560546874955],[28.947265625000057,59.828759765624994],[29.147265625000045,59.999755859375],[30.12255859374997,59.873583984375074],[30.172656250000017,59.957128906250034],[29.72119140624997,60.19531249999997],[29.069140625000017,60.19145507812499],[28.643164062500006,60.375292968750045],[28.512792968750006,60.67729492187502],[27.797656250000074,60.53613281250003],[29.69013671875004,61.54609375000001],[31.18671875000004,62.48139648437504],[31.533984375000017,62.885400390624994],[31.180859375000097,63.208300781250074],[29.991503906250074,63.73515625000002],[30.50390625000003,64.02060546875],[30.513769531250006,64.2],[30.04189453125005,64.44335937499997],[30.072851562500063,64.76503906250005],[29.60419921875004,64.968408203125],[29.826953125000017,65.14506835937502],[29.608007812500006,65.248681640625],[29.715917968750063,65.62456054687502],[30.102734375000097,65.72626953125004],[29.066210937500045,66.89174804687497],[29.988085937500017,67.66826171874999],[29.343847656250006,68.06186523437506],[28.685156250000034,68.189794921875],[28.470703125000057,68.48837890625],[28.77285156250005,68.84003906249995],[28.414062500000057,68.90415039062506],[28.96582031250003,69.02197265625],[29.38828125,69.29814453125005],[30.08730468750005,69.43286132812503],[30.18017578124997,69.63583984375],[30.860742187499994,69.53842773437503],[30.869726562500006,69.78344726562506],[31.546972656250063,69.696923828125],[31.997949218749994,69.80991210937503],[31.98457031250004,69.95366210937499],[33.00781249999997,69.72211914062498],[32.91503906249997,69.60170898437497],[32.17675781250003,69.67402343749995],[32.37773437500002,69.47910156250003],[32.99980468750002,69.4701171875],[32.97890625000005,69.367333984375],[33.45429687500004,69.42817382812495],[33.14121093750006,69.068701171875],[33.684375,69.31025390625001],[35.85791015625003,69.19174804687503],[37.73056640625006,68.69213867187503],[38.43017578125003,68.35561523437505],[39.568945312500006,68.07172851562501],[39.82333984375006,68.05859375],[39.80927734375004,68.15083007812498],[40.38066406250002,67.831884765625],[40.96640625000006,67.71347656250003],[41.358789062499994,67.20966796874998],[41.18896484375003,66.82617187500003],[40.10332031250002,66.29995117187502],[38.65390625000006,66.06904296874995],[35.51347656250002,66.39580078125002],[34.82460937499999,66.61113281249999],[34.48261718750004,66.55034179687505],[34.4515625,66.651220703125],[33.15019531250002,66.84394531250001],[32.93046875000002,67.08681640625002],[31.895312500000074,67.16142578125002],[33.65595703125004,66.44262695312506],[33.36054687500004,66.32954101562501],[34.112695312499994,66.225244140625],[34.69179687500005,65.95185546874998],[34.77695312500006,65.76826171874998],[34.40644531250004,65.39575195312503],[35.03535156250004,64.44023437500005],[35.802050781250074,64.3353515625],[36.3649414062501,64.00283203125002],[37.44218750000002,63.813378906249966],[37.9679687500001,63.949121093749994],[38.0622070312501,64.09101562499995],[37.953710937500006,64.32011718749999],[37.183691406250006,64.40849609375007],[36.6242187500001,64.75053710937502],[36.534570312499994,64.93862304687497],[36.88281249999997,65.17236328124997],[39.7580078125001,64.57705078125002],[40.05781250000004,64.77075195312497],[40.44492187500006,64.7787109375],[39.7980468750001,65.349853515625],[39.816503906250006,65.59794921874999],[41.4757812500001,66.12343750000002],[42.21054687500006,66.51967773437502],[43.23320312500002,66.41552734375003],[43.653125,66.2509765625],[43.54189453125005,66.12338867187503],[43.84375,66.14238281249999],[44.10439453125005,66.00859374999999],[44.42929687500006,66.93774414062503],[43.7824218750001,67.25449218749998],[44.20468750000006,68.25375976562498],[43.33320312500004,68.67338867187502],[44.04804687500004,68.54882812499997],[45.891992187499994,68.47968750000001],[46.69042968750003,67.84882812500001],[45.52871093750005,67.75756835937497],[44.90214843750002,67.41313476562505],[45.56220703125004,67.18559570312507],[45.88535156250006,66.89106445312501],[46.4923828125001,66.80019531249997],[47.65585937500006,66.97592773437498],[47.87470703125004,67.58417968749998],[48.83320312500004,67.681494140625],[48.75429687500005,67.89594726562501],[49.15527343750003,67.87041015625005],[51.994726562500006,68.53876953124995],[52.3966796875001,68.35170898437505],[52.72265624999997,68.484033203125],[52.34404296875002,68.60815429687497],[53.80195312500004,68.99589843750002],[54.49121093750003,68.992333984375],[53.797656250000074,68.90747070312503],[53.9308593750001,68.43554687499997],[53.260546875000074,68.26748046875002],[54.476171875,68.29414062499995],[54.86132812500003,68.20185546874998],[55.418066406250006,68.56782226562501],[56.04365234375004,68.64887695312501],[57.126855468749994,68.55400390625005],[58.17304687500004,68.88974609375006],[59.0573242187501,69.00605468750004],[59.37050781250005,68.73837890625003],[59.09902343750005,68.4443359375],[59.725683593750006,68.35161132812502],[59.89599609374997,68.70634765624999],[60.489160156249994,68.72895507812498],[60.93359374999997,68.98676757812501],[60.17060546875004,69.59091796875],[60.90908203125005,69.84711914062495],[64.19042968750003,69.53466796875],[64.89628906250002,69.247802734375],[67.00244140625003,68.87358398437505],[68.37119140625006,68.31425781250005],[69.14052734375005,68.95063476562501],[68.54277343750002,68.96708984374999],[68.00585937499997,69.48002929687505],[67.62412109375,69.58442382812501],[67.06445312500003,69.69370117187498],[66.89667968750004,69.55380859374998],[67.28476562500006,70.73872070312498],[67.14335937500002,70.83754882812502],[66.70224609375006,70.81850585937497],[66.63964843749997,71.08139648437498],[68.2692382812501,71.68281250000001],[69.61181640625003,72.98193359375],[69.73828124999997,72.88496093749998],[71.5001953125001,72.91367187500003],[72.812109375,72.69140624999997],[72.57412109375,72.01254882812506],[71.86728515625,71.457373046875],[72.70449218750005,70.96323242187498],[72.5767578125,68.96870117187498],[73.59169921875005,68.48188476562501],[73.13945312500002,68.18134765624998],[73.06679687500005,67.766943359375],[71.84746093750002,67.00761718750005],[71.36523437500003,66.96152343749998],[71.53955078125003,66.68310546875],[70.72490234375007,66.51943359374997],[70.38281249999997,66.60249023437501],[70.69072265625002,66.74531249999998],[70.2833984375001,66.68579101562503],[69.8771484375001,66.84545898437506],[69.21777343749997,66.82861328125],[69.01347656250002,66.78833007812503],[69.19433593749997,66.57866210937505],[70.33945312500006,66.34238281250006],[71.35800781250006,66.35942382812505],[71.91699218749997,66.24672851562502],[72.32158203125002,66.33212890625],[72.4173828125,66.56079101562506],[73.79208984375,66.99531250000001],[74.07451171875007,67.41411132812499],[74.76953124999997,67.76635742187497],[74.39140625000007,68.42060546874995],[74.57958984375003,68.751220703125],[76.10751953125006,68.975732421875],[76.45917968750004,68.97827148437497],[77.2384765625001,68.46958007812498],[77.17441406250012,67.77851562499998],[77.77158203125006,67.57026367187501],[78.92246093750006,67.58911132812503],[77.58828125000005,67.75190429687498],[77.66484375000002,68.19038085937495],[77.99511718749997,68.25947265624998],[77.65068359375007,68.90302734375001],[76.00097656249997,69.23505859374998],[75.42001953125,69.23862304687498],[74.81484375,69.09057617187503],[73.83603515625006,69.143212890625],[73.578125,69.80297851562503],[74.34335937500006,70.57871093749998],[73.08623046875007,71.44492187500006],[73.67177734375,71.84506835937503],[74.99218749999997,72.14482421874999],[74.78681640625004,72.811865234375],[75.15244140625,72.85273437499998],[75.74140625000004,72.29624023437503],[75.273828125,71.95893554687495],[75.33203125000003,71.34174804687498],[76.92900390625002,71.12788085937504],[77.58964843750007,71.16791992187501],[78.32060546875002,70.93041992187503],[78.94218750000002,70.93378906250001],[79.08388671875,71.00200195312505],[78.58769531250007,70.993896484375],[78.21259765625004,71.26630859374998],[76.43339843750002,71.55249023437503],[76.03242187500004,71.91040039062503],[76.87138671875002,72.03300781250005],[77.77753906250004,71.83642578125006],[78.23242187500003,71.95229492187502],[78.01640625000007,72.092041015625],[77.49287109375004,72.07172851562504],[77.47158203125,72.19213867187506],[78.22539062500007,72.37744140625006],[79.4220703125001,72.38076171875002],[80.7625,72.08916015625002],[81.66162109374997,71.71596679687502],[82.75781250000003,71.76411132812498],[83.23359375000004,71.66816406249995],[82.32285156250006,71.26000976562503],[82.16318359375012,70.59814453125003],[82.22119140625003,70.39570312499998],[82.86914062499997,70.95483398437503],[83.03017578125,70.58051757812498],[82.6823242187501,70.21772460937498],[83.0807617187501,70.09301757812497],[83.07382812500012,70.276708984375],[83.73593750000006,70.54648437499998],[83.15126953125005,71.10361328124998],[83.534375,71.68393554687498],[83.20029296875012,71.87470703125004],[82.64541015625005,71.92524414062504],[82.09365234375,72.26542968750005],[80.82705078125005,72.48828124999997],[80.84160156250007,72.94916992187498],[80.4245117187501,73.23115234374998],[80.5832031250001,73.56845703125003],[85.20058593750005,73.72153320312506],[86.89296875,73.88710937500002],[85.79257812500012,73.438330078125],[86.67705078125002,73.10678710937503],[85.93896484374997,73.45649414062495],[87.12011718750003,73.61503906250002],[87.57119140625,73.81074218750001],[86.57109375000007,74.24375],[86.0013671875,74.316015625],[86.39580078125007,74.45009765624997],[86.89794921874997,74.32534179687497],[87.22968750000004,74.3638671875],[85.79101562499997,74.6451171875],[86.20126953125006,74.81621093750005],[86.65146484375012,74.68242187500005],[87.04179687500007,74.77885742187499],[87.46757812500002,75.01323242187505],[86.93906250000006,75.06811523437503],[87.00595703125012,75.16982421874997],[87.67138671874997,75.12958984375004],[90.18496093750005,75.59106445312497],[94.07519531249997,75.91289062499999],[92.89042968750002,75.90996093750002],[93.25927734375003,76.09877929687502],[95.57871093750012,76.13730468749998],[96.07548828125007,76.08198242187498],[95.65332031250003,75.89218750000003],[96.50859375000002,76.00556640624995],[96.49707031249997,75.89121093750003],[98.66201171875005,76.24267578125003],[99.77041015625,76.02875976562498],[99.5407226562501,75.79858398437497],[99.85136718750007,75.93027343749998],[99.8253906250001,76.13593749999995],[98.80566406250003,76.48066406250004],[100.84375,76.52519531250005],[101.59775390625006,76.43920898437503],[100.92802734375002,76.55673828124998],[100.98994140625004,76.99047851562497],[102.61015625000007,77.508544921875],[104.01455078125,77.73041992187501],[106.05957031249997,77.39052734375002],[104.20244140625002,77.101806640625],[106.9416015625001,77.034375],[107.42978515625006,76.92656250000002],[106.41357421874997,76.51225585937499],[107.72216796875003,76.52231445312498],[108.18164062500003,76.73784179687502],[111.39248046875,76.686669921875],[112.09394531250004,76.48032226562506],[111.94267578125002,76.38046875000003],[112.61953125,76.38354492187506],[112.65625,76.05356445312498],[113.2726562500001,76.25166015625001],[113.5638671875,75.89165039062502],[113.85722656250007,75.92128906250002],[113.56757812500004,75.56840820312499],[112.45302734375,75.83017578125003],[112.95566406250006,75.571923828125],[113.24296875000007,75.61142578125003],[113.72617187500012,75.45063476562498],[112.92490234375012,75.01503906249997],[109.84033203124997,74.32197265624998],[109.8102539062501,74.16918945312503],[108.19951171875002,73.69409179687497],[107.27109375000006,73.62104492187501],[106.67939453125004,73.3306640625],[106.1886718750001,73.3080078125],[105.14394531250005,72.77705078125001],[105.7082031250001,72.836669921875],[106.47792968750005,73.13940429687503],[107.750390625,73.17314453125007],[109.33105468749997,73.48745117187497],[109.85527343750002,73.47246093750002],[110.86816406249997,73.73071289062497],[109.70673828125004,73.74375],[110.2614257812501,74.01743164062503],[111.05625,73.93935546875002],[111.13085937500003,74.05283203125003],[111.55058593750007,74.02851562499998],[111.22812500000012,73.96855468750002],[111.40039062500003,73.827734375],[112.14726562500007,73.70893554687498],[112.79541015625003,73.74609375],[112.83593750000003,73.96206054687502],[113.03281250000006,73.91386718750007],[113.4162109375001,73.647607421875],[113.15693359375004,73.45957031249998],[113.49091796875004,73.34609375000002],[113.12783203125,72.8306640625],[113.66455078124997,72.63452148437503],[113.2155273437501,72.80585937500001],[113.88623046875003,73.34580078124998],[113.51035156250012,73.50498046874998],[115.33769531250007,73.70258789062501],[118.87089843750007,73.53789062500002],[118.45703124999997,73.46440429687507],[118.43027343750012,73.24653320312501],[119.750390625,72.97910156250006],[122.26015625,72.88056640624995],[122.75195312500003,72.906494140625],[122.61523437499997,73.02792968750006],[123.1603515625001,72.95488281250002],[123.62226562500004,73.19326171875],[123.49111328125005,73.666357421875],[124.54121093750004,73.75126953125007],[125.59853515625005,73.447412109375],[126.25449218750012,73.548193359375],[126.55253906250007,73.33491210937498],[127.03134765625006,73.54746093750003],[127.74033203125012,73.48154296875],[129.10058593750003,73.11235351562502],[128.5990234375,72.895166015625],[129.01728515625004,72.8724609375],[129.250390625,72.70517578125003],[128.41826171875002,72.53515625000003],[129.28134765625006,72.43769531249998],[129.41064453124997,72.16630859375002],[128.93496093750005,72.07949218750002],[127.8034179687501,72.43403320312504],[127.84140625000012,72.308251953125],[128.91142578125002,71.75532226562495],[129.21025390625007,71.91694335937501],[129.46083984375,71.73930664062499],[128.84326171875003,71.6634765625],[129.76191406250004,71.11953125000002],[130.53710937500003,70.89252929687495],[130.75712890625002,70.96235351562498],[131.02158203125006,70.74609374999997],[132.0353515625001,71.24404296875],[132.65390625000006,71.92597656250001],[133.6888671875,71.434228515625],[134.70273437500012,71.38681640625003],[135.55917968750006,71.6103515625],[136.09033203125003,71.61958007812501],[137.9396484375001,71.1333984375],[137.84404296875007,71.22680664062503],[138.31406250000006,71.32553710937498],[137.918359375,71.38408203124999],[138.23417968750007,71.596337890625],[138.78017578125,71.62900390624998],[139.209375,71.44477539062501],[139.98417968750007,71.49150390625005],[139.72294921875002,71.88496093749998],[139.35927734375005,71.95136718750001],[140.18769531250004,72.19130859374997],[139.17636718750006,72.16347656249997],[139.14082031250004,72.32973632812502],[139.60117187500012,72.49609374999997],[141.07929687500004,72.5869140625],[140.80820312500006,72.89096679687503],[142.06142578125005,72.72080078125],[146.25292968749997,72.442236328125],[146.234765625,72.34970703125],[144.77636718749997,72.38227539062495],[144.16923828125002,72.25878906250003],[144.29492187499997,72.19262695312497],[146.83183593750007,72.29541015625003],[146.11328125000003,71.94497070312497],[146.23027343750007,72.1375],[145.75859375000007,72.22587890624999],[145.75673828125005,71.94130859375002],[145.06396484374997,71.92607421875002],[145.18857421875012,71.69580078125],[146.07324218749997,71.80834960937503],[147.26181640625006,72.327880859375],[149.50156250000012,72.16430664062497],[150.01689453125002,71.89565429687505],[149.04873046875005,71.79575195312503],[148.9681640625,71.69047851562499],[150.59980468750004,71.5201171875],[150.09765624999997,71.22656249999997],[150.96777343749997,71.38046874999998],[151.58242187500005,71.28696289062503],[152.09277343749997,71.02329101562503],[151.76201171875002,70.98247070312499],[152.50878906250003,70.83447265625003],[156.68457031250003,71.09375],[158.03701171875005,71.03925781250001],[159.35068359375006,70.79072265625001],[160.00644531250006,70.30966796875006],[159.72939453125005,69.87021484375006],[160.91074218750012,69.60634765625002],[161.03554687500005,69.09819335937507],[161.30986328125007,68.98227539062498],[160.85605468750006,68.53833007812506],[161.565625,68.90517578125],[161.53691406250002,69.379541015625],[162.16601562499997,69.61157226562503],[163.20136718750004,69.71474609375],[166.82031250000003,69.49956054687505],[167.8568359375,69.72822265624998],[168.30302734375002,69.27148437500003],[169.31064453125006,69.07954101562498],[169.60986328124997,68.78603515624997],[170.53759765624997,68.82539062500001],[170.99541015625002,69.04531250000005],[170.58222656250004,69.58334960937506],[170.16093750000007,69.62656249999998],[170.48681640625003,70.107568359375],[173.27744140625006,69.823828125],[173.43867187500004,69.94682617187502],[175.92148437500012,69.89531250000002],[179.27265624999998,69.25966796875002],[180,68.98344726562505],[180,65.06723632812498],[178.51953125000003,64.60297851562498],[177.7486328125,64.71704101562503],[176.88085937499997,65.08193359375002],[176.34101562500015,65.04731445312501],[177.03730468750004,64.99965820312497],[177.22285156250004,64.861669921875],[177.06875,64.78666992187502],[176.06113281250012,64.96088867187498],[174.54882812500009,64.68388671875005],[176.0565429687501,64.90473632812498],[176.35097656250005,64.70512695312502],[176.14091796875007,64.58583984375005],[177.42744140625015,64.76337890624998],[177.43291015625002,64.44448242187502],[177.6875,64.30473632812507],[178.04472656250013,64.21958007812503],[178.22949218749991,64.36440429687497],[178.38144531250018,64.26088867187502],[178.73144531250003,63.667089843750006],[178.44042968750009,63.605566406250006],[178.74404296874994,63.39477539062503],[178.79296874999997,63.54033203125002],[179.38857421875,63.14721679687497],[179.25957031250002,63.00830078125],[179.5705078125001,62.6875],[179.12070312500012,62.32036132812499],[177.292578125,62.59902343750002],[177.33896484375006,62.781347656250034],[177.02353515625012,62.777246093749994],[177.15947265625007,62.56098632812498],[174.51435546875015,61.823632812499966],[173.6234375,61.716064453125],[173.13183593749997,61.40664062500002],[172.85654296875006,61.469189453124955],[172.90800781250002,61.311621093750006],[172.39609375000006,61.16738281250002],[172.39277343750004,61.061767578125],[170.60820312500007,60.434912109375034],[170.3509765625,59.965527343749955],[169.9826171875001,60.067089843749955],[169.2267578125001,60.59594726562497],[168.1375,60.57392578125001],[167.22675781250004,60.406298828125045],[166.27304687500012,59.85625],[166.13603515625007,59.979345703125034],[166.35214843750006,60.48481445312498],[165.08457031250006,60.09858398437498],[164.95371093750006,59.843603515625006],[164.52529296875,60.06127929687503],[164.11328125000003,59.89755859374998],[164.13505859375002,59.984375],[163.74384765625004,60.02802734374998],[163.36484375000012,59.78144531250004],[163.27285156250005,59.302587890625006],[162.14160156249997,58.44741210937502],[161.96005859375012,58.07690429687506],[162.39140625000002,57.717236328124955],[162.65429687499997,57.94824218750003],[163.22578125000004,57.790380859375034],[162.77929687500003,57.35761718749998],[162.79111328125012,56.875390624999966],[162.92207031250004,56.72265625000003],[163.2565429687501,56.68803710937499],[163.33554687500012,56.232519531250006],[163.04736328125003,56.044677734375],[162.84033203125003,56.065625],[162.628125,56.232275390625034],[163.03837890625002,56.521875],[162.67148437500006,56.49008789062498],[162.52822265625005,56.260693359374955],[162.08496093749997,56.08964843750002],[161.72392578125002,55.49614257812499],[162.10556640625006,54.75214843750004],[161.62480468750002,54.51625976562502],[160.77265625000004,54.54135742187498],[160.0744140625001,54.18916015625001],[159.84375,53.78364257812498],[160.02509765625004,53.129589843749955],[159.58593750000003,53.237695312499966],[158.74541015625002,52.90893554687506],[158.47207031250005,53.032373046874966],[158.6087890625,52.873632812500034],[158.49316406249997,52.383154296875034],[158.10351562500003,51.80961914062499],[156.84746093750002,51.006591796875],[156.74775390625004,50.969287109375045],[156.52119140625004,51.38027343750002],[156.36474609374997,52.509375],[156.11035156250003,52.86616210937504],[155.62031250000004,54.86455078125002],[155.5548828125001,55.348486328125034],[155.98251953125012,56.69521484375002],[156.8488281250001,57.290185546874994],[156.97675781250004,57.46630859375],[156.82988281250007,57.77963867187498],[157.4503906250001,57.79926757812498],[157.66640625000005,58.01977539062506],[158.27519531250007,58.00898437499998],[159.21064453125004,58.519433593749966],[159.8473632812501,59.127148437499955],[161.75351562500012,60.15229492187501],[162.06816406250002,60.466406250000034],[163.70996093749997,60.916796875000045],[163.55351562500002,61.02563476562503],[164.00546875000006,61.34379882812499],[163.80439453125004,61.46137695312498],[164.20722656250004,62.29223632812506],[164.59833984375004,62.470556640625034],[165.20810546875012,62.37397460937501],[165.41738281250005,62.447070312500045],[164.418359375,62.704638671875045],[163.33173828125004,62.550927734374994],[163.01767578125006,61.89106445312504],[163.25781249999997,61.69946289062497],[163.08525390625002,61.570556640625],[162.85595703125003,61.705029296874955],[162.39257812500003,61.662109375],[160.76660156249997,60.753320312499966],[160.17363281250002,60.638427734375],[160.37890625000003,61.02548828124998],[159.79042968750005,60.956640625],[160.309375,61.894384765625006],[159.55234375000012,61.71948242187497],[159.18925781250007,61.92939453125001],[158.07011718750002,61.75361328125001],[157.46933593750012,61.798925781250006],[157.0841796875001,61.67568359375002],[155.71611328125002,60.682373046875],[154.97080078125012,60.376660156249955],[154.29306640625006,59.833349609375034],[154.1498046875,59.52851562500001],[154.97128906250006,59.44960937500002],[155.16044921875002,59.19013671875001],[154.45800781250003,59.21655273437497],[154.01093750000004,59.075537109375006],[153.69521484375005,59.22475585937505],[153.36113281250002,59.214794921874955],[152.81787109375003,58.92626953124997],[152.31962890625002,59.03076171875003],[152.08789062499997,58.910449218750045],[151.32675781250006,58.875097656250034],[151.12109375000003,59.08251953125003],[152.26064453125,59.22358398437498],[151.34824218750012,59.561132812500006],[150.4835937500001,59.494384765625],[150.66728515625002,59.55634765625001],[149.64257812499997,59.770410156249994],[149.06523437500002,59.63051757812502],[149.20498046875,59.488183593749966],[148.79707031250004,59.532324218750006],[148.74414062499997,59.37353515624997],[148.96464843750007,59.36914062499997],[148.72666015625006,59.257910156250034],[148.25742187500006,59.414208984374994],[147.51445312500002,59.2685546875],[146.53720703125006,59.45698242187501],[146.0495117187501,59.17055664062502],[145.55458984375,59.413525390624955],[143.19218750000002,59.3701171875],[142.58027343750004,59.240136718749966],[140.79023437500004,58.30346679687503],[140.446875,57.81367187499998],[138.66210937500003,56.96552734375004],[137.69150390625006,56.13935546875004],[135.2625,54.94331054687498],[135.25771484375005,54.73149414062499],[135.85156249999997,54.583935546874955],[136.797265625,54.62099609375005],[136.71884765625006,53.804101562499994],[137.15537109375012,53.82167968750002],[137.14160156249997,54.182226562500006],[137.66601562500003,54.283300781250006],[137.3392578125,54.10053710937498],[137.83476562500002,53.94672851562498],[137.25371093750007,53.546142578125],[137.95048828125007,53.60356445312499],[138.52792968750012,53.959863281249994],[138.56914062500002,53.818798828124955],[138.24970703125004,53.524023437500034],[138.45068359375003,53.53701171875002],[138.69941406250004,53.869726562500034],[138.65722656249997,54.29833984375003],[139.31972656250005,54.19296874999998],[139.707421875,54.27714843749999],[140.68759765625012,53.59643554687503],[141.3737304687501,53.29277343749999],[141.18125,53.01528320312505],[140.83964843750002,53.087890625],[141.25585937499997,52.84013671874996],[141.13242187500006,52.435693359374994],[141.48525390625,52.17851562500002],[141.36689453125004,51.92065429687506],[140.93261718750003,51.61992187499999],[140.5208984375,50.80019531250005],[140.62451171874997,50.08242187500002],[140.46269531250002,49.911474609375006],[140.51718750000012,49.59614257812498],[140.17060546875004,48.52368164062497],[138.58681640625005,47.057226562500006],[138.33691406250003,46.543408203124955],[137.68544921875,45.81835937500003],[136.14228515625004,44.489111328125034],[135.87460937500012,44.37353515625003],[135.1310546875001,43.52573242187506],[134.01044921875004,42.94746093750001],[133.15996093750007,42.69697265624998],[132.70898437500003,42.875830078125006],[132.30380859375006,42.88330078125],[132.30957031249997,43.31352539062499],[131.8666015625,43.09516601562501],[131.93896484374997,43.30195312500004],[131.15830078125012,42.62602539062499],[130.709375,42.656396484374966],[130.8341796875001,42.52294921875006],[130.68730468750007,42.30253906249999]]],[[[107.69550781250004,78.13090820312505],[107.48164062500004,78.057763671875],[106.41552734375003,78.13984375000001],[107.69550781250004,78.13090820312505]]],[[[102.88476562499997,79.25395507812505],[102.4123046875001,78.83544921874997],[103.80078124999997,79.14926757812503],[104.45205078125005,78.880029296875],[105.14599609375003,78.81884765625006],[105.31259765625012,78.49990234375],[104.74179687500012,78.33974609374997],[102.79667968750007,78.18789062500002],[101.20410156249997,78.19194335937505],[99.50029296875002,77.97607421875003],[101.590625,79.350439453125],[102.25126953125002,79.25605468749995],[102.40488281250006,79.43320312499998],[102.88476562499997,79.25395507812505]]],[[[76.24892578125005,79.65107421874995],[77.58896484375012,79.50190429687504],[76.64951171875012,79.493408203125],[76.24892578125005,79.65107421874995]]],[[[92.68349609375005,79.685205078125],[91.37626953125007,79.83549804687505],[91.22929687500007,80.03071289062504],[93.803125,79.904541015625],[92.68349609375005,79.685205078125]]],[[[51.409277343750006,79.94423828125],[50.09140625,79.98056640625003],[50.93632812500002,80.09423828125],[51.409277343750006,79.94423828125]]],[[[59.68886718750005,79.95581054687506],[58.91923828125002,79.98461914062506],[59.54453125000006,80.11884765624995],[59.68886718750005,79.95581054687506]]],[[[97.67451171875004,80.15825195312499],[97.65166015625002,79.76064453125],[98.59648437500002,80.05219726562495],[100.0612304687501,79.77709960937506],[99.68066406250003,79.32333984374998],[99.04179687500007,79.29301757812502],[99.92929687500012,78.96142578124997],[98.41113281250003,78.78779296875004],[95.53105468750007,79.09809570312501],[95.02041015625005,79.05268554687498],[94.21875,79.40234375],[93.07080078124997,79.49531250000001],[94.98730468749997,80.096826171875],[95.28134765625012,80.030517578125],[97.67451171875004,80.15825195312499]]],[[[50.05175781250003,80.07431640625003],[49.55605468750005,80.15893554687503],[49.883691406249994,80.230224609375],[50.05175781250003,80.07431640625003]]],[[[57.07871093750006,80.35092773437498],[56.986914062500006,80.07148437499998],[55.811621093750006,80.08715820312497],[56.02441406250003,80.34130859374997],[57.07871093750006,80.35092773437498]]],[[[53.521386718749994,80.18520507812497],[52.34355468750002,80.213232421875],[52.85390625,80.40239257812499],[53.85166015625006,80.26835937500005],[53.521386718749994,80.18520507812497]]],[[[57.95625,80.12324218749995],[57.33232421875002,80.15810546875005],[57.075,80.49394531249999],[59.25546875000006,80.34321289062501],[58.39794921874997,80.31875],[57.95625,80.12324218749995]]],[[[54.41533203125002,80.47280273437502],[53.811914062499994,80.47622070312502],[53.87724609375002,80.60527343750002],[54.41533203125002,80.47280273437502]]],[[[47.441992187500006,80.853662109375],[48.44570312500005,80.80600585937506],[48.68359375000003,80.63325195312504],[47.7052734375001,80.76518554687499],[46.141406250000074,80.44672851562495],[45.969042968750074,80.56948242187502],[44.9049804687501,80.61127929687501],[47.441992187500006,80.853662109375]]],[[[62.167773437500074,80.83476562500005],[62.07578125000006,80.616943359375],[61.05126953124997,80.418603515625],[60.27832031249997,80.49443359374999],[59.649804687499994,80.43125],[59.59228515625003,80.81650390624998],[62.167773437500074,80.83476562500005]]],[[[50.278125,80.92724609374997],[51.70361328125003,80.68764648437502],[48.81103515625003,80.35371093750001],[48.97753906250003,80.16259765624997],[47.73730468749997,80.08168945312502],[47.89296875000005,80.23925781249997],[46.991015625000074,80.182763671875],[46.644433593749994,80.30034179687507],[47.89580078125002,80.52905273437503],[49.087792968749994,80.515771484375],[49.24433593750004,80.82138671875],[50.278125,80.92724609374997]]],[[[80.02666015625007,80.84814453125003],[79.09853515625005,80.81206054687505],[79.21738281250012,80.96035156249997],[80.27958984375007,80.94980468750003],[80.02666015625007,80.84814453125003]]],[[[61.1408203125001,80.95034179687497],[60.0783203125001,80.99916992187497],[61.45742187499999,81.10395507812501],[61.1408203125001,80.95034179687497]]],[[[54.71894531250004,81.11596679687497],[56.47226562500006,80.99824218749995],[57.58037109375002,80.75546874999998],[55.88339843750006,80.62841796875003],[54.66816406250004,80.73867187500002],[54.04541015624997,80.87197265625],[54.71894531250004,81.11596679687497]]],[[[58.62236328125002,81.04165039062502],[58.930566406249994,80.83168945312497],[58.28564453124997,80.76489257812503],[57.21093749999997,81.01708984374997],[58.04951171875004,81.11845703125002],[58.62236328125002,81.04165039062502]]],[[[63.37382812500002,80.70009765624997],[62.59257812500002,80.85302734375006],[64.80205078125002,81.197265625],[65.43740234375005,80.93071289062507],[63.37382812500002,80.70009765624997]]],[[[91.56718750000007,81.14121093750003],[91.2228515625001,81.063818359375],[89.90117187500002,81.17070312500002],[91.56718750000007,81.14121093750003]]],[[[96.52656250000004,81.0755859375],[97.86992187500007,80.76328125000006],[97.02539062499997,80.53554687500002],[97.29843750000006,80.27275390625005],[93.6546875,80.009619140625],[91.52382812500005,80.35854492187502],[93.2625,80.79125976562497],[92.59257812500007,80.780859375],[92.7103515625,80.87216796875003],[95.1595703125,81.27099609375003],[95.80068359375005,81.28046874999998],[96.52656250000004,81.0755859375]]],[[[57.81025390625004,81.54604492187502],[58.563867187499994,81.41840820312504],[57.858691406250074,81.36806640625],[57.76972656250004,81.16972656249999],[55.71669921875005,81.1884765625],[55.46601562500004,81.31118164062502],[57.81025390625004,81.54604492187502]]],[[[63.65097656250006,81.60932617187501],[62.10644531249997,81.679345703125],[63.709570312500006,81.68730468750002],[63.65097656250006,81.60932617187501]]],[[[58.29541015625003,81.715185546875],[58.13457031250002,81.82797851562498],[59.261816406250006,81.85419921874998],[59.35644531250003,81.75898437499995],[58.29541015625003,81.715185546875]]]]},"properties":{"name":"Russia","childNum":73}},{"geometry":{"type":"Polygon","coordinates":[[[30.50996093750001,-1.067285156250009],[30.47705078125,-1.0830078125],[30.47021484375,-1.131152343750003],[30.508105468750017,-1.208203125000011],[30.631933593750006,-1.367480468750003],[30.710742187500017,-1.396777343750003],[30.76220703125,-1.458691406250011],[30.812597656250006,-1.563085937500006],[30.8765625,-2.143359375],[30.85498046875,-2.265429687500003],[30.828710937500006,-2.338476562500006],[30.7625,-2.371679687500006],[30.71484375,-2.363476562500011],[30.656640625000023,-2.373828125],[30.593359375,-2.396777343750003],[30.553613281250023,-2.400097656250011],[30.408496093750017,-2.31298828125],[30.117285156250006,-2.416601562500006],[29.93017578125,-2.339550781250011],[29.8681640625,-2.71640625],[29.698046875000017,-2.794726562500003],[29.390234375,-2.80859375],[29.10205078125,-2.595703125],[29.01435546875001,-2.72021484375],[28.893945312500023,-2.635058593750003],[28.876367187500023,-2.400292968750009],[29.13154296875001,-2.195117187500003],[29.196582031250017,-1.719921875000011],[29.576953125000017,-1.387890625000011],[29.82539062500001,-1.335546875],[29.930078125000023,-1.469921875000011],[30.360253906250023,-1.074609375],[30.41230468750001,-1.063085937500006],[30.46992187500001,-1.066015625],[30.50996093750001,-1.067285156250009]]]},"properties":{"name":"Rwanda","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[41.98769531250005,16.715625],[42.059960937499994,16.803515625000017],[42.15781250000006,16.570703125000023],[41.80156250000002,16.778759765624955],[41.86044921875006,17.002539062499977],[41.98769531250005,16.715625]]],[[[46.53144531250004,29.09624023437499],[47.433203125,28.989550781250017],[47.671289062499994,28.53315429687504],[48.442480468750006,28.542919921874983],[48.80898437499999,27.895898437499966],[48.797167968750074,27.72431640625001],[49.2375,27.49272460937499],[49.17509765625002,27.43764648437505],[49.40527343749997,27.18095703124996],[50.149804687499994,26.66264648437499],[50.00810546875002,26.678515625000017],[50.21386718750003,26.30849609375005],[50.15546875000004,26.100537109374955],[50.03164062499999,26.11098632812505],[50.55791015625002,25.086669921875],[50.66689453125005,24.96381835937501],[50.72558593749997,24.869384765625057],[50.80439453125004,24.789257812499983],[50.928320312500006,24.595117187500023],[50.96601562500004,24.573925781249983],[51.022753906250074,24.56523437499999],[51.09335937500006,24.564648437499955],[51.178027343750074,24.586718750000017],[51.26796875,24.607226562500017],[51.33847656250006,24.564355468749994],[51.41123046875006,24.570800781250057],[51.30986328125002,24.340380859375017],[51.56835937500003,24.286181640625074],[51.592578125000074,24.07885742187503],[52.55507812500005,22.932812499999955],[55.104296875000074,22.621484375000023],[55.185839843750074,22.7041015625],[55.64101562499999,22.001855468749994],[54.97734375000002,19.995947265625006],[51.977636718750006,18.996142578125074],[49.04199218750003,18.58178710937503],[48.17216796875002,18.156933593749983],[47.57958984374997,17.448339843750034],[47.44179687499999,17.111865234375045],[47.14355468749997,16.946679687499966],[46.97568359375006,16.953466796875034],[46.72763671875006,17.26557617187501],[45.5353515625001,17.30205078124999],[45.14804687500006,17.427441406249955],[43.91699218749997,17.32470703124997],[43.41796875000003,17.516259765625023],[43.19091796875003,17.359375],[43.16503906249997,16.689404296874955],[42.79931640624997,16.37177734375001],[42.29394531249997,17.434960937499966],[41.75,17.88574218749997],[41.22949218750003,18.678417968749983],[40.75917968750005,19.755468750000034],[40.080664062500006,20.265917968750017],[39.728320312500074,20.390332031249955],[39.27607421875004,20.973974609375034],[39.093554687500074,21.31035156249999],[39.14707031250006,21.518994140624955],[38.98789062500006,21.88173828125005],[39.06201171874997,22.592187500000023],[38.46416015625002,23.71186523437504],[37.91972656250002,24.185400390625063],[37.54306640625006,24.291650390625023],[37.18085937500004,24.82001953125001],[37.26630859375004,24.960058593750034],[37.14882812499999,25.291113281249977],[35.18046875000002,28.03486328125004],[34.722070312499994,28.130664062500017],[34.625,28.064501953125017],[34.95078125,29.353515625],[36.068457031250006,29.200537109375006],[36.28281250000006,29.355371093750023],[36.47607421874997,29.49511718749997],[36.59179687500003,29.666113281250006],[36.703906250000074,29.831640624999977],[36.75527343750005,29.86601562499996],[37.46923828125003,29.995068359374955],[37.49072265625003,30.01171874999997],[37.55361328125005,30.14458007812496],[37.63359375000002,30.313281250000045],[37.64990234374997,30.330957031249994],[37.669726562500074,30.34814453125003],[37.862890625,30.44262695312503],[37.98007812500006,30.5],[37.47900390624997,31.007763671874955],[37.10527343750002,31.35517578125004],[36.95859375000006,31.491503906250017],[37.215625,31.55610351562501],[37.49335937500004,31.625878906250023],[38.111425781250006,31.78115234375005],[38.37548828124997,31.84746093749996],[38.962304687499994,31.99492187499999],[38.99707031249997,32.00747070312505],[39.145410156249994,32.12451171875],[39.36865234374997,32.09174804687498],[39.70410156250003,32.04252929687499],[40.02783203124997,31.995019531249994],[40.3693359375001,31.93896484375003],[40.47890625000005,31.89335937499999],[42.07441406250004,31.08037109374999],[43.77373046875002,29.84921875],[44.71650390625004,29.19360351562503],[46.35644531250003,29.06367187500001],[46.53144531250004,29.09624023437499]]]]},"properties":{"name":"Saudi Arabia","childNum":2}},{"geometry":{"type":"Polygon","coordinates":[[[36.87138671875002,21.996728515624994],[36.92695312500001,21.58652343749999],[37.25859375000002,21.108544921874994],[37.25722656250002,21.03940429687499],[37.15058593750001,21.103759765625],[37.14111328125,20.98178710937499],[37.19316406250002,20.12070312499999],[37.471289062500006,18.820117187500003],[38.609472656250006,18.005078125],[38.422460937500006,17.823925781249997],[38.39716796875001,17.778369140625003],[38.38554687500002,17.751269531250003],[38.37373046875001,17.717333984375003],[38.34736328125001,17.68359375],[38.28984375000002,17.637011718750003],[38.26728515625001,17.61669921875],[38.253515625,17.584765625],[37.78242187500001,17.4580078125],[37.547460937500006,17.324121093749994],[37.51015625000002,17.288134765625003],[37.45292968750002,17.108691406250003],[37.41103515625002,17.06171875],[37.24882812500002,17.056884765625],[37.16953125,17.04140625],[37.0615234375,17.061279296875],[37.00898437500001,17.058886718750003],[36.995214843750006,17.020556640625003],[36.97578125000001,16.86655273437499],[36.97871093750001,16.800585937500003],[36.887792968750006,16.624658203124994],[36.91376953125001,16.296191406250003],[36.566015625,15.362109375],[36.4267578125,15.132080078125],[36.44814453125002,14.940087890624994],[36.470800781250006,14.736474609374994],[36.52431640625002,14.2568359375],[36.12519531250001,12.75703125],[35.67021484375002,12.623730468749997],[35.1123046875,11.816552734374994],[34.93144531250002,10.864794921874989],[34.77128906250002,10.746191406249991],[34.571875,10.880175781249989],[34.34394531250001,10.658642578124997],[34.31123046875001,10.190869140624997],[34.078125,9.461523437499991],[33.87148437500002,9.506152343749989],[33.96328125000002,9.861767578124997],[33.90703125000002,10.181445312499989],[33.13007812500001,10.745947265624991],[33.073339843750006,11.606103515624994],[33.199316406250006,12.21728515625],[32.721875,12.223095703124997],[32.73671875000002,12.009667968749994],[32.072265625,12.006738281249994],[32.338476562500006,11.710107421874994],[32.42080078125002,11.089111328125],[31.224902343750017,9.799267578124997],[30.75537109375,9.731201171875],[30.003027343750006,10.277392578124989],[29.60546875,10.065087890624994],[29.47314453125,9.768603515624989],[28.979589843750006,9.594189453124997],[28.844531250000017,9.326074218749994],[28.048925781250006,9.32861328125],[27.880859375,9.601611328124989],[27.07421875,9.613818359374989],[26.65869140625,9.484130859375],[25.91914062500001,10.169335937499994],[25.858203125000017,10.406494140625],[25.211718750000017,10.329931640624991],[25.066992187500006,10.293798828124991],[24.785253906250006,9.774658203125],[24.53193359375001,8.886914062499997],[24.147363281250023,8.665625],[23.53730468750001,8.815820312499994],[23.46826171875,9.11474609375],[23.62265625,9.340625],[23.646289062500017,9.822900390624994],[22.86005859375001,10.919677734375],[22.922656250000017,11.344873046874994],[22.591113281250017,11.579882812499989],[22.580957031250023,11.990136718749994],[22.472460937500017,12.067773437499994],[22.352343750000017,12.660449218749989],[21.928125,12.678125],[21.825292968750006,12.79052734375],[22.228125,13.32958984375],[22.1064453125,13.7998046875],[22.53857421875,14.161865234375],[22.38154296875001,14.550488281249997],[22.6708984375,14.722460937500003],[22.93232421875001,15.162109375],[22.933886718750017,15.533105468749994],[23.10517578125001,15.702539062499994],[23.970800781250006,15.721533203124991],[23.980273437500017,19.496630859375003],[23.980273437500017,19.99594726562499],[24.9794921875,20.002587890624994],[24.980273437500017,21.995849609375],[28.036425781250017,21.995361328125],[31.092675781250023,21.994873046875],[31.260644531250023,22.00229492187499],[31.400292968750023,22.202441406250003],[31.486132812500017,22.14780273437499],[31.434472656250023,21.995849609375],[36.87138671875002,21.996728515624994]]]},"properties":{"name":"Sudan","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[34.078125,9.461523437499991],[34.07275390625,8.545263671874991],[33.95332031250001,8.443505859374994],[33.28105468750002,8.437255859375],[32.99892578125002,7.899511718749991],[33.902441406250006,7.509521484375],[34.06425781250002,7.225732421874994],[34.71064453125001,6.660302734374994],[34.98359375000001,5.858300781249994],[35.26835937500002,5.492285156249991],[35.08447265625,5.311865234374991],[34.87832031250002,5.109570312499997],[34.63984375000001,4.87548828125],[34.38017578125002,4.620654296874989],[34.176855468750006,4.419091796874994],[33.97607421875,4.22021484375],[33.74160156250002,3.985253906249994],[33.568457031250006,3.81171875],[33.489355468750006,3.755078125],[32.99726562500001,3.880175781249989],[32.33574218750002,3.706201171874994],[32.13593750000001,3.519726562499997],[31.79804687500001,3.802636718749994],[31.547167968750017,3.677587890624991],[31.15234375,3.785595703124997],[30.83857421875001,3.49072265625],[30.757226562500023,3.62421875],[30.586718750000017,3.62421875],[30.50830078125,3.835693359375],[30.194921875,3.98193359375],[29.676855468750006,4.5869140625],[29.469628906250023,4.61181640625],[29.224902343750017,4.391894531249989],[28.72705078125,4.504980468749991],[28.427539062500017,4.324169921874997],[28.19208984375001,4.350244140624994],[27.7880859375,4.644677734374994],[27.4033203125,5.109179687499989],[27.143945312500023,5.722949218749989],[26.514257812500006,6.069238281249994],[26.30859375,6.455322265625],[26.36181640625,6.635302734374989],[25.27890625,7.427490234375],[25.18134765625001,7.557226562499991],[25.20039062500001,7.807910156249989],[24.853320312500017,8.137548828124991],[24.291406250000023,8.29140625],[24.147363281250023,8.665625],[24.53193359375001,8.886914062499997],[24.785253906250006,9.774658203125],[25.066992187500006,10.293798828124991],[25.211718750000017,10.329931640624991],[25.858203125000017,10.406494140625],[25.91914062500001,10.169335937499994],[26.65869140625,9.484130859375],[27.07421875,9.613818359374989],[27.880859375,9.601611328124989],[28.048925781250006,9.32861328125],[28.844531250000017,9.326074218749994],[28.979589843750006,9.594189453124997],[29.47314453125,9.768603515624989],[29.60546875,10.065087890624994],[30.003027343750006,10.277392578124989],[30.75537109375,9.731201171875],[31.224902343750017,9.799267578124997],[32.42080078125002,11.089111328125],[32.338476562500006,11.710107421874994],[32.072265625,12.006738281249994],[32.73671875000002,12.009667968749994],[32.721875,12.223095703124997],[33.199316406250006,12.21728515625],[33.073339843750006,11.606103515624994],[33.13007812500001,10.745947265624991],[33.90703125000002,10.181445312499989],[33.96328125000002,9.861767578124997],[33.87148437500002,9.506152343749989],[34.078125,9.461523437499991]]]},"properties":{"name":"S. Sudan","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[-12.280615234374977,14.809033203124997],[-12.228417968749994,14.45859375],[-12.019189453124994,14.206494140624997],[-11.960888671874983,13.875292968750003],[-12.05419921875,13.633056640625],[-11.831689453124994,13.315820312499994],[-11.634960937499983,13.369873046875],[-11.390380859375,12.941992187499991],[-11.389404296875,12.404394531249991],[-12.399072265624994,12.340087890625],[-12.930712890624989,12.532275390624989],[-13.061279296875,12.489990234375],[-13.082910156249994,12.633544921875],[-13.729248046875,12.673925781249991],[-14.06484375,12.67529296875],[-14.349218749999977,12.676416015624994],[-15.196093749999989,12.679931640625],[-15.3779296875,12.588964843749991],[-15.574804687499977,12.490380859374994],[-15.839550781249983,12.43789062499999],[-16.144189453124994,12.45742187499999],[-16.24150390624999,12.443310546874997],[-16.41630859374999,12.36767578125],[-16.521337890624977,12.3486328125],[-16.656933593749983,12.364355468749991],[-16.711816406249994,12.354833984374991],[-16.76030273437499,12.52578125],[-16.44287109375,12.609472656249991],[-16.59765625,12.715283203124997],[-16.743896484375,12.58544921875],[-16.763330078124994,13.064160156249997],[-16.648779296874977,13.154150390624991],[-15.834277343749989,13.156445312499997],[-15.814404296874983,13.325146484374997],[-15.286230468749977,13.39599609375],[-15.151123046875,13.556494140624991],[-14.246777343749983,13.23583984375],[-13.826708984374989,13.4078125],[-13.977392578124977,13.54345703125],[-14.405468749999983,13.503710937500003],[-15.108349609374983,13.81210937499999],[-15.426855468749977,13.727001953124997],[-15.509667968749994,13.586230468750003],[-16.56230468749999,13.587304687499994],[-16.766943359374977,13.904931640624994],[-16.618115234374983,14.04052734375],[-16.791748046875,14.004150390625],[-17.168066406249977,14.640625],[-17.345800781249977,14.729296875],[-17.445019531249983,14.651611328125],[-17.53564453125,14.755126953125],[-17.147167968749983,14.922021484374994],[-16.843408203124994,15.293994140625003],[-16.570751953124983,15.734423828125003],[-16.535253906249977,15.83837890625],[-16.502050781249977,15.917333984374991],[-16.480078124999977,16.097216796875003],[-16.441015624999977,16.204541015624997],[-16.239013671875,16.531298828125003],[-15.768212890624994,16.485107421875],[-14.990625,16.676904296874994],[-14.300097656249989,16.580273437499997],[-13.868457031249989,16.148144531249997],[-13.756640624999989,16.172509765624994],[-13.40966796875,16.05917968749999],[-13.105273437499989,15.57177734375],[-12.735253906249994,15.13125],[-12.40869140625,14.889013671874991],[-12.280615234374977,14.809033203124997]]]},"properties":{"name":"Senegal","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[103.9697265625,1.331445312499994],[103.65019531249999,1.325537109374991],[103.81796875000003,1.447070312499989],[103.9697265625,1.331445312499994]]]},"properties":{"name":"Singapore","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[-37.10332031249996,-54.065625],[-36.70380859375001,-54.10810546874999],[-36.64741210937498,-54.26230468749996],[-36.32646484374996,-54.251171875],[-35.79858398437497,-54.76347656250002],[-36.08549804687499,-54.86679687500001],[-36.885986328125,-54.33945312499996],[-37.63090820312496,-54.16748046875001],[-37.61884765625001,-54.04208984375004],[-38.017431640625034,-54.008007812500026],[-37.10332031249996,-54.065625]]]},"properties":{"name":"S. Geo. and S. Sandw. Is.","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[-5.692138671874972,-15.997753906249997],[-5.782519531250017,-16.00400390625002],[-5.707861328124977,-15.90615234374998],[-5.692138671874972,-15.997753906249997]]]},"properties":{"name":"Saint Helena","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[160.57626953125006,-11.797851562500028],[160.44306640625004,-11.814941406249957],[159.98632812499997,-11.494726562500006],[160.57626953125006,-11.797851562500028]]],[[[166.13320312500005,-10.757812499999972],[165.90400390625004,-10.851464843749966],[165.79101562500003,-10.784765624999963],[166.02382812500005,-10.6611328125],[166.13320312500005,-10.757812499999972]]],[[[161.71533203124997,-10.387304687499991],[162.10537109375005,-10.45380859375004],[162.37333984375002,-10.823242187499986],[161.78681640625004,-10.716894531249991],[161.53789062500007,-10.566406249999972],[161.4870117187501,-10.361425781249963],[161.29394531250003,-10.326464843750031],[161.30478515625012,-10.204394531250031],[161.71533203124997,-10.387304687499991]]],[[[161.54785156249997,-9.625683593749997],[161.55380859375012,-9.769726562500026],[161.40976562500006,-9.681640625000028],[161.36416015625,-9.353417968750037],[161.54785156249997,-9.625683593749997]]],[[[159.75039062500005,-9.272656250000011],[159.97060546875,-9.433300781249969],[160.35458984375006,-9.421582031249983],[160.81894531250006,-9.862792968749986],[160.64921875000002,-9.92861328124998],[159.80273437499997,-9.763476562500003],[159.61230468749997,-9.470703124999943],[159.62558593750012,-9.311230468749969],[159.75039062500005,-9.272656250000011]]],[[[160.1681640625001,-8.995507812500037],[160.40751953125007,-9.140332031249969],[160.10537109375,-9.080761718749997],[160.1681640625001,-8.995507812500037]]],[[[159.18857421875006,-9.123535156250014],[159.03632812500004,-9.075],[159.12978515625,-8.99306640624998],[159.22841796875005,-9.029980468749955],[159.18857421875006,-9.123535156250014]]],[[[158.10791015625003,-8.684179687500034],[157.93759765625006,-8.73642578125002],[157.90927734375006,-8.565625],[158.10546874999997,-8.536816406250026],[158.10791015625003,-8.684179687500034]]],[[[157.38896484375002,-8.713476562499963],[157.2123046875,-8.565039062500006],[157.37949218750012,-8.420898437499943],[157.38896484375002,-8.713476562499963]]],[[[160.7494140625,-8.313964843750014],[160.99765625000006,-8.612011718749983],[160.94433593750003,-8.799023437499983],[161.15869140624997,-8.961816406250009],[161.36738281250004,-9.61123046874998],[160.77207031250012,-8.963867187499986],[160.7140625000001,-8.539257812499997],[160.59042968750006,-8.372753906249997],[160.7494140625,-8.313964843750014]]],[[[157.76347656250002,-8.242187499999957],[157.89843749999997,-8.506347656249943],[157.81933593750003,-8.612011718749983],[157.58789062500003,-8.445410156249963],[157.5580078125,-8.269921875],[157.30244140625004,-8.33330078124996],[157.21757812500002,-8.262792968749977],[157.490625,-7.965722656250037],[157.76347656250002,-8.242187499999957]]],[[[157.171875,-8.108105468749997],[156.95830078125002,-8.014355468749997],[157.02412109375004,-7.867871093749997],[157.18613281250006,-7.941210937500017],[157.171875,-8.108105468749997]]],[[[156.687890625,-7.92304687500004],[156.5109375000001,-7.707812499999974],[156.5609375,-7.574023437499989],[156.80908203124997,-7.722851562500026],[156.687890625,-7.92304687500004]]],[[[159.8791015625001,-8.534277343749949],[158.9440429687501,-8.04072265625004],[158.457421875,-7.544726562499974],[158.734375,-7.604296875000031],[159.43144531250002,-8.029003906249955],[159.84306640625002,-8.326953124999989],[159.8791015625001,-8.534277343749949]]],[[[155.83984374999997,-7.097167968750014],[155.67753906250002,-7.08896484375002],[155.73896484375004,-6.972949218750017],[155.83984374999997,-7.097167968750014]]],[[[157.48671875000005,-7.330371093750003],[157.44130859375,-7.425683593749966],[157.10156249999997,-7.323632812499966],[156.4525390625,-6.638281249999963],[157.03027343750003,-6.891992187499952],[157.19335937499997,-7.160351562499997],[157.48671875000005,-7.330371093750003]]]]},"properties":{"name":"Solomon Is.","childNum":16}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[-12.526074218749926,7.436328125000017],[-12.951611328124926,7.570849609374989],[-12.615234374999972,7.63720703125],[-12.5125,7.582421875000037],[-12.526074218749926,7.436328125000017]]],[[[-10.758593749999989,9.385351562499991],[-10.682714843750006,9.289355468749974],[-10.687646484374937,9.261132812499994],[-10.749951171874926,9.12236328124996],[-10.747021484374955,9.095263671875045],[-10.726855468749932,9.081689453125023],[-10.615966796875,9.059179687499977],[-10.500537109375017,8.687548828125017],[-10.677343749999977,8.400585937499997],[-10.712109374999955,8.335253906250017],[-10.686962890624983,8.321679687500009],[-10.652636718749989,8.330273437499983],[-10.604003906249943,8.319482421874994],[-10.55771484374992,8.315673828125028],[-10.496435546874977,8.362109374999974],[-10.394433593749966,8.480957031250028],[-10.360058593749983,8.49550781249998],[-10.283203124999972,8.48515625],[-10.285742187499949,8.454101562499986],[-10.314648437499983,8.310839843750017],[-10.359814453124926,8.187939453125026],[-10.570849609374932,8.071142578125034],[-10.6474609375,7.759375],[-10.878076171874994,7.538232421874994],[-11.267675781249977,7.232617187499997],[-11.507519531249983,6.906542968750003],[-12.48564453124996,7.386279296875045],[-12.480273437499932,7.75327148437502],[-12.697607421874977,7.715869140625045],[-12.850878906249932,7.818701171875034],[-12.956933593749966,8.145312500000045],[-13.148974609374989,8.214599609375043],[-13.272753906249989,8.429736328124989],[-13.085009765624932,8.42475585937504],[-12.894091796874932,8.62978515624998],[-13.181835937499955,8.576904296875043],[-13.206933593749994,8.843115234375006],[-13.059472656249966,8.881152343750031],[-13.292675781249955,9.04921875],[-13.077294921874966,9.069628906249974],[-12.958789062499989,9.263330078124994],[-12.755859374999943,9.373583984374989],[-12.557861328125,9.704980468749994],[-12.427978515625028,9.898144531250011],[-12.142333984375,9.87539062499999],[-11.911083984374955,9.993017578124977],[-11.273632812499955,9.996533203124983],[-11.205664062499949,9.977734374999969],[-11.180859374999955,9.925341796875045],[-11.047460937499977,9.786328125000054],[-10.758593749999989,9.385351562499991]]]]},"properties":{"name":"Sierra Leone","childNum":2}},{"geometry":{"type":"Polygon","coordinates":[[[-89.36259765624999,14.416015625],[-89.1205078125,14.370214843749991],[-88.51254882812499,13.978955078124997],[-88.504345703125,13.964208984374991],[-88.49765625,13.904541015625],[-88.482666015625,13.854248046875],[-88.44912109375,13.850976562499994],[-88.40849609374999,13.87539062499999],[-88.27622070312499,13.942675781250003],[-88.151025390625,13.987353515625003],[-87.99101562499999,13.879638671875],[-87.8919921875,13.894970703124997],[-87.80224609375,13.889990234374991],[-87.7314453125,13.841064453125],[-87.71533203125,13.812695312499997],[-87.781884765625,13.521386718749994],[-87.930859375,13.1806640625],[-88.68564453124999,13.281494140625],[-88.51201171874999,13.183935546874991],[-89.80419921875,13.560107421875003],[-90.09521484375,13.736523437499997],[-90.04814453124999,13.904052734375],[-89.54716796874999,14.241259765625003],[-89.5736328125,14.390087890624997],[-89.36259765624999,14.416015625]]]},"properties":{"name":"El Salvador","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[-56.26708984374997,46.838476562500034],[-56.38476562499994,46.81943359375006],[-56.36464843749994,47.09897460937498],[-56.26708984374997,46.838476562500034]]]},"properties":{"name":"St. Pierre and Miquelon","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[6.659960937499989,0.120654296874989],[6.51972656250004,0.066308593750023],[6.468164062499994,0.22734375],[6.68691406250008,0.404394531249977],[6.75,0.24345703124996],[6.659960937499989,0.120654296874989]]],[[[7.423828125,1.567724609375006],[7.330664062500034,1.603369140624991],[7.414453125000051,1.699121093750037],[7.423828125,1.567724609375006]]]]},"properties":{"name":"São Tomé and Principe","childNum":2}},{"geometry":{"type":"Polygon","coordinates":[[[-54.03422851562499,3.62939453125],[-54.00957031249999,3.448535156249989],[-54.06318359375,3.353320312499989],[-54.18803710937499,3.178759765624989],[-54.203125,3.13818359375],[-54.17070312499999,2.993603515624997],[-54.18808593749999,2.874853515624991],[-54.1955078125,2.81787109375],[-54.256738281249994,2.713720703124991],[-54.402001953124994,2.461523437499991],[-54.53593749999999,2.343310546874989],[-54.56840820312499,2.342578124999989],[-54.604736328125,2.335791015624991],[-54.61625976562499,2.326757812499991],[-54.661865234375,2.327539062499994],[-54.697412109374994,2.359814453124997],[-54.72221679687499,2.441650390625],[-54.87607421874999,2.450390625],[-54.92656249999999,2.497363281249989],[-54.968408203124994,2.54833984375],[-54.978662109374994,2.59765625],[-55.005810546875,2.59296875],[-55.0703125,2.54833984375],[-55.11411132812499,2.539208984374994],[-55.1876953125,2.547509765624994],[-55.286035156249994,2.499658203124994],[-55.343994140625,2.48876953125],[-55.38535156249999,2.440625],[-55.73056640624999,2.406152343749994],[-55.957470703125,2.520458984374997],[-55.99350585937499,2.497509765624997],[-56.02036132812499,2.392773437499997],[-56.0451171875,2.364404296874994],[-56.087792968749994,2.34130859375],[-56.12939453125,2.299511718749997],[-56.1376953125,2.259033203125],[-56.073632812499994,2.236767578124997],[-56.02006835937499,2.158154296874997],[-55.96196289062499,2.095117187499994],[-55.91533203124999,2.03955078125],[-55.921630859375,1.976660156249991],[-55.929638671875,1.8875],[-56.01992187499999,1.842236328124997],[-56.4828125,1.942138671875],[-56.704345703125,2.036474609374991],[-57.19736328124999,2.853271484375],[-57.303662109375,3.377099609374994],[-57.646728515625,3.39453125],[-58.05429687499999,4.101660156249991],[-57.84599609374999,4.668164062499997],[-57.91704101562499,4.820410156249991],[-57.711083984374994,4.991064453124991],[-57.331005859375,5.020166015624994],[-57.20981445312499,5.195410156249991],[-57.3185546875,5.335351562499994],[-57.194775390625,5.5484375],[-56.96982421874999,5.992871093749997],[-56.235595703125,5.885351562499991],[-55.897607421874994,5.699316406249991],[-55.909912109375,5.892626953124989],[-55.648339843749994,5.985888671874989],[-54.83369140625,5.988330078124989],[-54.05419921875,5.807910156249989],[-54.08046875,5.502246093749989],[-54.4796875,4.836523437499991],[-54.350732421874994,4.054101562499994],[-54.03422851562499,3.62939453125]]]},"properties":{"name":"Suriname","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[22.538671875,49.072705078125],[22.52412109375001,49.031396484374994],[22.389453125000017,48.873486328125],[22.295214843750017,48.685839843749996],[22.142871093750017,48.568505859374994],[22.1318359375,48.405322265624996],[21.766992187500023,48.3380859375],[21.45136718750001,48.55224609375],[20.490039062500017,48.526904296874996],[20.333789062500017,48.295556640624994],[19.95039062500001,48.146630859374994],[19.625390625000023,48.223095703125],[18.791894531250023,48.000292968749996],[18.72421875,47.787158203124996],[17.76191406250001,47.770166015624994],[17.147363281250023,48.00595703125],[16.86542968750001,48.3869140625],[16.953125,48.598828125],[17.135644531250023,48.841064453125],[17.75849609375001,48.888134765625],[18.0859375,49.06513671875],[18.160937500000017,49.257373046874996],[18.83222656250001,49.510791015624996],[19.1494140625,49.4],[19.44160156250001,49.597705078124996],[19.77392578125,49.37216796875],[19.756640625000017,49.204394531249996],[20.0576171875,49.181298828124994],[20.36298828125001,49.38525390625],[20.868457031250017,49.314697265625],[21.079394531250017,49.418261718749996],[21.6396484375,49.411962890625],[22.020117187500006,49.209521484374996],[22.473046875000023,49.081298828125],[22.538671875,49.072705078125]]]},"properties":{"name":"Slovakia","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[16.516210937500006,46.499902343749994],[16.427636718750023,46.5244140625],[16.321191406250023,46.534619140625],[16.1064453125,46.382226562499994],[15.608984375,46.171923828124996],[15.592578125000017,46.139990234375],[15.596875,46.109228515625],[15.675585937500017,45.983691406249996],[15.652148437500017,45.862158203125],[15.277050781250011,45.7326171875],[15.353710937500011,45.659912109375],[15.283593750000023,45.5796875],[15.291210937500011,45.541552734374996],[15.32666015625,45.502294921875],[15.339453125,45.467041015625],[15.242089843750023,45.44140625],[15.110449218750006,45.45078125],[14.95458984375,45.499902343749994],[14.793066406250006,45.47822265625],[14.649511718750006,45.571484375],[14.591796875,45.651269531249994],[14.56884765625,45.6572265625],[14.548448660714302,45.628388671875],[14.507586495535731,45.59039341517857],[14.42734375,45.505761718749994],[14.369921875000017,45.4814453125],[13.878710937500017,45.428369140624994],[13.577929687500017,45.516894531249996],[13.8447265625,45.59287109375],[13.831152343750006,45.680419921875],[13.663476562500023,45.7919921875],[13.6005859375,45.979785156249996],[13.509179687500023,45.973779296874994],[13.487695312500023,45.987109375],[13.480273437500017,46.009228515625],[13.486425781250006,46.03955078125],[13.548046875000011,46.089111328125],[13.616601562500023,46.133105468749996],[13.634960937500011,46.157763671874996],[13.632519531250011,46.177050781249996],[13.420996093750006,46.212304687499994],[13.399511718750006,46.317529296874994],[13.563281250000017,46.415087890624996],[13.637109375000023,46.448535156249996],[13.6796875,46.462890625],[13.7,46.520263671875],[14.5498046875,46.399707031249996],[14.893261718750011,46.605908203125],[15.957617187500006,46.677636718749994],[16.093066406250017,46.86328125],[16.283593750000023,46.857275390625],[16.516210937500006,46.499902343749994]]]},"properties":{"name":"Slovenia","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[16.52851562500001,56.29052734375],[16.431640625,56.24375],[16.41230468750004,56.568994140624994],[17.02539062499997,57.345068359375006],[16.52851562500001,56.29052734375]]],[[[19.076464843750045,57.8359375],[18.813867187500023,57.70620117187502],[18.907910156250068,57.39833984375002],[18.146386718749994,56.920507812500006],[18.285351562500068,57.08320312500001],[18.136523437500045,57.55664062500003],[18.53740234374999,57.83056640625006],[18.90058593750001,57.91547851562504],[19.076464843750045,57.8359375]]],[[[19.156347656250063,57.92260742187497],[19.086523437500034,57.86499023437506],[19.134863281250034,57.98134765625002],[19.331445312500023,57.962890625],[19.156347656250063,57.92260742187497]]],[[[24.15546875000004,65.80527343750006],[23.102343750000074,65.73535156250003],[22.400976562500006,65.86210937499999],[22.254003906250006,65.59755859375002],[21.565527343750063,65.40810546874997],[21.609179687500074,65.261376953125],[21.410351562500068,65.31743164062505],[21.57392578125001,65.12578124999999],[21.138183593750057,64.80869140625006],[21.519628906250034,64.46308593749998],[20.76269531250003,63.86782226562505],[18.60644531250003,63.17827148437499],[18.31289062500008,62.996386718750045],[18.46308593750004,62.895849609375006],[18.170019531250034,62.789355468750074],[17.906640625000023,62.88676757812502],[18.037304687500068,62.60053710937498],[17.834472656250057,62.50273437500002],[17.410253906250063,62.508398437500034],[17.633691406249994,62.23300781250006],[17.374511718750057,61.866308593750034],[17.465429687500006,61.68447265625005],[17.196386718750006,61.72456054687504],[17.13076171875005,61.57573242187499],[17.25097656250003,60.70078125],[17.6611328125,60.53515625000003],[17.955761718750068,60.589794921874955],[18.85273437500001,60.02587890625],[18.970507812500045,59.757226562499994],[17.964257812500023,59.359375],[18.56025390625004,59.39448242187498],[18.285351562500068,59.109375],[16.978125,58.65415039062506],[16.214257812500023,58.636669921874955],[16.92382812499997,58.49257812499999],[16.651953125,58.43432617187503],[16.65224609375008,57.50068359374998],[16.348730468750063,56.70927734374996],[15.826660156250028,56.12495117187501],[14.782031250000017,56.16191406250002],[14.754785156250051,56.03315429687498],[14.401953125000034,55.97675781250004],[14.21503906250004,55.83261718749998],[14.341699218749994,55.52773437500002],[14.17373046875008,55.396630859374966],[12.885839843750063,55.41137695312506],[12.973925781250074,55.748144531250006],[12.471191406250057,56.29052734375],[12.801660156250051,56.263916015625],[12.65644531250004,56.44057617187502],[12.857421875000028,56.45239257812503],[12.883691406250051,56.61772460937496],[12.421484375000034,56.906396484374966],[11.449316406250063,58.118359374999955],[11.43154296875008,58.339990234374994],[11.24824218750004,58.369140625],[11.14716796875004,58.98862304687498],[11.19580078125,59.07827148437505],[11.388281250000063,59.036523437499966],[11.470703125000057,58.909521484375034],[11.64277343750004,58.92607421875002],[11.798144531250074,59.28989257812498],[11.680761718750034,59.59228515625003],[12.486132812500074,60.10678710937506],[12.588671874999989,60.450732421875045],[12.29414062500004,61.00268554687506],[12.706054687500028,61.059863281250074],[12.88076171875008,61.35229492187506],[12.155371093750006,61.720751953125045],[12.303515625000074,62.28559570312501],[11.999902343750051,63.29169921875001],[12.175195312500051,63.595947265625],[12.792773437500017,64],[13.203515625000023,64.07509765625],[13.960546875000063,64.01401367187498],[14.141210937500006,64.17353515624998],[14.077636718750028,64.464013671875],[13.650292968750023,64.58154296874997],[14.47968750000004,65.30146484374998],[14.543261718750045,66.12934570312498],[15.483789062500051,66.30595703124999],[15.422949218750006,66.48984374999998],[16.40351562500004,67.05498046875002],[16.12744140625,67.42583007812507],[16.783593750000023,67.89501953125],[17.324609375000023,68.10380859374999],[17.91669921875001,67.96489257812502],[18.303027343750045,68.55541992187497],[19.969824218750063,68.35639648437501],[20.348046875000023,68.84873046875003],[20.116699218750057,69.02089843750005],[20.622167968750006,69.036865234375],[21.99746093750005,68.52060546874998],[22.854101562500034,68.36733398437502],[23.63886718750004,67.95439453125002],[23.454882812500045,67.46025390625007],[23.733593750000068,67.42290039062499],[23.64150390625005,67.12939453124997],[23.988574218750045,66.81054687500003],[23.700292968750034,66.25263671874998],[24.15546875000004,65.80527343750006]]]]},"properties":{"name":"Sweden","childNum":4}},{"geometry":{"type":"Polygon","coordinates":[[[31.9482421875,-25.957617187500006],[32.060546875,-26.018359375],[32.04140625000002,-26.28125],[32.10595703125,-26.52001953125],[32.112890625,-26.839453125],[32.02480468750002,-26.811132812500006],[31.994726562500006,-26.817480468750006],[31.967187500000023,-26.96064453125001],[31.946093750000017,-27.173632812500003],[31.958398437500023,-27.30585937500001],[31.742578125000023,-27.30996093750001],[31.469531250000017,-27.295507812500006],[31.274023437500006,-27.238378906250006],[31.063378906250023,-27.1123046875],[30.938085937500006,-26.915820312500003],[30.88330078125,-26.79238281250001],[30.806738281250006,-26.785253906250006],[30.794335937500023,-26.764257812500006],[30.803320312500006,-26.41347656250001],[31.08808593750001,-25.98066406250001],[31.207324218750017,-25.843359375],[31.33515625000001,-25.75556640625001],[31.382617187500017,-25.74296875],[31.415136718750006,-25.74658203125],[31.921679687500017,-25.96875],[31.9482421875,-25.957617187500006]]]},"properties":{"name":"Swaziland","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[55.54033203125002,-4.693066406250011],[55.54296875,-4.785546875],[55.383398437500006,-4.609277343750009],[55.45576171875001,-4.558789062500011],[55.54033203125002,-4.693066406250011]]]},"properties":{"name":"Seychelles","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[42.358984375,37.10859375],[41.78857421875,36.59716796875],[41.41679687500002,36.5146484375],[41.295996093750006,36.383349609374996],[41.354101562500006,35.640429687499996],[41.19472656250002,34.768994140625],[40.98701171875001,34.429052734375],[38.773535156250006,33.372216796874994],[36.818359375,32.317285156249994],[36.3720703125,32.3869140625],[35.78730468750001,32.734912109374996],[35.91347656250002,32.94960937499999],[35.869140625,33.43173828125],[36.03447265625002,33.58505859375],[35.98613281250002,33.75263671875],[36.36503906250002,33.83935546875],[36.27783203125,33.92529296875],[36.5849609375,34.221240234374996],[36.50439453125,34.432373046875],[36.32988281250002,34.499609375],[36.383886718750006,34.65791015625],[35.97626953125001,34.629199218749996],[35.902441406250006,35.420703125],[35.76445312500002,35.571582031249996],[35.83964843750002,35.84921875],[35.892675781250006,35.916552734374996],[35.96757812500002,35.910058593749994],[36.12734375000002,35.831445312499994],[36.15361328125002,35.833886718749994],[36.34755859375002,36.003515625],[36.37539062500002,36.171240234375],[36.63671875,36.233984375],[36.64140625000002,36.263525390625],[36.5375,36.45742187499999],[36.54667968750002,36.50634765625],[36.596875,36.7013671875],[36.62841796875,36.777685546875],[36.65859375000002,36.802539062499996],[36.77656250000001,36.79267578125],[36.94179687500002,36.7583984375],[36.9853515625,36.702392578125],[37.06621093750002,36.652636718749996],[37.43632812500002,36.643310546875],[37.523535156250006,36.6783203125],[37.7203125,36.743701171874996],[37.90664062500002,36.79462890625],[38.19169921875002,36.9015625],[38.7666015625,36.693115234375],[38.90644531250001,36.694677734375],[39.1083984375,36.680566406249994],[39.35664062500001,36.681591796875],[39.50146484375,36.70224609375],[39.6865234375,36.738623046875],[40.01640625000002,36.826074218749994],[40.705664062500006,37.097705078124996],[41.886816406250006,37.156396484374994],[42.05986328125002,37.2060546875],[42.16787109375002,37.288623046874996],[42.202734375,37.29726562499999],[42.24755859375,37.2822265625],[42.2685546875,37.2765625],[42.31289062500002,37.22958984375],[42.358984375,37.10859375]]]},"properties":{"name":"Syria","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[-72.3328125,21.85136718749999],[-72.14433593750002,21.79272460937503],[-72.33544921874994,21.758007812499983],[-72.3328125,21.85136718749999]]]},"properties":{"name":"Turks and Caicos Is.","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[23.980273437500017,19.496630859375003],[23.970800781250006,15.721533203124991],[23.10517578125001,15.702539062499994],[22.933886718750017,15.533105468749994],[22.93232421875001,15.162109375],[22.6708984375,14.722460937500003],[22.38154296875001,14.550488281249997],[22.53857421875,14.161865234375],[22.1064453125,13.7998046875],[22.228125,13.32958984375],[21.825292968750006,12.79052734375],[21.928125,12.678125],[22.352343750000017,12.660449218749989],[22.472460937500017,12.067773437499994],[22.580957031250023,11.990136718749994],[22.591113281250017,11.579882812499989],[22.922656250000017,11.344873046874994],[22.86005859375001,10.919677734375],[22.49384765625001,10.996240234374994],[21.771484375,10.642822265625],[21.682714843750006,10.289843749999989],[20.773242187500017,9.405664062499994],[20.342089843750017,9.127099609374994],[18.95625,8.938867187499994],[18.886035156250017,8.836035156249991],[19.108691406250017,8.656152343749994],[18.56416015625001,8.0458984375],[17.6494140625,7.98359375],[16.784765625,7.550976562499997],[16.545312500000023,7.865478515625],[16.37890625,7.683544921874997],[15.957617187500006,7.507568359375],[15.480078125,7.523779296874991],[15.5498046875,7.787890624999989],[15.1162109375,8.557324218749997],[14.332324218750017,9.20351562499999],[13.977246093750011,9.691552734374994],[14.243261718750006,9.979736328125],[15.654882812500006,10.0078125],[15.276074218750011,10.357373046874997],[15.132226562500023,10.648486328124989],[15.029882812500006,11.11367187499999],[15.08125,11.845507812499989],[14.847070312500023,12.502099609374994],[14.461718750000017,13.021777343749989],[14.244824218750011,13.07734375],[14.06396484375,13.07851562499999],[13.932324218750011,13.258496093749997],[13.606347656250023,13.70458984375],[13.505761718750023,14.134423828124994],[13.4482421875,14.380664062500003],[14.367968750000017,15.750146484374994],[15.474316406250011,16.908398437499997],[15.735058593750011,19.904052734375],[15.963183593750017,20.34619140625],[15.587109375000011,20.733300781249994],[15.607324218750023,20.954394531250003],[15.181835937500011,21.523388671874997],[14.97900390625,22.99619140624999],[15.984082031250011,23.445214843749994],[20.14765625000001,21.38925781249999],[23.980273437500017,19.496630859375003]]]},"properties":{"name":"Chad","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[0.900488281250006,10.993261718749991],[0.763378906250011,10.386669921874997],[1.330078125,9.996972656249994],[1.3857421875,9.361669921874991],[1.600195312500006,9.050048828125],[1.624707031250011,6.997314453125],[1.530957031250011,6.992431640625],[1.777929687500006,6.294628906249997],[1.62265625,6.216796875],[1.187207031250011,6.089404296874989],[0.736914062500006,6.452587890624997],[0.525585937500011,6.850927734374991],[0.634765625,7.353662109374994],[0.5,7.546875],[0.686328125000017,8.354882812499994],[0.37255859375,8.75927734375],[0.48876953125,8.851464843749994],[0.525683593750017,9.398486328124989],[0.2333984375,9.463525390624994],[0.342578125000017,9.604150390624994],[0.264550781250023,9.644726562499997],[0.380859375,10.291845703124991],[-0.08632812499999,10.673046875],[0.009423828125023,11.02099609375],[-0.068603515625,11.115625],[0.49267578125,10.954980468749994],[0.900488281250006,10.993261718749991]]]},"properties":{"name":"Togo","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[98.40908203125005,7.90205078125004],[98.2962890625,7.776074218750054],[98.32207031250007,8.166308593749974],[98.4349609375,8.085644531249969],[98.40908203125005,7.90205078125004]]],[[[100.070703125,9.58603515625002],[99.96240234375003,9.421630859375],[99.93955078125006,9.559960937500037],[100.070703125,9.58603515625002]]],[[[102.42675781250003,11.988720703125026],[102.30195312500004,11.98081054687502],[102.27744140625006,12.151855468750043],[102.42675781250003,11.988720703125026]]],[[[100.12246093750005,20.316650390625057],[100.11494140625004,20.257666015625034],[100.13974609375012,20.245410156250017],[100.31796875000006,20.38588867187505],[100.51953125000003,20.17792968750004],[100.39765625000004,19.756103515625],[100.51357421875005,19.553466796875],[101.21191406249997,19.54833984375003],[101.22080078125006,19.486621093750074],[101.19755859375007,19.327929687500074],[101.2863281250001,18.977148437500006],[101.04697265625012,18.441992187500063],[101.05058593750002,18.407031250000045],[101.1375,18.28686523437497],[101.14394531250005,18.14262695312499],[100.90849609375002,17.583886718750023],[100.95585937500002,17.541113281250006],[101.10517578125004,17.47954101562499],[101.16748046874997,17.49902343749997],[101.41367187500012,17.71875],[101.55507812500005,17.812353515625034],[101.56367187500004,17.82050781250001],[101.6875,17.889404296875],[101.77480468750005,18.03339843750004],[101.81865234375002,18.06464843750001],[101.87548828124997,18.046435546875017],[101.94746093750004,18.081494140624983],[102.03457031250005,18.169824218750023],[102.10146484375,18.210644531249983],[102.14824218750002,18.20385742187503],[102.35185546875002,18.045947265625017],[102.45878906250002,17.984619140625057],[102.55253906250007,17.96508789062497],[102.61679687500006,17.833349609375034],[102.66064453124997,17.817968750000034],[102.680078125,17.824121093750023],[103.05136718750006,18.02851562500001],[103.0912109375,18.13823242187499],[103.14853515625006,18.221728515625045],[103.19970703124997,18.259472656249983],[103.26318359374997,18.27846679687505],[103.27958984375002,18.304980468750017],[103.24892578125,18.338964843750034],[103.25175781250002,18.373486328124955],[103.2882812500001,18.408398437499955],[103.36699218750007,18.42333984374997],[103.48798828125004,18.418164062499983],[103.62968750000002,18.38256835937503],[103.79228515625002,18.316503906249977],[103.89882812500005,18.295312500000023],[103.949609375,18.31899414062505],[104.04873046875005,18.216699218749994],[104.19619140625005,17.988378906250006],[104.32265625,17.815820312500023],[104.428125,17.69897460937503],[104.7396484375,17.461669921875],[104.81601562500012,17.30029296874997],[104.75898437500004,17.0771484375],[104.7435546875,16.884375],[104.75058593750012,16.647558593750063],[104.81933593750003,16.46606445312503],[105.04716796875007,16.160253906249977],[105.14873046875007,16.09355468749999],[105.33066406250006,16.037890625000017],[105.40625,15.987451171875051],[105.39892578124997,15.829882812500017],[105.62207031250003,15.699951171875],[105.641015625,15.656542968750045],[105.6388671875001,15.585937500000057],[105.615625,15.488281250000057],[105.49042968750004,15.256591796875],[105.49042968750004,15.127587890625009],[105.5333984375001,15.041601562499991],[105.54667968750002,14.932470703124963],[105.52304687500012,14.843310546875003],[105.49736328125002,14.590673828124963],[105.47558593750003,14.530126953124977],[105.42265625000007,14.471630859375054],[105.34218750000005,14.416699218750054],[105.24365234375003,14.367871093750054],[105.1833007812501,14.346240234374989],[105.16914062500004,14.336083984374966],[105.12597656250003,14.280957031250011],[105.07412109375005,14.227441406250037],[104.77900390625004,14.427832031250006],[103.19941406250004,14.332617187499977],[102.90927734375006,14.136718750000028],[102.546875,13.585693359375043],[102.33632812500005,13.560302734375014],[102.49960937500012,12.669970703125003],[102.75566406250002,12.42626953125],[102.73662109375007,12.089794921875011],[102.93388671875002,11.706689453125037],[102.594140625,12.203027343749994],[102.54023437500004,12.109228515624977],[101.83574218750002,12.640380859375014],[100.89775390625007,12.653808593749986],[100.96269531250007,13.431982421874991],[100.60292968750005,13.568164062500017],[100.23564453125002,13.48447265625002],[99.99052734375007,13.243457031250031],[100.08994140625006,13.045654296874972],[99.96396484375006,12.690039062500006],[99.98906250000007,12.170800781249994],[99.16503906250003,10.319824218750028],[99.25390625000003,9.265234375000034],[99.83554687500012,9.288378906250031],[99.98955078125007,8.589208984374977],[100.129296875,8.428076171875006],[100.16347656250005,8.508398437500034],[100.27939453125006,8.268505859375011],[100.54521484375002,7.226904296874991],[100.43935546875005,7.280761718750043],[100.38037109375003,7.541503906250043],[100.28378906250006,7.551513671875043],[100.25664062500002,7.774902343749986],[100.16074218750012,7.599267578124994],[100.4235351562501,7.18784179687502],[101.01787109375002,6.860937500000034],[101.49794921875005,6.865283203125031],[102.10107421874997,6.242236328125031],[101.87363281250012,5.825292968749991],[101.67841796875004,5.778808593750028],[101.5560546875,5.907763671875003],[101.1139648437501,5.636767578125045],[100.98164062500004,5.771044921875045],[101.05351562500002,6.242578125],[100.87392578125,6.24541015624996],[100.75449218750012,6.460058593749991],[100.3454101562501,6.549902343750006],[100.26142578125004,6.682714843749963],[100.11914062499997,6.441992187500048],[99.69599609375004,6.87666015625004],[99.72031250000012,7.106201171875],[99.55302734375002,7.218798828125031],[99.59697265625002,7.355615234375009],[99.35859375000004,7.372216796875023],[99.26367187499997,7.619042968750037],[99.07763671874997,7.718066406250045],[99.05107421875002,7.887841796874994],[98.78867187500012,8.059814453125028],[98.703515625,8.256738281250009],[98.57919921875006,8.344287109374989],[98.42099609375006,8.17822265625],[98.30546875000007,8.226220703125009],[98.24179687500006,8.767871093750045],[98.70253906250005,10.19038085937504],[98.7572265625,10.660937499999974],[99.1901367187501,11.105273437499989],[99.61474609374997,11.781201171875026],[99.40507812500002,12.547900390625003],[99.12392578125,13.030761718750043],[99.13681640625006,13.716699218749994],[98.57001953125004,14.359912109375031],[98.20214843749997,14.97592773437502],[98.19101562500012,15.204101562499972],[98.55693359375007,15.367675781249986],[98.59238281250006,16.05068359375005],[98.81796875000012,16.180810546874994],[98.88828125000006,16.351904296875034],[98.83544921875003,16.417578125],[98.66074218750006,16.330419921875006],[98.4388671875,16.975683593750034],[97.7064453125,17.79711914062503],[97.63222656250005,18.290332031250074],[97.37392578125,18.51796875],[97.74589843750002,18.58818359374999],[97.816796875,19.459960937500057],[98.01503906250005,19.74951171874997],[98.37128906250004,19.68916015625004],[98.9166992187501,19.77290039062504],[99.07421875000003,20.09936523437503],[99.48593750000006,20.14985351562501],[99.45888671875005,20.363037109375],[99.72011718750005,20.32543945312497],[99.8903320312501,20.424414062499977],[99.9542968750001,20.415429687500023],[100.0036132812501,20.37958984375001],[100.12246093750005,20.316650390625057]]]]},"properties":{"name":"Thailand","childNum":4}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[70.66416015625,39.85546875],[70.55957031250003,39.790917968749994],[70.48925781250003,39.86303710937503],[70.48281250000005,39.88271484375005],[70.49775390625004,39.88242187499998],[70.56708984375004,39.86660156250005],[70.66416015625,39.85546875]]],[[[70.95800781250003,40.238867187500034],[70.59921875,39.974511718749994],[69.96679687499997,40.202246093750034],[69.46875,40.020751953125],[69.47099609375002,39.990625],[69.43193359375007,39.909765625000034],[69.36542968750004,39.94707031250002],[69.30722656250006,39.968554687500045],[69.27880859374997,39.91777343749999],[69.24472656250006,39.82709960937498],[69.29765625000007,39.52480468750005],[70.50117187500004,39.58735351562501],[70.79931640625003,39.39472656250001],[71.4703125,39.60366210937502],[71.50302734375006,39.58217773437502],[71.51738281250002,39.55385742187502],[71.50585937499997,39.51708984374997],[71.5033203125,39.47880859374999],[71.73222656250002,39.422998046874994],[71.77861328125007,39.27797851562502],[72.04277343750002,39.352148437500034],[72.08417968750004,39.310644531250034],[72.14736328125005,39.26074218749997],[72.22998046874997,39.20751953124997],[72.63994140625002,39.385986328125],[73.10927734375,39.36191406249998],[73.2349609375,39.37456054687499],[73.3361328125001,39.41235351562506],[73.38740234375004,39.442724609375034],[73.4704101562501,39.46059570312502],[73.63164062500007,39.44887695312502],[73.63632812500006,39.396679687499955],[73.60732421875,39.229199218749955],[73.8052734375,38.968652343749994],[73.69609375000007,38.85429687499996],[73.80166015625,38.60688476562501],[74.02558593750004,38.53984375000002],[74.27744140625,38.659765625000034],[74.81230468750002,38.46030273437498],[74.8942382812501,37.60141601562498],[75.11875,37.38569335937498],[74.89130859375004,37.231640624999955],[74.875390625,37.24199218750002],[74.83046875,37.28593750000002],[74.73056640625006,37.35703125],[74.659375,37.39448242187501],[74.34902343750005,37.41875],[74.25966796875005,37.41542968750002],[74.20351562500005,37.37246093750005],[74.16708984375,37.32944335937498],[73.74960937500006,37.23178710937498],[73.6535156250001,37.239355468750034],[73.62753906250006,37.261572265625006],[73.71728515625003,37.32944335937498],[73.7337890625,37.37578125000002],[73.72060546875,37.41875],[73.65712890625005,37.43046875],[73.6046875000001,37.44604492187503],[73.48134765625,37.4716796875],[73.38291015625006,37.462255859375034],[73.21113281250004,37.40849609375002],[72.89550781250003,37.26752929687498],[72.65742187500004,37.029052734375],[71.665625,36.696923828124994],[71.530859375,36.845117187499994],[71.43291015625007,37.12753906249998],[71.5822265625001,37.91010742187498],[71.55195312500004,37.93315429687496],[71.48779296874997,37.93188476562497],[71.38964843750003,37.90629882812502],[71.31992187500006,37.90185546875],[71.27851562500004,37.91840820312498],[71.33271484375004,38.170263671875034],[71.25585937499997,38.306982421875006],[70.7359375,38.42255859375001],[70.41777343750002,38.075439453125],[70.21464843750002,37.92441406250006],[70.19941406250004,37.88603515624996],[70.25498046875006,37.76538085937497],[70.25146484374997,37.66416015625006],[70.18867187500004,37.58247070312501],[70.11982421875004,37.54350585937499],[69.9849609375,37.566162109375],[69.8208984375,37.60957031250004],[69.62578125000002,37.59404296874999],[69.49208984375,37.55307617187498],[69.42011718750004,37.486718749999966],[69.39921875000007,37.39931640625002],[69.42968749999997,37.290869140625034],[69.414453125,37.20776367187497],[69.35380859375007,37.15004882812502],[69.3039062500001,37.11694335937503],[69.26484375000004,37.1083984375],[69.18017578125003,37.158300781250034],[68.96044921875003,37.32504882812498],[68.9118164062501,37.33393554687501],[68.88525390624997,37.32807617187498],[68.85537109375005,37.31684570312501],[68.83847656250006,37.30283203124998],[68.82373046874997,37.27070312500001],[68.78203125000002,37.25800781250001],[68.7232421875,37.26801757812501],[68.6691406250001,37.258398437500006],[68.3869140625001,37.1375],[68.29951171875004,37.08842773437502],[68.28476562500006,37.036328124999955],[68.2609375000001,37.01308593750002],[68.2121093750001,37.02153320312496],[68.0677734375,36.949804687500006],[67.95800781249997,36.972021484375006],[67.83447265624997,37.06420898437506],[67.75898437500004,37.172216796875034],[67.7980468750001,37.244970703125006],[67.81435546875005,37.48701171875004],[68.3502929687501,38.211035156250006],[68.08720703125002,38.47353515625002],[68.13251953125004,38.927636718749966],[67.69443359375006,38.99462890625003],[67.64833984375005,39.13105468750004],[67.3576171875001,39.216699218749994],[67.426171875,39.46557617187497],[67.71904296875007,39.62138671875002],[68.46328125,39.53671874999998],[68.63896484375007,39.8388671875],[68.86875,39.90747070312503],[68.80468750000003,40.05034179687499],[68.9720703125,40.08994140624998],[68.63066406250007,40.16708984374998],[69.27490234374997,40.19809570312498],[69.20625,40.566552734374994],[69.35722656250002,40.76738281249996],[69.71289062500003,40.65698242187503],[70.40195312500006,41.03510742187498],[70.75107421875006,40.721777343750006],[70.37158203125003,40.38413085937506],[70.653125,40.201171875],[70.95800781250003,40.238867187500034]]]]},"properties":{"name":"Tajikistan","childNum":2}},{"geometry":{"type":"Polygon","coordinates":[[[66.52226562500007,37.34848632812506],[66.471875,37.3447265625],[65.7650390625,37.56914062499996],[65.55498046875002,37.25117187500004],[65.30361328125005,37.24677734375001],[65.08964843750007,37.237939453124994],[64.9515625,37.19355468750001],[64.81630859375005,37.13208007812503],[64.7824218750001,37.05927734375001],[64.60253906250003,36.554541015625034],[64.5658203125,36.427587890625034],[64.51103515625002,36.34067382812498],[64.184375,36.14892578125],[63.8625,36.012353515624994],[63.12998046875006,35.84619140624997],[63.169726562500074,35.678125],[63.05664062500003,35.44580078125003],[62.98027343750002,35.40917968750003],[62.85800781250006,35.34965820312499],[62.688085937500006,35.25532226562504],[62.3078125000001,35.17080078125005],[62.08964843750002,35.3796875],[61.62099609375005,35.43232421875004],[61.34472656249997,35.62949218750006],[61.26201171875002,35.61958007812498],[61.25214843750004,35.86762695312498],[61.15292968750006,35.97675781250001],[61.212011718750006,36.190527343750034],[61.11962890625003,36.64257812500003],[60.34130859375003,36.63764648437501],[60.06279296875002,36.962890625],[59.454980468749994,37.25283203125002],[59.30175781249997,37.51064453125005],[58.81542968750003,37.683496093749994],[58.261621093749994,37.665820312500045],[57.35371093750004,37.97333984374998],[57.1935546875001,38.216406250000034],[56.440625,38.249414062499994],[56.272070312500006,38.080419921875034],[55.38085937500003,38.051123046875034],[54.90009765625004,37.77792968750006],[54.6994140625001,37.47016601562498],[53.91416015625006,37.34355468750002],[53.86865234375003,38.949267578125045],[53.70458984375003,39.209570312500034],[53.33632812500005,39.34082031250006],[53.15664062499999,39.26499023437506],[53.23564453125002,39.608544921874966],[53.603125,39.546972656250034],[53.472265625,39.66879882812498],[53.48730468749997,39.909375],[52.9875,39.98759765625002],[53.03554687500005,39.7744140625],[52.80468749999997,40.054003906250045],[52.73369140625002,40.39873046875002],[52.943457031250006,41.03808593750006],[53.1452148437501,40.82495117187497],[53.61523437500003,40.818505859374994],[53.87001953125005,40.64868164062503],[54.37734375,40.693261718749966],[54.319433593750006,40.83457031249998],[54.68505859375003,40.873046875],[54.70371093750006,41.071142578125034],[54.094824218750006,41.51938476562506],[53.80468749999997,42.11762695312498],[53.16416015625006,42.09379882812502],[52.97001953125002,41.97622070312505],[52.81484375,41.711816406249994],[52.850390625000074,41.20029296875006],[52.4938476562501,41.780371093750034],[53.0558593750001,42.14775390624999],[54.120996093749994,42.335205078125],[54.85380859375002,41.965185546875006],[55.434375,41.296289062499994],[55.97744140625005,41.32221679687504],[57.01796875,41.26347656249996],[57.11884765625004,41.35029296874998],[56.96406250000004,41.856542968750006],[57.290625,42.123779296875],[57.814257812500074,42.18984375000005],[58.02890625,42.48764648437506],[58.474414062500074,42.29936523437496],[58.15156250000004,42.628076171874966],[58.477148437500006,42.66284179687503],[58.5890625000001,42.778466796874966],[59.35429687500002,42.32329101562496],[59.98515625000002,42.21171875],[59.94179687499999,41.97353515625002],[60.20078125000006,41.803125],[60.07558593750005,41.759667968749966],[60.089648437500074,41.39941406250003],[60.454980468749994,41.221630859374955],[61.2423828125001,41.18920898437503],[61.496972656249994,41.276074218749955],[61.90283203124997,41.09370117187501],[62.48320312500002,39.97563476562496],[63.76367187500003,39.16054687499999],[64.3099609375,38.97729492187497],[65.612890625,38.23857421875002],[65.97119140624997,38.244238281250006],[66.60625,37.98671875000005],[66.52558593750004,37.785742187500034],[66.51132812500006,37.59916992187496],[66.51064453125,37.45869140625004],[66.52226562500007,37.34848632812506]]]},"properties":{"name":"Turkmenistan","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[124.0363281250001,-9.341601562500031],[124.44443359375012,-9.190332031250023],[124.28232421875012,-9.427929687500026],[124.0363281250001,-9.341601562500031]]],[[[125.06816406250002,-9.511914062499997],[124.96015625000004,-9.213769531250009],[125.10048828125,-9.189843750000023],[125.14902343750012,-9.042578125000034],[124.93681640625007,-9.053417968750026],[124.92226562500005,-8.942480468749977],[125.17802734375002,-8.647851562499994],[125.38183593749997,-8.575390624999983],[126.61972656250006,-8.459472656249986],[126.96640625000012,-8.315722656250017],[127.29609375000004,-8.424511718749969],[126.91523437500004,-8.715234374999966],[125.40800781250002,-9.275781250000023],[125.06816406250002,-9.511914062499997]]],[[[125.64609375000006,-8.139941406250003],[125.5794921875,-8.311816406250017],[125.50712890625007,-8.275097656249997],[125.64609375000006,-8.139941406250003]]]]},"properties":{"name":"Timor-Leste","childNum":3}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[-175.1619140625,-21.169335937500023],[-175.07817382812496,-21.129003906249977],[-175.15659179687495,-21.26367187499997],[-175.36235351562496,-21.106835937499994],[-175.1619140625,-21.169335937500023]]],[[[-173.953515625,-18.63935546875001],[-174.06914062500002,-18.640234375],[-173.96806640624993,-18.565332031250023],[-173.953515625,-18.63935546875001]]]]},"properties":{"name":"Tonga","childNum":2}},{"geometry":{"type":"Polygon","coordinates":[[[-61.012109374999966,10.134326171874989],[-61.906103515625006,10.069140625000031],[-61.49931640624999,10.268554687499972],[-61.47827148437497,10.603369140624977],[-61.65117187499993,10.718066406249974],[-60.917626953124966,10.84023437499999],[-61.03374023437502,10.669873046875026],[-61.012109374999966,10.134326171874989]]]},"properties":{"name":"Trinidad and Tobago","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[10.957617187500063,33.72207031250005],[10.722070312500051,33.738916015624994],[10.745214843750063,33.88867187500006],[11.017871093749989,33.82333984374998],[10.957617187500063,33.72207031250005]]],[[[11.278027343750068,34.753808593749994],[11.123632812500063,34.68168945312496],[11.254882812500057,34.82031250000006],[11.278027343750068,34.753808593749994]]],[[[10.274609375000011,31.684960937499994],[10.114941406250068,31.46376953125005],[10.216406250000063,30.78320312500003],[10.05976562500004,30.58007812500003],[9.932519531250051,30.42534179687496],[9.895019531250028,30.387304687500034],[9.51875,30.229394531249994],[9.224023437500023,31.373681640624994],[9.160253906250006,31.621337890625],[9.044042968750034,32.072363281250034],[8.333398437500051,32.54360351562502],[8.1125,33.055322265624994],[7.877246093750017,33.172119140625],[7.534375,33.717919921874994],[7.513867187500068,34.080517578124955],[8.24560546875,34.73408203124998],[8.276855468750057,34.97949218749997],[8.312109375000063,35.084619140624994],[8.394238281250011,35.20385742187503],[8.318066406250011,35.654931640624994],[8.348730468750063,36.367968750000045],[8.207617187500006,36.518945312499994],[8.601269531250068,36.83393554687504],[8.576562500000023,36.93720703125001],[9.687988281250057,37.34038085937499],[9.838476562500063,37.30898437499999],[9.830273437499983,37.13535156250006],[9.875585937499977,37.25415039062503],[10.196386718750063,37.205859375000045],[10.293261718750074,36.781494140625],[10.412304687499983,36.73183593750002],[11.053906250000068,37.07250976562506],[11.12666015625004,36.874072265625045],[10.476562500000028,36.175146484375006],[10.590820312500028,35.88725585937499],[11.00429687500008,35.63383789062496],[11.120117187500057,35.24028320312499],[10.69091796875,34.67846679687503],[10.118359375000068,34.280078125000045],[10.049023437500068,34.056298828124994],[10.305273437500034,33.72827148437497],[10.713183593750017,33.68901367187496],[10.722753906250006,33.514404296875],[10.958007812500057,33.62631835937498],[11.257421875000034,33.30883789062506],[11.202636718749972,33.24921874999998],[11.50458984375004,33.181933593750045],[11.502441406250028,33.15556640624999],[11.467187500000051,32.96572265625005],[11.459179687500011,32.897363281249966],[11.453906250000017,32.64257812500003],[11.533789062500034,32.52495117187496],[11.535937500000017,32.47333984375001],[11.504980468750034,32.413671875000034],[11.358007812500006,32.34521484375003],[11.168261718750074,32.25673828125002],[11.005175781250074,32.17270507812506],[10.826367187500068,32.080664062500034],[10.771582031250006,32.02119140625001],[10.60888671875,31.929541015624977],[10.47578125000004,31.736035156249983],[10.274609375000011,31.684960937499994]]]]},"properties":{"name":"Tunisia","childNum":3}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[25.970019531250045,40.136328125],[25.6689453125,40.13588867187502],[25.918359375000023,40.23798828125004],[25.970019531250045,40.136328125]]],[[[43.43339843750002,41.155517578125],[43.43945312500003,41.10712890625001],[43.72265624999997,40.71953124999999],[43.56933593750003,40.48237304687498],[43.66621093750004,40.12636718750002],[44.28925781250004,40.040380859375006],[44.76826171875004,39.70351562500005],[44.81718750000002,39.65043945312496],[44.58710937500004,39.76855468750006],[44.3893554687501,39.422119140625],[44.02324218750002,39.37744140625006],[44.27167968750004,38.83603515625006],[44.2985351562501,38.38627929687499],[44.4499023437501,38.33422851562506],[44.21132812499999,37.908056640625006],[44.589941406250006,37.710351562499966],[44.574023437500074,37.435400390625006],[44.79414062500004,37.290380859375034],[44.76513671875003,37.142431640625006],[44.73095703124997,37.16528320312503],[44.66933593750005,37.17358398437503],[44.60595703124997,37.176025390625],[44.401953125,37.05849609375002],[44.325585937499994,37.0107421875],[44.28183593750006,36.97802734374997],[44.24570312500006,36.983300781249994],[44.20166015624997,37.05180664062502],[44.208398437499994,37.20263671875],[44.19179687499999,37.249853515625034],[44.15625,37.28295898437503],[44.11445312500004,37.30185546875006],[44.01318359375003,37.313525390625045],[43.83642578124997,37.223535156249994],[43.67578125000003,37.227246093749955],[43.09248046875004,37.36738281249998],[42.936621093750006,37.32475585937502],[42.77460937500004,37.371875],[42.74111328125005,37.361914062500034],[42.6354492187501,37.249267578125],[42.45585937500002,37.128710937500045],[42.358984375,37.10859375000004],[42.31289062499999,37.22958984374998],[42.26855468749997,37.276562499999955],[42.24755859375003,37.28222656250006],[42.20273437500006,37.29726562499999],[42.16787109375005,37.28862304687502],[42.059863281250074,37.2060546875],[41.886816406250006,37.156396484374994],[40.70566406250006,37.09770507812502],[40.4503906250001,37.00888671875006],[40.016406250000074,36.82607421875002],[39.68652343749997,36.73862304687506],[39.50146484374997,36.702246093750034],[39.35664062500004,36.68159179687498],[39.10839843749997,36.68056640625005],[38.90644531250004,36.69467773437498],[38.76660156249997,36.69311523437503],[38.19169921875002,36.90156250000004],[37.90664062500005,36.79462890625001],[37.7203125,36.74370117187502],[37.52353515625006,36.678320312500034],[37.436328125000074,36.643310546875],[37.327050781249994,36.64658203125006],[37.18740234375005,36.655908203124994],[37.066210937500074,36.652636718750045],[36.98535156250003,36.70239257812506],[36.94179687499999,36.758398437500006],[36.77656250000004,36.79267578124998],[36.65859375000005,36.80253906250002],[36.62841796875003,36.777685546875034],[36.596875,36.70136718750001],[36.546679687500074,36.50634765625],[36.5375,36.457421874999966],[36.63671874999997,36.233984375],[36.37539062499999,36.171240234375034],[36.347558593749994,36.003515625000034],[36.20195312500002,35.93754882812502],[36.15361328125002,35.83388671875005],[36.12734375,35.831445312499994],[35.967578125000074,35.91005859375002],[35.89267578125006,35.91655273437502],[35.81093750000005,36.30986328125002],[36.18847656250003,36.65898437499999],[36.048925781250006,36.91059570312501],[35.393164062500006,36.57519531249997],[34.70361328125003,36.81679687499999],[33.694726562499994,36.18198242187498],[32.794824218749994,36.03588867187497],[32.37773437500002,36.18364257812496],[32.02197265625003,36.53530273437502],[31.35253906249997,36.80107421874999],[30.64404296874997,36.86567382812501],[30.446093750000074,36.269873046875034],[29.6890625,36.15668945312498],[29.22363281249997,36.32446289062497],[28.96962890625008,36.71533203125003],[28.303710937500057,36.81196289062498],[28.01943359375005,36.63447265624998],[28.083984375000057,36.75146484375],[27.453906250000017,36.712158203125],[28.00537109375003,36.83198242187498],[28.242382812500068,37.029052734375],[27.262988281250045,36.97656250000003],[27.30019531250005,37.12685546875002],[27.53505859375005,37.16386718750002],[27.06796875,37.65791015625004],[27.224414062500074,37.725439453125006],[27.23242187500003,37.978662109374994],[26.29072265625001,38.27719726562498],[26.44130859375005,38.64121093749998],[26.67421875000008,38.33574218750002],[27.14423828125001,38.45195312499996],[26.906835937500034,38.48173828124999],[26.763671875,38.709619140624966],[27.013671875000057,38.88686523437502],[26.814941406250057,38.96098632812502],[26.853613281250034,39.115625],[26.68183593750004,39.292236328125],[26.89921874999999,39.549658203125034],[26.113085937500074,39.46738281249998],[26.101367187500074,39.56894531249998],[26.18134765625004,39.99008789062498],[26.738085937500045,40.40024414062506],[27.28457031250008,40.45561523437496],[27.4755859375,40.319921875000034],[27.72802734375,40.32880859374998],[27.84853515625005,40.38173828125002],[27.73183593750008,40.48149414062499],[27.87490234375008,40.512939453125],[27.989550781250074,40.48945312500001],[27.96259765625001,40.369873046875],[29.00712890624999,40.389746093750034],[28.787890625000017,40.534033203125034],[28.95800781250003,40.63056640624998],[29.849218750000063,40.760107421875006],[29.113867187499977,40.93784179687506],[29.14814453125004,41.221044921875034],[31.25488281249997,41.10761718750001],[31.45800781249997,41.32001953125004],[32.306445312500074,41.72958984374998],[33.38134765625003,42.01757812500003],[34.75048828124997,41.95683593749999],[35.006445312500006,42.06328125000002],[35.15488281250006,42.02753906250001],[35.12207031250003,41.89111328125003],[35.297753906249994,41.72851562500003],[35.558007812499994,41.63403320312506],[36.05175781249997,41.68256835937498],[36.40537109375006,41.27460937500001],[36.77773437499999,41.36347656250001],[37.066210937500074,41.184423828125034],[38.38105468750004,40.92451171875001],[39.426367187500006,41.10644531250003],[40.26523437500006,40.96132812500005],[41.08359375000006,41.26118164062504],[41.41435546875002,41.42363281249999],[41.510058593750074,41.51748046875002],[41.70175781250006,41.471582031249994],[41.77939453125006,41.44052734374998],[41.823535156250074,41.432373046875],[41.92578125000003,41.49565429687502],[42.46640625,41.43984375000002],[42.56738281249997,41.55927734375001],[42.590429687500006,41.57070312500002],[42.60683593750005,41.57880859374998],[42.682421875000074,41.58574218749999],[42.75410156250004,41.57890625000002],[42.787890625000074,41.56372070312503],[42.82167968750005,41.49238281249998],[42.90673828125003,41.46684570312502],[43.05712890625003,41.35283203124996],[43.149023437500006,41.30712890624997],[43.171289062499994,41.28793945312498],[43.14101562499999,41.26484374999998],[43.15283203124997,41.23642578125006],[43.20546875000005,41.19916992187501],[43.43339843750002,41.155517578125]]],[[[27.47480468750001,41.946875],[28.014453125000017,41.96904296874999],[28.197851562500063,41.55449218750002],[29.057226562500006,41.22973632812503],[28.95625,41.00820312499999],[28.172167968750074,41.08071289062502],[27.49941406250005,40.97314453124997],[27.258007812499983,40.687353515625006],[26.772070312500034,40.498046875],[26.202734375000034,40.07539062500004],[26.25380859375005,40.31469726562503],[26.792089843750034,40.626611328124994],[26.10546875000003,40.61132812499997],[26.03896484375008,40.726757812499955],[26.331054687500057,40.954492187499994],[26.330664062499977,41.23876953125],[26.62490234375008,41.401757812499994],[26.581347656250074,41.60126953125004],[26.320898437500034,41.716552734375],[26.3603515625,41.80156249999999],[26.51142578125004,41.82636718749998],[26.549707031250023,41.896728515625],[26.5796875,41.947949218749955],[26.615332031250063,41.964892578125045],[26.884863281250006,41.99184570312502],[26.96875,42.02685546875006],[27.01171875,42.05864257812496],[27.193359375000057,42.07709960937498],[27.24433593750004,42.09326171875],[27.294921875000057,42.079541015624955],[27.47480468750001,41.946875]]]]},"properties":{"name":"Turkey","childNum":3}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[39.71132812499999,-7.977441406250023],[39.602929687499994,-7.936132812499949],[39.907128906249994,-7.649218750000031],[39.71132812499999,-7.977441406250023]]],[[[39.49648437499999,-6.174609375],[39.573046875000074,-6.387402343750011],[39.48095703124997,-6.45371093750002],[39.18232421875004,-6.172558593750026],[39.30898437499999,-5.721972656249974],[39.49648437499999,-6.174609375]]],[[[39.86503906250002,-4.906152343750037],[39.74931640625002,-5.443847656249986],[39.646777343750074,-5.368554687500009],[39.6734375,-4.927050781250031],[39.86503906250002,-4.906152343750037]]],[[[33.90322265625005,-1.002050781250034],[37.643847656250074,-3.045410156250028],[37.608203125000074,-3.497070312500028],[39.221777343750006,-4.692382812500014],[38.80468750000003,-6.070117187500031],[38.87402343750003,-6.33125],[39.5460937500001,-7.024023437500034],[39.288476562499994,-7.517871093750003],[39.28701171875005,-7.787695312500006],[39.4284179687501,-7.81279296874996],[39.441015625,-8.011523437499946],[39.304003906250074,-8.44384765625],[39.451269531250006,-8.94296875],[39.64130859375004,-9.19248046875002],[39.72519531250006,-10.000488281249972],[40.46357421875004,-10.464355468749972],[39.98867187499999,-10.820800781250014],[39.81708984375004,-10.912402343750031],[38.9875,-11.167285156250003],[38.49179687500006,-11.413281250000026],[37.92021484375002,-11.294726562500031],[37.72480468750004,-11.58066406250002],[37.54169921875004,-11.675097656249974],[37.37285156250002,-11.710449218749986],[36.97890625000005,-11.566992187499977],[36.30566406250003,-11.706347656249946],[36.191308593749994,-11.670703124999974],[36.17548828125004,-11.60927734374998],[36.08222656250004,-11.537304687499969],[35.91132812500004,-11.45468750000002],[35.785449218750074,-11.452929687500017],[35.63095703125006,-11.582031250000028],[35.564355468749994,-11.602343749999989],[35.418261718750074,-11.583203125],[35.18261718750003,-11.574804687499977],[34.95947265625003,-11.578125],[34.93701171874997,-11.463476562500034],[34.890625,-11.3935546875],[34.77382812500005,-11.341699218750009],[34.60791015624997,-11.08046875],[34.66708984375006,-10.792480468750028],[34.56992187500006,-10.241113281249966],[34.32089843750006,-9.731542968749977],[33.99560546875003,-9.495410156250003],[33.88886718750004,-9.670117187499983],[32.91992187500003,-9.407421875000026],[32.75664062500002,-9.322265625],[31.94257812500004,-9.05400390624996],[31.91865234375004,-8.942187500000017],[31.886132812499994,-8.921972656249977],[31.81806640625004,-8.902246093749952],[31.673632812500017,-8.908789062499963],[31.55625,-8.80546875],[31.44921874999997,-8.65390625],[31.35058593750003,-8.607031250000034],[31.07636718750004,-8.611914062499963],[30.968359375000063,-8.550976562499983],[30.89199218750005,-8.473730468749963],[30.830664062500063,-8.385546875000031],[30.720898437500097,-8.104394531250037],[30.40673828125003,-7.460644531249983],[30.313183593750097,-7.203710937499949],[30.212695312500017,-7.037890625000017],[30.10625,-6.915039062500028],[29.961816406249994,-6.803125],[29.798144531250017,-6.691894531249957],[29.70966796875004,-6.61689453125004],[29.590625,-6.394433593750023],[29.540820312500017,-6.313867187500037],[29.50625,-6.172070312500011],[29.480078125,-6.025],[29.490820312500063,-5.96542968750002],[29.59638671875004,-5.775976562499963],[29.60703125,-5.722656250000028],[29.59414062500005,-5.650781250000037],[29.542382812499994,-5.499804687500017],[29.34277343749997,-4.983105468749997],[29.32343750000004,-4.898828124999966],[29.32568359374997,-4.835644531249969],[29.404199218749994,-4.49667968750002],[29.40322265625005,-4.449316406249963],[29.71777343750003,-4.45585937499996],[29.94726562499997,-4.307324218749983],[30.4,-3.65390625],[30.790234375000097,-3.274609375000011],[30.811132812500006,-3.116406250000011],[30.78027343750003,-2.984863281249957],[30.70947265624997,-2.977246093749997],[30.604296875000074,-2.935253906249969],[30.515039062499994,-2.917578125],[30.45556640625003,-2.893164062500006],[30.433496093749994,-2.874511718750028],[30.424023437500097,-2.82402343749996],[30.473339843750097,-2.6943359375],[30.42421875000005,-2.641601562500014],[30.441992187500006,-2.613476562499969],[30.53369140624997,-2.426269531250014],[30.55361328125005,-2.400097656250011],[30.593359375000063,-2.39677734374996],[30.65664062500005,-2.373828124999989],[30.71484375000003,-2.363476562500011],[30.7625,-2.371679687499991],[30.828710937500006,-2.338476562499977],[30.85498046874997,-2.265429687500017],[30.8765625,-2.143359375000017],[30.864648437499994,-2.044042968749949],[30.819140625000017,-1.967480468749983],[30.812597656250006,-1.56308593750002],[30.76220703124997,-1.458691406249983],[30.710742187500074,-1.396777343749974],[30.631933593750006,-1.36748046874996],[30.508105468750074,-1.208203125000026],[30.47021484374997,-1.13115234374996],[30.47705078124997,-1.0830078125],[30.509960937500097,-1.067285156249994],[30.51992187499999,-1.0625],[30.67275390625005,-1.051367187499949],[30.741992187500017,-1.007519531249997],[30.809179687500063,-0.994921875],[30.82363281250005,-0.999023437499943],[30.84472656250003,-1.002050781250034],[32.371875,-1.002050781250034],[33.90322265625005,-1.002050781250034]]]]},"properties":{"name":"Tanzania","childNum":4}},{"geometry":{"type":"Polygon","coordinates":[[[30.50996093750001,-1.067285156250009],[30.46992187500001,-1.066015625],[30.41230468750001,-1.063085937500006],[30.360253906250023,-1.074609375],[29.930078125000023,-1.469921875000011],[29.82539062500001,-1.335546875],[29.576953125000017,-1.387890625000011],[29.717675781250023,0.098339843749997],[29.934472656250023,0.4990234375],[29.94287109375,0.819238281249994],[31.252734375000017,2.044580078124994],[31.176367187500006,2.270068359374989],[30.728613281250006,2.455371093749989],[30.8466796875,2.847021484374991],[30.754003906250006,3.041796874999989],[30.90644531250001,3.408935546875],[30.83857421875001,3.49072265625],[31.15234375,3.785595703124997],[31.547167968750017,3.677587890624991],[31.79804687500001,3.802636718749994],[32.13593750000001,3.519726562499997],[32.33574218750002,3.706201171874994],[32.99726562500001,3.880175781249989],[33.489355468750006,3.755078125],[33.568457031250006,3.81171875],[33.74160156250002,3.985253906249994],[33.97607421875,4.22021484375],[34.13203125000001,3.88916015625],[34.18574218750001,3.869775390624994],[34.1650390625,3.81298828125],[34.26708984375,3.733154296875],[34.39287109375002,3.691503906249991],[34.43769531250001,3.650585937499997],[34.44179687500002,3.60625],[34.3994140625,3.412695312499991],[34.4072265625,3.357519531249991],[34.447851562500006,3.163476562499994],[34.90576171875,2.4796875],[34.88300781250001,2.417919921874997],[34.96406250000001,2.062402343749994],[34.9775390625,1.861914062499991],[34.97646484375002,1.719628906249994],[34.79863281250002,1.24453125],[34.48173828125002,1.042138671874994],[34.41083984375001,0.867285156249991],[34.16093750000002,0.605175781249997],[33.94316406250002,0.173779296874997],[33.90322265625002,-1.002050781250006],[32.371875,-1.002050781250006],[30.8447265625,-1.002050781250006],[30.823632812500023,-0.9990234375],[30.809179687500006,-0.994921875],[30.741992187500017,-1.007519531250011],[30.672753906250023,-1.051367187500006],[30.598730468750006,-1.069726562500009],[30.519921875000023,-1.0625],[30.50996093750001,-1.067285156250009]]]},"properties":{"name":"Uganda","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[32.01220703124997,46.20390624999999],[32.15009765625004,46.1546875],[31.56386718750005,46.25776367187504],[31.50878906250003,46.373144531250006],[32.01220703124997,46.20390624999999]]],[[[38.21435546875003,47.091455078124966],[37.54335937499999,47.07456054687498],[36.794824218749994,46.71440429687499],[36.55878906250004,46.76269531250006],[35.82714843749997,46.62431640625002],[35.01455078125005,46.10600585937502],[35.280175781249994,46.27949218750001],[35.23037109375005,46.440625],[34.84960937500003,46.189892578124955],[35.02285156250005,45.70097656250002],[35.45751953124997,45.316308593749994],[36.170507812500006,45.453076171874955],[36.575,45.3935546875],[36.39335937500002,45.06538085937501],[35.87011718750003,45.005322265624955],[35.472558593749994,45.098486328125006],[35.08769531250002,44.802636718749966],[34.46992187500004,44.7216796875],[33.909960937500074,44.387597656249966],[33.45068359374997,44.553662109374955],[33.55517578125003,45.09765625000003],[32.5080078125001,45.40380859375006],[33.664843750000074,45.94707031249996],[33.59414062500005,46.09624023437499],[33.42988281250004,46.05761718750003],[33.20224609375006,46.17573242187501],[32.47675781250004,46.08369140625001],[31.83125,46.28168945312501],[32.00849609375004,46.42998046875002],[31.554882812500097,46.554296875000034],[32.36132812499997,46.474951171875034],[32.578027343749994,46.615625],[32.04433593750005,46.642480468749966],[31.75917968750005,47.21284179687501],[31.872851562500017,46.649755859375034],[31.532128906249994,46.66474609374998],[31.56337890625005,46.77729492187501],[31.402929687500063,46.62880859375002],[30.796289062499994,46.55200195312503],[30.219042968750074,45.866748046875045],[29.62841796875003,45.722460937500045],[29.705859375000074,45.25991210937505],[29.567675781250074,45.37080078124998],[29.40371093750005,45.419677734375],[29.22353515625005,45.402929687500034],[28.894335937500017,45.28994140625002],[28.78173828125,45.30986328125002],[28.76660156250003,45.28623046874998],[28.78828125000001,45.240966796875],[28.451269531250006,45.292187499999955],[28.317675781250045,45.347119140624955],[28.2125,45.45043945312506],[28.26484375000004,45.48388671875003],[28.310351562500074,45.49858398437499],[28.499023437500057,45.517724609374994],[28.513769531250034,45.57241210937502],[28.49160156250005,45.66577148437503],[28.562304687500074,45.73579101562501],[28.667578125,45.79384765625002],[28.729296875000074,45.852001953124955],[28.73876953125003,45.937158203124994],[28.84951171875005,45.97866210937502],[28.94775390624997,46.049951171874966],[28.971875,46.12763671874998],[29.00625,46.17646484374998],[28.94375,46.28842773437506],[28.930566406250023,46.36225585937501],[28.92744140625001,46.42412109374999],[28.958398437500023,46.45849609374997],[29.146289062500017,46.52690429687496],[29.186230468750068,46.52397460937499],[29.20078125,46.504980468750034],[29.20458984374997,46.37934570312501],[29.223828125000097,46.37695312499997],[29.458789062500017,46.453759765624994],[29.83789062499997,46.35053710937501],[29.878027343750063,46.360205078125034],[30.07568359375003,46.377832031249966],[30.131054687500097,46.42309570312506],[29.92431640624997,46.53886718750002],[29.934765625000097,46.625],[29.942480468750063,46.72377929687502],[29.918066406250063,46.78242187499998],[29.877832031249994,46.828906250000045],[29.57197265625004,46.96401367187502],[29.455664062500006,47.292626953124994],[29.134863281250006,47.48969726562501],[29.125390625000023,47.96455078125001],[28.42304687500001,48.146875],[28.34052734375001,48.144433593749994],[27.54921875000008,48.47773437500004],[27.22851562500003,48.37143554687506],[26.90058593750001,48.37192382812506],[26.847070312500023,48.387158203124955],[26.640429687500045,48.29414062500001],[26.618945312500017,48.25986328125006],[26.4423828125,48.22998046875],[26.162695312500063,47.992529296875034],[25.90869140625,47.96757812500002],[25.689257812500045,47.93247070312506],[25.46425781250005,47.910791015624994],[24.979101562500063,47.72412109374997],[24.578906250000074,47.93105468750005],[23.628710937500017,47.995849609375],[23.40820312500003,47.98999023437506],[23.20263671875,48.084521484375045],[23.13945312499999,48.08740234375],[22.87666015625001,47.94726562500006],[22.769140625000063,48.109619140625],[22.582421875000023,48.134033203125],[22.253710937500017,48.407373046874994],[22.131835937500057,48.40532226562502],[22.142871093750017,48.568505859374966],[22.295214843750045,48.68583984374999],[22.389453125000045,48.87348632812501],[22.52412109375004,49.03139648437502],[22.538671875,49.07270507812501],[22.847070312500023,49.08125],[22.705664062500006,49.17119140624999],[22.6494140625,49.53901367187498],[22.706152343750006,49.60620117187497],[23.03632812500004,49.899072265624966],[23.711718750000045,50.377343749999966],[23.97265625,50.410058593749966],[24.089941406250006,50.53046874999998],[24.0947265625,50.617041015625034],[23.9970703125,50.809375],[24.095800781250063,50.87275390625001],[23.664453125000023,51.31005859375],[23.61376953125,51.525390625],[23.706835937500045,51.64130859374998],[23.79169921875001,51.63710937500002],[23.864257812500057,51.62397460937501],[23.951171875,51.58505859374998],[23.978320312500017,51.59130859375003],[24.12685546875008,51.664648437500034],[24.280078125000017,51.77470703124999],[24.361914062500006,51.86752929687498],[25.785742187500006,51.923828125],[26.77343750000003,51.77070312499998],[26.952832031249983,51.754003906250034],[27.074121093750023,51.760839843750006],[27.14199218750008,51.75205078124998],[27.29628906250008,51.59741210937503],[27.689746093750017,51.572412109374994],[27.7,51.47797851562501],[27.85859375000004,51.59238281250006],[28.532031250000017,51.56245117187501],[28.59902343750008,51.54262695312505],[28.647753906250074,51.45654296875],[28.690234375000017,51.43886718750005],[28.73125,51.43339843749999],[28.84951171875005,51.540185546874994],[28.927539062500045,51.56215820312502],[28.97773437500004,51.57177734375003],[29.01308593750005,51.59892578124996],[29.06074218750001,51.625439453124955],[29.102050781250057,51.627539062500034],[29.346484375000017,51.38256835937503],[30.160742187500006,51.477880859375006],[30.449511718750017,51.274316406249994],[30.63251953125004,51.35541992187501],[30.61171875000005,51.406347656250006],[30.602343750000017,51.47124023437499],[30.56074218750004,51.531494140625],[30.533007812500017,51.596337890624966],[30.583886718749994,51.68896484375003],[30.667285156250017,51.81411132812502],[30.755273437499994,51.89516601562502],[30.84570312500003,51.95307617187501],[30.980664062500097,52.04619140624996],[31.217968750000097,52.05024414062498],[31.345996093750074,52.10537109375002],[31.57373046875003,52.108105468749955],[31.763378906250097,52.10107421875003],[32.12226562500004,52.05058593749996],[32.435449218749994,52.307226562500034],[33.735253906249994,52.344775390625045],[34.397851562499994,51.780419921874994],[34.12109375000003,51.67915039062498],[34.21386718750003,51.25537109375006],[35.0640625,51.203417968750045],[35.31191406250005,51.043896484374955],[35.59111328125002,50.36875],[36.1164062500001,50.408544921875006],[36.619433593750074,50.209228515625],[37.42285156249997,50.411474609375006],[38.046875,49.92001953125006],[38.258593750000074,50.05234375],[38.91835937499999,49.82470703125],[39.17480468750003,49.85595703124997],[39.780566406250074,49.57202148437503],[40.080664062500006,49.576855468749955],[40.10878906250005,49.251562500000034],[39.68652343749997,49.007910156250034],[40.00361328125004,48.82207031250002],[39.792871093749994,48.807714843750034],[39.6447265625001,48.591210937499966],[39.8356445312501,48.54277343749996],[39.95791015625005,48.268896484375034],[39.77871093750005,47.88754882812506],[38.90029296875005,47.85512695312502],[38.36884765625004,47.609960937500006],[38.21435546875003,47.091455078124966]]]]},"properties":{"name":"Ukraine","childNum":2}},{"geometry":{"type":"Polygon","coordinates":[[[-57.81059570312499,-30.85859375000001],[-57.872509765625,-30.59101562500001],[-57.831201171874994,-30.495214843750006],[-57.71269531249999,-30.38447265625001],[-57.65087890625,-30.295019531250006],[-57.645751953125,-30.226953125],[-57.60888671875,-30.187792968750003],[-57.55229492187499,-30.26123046875],[-57.21445312499999,-30.28339843750001],[-57.186914062499994,-30.26484375000001],[-57.120507812499994,-30.14443359375001],[-56.83271484375,-30.107226562500003],[-56.4072265625,-30.44746093750001],[-55.998974609375,-30.837207031250003],[-56.018457031249994,-30.99189453125001],[-56.00468749999999,-31.079199218750006],[-55.873681640624994,-31.069628906250003],[-55.6271484375,-30.85810546875001],[-55.60302734375,-30.85078125000001],[-55.55732421875,-30.8759765625],[-55.17353515625,-31.279589843750003],[-55.09116210937499,-31.31396484375],[-55.036035156249994,-31.27900390625001],[-54.587646484375,-31.48515625],[-54.22055664062499,-31.85517578125001],[-53.76171875,-32.05683593750001],[-53.601708984374994,-32.40302734375001],[-53.12558593749999,-32.73671875],[-53.2140625,-32.82109375],[-53.31010742187499,-32.92705078125],[-53.39521484375,-33.010351562500006],[-53.482861328125,-33.06855468750001],[-53.511865234374994,-33.10869140625],[-53.53134765624999,-33.1708984375],[-53.53134765624999,-33.65546875000001],[-53.37060546875,-33.7421875],[-53.419580078124994,-33.77919921875001],[-53.47246093749999,-33.84931640625001],[-53.53452148437499,-34.01748046875001],[-53.742919921875,-34.24951171875],[-53.785302734374994,-34.38037109375],[-54.16855468749999,-34.670703125],[-54.902294921875,-34.93281250000001],[-55.67314453124999,-34.77568359375],[-56.249951171875,-34.90126953125001],[-57.17070312499999,-34.45234375000001],[-57.8291015625,-34.47734375],[-58.40019531249999,-33.91240234375],[-58.363525390625,-33.18232421875001],[-58.08232421874999,-32.893652343750006],[-58.12958984375,-32.75722656250001],[-58.16220703124999,-32.566503906250006],[-58.201171875,-32.4716796875],[-58.123046875,-32.321875],[-58.11972656249999,-32.24892578125001],[-58.164794921875,-32.18486328125],[-58.177001953125,-32.11904296875001],[-58.15634765624999,-32.0515625],[-58.160400390625,-31.98652343750001],[-58.18901367187499,-31.92421875],[-58.16748046875,-31.87265625],[-58.04233398437499,-31.76923828125001],[-58.006982421874994,-31.68496093750001],[-58.053857421874994,-31.494921875],[-58.0333984375,-31.416601562500006],[-57.89335937499999,-31.1953125],[-57.868408203125,-31.10439453125001],[-57.88632812499999,-30.93740234375001],[-57.81059570312499,-30.85859375000001]]]},"properties":{"name":"Uruguay","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[-155.58134765624996,19.012011718750017],[-155.88129882812495,19.07050781250001],[-156.04868164062498,19.749951171874983],[-155.82031249999997,20.01416015624997],[-155.83164062499998,20.27583007812501],[-155.198779296875,19.99438476562503],[-154.80419921875,19.524462890625045],[-155.58134765624996,19.012011718750017]]],[[[-156.84960937499997,20.772656249999955],[-156.97338867187497,20.757519531249983],[-157.0505859375,20.912451171875034],[-156.88056640624995,20.904833984375074],[-156.84960937499997,20.772656249999955]]],[[[-156.48681640624994,20.93256835937504],[-156.27753906250004,20.951269531250034],[-155.98984374999998,20.75712890624999],[-156.40878906249998,20.60517578125004],[-156.480078125,20.80122070312501],[-156.69775390625003,20.949072265625034],[-156.58540039062495,21.034326171874994],[-156.48681640624994,20.93256835937504]]],[[[-157.21362304687497,21.215380859375017],[-156.71215820312506,21.155078125000074],[-156.85986328125,21.05634765625004],[-157.29033203124996,21.112597656250017],[-157.21362304687497,21.215380859375017]]],[[[-157.79936523437502,21.456640625000034],[-157.63540039062502,21.30761718749997],[-158.11035156249994,21.318603515625],[-158.27314453125,21.585253906250045],[-157.9625,21.701367187499983],[-157.79936523437502,21.456640625000034]]],[[[-159.37275390625,21.93237304687497],[-159.60883789062495,21.909521484375034],[-159.78916015625003,22.041796875000074],[-159.57919921874998,22.22314453124997],[-159.35205078124997,22.219580078125034],[-159.37275390625,21.93237304687497]]],[[[-81.04418945312503,24.716796875000057],[-81.137353515625,24.710498046875017],[-80.93046875,24.75947265625004],[-81.04418945312503,24.716796875000057]]],[[[-80.3818359375,25.142285156249955],[-80.58056640624997,24.954248046875023],[-80.25708007812497,25.34760742187504],[-80.3818359375,25.142285156249955]]],[[[-97.17070312499996,26.159375],[-97.40209960937494,26.820507812499983],[-97.38598632812494,27.19648437500004],[-97.17070312499996,26.159375]]],[[[-80.18676757812497,27.278417968750034],[-80.17050781250003,27.20478515625004],[-80.43691406249994,27.850537109374955],[-80.18676757812497,27.278417968750034]]],[[[-91.793701171875,29.50073242187497],[-92.00664062499996,29.61030273437501],[-91.875244140625,29.640966796875034],[-91.793701171875,29.50073242187497]]],[[[-84.90791015624998,29.642626953125017],[-85.11674804687499,29.63281249999997],[-84.737158203125,29.732421875],[-84.90791015624998,29.642626953125017]]],[[[-89.22397460937498,30.084082031249977],[-89.34199218749995,30.062841796875006],[-89.18466796874995,30.168652343749983],[-89.22397460937498,30.084082031249977]]],[[[-118.34794921875002,33.3857421875],[-118.29746093750003,33.312109375],[-118.44628906249997,33.317089843749955],[-118.56943359375002,33.46416015624999],[-118.34794921875002,33.3857421875]]],[[[-120.04355468749995,33.918847656249994],[-120.25190429687494,34.01386718749998],[-120.07182617187493,34.026513671874966],[-120.04355468749995,33.918847656249994]]],[[[-119.88237304687497,34.07968749999998],[-119.54926757812497,34.02817382812506],[-119.80957031249997,33.9677734375],[-119.88237304687497,34.07968749999998]]],[[[-75.54414062499995,35.240087890625034],[-75.69008789062502,35.221582031249994],[-75.53637695312497,35.27861328124999],[-75.50351562500003,35.769140625],[-75.46474609374994,35.448632812499966],[-75.54414062499995,35.240087890625034]]],[[[-74.13320312500002,39.680761718750034],[-74.25048828125,39.529394531250006],[-74.10673828124996,39.74643554687498],[-74.13320312500002,39.680761718750034]]],[[[-72.50976562500003,40.98603515625001],[-72.58085937499996,40.92133789062498],[-71.90322265625,41.06069335937505],[-73.19428710937495,40.654199218749994],[-74.01489257812497,40.581201171874966],[-73.87924804687498,40.79165039062502],[-73.573828125,40.91962890624998],[-72.62509765624998,40.99184570312505],[-72.27412109374998,41.15302734375001],[-72.50976562500003,40.98603515625001]]],[[[-69.9779296875,41.26557617187504],[-70.23305664062502,41.28632812500001],[-70.04121093750001,41.3974609375],[-69.9779296875,41.26557617187504]]],[[[-70.50991210937502,41.376318359375034],[-70.82919921874995,41.35898437500006],[-70.61601562499996,41.45722656250001],[-70.50991210937502,41.376318359375034]]],[[[-71.24140625000001,41.49194335937497],[-71.34624023437496,41.469384765624994],[-71.23203124999995,41.654296875],[-71.24140625000001,41.49194335937497]]],[[[-68.18725585937497,44.33247070312501],[-68.41171875000003,44.294335937499966],[-68.29941406249998,44.456494140624955],[-68.18725585937497,44.33247070312501]]],[[[-122.394140625,47.39526367187503],[-122.50991210937497,47.358007812500006],[-122.486474609375,47.48876953125],[-122.394140625,47.39526367187503]]],[[[-122.57275390624999,48.15664062499999],[-122.38315429687499,47.923193359375034],[-122.74150390624999,48.22529296875004],[-122.62861328125,48.38422851562498],[-122.54243164062503,48.29399414062499],[-122.69702148437499,48.228662109374994],[-122.57275390624999,48.15664062499999]]],[[[-94.80346679687497,49.0029296875],[-94.71279296874997,48.863427734374994],[-94.62089843749999,48.74262695312501],[-93.85161132812496,48.607275390625034],[-93.70771484374995,48.52543945312499],[-93.37788085937498,48.61655273437498],[-93.25795898437497,48.62885742187501],[-92.83671875,48.567773437499994],[-92.50058593749995,48.43535156250002],[-92.41459960937493,48.276611328125],[-92.3484375,48.276611328125],[-92.00517578125002,48.301855468750006],[-91.38720703124997,48.05854492187498],[-91.04345703125003,48.19370117187498],[-90.84033203125003,48.20053710937506],[-90.79731445312495,48.13105468750001],[-89.4556640625,47.996240234374994],[-88.37817382812497,48.30307617187498],[-87.74389648437497,48.06054687500003],[-87.20800781249997,47.848486328125006],[-86.67216796874996,47.636425781249955],[-85.65224609375,47.21997070312503],[-85.07006835937497,46.97993164062498],[-84.87597656249994,46.89990234375003],[-84.66577148437503,46.54326171875002],[-84.44047851562496,46.49814453125006],[-84.12319335937497,46.50292968749997],[-83.97778320312503,46.08491210937498],[-83.61596679687503,46.116845703124994],[-83.46948242187503,45.99467773437499],[-83.59267578125,45.81713867187506],[-82.91933593749994,45.51796875000002],[-82.55107421874996,45.34736328125001],[-82.48505859374993,45.08374023437503],[-82.137841796875,43.570898437500034],[-82.19038085937495,43.47407226562501],[-82.54531249999997,42.62470703124998],[-83.10952148437497,42.25068359375001],[-83.141943359375,41.97587890624996],[-82.69003906249995,41.675195312499994],[-82.43906249999998,41.67485351562502],[-81.97416992187496,41.88872070312499],[-81.50732421874997,42.10346679687504],[-81.02822265624997,42.247167968750006],[-80.24755859375,42.36601562499996],[-79.17373046875,42.74853515625],[-78.91508789062496,42.90913085937504],[-78.98076171874993,42.98061523437502],[-79.02617187499996,43.01733398437506],[-79.066064453125,43.10610351562502],[-79.171875,43.466552734375],[-79.00249023437502,43.52714843749999],[-78.845556640625,43.58334960937498],[-78.72041015625001,43.62495117187501],[-78.45825195312497,43.63149414062502],[-77.596533203125,43.62861328124998],[-76.819970703125,43.62880859375002],[-76.18579101562503,44.24223632812502],[-75.81933593749997,44.468017578125],[-75.40126953124997,44.77226562499999],[-74.99614257812496,44.970117187499966],[-74.76245117187494,44.99907226562502],[-74.663232421875,45.00390625000003],[-71.51752929687495,45.00756835937497],[-71.327294921875,45.29008789062496],[-70.86503906249999,45.27070312500001],[-70.296240234375,45.90610351562506],[-70.00771484375002,46.70893554687501],[-69.24287109374998,47.46298828124998],[-69.0501953125,47.426611328125034],[-68.93720703124998,47.21123046875002],[-68.23549804687502,47.34594726562503],[-67.806787109375,47.08281249999999],[-67.80224609374994,45.7275390625],[-67.43266601562496,45.603125],[-67.366943359375,45.17377929687498],[-67.12485351562498,45.16943359375],[-66.98701171874995,44.82768554687502],[-67.191259765625,44.67558593750002],[-67.83906249999998,44.576269531250034],[-68.056640625,44.38432617187502],[-68.15205078124998,44.50200195312499],[-68.45058593749997,44.50761718749999],[-68.53251953124996,44.25864257812498],[-68.81191406249994,44.33935546875],[-68.76269531249994,44.57075195312498],[-69.22607421875003,43.98647460937505],[-69.52075195312503,43.89736328125002],[-69.55668945312496,43.982763671875006],[-69.62392578125,43.88061523437497],[-69.65288085937493,43.99389648437506],[-69.808349609375,43.772314453125034],[-69.965234375,43.855078125],[-70.17880859374998,43.76635742187506],[-70.73310546875001,43.07001953125004],[-70.82905273437493,42.82534179687502],[-70.61293945312497,42.623242187499955],[-71.04619140624993,42.331103515625045],[-70.73828125,42.228857421875006],[-70.42666015625002,41.75727539062501],[-70.00141601562498,41.82617187500003],[-70.24106445312495,42.09121093750002],[-70.10893554687496,42.07832031249998],[-69.97788085937498,41.961279296875006],[-69.94863281249997,41.67714843750005],[-70.65712890625,41.53422851562496],[-70.70112304687498,41.71484375],[-71.1685546875,41.489404296874994],[-71.14873046874996,41.74570312499998],[-71.27109375,41.68125],[-71.39013671875003,41.79531250000005],[-71.52285156249997,41.378955078125045],[-72.92470703125002,41.28515625000003],[-73.98710937499999,40.751367187499994],[-73.87197265625,41.05517578124997],[-73.96992187499995,41.24970703125001],[-73.92719726562495,40.914257812499955],[-74.26420898437496,40.52861328124999],[-73.972265625,40.40034179687498],[-74.079931640625,39.78813476562496],[-74.06459960937497,39.99311523437498],[-74.79448242187499,39.00190429687501],[-74.95429687499995,38.949951171875],[-74.89702148437502,39.14545898437504],[-75.52421874999999,39.49018554687501],[-75.421875,39.78969726562502],[-75.07416992187495,39.98349609375006],[-75.40063476562503,39.83159179687502],[-75.58759765625001,39.64077148437505],[-75.3921875,39.09277343750006],[-75.08867187499999,38.777539062499955],[-75.18710937499995,38.59111328124999],[-75.03876953124993,38.426367187500006],[-75.934375,37.15190429687496],[-75.97504882812498,37.3984375],[-75.65927734374995,37.953955078125034],[-75.850830078125,37.971582031249994],[-75.85869140624999,38.36206054687503],[-76.05122070312495,38.27954101562503],[-76.2646484375,38.436425781249994],[-76.26416015625,38.599951171875006],[-76.016943359375,38.62509765624998],[-76.21298828124998,38.75830078125003],[-76.34116210937498,38.70966796874998],[-76.16816406249998,38.85273437499998],[-76.32958984375,38.95278320312505],[-76.13520507812493,39.082128906250006],[-76.23569335937498,39.19160156250001],[-76.153125,39.315039062500034],[-75.87597656249997,39.3759765625],[-76.003125,39.41083984375001],[-75.87294921874997,39.510888671874966],[-75.95893554687498,39.58505859374998],[-76.2763671875,39.32275390625],[-76.330810546875,39.40390625],[-76.42089843749997,39.225],[-76.57041015624995,39.26933593749996],[-76.42758789062498,39.12602539062499],[-76.55854492187493,39.065234375000045],[-76.39409179687502,38.368994140625034],[-76.67734374999998,38.611962890624966],[-76.66855468749998,38.5375],[-76.34116210937498,38.08701171875006],[-76.86811523437495,38.39028320312502],[-76.88974609375,38.292089843750006],[-77.00117187499995,38.44526367187504],[-77.23251953125,38.40771484375003],[-77.03037109374995,38.88925781249998],[-77.26040039062502,38.6],[-77.27324218749996,38.35175781249998],[-77.04677734375002,38.356689453125],[-76.26425781250003,37.89355468749997],[-76.34414062499997,37.675683593749994],[-76.49248046874999,37.682226562500006],[-77.11108398437497,38.165673828124994],[-76.54946289062494,37.66914062500001],[-76.30556640625,37.57148437500001],[-76.26347656249996,37.35703125],[-76.40097656249998,37.386132812499994],[-76.45390624999993,37.27353515625006],[-76.75771484375002,37.50541992187496],[-76.28330078125,37.05268554687501],[-76.40087890624997,36.991308593750034],[-76.63090820312493,37.22172851562499],[-77.25087890624994,37.329199218750034],[-76.671875,37.172949218750006],[-76.48784179687502,36.89702148437499],[-75.99941406249997,36.91264648437499],[-75.53417968749997,35.81909179687506],[-75.94648437499995,36.65908203125002],[-75.99277343749995,36.47377929687502],[-75.82006835937494,36.11284179687502],[-76.14785156250002,36.279296875],[-76.15,36.14575195312497],[-76.27060546874998,36.18989257812501],[-76.22739257812498,36.11601562499996],[-76.559375,36.015332031249955],[-76.733642578125,36.229150390624994],[-76.726220703125,35.957617187500034],[-76.06977539062501,35.970312500000034],[-76.08359374999998,35.69052734375006],[-75.85390625,35.96015625000001],[-75.75883789062499,35.84326171875],[-75.77392578124997,35.64697265624997],[-76.17382812499997,35.354150390624994],[-76.489501953125,35.397021484375045],[-76.57719726562502,35.53232421874998],[-76.74140624999998,35.431494140625034],[-77.03999023437495,35.527392578125045],[-76.51293945312497,35.270410156249994],[-76.77915039062503,34.990332031250034],[-77.07026367187501,35.154638671875034],[-76.97495117187503,35.025195312500045],[-76.74497070312498,34.94096679687502],[-76.45673828124998,34.989355468750034],[-76.36220703125,34.9365234375],[-76.43979492187498,34.84291992187502],[-77.29624023437503,34.602929687499994],[-77.41225585937497,34.730810546875034],[-77.37978515625,34.526611328125],[-77.750732421875,34.28496093749996],[-77.92783203125,33.93974609374999],[-77.95327148437494,34.16899414062496],[-78.01333007812502,33.91181640624998],[-78.40585937499995,33.91757812499998],[-78.84145507812497,33.72407226562501],[-79.19379882812498,33.24414062500003],[-79.22646484375,33.40488281249998],[-79.27602539062497,33.135400390624966],[-79.80498046874999,32.78740234374996],[-79.93310546874997,32.81005859375006],[-79.94072265625002,32.667138671874966],[-80.36284179687496,32.500732421875],[-80.6341796875,32.51171875000003],[-80.474267578125,32.42275390625002],[-80.579345703125,32.28730468750004],[-80.80253906249999,32.44804687500002],[-80.69423828124997,32.21572265625002],[-81.11328124999997,31.87861328125001],[-81.06611328124995,31.787988281250023],[-81.259375,31.538916015624977],[-81.17543945312494,31.531298828125017],[-81.38095703124998,31.353271484375],[-81.28847656249997,31.263916015625],[-81.441748046875,31.19970703124997],[-81.5162109375,30.801806640625017],[-81.24951171875003,29.793798828125006],[-80.52412109374995,28.48608398437503],[-80.5849609375,28.271582031250034],[-80.456884765625,27.90068359374996],[-80.61000976562494,28.177587890624977],[-80.60693359375003,28.522900390624983],[-80.693505859375,28.34497070312497],[-80.68847656250003,28.578515625000023],[-80.83818359374999,28.757666015625034],[-80.74863281250003,28.381005859375023],[-80.050048828125,26.807714843750063],[-80.1263671875,25.83349609375],[-80.48466796874999,25.229833984375034],[-81.11049804687494,25.138037109374977],[-81.13603515624999,25.309667968750034],[-80.94042968750003,25.264208984375017],[-81.11333007812499,25.367236328125045],[-81.36494140625001,25.83105468750003],[-81.715478515625,25.98315429687503],[-81.95893554687495,26.489941406249983],[-81.82866210937496,26.68706054687499],[-82.03959960937496,26.552050781250017],[-82.01328125,26.96157226562505],[-82.24287109374998,26.848876953125],[-82.44135742187501,27.059667968750034],[-82.71459960937497,27.499609375000063],[-82.40576171874994,27.862890624999977],[-82.67519531249994,27.963769531250023],[-82.61098632812502,27.77724609375005],[-82.74287109374995,27.709375],[-82.84350585937494,27.845996093750017],[-82.65146484375,28.8875],[-83.69438476562502,29.92597656250001],[-84.04423828124996,30.10380859374999],[-84.30966796874995,30.064746093750045],[-84.38281250000003,29.90737304687505],[-85.31894531249995,29.680224609375045],[-85.413818359375,29.76757812499997],[-85.413818359375,29.842480468749955],[-85.31489257812493,29.758105468750017],[-85.35361328125,29.875732421875],[-85.67578125,30.121923828125063],[-85.60351562500003,30.286767578124966],[-85.75581054687495,30.1669921875],[-86.454443359375,30.39912109375004],[-86.12382812499999,30.40581054687499],[-86.25737304687502,30.493017578124977],[-87.201171875,30.339257812499994],[-86.98579101562498,30.43085937500001],[-86.99755859375,30.5703125],[-87.17060546874998,30.538769531249983],[-87.28105468750002,30.339257812499994],[-87.47578124999998,30.294287109375006],[-87.44829101562499,30.394140625],[-87.62226562499998,30.264746093750006],[-88.00595703124998,30.230908203124955],[-87.79028320312503,30.291796875000017],[-88.011328125,30.694189453125006],[-88.13544921874998,30.366601562499994],[-88.90522460937495,30.415136718750006],[-89.32055664062503,30.3453125],[-89.58847656249998,30.165966796874955],[-90.12597656249997,30.369091796874955],[-90.33198242187493,30.277587890625057],[-90.41303710937501,30.140332031249983],[-90.17534179687499,30.02910156249996],[-89.73745117187497,30.171972656250034],[-89.66503906249994,30.117041015625034],[-89.81518554687497,30.007275390624955],[-89.631689453125,29.90380859375003],[-89.400732421875,30.04604492187505],[-89.35444335937501,29.82021484375005],[-89.72089843749995,29.619287109374966],[-89.01572265625,29.202880859375057],[-89.15551757812497,29.01660156250003],[-89.23608398437494,29.081103515625017],[-89.37612304687497,28.981347656250023],[-89.44316406249996,29.194140625000045],[-90.15908203124997,29.537158203125017],[-90.05278320312499,29.336816406249966],[-90.21279296875,29.104931640624983],[-90.37919921874996,29.29511718750001],[-90.75102539062496,29.13085937500003],[-91.29013671875,29.288964843749994],[-91.15078124999994,29.317919921875045],[-91.24882812499993,29.56420898437503],[-91.51420898437499,29.55537109375001],[-91.8931640625,29.836035156249977],[-92.135498046875,29.699462890625057],[-92.08403320312499,29.59282226562499],[-92.26083984374995,29.55683593750004],[-93.17568359375,29.778955078124994],[-93.82646484374999,29.725146484375045],[-93.84145507812502,29.97973632812503],[-93.89047851562495,29.689355468750023],[-94.759619140625,29.384277343750057],[-94.52626953125,29.547949218750006],[-94.77827148437498,29.54785156249997],[-94.74194335937497,29.75],[-95.0228515625,29.70234375000001],[-94.88828125000003,29.37055664062501],[-95.27348632812499,28.96386718750003],[-96.23452148437502,28.488964843749983],[-96.01103515624996,28.631933593749977],[-96.44873046874997,28.594482421875],[-96.64003906249994,28.708789062500017],[-96.42109374999993,28.457324218750045],[-96.67636718749998,28.34130859375003],[-96.77353515624998,28.421630859375057],[-96.839501953125,28.194384765625017],[-97.156494140625,28.144335937500045],[-97.141259765625,28.060742187499983],[-97.034326171875,28.093847656250063],[-97.07309570312498,27.98608398437503],[-97.43149414062498,27.83720703124999],[-97.28872070312494,27.670605468749983],[-97.43911132812502,27.328271484374966],[-97.76845703124997,27.45751953125],[-97.69238281250003,27.287158203125017],[-97.48510742187497,27.237402343750006],[-97.55468749999994,26.96733398437496],[-97.43505859375,26.48583984375003],[-97.14624023437494,25.961474609375045],[-97.37563476562497,25.871826171875],[-99.10776367187498,26.446923828124994],[-99.45654296874999,27.05668945312496],[-99.50532226562497,27.54833984375003],[-100.29604492187495,28.32768554687499],[-100.75458984375001,29.182519531249994],[-101.44038085937503,29.77685546875],[-102.26894531249998,29.871191406250034],[-102.61494140624994,29.75234375],[-102.8919921875,29.216406250000034],[-103.16831054687498,28.998193359374994],[-104.110595703125,29.386132812499994],[-104.50400390624995,29.677685546874955],[-104.97880859374996,30.645947265624955],[-106.14804687499995,31.450927734375],[-106.44541015624996,31.768408203125006],[-108.21181640625002,31.779345703125017],[-108.21445312499993,31.329443359375034],[-111.0419921875,31.32421875000003],[-114.83593749999994,32.50830078125003],[-114.72475585937495,32.71533203125003],[-117.12827148437495,32.533349609374994],[-117.46743164062495,33.295507812500006],[-118.08051757812497,33.72216796874997],[-118.41044921874996,33.74394531249996],[-118.506201171875,34.01738281249999],[-119.14375,34.11201171874998],[-119.60605468749999,34.41801757812499],[-120.48120117187503,34.47163085937498],[-120.64467773437502,34.57998046875002],[-120.65908203124994,35.122412109375034],[-120.85737304687501,35.209667968749955],[-120.899609375,35.42509765624999],[-121.28383789062494,35.67631835937499],[-121.87739257812498,36.33105468749997],[-121.80742187499995,36.851220703124994],[-122.394921875,37.20751953125003],[-122.49921875000001,37.542626953124994],[-122.44560546875002,37.797998046874966],[-122.07050781249998,37.47827148437503],[-122.38544921875001,37.960595703124966],[-122.31425781249999,38.00732421874997],[-121.52534179687503,38.05590820312503],[-122.39335937499995,38.14482421875002],[-122.52133789062499,37.82641601562497],[-122.93198242187498,38.05546875000002],[-122.998779296875,37.98862304687498],[-122.90815429687501,38.19658203124999],[-123.701123046875,38.90727539062502],[-123.83291015624994,39.775488281250034],[-124.35654296875003,40.37109374999997],[-124.07192382812497,41.45952148437502],[-124.53964843750003,42.812890624999966],[-124.14873046874997,43.691748046875034],[-123.92934570312495,45.57695312499996],[-123.989306640625,46.21938476562502],[-123.22060546874998,46.153613281250045],[-123.46484375,46.27109374999998],[-124.07275390624996,46.279443359374994],[-124.04433593750002,46.605078125],[-123.946142578125,46.43256835937501],[-123.88916015625003,46.660009765625006],[-124.11254882812497,46.862695312499994],[-123.84287109375002,46.963183593750045],[-124.11171875,47.03520507812496],[-124.1392578125,46.95468749999998],[-124.376025390625,47.658642578124955],[-124.66308593749996,47.97412109375003],[-124.7099609375,48.38037109375],[-123.97578125,48.16845703125],[-122.97387695312499,48.07329101562496],[-122.77861328125,48.13759765625002],[-122.65664062500002,47.88115234374999],[-122.77841796874996,47.738427734374966],[-122.82138671875,47.79316406250001],[-123.1390625,47.386083984375034],[-122.92216796874993,47.40766601562498],[-123.066796875,47.39965820312506],[-123.04863281249995,47.479345703125034],[-122.53281250000002,47.919726562500045],[-122.67548828124995,47.612353515625045],[-122.57788085937496,47.29316406250001],[-122.76777343750001,47.21835937500006],[-122.82846679687503,47.336572265624994],[-123.02758789062501,47.13891601562503],[-122.70195312500002,47.11088867187502],[-122.35380859374996,47.37158203125],[-122.40180664062497,47.78427734374998],[-122.24199218750002,48.01074218750003],[-122.5169921875,48.15966796874997],[-122.40854492187502,48.29389648437498],[-122.66899414062496,48.465234374999966],[-122.49677734374995,48.50556640625001],[-122.51274414062502,48.66943359375],[-122.56201171875001,48.777978515624994],[-122.68593749999995,48.794287109375034],[-122.72246093750002,48.85302734375003],[-122.78876953125003,48.993017578125034],[-121.40722656249994,48.993017578125034],[-119.70170898437495,48.993017578125034],[-119.27534179687494,48.99306640625005],[-118.84892578124993,48.99306640625005],[-117.99619140625002,48.99306640625005],[-116.71704101562501,48.99306640625005],[-110.74765625,48.99306640625005],[-104.77832031249997,48.993115234374955],[-98.80898437499995,48.99316406249997],[-97.52983398437493,48.99316406249997],[-96.67705078124993,48.99316406249997],[-96.25068359374993,48.99316406249997],[-95.39790039062493,48.99316406249997],[-95.16206054687493,48.991748046875045],[-95.15527343749997,49.36967773437502],[-94.85434570312495,49.304589843749994],[-94.86040039062493,49.258593750000045],[-94.80346679687497,49.0029296875]]],[[[-176.28671874999998,51.79199218750006],[-176.34965820312502,51.733300781249994],[-176.41372070312502,51.840576171875],[-176.28671874999998,51.79199218750006]]],[[[-177.87905273437502,51.64970703125002],[-178.05888671875,51.67260742187497],[-177.98637695312493,51.76425781249998],[-178.16826171874996,51.90302734375001],[-177.644482421875,51.826269531250006],[-177.87905273437502,51.64970703125002]]],[[[-177.14819335937497,51.71674804687498],[-177.67021484375002,51.701074218749994],[-177.11005859375,51.92875976562502],[-177.14819335937497,51.71674804687498]]],[[[-176.593310546875,51.86669921875],[-176.45234374999995,51.735693359375034],[-176.96162109374998,51.60366210937505],[-176.69833984374998,51.986035156249955],[-176.593310546875,51.86669921875]]],[[[179.72773437500015,51.905419921874966],[179.50390625000003,51.97958984374998],[179.6271484375001,52.03041992187502],[179.72773437500015,51.905419921874966]]],[[[177.4154296875,51.88281249999997],[177.25029296875013,51.902929687500006],[177.6696289062501,52.10302734375],[177.4154296875,51.88281249999997]]],[[[-173.5533203125,52.13627929687502],[-173.02290039062504,52.07915039062502],[-173.83579101562498,52.048193359375006],[-173.99248046874993,52.12333984374996],[-173.5533203125,52.13627929687502]]],[[[-172.464794921875,52.27226562500002],[-172.61982421874998,52.27285156250005],[-172.47041015625,52.38803710937506],[-172.31362304687497,52.32958984375006],[-172.464794921875,52.27226562500002]]],[[[-174.67739257812502,52.035009765625006],[-175.29555664062502,52.022167968749955],[-174.30615234375,52.216162109375034],[-174.43554687499997,52.317236328125034],[-174.168896484375,52.42016601562503],[-174.04560546875,52.36723632812499],[-174.12065429687493,52.13520507812498],[-174.67739257812502,52.035009765625006]]],[[[173.72275390625018,52.35957031250004],[173.40234375000009,52.40478515625],[173.77607421875004,52.49511718750003],[173.72275390625018,52.35957031250004]]],[[[172.81181640625002,53.01298828125002],[173.43603515625003,52.85205078125],[172.93515625000012,52.752099609374966],[172.49482421875004,52.93789062499999],[172.81181640625002,53.01298828125002]]],[[[-167.96435546875003,53.345117187499994],[-169.088916015625,52.83203125],[-168.68984375000002,53.227246093749955],[-168.38041992187496,53.28344726562506],[-168.28769531249998,53.500146484374966],[-167.82807617187495,53.50795898437505],[-167.96435546875003,53.345117187499994]]],[[[-166.61533203124998,53.90092773437499],[-166.37231445312494,53.99897460937498],[-166.230859375,53.93261718750006],[-166.54560546875,53.726464843749966],[-166.354541015625,53.67353515625004],[-166.85097656249997,53.45288085937503],[-167.78085937500003,53.30024414062501],[-167.13608398437503,53.526464843750006],[-167.01572265625003,53.69838867187502],[-166.80898437500002,53.64614257812505],[-166.741259765625,53.71293945312496],[-167.10561523437497,53.813378906249994],[-167.03808593749997,53.9421875],[-166.67329101562498,54.00595703124998],[-166.61533203124998,53.90092773437499]]],[[[-165.841552734375,54.070654296875006],[-166.05664062500003,54.054345703124994],[-166.08774414062498,54.16914062500001],[-165.89287109375,54.20698242187498],[-165.69287109375,54.09990234375002],[-165.841552734375,54.070654296875006]]],[[[-165.56113281249998,54.13671874999997],[-165.55063476562498,54.28452148437498],[-165.40786132812502,54.19682617187496],[-165.56113281249998,54.13671874999997]]],[[[-162.29814453124993,54.847021484375006],[-162.43388671875,54.931542968749994],[-162.26459960937504,54.983496093750006],[-162.29814453124993,54.847021484375006]]],[[[-163.476025390625,54.98071289062497],[-163.37895507812496,54.81552734374998],[-163.083251953125,54.66899414062496],[-163.35810546874995,54.73569335937506],[-164.82343749999998,54.41909179687505],[-164.887646484375,54.60781250000002],[-164.47861328124998,54.906835937500006],[-163.80712890624997,55.04907226562503],[-163.476025390625,54.98071289062497]]],[[[-159.51513671875,55.15185546875003],[-159.617724609375,55.05732421875004],[-159.54506835937497,55.22597656250002],[-159.51513671875,55.15185546875003]]],[[[-131.33974609375002,55.079833984375],[-131.32954101562498,54.887744140625045],[-131.592236328125,55.02568359374999],[-131.5654296875,55.26411132812498],[-131.33974609375002,55.079833984375]]],[[[-159.87299804687495,55.128759765625034],[-160.22705078124997,54.92270507812506],[-160.17207031249995,55.123046875],[-159.88735351562497,55.27299804687502],[-159.87299804687495,55.128759765625034]]],[[[-132.86225585937504,54.894433593749966],[-132.61723632812493,54.892431640625006],[-132.70581054687497,54.684179687500034],[-133.42905273437498,55.30380859374998],[-133.097412109375,55.213720703125006],[-132.86225585937504,54.894433593749966]]],[[[-160.329296875,55.337695312500045],[-160.34331054687493,55.25878906250006],[-160.51748046875,55.33383789062506],[-160.329296875,55.337695312500045]]],[[[-160.68491210937498,55.314794921875006],[-160.552783203125,55.38076171875002],[-160.48754882812503,55.18486328124999],[-160.79506835937497,55.14521484375001],[-160.72392578124993,55.404638671875006],[-160.68491210937498,55.314794921875006]]],[[[-133.30507812500002,55.54375],[-133.6501953125,55.26928710937506],[-133.73710937500002,55.49692382812498],[-133.30507812500002,55.54375]]],[[[-155.56601562500003,55.82119140625005],[-155.73735351562493,55.82978515625001],[-155.59394531250004,55.92431640625],[-155.56601562500003,55.82119140625005]]],[[[-130.97915039062502,55.489160156249994],[-131.187890625,55.206298828125],[-131.44755859374996,55.40878906250006],[-131.7625,55.16582031250002],[-131.84609374999997,55.41625976562497],[-131.62495117187504,55.831689453124966],[-131.26923828125004,55.95537109375002],[-130.997802734375,55.727636718750006],[-130.97915039062502,55.489160156249994]]],[[[-133.56611328125,56.33920898437498],[-133.202978515625,56.31982421875003],[-133.096630859375,56.09003906250001],[-132.59760742187504,55.89501953125],[-132.17270507812498,55.48061523437502],[-132.51127929687493,55.59394531250001],[-132.63129882812495,55.47319335937502],[-132.41787109375002,55.48291015625006],[-132.20668945312497,55.22441406249996],[-131.97641601562498,55.208593750000034],[-132.06474609375002,54.713134765625],[-133.11855468750002,55.32763671875003],[-132.95888671875002,55.39555664062502],[-133.0333984375,55.589697265625034],[-133.68017578124994,55.78515625],[-133.24150390624993,55.920800781249994],[-133.371240234375,56.035888671875],[-133.74252929687498,55.96484375],[-133.530859375,56.145654296874966],[-133.56611328125,56.33920898437498]]],[[[-132.77988281249998,56.24726562499998],[-133.03500976562498,56.34091796875006],[-132.90205078124998,56.45375976562505],[-132.62910156249995,56.411914062500045],[-132.77988281249998,56.24726562499998]]],[[[-132.11235351562493,56.109375],[-132.13295898437497,55.94326171875005],[-132.28730468749995,55.92939453124998],[-132.65991210937503,56.07817382812499],[-132.379833984375,56.49877929687497],[-132.06689453125,56.24423828124998],[-132.11235351562493,56.109375]]],[[[-154.208642578125,56.51489257812497],[-154.32221679687504,56.570605468750045],[-154.11040039062496,56.602929687499966],[-154.208642578125,56.51489257812497]]],[[[-169.755224609375,56.63505859375002],[-169.47431640624998,56.59404296875002],[-169.6326171875,56.545703125000045],[-169.755224609375,56.63505859375002]]],[[[-132.746875,56.525683593750045],[-132.94804687500002,56.56723632812498],[-132.842529296875,56.79477539062506],[-132.56796875000003,56.57583007812505],[-132.746875,56.525683593750045]]],[[[-133.98959960937503,56.84497070312497],[-133.73837890625,56.65043945312496],[-133.94970703125,56.12773437499996],[-134.18959960937502,56.07695312500002],[-134.084375,56.456347656250045],[-134.37368164062502,56.838671875000045],[-134.14326171874998,56.93232421875001],[-133.98959960937503,56.84497070312497]]],[[[-133.36621093750006,57.003515625000034],[-132.99624023437497,56.93041992187497],[-132.95917968749998,56.67705078124996],[-133.03491210937494,56.62075195312505],[-133.32895507812498,56.83007812499997],[-133.158154296875,56.495166015625045],[-133.4841796875,56.45175781249998],[-133.979443359375,57.009570312500045],[-133.36621093750006,57.003515625000034]]],[[[-153.007080078125,57.12485351562498],[-153.37460937499998,57.05190429687505],[-153.285205078125,57.18505859375],[-152.90839843750004,57.152441406250006],[-153.007080078125,57.12485351562498]]],[[[-134.96977539062496,57.351416015625034],[-134.62070312499998,56.71831054687502],[-134.68188476562503,56.216162109375034],[-134.98056640625003,56.518945312499994],[-134.88344726562497,56.679052734375034],[-135.33061523437505,56.821875],[-135.19960937499997,57.02734375],[-135.45493164062503,57.24941406250005],[-135.81230468750002,57.00952148437503],[-135.82275390625,57.280419921874966],[-135.448681640625,57.534375],[-134.96977539062496,57.351416015625034]]],[[[-152.89804687499998,57.82392578125004],[-152.42875976562493,57.82568359375003],[-152.48261718749998,57.70332031249998],[-152.21621093749997,57.577001953125006],[-152.41220703125003,57.454785156249955],[-152.94077148437498,57.49809570312499],[-152.67905273437503,57.345117187499994],[-153.274365234375,57.22636718749996],[-153.732568359375,57.052343750000034],[-153.643310546875,56.960742187500045],[-154.02734375,56.77797851562502],[-153.793212890625,56.98950195312503],[-154.24375,57.143017578124955],[-154.33896484374998,56.9208984375],[-154.67319335937498,57.44609375],[-154.11616210937498,57.651220703125006],[-153.6876953125,57.30512695312504],[-153.841552734375,57.86284179687496],[-153.48793945312497,57.73095703125],[-153.21748046875004,57.79575195312506],[-153.16044921875,57.97197265624999],[-152.85039062499993,57.896777343750045],[-152.89804687499998,57.82392578125004]]],[[[-135.73037109375002,58.244238281250034],[-135.61323242187507,57.99184570312505],[-135.346630859375,58.12412109374998],[-134.9546875,58.01533203125004],[-134.97065429687495,57.817236328125006],[-135.33847656250003,57.768652343750034],[-134.97885742187503,57.724365234375],[-134.93149414062498,57.48115234375001],[-135.564208984375,57.66640625],[-135.691943359375,57.41992187500006],[-135.91079101562502,57.44658203124999],[-136.568603515625,57.97216796875003],[-136.32197265625,58.21889648437502],[-136.14375,58.098486328125006],[-136.09438476562502,58.198144531249966],[-135.73037109375002,58.244238281250034]]],[[[-134.68027343749998,58.16166992187499],[-134.24008789062498,58.143994140624955],[-133.82275390624997,57.62866210937503],[-134.29233398437498,58.044726562500074],[-133.91113281250003,57.3525390625],[-134.51601562499997,57.042578125],[-134.48676757812495,57.48203125],[-134.92348632812497,58.354638671874966],[-134.68027343749998,58.16166992187499]]],[[[-152.416943359375,58.360205078125034],[-151.974365234375,58.30986328124999],[-152.068896484375,58.17792968750001],[-152.26835937499993,58.25170898437506],[-152.30922851562502,58.133886718750034],[-152.5982421875,58.16259765625],[-152.92841796875004,57.99370117187499],[-153.38134765625003,58.08720703125002],[-152.976123046875,58.29702148437505],[-152.771875,58.278564453125],[-152.84111328125002,58.41640625000002],[-152.416943359375,58.360205078125034]]],[[[-152.486083984375,58.485009765624966],[-152.63662109375002,58.54169921874998],[-152.3955078125,58.619384765625],[-152.486083984375,58.485009765624966]]],[[[-160.918994140625,58.57709960937498],[-161.13149414062502,58.668212890625],[-160.71513671875005,58.79521484375002],[-160.918994140625,58.57709960937498]]],[[[-148.02177734375,60.06533203125005],[-148.271875,60.05327148437499],[-148.07958984375003,60.151660156250045],[-148.02177734375,60.06533203125005]]],[[[-147.735888671875,59.81323242187503],[-147.76806640625,59.94375],[-147.180859375,60.358251953125034],[-147.01987304687498,60.33222656249998],[-147.735888671875,59.81323242187503]]],[[[-166.13544921875,60.38354492187503],[-165.72968750000004,60.31420898437503],[-165.591796875,59.913134765625045],[-166.14873046874996,59.764111328124955],[-167.13886718749998,60.00854492187503],[-167.43642578125002,60.20664062500006],[-166.836328125,60.21699218750004],[-166.47568359374998,60.382763671874955],[-166.13544921875,60.38354492187503]]],[[[-146.3939453125,60.44965820312501],[-146.10224609374998,60.41118164062499],[-146.61831054687497,60.27368164062503],[-146.70253906249997,60.40854492187498],[-146.3939453125,60.44965820312501]]],[[[-147.658251953125,60.45048828124999],[-147.787841796875,60.17792968749998],[-147.89145507812498,60.299414062500034],[-147.658251953125,60.45048828124999]]],[[[-172.74223632812496,60.45737304687498],[-172.23208007812494,60.299121093750074],[-172.63574218750003,60.328857421875],[-173.04765625000002,60.56831054687501],[-172.74223632812496,60.45737304687498]]],[[[-171.46303710937494,63.640039062499994],[-171.03486328125,63.58549804687499],[-170.29936523437502,63.68061523437501],[-169.55454101562498,63.373486328124955],[-168.71601562500004,63.310595703125045],[-168.76132812500003,63.21376953125002],[-169.364697265625,63.17114257812506],[-169.67636718750003,62.95610351562502],[-169.81860351562494,63.122363281250045],[-170.84838867187494,63.44438476562502],[-171.63183593749997,63.351220703124966],[-171.74638671874993,63.703076171874955],[-171.46303710937494,63.640039062499994]]],[[[-141.00214843750004,68.77416992187506],[-141.00214843750004,67.89755859374998],[-141.00214843750004,66.43652343750006],[-141.00214843750004,65.55991210937498],[-141.00214843750004,64.09887695312506],[-141.00214843750004,63.22226562499998],[-141.00214843750004,61.761279296875045],[-141.00214843750004,60.884667968749994],[-141.00214843750004,60.30024414062504],[-140.76274414062505,60.259130859375006],[-140.525439453125,60.218359375000034],[-140.45283203125004,60.29970703125002],[-139.97329101562497,60.183154296875074],[-139.67631835937505,60.32832031249998],[-139.23476562499997,60.339746093749994],[-139.07924804687497,60.34370117187501],[-139.07924804687497,60.279443359374966],[-139.136962890625,60.17270507812498],[-139.18515624999998,60.083593750000034],[-138.86875,59.94575195312501],[-138.317626953125,59.611132812500074],[-137.59331054687493,59.22626953124998],[-137.52089843750002,58.91538085937498],[-137.43857421875003,58.903125],[-137.2775390625,58.988183593749994],[-137.126220703125,59.04096679687498],[-136.81328125000002,59.150048828124994],[-136.57875976562502,59.15224609375002],[-136.46635742187493,59.459082031250006],[-136.27797851562502,59.48032226562506],[-136.321826171875,59.604833984375034],[-135.70258789062504,59.72875976562506],[-135.36787109374998,59.743310546874994],[-135.051025390625,59.57866210937502],[-134.94375,59.28828125000001],[-134.67724609374997,59.19926757812499],[-134.39306640625,59.009179687499994],[-134.32963867187505,58.93969726562506],[-134.21850585937503,58.849902343750045],[-133.54638671874997,58.50346679687499],[-133.27529296875,58.22285156250004],[-133.00141601562495,57.948974609375],[-132.55048828125,57.499902343749994],[-132.44248046874998,57.40673828125003],[-132.30166015624997,57.27631835937501],[-132.232177734375,57.19853515624999],[-132.27939453124998,57.14536132812498],[-132.33798828124998,57.07944335937506],[-132.15703125,57.048193359375006],[-132.03154296875,57.02656250000004],[-132.062890625,56.95336914062503],[-132.104296875,56.856787109375006],[-131.86616210937495,56.792822265625006],[-131.82426757812496,56.589990234374994],[-131.471875,56.55673828125006],[-130.649072265625,56.26367187500003],[-130.47709960937496,56.230566406250034],[-130.413134765625,56.12250976562498],[-130.09785156249995,56.10927734375002],[-130.01406249999997,55.950537109375006],[-130.2140625,55.02587890625003],[-130.57534179687497,54.769677734374966],[-130.849609375,54.80761718750006],[-131.04785156249997,55.157666015624955],[-130.74819335937502,55.31801757812502],[-131.127685546875,55.96015625000001],[-131.032763671875,56.08808593749998],[-131.78417968749997,55.876562500000034],[-131.98339843749994,55.535009765625006],[-132.15541992187502,55.59956054687501],[-132.20751953124997,55.75341796875],[-131.84384765625003,56.16010742187498],[-131.55136718749998,56.206787109375],[-131.88789062500004,56.24165039062498],[-132.18203125000002,56.42065429687506],[-132.82460937500002,57.05581054687505],[-133.465869140625,57.17216796875002],[-133.64873046874993,57.64228515624998],[-133.11704101562498,57.56621093750002],[-133.535205078125,57.83295898437501],[-133.1943359375,57.87768554687506],[-133.559375,57.924462890624994],[-133.72231445312502,57.84423828125],[-134.03110351562498,58.072167968749966],[-133.87675781249996,58.51816406249998],[-134.20883789062503,58.232958984375045],[-134.77612304687506,58.45385742187503],[-135.36367187500002,59.41943359375],[-135.50234375000002,59.202294921874994],[-135.090234375,58.245849609375],[-135.57177734374994,58.41206054687504],[-135.89755859374998,58.40019531250002],[-136.04311523437497,58.82163085937498],[-135.82636718750004,58.89794921874997],[-136.0166015625,58.87397460937498],[-136.150048828125,59.04809570312503],[-136.22583007812497,58.765478515625006],[-136.98901367187503,59.03447265624999],[-137.05903320312498,58.87373046875001],[-136.613916015625,58.809277343749955],[-136.48374023437503,58.61767578125],[-136.224609375,58.602246093749955],[-136.06147460937495,58.45273437500006],[-136.607421875,58.24399414062498],[-137.54399414062502,58.58120117187502],[-138.51489257812503,59.16591796875005],[-139.77329101562498,59.52729492187504],[-139.51303710937498,59.698095703125006],[-139.5123046875,59.95356445312501],[-139.28671874999998,59.610937500000034],[-139.22080078125003,59.819873046875045],[-138.9880859375,59.83500976562502],[-139.43144531249996,60.012255859375074],[-140.41982421874997,59.71074218750002],[-141.40830078125,59.90278320312498],[-141.408740234375,60.11767578125006],[-141.67016601562497,59.969873046874966],[-142.94565429687503,60.09697265625002],[-144.14721679687494,60.01640625000002],[-144.185498046875,60.150732421875034],[-144.901318359375,60.335156249999955],[-144.69111328125,60.66909179687502],[-145.248291015625,60.38012695312506],[-145.898876953125,60.47817382812505],[-145.67490234374998,60.65112304687503],[-146.57045898437497,60.72915039062502],[-146.39199218749997,60.810839843750045],[-146.63842773437497,60.89731445312498],[-146.59912109374994,61.05351562500002],[-146.284912109375,61.11264648437498],[-147.89111328125,60.889892578125],[-148.00512695312494,60.96855468750002],[-147.75185546874997,61.218945312499955],[-148.34189453125,61.060400390625006],[-148.34443359374998,60.853564453125045],[-148.55615234374994,60.82700195312506],[-148.25673828124997,60.67529296874997],[-148.64013671875,60.48945312500004],[-148.11918945312502,60.57514648437498],[-147.96411132812494,60.48486328124997],[-148.430712890625,59.98911132812498],[-149.2666015625,59.99829101562497],[-149.395263671875,60.10576171875002],[-149.59804687500002,59.77045898437501],[-149.7138671875,59.91958007812502],[-149.80126953124994,59.737939453124966],[-150.00532226562507,59.78442382812503],[-150.19804687499996,59.56655273437505],[-150.60737304687504,59.56337890625002],[-150.934521484375,59.249121093750034],[-151.18276367187502,59.30078124999997],[-151.73818359375002,59.18852539062502],[-151.94951171875,59.26508789062498],[-151.88461914062503,59.386328125],[-151.39960937499995,59.51630859375001],[-151.04648437499998,59.771826171875034],[-151.45009765624997,59.65039062499997],[-151.85322265625,59.78208007812498],[-151.39599609375006,60.27446289062502],[-151.35644531249997,60.72294921874999],[-150.44125976562503,61.02358398437505],[-149.07509765624997,60.87641601562498],[-150.05327148437496,61.17109374999998],[-149.433544921875,61.50078125000002],[-149.97568359374998,61.27934570312502],[-150.61225585937495,61.301123046875006],[-151.59350585937494,60.979638671874966],[-152.54091796874997,60.265429687500045],[-153.025,60.29565429687497],[-152.660107421875,59.99721679687502],[-153.21123046875002,59.84272460937498],[-153.09360351562503,59.70913085937505],[-153.65253906250004,59.64702148437499],[-154.17832031250003,59.155566406250074],[-153.41826171875,58.9599609375],[-153.43759765625003,58.754833984374955],[-154.289013671875,58.30434570312502],[-154.247021484375,58.15942382812497],[-155.006884765625,58.01606445312501],[-155.77797851562497,57.56821289062498],[-156.43588867187498,57.359960937500006],[-156.62900390624998,57.00996093750001],[-158.41440429687498,56.435839843750045],[-158.5521484375,56.31269531249998],[-158.27563476562497,56.19624023437498],[-158.5046875,56.062109375],[-158.59116210937503,56.18452148437498],[-158.78984375000002,55.98691406250006],[-159.52324218749993,55.81000976562498],[-159.65966796875003,55.625927734374955],[-159.77138671874997,55.84111328125002],[-160.49931640625002,55.53730468750004],[-161.38193359374998,55.371289062499955],[-161.44379882812495,55.513281250000034],[-161.202099609375,55.54355468750006],[-161.51694335937503,55.61840820312503],[-162.073974609375,55.13930664062505],[-162.38637695312497,55.05234375],[-162.63037109375003,55.24667968749998],[-162.67436523437505,54.99658203125],[-162.86503906249996,54.954541015624955],[-163.11962890624997,55.06469726562503],[-163.131103515625,54.916552734375045],[-163.33530273437503,54.83916015624999],[-163.27880859374997,55.12182617187503],[-162.906591796875,55.19555664062503],[-161.69731445312502,55.9072265625],[-161.215625,56.02143554687498],[-160.8986328125,55.99365234375],[-161.00537109375,55.88715820312498],[-160.80283203125003,55.754443359375045],[-160.70634765625002,55.870458984375034],[-160.29169921875,55.80507812500005],[-160.53906250000006,56.00629882812501],[-160.30205078125,56.31411132812502],[-158.91801757812502,56.882177734375006],[-158.675146484375,56.79487304687498],[-158.66079101562502,57.03940429687498],[-158.32094726562497,57.29790039062499],[-157.84575195312496,57.52807617187497],[-157.4619140625,57.506201171875034],[-157.697216796875,57.679443359375],[-157.610888671875,58.050830078125074],[-157.19370117187498,58.19418945312506],[-157.48837890624998,58.25371093750002],[-157.52363281249998,58.421337890624955],[-156.97465820312496,58.736328125],[-156.80888671875005,59.13427734375],[-157.14204101562504,58.87763671875001],[-158.19091796875003,58.6142578125],[-158.50317382812494,58.85034179687497],[-158.42563476562498,58.99931640625002],[-158.080517578125,58.97744140625002],[-158.422802734375,59.08984375],[-158.67827148437502,58.92939453124998],[-158.80947265625002,58.973876953125],[-158.78862304687493,58.440966796875045],[-158.95068359375,58.404541015625],[-159.67026367187498,58.9111328125],[-159.92021484375,58.819873046875074],[-160.36313476562498,59.05117187500002],[-161.246826171875,58.799462890624994],[-161.36132812499994,58.66953124999998],[-162.144921875,58.64423828124998],[-161.724365234375,58.794287109375006],[-161.64438476562498,59.109667968750045],[-161.9810546875,59.14614257812502],[-161.82871093749998,59.588623046875],[-162.421337890625,60.28398437500002],[-161.96201171875003,60.695361328125045],[-162.68496093749997,60.268945312499966],[-162.57075195312495,59.98974609375],[-163.68037109374998,59.80151367187503],[-164.14282226562497,59.89677734374999],[-165.02651367187497,60.500634765624994],[-165.35380859375002,60.54121093750001],[-164.80517578125,60.89204101562498],[-164.31850585937497,60.77128906249999],[-164.37236328125002,60.59184570312502],[-163.999560546875,60.76606445312498],[-163.72998046874997,60.589990234374994],[-163.420947265625,60.757421875],[-163.90654296874996,60.85380859375002],[-163.58691406249994,60.902978515624994],[-163.74902343750003,60.9697265625],[-163.99462890624997,60.86469726562501],[-165.11484375,60.93281250000004],[-164.86899414062503,61.11176757812498],[-165.27978515624994,61.169628906249955],[-165.27363281250004,61.27485351562498],[-165.56586914062498,61.10234375000002],[-165.86396484375004,61.33569335937503],[-165.84531249999998,61.536230468750034],[-166.152734375,61.545947265625074],[-166.16811523437502,61.65083007812501],[-165.80893554687503,61.69609375000002],[-166.07880859375,61.803125],[-165.61279296875003,61.86928710937502],[-165.707275390625,62.10043945312506],[-165.19453125,62.47353515625002],[-164.75786132812493,62.496728515624966],[-164.589453125,62.709375],[-164.79267578125,62.623193359374966],[-164.79965820312503,62.918066406250006],[-164.384228515625,63.03046874999998],[-164.40903320312503,63.21503906250001],[-163.94287109375,63.247216796874994],[-163.61630859374998,63.125146484374994],[-163.73784179687496,63.016406250000045],[-163.504345703125,63.105859374999966],[-163.28784179687494,63.046435546875045],[-162.621484375,63.26582031249998],[-162.28281250000003,63.529199218749994],[-161.97397460937498,63.45292968749999],[-161.09970703125003,63.557910156250045],[-160.778564453125,63.818945312500034],[-160.987548828125,64.25126953125002],[-161.49072265625003,64.43378906249998],[-160.93193359374996,64.5791015625],[-160.855908203125,64.755615234375],[-161.13017578125005,64.92543945312505],[-161.759375,64.816259765625],[-162.80703124999997,64.37421875000001],[-163.20390625,64.65200195312502],[-163.14433593750002,64.423828125],[-163.71308593749998,64.588232421875],[-164.978759765625,64.45366210937502],[-166.1427734375,64.58276367187503],[-166.48139648437498,64.72807617187507],[-166.415234375,64.926513671875],[-166.92841796875,65.15708007812498],[-166.15703125,65.28583984375001],[-167.40400390625,65.42211914062497],[-168.08837890624997,65.65776367187502],[-166.39873046875002,66.14443359375005],[-165.62993164062496,66.131201171875],[-165.77617187500002,66.31904296875001],[-164.46049804687502,66.58842773437499],[-163.63823242187502,66.57465820312504],[-163.89394531249997,66.57587890625001],[-164.03374023437493,66.21552734374995],[-163.69536132812502,66.08383789062503],[-161.93369140625003,66.04287109374997],[-161.45541992187503,66.28139648437497],[-161.03427734375003,66.18881835937503],[-161.12031249999995,66.334326171875],[-161.91689453124997,66.41181640624998],[-162.54365234375004,66.80512695312501],[-162.36162109375,66.94731445312502],[-161.591015625,66.45952148437502],[-160.23168945312503,66.420263671875],[-160.360888671875,66.6125],[-160.864013671875,66.67084960937501],[-161.39804687499998,66.55185546875],[-161.85668945312497,66.70034179687497],[-161.719921875,67.02055664062502],[-163.5318359375,67.10258789062502],[-164.1251953125,67.60673828125007],[-166.786279296875,68.35961914062497],[-166.38051757812502,68.425146484375],[-166.20908203125,68.88535156250003],[-165.04394531249994,68.882470703125],[-163.867919921875,69.03666992187505],[-161.88095703125003,70.33173828125001],[-162.073876953125,70.16196289062498],[-160.9962890625,70.30458984375],[-160.11713867187495,70.59121093750002],[-159.86567382812498,70.27885742187499],[-159.81499023437496,70.49707031250003],[-159.38676757812493,70.52451171875003],[-160.081591796875,70.63486328125003],[-159.680908203125,70.786767578125],[-159.31450195312496,70.87851562500003],[-159.251171875,70.7484375],[-157.909375,70.860107421875],[-156.47021484374994,71.40766601562501],[-156.469970703125,71.29155273437507],[-155.57944335937503,71.12109374999997],[-156.14658203125,70.92783203125003],[-155.97353515625002,70.84199218749995],[-155.16684570312498,71.09921875000006],[-154.19521484375002,70.80112304687498],[-153.23291015625,70.93256835937504],[-152.49121093749994,70.88095703125],[-152.23291015625,70.81035156249999],[-152.39921875,70.62045898437503],[-151.76904296875,70.56015625],[-151.94467773437498,70.45209960937501],[-149.26943359374997,70.50078124999999],[-147.70537109375,70.21723632812495],[-145.82314453124997,70.16005859375002],[-145.19736328125003,70.00869140625002],[-143.218310546875,70.11625976562499],[-142.70786132812498,70.03378906249998],[-141.40791015625,69.65336914062502],[-141.00214843750004,69.65078125000002],[-141.00214843750004,68.77416992187506]]]]},"properties":{"name":"United States","childNum":76}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[71.20615234375006,39.892578125],[71.15625,39.88344726562502],[71.06425781250002,39.88491210937505],[71.01171874999997,39.895117187500006],[71.04365234375004,39.97631835937503],[71.04482421875005,39.992529296875034],[70.96064453125004,40.087988281250034],[71.00546875,40.15229492187498],[71.0241210937501,40.14916992187497],[71.08037109375007,40.07988281249999],[71.2287109375001,40.04814453124999],[71.20615234375006,39.892578125]]],[[[70.94677734374997,42.24868164062505],[70.97900390625003,42.26655273437504],[71.03603515625,42.28466796875],[71.12998046875006,42.25],[71.21269531250002,42.20644531250005],[71.23232421875005,42.18627929687503],[71.22851562499997,42.16289062499996],[70.18095703125007,41.571435546874994],[70.734375,41.400537109374994],[70.86044921875006,41.22490234375002],[71.11074218750005,41.152636718750045],[71.29882812500003,41.152490234374994],[71.39306640625003,41.123388671875034],[71.40839843750004,41.13603515625002],[71.42089843750003,41.341894531250034],[71.60625,41.367431640625],[71.66494140625,41.54121093749998],[71.70068359374997,41.454003906249966],[71.75771484375005,41.42802734375002],[71.79248046875003,41.41313476562499],[71.85800781250006,41.311376953125034],[71.8786132812501,41.195019531249955],[71.95849609375003,41.18706054687502],[72.05244140625004,41.16474609375001],[72.1154296875001,41.18657226562502],[72.1642578125001,41.173730468749966],[72.18095703125002,41.11845703124999],[72.18730468750002,41.02592773437499],[72.2130859375001,41.014257812500006],[72.36406250000002,41.04345703125],[72.65830078125,40.86992187499999],[73.13212890625002,40.82851562499999],[72.6041015625,40.52543945312499],[72.40205078125004,40.578076171874955],[72.3892578125,40.427392578124994],[72.13125,40.438623046874966],[71.69248046875,40.15234375],[71.30468749999997,40.28691406249996],[70.990625,40.2548828125],[70.95800781250003,40.238867187500034],[70.653125,40.201171875],[70.37158203125003,40.38413085937506],[70.75107421875006,40.721777343750006],[70.40195312500006,41.03510742187498],[69.71289062500003,40.65698242187503],[69.35722656250002,40.76738281249996],[69.20625,40.566552734374994],[69.27490234374997,40.19809570312498],[68.63066406250007,40.16708984374998],[68.9720703125,40.08994140624998],[68.80468750000003,40.05034179687499],[68.86875,39.90747070312503],[68.63896484375007,39.8388671875],[68.46328125,39.53671874999998],[67.71904296875007,39.62138671875002],[67.426171875,39.46557617187497],[67.3576171875001,39.216699218749994],[67.64833984375005,39.13105468750004],[67.69443359375006,38.99462890625003],[68.13251953125004,38.927636718749966],[68.08720703125002,38.47353515625002],[68.3502929687501,38.211035156250006],[67.81435546875005,37.48701171875004],[67.7980468750001,37.244970703125006],[67.75898437500004,37.172216796875034],[67.75292968749997,37.199804687500034],[67.7,37.227246093749955],[67.60742187499997,37.22250976562506],[67.5172851562501,37.26665039062499],[67.44169921875007,37.25800781250001],[67.3197265625,37.209570312500006],[67.1955078125001,37.23520507812498],[67.06884765624997,37.334814453125006],[66.82773437500006,37.37128906249998],[66.52226562500007,37.34848632812506],[66.51064453125,37.45869140625004],[66.51132812500006,37.59916992187496],[66.52558593750004,37.785742187500034],[66.60625,37.98671875000005],[65.97119140624997,38.244238281250006],[65.612890625,38.23857421875002],[64.3099609375,38.97729492187497],[63.76367187500003,39.16054687499999],[62.48320312500002,39.97563476562496],[61.90283203124997,41.09370117187501],[61.496972656249994,41.276074218749955],[61.2423828125001,41.18920898437503],[60.454980468749994,41.221630859374955],[60.089648437500074,41.39941406250003],[60.07558593750005,41.759667968749966],[60.20078125000006,41.803125],[59.94179687499999,41.97353515625002],[59.98515625000002,42.21171875],[59.35429687500002,42.32329101562496],[58.5890625000001,42.778466796874966],[58.477148437500006,42.66284179687503],[58.15156250000004,42.628076171874966],[58.474414062500074,42.29936523437496],[58.02890625,42.48764648437506],[57.814257812500074,42.18984375000005],[57.290625,42.123779296875],[56.96406250000004,41.856542968750006],[57.11884765625004,41.35029296874998],[57.01796875,41.26347656249996],[55.97744140625005,41.32221679687504],[55.97568359375006,44.99492187499996],[58.555273437500006,45.55537109375001],[61.007910156250006,44.39379882812497],[61.99023437500003,43.492138671874955],[63.20703125000003,43.62797851562502],[64.44316406250007,43.55117187499999],[64.9054687500001,43.714697265625006],[65.49619140625,43.310546875],[65.80302734375002,42.87695312500006],[66.1002929687501,42.99082031249998],[66.00957031250007,42.00488281250003],[66.49863281250006,41.99487304687503],[66.70966796875004,41.17915039062501],[67.9357421875001,41.19658203125002],[68.11308593750007,41.02861328124999],[68.04765625000007,40.80927734374998],[68.29189453125,40.656103515625034],[68.57265625,40.62265624999998],[68.58408203125,40.876269531250045],[69.15361328125002,41.42524414062498],[70.94677734374997,42.24868164062505]]]]},"properties":{"name":"Uzbekistan","childNum":2}},{"geometry":{"type":"Polygon","coordinates":[[[-61.17451171875001,13.158105468749966],[-61.268457031249966,13.287695312499991],[-61.13896484374996,13.358740234374991],[-61.17451171875001,13.158105468749966]]]},"properties":{"name":"St. Vin. and Gren.","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[-60.99790039062498,8.867333984374966],[-61.069189453125034,8.947314453125003],[-60.91582031249996,9.070312500000014],[-60.86142578124998,8.949609375000037],[-60.99790039062498,8.867333984374966]]],[[[-60.821191406249966,9.138378906250026],[-60.94140625000003,9.105566406250006],[-60.73583984374997,9.203320312500026],[-60.821191406249966,9.138378906250026]]],[[[-63.84936523437494,11.131005859374994],[-63.917626953124994,10.887548828125048],[-64.40234375,10.981591796875023],[-64.21367187500002,11.086132812499997],[-64.0283203125,11.00185546874998],[-63.84936523437494,11.131005859374994]]],[[[-60.742138671874926,5.202050781250037],[-60.71196289062499,5.191552734375023],[-60.671972656250034,5.164355468749989],[-60.603857421875006,4.94936523437498],[-61.00283203125002,4.535253906249991],[-61.28007812500002,4.516894531249974],[-61.82084960937496,4.197021484375],[-62.153125,4.098388671874986],[-62.41064453124994,4.156738281249972],[-62.71210937499998,4.01791992187502],[-62.85698242187502,3.593457031249969],[-63.33867187500002,3.943896484375045],[-64.02148437500003,3.929101562500051],[-64.19248046874995,4.126855468750009],[-64.57636718750001,4.139892578125],[-64.788671875,4.276025390625023],[-64.66899414062496,4.01181640625002],[-64.22109375000002,3.587402343749972],[-64.04658203124998,2.502392578124997],[-63.389257812500006,2.411914062500045],[-63.43251953124994,2.155566406250045],[-64.00849609374995,1.931591796874969],[-64.20502929687493,1.52949218750004],[-65.10375976562497,1.108105468749983],[-65.47338867187497,0.691259765624977],[-65.55605468750002,0.687988281250014],[-65.52299804687493,0.843408203124966],[-65.68144531249999,0.983447265624989],[-66.06005859375003,0.78535156250004],[-66.34711914062498,0.7671875],[-66.87602539062499,1.223046875000037],[-67.21083984375,2.390136718750043],[-67.61870117187496,2.793603515624994],[-67.85908203124998,2.793603515624994],[-67.3111328125,3.41586914062502],[-67.66162109375,3.864257812499986],[-67.85527343750002,4.506884765624989],[-67.82490234374995,5.270458984375026],[-67.47387695312503,5.929980468750003],[-67.48198242187499,6.18027343750002],[-67.85917968749999,6.289892578124963],[-68.47177734375,6.156542968749974],[-69.42714843749997,6.123974609374997],[-70.12919921874999,6.95361328125],[-70.73715820312503,7.090039062499997],[-71.12861328124993,6.98671875],[-72.00664062499993,7.032617187500023],[-72.20771484374995,7.37026367187498],[-72.47197265624996,7.524267578124991],[-72.39033203124995,8.287060546874969],[-72.66542968749994,8.62758789062498],[-72.79638671874997,9.10898437499999],[-73.05839843749999,9.259570312500031],[-73.36621093749997,9.194140625000017],[-73.00654296874998,9.789160156250006],[-72.86933593750001,10.49125976562496],[-72.690087890625,10.835839843749994],[-72.24848632812501,11.196435546875009],[-71.95810546875,11.66640625],[-71.31972656249997,11.861914062500048],[-71.95693359375002,11.569921874999977],[-71.835107421875,11.190332031250009],[-71.6416015625,11.013525390625048],[-71.73090820312498,10.994677734375017],[-71.59433593749995,10.657373046875051],[-72.11284179687499,9.815576171874966],[-71.61953124999994,9.047949218749991],[-71.24140625000001,9.160449218750003],[-71.08583984375002,9.348242187499977],[-71.05268554687501,9.705810546874986],[-71.49423828125,10.533203124999972],[-71.46953124999993,10.964160156250017],[-70.23251953124998,11.372998046874997],[-70.09711914062493,11.519775390624972],[-69.80478515624998,11.47421875000002],[-69.81733398437495,11.672070312499997],[-70.19257812499993,11.62460937500002],[-70.28652343749997,11.886035156249989],[-70.20278320312497,12.098388671874986],[-70.00395507812496,12.177880859375023],[-69.63159179687494,11.479931640625026],[-68.827978515625,11.431738281249977],[-68.39863281249995,11.160986328124977],[-68.29628906249997,10.689355468749994],[-68.13994140624999,10.492724609374989],[-66.24721679687497,10.632226562499994],[-65.85175781249995,10.257763671874997],[-65.12910156249998,10.070068359375043],[-64.85048828125,10.098095703124969],[-64.188330078125,10.457812499999989],[-63.73188476562501,10.503417968750043],[-64.24750976562498,10.54257812500002],[-64.298193359375,10.635156249999966],[-61.879492187500006,10.741015625000031],[-62.379980468750006,10.546875],[-62.91357421875,10.531494140624986],[-62.68583984374996,10.289794921875043],[-62.740576171875006,10.056152343750043],[-62.55034179687499,10.200439453125043],[-62.320410156250034,9.783056640625006],[-62.22114257812498,9.882568359375028],[-62.15336914062493,9.821777343749986],[-62.15532226562499,9.979248046875014],[-62.077099609374926,9.97504882812504],[-61.73593749999998,9.631201171874977],[-61.76591796874996,9.813818359374963],[-61.58886718749994,9.894531249999986],[-60.79248046874997,9.360742187500037],[-61.02314453124998,9.15458984374996],[-61.24726562499998,8.600341796875014],[-61.61870117187499,8.59746093749996],[-61.30400390624999,8.410400390625043],[-60.800976562499926,8.592138671875034],[-60.16748046875,8.616992187500031],[-60.01752929687501,8.549316406250014],[-59.83164062499998,8.305957031250003],[-59.84907226562498,8.248681640624966],[-59.96484375000003,8.191601562499969],[-59.99072265624997,8.16201171874998],[-60.032421874999926,8.053564453125006],[-60.51362304687501,7.813183593749969],[-60.71865234374994,7.535937499999974],[-60.606542968750006,7.320849609375031],[-60.63330078124997,7.211083984374966],[-60.58320312499998,7.156201171874969],[-60.523193359375,7.143701171875009],[-60.464941406250034,7.166552734375045],[-60.39238281249999,7.164550781249986],[-60.34506835937495,7.15],[-60.32548828124996,7.133984374999983],[-60.32207031249996,7.092041015625043],[-60.35209960937496,7.002880859374997],[-60.39501953125,6.945361328125003],[-60.717919921874966,6.768310546875],[-61.14560546874998,6.694531249999983],[-61.20361328124997,6.588378906250028],[-61.181591796874926,6.513378906250026],[-61.15102539062502,6.446533203124986],[-61.15229492187501,6.385107421875006],[-61.12871093749999,6.214306640625026],[-61.15947265624996,6.174414062499977],[-61.22495117187498,6.129199218750003],[-61.303125,6.049511718750026],[-61.39082031250001,5.938769531250017],[-61.376806640625006,5.906982421875028],[-61.167187499999926,5.674218750000037],[-60.95400390625002,5.437402343750023],[-60.742138671874926,5.202050781250037]]]]},"properties":{"name":"Venezuela","childNum":4}},{"geometry":{"type":"Polygon","coordinates":[[[-64.765625,17.794335937499994],[-64.58046874999994,17.750195312499983],[-64.88911132812495,17.701708984375045],[-64.765625,17.794335937499994]]]},"properties":{"name":"U.S. Virgin Is.","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[104.06396484375003,10.390820312500011],[104.01845703125,10.029199218749966],[103.84951171875005,10.371093749999986],[104.06396484375003,10.390820312500011]]],[[[107.52128906250007,20.926611328124977],[107.39921875000007,20.903466796874966],[107.55126953125003,21.034033203125006],[107.52128906250007,20.926611328124977]]],[[[107.60273437500004,21.21679687500003],[107.40351562500004,21.093652343749994],[107.47626953125004,21.268945312499994],[107.60273437500004,21.21679687500003]]],[[[107.97265624999997,21.507958984375023],[107.40996093750002,21.284814453125023],[107.35429687500007,21.055175781250057],[107.1647460937501,20.94873046875003],[106.68339843750007,21.000292968750074],[106.75341796875003,20.73505859375004],[106.55078124999997,20.52656250000001],[106.57285156250012,20.392187499999977],[105.98408203125004,19.939062500000034],[105.62177734375004,18.96630859375003],[105.88828125000006,18.502490234375045],[106.49902343749997,17.946435546874994],[106.47890625000005,17.719580078125063],[106.3705078125,17.746875],[107.83378906250002,16.322460937499983],[108.02939453125012,16.331103515625074],[108.82128906249997,15.377929687500028],[109.30332031250012,13.856445312500043],[109.271875,13.279345703124974],[109.42392578125006,12.955957031249994],[109.44492187500006,12.599609375000057],[109.33554687500012,12.751904296874997],[109.21894531250004,12.64580078124996],[109.30468750000003,12.391162109375045],[109.20683593750007,12.415380859375006],[109.1986328125,11.724853515625014],[109.03964843750012,11.592675781249994],[108.98671875,11.336376953124997],[108.09492187500004,10.897265624999989],[108.0013671875,10.720361328125009],[107.26152343750007,10.39838867187504],[107.00664062500002,10.66054687499998],[106.94746093750004,10.400341796874997],[106.72734375000007,10.535644531250028],[106.605859375,10.46494140625002],[106.74121093750003,10.444384765625003],[106.75742187500006,10.295800781250023],[106.46406250000004,10.298291015624997],[106.78525390625012,10.116455078124986],[106.59560546875005,9.859863281250028],[106.1364257812501,10.221679687500014],[106.56435546875005,9.715625],[106.48408203125004,9.559423828125006],[105.83095703125005,10.000732421875028],[106.15859375,9.59414062499998],[106.16835937500005,9.396728515625],[105.50097656249997,9.093212890624983],[105.11435546875006,8.629199218750031],[104.77041015625,8.59765625],[104.89628906250007,8.746630859374974],[104.81855468750004,8.801855468750034],[104.84521484375003,9.606152343750026],[105.08447265625003,9.99570312499999],[104.8019531250001,10.202734374999977],[104.66347656250005,10.169921875000043],[104.42636718750006,10.411230468749991],[104.85058593749997,10.534472656249974],[105.04638671874997,10.701660156250014],[105.04570312500002,10.911376953125014],[105.3146484375001,10.845166015625026],[105.40576171875003,10.95161132812504],[105.75507812500004,10.989990234375043],[105.85332031250007,10.86357421874996],[106.16396484375005,10.794921875],[106.16093750000002,11.037109375000057],[105.85605468750006,11.294287109375048],[105.85146484375005,11.635009765625],[106.0060546875001,11.758007812500011],[106.39921875000007,11.687011718750028],[106.41386718750002,11.9484375],[106.70009765625,11.979296874999974],[107.21210937500004,12.30400390624996],[107.39335937500002,12.260498046874972],[107.50644531250006,12.364550781250031],[107.47539062500002,13.030371093749963],[107.60546874999997,13.437792968750017],[107.3314453125,14.126611328125009],[107.51943359375005,14.705078125],[107.51376953125012,14.817382812500057],[107.52451171875012,14.871826171875043],[107.50468750000007,14.915917968749966],[107.48037109375,14.979882812500037],[107.55527343750006,15.057031250000023],[107.58964843750002,15.118457031250017],[107.63369140625005,15.18984375],[107.653125,15.255224609374991],[107.62167968750006,15.309863281250017],[107.56425781250002,15.391601562499972],[107.45957031250012,15.4658203125],[107.33876953125,15.560498046875011],[107.27939453125006,15.618701171875045],[107.16591796875005,15.802490234375028],[107.1888671875,15.838623046875],[107.36064453125002,15.921728515624977],[107.3919921875,15.951660156250028],[107.39638671875,16.04301757812499],[106.93066406249997,16.353125],[106.8927734375001,16.396533203125074],[106.85107421875003,16.515625],[106.83242187500005,16.526269531250023],[106.79160156250006,16.490332031250006],[106.73955078125007,16.452539062500023],[106.6564453125001,16.49262695312501],[106.54619140625002,16.650732421874977],[106.53369140625003,16.821044921875057],[106.52597656250006,16.876611328124994],[106.50224609375002,16.95410156249997],[106.26953125000003,17.21679687500003],[106.00625,17.415283203125057],[105.69140625000003,17.737841796875045],[105.58847656250012,17.983691406250045],[105.51855468749997,18.077441406250045],[105.45820312500004,18.15429687499997],[105.11455078125002,18.40527343750003],[105.08701171875006,18.496240234374994],[105.14541015625,18.616796875000063],[105.14648437500003,18.650976562500006],[103.89160156250003,19.304980468750017],[103.89638671875,19.339990234375023],[103.93203125,19.366064453125006],[104.0275390625001,19.42045898437499],[104.062890625,19.48256835937505],[104.05156250000007,19.564160156249955],[104.01347656250007,19.64648437500003],[104.03203125000002,19.675146484375006],[104.06279296875007,19.678417968749983],[104.25986328125006,19.685498046874983],[104.5462890625,19.61054687500001],[104.58789062500003,19.61875],[104.74316406250003,19.754736328124977],[104.80175781249997,19.83613281250004],[104.81513671875004,19.90400390625001],[104.9279296875001,20.01811523437499],[104.92919921875003,20.082812500000017],[104.88867187500003,20.169091796875023],[104.84785156250004,20.202441406250045],[104.69873046875003,20.20532226562503],[104.67695312500004,20.224707031249977],[104.66191406250007,20.28901367187501],[104.65644531250004,20.32851562499999],[104.6188476562501,20.37451171875003],[104.49619140625006,20.413671875],[104.39218750000012,20.424755859374955],[104.36777343750012,20.44140624999997],[104.40781250000012,20.48574218750005],[104.47861328125006,20.529589843750017],[104.53271484374997,20.55488281250001],[104.58320312500004,20.646679687499955],[104.34960937499997,20.821093750000074],[104.19531249999997,20.913964843749966],[104.10136718750002,20.94550781250001],[103.63505859375007,20.697070312500017],[103.46357421875004,20.779833984375017],[103.21074218750002,20.840625],[103.10449218749997,20.891650390625045],[102.88378906250003,21.202587890624983],[102.85117187500006,21.26591796874999],[102.94960937500005,21.681347656249983],[102.84521484374997,21.73476562500005],[102.81591796874997,21.807373046875],[102.7982421875,21.797949218750034],[102.77109375000006,21.709667968749983],[102.73857421875002,21.67792968750001],[102.66201171875005,21.67602539062497],[102.58251953125003,21.90429687500003],[102.12744140624997,22.379199218750045],[102.1759765625001,22.414648437500006],[102.2370117187501,22.466015624999983],[102.40644531250004,22.70800781249997],[102.47089843750004,22.75092773437501],[102.98193359374997,22.4482421875],[103.32666015625003,22.769775390625057],[103.49296875000007,22.587988281250034],[103.62021484375006,22.782031250000045],[103.94150390625006,22.540087890625045],[104.14306640624997,22.800146484375006],[104.37177734375004,22.704052734374983],[104.68730468750002,22.822216796874983],[104.86474609375003,23.136376953125023],[105.27539062500003,23.34521484375003],[105.8429687500001,22.922802734374955],[106.14843749999997,22.970068359375006],[106.2790039062501,22.857470703125045],[106.54179687500007,22.908349609375023],[106.78027343749997,22.778906250000034],[106.55039062500006,22.501367187499994],[106.66357421875003,21.97890625000005],[106.97099609375002,21.923925781250034],[107.35117187500012,21.60888671874997],[107.75927734374997,21.655029296875057],[107.97265624999997,21.507958984375023]]]]},"properties":{"name":"Vietnam","childNum":4}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[169.49130859375006,-19.54013671875002],[169.34726562500006,-19.623535156249957],[169.2174804687501,-19.476367187500003],[169.24746093750005,-19.3447265625],[169.49130859375006,-19.54013671875002]]],[[[169.334375,-18.940234375000017],[168.98691406250006,-18.87128906250001],[169.01582031250004,-18.64375],[169.14384765625002,-18.63105468750001],[169.334375,-18.940234375000017]]],[[[168.44580078124997,-17.54218750000004],[168.58496093750003,-17.695898437500006],[168.52460937500004,-17.798046875000026],[168.15820312500003,-17.710546874999963],[168.2731445312501,-17.552246093749957],[168.44580078124997,-17.54218750000004]]],[[[168.44677734375003,-16.778808593749957],[168.18144531250002,-16.804003906250017],[168.13535156250006,-16.636914062499997],[168.44677734375003,-16.778808593749957]]],[[[168.29667968750007,-16.33652343749999],[167.92900390625002,-16.22871093749997],[168.16386718750002,-16.081640625000034],[168.29667968750007,-16.33652343749999]]],[[[167.4125,-16.095898437499997],[167.83662109375004,-16.449707031249957],[167.44931640625012,-16.554980468750003],[167.34921875000006,-16.15449218750004],[167.15146484375006,-16.080468749999966],[167.19951171875002,-15.885058593750031],[167.33574218750007,-15.916699218749997],[167.4125,-16.095898437499997]]],[[[167.9113281250001,-15.435937500000023],[167.67421875,-15.4515625],[168.00253906250012,-15.283203124999986],[167.9113281250001,-15.435937500000023]]],[[[166.74580078125004,-14.826855468750011],[166.81015625000012,-15.15742187500004],[167.0755859375,-14.935644531249977],[167.20078125000012,-15.443066406249969],[167.0939453125001,-15.580859374999974],[166.75830078125003,-15.631152343750003],[166.63105468750004,-15.406054687499974],[166.56738281250003,-14.641796874999969],[166.74580078125004,-14.826855468750011]]],[[[167.58486328125,-14.260937500000011],[167.43027343750012,-14.294921875],[167.41074218750006,-14.19746093750004],[167.50644531250012,-14.142187499999977],[167.58486328125,-14.260937500000011]]],[[[167.48886718750006,-13.907226562499972],[167.3917968750001,-13.788378906250017],[167.48105468750006,-13.709472656250014],[167.48886718750006,-13.907226562499972]]]]},"properties":{"name":"Vanuatu","childNum":10}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[-171.4541015625,-14.04648437500002],[-171.9119140625,-14.001660156250026],[-172.04589843750003,-13.857128906249983],[-171.60390624999997,-13.879199218750045],[-171.4541015625,-14.04648437500002]]],[[[-172.33349609375,-13.46523437499999],[-172.17685546874998,-13.68466796875002],[-172.224951171875,-13.804296874999963],[-172.535693359375,-13.791699218749983],[-172.77851562499998,-13.516796875000011],[-172.33349609375,-13.46523437499999]]]]},"properties":{"name":"Samoa","childNum":2}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[53.76318359374997,12.636816406249991],[54.18740234375005,12.664013671875026],[54.511132812499994,12.552783203125017],[54.12949218750006,12.360644531250045],[53.71884765625006,12.318994140624994],[53.31582031250005,12.533154296875011],[53.53496093750002,12.715771484374997],[53.76318359374997,12.636816406249991]]],[[[42.75585937500003,13.70429687500004],[42.689746093750074,13.673632812500017],[42.7941406250001,13.766113281250028],[42.75585937500003,13.70429687500004]]],[[[42.787402343750074,13.971484375000031],[42.69404296875004,14.007910156249991],[42.76210937500005,14.067480468750048],[42.787402343750074,13.971484375000031]]],[[[53.08564453125004,16.648388671874955],[52.327734375,16.293554687500063],[52.17402343750004,15.956835937500017],[52.2174804687501,15.655517578125],[51.3224609375001,15.22626953125004],[49.34990234375002,14.637792968749977],[48.66835937499999,14.050146484374977],[47.9899414062501,14.048095703125],[47.40771484374997,13.661621093750057],[46.78886718750002,13.465576171874986],[45.65732421875006,13.338720703124991],[45.03867187500006,12.815869140624969],[44.617773437500006,12.817236328124977],[44.00585937499997,12.607666015625],[43.634375,12.744482421874991],[43.487597656250074,12.69882812500002],[43.23193359375003,13.267089843750057],[43.2824218750001,13.692529296875037],[43.08906250000004,14.010986328125],[42.93642578125005,14.938574218749963],[42.85566406250004,15.132958984375037],[42.65781250000006,15.232812500000051],[42.79902343750004,15.326269531249991],[42.71718750000005,15.654638671875006],[42.83964843750002,16.032031250000074],[42.79931640624997,16.37177734375001],[43.16503906249997,16.689404296874955],[43.19091796875003,17.359375],[43.41796875000003,17.516259765625023],[43.91699218749997,17.32470703124997],[45.14804687500006,17.427441406249955],[45.5353515625001,17.30205078124999],[46.72763671875006,17.26557617187501],[46.97568359375006,16.953466796875034],[47.14355468749997,16.946679687499966],[47.44179687499999,17.111865234375045],[47.57958984374997,17.448339843750034],[48.17216796875002,18.156933593749983],[49.04199218750003,18.58178710937503],[51.977636718750006,18.996142578125074],[53.08564453125004,16.648388671874955]]]]},"properties":{"name":"Yemen","childNum":4}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[37.85693359375003,-46.94423828124998],[37.5900390625001,-46.90800781250006],[37.78955078124997,-46.8375],[37.85693359375003,-46.94423828124998]]],[[[31.799609375000017,-23.8921875],[31.98583984374997,-24.460644531249983],[31.921679687500017,-25.96875],[31.335156250000097,-25.755566406249997],[31.207324218750074,-25.843359375000034],[31.08808593750004,-25.980664062500026],[30.803320312500006,-26.41347656250001],[30.806738281250006,-26.78525390624999],[30.88330078124997,-26.792382812500023],[30.938085937500006,-26.91582031250003],[31.06337890625005,-27.1123046875],[31.274023437500063,-27.23837890625002],[31.469531250000017,-27.29550781250002],[31.74257812500005,-27.309960937500037],[31.95839843750005,-27.305859375],[31.946093750000017,-27.173632812499974],[31.96718750000005,-26.96064453125001],[31.994726562500006,-26.817480468749977],[32.024804687499994,-26.81113281250002],[32.112890625,-26.83945312500002],[32.19960937499999,-26.833496093749957],[32.35351562499997,-26.861621093750003],[32.7765625000001,-26.850976562499966],[32.88613281250005,-26.849316406249983],[32.53476562500006,-28.19970703125003],[32.285742187500006,-28.62148437499998],[31.335156250000097,-29.378125],[29.97119140625003,-31.322070312500017],[28.449414062500068,-32.62460937499999],[27.077441406250074,-33.52119140625004],[26.429492187500045,-33.75957031250002],[25.80585937500001,-33.737109374999974],[25.574218750000057,-34.03535156249998],[25.00292968750003,-33.97363281250003],[24.8271484375,-34.16894531250003],[24.595507812500074,-34.17451171875],[23.697851562500063,-33.99277343750002],[23.268164062500006,-34.08115234374999],[22.553808593750063,-34.01005859374999],[22.24550781250005,-34.06914062500003],[21.788964843750023,-34.37265624999996],[20.529882812500034,-34.4630859375],[20.020605468750006,-34.785742187500006],[19.298242187500023,-34.61503906249996],[19.330761718750068,-34.49238281250001],[19.098339843750068,-34.350097656249986],[18.831347656250017,-34.36406249999999],[18.75214843750004,-34.08261718750002],[18.50039062499999,-34.10927734375004],[18.46162109375001,-34.346875],[18.35205078124997,-34.1884765625],[18.43300781250005,-33.71728515625003],[17.851074218750057,-32.82744140625002],[17.96523437500005,-32.70859374999996],[18.125,-32.74912109374996],[18.325292968750034,-32.50498046874996],[18.21083984375008,-31.74248046874996],[17.34707031250005,-30.44482421875],[16.95,-29.40341796875002],[16.739453124999983,-29.009375],[16.447558593750045,-28.61757812499998],[16.755761718750023,-28.45214843750003],[16.7875,-28.39472656249997],[16.81015625,-28.264550781249994],[16.841210937500023,-28.21894531250004],[16.875292968750045,-28.12792968749997],[16.93330078125004,-28.06962890624999],[17.05625,-28.03105468750003],[17.1884765625,-28.13251953125001],[17.358691406250017,-28.269433593750023],[17.44794921875001,-28.698144531249966],[18.310839843750017,-28.88623046875],[19.16171875,-28.93876953124996],[19.245800781250068,-28.90166015625003],[19.31269531250004,-28.733300781250023],[19.539843750000017,-28.574609375000023],[19.98046875,-28.45126953125002],[19.98046875,-28.310351562500003],[19.98046875,-24.77675781249998],[20.430664062500057,-25.14707031250002],[20.79316406250001,-25.915625],[20.641406250000017,-26.7421875],[20.739843749999977,-26.84882812499997],[21.694726562500023,-26.840917968749963],[21.738085937500045,-26.806835937500026],[21.788281250000068,-26.710058593750034],[22.01093750000004,-26.635839843750006],[22.090917968749977,-26.580175781250034],[22.217578125000045,-26.38886718749997],[22.47089843750004,-26.219042968750003],[22.548632812500074,-26.178417968749997],[22.59765625000003,-26.13271484375001],[22.878808593750023,-25.457910156250023],[23.148730468750017,-25.288671875],[23.389257812500006,-25.291406250000023],[23.89375,-25.600878906250017],[23.96953124999999,-25.62607421874999],[24.192968750000034,-25.632910156249963],[24.33056640625,-25.742871093749983],[25.21337890625,-25.75625],[25.518164062500006,-25.66279296875001],[25.91210937499997,-24.747460937499966],[26.031835937500034,-24.70244140625003],[26.130859375000057,-24.671484375000034],[26.39716796875004,-24.61357421874996],[26.451757812500063,-24.582714843749983],[26.835058593750063,-24.240820312499963],[27.085546875000034,-23.577929687500003],[27.7685546875,-23.14892578125],[27.812597656250006,-23.108007812500006],[28.210156249999983,-22.693652343749974],[28.83984375000003,-22.480859374999966],[28.94580078125003,-22.39511718749999],[29.013476562500045,-22.27841796875002],[29.129882812500057,-22.21328125],[29.364843750000063,-22.19394531250005],[29.37744140625003,-22.19277343749998],[29.66308593749997,-22.146289062500017],[29.90234375000003,-22.184179687500006],[30.19042968750003,-22.291113281250034],[30.460156250000097,-22.329003906250023],[30.71162109375004,-22.297851562499986],[31.07343750000004,-22.30781249999997],[31.19726562499997,-22.344921874999983],[31.287890625000074,-22.402050781249983],[31.54560546875004,-23.48232421874998],[31.799609375000017,-23.8921875]],[[27.19355468750001,-29.94130859375001],[27.364062500000017,-30.27919921875001],[27.753125,-30.6],[28.05683593750001,-30.63105468750001],[28.128710937500017,-30.52509765625001],[28.39208984375003,-30.14755859375002],[28.646875,-30.1265625],[29.09804687500005,-29.919042968750006],[29.142187500000063,-29.70097656249999],[29.293554687500006,-29.56689453125003],[29.348828125000097,-29.441992187499977],[29.38671874999997,-29.319726562500023],[29.301367187500006,-29.08984375],[28.625781250000017,-28.581738281250054],[28.583398437499994,-28.59414062499999],[28.471875,-28.615820312499977],[28.23261718750004,-28.701269531249977],[28.084375,-28.779980468750026],[27.95986328125008,-28.87333984375003],[27.73554687500004,-28.940039062500034],[27.294531250000063,-29.519335937500017],[27.056933593750074,-29.62558593749999],[27.19355468750001,-29.94130859375001]]]]},"properties":{"name":"South Africa","childNum":2}},{"geometry":{"type":"Polygon","coordinates":[[[33.148046875,-9.603515625],[33.25,-9.759570312500003],[33.35097656250002,-9.862207031250009],[33.33710937500001,-9.954003906250009],[33.3115234375,-10.037988281250009],[33.52890625,-10.234667968750003],[33.53759765625,-10.3515625],[33.5537109375,-10.391308593750011],[33.66152343750002,-10.553125],[33.29277343750002,-10.85234375],[33.37978515625002,-11.157910156250011],[33.26835937500002,-11.40390625],[33.23271484375002,-11.417675781250011],[33.22636718750002,-11.534863281250011],[33.30390625000001,-11.690820312500009],[33.25234375000002,-12.112597656250003],[33.34013671875002,-12.308300781250011],[33.512304687500006,-12.347753906250006],[32.975195312500006,-12.701367187500011],[32.96757812500002,-13.225],[32.67041015625,-13.590429687500006],[32.797460937500006,-13.6884765625],[32.98125,-14.009375],[33.148046875,-13.94091796875],[33.201757812500006,-14.013378906250011],[30.231835937500023,-14.990332031250006],[30.39609375,-15.64306640625],[29.4873046875,-15.69677734375],[28.9130859375,-15.98779296875],[28.760546875000017,-16.53212890625001],[27.932226562500006,-16.89619140625001],[27.020800781250017,-17.95839843750001],[26.779882812500006,-18.04150390625],[26.333398437500023,-17.929296875],[25.995898437500017,-17.969824218750006],[25.2587890625,-17.793554687500006],[25.001757812500017,-17.56855468750001],[24.73291015625,-17.51777343750001],[24.27490234375,-17.481054687500006],[23.380664062500017,-17.640625],[22.193945312500006,-16.628125],[21.979785156250017,-15.95556640625],[21.979394531250023,-14.440527343750006],[21.979296875000017,-14.11962890625],[21.979101562500006,-13.798730468750009],[21.978906250000023,-13.0009765625],[22.209570312500006,-13.0009765625],[23.843164062500023,-13.0009765625],[23.962988281250006,-12.988476562500011],[23.882421875,-12.799023437500011],[23.886523437500017,-12.743261718750006],[23.909375,-12.636132812500009],[23.98388671875,-11.725],[23.96650390625001,-10.871777343750011],[24.36572265625,-11.1298828125],[24.3779296875,-11.417089843750006],[25.28876953125001,-11.21240234375],[25.349414062500017,-11.623046875],[26.025976562500006,-11.89013671875],[26.824023437500017,-11.965234375],[27.1591796875,-11.579199218750006],[27.573828125,-12.22705078125],[28.412890625000017,-12.51806640625],[28.550878906250006,-12.836132812500011],[28.730078125,-12.925488281250011],[29.014257812500006,-13.368847656250011],[29.20185546875001,-13.398339843750009],[29.55419921875,-13.248925781250009],[29.775195312500017,-13.438085937500006],[29.79511718750001,-12.155468750000011],[29.508203125000023,-12.228222656250011],[29.48554687500001,-12.41845703125],[29.064355468750023,-12.348828125000011],[28.482519531250006,-11.812109375],[28.383398437500006,-11.566699218750003],[28.6455078125,-10.550195312500009],[28.60419921875001,-9.678808593750006],[28.400683593750017,-9.224804687500011],[28.869531250000023,-8.785839843750011],[28.89814453125001,-8.485449218750006],[30.75117187500001,-8.193652343750003],[30.830664062500006,-8.385546875],[30.891992187500023,-8.473730468750006],[30.968359375,-8.550976562500011],[31.07636718750001,-8.611914062500006],[31.3505859375,-8.60703125],[31.44921875,-8.65390625],[31.53486328125001,-8.71328125],[31.55625,-8.80546875],[31.673632812500017,-8.908789062500006],[31.91865234375001,-8.9421875],[31.921875,-9.019433593750009],[31.94257812500001,-9.054003906250003],[32.75664062500002,-9.322265625],[32.919921875,-9.407421875000011],[32.99599609375002,-9.622851562500003],[33.148046875,-9.603515625]]]},"properties":{"name":"Zambia","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[31.287890625000017,-22.40205078125001],[31.07343750000001,-22.30781250000001],[30.71162109375001,-22.2978515625],[30.46015625000001,-22.32900390625001],[30.1904296875,-22.291113281250006],[29.90234375,-22.184179687500006],[29.6630859375,-22.146289062500003],[29.37744140625,-22.19277343750001],[29.36484375,-22.193945312500006],[29.315234375000017,-22.15771484375],[29.237207031250023,-22.07949218750001],[29.042382812500023,-22.018359375],[29.02558593750001,-21.796875],[28.014062500000023,-21.55419921875],[27.66943359375,-21.064257812500003],[27.679296875,-20.503027343750006],[27.28076171875,-20.47871093750001],[27.17822265625,-20.10097656250001],[26.168066406250006,-19.53828125000001],[25.939355468750023,-18.93867187500001],[25.242285156250006,-17.969042968750003],[25.2587890625,-17.793554687500006],[25.995898437500017,-17.969824218750006],[26.333398437500023,-17.929296875],[26.779882812500006,-18.04150390625],[27.020800781250017,-17.95839843750001],[27.932226562500006,-16.89619140625001],[28.760546875000017,-16.53212890625001],[28.9130859375,-15.98779296875],[29.4873046875,-15.69677734375],[30.39609375,-15.64306640625],[30.437792968750017,-15.995312500000011],[31.236230468750023,-16.02363281250001],[31.939843750000023,-16.428808593750006],[32.94804687500002,-16.71230468750001],[32.87626953125002,-16.88359375],[32.99306640625002,-18.35957031250001],[32.69970703125,-18.94091796875],[32.84980468750001,-19.10439453125001],[32.77763671875002,-19.388769531250006],[32.992773437500006,-19.98486328125],[32.49238281250001,-20.659765625],[32.353613281250006,-21.136523437500003],[32.429785156250006,-21.29707031250001],[31.429492187500017,-22.298828125],[31.287890625000017,-22.40205078125001]]]},"properties":{"name":"Zimbabwe","childNum":1}},{"geometry":{"type":"Polygon","coordinates":[[[74.00809389139292,33.25375789331485],[73.19660141888893,33.898124784580936],[73.13410859949555,34.82510160558277],[72.31128647748268,35.77290936638241],[73.08203125000107,36.43949943991182],[73.08961802927895,36.86435907947333],[73.116796875,36.868554687499994],[74.03886718750002,36.825732421874996],[74.54140625000002,37.02216796875],[74.69218750000002,37.0357421875],[74.8892578125,36.952441406249996],[74.94912109375002,36.968359375],[75.05390625000001,36.987158203125],[75.14521484375001,36.9732421875],[75.3466796875,36.913476562499994],[75.37685546875002,36.883691406249994],[75.42421875000002,36.738232421875],[75.46025390625002,36.725048828125],[75.57373046875,36.759326171874996],[75.66718750000001,36.741992187499996],[75.77216796875001,36.694921875],[75.84023437500002,36.649707031249996],[75.88496093750001,36.600732421874994],[75.93300781250002,36.52158203125],[75.95185546875001,36.45810546875],[75.97441406250002,36.382421875],[75.91230468750001,36.048974609374994],[76.07089843750003,35.9830078125],[76.14785156250002,35.829003906249994],[76.17783203125003,35.810546875],[76.25166015625001,35.8109375],[76.3857421875,35.837158203125],[76.50205078125003,35.878222656249996],[76.55126953125,35.887060546875],[76.5634765625,35.772998046874996],[76.6318359375,35.729394531249994],[76.7275390625,35.678662109375],[76.76689453124999,35.66171875],[76.81279296874999,35.571826171874996],[76.88222656250002,35.4357421875],[76.927734375,35.346630859375],[77.04863281249999,35.109912109374996],[77.00087890625002,34.991992187499996],[76.78291015625001,34.900195312499996],[76.75751953125001,34.877832031249994],[76.7490234375,34.847558593749994],[76.6962890625,34.786914062499996],[76.59443359375001,34.73583984375],[76.45673828125001,34.756103515625],[76.17246093750003,34.667724609375],[76.041015625,34.669921875],[75.93828125000002,34.612548828125],[75.86210937500002,34.56025390625],[75.70917968750001,34.503076171874994],[74.300390625,34.765380859375],[74.17197265625,34.7208984375],[74.05585937500001,34.6806640625],[73.96123046875002,34.653466796874994],[73.79453125,34.378222656249996],[73.80996093750002,34.325341796874994],[73.92460937500002,34.287841796875],[73.97236328125001,34.236621093749996],[73.9794921875,34.191308593749994],[73.90390625,34.1080078125],[73.94990234375001,34.018798828125],[74.24648437500002,33.990185546875],[73.97646484375002,33.7212890625],[74.15,33.506982421874994],[74.00809389139292,33.25375789331485]]]},"properties":{"name":"","childNum":1}},{"geometry":{"type":"MultiPolygon","coordinates":[[[[78.49194250885338,32.53122786149202],[78.10154031239509,32.87658365066666],[77.71342088235082,32.6917648744551],[77.06655516561037,33.301666835953235],[76.62299010270264,33.32014871357439],[76.32728006076415,32.87658365066666],[75.73585997688717,32.78417426256088],[75.62496871116024,32.28516356678968],[75.32221348233018,32.28516356678968],[74.98730468749997,32.46220703124996],[74.78886718750013,32.4578125],[74.6857421875001,32.493798828124994],[74.66328125000004,32.75766601562495],[74.63242187499995,32.770898437500136],[74.58828125000011,32.7532226562501],[74.35458984375012,32.76870117187505],[74.30546875000007,32.81044921875002],[74.30361328125005,32.991796875000034],[73.98984375000006,33.22119140625006],[74.15,33.506982421874994],[73.97646484375016,33.72128906249998],[74.24648437500011,33.99018554687504],[73.9499023437501,34.018798828125],[73.90390625000012,34.10800781250006],[73.97949218750009,34.191308593749966],[73.97236328125004,34.23662109374996],[73.92460937500007,34.287841796875114],[73.80996093750016,34.32534179687511],[73.79453125000006,34.378222656250045],[73.96123046875007,34.653466796874994],[74.05585937500015,34.68066406250003],[74.17197265624995,34.72089843750004],[74.30039062500006,34.76538085937506],[75.70917968750004,34.50307617187508],[75.86210937500002,34.56025390625001],[75.93828125000019,34.612548828125],[76.04101562500014,34.66992187499997],[76.17246093750006,34.66772460937506],[76.4567382812501,34.756103515625114],[76.5944335937501,34.73583984375006],[76.69628906249997,34.78691406249999],[76.74902343750014,34.84755859375008],[76.7575195312501,34.87783203125005],[76.7829101562501,34.90019531249999],[77.00087890625011,34.99199218750002],[77.03066406250011,35.06235351562498],[77.04863281250007,35.109912109375074],[77.42343749999995,35.30258789062506],[77.57158203125002,35.37875976562495],[77.69697265625015,35.443261718750136],[77.79941406250006,35.49589843750002],[78.0426757812501,35.4797851562501],[78.07578125000006,35.13491210937502],[78.15849609375002,34.94648437499998],[78.32695312500007,34.60639648437498],[78.86484375000006,34.39033203125001],[78.93642578125,34.35195312500002],[78.97060546875011,34.22822265625004],[78.72666015625006,34.013378906249955],[78.78378906250006,33.80878906250004],[78.86503906250002,33.43110351562501],[78.94843750000004,33.346533203125006],[79.1125,33.22626953125001],[79.13515625000005,33.17192382812496],[79.10283203125007,33.05253906249996],[79.14550781250003,33.00146484375006],[79.16992187500003,32.497216796874994],[78.91894531249997,32.3582031250001],[78.75351562500012,32.49926757812506],[78.73671875,32.55839843750002],[78.49194250885338,32.53122786149202]]]]},"properties":{"name":"","childNum":1}}]}); +}));
\ No newline at end of file diff --git a/src/main/webapp/static/login/echarts/map/loadIframeScripts.js b/src/main/webapp/static/login/echarts/map/loadIframeScripts.js new file mode 100644 index 0000000..9f1d7a5 --- /dev/null +++ b/src/main/webapp/static/login/echarts/map/loadIframeScripts.js @@ -0,0 +1 @@ +!function(t){function e(o){if(r[o])return r[o].exports;var a=r[o]={exports:{},id:o,loaded:!1};return t[o].call(a.exports,a,a.exports,e),a.loaded=!0,a.exports}var r={};return e.m=t,e.c=r,e.p="",e(0)}([function(t,e,r){t.exports=r(2)},,function(t,e){!function(){var t={};(location.search||"").substr(1).split("&").forEach(function(e){var r=e.split("=");t[r[0]]=r[1]});var e=t.echarts,r=t.external&&decodeURIComponent(t.external).split(",");if(document.write('<script src="./dep/echarts/'+e+'/echarts.min.js"></script>'),(r||[]).forEach(function(t){document.write('<script src="'+t+'"></script>')}),t.theme&&"default"!==t.theme&&(document.write('<script src="./dep/echarts/theme/'+t.theme+'.js"></script>'),window.__currentTheme__=t.theme),t.layout&&"null"!==t.layout){window.__currentLayout__=t.layout,"1xN"===t.layout&&$("#chart-panel").css("white-space","nowrap"),window.__layoutCustomized__="true"===t.layoutCustomized;try{window.__layoutWidth__=JSON.parse(t.layoutWidth.replace(/%22/g,'"'))}catch(o){window.__layoutWidth__=["100%"]}try{window.__layoutHeight__=JSON.parse(t.layoutHeight.replace(/%22/g,'"'))}catch(o){window.__layoutHeight__=["100%"]}}}()}]);
\ No newline at end of file diff --git a/src/main/webapp/static/login/echarts/map/run.js b/src/main/webapp/static/login/echarts/map/run.js new file mode 100644 index 0000000..aad1b24 --- /dev/null +++ b/src/main/webapp/static/login/echarts/map/run.js @@ -0,0 +1 @@ +!function(t){function e(i){if(n[i])return n[i].exports;var o=n[i]={exports:{},id:i,loaded:!1};return t[i].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(t,e,n){t.exports=n(3)},,,function(module,exports){function _clearTimeTickers(){for(var t=0;t<_intervalIdList.length;t++)clearInterval(_intervalIdList[t]);for(var t=0;t<_timeoutIdList.length;t++)clearTimeout(_timeoutIdList[t]);_intervalIdList=[],_timeoutIdList=[]}function syncBackOption(t){var e=t.getOption();if(_windowTopOrigin){var n={series:[]};try{n=JSON.stringify(e)}catch(i){console.error(i)}window.top.postMessage({action:"optionUpdated",computedOption:n},_windowTopOrigin)}}function _wrapEChartsSetOption(t){var e=t.setOption;t.setOption=function(){var n=e.apply(t,arguments);return clearTimeout(syncBackTimeout),syncBackTimeout=setTimeout(function(){syncBackOption(t)},2e3),n}}function _wrapOnMethods(t){var e=t.on;t.on=function(n){var i=e.apply(t,arguments);return _events.push(n),i}}function _clearChartEvents(){_events.forEach(function(t){if(myChart)myChart.off(t);else for(var e=0;e<myCharts.length;++e)myCharts[e].off(t)}),_events.length=0}function updateConfigGUI(){if(gui&&($(gui.domElement).remove(),gui.destroy(),gui=null),app.config){gui=new dat.GUI({autoPlace:!1}),$(gui.domElement).css({position:"absolute",right:5,top:0,zIndex:1e3}),$("#chart-panel").append(gui.domElement);var t=app.configParameters||{};for(var e in app.config){var n=app.config[e];if("onChange"!==e&&"onFinishChange"!==e){var i=!1,o=null;if(t[e]&&(t[e].options?o=gui.add(app.config,e,t[e].options):null!=t[e].min&&(o=gui.add(app.config,e,t[e].min,t[e].max),null!=t[e].step&&o.step(t[e].step))),"string"==typeof n)try{var a=echarts.color.parse(n);i=!!a,i&&(n=echarts.color.stringify(a,"rgba")),app.config[e]=n}catch(r){}o||(o=gui[i?"addColor":"add"](app.config,e)),app.config.onChange&&o.onChange(app.config.onChange),app.config.onFinishChange&&o.onFinishChange(app.config.onFinishChange)}}}}function renderPartialCanvas(t,e,n,i){var o=document.createElement("canvas");o.width=2*e,o.height=2*n;var a=document.createElement("canvas");a.width=e,a.height=n;var r=a.getContext("2d"),s=echarts.init(o),h=myChart?myChart.getOption():myCharts[t].getOption(),_=myChart?myChart.getModel():myCharts[t].getModel(),p=_.getComponent("title"),l=[],c=["markLine","markPoint","markArea","series","xAxis","yAxis","xAxis3D","yAxis3D","zAxis3D","angleAxis","radiusAxis","parallelAxis","axisPointer"];for(var u in h)c.indexOf(u)<0&&_.getComponent(u)&&("grid"===u&&_.getComponent("xAxis")&&_.getComponent("yAxis")||"grid"!==u)&&l.push({type:"component",value:u});var d={};_.eachComponent("series",function(t){var e=t.subType;d[e]||(d[e]=!0,l.push({type:"chart",value:e}))});var g={};if(_.eachComponent("series",function(t){["markPoint","markLine","markArea"].forEach(function(e){t.get(e,!0)&&!g[e]&&(l.push({type:"component",value:e}),g[e]=!0)})}),h.timeline&&h.timeline.length){var m=h.timeline[0];m.currentIndex=0,h.timeline=null;var w={timeline:m,options:[]};h.animation=!1;for(var f=0;f<m.data.length;f++)w.options.push(h);h=w}h.animation=!1,h.series&&h.series.forEach(function(t){"graph"===t.type&&"force"===t.layout&&(t.force=t.force||{},t.force.layoutAnimation=!1),t.progressive=0,t.progressiveThreshold=1/0}),s.setOption(h,!0),setTimeout(function(){r.drawImage(o,0,0,a.width,a.height),i({title:p&&p.get("text")||"",subtitle:p&&p.get("subtext")||"",tags:l,canvas:a})},100)}var _originWhiteList=["http://gallery.echartsjs.com","http://127.0.0.1:3000","http://echarts.duapp.com"],myChart=null,myCharts=[];$(document).ready(function(){function t(t){var e=t.data,n=e.action;__actions__[n]&&__actions__[n](e)}if(window.addEventListener?window.addEventListener("message",t,!1):window.attachEvent("onmessage",t),window.__currentLayout__&&window.__layoutCustomized__)var e=window.__layoutWidth__.length*window.__layoutHeight__.length;else var e=0;__actions__.create(e)});var app={},gui,_intervalIdList=[],_timeoutIdList=[],_oldSetTimeout=window.setTimeout,_oldSetInterval=window.setInterval,_windowTopOrigin="";window.setTimeout=function(t,e){var n=_oldSetTimeout(t,e);return _timeoutIdList.push(n),n},window.setInterval=function(t,e){var n=_oldSetInterval(t,e);return _intervalIdList.push(n),n};var syncBackTimeout=0,_events=[],__actions__={useOrigin:function(t){_originWhiteList.indexOf(t.origin)>=0&&(_windowTopOrigin=t.origin)},resize:function(){myChart&&myChart.resize();for(var t=0;t<myCharts.length;++t)myCharts[t].resize();_windowTopOrigin&&window.top.postMessage({action:"afterResize"},_windowTopOrigin)},create:function(t){if(t){myChart&&myChart.dispose(),myChart=null,$("#chart-panel").html("");for(var e=0;e<myCharts.length;++e)myCharts[e]&&myCharts[e].dispose();myCharts=[];var n=t;if(window.__currentLayout__&&window.__layoutCustomized__)n=window.__layoutWidth__.length*window.__layoutHeight__.length;else if(window.__layoutWidth__=[],window.__layoutHeight__=[],"1xN"===window.__currentLayout__){for(var e=0;e<n;++e)window.__layoutWidth__.push(100/n+"%");window.__layoutHeight__.push("100%")}else if("NxM"===window.__currentLayout__){for(var i=Math.ceil(Math.sqrt(n)),e=0;e<i;++e)window.__layoutWidth__.push(100/i+"%");for(var o=Math.ceil(n/i),e=0;e<o;++e)window.__layoutHeight__.push(100/o+"%")}else{window.__layoutWidth__.push("100%");for(var e=0;e<n;++e)window.__layoutHeight__.push(100/n+"%")}t<n&&console.warn("部分图表没有对应的布局项,因而未被显示。");for(var a=0,r=0;r<window.__layoutHeight__.length;++r)for(var s=0;s<window.__layoutWidth__.length&&!(a>=t);++s){var h=$('<div style="width: '+window.__layoutWidth__[s]+"; height: "+window.__layoutHeight__[r]+'; float: left; display: inline-block"></div>');$("#chart-panel").append(h);var _=echarts.init(h[0],window.__currentTheme__);_wrapEChartsSetOption(_),_wrapOnMethods(_),myCharts.push(_),++a}}else myChart&&myChart.dispose(),myChart=echarts.init($("#chart-panel")[0],window.__currentTheme__),myCharts=[myChart],_wrapEChartsSetOption(myChart),_wrapOnMethods(myChart)},run:function(data){_clearTimeTickers(),_clearChartEvents(),app.config=null;var __err__,option,options;try{eval(data.code),updateConfigGUI()}catch(e){option=myChart.getModel()?null:{series:[]},__err__=e.toString()}if(option)myChart.setOption(option,!0);else if(options){options.length!==myCharts.length&&__actions__.create(options.length);for(var i=0;i<myCharts.length;++i)options[i]&&myCharts[i].setOption(options[i])}_windowTopOrigin&&window.top.postMessage({action:"afterRun",error:__err__,chartCnt:myChart?1:myCharts.length},_windowTopOrigin)},prepareChartDetail:function(t){function e(e){_windowTopOrigin&&window.top.postMessage({onlyScreenshot:t.onlyScreenshot,action:"afterPrepared",echartsVersion:echarts.version,title:a,description:r,tags:s,thumbUrl:e},_windowTopOrigin)}function n(t,e){var _=c[t],l=(_.right-_.left)/g*i.width,u=(_.bottom-_.top)/m*i.height,d={left:h+(_.left-h)/g*i.width,top:p+(_.top-p)/m*i.height};renderPartialCanvas(t,l,u,function(i){o.drawImage(i.canvas,d.left,d.top),a=a||i.title,r=r||i.subtitle,s=s.concat(i.tags),t+1<myCharts.length?n(t+1,e):e()})}var i=document.createElement("canvas");i.width=400,i.height=300;for(var o=i.getContext("2d"),a="",r="",s=[],h=Number.MAX_VALUE,_=0,p=Number.MAX_VALUE,l=0,c=[],u=0;u<myCharts.length;++u){var d=myCharts[u].getDom().getBoundingClientRect();c.push(d),h=Math.min(h,d.left),_=Math.max(_,d.right),p=Math.min(p,d.top),l=Math.max(l,d.bottom)}var g=_-h,m=l-p;try{n(0,function(){e(i.toDataURL())})}catch(w){console.error(w),e("")}}}}]);
\ No newline at end of file diff --git a/src/main/webapp/static/login/numbergd/css/globle.css b/src/main/webapp/static/login/numbergd/css/globle.css new file mode 100644 index 0000000..18e71dd --- /dev/null +++ b/src/main/webapp/static/login/numbergd/css/globle.css @@ -0,0 +1,26 @@ +@charset "utf-8";
+/* CSS Document */
+html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, dd, dl, dt, li, ol, ul,input,select,button,textarea,tr,td{ padding:0; margin:0; border:none;}
+input,button,select,textarea,a,img{outline:none; }/*去掉超链接或按钮点击时出现的虚线框黄色边框*/
+::-moz-focus-inner{border:0px;}/*火狐的私有属性去掉点击时边框*/
+body,html{ width:100%; font-family:"Microsoft YaHei","Arial", "SimSun";}
+ul, ul li, ol li, li { list-style:none;}
+a, img, input, textarea {border:none;}
+a {
+ text-decoration: none;
+}
+table { border-collapse: collapse;border-spacing:0;}
+.clearfix:after {visibility: hidden;display: block;font-size: 0;content: ".";clear: both;height: 0;}
+* html .clearfix {zoom: 1;}
+*:first-child + html .clearfix {zoom: 1;}
+.fl { float:left;}
+.fr { float:right;}
+.none{ display:none;}
+
+.inrow{font-size:0;[;font-size:12px;];*font-size:0;font-family:arial;[;letter-spacing:-3px;];*letter-spacing:normal;*word-spacing:-1px;}
+.inrow>li,.inrow span{display:inline-block;*display:inline;*zoom:1;font-size:14px;letter-spacing:normal;word-spacing:normal; }
+.dataNums{position: absolute; top:50%; display: block; width:100%; height:75px; margin-top: -37px; text-align:center;}
+.dataNums .dataOne{ width:61px; height:75px; margin: 0px 3px; text-align: center; background: url(../images/num-bg.png) no-repeat;}
+.dataNums .dataBoc {position: relative; width: 100%; height: 100%; overflow: hidden;}
+.dataNums .dataBoc .tt {position: absolute; top: 0; left: 0; width: 100%; height: 100%;}
+.dataNums .tt span{width:100%;height:100%; font:bold 54px/75px "Arial";color:#ddf0ff;}
diff --git a/src/main/webapp/static/login/numbergd/images/num-bg.png b/src/main/webapp/static/login/numbergd/images/num-bg.png Binary files differnew file mode 100644 index 0000000..76c6f2c --- /dev/null +++ b/src/main/webapp/static/login/numbergd/images/num-bg.png diff --git a/src/main/webapp/static/login/numbergd/index.html b/src/main/webapp/static/login/numbergd/index.html new file mode 100644 index 0000000..07a305b --- /dev/null +++ b/src/main/webapp/static/login/numbergd/index.html @@ -0,0 +1,33 @@ +<!DOCTYPE html>
+<html lang="zh-CN">
+<head>
+ <meta charset="utf-8"/>
+ <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
+ <!--优先使用 IE 最新版本和 Chrome-->
+ <meta name="renderer" content="webkit"/>
+ <meta name="keywords" content="Title"/>
+ <link href="css/globle.css" rel="stylesheet">
+ <script src="http://www.jq22.com/jquery/jquery-1.10.2.js"></script>
+ <script type="text/javascript" src="js/index.js"></script>
+ <title>数字滚动</title>
+</head>
+<body>
+ <div id="dataNums" > </div>
+<script>
+ function animalNum(){
+ var value = rand(100,999);;
+
+ $("#dataNums").rollNum({
+ deVal:value
+ });
+ };
+
+ function rand(min,max) {
+ return Math.floor(Math.random()*(max-min))+min;
+ }
+
+ animalNum();
+ setInterval('animalNum()',3000);
+</script>
+</body>
+</html>
\ No newline at end of file diff --git a/src/main/webapp/static/login/numbergd/js/index.js b/src/main/webapp/static/login/numbergd/js/index.js new file mode 100644 index 0000000..ae6a39e --- /dev/null +++ b/src/main/webapp/static/login/numbergd/js/index.js @@ -0,0 +1,57 @@ +//数字滚动
+;(function($, window, document) {
+ "use strict";
+ var defaults = {
+ deVal: 0, //传入值
+ className:'dataNums', //样式名称
+ digit:'' //默认显示几位数字
+ };
+ function rollNum(obj, options){
+ this.obj = obj;
+ this.options = $.extend(defaults, options);
+ this.init = function(){
+ this.initHtml(obj,defaults);
+ }
+ }
+ rollNum.prototype = {
+ initHtml: function(obj,options){
+ var strHtml = '<ul class="' + options.className + ' inrow">';
+ var valLen = options.digit || (options.deVal + '').length;
+ if(obj.find('.'+options.className).length <= 0){
+ for(var i = 0; i< valLen; i++){
+ strHtml += '<li class="dataOne "><div class="dataBoc"><div class="tt" t="38"><span class="num0">0</span> <span class="num1">1</span> <span class="num2">2</span> <span class="num3">3</span> <span class="num4">4</span><span class="num5">5</span> <span class="num6">6</span> <span class="num7">7</span> <span class="num8">8</span> <span class="num9">9</span><span class="num0">0</span> <span class="num1">1</span> <span class="num2">2</span> <span class="num3">3</span> <span class="num4">4</span><span class="num5">5</span> <span class="num6">6</span> <span class="num7">7</span> <span class="num8">8</span> <span class="num9">9</span></div></div></li>';
+ }
+ strHtml += '</ul>';
+ obj.html(strHtml);
+ }
+ this.scroNum(obj, options);
+ },
+ scroNum: function(obj, options){
+ var number = options.deVal;
+ var $num_item = $(obj).find('.' + options.className).find('.tt');
+ var h = $(obj).find('.dataBoc').height();
+
+ $num_item.css('transition','all 2s ease-in-out');
+ var numberStr = number.toString();
+ if(numberStr.length <= $num_item.length - 1){
+ var tempStr = '';
+ for(var a = 0; a < $num_item.length - numberStr.length; a++){
+ tempStr += '0';
+ }
+ numberStr = tempStr + numberStr;
+ }
+
+ var numberArr = numberStr.split('');
+ $num_item.each(function(i, item) {
+ setTimeout(function(){
+ $num_item.eq(i).css('top',-parseInt(numberArr[i])*h - h*10 + 'px');
+ },i*100)
+ });
+ }
+ }
+ $.fn.rollNum = function(options){
+ var $that = this;
+ var rollNumObj = new rollNum($that, options);
+ rollNumObj.init();
+ };
+})(jQuery, window, document);
\ No newline at end of file diff --git a/src/main/webapp/static/login/numbergd/js/jquery-1.8.3.min.js b/src/main/webapp/static/login/numbergd/js/jquery-1.8.3.min.js new file mode 100644 index 0000000..45477c0 --- /dev/null +++ b/src/main/webapp/static/login/numbergd/js/jquery-1.8.3.min.js @@ -0,0 +1,2 @@ +/*! jQuery v1.8.3 jquery.com | jquery.org/license */ +(function(e,t){function _(e){var t=M[e]={};return v.each(e.split(y),function(e,n){t[n]=!0}),t}function H(e,n,r){if(r===t&&e.nodeType===1){var i="data-"+n.replace(P,"-$1").toLowerCase();r=e.getAttribute(i);if(typeof r=="string"){try{r=r==="true"?!0:r==="false"?!1:r==="null"?null:+r+""===r?+r:D.test(r)?v.parseJSON(r):r}catch(s){}v.data(e,n,r)}else r=t}return r}function B(e){var t;for(t in e){if(t==="data"&&v.isEmptyObject(e[t]))continue;if(t!=="toJSON")return!1}return!0}function et(){return!1}function tt(){return!0}function ut(e){return!e||!e.parentNode||e.parentNode.nodeType===11}function at(e,t){do e=e[t];while(e&&e.nodeType!==1);return e}function ft(e,t,n){t=t||0;if(v.isFunction(t))return v.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return v.grep(e,function(e,r){return e===t===n});if(typeof t=="string"){var r=v.grep(e,function(e){return e.nodeType===1});if(it.test(t))return v.filter(t,r,!n);t=v.filter(t,r)}return v.grep(e,function(e,r){return v.inArray(e,t)>=0===n})}function lt(e){var t=ct.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function At(e,t){if(t.nodeType!==1||!v.hasData(e))return;var n,r,i,s=v._data(e),o=v._data(t,s),u=s.events;if(u){delete o.handle,o.events={};for(n in u)for(r=0,i=u[n].length;r<i;r++)v.event.add(t,n,u[n][r])}o.data&&(o.data=v.extend({},o.data))}function Ot(e,t){var n;if(t.nodeType!==1)return;t.clearAttributes&&t.clearAttributes(),t.mergeAttributes&&t.mergeAttributes(e),n=t.nodeName.toLowerCase(),n==="object"?(t.parentNode&&(t.outerHTML=e.outerHTML),v.support.html5Clone&&e.innerHTML&&!v.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):n==="input"&&Et.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):n==="option"?t.selected=e.defaultSelected:n==="input"||n==="textarea"?t.defaultValue=e.defaultValue:n==="script"&&t.text!==e.text&&(t.text=e.text),t.removeAttribute(v.expando)}function Mt(e){return typeof e.getElementsByTagName!="undefined"?e.getElementsByTagName("*"):typeof e.querySelectorAll!="undefined"?e.querySelectorAll("*"):[]}function _t(e){Et.test(e.type)&&(e.defaultChecked=e.checked)}function Qt(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=Jt.length;while(i--){t=Jt[i]+n;if(t in e)return t}return r}function Gt(e,t){return e=t||e,v.css(e,"display")==="none"||!v.contains(e.ownerDocument,e)}function Yt(e,t){var n,r,i=[],s=0,o=e.length;for(;s<o;s++){n=e[s];if(!n.style)continue;i[s]=v._data(n,"olddisplay"),t?(!i[s]&&n.style.display==="none"&&(n.style.display=""),n.style.display===""&&Gt(n)&&(i[s]=v._data(n,"olddisplay",nn(n.nodeName)))):(r=Dt(n,"display"),!i[s]&&r!=="none"&&v._data(n,"olddisplay",r))}for(s=0;s<o;s++){n=e[s];if(!n.style)continue;if(!t||n.style.display==="none"||n.style.display==="")n.style.display=t?i[s]||"":"none"}return e}function Zt(e,t,n){var r=Rt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function en(e,t,n,r){var i=n===(r?"border":"content")?4:t==="width"?1:0,s=0;for(;i<4;i+=2)n==="margin"&&(s+=v.css(e,n+$t[i],!0)),r?(n==="content"&&(s-=parseFloat(Dt(e,"padding"+$t[i]))||0),n!=="margin"&&(s-=parseFloat(Dt(e,"border"+$t[i]+"Width"))||0)):(s+=parseFloat(Dt(e,"padding"+$t[i]))||0,n!=="padding"&&(s+=parseFloat(Dt(e,"border"+$t[i]+"Width"))||0));return s}function tn(e,t,n){var r=t==="width"?e.offsetWidth:e.offsetHeight,i=!0,s=v.support.boxSizing&&v.css(e,"boxSizing")==="border-box";if(r<=0||r==null){r=Dt(e,t);if(r<0||r==null)r=e.style[t];if(Ut.test(r))return r;i=s&&(v.support.boxSizingReliable||r===e.style[t]),r=parseFloat(r)||0}return r+en(e,t,n||(s?"border":"content"),i)+"px"}function nn(e){if(Wt[e])return Wt[e];var t=v("<"+e+">").appendTo(i.body),n=t.css("display");t.remove();if(n==="none"||n===""){Pt=i.body.appendChild(Pt||v.extend(i.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!Ht||!Pt.createElement)Ht=(Pt.contentWindow||Pt.contentDocument).document,Ht.write("<!doctype html><html><body>"),Ht.close();t=Ht.body.appendChild(Ht.createElement(e)),n=Dt(t,"display"),i.body.removeChild(Pt)}return Wt[e]=n,n}function fn(e,t,n,r){var i;if(v.isArray(t))v.each(t,function(t,i){n||sn.test(e)?r(e,i):fn(e+"["+(typeof i=="object"?t:"")+"]",i,n,r)});else if(!n&&v.type(t)==="object")for(i in t)fn(e+"["+i+"]",t[i],n,r);else r(e,t)}function Cn(e){return function(t,n){typeof t!="string"&&(n=t,t="*");var r,i,s,o=t.toLowerCase().split(y),u=0,a=o.length;if(v.isFunction(n))for(;u<a;u++)r=o[u],s=/^\+/.test(r),s&&(r=r.substr(1)||"*"),i=e[r]=e[r]||[],i[s?"unshift":"push"](n)}}function kn(e,n,r,i,s,o){s=s||n.dataTypes[0],o=o||{},o[s]=!0;var u,a=e[s],f=0,l=a?a.length:0,c=e===Sn;for(;f<l&&(c||!u);f++)u=a[f](n,r,i),typeof u=="string"&&(!c||o[u]?u=t:(n.dataTypes.unshift(u),u=kn(e,n,r,i,u,o)));return(c||!u)&&!o["*"]&&(u=kn(e,n,r,i,"*",o)),u}function Ln(e,n){var r,i,s=v.ajaxSettings.flatOptions||{};for(r in n)n[r]!==t&&((s[r]?e:i||(i={}))[r]=n[r]);i&&v.extend(!0,e,i)}function An(e,n,r){var i,s,o,u,a=e.contents,f=e.dataTypes,l=e.responseFields;for(s in l)s in r&&(n[l[s]]=r[s]);while(f[0]==="*")f.shift(),i===t&&(i=e.mimeType||n.getResponseHeader("content-type"));if(i)for(s in a)if(a[s]&&a[s].test(i)){f.unshift(s);break}if(f[0]in r)o=f[0];else{for(s in r){if(!f[0]||e.converters[s+" "+f[0]]){o=s;break}u||(u=s)}o=o||u}if(o)return o!==f[0]&&f.unshift(o),r[o]}function On(e,t){var n,r,i,s,o=e.dataTypes.slice(),u=o[0],a={},f=0;e.dataFilter&&(t=e.dataFilter(t,e.dataType));if(o[1])for(n in e.converters)a[n.toLowerCase()]=e.converters[n];for(;i=o[++f];)if(i!=="*"){if(u!=="*"&&u!==i){n=a[u+" "+i]||a["* "+i];if(!n)for(r in a){s=r.split(" ");if(s[1]===i){n=a[u+" "+s[0]]||a["* "+s[0]];if(n){n===!0?n=a[r]:a[r]!==!0&&(i=s[0],o.splice(f--,0,i));break}}}if(n!==!0)if(n&&e["throws"])t=n(t);else try{t=n(t)}catch(l){return{state:"parsererror",error:n?l:"No conversion from "+u+" to "+i}}}u=i}return{state:"success",data:t}}function Fn(){try{return new e.XMLHttpRequest}catch(t){}}function In(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}function $n(){return setTimeout(function(){qn=t},0),qn=v.now()}function Jn(e,t){v.each(t,function(t,n){var r=(Vn[t]||[]).concat(Vn["*"]),i=0,s=r.length;for(;i<s;i++)if(r[i].call(e,t,n))return})}function Kn(e,t,n){var r,i=0,s=0,o=Xn.length,u=v.Deferred().always(function(){delete a.elem}),a=function(){var t=qn||$n(),n=Math.max(0,f.startTime+f.duration-t),r=n/f.duration||0,i=1-r,s=0,o=f.tweens.length;for(;s<o;s++)f.tweens[s].run(i);return u.notifyWith(e,[f,i,n]),i<1&&o?n:(u.resolveWith(e,[f]),!1)},f=u.promise({elem:e,props:v.extend({},t),opts:v.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:qn||$n(),duration:n.duration,tweens:[],createTween:function(t,n,r){var i=v.Tween(e,f.opts,t,n,f.opts.specialEasing[t]||f.opts.easing);return f.tweens.push(i),i},stop:function(t){var n=0,r=t?f.tweens.length:0;for(;n<r;n++)f.tweens[n].run(1);return t?u.resolveWith(e,[f,t]):u.rejectWith(e,[f,t]),this}}),l=f.props;Qn(l,f.opts.specialEasing);for(;i<o;i++){r=Xn[i].call(f,e,l,f.opts);if(r)return r}return Jn(f,l),v.isFunction(f.opts.start)&&f.opts.start.call(e,f),v.fx.timer(v.extend(a,{anim:f,queue:f.opts.queue,elem:e})),f.progress(f.opts.progress).done(f.opts.done,f.opts.complete).fail(f.opts.fail).always(f.opts.always)}function Qn(e,t){var n,r,i,s,o;for(n in e){r=v.camelCase(n),i=t[r],s=e[n],v.isArray(s)&&(i=s[1],s=e[n]=s[0]),n!==r&&(e[r]=s,delete e[n]),o=v.cssHooks[r];if(o&&"expand"in o){s=o.expand(s),delete e[r];for(n in s)n in e||(e[n]=s[n],t[n]=i)}else t[r]=i}}function Gn(e,t,n){var r,i,s,o,u,a,f,l,c,h=this,p=e.style,d={},m=[],g=e.nodeType&&Gt(e);n.queue||(l=v._queueHooks(e,"fx"),l.unqueued==null&&(l.unqueued=0,c=l.empty.fire,l.empty.fire=function(){l.unqueued||c()}),l.unqueued++,h.always(function(){h.always(function(){l.unqueued--,v.queue(e,"fx").length||l.empty.fire()})})),e.nodeType===1&&("height"in t||"width"in t)&&(n.overflow=[p.overflow,p.overflowX,p.overflowY],v.css(e,"display")==="inline"&&v.css(e,"float")==="none"&&(!v.support.inlineBlockNeedsLayout||nn(e.nodeName)==="inline"?p.display="inline-block":p.zoom=1)),n.overflow&&(p.overflow="hidden",v.support.shrinkWrapBlocks||h.done(function(){p.overflow=n.overflow[0],p.overflowX=n.overflow[1],p.overflowY=n.overflow[2]}));for(r in t){s=t[r];if(Un.exec(s)){delete t[r],a=a||s==="toggle";if(s===(g?"hide":"show"))continue;m.push(r)}}o=m.length;if(o){u=v._data(e,"fxshow")||v._data(e,"fxshow",{}),"hidden"in u&&(g=u.hidden),a&&(u.hidden=!g),g?v(e).show():h.done(function(){v(e).hide()}),h.done(function(){var t;v.removeData(e,"fxshow",!0);for(t in d)v.style(e,t,d[t])});for(r=0;r<o;r++)i=m[r],f=h.createTween(i,g?u[i]:0),d[i]=u[i]||v.style(e,i),i in u||(u[i]=f.start,g&&(f.end=f.start,f.start=i==="width"||i==="height"?1:0))}}function Yn(e,t,n,r,i){return new Yn.prototype.init(e,t,n,r,i)}function Zn(e,t){var n,r={height:e},i=0;t=t?1:0;for(;i<4;i+=2-t)n=$t[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}function tr(e){return v.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:!1}var n,r,i=e.document,s=e.location,o=e.navigator,u=e.jQuery,a=e.$,f=Array.prototype.push,l=Array.prototype.slice,c=Array.prototype.indexOf,h=Object.prototype.toString,p=Object.prototype.hasOwnProperty,d=String.prototype.trim,v=function(e,t){return new v.fn.init(e,t,n)},m=/[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source,g=/\S/,y=/\s+/,b=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,w=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,E=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,S=/^[\],:{}\s]*$/,x=/(?:^|:|,)(?:\s*\[)+/g,T=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,N=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,C=/^-ms-/,k=/-([\da-z])/gi,L=function(e,t){return(t+"").toUpperCase()},A=function(){i.addEventListener?(i.removeEventListener("DOMContentLoaded",A,!1),v.ready()):i.readyState==="complete"&&(i.detachEvent("onreadystatechange",A),v.ready())},O={};v.fn=v.prototype={constructor:v,init:function(e,n,r){var s,o,u,a;if(!e)return this;if(e.nodeType)return this.context=this[0]=e,this.length=1,this;if(typeof e=="string"){e.charAt(0)==="<"&&e.charAt(e.length-1)===">"&&e.length>=3?s=[null,e,null]:s=w.exec(e);if(s&&(s[1]||!n)){if(s[1])return n=n instanceof v?n[0]:n,a=n&&n.nodeType?n.ownerDocument||n:i,e=v.parseHTML(s[1],a,!0),E.test(s[1])&&v.isPlainObject(n)&&this.attr.call(e,n,!0),v.merge(this,e);o=i.getElementById(s[2]);if(o&&o.parentNode){if(o.id!==s[2])return r.find(e);this.length=1,this[0]=o}return this.context=i,this.selector=e,this}return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e)}return v.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),v.makeArray(e,this))},selector:"",jquery:"1.8.3",length:0,size:function(){return this.length},toArray:function(){return l.call(this)},get:function(e){return e==null?this.toArray():e<0?this[this.length+e]:this[e]},pushStack:function(e,t,n){var r=v.merge(this.constructor(),e);return r.prevObject=this,r.context=this.context,t==="find"?r.selector=this.selector+(this.selector?" ":"")+n:t&&(r.selector=this.selector+"."+t+"("+n+")"),r},each:function(e,t){return v.each(this,e,t)},ready:function(e){return v.ready.promise().done(e),this},eq:function(e){return e=+e,e===-1?this.slice(e):this.slice(e,e+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(l.apply(this,arguments),"slice",l.call(arguments).join(","))},map:function(e){return this.pushStack(v.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:[].sort,splice:[].splice},v.fn.init.prototype=v.fn,v.extend=v.fn.extend=function(){var e,n,r,i,s,o,u=arguments[0]||{},a=1,f=arguments.length,l=!1;typeof u=="boolean"&&(l=u,u=arguments[1]||{},a=2),typeof u!="object"&&!v.isFunction(u)&&(u={}),f===a&&(u=this,--a);for(;a<f;a++)if((e=arguments[a])!=null)for(n in e){r=u[n],i=e[n];if(u===i)continue;l&&i&&(v.isPlainObject(i)||(s=v.isArray(i)))?(s?(s=!1,o=r&&v.isArray(r)?r:[]):o=r&&v.isPlainObject(r)?r:{},u[n]=v.extend(l,o,i)):i!==t&&(u[n]=i)}return u},v.extend({noConflict:function(t){return e.$===v&&(e.$=a),t&&e.jQuery===v&&(e.jQuery=u),v},isReady:!1,readyWait:1,holdReady:function(e){e?v.readyWait++:v.ready(!0)},ready:function(e){if(e===!0?--v.readyWait:v.isReady)return;if(!i.body)return setTimeout(v.ready,1);v.isReady=!0;if(e!==!0&&--v.readyWait>0)return;r.resolveWith(i,[v]),v.fn.trigger&&v(i).trigger("ready").off("ready")},isFunction:function(e){return v.type(e)==="function"},isArray:Array.isArray||function(e){return v.type(e)==="array"},isWindow:function(e){return e!=null&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return e==null?String(e):O[h.call(e)]||"object"},isPlainObject:function(e){if(!e||v.type(e)!=="object"||e.nodeType||v.isWindow(e))return!1;try{if(e.constructor&&!p.call(e,"constructor")&&!p.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||p.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw new Error(e)},parseHTML:function(e,t,n){var r;return!e||typeof e!="string"?null:(typeof t=="boolean"&&(n=t,t=0),t=t||i,(r=E.exec(e))?[t.createElement(r[1])]:(r=v.buildFragment([e],t,n?null:[]),v.merge([],(r.cacheable?v.clone(r.fragment):r.fragment).childNodes)))},parseJSON:function(t){if(!t||typeof t!="string")return null;t=v.trim(t);if(e.JSON&&e.JSON.parse)return e.JSON.parse(t);if(S.test(t.replace(T,"@").replace(N,"]").replace(x,"")))return(new Function("return "+t))();v.error("Invalid JSON: "+t)},parseXML:function(n){var r,i;if(!n||typeof n!="string")return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(s){r=t}return(!r||!r.documentElement||r.getElementsByTagName("parsererror").length)&&v.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&g.test(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(C,"ms-").replace(k,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,n,r){var i,s=0,o=e.length,u=o===t||v.isFunction(e);if(r){if(u){for(i in e)if(n.apply(e[i],r)===!1)break}else for(;s<o;)if(n.apply(e[s++],r)===!1)break}else if(u){for(i in e)if(n.call(e[i],i,e[i])===!1)break}else for(;s<o;)if(n.call(e[s],s,e[s++])===!1)break;return e},trim:d&&!d.call("\ufeff\u00a0")?function(e){return e==null?"":d.call(e)}:function(e){return e==null?"":(e+"").replace(b,"")},makeArray:function(e,t){var n,r=t||[];return e!=null&&(n=v.type(e),e.length==null||n==="string"||n==="function"||n==="regexp"||v.isWindow(e)?f.call(r,e):v.merge(r,e)),r},inArray:function(e,t,n){var r;if(t){if(c)return c.call(t,e,n);r=t.length,n=n?n<0?Math.max(0,r+n):n:0;for(;n<r;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,s=0;if(typeof r=="number")for(;s<r;s++)e[i++]=n[s];else while(n[s]!==t)e[i++]=n[s++];return e.length=i,e},grep:function(e,t,n){var r,i=[],s=0,o=e.length;n=!!n;for(;s<o;s++)r=!!t(e[s],s),n!==r&&i.push(e[s]);return i},map:function(e,n,r){var i,s,o=[],u=0,a=e.length,f=e instanceof v||a!==t&&typeof a=="number"&&(a>0&&e[0]&&e[a-1]||a===0||v.isArray(e));if(f)for(;u<a;u++)i=n(e[u],u,r),i!=null&&(o[o.length]=i);else for(s in e)i=n(e[s],s,r),i!=null&&(o[o.length]=i);return o.concat.apply([],o)},guid:1,proxy:function(e,n){var r,i,s;return typeof n=="string"&&(r=e[n],n=e,e=r),v.isFunction(e)?(i=l.call(arguments,2),s=function(){return e.apply(n,i.concat(l.call(arguments)))},s.guid=e.guid=e.guid||v.guid++,s):t},access:function(e,n,r,i,s,o,u){var a,f=r==null,l=0,c=e.length;if(r&&typeof r=="object"){for(l in r)v.access(e,n,l,r[l],1,o,i);s=1}else if(i!==t){a=u===t&&v.isFunction(i),f&&(a?(a=n,n=function(e,t,n){return a.call(v(e),n)}):(n.call(e,i),n=null));if(n)for(;l<c;l++)n(e[l],r,a?i.call(e[l],l,n(e[l],r)):i,u);s=1}return s?e:f?n.call(e):c?n(e[0],r):o},now:function(){return(new Date).getTime()}}),v.ready.promise=function(t){if(!r){r=v.Deferred();if(i.readyState==="complete")setTimeout(v.ready,1);else if(i.addEventListener)i.addEventListener("DOMContentLoaded",A,!1),e.addEventListener("load",v.ready,!1);else{i.attachEvent("onreadystatechange",A),e.attachEvent("onload",v.ready);var n=!1;try{n=e.frameElement==null&&i.documentElement}catch(s){}n&&n.doScroll&&function o(){if(!v.isReady){try{n.doScroll("left")}catch(e){return setTimeout(o,50)}v.ready()}}()}}return r.promise(t)},v.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(e,t){O["[object "+t+"]"]=t.toLowerCase()}),n=v(i);var M={};v.Callbacks=function(e){e=typeof e=="string"?M[e]||_(e):v.extend({},e);var n,r,i,s,o,u,a=[],f=!e.once&&[],l=function(t){n=e.memory&&t,r=!0,u=s||0,s=0,o=a.length,i=!0;for(;a&&u<o;u++)if(a[u].apply(t[0],t[1])===!1&&e.stopOnFalse){n=!1;break}i=!1,a&&(f?f.length&&l(f.shift()):n?a=[]:c.disable())},c={add:function(){if(a){var t=a.length;(function r(t){v.each(t,function(t,n){var i=v.type(n);i==="function"?(!e.unique||!c.has(n))&&a.push(n):n&&n.length&&i!=="string"&&r(n)})})(arguments),i?o=a.length:n&&(s=t,l(n))}return this},remove:function(){return a&&v.each(arguments,function(e,t){var n;while((n=v.inArray(t,a,n))>-1)a.splice(n,1),i&&(n<=o&&o--,n<=u&&u--)}),this},has:function(e){return v.inArray(e,a)>-1},empty:function(){return a=[],this},disable:function(){return a=f=n=t,this},disabled:function(){return!a},lock:function(){return f=t,n||c.disable(),this},locked:function(){return!f},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],a&&(!r||f)&&(i?f.push(t):l(t)),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},v.extend({Deferred:function(e){var t=[["resolve","done",v.Callbacks("once memory"),"resolved"],["reject","fail",v.Callbacks("once memory"),"rejected"],["notify","progress",v.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return v.Deferred(function(n){v.each(t,function(t,r){var s=r[0],o=e[t];i[r[1]](v.isFunction(o)?function(){var e=o.apply(this,arguments);e&&v.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[s+"With"](this===i?n:this,[e])}:n[s])}),e=null}).promise()},promise:function(e){return e!=null?v.extend(e,r):r}},i={};return r.pipe=r.then,v.each(t,function(e,s){var o=s[2],u=s[3];r[s[1]]=o.add,u&&o.add(function(){n=u},t[e^1][2].disable,t[2][2].lock),i[s[0]]=o.fire,i[s[0]+"With"]=o.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=l.call(arguments),r=n.length,i=r!==1||e&&v.isFunction(e.promise)?r:0,s=i===1?e:v.Deferred(),o=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?l.call(arguments):r,n===u?s.notifyWith(t,n):--i||s.resolveWith(t,n)}},u,a,f;if(r>1){u=new Array(r),a=new Array(r),f=new Array(r);for(;t<r;t++)n[t]&&v.isFunction(n[t].promise)?n[t].promise().done(o(t,f,n)).fail(s.reject).progress(o(t,a,u)):--i}return i||s.resolveWith(f,n),s.promise()}}),v.support=function(){var t,n,r,s,o,u,a,f,l,c,h,p=i.createElement("div");p.setAttribute("className","t"),p.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=p.getElementsByTagName("*"),r=p.getElementsByTagName("a")[0];if(!n||!r||!n.length)return{};s=i.createElement("select"),o=s.appendChild(i.createElement("option")),u=p.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:r.getAttribute("href")==="/a",opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:u.value==="on",optSelected:o.selected,getSetAttribute:p.className!=="t",enctype:!!i.createElement("form").enctype,html5Clone:i.createElement("nav").cloneNode(!0).outerHTML!=="<:nav></:nav>",boxModel:i.compatMode==="CSS1Compat",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},u.checked=!0,t.noCloneChecked=u.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!o.disabled;try{delete p.test}catch(d){t.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",h=function(){t.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick"),p.detachEvent("onclick",h)),u=i.createElement("input"),u.value="t",u.setAttribute("type","radio"),t.radioValue=u.value==="t",u.setAttribute("checked","checked"),u.setAttribute("name","t"),p.appendChild(u),a=i.createDocumentFragment(),a.appendChild(p.lastChild),t.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,t.appendChecked=u.checked,a.removeChild(u),a.appendChild(p);if(p.attachEvent)for(l in{submit:!0,change:!0,focusin:!0})f="on"+l,c=f in p,c||(p.setAttribute(f,"return;"),c=typeof p[f]=="function"),t[l+"Bubbles"]=c;return v(function(){var n,r,s,o,u="padding:0;margin:0;border:0;display:block;overflow:hidden;",a=i.getElementsByTagName("body")[0];if(!a)return;n=i.createElement("div"),n.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",a.insertBefore(n,a.firstChild),r=i.createElement("div"),n.appendChild(r),r.innerHTML="<table><tr><td></td><td>t</td></tr></table>",s=r.getElementsByTagName("td"),s[0].style.cssText="padding:0;margin:0;border:0;display:none",c=s[0].offsetHeight===0,s[0].style.display="",s[1].style.display="none",t.reliableHiddenOffsets=c&&s[0].offsetHeight===0,r.innerHTML="",r.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=r.offsetWidth===4,t.doesNotIncludeMarginInBodyOffset=a.offsetTop!==1,e.getComputedStyle&&(t.pixelPosition=(e.getComputedStyle(r,null)||{}).top!=="1%",t.boxSizingReliable=(e.getComputedStyle(r,null)||{width:"4px"}).width==="4px",o=i.createElement("div"),o.style.cssText=r.style.cssText=u,o.style.marginRight=o.style.width="0",r.style.width="1px",r.appendChild(o),t.reliableMarginRight=!parseFloat((e.getComputedStyle(o,null)||{}).marginRight)),typeof r.style.zoom!="undefined"&&(r.innerHTML="",r.style.cssText=u+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=r.offsetWidth===3,r.style.display="block",r.style.overflow="visible",r.innerHTML="<div></div>",r.firstChild.style.width="5px",t.shrinkWrapBlocks=r.offsetWidth!==3,n.style.zoom=1),a.removeChild(n),n=r=s=o=null}),a.removeChild(p),n=r=s=o=u=a=p=null,t}();var D=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;v.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(v.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?v.cache[e[v.expando]]:e[v.expando],!!e&&!B(e)},data:function(e,n,r,i){if(!v.acceptData(e))return;var s,o,u=v.expando,a=typeof n=="string",f=e.nodeType,l=f?v.cache:e,c=f?e[u]:e[u]&&u;if((!c||!l[c]||!i&&!l[c].data)&&a&&r===t)return;c||(f?e[u]=c=v.deletedIds.pop()||v.guid++:c=u),l[c]||(l[c]={},f||(l[c].toJSON=v.noop));if(typeof n=="object"||typeof n=="function")i?l[c]=v.extend(l[c],n):l[c].data=v.extend(l[c].data,n);return s=l[c],i||(s.data||(s.data={}),s=s.data),r!==t&&(s[v.camelCase(n)]=r),a?(o=s[n],o==null&&(o=s[v.camelCase(n)])):o=s,o},removeData:function(e,t,n){if(!v.acceptData(e))return;var r,i,s,o=e.nodeType,u=o?v.cache:e,a=o?e[v.expando]:v.expando;if(!u[a])return;if(t){r=n?u[a]:u[a].data;if(r){v.isArray(t)||(t in r?t=[t]:(t=v.camelCase(t),t in r?t=[t]:t=t.split(" ")));for(i=0,s=t.length;i<s;i++)delete r[t[i]];if(!(n?B:v.isEmptyObject)(r))return}}if(!n){delete u[a].data;if(!B(u[a]))return}o?v.cleanData([e],!0):v.support.deleteExpando||u!=u.window?delete u[a]:u[a]=null},_data:function(e,t,n){return v.data(e,t,n,!0)},acceptData:function(e){var t=e.nodeName&&v.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),v.fn.extend({data:function(e,n){var r,i,s,o,u,a=this[0],f=0,l=null;if(e===t){if(this.length){l=v.data(a);if(a.nodeType===1&&!v._data(a,"parsedAttrs")){s=a.attributes;for(u=s.length;f<u;f++)o=s[f].name,o.indexOf("data-")||(o=v.camelCase(o.substring(5)),H(a,o,l[o]));v._data(a,"parsedAttrs",!0)}}return l}return typeof e=="object"?this.each(function(){v.data(this,e)}):(r=e.split(".",2),r[1]=r[1]?"."+r[1]:"",i=r[1]+"!",v.access(this,function(n){if(n===t)return l=this.triggerHandler("getData"+i,[r[0]]),l===t&&a&&(l=v.data(a,e),l=H(a,e,l)),l===t&&r[1]?this.data(r[0]):l;r[1]=n,this.each(function(){var t=v(this);t.triggerHandler("setData"+i,r),v.data(this,e,n),t.triggerHandler("changeData"+i,r)})},null,n,arguments.length>1,null,!1))},removeData:function(e){return this.each(function(){v.removeData(this,e)})}}),v.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=v._data(e,t),n&&(!r||v.isArray(n)?r=v._data(e,t,v.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=v.queue(e,t),r=n.length,i=n.shift(),s=v._queueHooks(e,t),o=function(){v.dequeue(e,t)};i==="inprogress"&&(i=n.shift(),r--),i&&(t==="fx"&&n.unshift("inprogress"),delete s.stop,i.call(e,o,s)),!r&&s&&s.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return v._data(e,n)||v._data(e,n,{empty:v.Callbacks("once memory").add(function(){v.removeData(e,t+"queue",!0),v.removeData(e,n,!0)})})}}),v.fn.extend({queue:function(e,n){var r=2;return typeof e!="string"&&(n=e,e="fx",r--),arguments.length<r?v.queue(this[0],e):n===t?this:this.each(function(){var t=v.queue(this,e,n);v._queueHooks(this,e),e==="fx"&&t[0]!=="inprogress"&&v.dequeue(this,e)})},dequeue:function(e){return this.each(function(){v.dequeue(this,e)})},delay:function(e,t){return e=v.fx?v.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,s=v.Deferred(),o=this,u=this.length,a=function(){--i||s.resolveWith(o,[o])};typeof e!="string"&&(n=e,e=t),e=e||"fx";while(u--)r=v._data(o[u],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(a));return a(),s.promise(n)}});var j,F,I,q=/[\t\r\n]/g,R=/\r/g,U=/^(?:button|input)$/i,z=/^(?:button|input|object|select|textarea)$/i,W=/^a(?:rea|)$/i,X=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,V=v.support.getSetAttribute;v.fn.extend({attr:function(e,t){return v.access(this,v.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){v.removeAttr(this,e)})},prop:function(e,t){return v.access(this,v.prop,e,t,arguments.length>1)},removeProp:function(e){return e=v.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,s,o,u;if(v.isFunction(e))return this.each(function(t){v(this).addClass(e.call(this,t,this.className))});if(e&&typeof e=="string"){t=e.split(y);for(n=0,r=this.length;n<r;n++){i=this[n];if(i.nodeType===1)if(!i.className&&t.length===1)i.className=e;else{s=" "+i.className+" ";for(o=0,u=t.length;o<u;o++)s.indexOf(" "+t[o]+" ")<0&&(s+=t[o]+" ");i.className=v.trim(s)}}}return this},removeClass:function(e){var n,r,i,s,o,u,a;if(v.isFunction(e))return this.each(function(t){v(this).removeClass(e.call(this,t,this.className))});if(e&&typeof e=="string"||e===t){n=(e||"").split(y);for(u=0,a=this.length;u<a;u++){i=this[u];if(i.nodeType===1&&i.className){r=(" "+i.className+" ").replace(q," ");for(s=0,o=n.length;s<o;s++)while(r.indexOf(" "+n[s]+" ")>=0)r=r.replace(" "+n[s]+" "," ");i.className=e?v.trim(r):""}}}return this},toggleClass:function(e,t){var n=typeof e,r=typeof t=="boolean";return v.isFunction(e)?this.each(function(n){v(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if(n==="string"){var i,s=0,o=v(this),u=t,a=e.split(y);while(i=a[s++])u=r?u:!o.hasClass(i),o[u?"addClass":"removeClass"](i)}else if(n==="undefined"||n==="boolean")this.className&&v._data(this,"__className__",this.className),this.className=this.className||e===!1?"":v._data(this,"__className__")||""})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;n<r;n++)if(this[n].nodeType===1&&(" "+this[n].className+" ").replace(q," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,s=this[0];if(!arguments.length){if(s)return n=v.valHooks[s.type]||v.valHooks[s.nodeName.toLowerCase()],n&&"get"in n&&(r=n.get(s,"value"))!==t?r:(r=s.value,typeof r=="string"?r.replace(R,""):r==null?"":r);return}return i=v.isFunction(e),this.each(function(r){var s,o=v(this);if(this.nodeType!==1)return;i?s=e.call(this,r,o.val()):s=e,s==null?s="":typeof s=="number"?s+="":v.isArray(s)&&(s=v.map(s,function(e){return e==null?"":e+""})),n=v.valHooks[this.type]||v.valHooks[this.nodeName.toLowerCase()];if(!n||!("set"in n)||n.set(this,s,"value")===t)this.value=s})}}),v.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,s=e.type==="select-one"||i<0,o=s?null:[],u=s?i+1:r.length,a=i<0?u:s?i:0;for(;a<u;a++){n=r[a];if((n.selected||a===i)&&(v.support.optDisabled?!n.disabled:n.getAttribute("disabled")===null)&&(!n.parentNode.disabled||!v.nodeName(n.parentNode,"optgroup"))){t=v(n).val();if(s)return t;o.push(t)}}return o},set:function(e,t){var n=v.makeArray(t);return v(e).find("option").each(function(){this.selected=v.inArray(v(this).val(),n)>=0}),n.length||(e.selectedIndex=-1),n}}},attrFn:{},attr:function(e,n,r,i){var s,o,u,a=e.nodeType;if(!e||a===3||a===8||a===2)return;if(i&&v.isFunction(v.fn[n]))return v(e)[n](r);if(typeof e.getAttribute=="undefined")return v.prop(e,n,r);u=a!==1||!v.isXMLDoc(e),u&&(n=n.toLowerCase(),o=v.attrHooks[n]||(X.test(n)?F:j));if(r!==t){if(r===null){v.removeAttr(e,n);return}return o&&"set"in o&&u&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r)}return o&&"get"in o&&u&&(s=o.get(e,n))!==null?s:(s=e.getAttribute(n),s===null?t:s)},removeAttr:function(e,t){var n,r,i,s,o=0;if(t&&e.nodeType===1){r=t.split(y);for(;o<r.length;o++)i=r[o],i&&(n=v.propFix[i]||i,s=X.test(i),s||v.attr(e,i,""),e.removeAttribute(V?i:n),s&&n in e&&(e[n]=!1))}},attrHooks:{type:{set:function(e,t){if(U.test(e.nodeName)&&e.parentNode)v.error("type property can't be changed");else if(!v.support.radioValue&&t==="radio"&&v.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}},value:{get:function(e,t){return j&&v.nodeName(e,"button")?j.get(e,t):t in e?e.value:null},set:function(e,t,n){if(j&&v.nodeName(e,"button"))return j.set(e,t,n);e.value=t}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(e,n,r){var i,s,o,u=e.nodeType;if(!e||u===3||u===8||u===2)return;return o=u!==1||!v.isXMLDoc(e),o&&(n=v.propFix[n]||n,s=v.propHooks[n]),r!==t?s&&"set"in s&&(i=s.set(e,r,n))!==t?i:e[n]=r:s&&"get"in s&&(i=s.get(e,n))!==null?i:e[n]},propHooks:{tabIndex:{get:function(e){var n=e.getAttributeNode("tabindex");return n&&n.specified?parseInt(n.value,10):z.test(e.nodeName)||W.test(e.nodeName)&&e.href?0:t}}}}),F={get:function(e,n){var r,i=v.prop(e,n);return i===!0||typeof i!="boolean"&&(r=e.getAttributeNode(n))&&r.nodeValue!==!1?n.toLowerCase():t},set:function(e,t,n){var r;return t===!1?v.removeAttr(e,n):(r=v.propFix[n]||n,r in e&&(e[r]=!0),e.setAttribute(n,n.toLowerCase())),n}},V||(I={name:!0,id:!0,coords:!0},j=v.valHooks.button={get:function(e,n){var r;return r=e.getAttributeNode(n),r&&(I[n]?r.value!=="":r.specified)?r.value:t},set:function(e,t,n){var r=e.getAttributeNode(n);return r||(r=i.createAttribute(n),e.setAttributeNode(r)),r.value=t+""}},v.each(["width","height"],function(e,t){v.attrHooks[t]=v.extend(v.attrHooks[t],{set:function(e,n){if(n==="")return e.setAttribute(t,"auto"),n}})}),v.attrHooks.contenteditable={get:j.get,set:function(e,t,n){t===""&&(t="false"),j.set(e,t,n)}}),v.support.hrefNormalized||v.each(["href","src","width","height"],function(e,n){v.attrHooks[n]=v.extend(v.attrHooks[n],{get:function(e){var r=e.getAttribute(n,2);return r===null?t:r}})}),v.support.style||(v.attrHooks.style={get:function(e){return e.style.cssText.toLowerCase()||t},set:function(e,t){return e.style.cssText=t+""}}),v.support.optSelected||(v.propHooks.selected=v.extend(v.propHooks.selected,{get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),v.support.enctype||(v.propFix.enctype="encoding"),v.support.checkOn||v.each(["radio","checkbox"],function(){v.valHooks[this]={get:function(e){return e.getAttribute("value")===null?"on":e.value}}}),v.each(["radio","checkbox"],function(){v.valHooks[this]=v.extend(v.valHooks[this],{set:function(e,t){if(v.isArray(t))return e.checked=v.inArray(v(e).val(),t)>=0}})});var $=/^(?:textarea|input|select)$/i,J=/^([^\.]*|)(?:\.(.+)|)$/,K=/(?:^|\s)hover(\.\S+|)\b/,Q=/^key/,G=/^(?:mouse|contextmenu)|click/,Y=/^(?:focusinfocus|focusoutblur)$/,Z=function(e){return v.event.special.hover?e:e.replace(K,"mouseenter$1 mouseleave$1")};v.event={add:function(e,n,r,i,s){var o,u,a,f,l,c,h,p,d,m,g;if(e.nodeType===3||e.nodeType===8||!n||!r||!(o=v._data(e)))return;r.handler&&(d=r,r=d.handler,s=d.selector),r.guid||(r.guid=v.guid++),a=o.events,a||(o.events=a={}),u=o.handle,u||(o.handle=u=function(e){return typeof v=="undefined"||!!e&&v.event.triggered===e.type?t:v.event.dispatch.apply(u.elem,arguments)},u.elem=e),n=v.trim(Z(n)).split(" ");for(f=0;f<n.length;f++){l=J.exec(n[f])||[],c=l[1],h=(l[2]||"").split(".").sort(),g=v.event.special[c]||{},c=(s?g.delegateType:g.bindType)||c,g=v.event.special[c]||{},p=v.extend({type:c,origType:l[1],data:i,handler:r,guid:r.guid,selector:s,needsContext:s&&v.expr.match.needsContext.test(s),namespace:h.join(".")},d),m=a[c];if(!m){m=a[c]=[],m.delegateCount=0;if(!g.setup||g.setup.call(e,i,h,u)===!1)e.addEventListener?e.addEventListener(c,u,!1):e.attachEvent&&e.attachEvent("on"+c,u)}g.add&&(g.add.call(e,p),p.handler.guid||(p.handler.guid=r.guid)),s?m.splice(m.delegateCount++,0,p):m.push(p),v.event.global[c]=!0}e=null},global:{},remove:function(e,t,n,r,i){var s,o,u,a,f,l,c,h,p,d,m,g=v.hasData(e)&&v._data(e);if(!g||!(h=g.events))return;t=v.trim(Z(t||"")).split(" ");for(s=0;s<t.length;s++){o=J.exec(t[s])||[],u=a=o[1],f=o[2];if(!u){for(u in h)v.event.remove(e,u+t[s],n,r,!0);continue}p=v.event.special[u]||{},u=(r?p.delegateType:p.bindType)||u,d=h[u]||[],l=d.length,f=f?new RegExp("(^|\\.)"+f.split(".").sort().join("\\.(?:.*\\.|)")+"(\\.|$)"):null;for(c=0;c<d.length;c++)m=d[c],(i||a===m.origType)&&(!n||n.guid===m.guid)&&(!f||f.test(m.namespace))&&(!r||r===m.selector||r==="**"&&m.selector)&&(d.splice(c--,1),m.selector&&d.delegateCount--,p.remove&&p.remove.call(e,m));d.length===0&&l!==d.length&&((!p.teardown||p.teardown.call(e,f,g.handle)===!1)&&v.removeEvent(e,u,g.handle),delete h[u])}v.isEmptyObject(h)&&(delete g.handle,v.removeData(e,"events",!0))},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(n,r,s,o){if(!s||s.nodeType!==3&&s.nodeType!==8){var u,a,f,l,c,h,p,d,m,g,y=n.type||n,b=[];if(Y.test(y+v.event.triggered))return;y.indexOf("!")>=0&&(y=y.slice(0,-1),a=!0),y.indexOf(".")>=0&&(b=y.split("."),y=b.shift(),b.sort());if((!s||v.event.customEvent[y])&&!v.event.global[y])return;n=typeof n=="object"?n[v.expando]?n:new v.Event(y,n):new v.Event(y),n.type=y,n.isTrigger=!0,n.exclusive=a,n.namespace=b.join("."),n.namespace_re=n.namespace?new RegExp("(^|\\.)"+b.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,h=y.indexOf(":")<0?"on"+y:"";if(!s){u=v.cache;for(f in u)u[f].events&&u[f].events[y]&&v.event.trigger(n,r,u[f].handle.elem,!0);return}n.result=t,n.target||(n.target=s),r=r!=null?v.makeArray(r):[],r.unshift(n),p=v.event.special[y]||{};if(p.trigger&&p.trigger.apply(s,r)===!1)return;m=[[s,p.bindType||y]];if(!o&&!p.noBubble&&!v.isWindow(s)){g=p.delegateType||y,l=Y.test(g+y)?s:s.parentNode;for(c=s;l;l=l.parentNode)m.push([l,g]),c=l;c===(s.ownerDocument||i)&&m.push([c.defaultView||c.parentWindow||e,g])}for(f=0;f<m.length&&!n.isPropagationStopped();f++)l=m[f][0],n.type=m[f][1],d=(v._data(l,"events")||{})[n.type]&&v._data(l,"handle"),d&&d.apply(l,r),d=h&&l[h],d&&v.acceptData(l)&&d.apply&&d.apply(l,r)===!1&&n.preventDefault();return n.type=y,!o&&!n.isDefaultPrevented()&&(!p._default||p._default.apply(s.ownerDocument,r)===!1)&&(y!=="click"||!v.nodeName(s,"a"))&&v.acceptData(s)&&h&&s[y]&&(y!=="focus"&&y!=="blur"||n.target.offsetWidth!==0)&&!v.isWindow(s)&&(c=s[h],c&&(s[h]=null),v.event.triggered=y,s[y](),v.event.triggered=t,c&&(s[h]=c)),n.result}return},dispatch:function(n){n=v.event.fix(n||e.event);var r,i,s,o,u,a,f,c,h,p,d=(v._data(this,"events")||{})[n.type]||[],m=d.delegateCount,g=l.call(arguments),y=!n.exclusive&&!n.namespace,b=v.event.special[n.type]||{},w=[];g[0]=n,n.delegateTarget=this;if(b.preDispatch&&b.preDispatch.call(this,n)===!1)return;if(m&&(!n.button||n.type!=="click"))for(s=n.target;s!=this;s=s.parentNode||this)if(s.disabled!==!0||n.type!=="click"){u={},f=[];for(r=0;r<m;r++)c=d[r],h=c.selector,u[h]===t&&(u[h]=c.needsContext?v(h,this).index(s)>=0:v.find(h,this,null,[s]).length),u[h]&&f.push(c);f.length&&w.push({elem:s,matches:f})}d.length>m&&w.push({elem:this,matches:d.slice(m)});for(r=0;r<w.length&&!n.isPropagationStopped();r++){a=w[r],n.currentTarget=a.elem;for(i=0;i<a.matches.length&&!n.isImmediatePropagationStopped();i++){c=a.matches[i];if(y||!n.namespace&&!c.namespace||n.namespace_re&&n.namespace_re.test(c.namespace))n.data=c.data,n.handleObj=c,o=((v.event.special[c.origType]||{}).handle||c.handler).apply(a.elem,g),o!==t&&(n.result=o,o===!1&&(n.preventDefault(),n.stopPropagation()))}}return b.postDispatch&&b.postDispatch.call(this,n),n.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return e.which==null&&(e.which=t.charCode!=null?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,s,o,u=n.button,a=n.fromElement;return e.pageX==null&&n.clientX!=null&&(r=e.target.ownerDocument||i,s=r.documentElement,o=r.body,e.pageX=n.clientX+(s&&s.scrollLeft||o&&o.scrollLeft||0)-(s&&s.clientLeft||o&&o.clientLeft||0),e.pageY=n.clientY+(s&&s.scrollTop||o&&o.scrollTop||0)-(s&&s.clientTop||o&&o.clientTop||0)),!e.relatedTarget&&a&&(e.relatedTarget=a===e.target?n.toElement:a),!e.which&&u!==t&&(e.which=u&1?1:u&2?3:u&4?2:0),e}},fix:function(e){if(e[v.expando])return e;var t,n,r=e,s=v.event.fixHooks[e.type]||{},o=s.props?this.props.concat(s.props):this.props;e=v.Event(r);for(t=o.length;t;)n=o[--t],e[n]=r[n];return e.target||(e.target=r.srcElement||i),e.target.nodeType===3&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,r):e},special:{load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(e,t,n){v.isWindow(this)&&(this.onbeforeunload=n)},teardown:function(e,t){this.onbeforeunload===t&&(this.onbeforeunload=null)}}},simulate:function(e,t,n,r){var i=v.extend(new v.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?v.event.trigger(i,null,t):v.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},v.event.handle=v.event.dispatch,v.removeEvent=i.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]=="undefined"&&(e[r]=null),e.detachEvent(r,n))},v.Event=function(e,t){if(!(this instanceof v.Event))return new v.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?tt:et):this.type=e,t&&v.extend(this,t),this.timeStamp=e&&e.timeStamp||v.now(),this[v.expando]=!0},v.Event.prototype={preventDefault:function(){this.isDefaultPrevented=tt;var e=this.originalEvent;if(!e)return;e.preventDefault?e.preventDefault():e.returnValue=!1},stopPropagation:function(){this.isPropagationStopped=tt;var e=this.originalEvent;if(!e)return;e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=tt,this.stopPropagation()},isDefaultPrevented:et,isPropagationStopped:et,isImmediatePropagationStopped:et},v.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){v.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,s=e.handleObj,o=s.selector;if(!i||i!==r&&!v.contains(r,i))e.type=s.origType,n=s.handler.apply(this,arguments),e.type=t;return n}}}),v.support.submitBubbles||(v.event.special.submit={setup:function(){if(v.nodeName(this,"form"))return!1;v.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=v.nodeName(n,"input")||v.nodeName(n,"button")?n.form:t;r&&!v._data(r,"_submit_attached")&&(v.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),v._data(r,"_submit_attached",!0))})},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&v.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){if(v.nodeName(this,"form"))return!1;v.event.remove(this,"._submit")}}),v.support.changeBubbles||(v.event.special.change={setup:function(){if($.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")v.event.add(this,"propertychange._change",function(e){e.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),v.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),v.event.simulate("change",this,e,!0)});return!1}v.event.add(this,"beforeactivate._change",function(e){var t=e.target;$.test(t.nodeName)&&!v._data(t,"_change_attached")&&(v.event.add(t,"change._change",function(e){this.parentNode&&!e.isSimulated&&!e.isTrigger&&v.event.simulate("change",this.parentNode,e,!0)}),v._data(t,"_change_attached",!0))})},handle:function(e){var t=e.target;if(this!==t||e.isSimulated||e.isTrigger||t.type!=="radio"&&t.type!=="checkbox")return e.handleObj.handler.apply(this,arguments)},teardown:function(){return v.event.remove(this,"._change"),!$.test(this.nodeName)}}),v.support.focusinBubbles||v.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){v.event.simulate(t,e.target,v.event.fix(e),!0)};v.event.special[t]={setup:function(){n++===0&&i.addEventListener(e,r,!0)},teardown:function(){--n===0&&i.removeEventListener(e,r,!0)}}}),v.fn.extend({on:function(e,n,r,i,s){var o,u;if(typeof e=="object"){typeof n!="string"&&(r=r||n,n=t);for(u in e)this.on(u,n,r,e[u],s);return this}r==null&&i==null?(i=n,r=n=t):i==null&&(typeof n=="string"?(i=r,r=t):(i=r,r=n,n=t));if(i===!1)i=et;else if(!i)return this;return s===1&&(o=i,i=function(e){return v().off(e),o.apply(this,arguments)},i.guid=o.guid||(o.guid=v.guid++)),this.each(function(){v.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,s;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,v(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if(typeof e=="object"){for(s in e)this.off(s,n,e[s]);return this}if(n===!1||typeof n=="function")r=n,n=t;return r===!1&&(r=et),this.each(function(){v.event.remove(this,e,r,n)})},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},live:function(e,t,n){return v(this.context).on(e,this.selector,t,n),this},die:function(e,t){return v(this.context).off(e,this.selector||"**",t),this},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return arguments.length===1?this.off(e,"**"):this.off(t,e||"**",n)},trigger:function(e,t){return this.each(function(){v.event.trigger(e,t,this)})},triggerHandler:function(e,t){if(this[0])return v.event.trigger(e,t,this[0],!0)},toggle:function(e){var t=arguments,n=e.guid||v.guid++,r=0,i=function(n){var i=(v._data(this,"lastToggle"+e.guid)||0)%r;return v._data(this,"lastToggle"+e.guid,i+1),n.preventDefault(),t[i].apply(this,arguments)||!1};i.guid=n;while(r<t.length)t[r++].guid=n;return this.click(i)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),v.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){v.fn[t]=function(e,n){return n==null&&(n=e,e=null),arguments.length>0?this.on(t,null,e,n):this.trigger(t)},Q.test(t)&&(v.event.fixHooks[t]=v.event.keyHooks),G.test(t)&&(v.event.fixHooks[t]=v.event.mouseHooks)}),function(e,t){function nt(e,t,n,r){n=n||[],t=t||g;var i,s,a,f,l=t.nodeType;if(!e||typeof e!="string")return n;if(l!==1&&l!==9)return[];a=o(t);if(!a&&!r)if(i=R.exec(e))if(f=i[1]){if(l===9){s=t.getElementById(f);if(!s||!s.parentNode)return n;if(s.id===f)return n.push(s),n}else if(t.ownerDocument&&(s=t.ownerDocument.getElementById(f))&&u(t,s)&&s.id===f)return n.push(s),n}else{if(i[2])return S.apply(n,x.call(t.getElementsByTagName(e),0)),n;if((f=i[3])&&Z&&t.getElementsByClassName)return S.apply(n,x.call(t.getElementsByClassName(f),0)),n}return vt(e.replace(j,"$1"),t,n,r,a)}function rt(e){return function(t){var n=t.nodeName.toLowerCase();return n==="input"&&t.type===e}}function it(e){return function(t){var n=t.nodeName.toLowerCase();return(n==="input"||n==="button")&&t.type===e}}function st(e){return N(function(t){return t=+t,N(function(n,r){var i,s=e([],n.length,t),o=s.length;while(o--)n[i=s[o]]&&(n[i]=!(r[i]=n[i]))})})}function ot(e,t,n){if(e===t)return n;var r=e.nextSibling;while(r){if(r===t)return-1;r=r.nextSibling}return 1}function ut(e,t){var n,r,s,o,u,a,f,l=L[d][e+" "];if(l)return t?0:l.slice(0);u=e,a=[],f=i.preFilter;while(u){if(!n||(r=F.exec(u)))r&&(u=u.slice(r[0].length)||u),a.push(s=[]);n=!1;if(r=I.exec(u))s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=r[0].replace(j," ");for(o in i.filter)(r=J[o].exec(u))&&(!f[o]||(r=f[o](r)))&&(s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=o,n.matches=r);if(!n)break}return t?u.length:u?nt.error(e):L(e,a).slice(0)}function at(e,t,r){var i=t.dir,s=r&&t.dir==="parentNode",o=w++;return t.first?function(t,n,r){while(t=t[i])if(s||t.nodeType===1)return e(t,n,r)}:function(t,r,u){if(!u){var a,f=b+" "+o+" ",l=f+n;while(t=t[i])if(s||t.nodeType===1){if((a=t[d])===l)return t.sizset;if(typeof a=="string"&&a.indexOf(f)===0){if(t.sizset)return t}else{t[d]=l;if(e(t,r,u))return t.sizset=!0,t;t.sizset=!1}}}else while(t=t[i])if(s||t.nodeType===1)if(e(t,r,u))return t}}function ft(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function lt(e,t,n,r,i){var s,o=[],u=0,a=e.length,f=t!=null;for(;u<a;u++)if(s=e[u])if(!n||n(s,r,i))o.push(s),f&&t.push(u);return o}function ct(e,t,n,r,i,s){return r&&!r[d]&&(r=ct(r)),i&&!i[d]&&(i=ct(i,s)),N(function(s,o,u,a){var f,l,c,h=[],p=[],d=o.length,v=s||dt(t||"*",u.nodeType?[u]:u,[]),m=e&&(s||!t)?lt(v,h,e,u,a):v,g=n?i||(s?e:d||r)?[]:o:m;n&&n(m,g,u,a);if(r){f=lt(g,p),r(f,[],u,a),l=f.length;while(l--)if(c=f[l])g[p[l]]=!(m[p[l]]=c)}if(s){if(i||e){if(i){f=[],l=g.length;while(l--)(c=g[l])&&f.push(m[l]=c);i(null,g=[],f,a)}l=g.length;while(l--)(c=g[l])&&(f=i?T.call(s,c):h[l])>-1&&(s[f]=!(o[f]=c))}}else g=lt(g===o?g.splice(d,g.length):g),i?i(null,o,g,a):S.apply(o,g)})}function ht(e){var t,n,r,s=e.length,o=i.relative[e[0].type],u=o||i.relative[" "],a=o?1:0,f=at(function(e){return e===t},u,!0),l=at(function(e){return T.call(t,e)>-1},u,!0),h=[function(e,n,r){return!o&&(r||n!==c)||((t=n).nodeType?f(e,n,r):l(e,n,r))}];for(;a<s;a++)if(n=i.relative[e[a].type])h=[at(ft(h),n)];else{n=i.filter[e[a].type].apply(null,e[a].matches);if(n[d]){r=++a;for(;r<s;r++)if(i.relative[e[r].type])break;return ct(a>1&&ft(h),a>1&&e.slice(0,a-1).join("").replace(j,"$1"),n,a<r&&ht(e.slice(a,r)),r<s&&ht(e=e.slice(r)),r<s&&e.join(""))}h.push(n)}return ft(h)}function pt(e,t){var r=t.length>0,s=e.length>0,o=function(u,a,f,l,h){var p,d,v,m=[],y=0,w="0",x=u&&[],T=h!=null,N=c,C=u||s&&i.find.TAG("*",h&&a.parentNode||a),k=b+=N==null?1:Math.E;T&&(c=a!==g&&a,n=o.el);for(;(p=C[w])!=null;w++){if(s&&p){for(d=0;v=e[d];d++)if(v(p,a,f)){l.push(p);break}T&&(b=k,n=++o.el)}r&&((p=!v&&p)&&y--,u&&x.push(p))}y+=w;if(r&&w!==y){for(d=0;v=t[d];d++)v(x,m,a,f);if(u){if(y>0)while(w--)!x[w]&&!m[w]&&(m[w]=E.call(l));m=lt(m)}S.apply(l,m),T&&!u&&m.length>0&&y+t.length>1&&nt.uniqueSort(l)}return T&&(b=k,c=N),x};return o.el=0,r?N(o):o}function dt(e,t,n){var r=0,i=t.length;for(;r<i;r++)nt(e,t[r],n);return n}function vt(e,t,n,r,s){var o,u,f,l,c,h=ut(e),p=h.length;if(!r&&h.length===1){u=h[0]=h[0].slice(0);if(u.length>2&&(f=u[0]).type==="ID"&&t.nodeType===9&&!s&&i.relative[u[1].type]){t=i.find.ID(f.matches[0].replace($,""),t,s)[0];if(!t)return n;e=e.slice(u.shift().length)}for(o=J.POS.test(e)?-1:u.length-1;o>=0;o--){f=u[o];if(i.relative[l=f.type])break;if(c=i.find[l])if(r=c(f.matches[0].replace($,""),z.test(u[0].type)&&t.parentNode||t,s)){u.splice(o,1),e=r.length&&u.join("");if(!e)return S.apply(n,x.call(r,0)),n;break}}}return a(e,h)(r,t,s,n,z.test(e)),n}function mt(){}var n,r,i,s,o,u,a,f,l,c,h=!0,p="undefined",d=("sizcache"+Math.random()).replace(".",""),m=String,g=e.document,y=g.documentElement,b=0,w=0,E=[].pop,S=[].push,x=[].slice,T=[].indexOf||function(e){var t=0,n=this.length;for(;t<n;t++)if(this[t]===e)return t;return-1},N=function(e,t){return e[d]=t==null||t,e},C=function(){var e={},t=[];return N(function(n,r){return t.push(n)>i.cacheLength&&delete e[t.shift()],e[n+" "]=r},e)},k=C(),L=C(),A=C(),O="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",_=M.replace("w","w#"),D="([*^$|!~]?=)",P="\\["+O+"*("+M+")"+O+"*(?:"+D+O+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+_+")|)|)"+O+"*\\]",H=":("+M+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+P+")|[^:]|\\\\.)*|.*))\\)|)",B=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+O+"*((?:-\\d)?\\d*)"+O+"*\\)|)(?=[^-]|$)",j=new RegExp("^"+O+"+|((?:^|[^\\\\])(?:\\\\.)*)"+O+"+$","g"),F=new RegExp("^"+O+"*,"+O+"*"),I=new RegExp("^"+O+"*([\\x20\\t\\r\\n\\f>+~])"+O+"*"),q=new RegExp(H),R=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,U=/^:not/,z=/[\x20\t\r\n\f]*[+~]/,W=/:not\($/,X=/h\d/i,V=/input|select|textarea|button/i,$=/\\(?!\\)/g,J={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),NAME:new RegExp("^\\[name=['\"]?("+M+")['\"]?\\]"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+H),POS:new RegExp(B,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+O+"*(even|odd|(([+-]|)(\\d*)n|)"+O+"*(?:([+-]|)"+O+"*(\\d+)|))"+O+"*\\)|)","i"),needsContext:new RegExp("^"+O+"*[>+~]|"+B,"i")},K=function(e){var t=g.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}},Q=K(function(e){return e.appendChild(g.createComment("")),!e.getElementsByTagName("*").length}),G=K(function(e){return e.innerHTML="<a href='#'></a>",e.firstChild&&typeof e.firstChild.getAttribute!==p&&e.firstChild.getAttribute("href")==="#"}),Y=K(function(e){e.innerHTML="<select></select>";var t=typeof e.lastChild.getAttribute("multiple");return t!=="boolean"&&t!=="string"}),Z=K(function(e){return e.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",!e.getElementsByClassName||!e.getElementsByClassName("e").length?!1:(e.lastChild.className="e",e.getElementsByClassName("e").length===2)}),et=K(function(e){e.id=d+0,e.innerHTML="<a name='"+d+"'></a><div name='"+d+"'></div>",y.insertBefore(e,y.firstChild);var t=g.getElementsByName&&g.getElementsByName(d).length===2+g.getElementsByName(d+0).length;return r=!g.getElementById(d),y.removeChild(e),t});try{x.call(y.childNodes,0)[0].nodeType}catch(tt){x=function(e){var t,n=[];for(;t=this[e];e++)n.push(t);return n}}nt.matches=function(e,t){return nt(e,null,null,t)},nt.matchesSelector=function(e,t){return nt(t,null,null,[e]).length>0},s=nt.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(i===1||i===9||i===11){if(typeof e.textContent=="string")return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=s(e)}else if(i===3||i===4)return e.nodeValue}else for(;t=e[r];r++)n+=s(t);return n},o=nt.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?t.nodeName!=="HTML":!1},u=nt.contains=y.contains?function(e,t){var n=e.nodeType===9?e.documentElement:e,r=t&&t.parentNode;return e===r||!!(r&&r.nodeType===1&&n.contains&&n.contains(r))}:y.compareDocumentPosition?function(e,t){return t&&!!(e.compareDocumentPosition(t)&16)}:function(e,t){while(t=t.parentNode)if(t===e)return!0;return!1},nt.attr=function(e,t){var n,r=o(e);return r||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):r||Y?e.getAttribute(t):(n=e.getAttributeNode(t),n?typeof e[t]=="boolean"?e[t]?t:null:n.specified?n.value:null:null)},i=nt.selectors={cacheLength:50,createPseudo:N,match:J,attrHandle:G?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},find:{ID:r?function(e,t,n){if(typeof t.getElementById!==p&&!n){var r=t.getElementById(e);return r&&r.parentNode?[r]:[]}}:function(e,n,r){if(typeof n.getElementById!==p&&!r){var i=n.getElementById(e);return i?i.id===e||typeof i.getAttributeNode!==p&&i.getAttributeNode("id").value===e?[i]:t:[]}},TAG:Q?function(e,t){if(typeof t.getElementsByTagName!==p)return t.getElementsByTagName(e)}:function(e,t){var n=t.getElementsByTagName(e);if(e==="*"){var r,i=[],s=0;for(;r=n[s];s++)r.nodeType===1&&i.push(r);return i}return n},NAME:et&&function(e,t){if(typeof t.getElementsByName!==p)return t.getElementsByName(name)},CLASS:Z&&function(e,t,n){if(typeof t.getElementsByClassName!==p&&!n)return t.getElementsByClassName(e)}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace($,""),e[3]=(e[4]||e[5]||"").replace($,""),e[2]==="~="&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),e[1]==="nth"?(e[2]||nt.error(e[0]),e[3]=+(e[3]?e[4]+(e[5]||1):2*(e[2]==="even"||e[2]==="odd")),e[4]=+(e[6]+e[7]||e[2]==="odd")):e[2]&&nt.error(e[0]),e},PSEUDO:function(e){var t,n;if(J.CHILD.test(e[0]))return null;if(e[3])e[2]=e[3];else if(t=e[4])q.test(t)&&(n=ut(t,!0))&&(n=t.indexOf(")",t.length-n)-t.length)&&(t=t.slice(0,n),e[0]=e[0].slice(0,n)),e[2]=t;return e.slice(0,3)}},filter:{ID:r?function(e){return e=e.replace($,""),function(t){return t.getAttribute("id")===e}}:function(e){return e=e.replace($,""),function(t){var n=typeof t.getAttributeNode!==p&&t.getAttributeNode("id");return n&&n.value===e}},TAG:function(e){return e==="*"?function(){return!0}:(e=e.replace($,"").toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[d][e+" "];return t||(t=new RegExp("(^|"+O+")"+e+"("+O+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==p&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r,i){var s=nt.attr(r,e);return s==null?t==="!=":t?(s+="",t==="="?s===n:t==="!="?s!==n:t==="^="?n&&s.indexOf(n)===0:t==="*="?n&&s.indexOf(n)>-1:t==="$="?n&&s.substr(s.length-n.length)===n:t==="~="?(" "+s+" ").indexOf(n)>-1:t==="|="?s===n||s.substr(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r){return e==="nth"?function(e){var t,i,s=e.parentNode;if(n===1&&r===0)return!0;if(s){i=0;for(t=s.firstChild;t;t=t.nextSibling)if(t.nodeType===1){i++;if(e===t)break}}return i-=r,i===n||i%n===0&&i/n>=0}:function(t){var n=t;switch(e){case"only":case"first":while(n=n.previousSibling)if(n.nodeType===1)return!1;if(e==="first")return!0;n=t;case"last":while(n=n.nextSibling)if(n.nodeType===1)return!1;return!0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||nt.error("unsupported pseudo: "+e);return r[d]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?N(function(e,n){var i,s=r(e,t),o=s.length;while(o--)i=T.call(e,s[o]),e[i]=!(n[i]=s[o])}):function(e){return r(e,0,n)}):r}},pseudos:{not:N(function(e){var t=[],n=[],r=a(e.replace(j,"$1"));return r[d]?N(function(e,t,n,i){var s,o=r(e,null,i,[]),u=e.length;while(u--)if(s=o[u])e[u]=!(t[u]=s)}):function(e,i,s){return t[0]=e,r(t,null,s,n),!n.pop()}}),has:N(function(e){return function(t){return nt(e,t).length>0}}),contains:N(function(e){return function(t){return(t.textContent||t.innerText||s(t)).indexOf(e)>-1}}),enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&!!e.checked||t==="option"&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},parent:function(e){return!i.pseudos.empty(e)},empty:function(e){var t;e=e.firstChild;while(e){if(e.nodeName>"@"||(t=e.nodeType)===3||t===4)return!1;e=e.nextSibling}return!0},header:function(e){return X.test(e.nodeName)},text:function(e){var t,n;return e.nodeName.toLowerCase()==="input"&&(t=e.type)==="text"&&((n=e.getAttribute("type"))==null||n.toLowerCase()===t)},radio:rt("radio"),checkbox:rt("checkbox"),file:rt("file"),password:rt("password"),image:rt("image"),submit:it("submit"),reset:it("reset"),button:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&e.type==="button"||t==="button"},input:function(e){return V.test(e.nodeName)},focus:function(e){var t=e.ownerDocument;return e===t.activeElement&&(!t.hasFocus||t.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},active:function(e){return e===e.ownerDocument.activeElement},first:st(function(){return[0]}),last:st(function(e,t){return[t-1]}),eq:st(function(e,t,n){return[n<0?n+t:n]}),even:st(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:st(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:st(function(e,t,n){for(var r=n<0?n+t:n;--r>=0;)e.push(r);return e}),gt:st(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}},f=y.compareDocumentPosition?function(e,t){return e===t?(l=!0,0):(!e.compareDocumentPosition||!t.compareDocumentPosition?e.compareDocumentPosition:e.compareDocumentPosition(t)&4)?-1:1}:function(e,t){if(e===t)return l=!0,0;if(e.sourceIndex&&t.sourceIndex)return e.sourceIndex-t.sourceIndex;var n,r,i=[],s=[],o=e.parentNode,u=t.parentNode,a=o;if(o===u)return ot(e,t);if(!o)return-1;if(!u)return 1;while(a)i.unshift(a),a=a.parentNode;a=u;while(a)s.unshift(a),a=a.parentNode;n=i.length,r=s.length;for(var f=0;f<n&&f<r;f++)if(i[f]!==s[f])return ot(i[f],s[f]);return f===n?ot(e,s[f],-1):ot(i[f],t,1)},[0,0].sort(f),h=!l,nt.uniqueSort=function(e){var t,n=[],r=1,i=0;l=h,e.sort(f);if(l){for(;t=e[r];r++)t===e[r-1]&&(i=n.push(r));while(i--)e.splice(n[i],1)}return e},nt.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},a=nt.compile=function(e,t){var n,r=[],i=[],s=A[d][e+" "];if(!s){t||(t=ut(e)),n=t.length;while(n--)s=ht(t[n]),s[d]?r.push(s):i.push(s);s=A(e,pt(i,r))}return s},g.querySelectorAll&&function(){var e,t=vt,n=/'|\\/g,r=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,i=[":focus"],s=[":active"],u=y.matchesSelector||y.mozMatchesSelector||y.webkitMatchesSelector||y.oMatchesSelector||y.msMatchesSelector;K(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||i.push("\\["+O+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||i.push(":checked")}),K(function(e){e.innerHTML="<p test=''></p>",e.querySelectorAll("[test^='']").length&&i.push("[*^$]="+O+"*(?:\"\"|'')"),e.innerHTML="<input type='hidden'/>",e.querySelectorAll(":enabled").length||i.push(":enabled",":disabled")}),i=new RegExp(i.join("|")),vt=function(e,r,s,o,u){if(!o&&!u&&!i.test(e)){var a,f,l=!0,c=d,h=r,p=r.nodeType===9&&e;if(r.nodeType===1&&r.nodeName.toLowerCase()!=="object"){a=ut(e),(l=r.getAttribute("id"))?c=l.replace(n,"\\$&"):r.setAttribute("id",c),c="[id='"+c+"'] ",f=a.length;while(f--)a[f]=c+a[f].join("");h=z.test(e)&&r.parentNode||r,p=a.join(",")}if(p)try{return S.apply(s,x.call(h.querySelectorAll(p),0)),s}catch(v){}finally{l||r.removeAttribute("id")}}return t(e,r,s,o,u)},u&&(K(function(t){e=u.call(t,"div");try{u.call(t,"[test!='']:sizzle"),s.push("!=",H)}catch(n){}}),s=new RegExp(s.join("|")),nt.matchesSelector=function(t,n){n=n.replace(r,"='$1']");if(!o(t)&&!s.test(n)&&!i.test(n))try{var a=u.call(t,n);if(a||e||t.document&&t.document.nodeType!==11)return a}catch(f){}return nt(n,null,null,[t]).length>0})}(),i.pseudos.nth=i.pseudos.eq,i.filters=mt.prototype=i.pseudos,i.setFilters=new mt,nt.attr=v.attr,v.find=nt,v.expr=nt.selectors,v.expr[":"]=v.expr.pseudos,v.unique=nt.uniqueSort,v.text=nt.getText,v.isXMLDoc=nt.isXML,v.contains=nt.contains}(e);var nt=/Until$/,rt=/^(?:parents|prev(?:Until|All))/,it=/^.[^:#\[\.,]*$/,st=v.expr.match.needsContext,ot={children:!0,contents:!0,next:!0,prev:!0};v.fn.extend({find:function(e){var t,n,r,i,s,o,u=this;if(typeof e!="string")return v(e).filter(function(){for(t=0,n=u.length;t<n;t++)if(v.contains(u[t],this))return!0});o=this.pushStack("","find",e);for(t=0,n=this.length;t<n;t++){r=o.length,v.find(e,this[t],o);if(t>0)for(i=r;i<o.length;i++)for(s=0;s<r;s++)if(o[s]===o[i]){o.splice(i--,1);break}}return o},has:function(e){var t,n=v(e,this),r=n.length;return this.filter(function(){for(t=0;t<r;t++)if(v.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e,!1),"not",e)},filter:function(e){return this.pushStack(ft(this,e,!0),"filter",e)},is:function(e){return!!e&&(typeof e=="string"?st.test(e)?v(e,this.context).index(this[0])>=0:v.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,s=[],o=st.test(e)||typeof e!="string"?v(e,t||this.context):0;for(;r<i;r++){n=this[r];while(n&&n.ownerDocument&&n!==t&&n.nodeType!==11){if(o?o.index(n)>-1:v.find.matchesSelector(n,e)){s.push(n);break}n=n.parentNode}}return s=s.length>1?v.unique(s):s,this.pushStack(s,"closest",e)},index:function(e){return e?typeof e=="string"?v.inArray(this[0],v(e)):v.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(e,t){var n=typeof e=="string"?v(e,t):v.makeArray(e&&e.nodeType?[e]:e),r=v.merge(this.get(),n);return this.pushStack(ut(n[0])||ut(r[0])?r:v.unique(r))},addBack:function(e){return this.add(e==null?this.prevObject:this.prevObject.filter(e))}}),v.fn.andSelf=v.fn.addBack,v.each({parent:function(e){var t=e.parentNode;return t&&t.nodeType!==11?t:null},parents:function(e){return v.dir(e,"parentNode")},parentsUntil:function(e,t,n){return v.dir(e,"parentNode",n)},next:function(e){return at(e,"nextSibling")},prev:function(e){return at(e,"previousSibling")},nextAll:function(e){return v.dir(e,"nextSibling")},prevAll:function(e){return v.dir(e,"previousSibling")},nextUntil:function(e,t,n){return v.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return v.dir(e,"previousSibling",n)},siblings:function(e){return v.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return v.sibling(e.firstChild)},contents:function(e){return v.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:v.merge([],e.childNodes)}},function(e,t){v.fn[e]=function(n,r){var i=v.map(this,t,n);return nt.test(e)||(r=n),r&&typeof r=="string"&&(i=v.filter(r,i)),i=this.length>1&&!ot[e]?v.unique(i):i,this.length>1&&rt.test(e)&&(i=i.reverse()),this.pushStack(i,e,l.call(arguments).join(","))}}),v.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),t.length===1?v.find.matchesSelector(t[0],e)?[t[0]]:[]:v.find.matches(e,t)},dir:function(e,n,r){var i=[],s=e[n];while(s&&s.nodeType!==9&&(r===t||s.nodeType!==1||!v(s).is(r)))s.nodeType===1&&i.push(s),s=s[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)e.nodeType===1&&e!==t&&n.push(e);return n}});var ct="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ht=/ jQuery\d+="(?:null|\d+)"/g,pt=/^\s+/,dt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,vt=/<([\w:]+)/,mt=/<tbody/i,gt=/<|&#?\w+;/,yt=/<(?:script|style|link)/i,bt=/<(?:script|object|embed|option|style)/i,wt=new RegExp("<(?:"+ct+")[\\s/>]","i"),Et=/^(?:checkbox|radio)$/,St=/checked\s*(?:[^=]|=\s*.checked.)/i,xt=/\/(java|ecma)script/i,Tt=/^\s*<!(?:\[CDATA\[|\-\-)|[\]\-]{2}>\s*$/g,Nt={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},Ct=lt(i),kt=Ct.appendChild(i.createElement("div"));Nt.optgroup=Nt.option,Nt.tbody=Nt.tfoot=Nt.colgroup=Nt.caption=Nt.thead,Nt.th=Nt.td,v.support.htmlSerialize||(Nt._default=[1,"X<div>","</div>"]),v.fn.extend({text:function(e){return v.access(this,function(e){return e===t?v.text(this):this.empty().append((this[0]&&this[0].ownerDocument||i).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(v.isFunction(e))return this.each(function(t){v(this).wrapAll(e.call(this,t))});if(this[0]){var t=v(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&e.firstChild.nodeType===1)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return v.isFunction(e)?this.each(function(t){v(this).wrapInner(e.call(this,t))}):this.each(function(){var t=v(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=v.isFunction(e);return this.each(function(n){v(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){v.nodeName(this,"body")||v(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(e,this.firstChild)})},before:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(e,this),"before",this.selector)}},after:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this.nextSibling)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(this,e),"after",this.selector)}},remove:function(e,t){var n,r=0;for(;(n=this[r])!=null;r++)if(!e||v.filter(e,[n]).length)!t&&n.nodeType===1&&(v.cleanData(n.getElementsByTagName("*")),v.cleanData([n])),n.parentNode&&n.parentNode.removeChild(n);return this},empty:function(){var e,t=0;for(;(e=this[t])!=null;t++){e.nodeType===1&&v.cleanData(e.getElementsByTagName("*"));while(e.firstChild)e.removeChild(e.firstChild)}return this},clone:function(e,t){return e=e==null?!1:e,t=t==null?e:t,this.map(function(){return v.clone(this,e,t)})},html:function(e){return v.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return n.nodeType===1?n.innerHTML.replace(ht,""):t;if(typeof e=="string"&&!yt.test(e)&&(v.support.htmlSerialize||!wt.test(e))&&(v.support.leadingWhitespace||!pt.test(e))&&!Nt[(vt.exec(e)||["",""])[1].toLowerCase()]){e=e.replace(dt,"<$1></$2>");try{for(;r<i;r++)n=this[r]||{},n.nodeType===1&&(v.cleanData(n.getElementsByTagName("*")),n.innerHTML=e);n=0}catch(s){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){return ut(this[0])?this.length?this.pushStack(v(v.isFunction(e)?e():e),"replaceWith",e):this:v.isFunction(e)?this.each(function(t){var n=v(this),r=n.html();n.replaceWith(e.call(this,t,r))}):(typeof e!="string"&&(e=v(e).detach()),this.each(function(){var t=this.nextSibling,n=this.parentNode;v(this).remove(),t?v(t).before(e):v(n).append(e)}))},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,r){e=[].concat.apply([],e);var i,s,o,u,a=0,f=e[0],l=[],c=this.length;if(!v.support.checkClone&&c>1&&typeof f=="string"&&St.test(f))return this.each(function(){v(this).domManip(e,n,r)});if(v.isFunction(f))return this.each(function(i){var s=v(this);e[0]=f.call(this,i,n?s.html():t),s.domManip(e,n,r)});if(this[0]){i=v.buildFragment(e,this,l),o=i.fragment,s=o.firstChild,o.childNodes.length===1&&(o=s);if(s){n=n&&v.nodeName(s,"tr");for(u=i.cacheable||c-1;a<c;a++)r.call(n&&v.nodeName(this[a],"table")?Lt(this[a],"tbody"):this[a],a===u?o:v.clone(o,!0,!0))}o=s=null,l.length&&v.each(l,function(e,t){t.src?v.ajax?v.ajax({url:t.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):v.error("no ajax"):v.globalEval((t.text||t.textContent||t.innerHTML||"").replace(Tt,"")),t.parentNode&&t.parentNode.removeChild(t)})}return this}}),v.buildFragment=function(e,n,r){var s,o,u,a=e[0];return n=n||i,n=!n.nodeType&&n[0]||n,n=n.ownerDocument||n,e.length===1&&typeof a=="string"&&a.length<512&&n===i&&a.charAt(0)==="<"&&!bt.test(a)&&(v.support.checkClone||!St.test(a))&&(v.support.html5Clone||!wt.test(a))&&(o=!0,s=v.fragments[a],u=s!==t),s||(s=n.createDocumentFragment(),v.clean(e,n,s,r),o&&(v.fragments[a]=u&&s)),{fragment:s,cacheable:o}},v.fragments={},v.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){v.fn[e]=function(n){var r,i=0,s=[],o=v(n),u=o.length,a=this.length===1&&this[0].parentNode;if((a==null||a&&a.nodeType===11&&a.childNodes.length===1)&&u===1)return o[t](this[0]),this;for(;i<u;i++)r=(i>0?this.clone(!0):this).get(),v(o[i])[t](r),s=s.concat(r);return this.pushStack(s,e,o.selector)}}),v.extend({clone:function(e,t,n){var r,i,s,o;v.support.html5Clone||v.isXMLDoc(e)||!wt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(kt.innerHTML=e.outerHTML,kt.removeChild(o=kt.firstChild));if((!v.support.noCloneEvent||!v.support.noCloneChecked)&&(e.nodeType===1||e.nodeType===11)&&!v.isXMLDoc(e)){Ot(e,o),r=Mt(e),i=Mt(o);for(s=0;r[s];++s)i[s]&&Ot(r[s],i[s])}if(t){At(e,o);if(n){r=Mt(e),i=Mt(o);for(s=0;r[s];++s)At(r[s],i[s])}}return r=i=null,o},clean:function(e,t,n,r){var s,o,u,a,f,l,c,h,p,d,m,g,y=t===i&&Ct,b=[];if(!t||typeof t.createDocumentFragment=="undefined")t=i;for(s=0;(u=e[s])!=null;s++){typeof u=="number"&&(u+="");if(!u)continue;if(typeof u=="string")if(!gt.test(u))u=t.createTextNode(u);else{y=y||lt(t),c=t.createElement("div"),y.appendChild(c),u=u.replace(dt,"<$1></$2>"),a=(vt.exec(u)||["",""])[1].toLowerCase(),f=Nt[a]||Nt._default,l=f[0],c.innerHTML=f[1]+u+f[2];while(l--)c=c.lastChild;if(!v.support.tbody){h=mt.test(u),p=a==="table"&&!h?c.firstChild&&c.firstChild.childNodes:f[1]==="<table>"&&!h?c.childNodes:[];for(o=p.length-1;o>=0;--o)v.nodeName(p[o],"tbody")&&!p[o].childNodes.length&&p[o].parentNode.removeChild(p[o])}!v.support.leadingWhitespace&&pt.test(u)&&c.insertBefore(t.createTextNode(pt.exec(u)[0]),c.firstChild),u=c.childNodes,c.parentNode.removeChild(c)}u.nodeType?b.push(u):v.merge(b,u)}c&&(u=c=y=null);if(!v.support.appendChecked)for(s=0;(u=b[s])!=null;s++)v.nodeName(u,"input")?_t(u):typeof u.getElementsByTagName!="undefined"&&v.grep(u.getElementsByTagName("input"),_t);if(n){m=function(e){if(!e.type||xt.test(e.type))return r?r.push(e.parentNode?e.parentNode.removeChild(e):e):n.appendChild(e)};for(s=0;(u=b[s])!=null;s++)if(!v.nodeName(u,"script")||!m(u))n.appendChild(u),typeof u.getElementsByTagName!="undefined"&&(g=v.grep(v.merge([],u.getElementsByTagName("script")),m),b.splice.apply(b,[s+1,0].concat(g)),s+=g.length)}return b},cleanData:function(e,t){var n,r,i,s,o=0,u=v.expando,a=v.cache,f=v.support.deleteExpando,l=v.event.special;for(;(i=e[o])!=null;o++)if(t||v.acceptData(i)){r=i[u],n=r&&a[r];if(n){if(n.events)for(s in n.events)l[s]?v.event.remove(i,s):v.removeEvent(i,s,n.handle);a[r]&&(delete a[r],f?delete i[u]:i.removeAttribute?i.removeAttribute(u):i[u]=null,v.deletedIds.push(r))}}}}),function(){var e,t;v.uaMatch=function(e){e=e.toLowerCase();var t=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||e.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}},e=v.uaMatch(o.userAgent),t={},e.browser&&(t[e.browser]=!0,t.version=e.version),t.chrome?t.webkit=!0:t.webkit&&(t.safari=!0),v.browser=t,v.sub=function(){function e(t,n){return new e.fn.init(t,n)}v.extend(!0,e,this),e.superclass=this,e.fn=e.prototype=this(),e.fn.constructor=e,e.sub=this.sub,e.fn.init=function(r,i){return i&&i instanceof v&&!(i instanceof e)&&(i=e(i)),v.fn.init.call(this,r,i,t)},e.fn.init.prototype=e.fn;var t=e(i);return e}}();var Dt,Pt,Ht,Bt=/alpha\([^)]*\)/i,jt=/opacity=([^)]*)/,Ft=/^(top|right|bottom|left)$/,It=/^(none|table(?!-c[ea]).+)/,qt=/^margin/,Rt=new RegExp("^("+m+")(.*)$","i"),Ut=new RegExp("^("+m+")(?!px)[a-z%]+$","i"),zt=new RegExp("^([-+])=("+m+")","i"),Wt={BODY:"block"},Xt={position:"absolute",visibility:"hidden",display:"block"},Vt={letterSpacing:0,fontWeight:400},$t=["Top","Right","Bottom","Left"],Jt=["Webkit","O","Moz","ms"],Kt=v.fn.toggle;v.fn.extend({css:function(e,n){return v.access(this,function(e,n,r){return r!==t?v.style(e,n,r):v.css(e,n)},e,n,arguments.length>1)},show:function(){return Yt(this,!0)},hide:function(){return Yt(this)},toggle:function(e,t){var n=typeof e=="boolean";return v.isFunction(e)&&v.isFunction(t)?Kt.apply(this,arguments):this.each(function(){(n?e:Gt(this))?v(this).show():v(this).hide()})}}),v.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Dt(e,"opacity");return n===""?"1":n}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":v.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(!e||e.nodeType===3||e.nodeType===8||!e.style)return;var s,o,u,a=v.camelCase(n),f=e.style;n=v.cssProps[a]||(v.cssProps[a]=Qt(f,a)),u=v.cssHooks[n]||v.cssHooks[a];if(r===t)return u&&"get"in u&&(s=u.get(e,!1,i))!==t?s:f[n];o=typeof r,o==="string"&&(s=zt.exec(r))&&(r=(s[1]+1)*s[2]+parseFloat(v.css(e,n)),o="number");if(r==null||o==="number"&&isNaN(r))return;o==="number"&&!v.cssNumber[a]&&(r+="px");if(!u||!("set"in u)||(r=u.set(e,r,i))!==t)try{f[n]=r}catch(l){}},css:function(e,n,r,i){var s,o,u,a=v.camelCase(n);return n=v.cssProps[a]||(v.cssProps[a]=Qt(e.style,a)),u=v.cssHooks[n]||v.cssHooks[a],u&&"get"in u&&(s=u.get(e,!0,i)),s===t&&(s=Dt(e,n)),s==="normal"&&n in Vt&&(s=Vt[n]),r||i!==t?(o=parseFloat(s),r||v.isNumeric(o)?o||0:s):s},swap:function(e,t,n){var r,i,s={};for(i in t)s[i]=e.style[i],e.style[i]=t[i];r=n.call(e);for(i in t)e.style[i]=s[i];return r}}),e.getComputedStyle?Dt=function(t,n){var r,i,s,o,u=e.getComputedStyle(t,null),a=t.style;return u&&(r=u.getPropertyValue(n)||u[n],r===""&&!v.contains(t.ownerDocument,t)&&(r=v.style(t,n)),Ut.test(r)&&qt.test(n)&&(i=a.width,s=a.minWidth,o=a.maxWidth,a.minWidth=a.maxWidth=a.width=r,r=u.width,a.width=i,a.minWidth=s,a.maxWidth=o)),r}:i.documentElement.currentStyle&&(Dt=function(e,t){var n,r,i=e.currentStyle&&e.currentStyle[t],s=e.style;return i==null&&s&&s[t]&&(i=s[t]),Ut.test(i)&&!Ft.test(t)&&(n=s.left,r=e.runtimeStyle&&e.runtimeStyle.left,r&&(e.runtimeStyle.left=e.currentStyle.left),s.left=t==="fontSize"?"1em":i,i=s.pixelLeft+"px",s.left=n,r&&(e.runtimeStyle.left=r)),i===""?"auto":i}),v.each(["height","width"],function(e,t){v.cssHooks[t]={get:function(e,n,r){if(n)return e.offsetWidth===0&&It.test(Dt(e,"display"))?v.swap(e,Xt,function(){return tn(e,t,r)}):tn(e,t,r)},set:function(e,n,r){return Zt(e,n,r?en(e,t,r,v.support.boxSizing&&v.css(e,"boxSizing")==="border-box"):0)}}}),v.support.opacity||(v.cssHooks.opacity={get:function(e,t){return jt.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=v.isNumeric(t)?"alpha(opacity="+t*100+")":"",s=r&&r.filter||n.filter||"";n.zoom=1;if(t>=1&&v.trim(s.replace(Bt,""))===""&&n.removeAttribute){n.removeAttribute("filter");if(r&&!r.filter)return}n.filter=Bt.test(s)?s.replace(Bt,i):s+" "+i}}),v(function(){v.support.reliableMarginRight||(v.cssHooks.marginRight={get:function(e,t){return v.swap(e,{display:"inline-block"},function(){if(t)return Dt(e,"marginRight")})}}),!v.support.pixelPosition&&v.fn.position&&v.each(["top","left"],function(e,t){v.cssHooks[t]={get:function(e,n){if(n){var r=Dt(e,t);return Ut.test(r)?v(e).position()[t]+"px":r}}}})}),v.expr&&v.expr.filters&&(v.expr.filters.hidden=function(e){return e.offsetWidth===0&&e.offsetHeight===0||!v.support.reliableHiddenOffsets&&(e.style&&e.style.display||Dt(e,"display"))==="none"},v.expr.filters.visible=function(e){return!v.expr.filters.hidden(e)}),v.each({margin:"",padding:"",border:"Width"},function(e,t){v.cssHooks[e+t]={expand:function(n){var r,i=typeof n=="string"?n.split(" "):[n],s={};for(r=0;r<4;r++)s[e+$t[r]+t]=i[r]||i[r-2]||i[0];return s}},qt.test(e)||(v.cssHooks[e+t].set=Zt)});var rn=/%20/g,sn=/\[\]$/,on=/\r?\n/g,un=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,an=/^(?:select|textarea)/i;v.fn.extend({serialize:function(){return v.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?v.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||an.test(this.nodeName)||un.test(this.type))}).map(function(e,t){var n=v(this).val();return n==null?null:v.isArray(n)?v.map(n,function(e,n){return{name:t.name,value:e.replace(on,"\r\n")}}):{name:t.name,value:n.replace(on,"\r\n")}}).get()}}),v.param=function(e,n){var r,i=[],s=function(e,t){t=v.isFunction(t)?t():t==null?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};n===t&&(n=v.ajaxSettings&&v.ajaxSettings.traditional);if(v.isArray(e)||e.jquery&&!v.isPlainObject(e))v.each(e,function(){s(this.name,this.value)});else for(r in e)fn(r,e[r],n,s);return i.join("&").replace(rn,"+")};var ln,cn,hn=/#.*$/,pn=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,dn=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,vn=/^(?:GET|HEAD)$/,mn=/^\/\//,gn=/\?/,yn=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bn=/([?&])_=[^&]*/,wn=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,En=v.fn.load,Sn={},xn={},Tn=["*/"]+["*"];try{cn=s.href}catch(Nn){cn=i.createElement("a"),cn.href="",cn=cn.href}ln=wn.exec(cn.toLowerCase())||[],v.fn.load=function(e,n,r){if(typeof e!="string"&&En)return En.apply(this,arguments);if(!this.length)return this;var i,s,o,u=this,a=e.indexOf(" ");return a>=0&&(i=e.slice(a,e.length),e=e.slice(0,a)),v.isFunction(n)?(r=n,n=t):n&&typeof n=="object"&&(s="POST"),v.ajax({url:e,type:s,dataType:"html",data:n,complete:function(e,t){r&&u.each(r,o||[e.responseText,t,e])}}).done(function(e){o=arguments,u.html(i?v("<div>").append(e.replace(yn,"")).find(i):e)}),this},v.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,t){v.fn[t]=function(e){return this.on(t,e)}}),v.each(["get","post"],function(e,n){v[n]=function(e,r,i,s){return v.isFunction(r)&&(s=s||i,i=r,r=t),v.ajax({type:n,url:e,data:r,success:i,dataType:s})}}),v.extend({getScript:function(e,n){return v.get(e,t,n,"script")},getJSON:function(e,t,n){return v.get(e,t,n,"json")},ajaxSetup:function(e,t){return t?Ln(e,v.ajaxSettings):(t=e,e=v.ajaxSettings),Ln(e,t),e},ajaxSettings:{url:cn,isLocal:dn.test(ln[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":Tn},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":v.parseJSON,"text xml":v.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:Cn(Sn),ajaxTransport:Cn(xn),ajax:function(e,n){function T(e,n,s,a){var l,y,b,w,S,T=n;if(E===2)return;E=2,u&&clearTimeout(u),o=t,i=a||"",x.readyState=e>0?4:0,s&&(w=An(c,x,s));if(e>=200&&e<300||e===304)c.ifModified&&(S=x.getResponseHeader("Last-Modified"),S&&(v.lastModified[r]=S),S=x.getResponseHeader("Etag"),S&&(v.etag[r]=S)),e===304?(T="notmodified",l=!0):(l=On(c,w),T=l.state,y=l.data,b=l.error,l=!b);else{b=T;if(!T||e)T="error",e<0&&(e=0)}x.status=e,x.statusText=(n||T)+"",l?d.resolveWith(h,[y,T,x]):d.rejectWith(h,[x,T,b]),x.statusCode(g),g=t,f&&p.trigger("ajax"+(l?"Success":"Error"),[x,c,l?y:b]),m.fireWith(h,[x,T]),f&&(p.trigger("ajaxComplete",[x,c]),--v.active||v.event.trigger("ajaxStop"))}typeof e=="object"&&(n=e,e=t),n=n||{};var r,i,s,o,u,a,f,l,c=v.ajaxSetup({},n),h=c.context||c,p=h!==c&&(h.nodeType||h instanceof v)?v(h):v.event,d=v.Deferred(),m=v.Callbacks("once memory"),g=c.statusCode||{},b={},w={},E=0,S="canceled",x={readyState:0,setRequestHeader:function(e,t){if(!E){var n=e.toLowerCase();e=w[n]=w[n]||e,b[e]=t}return this},getAllResponseHeaders:function(){return E===2?i:null},getResponseHeader:function(e){var n;if(E===2){if(!s){s={};while(n=pn.exec(i))s[n[1].toLowerCase()]=n[2]}n=s[e.toLowerCase()]}return n===t?null:n},overrideMimeType:function(e){return E||(c.mimeType=e),this},abort:function(e){return e=e||S,o&&o.abort(e),T(0,e),this}};d.promise(x),x.success=x.done,x.error=x.fail,x.complete=m.add,x.statusCode=function(e){if(e){var t;if(E<2)for(t in e)g[t]=[g[t],e[t]];else t=e[x.status],x.always(t)}return this},c.url=((e||c.url)+"").replace(hn,"").replace(mn,ln[1]+"//"),c.dataTypes=v.trim(c.dataType||"*").toLowerCase().split(y),c.crossDomain==null&&(a=wn.exec(c.url.toLowerCase()),c.crossDomain=!(!a||a[1]===ln[1]&&a[2]===ln[2]&&(a[3]||(a[1]==="http:"?80:443))==(ln[3]||(ln[1]==="http:"?80:443)))),c.data&&c.processData&&typeof c.data!="string"&&(c.data=v.param(c.data,c.traditional)),kn(Sn,c,n,x);if(E===2)return x;f=c.global,c.type=c.type.toUpperCase(),c.hasContent=!vn.test(c.type),f&&v.active++===0&&v.event.trigger("ajaxStart");if(!c.hasContent){c.data&&(c.url+=(gn.test(c.url)?"&":"?")+c.data,delete c.data),r=c.url;if(c.cache===!1){var N=v.now(),C=c.url.replace(bn,"$1_="+N);c.url=C+(C===c.url?(gn.test(c.url)?"&":"?")+"_="+N:"")}}(c.data&&c.hasContent&&c.contentType!==!1||n.contentType)&&x.setRequestHeader("Content-Type",c.contentType),c.ifModified&&(r=r||c.url,v.lastModified[r]&&x.setRequestHeader("If-Modified-Since",v.lastModified[r]),v.etag[r]&&x.setRequestHeader("If-None-Match",v.etag[r])),x.setRequestHeader("Accept",c.dataTypes[0]&&c.accepts[c.dataTypes[0]]?c.accepts[c.dataTypes[0]]+(c.dataTypes[0]!=="*"?", "+Tn+"; q=0.01":""):c.accepts["*"]);for(l in c.headers)x.setRequestHeader(l,c.headers[l]);if(!c.beforeSend||c.beforeSend.call(h,x,c)!==!1&&E!==2){S="abort";for(l in{success:1,error:1,complete:1})x[l](c[l]);o=kn(xn,c,n,x);if(!o)T(-1,"No Transport");else{x.readyState=1,f&&p.trigger("ajaxSend",[x,c]),c.async&&c.timeout>0&&(u=setTimeout(function(){x.abort("timeout")},c.timeout));try{E=1,o.send(b,T)}catch(k){if(!(E<2))throw k;T(-1,k)}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var Mn=[],_n=/\?/,Dn=/(=)\?(?=&|$)|\?\?/,Pn=v.now();v.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Mn.pop()||v.expando+"_"+Pn++;return this[e]=!0,e}}),v.ajaxPrefilter("json jsonp",function(n,r,i){var s,o,u,a=n.data,f=n.url,l=n.jsonp!==!1,c=l&&Dn.test(f),h=l&&!c&&typeof a=="string"&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Dn.test(a);if(n.dataTypes[0]==="jsonp"||c||h)return s=n.jsonpCallback=v.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,o=e[s],c?n.url=f.replace(Dn,"$1"+s):h?n.data=a.replace(Dn,"$1"+s):l&&(n.url+=(_n.test(f)?"&":"?")+n.jsonp+"="+s),n.converters["script json"]=function(){return u||v.error(s+" was not called"),u[0]},n.dataTypes[0]="json",e[s]=function(){u=arguments},i.always(function(){e[s]=o,n[s]&&(n.jsonpCallback=r.jsonpCallback,Mn.push(s)),u&&v.isFunction(o)&&o(u[0]),u=o=t}),"script"}),v.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(e){return v.globalEval(e),e}}}),v.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),v.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=i.head||i.getElementsByTagName("head")[0]||i.documentElement;return{send:function(s,o){n=i.createElement("script"),n.async="async",e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,i){if(i||!n.readyState||/loaded|complete/.test(n.readyState))n.onload=n.onreadystatechange=null,r&&n.parentNode&&r.removeChild(n),n=t,i||o(200,"success")},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(0,1)}}}});var Hn,Bn=e.ActiveXObject?function(){for(var e in Hn)Hn[e](0,1)}:!1,jn=0;v.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&Fn()||In()}:Fn,function(e){v.extend(v.support,{ajax:!!e,cors:!!e&&"withCredentials"in e})}(v.ajaxSettings.xhr()),v.support.ajax&&v.ajaxTransport(function(n){if(!n.crossDomain||v.support.cors){var r;return{send:function(i,s){var o,u,a=n.xhr();n.username?a.open(n.type,n.url,n.async,n.username,n.password):a.open(n.type,n.url,n.async);if(n.xhrFields)for(u in n.xhrFields)a[u]=n.xhrFields[u];n.mimeType&&a.overrideMimeType&&a.overrideMimeType(n.mimeType),!n.crossDomain&&!i["X-Requested-With"]&&(i["X-Requested-With"]="XMLHttpRequest");try{for(u in i)a.setRequestHeader(u,i[u])}catch(f){}a.send(n.hasContent&&n.data||null),r=function(e,i){var u,f,l,c,h;try{if(r&&(i||a.readyState===4)){r=t,o&&(a.onreadystatechange=v.noop,Bn&&delete Hn[o]);if(i)a.readyState!==4&&a.abort();else{u=a.status,l=a.getAllResponseHeaders(),c={},h=a.responseXML,h&&h.documentElement&&(c.xml=h);try{c.text=a.responseText}catch(p){}try{f=a.statusText}catch(p){f=""}!u&&n.isLocal&&!n.crossDomain?u=c.text?200:404:u===1223&&(u=204)}}}catch(d){i||s(-1,d)}c&&s(u,f,c,l)},n.async?a.readyState===4?setTimeout(r,0):(o=++jn,Bn&&(Hn||(Hn={},v(e).unload(Bn)),Hn[o]=r),a.onreadystatechange=r):r()},abort:function(){r&&r(0,1)}}}});var qn,Rn,Un=/^(?:toggle|show|hide)$/,zn=new RegExp("^(?:([-+])=|)("+m+")([a-z%]*)$","i"),Wn=/queueHooks$/,Xn=[Gn],Vn={"*":[function(e,t){var n,r,i=this.createTween(e,t),s=zn.exec(t),o=i.cur(),u=+o||0,a=1,f=20;if(s){n=+s[2],r=s[3]||(v.cssNumber[e]?"":"px");if(r!=="px"&&u){u=v.css(i.elem,e,!0)||n||1;do a=a||".5",u/=a,v.style(i.elem,e,u+r);while(a!==(a=i.cur()/o)&&a!==1&&--f)}i.unit=r,i.start=u,i.end=s[1]?u+(s[1]+1)*n:n}return i}]};v.Animation=v.extend(Kn,{tweener:function(e,t){v.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;r<i;r++)n=e[r],Vn[n]=Vn[n]||[],Vn[n].unshift(t)},prefilter:function(e,t){t?Xn.unshift(e):Xn.push(e)}}),v.Tween=Yn,Yn.prototype={constructor:Yn,init:function(e,t,n,r,i,s){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=s||(v.cssNumber[n]?"":"px")},cur:function(){var e=Yn.propHooks[this.prop];return e&&e.get?e.get(this):Yn.propHooks._default.get(this)},run:function(e){var t,n=Yn.propHooks[this.prop];return this.options.duration?this.pos=t=v.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Yn.propHooks._default.set(this),this}},Yn.prototype.init.prototype=Yn.prototype,Yn.propHooks={_default:{get:function(e){var t;return e.elem[e.prop]==null||!!e.elem.style&&e.elem.style[e.prop]!=null?(t=v.css(e.elem,e.prop,!1,""),!t||t==="auto"?0:t):e.elem[e.prop]},set:function(e){v.fx.step[e.prop]?v.fx.step[e.prop](e):e.elem.style&&(e.elem.style[v.cssProps[e.prop]]!=null||v.cssHooks[e.prop])?v.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},Yn.propHooks.scrollTop=Yn.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},v.each(["toggle","show","hide"],function(e,t){var n=v.fn[t];v.fn[t]=function(r,i,s){return r==null||typeof r=="boolean"||!e&&v.isFunction(r)&&v.isFunction(i)?n.apply(this,arguments):this.animate(Zn(t,!0),r,i,s)}}),v.fn.extend({fadeTo:function(e,t,n,r){return this.filter(Gt).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=v.isEmptyObject(e),s=v.speed(t,n,r),o=function(){var t=Kn(this,v.extend({},e),s);i&&t.stop(!0)};return i||s.queue===!1?this.each(o):this.queue(s.queue,o)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return typeof e!="string"&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=e!=null&&e+"queueHooks",s=v.timers,o=v._data(this);if(n)o[n]&&o[n].stop&&i(o[n]);else for(n in o)o[n]&&o[n].stop&&Wn.test(n)&&i(o[n]);for(n=s.length;n--;)s[n].elem===this&&(e==null||s[n].queue===e)&&(s[n].anim.stop(r),t=!1,s.splice(n,1));(t||!r)&&v.dequeue(this,e)})}}),v.each({slideDown:Zn("show"),slideUp:Zn("hide"),slideToggle:Zn("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){v.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),v.speed=function(e,t,n){var r=e&&typeof e=="object"?v.extend({},e):{complete:n||!n&&t||v.isFunction(e)&&e,duration:e,easing:n&&t||t&&!v.isFunction(t)&&t};r.duration=v.fx.off?0:typeof r.duration=="number"?r.duration:r.duration in v.fx.speeds?v.fx.speeds[r.duration]:v.fx.speeds._default;if(r.queue==null||r.queue===!0)r.queue="fx";return r.old=r.complete,r.complete=function(){v.isFunction(r.old)&&r.old.call(this),r.queue&&v.dequeue(this,r.queue)},r},v.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},v.timers=[],v.fx=Yn.prototype.init,v.fx.tick=function(){var e,n=v.timers,r=0;qn=v.now();for(;r<n.length;r++)e=n[r],!e()&&n[r]===e&&n.splice(r--,1);n.length||v.fx.stop(),qn=t},v.fx.timer=function(e){e()&&v.timers.push(e)&&!Rn&&(Rn=setInterval(v.fx.tick,v.fx.interval))},v.fx.interval=13,v.fx.stop=function(){clearInterval(Rn),Rn=null},v.fx.speeds={slow:600,fast:200,_default:400},v.fx.step={},v.expr&&v.expr.filters&&(v.expr.filters.animated=function(e){return v.grep(v.timers,function(t){return e===t.elem}).length});var er=/^(?:body|html)$/i;v.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){v.offset.setOffset(this,e,t)});var n,r,i,s,o,u,a,f={top:0,left:0},l=this[0],c=l&&l.ownerDocument;if(!c)return;return(r=c.body)===l?v.offset.bodyOffset(l):(n=c.documentElement,v.contains(n,l)?(typeof l.getBoundingClientRect!="undefined"&&(f=l.getBoundingClientRect()),i=tr(c),s=n.clientTop||r.clientTop||0,o=n.clientLeft||r.clientLeft||0,u=i.pageYOffset||n.scrollTop,a=i.pageXOffset||n.scrollLeft,{top:f.top+u-s,left:f.left+a-o}):f)},v.offset={bodyOffset:function(e){var t=e.offsetTop,n=e.offsetLeft;return v.support.doesNotIncludeMarginInBodyOffset&&(t+=parseFloat(v.css(e,"marginTop"))||0,n+=parseFloat(v.css(e,"marginLeft"))||0),{top:t,left:n}},setOffset:function(e,t,n){var r=v.css(e,"position");r==="static"&&(e.style.position="relative");var i=v(e),s=i.offset(),o=v.css(e,"top"),u=v.css(e,"left"),a=(r==="absolute"||r==="fixed")&&v.inArray("auto",[o,u])>-1,f={},l={},c,h;a?(l=i.position(),c=l.top,h=l.left):(c=parseFloat(o)||0,h=parseFloat(u)||0),v.isFunction(t)&&(t=t.call(e,n,s)),t.top!=null&&(f.top=t.top-s.top+c),t.left!=null&&(f.left=t.left-s.left+h),"using"in t?t.using.call(e,f):i.css(f)}},v.fn.extend({position:function(){if(!this[0])return;var e=this[0],t=this.offsetParent(),n=this.offset(),r=er.test(t[0].nodeName)?{top:0,left:0}:t.offset();return n.top-=parseFloat(v.css(e,"marginTop"))||0,n.left-=parseFloat(v.css(e,"marginLeft"))||0,r.top+=parseFloat(v.css(t[0],"borderTopWidth"))||0,r.left+=parseFloat(v.css(t[0],"borderLeftWidth"))||0,{top:n.top-r.top,left:n.left-r.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||i.body;while(e&&!er.test(e.nodeName)&&v.css(e,"position")==="static")e=e.offsetParent;return e||i.body})}}),v.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);v.fn[e]=function(i){return v.access(this,function(e,i,s){var o=tr(e);if(s===t)return o?n in o?o[n]:o.document.documentElement[i]:e[i];o?o.scrollTo(r?v(o).scrollLeft():s,r?s:v(o).scrollTop()):e[i]=s},e,i,arguments.length,null)}}),v.each({Height:"height",Width:"width"},function(e,n){v.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){v.fn[i]=function(i,s){var o=arguments.length&&(r||typeof i!="boolean"),u=r||(i===!0||s===!0?"margin":"border");return v.access(this,function(n,r,i){var s;return v.isWindow(n)?n.document.documentElement["client"+e]:n.nodeType===9?(s=n.documentElement,Math.max(n.body["scroll"+e],s["scroll"+e],n.body["offset"+e],s["offset"+e],s["client"+e])):i===t?v.css(n,r,i,u):v.style(n,r,i,u)},n,o?i:t,o,null)}})}),e.jQuery=e.$=v,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return v})})(window); |
