Commit f986e866 by chentian

反诈平台爬虫项目

parents
HELP.md
/target/
!.mvn/wrapper/maven-wrapper.jar
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
/build/
### VS Code ###
.vscode/
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.10.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>xzxt-jsoup</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>xzxt-jsoup</name>
<description>Demo project for Spring Boot</description>
<!-- 版本说明:这里统一管理依赖的版本号,为了各个子module依赖包的一致性,避免版本不一致导致冲突问题 -->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
</properties>
<!-- 公司的maven仓库 -->
<repositories>
<repository>
<id>founder</id>
<url>http://47.92.108.28:8081/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<!-- 指定maven plugin仓库 -->
<pluginRepositories>
<!-- 公司的maven plugin仓库 -->
<pluginRepository>
<id>founder</id>
<url>http://47.92.108.28:8081/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
<!-- 上传资源到nexus私服,构建部署项目 -->
<distributionManagement>
<repository>
<id>releases</id>
<url>http://47.92.108.28:8081/nexus/content/repositories/releases/</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<url>http://47.92.108.28:8081/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>
<dependencies>
<!-- <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>net.sourceforge.nekohtml</groupId>
<artifactId>nekohtml</artifactId>
<version>1.9.22</version>
</dependency>
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.11.3</version>
</dependency>
<!-- 数据库驱动包 -->
<dependency>
<groupId>org.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>10</version>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
<!-- alibaba的druid数据库连接池 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.11</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.35</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.35</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
package com.founder;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.annotation.EnableScheduling;
// 启用异步任务
@EnableAsync
//进行定时任务
@EnableScheduling
@SpringBootApplication
public class XzxtJsoupApplication {
public static void main(String[] args) {
SpringApplication.run(XzxtJsoupApplication.class, args);
}
}
package com.founder.config;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import java.util.concurrent.Executor;
/**
* Created by changc on 2018/9/12.
*/
@Configuration
@EnableAsync
public class AsyncConfig {
/*
此处成员变量应该使用@Value从配置中读取
*/
@Value("${ThreadPool.corePoolSize}")
private int corePoolSize;
@Value("${ThreadPool.maxPoolSize}")
private int maxPoolSize;
@Value("${ThreadPool.queueCapacity}")
private int queueCapacity;
@Bean
public Executor taskExecutor() {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
executor.setCorePoolSize(corePoolSize);
executor.setMaxPoolSize(maxPoolSize);
executor.setQueueCapacity(queueCapacity);
executor.initialize();
return executor;
}
}
package com.founder.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;
/**
* Created by changc on 2018/9/7.
*
允许任何域名使用
允许任何头
允许任何方法(post、get等)
*/
@Configuration
public class CorsConfig {
private CorsConfiguration buildConfig() {
CorsConfiguration corsConfiguration = new CorsConfiguration();
corsConfiguration.addAllowedOrigin("*"); // 1
corsConfiguration.addAllowedHeader("*"); // 2
corsConfiguration.addAllowedMethod("*"); // 3
corsConfiguration.setAllowCredentials(true);
return corsConfiguration;
}
@Bean
public CorsFilter corsFilter() {
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", buildConfig()); // 4
return new CorsFilter(source);
}
}
\ No newline at end of file
package com.founder.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
/**
* Created by changc on 2019/3/4.
*/
@Configuration
public class WebMvcConfig extends WebMvcConfigurerAdapter {
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/form").setViewName("form");
}
}
package com.founder.controller;
import com.founder.model.XzxtRestResult;
import com.founder.model.card;
import com.founder.model.cardliushui;
import com.founder.model.thirdparty;
import com.founder.service.CardinfosService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
/**
* Created by changc on 2019/3/14.
*/
@RestController
public class CardLiushuiController {
@Autowired
private CardinfosService cardinfosService ;
@PostMapping("/cardinfos")
public Map<String, Object> cardinfos(card card){
card.setCurPage(card.getDraw());
return (Map<String, Object>) cardinfosService.getCardinfos(card).getData();
}
@PostMapping("/cardliushui")
public Map<String, Object> cardliushui(card card){
card.setCurPage(card.getDraw());
return (Map<String, Object>)cardinfosService.getCardliushui(card).getData();
}
@PostMapping("/thirdpartyinfos")
public Map<String, Object> thirdpartyinfos(thirdparty thirdparty){
thirdparty.setCurPage(thirdparty.getDraw());
return (Map<String, Object>)cardinfosService.getThirdpartys(thirdparty).getData();
}
}
\ No newline at end of file
package com.founder.controller;
import com.founder.task.TestTask;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
@Controller
public class HelloController {
@Autowired
private TestTask asyncTask;
@ResponseBody
@RequestMapping("/task")
public Map<String, Object> testAsyncReturn() throws ExecutionException, InterruptedException {
long start = System.currentTimeMillis();
Map<String, Object> map = new HashMap<String, Object>();
List<Future<String>> futures = new ArrayList<Future<String>>();
for (int i = 0; i < 100; i++) {
Future<String> future = asyncTask.doReturn(i);
futures.add(future);
}
List<String> response = new ArrayList<String>();
for (Future future : futures) {
String string = (String) future.get();
response.add(string);
}
map.put("data", response);
map.put("消耗时间", String.format("任务执行成功,耗时{%s}毫秒", System.currentTimeMillis() - start));
return map;
}
}
\ No newline at end of file
package com.founder.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.founder.model.XzxtRestResult;
import com.founder.model.card;
import com.founder.model.thirdparty;
import com.founder.service.CardinfosService;
import com.founder.service.SaveCardinfosService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;
/**
* Created by changc on 2019/3/14.
*/
@RestController
public class SaveCardController {
@Autowired
private SaveCardinfosService saveCardinfosService ;
@PostMapping("/savecardinfos")
public XzxtRestResult cardinfos(card card){
return saveCardinfosService.getSaveCardinfos(card);
}
@PostMapping("/savecardliushui")
public XzxtRestResult cardliushui(@RequestBody card card){
return saveCardinfosService.getSaveCardliushui(card);
}
@PostMapping("/savethirdpartyinfos")
public XzxtRestResult thirdpartyinfos(@RequestBody thirdparty thirdparty){
return saveCardinfosService.getSaveThirdpartys(thirdparty);
}
}
\ No newline at end of file
package com.founder.dao;
import com.founder.model.card;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import java.util.List;
@Mapper
public interface CardDao {
@Insert("insert into card(xxzjbh,accountName,account,applicationNumber,bank,type,status,momey,cardResults,lrr,lrsj,lrdw) "
+ "values (#{xxzjbh},#{accountName},#{account},#{applicationNumber},#{bank},#{type},#{status},#{momey},#{cardResults},#{lrr},#{lrsj},#{lrdw})")
public void addCard(card card);
@Select("select url from card")
public List<String> getCardList();
}
package com.founder.jsoup;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.founder.model.card;
import com.founder.model.cardliushui;
import com.founder.model.thirdparty;
import com.sun.tools.internal.xjc.reader.xmlschema.bindinfo.BIConversion;
import org.jsoup.Connection;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import java.io.IOException;
import java.util.*;
/**
* Created by changchao on 2019/5/27.
*/
@Component
public class JsoupCookieCraw {
@Value("${dzpt.login.url}")
private String loginurl;
/**
* 模拟登录获取cookie和sessionid
*/
public Map<String, String> login() throws IOException {
Map<String, String> cookies = null;
Connection connect = Jsoup.connect(loginurl);
// 伪造请求头
connect.header("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8").header("Accept-Encoding",
"gzip, deflate");
connect.header("Accept-Language", "zh-CN,zh;q=0.9").header("Connection", "keep-alive");
connect.header("Content-Length", "40").header("Content-Type",
"application/x-www-form-urlencoded; charset=UTF-8");
connect.header("Host", "68.89.99.2").header("Referer", "http://68.89.99.2/dxzp/login_yh.jsp");
connect.header("User-Agent",
"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3510.2 Safari/537.36")
.header("X-Requested-With", "XMLHttpRequest");
// 携带登陆信息
//yh.dwDm: 650000
//yh.dm: 003249
//yh.kl: 123456
connect.data("yh.dwDm", "650000").data("yh.dm", "003249").data("yh.kl", "123456");
//请求url获取响应信息
Connection.Response res = connect.ignoreContentType(true).method(Connection.Method.POST).execute();// 执行请求
// 获取返回的cookie
cookies = res.cookies();
return cookies;
}
/**
* 银行卡解析数据
*/
public Map<String,Object> getCardInfo(Document document) {
Map<String,Object> listmap=new HashMap<String,Object>();
JsoupCookieCraw jsop=new JsoupCookieCraw();
List<card> cardList =new ArrayList<card>();
String value=null;
Elements cards=document.getElementsByTag("tr");
//System.out.println("获取的元数据列表==="+cards.toString());
//去除表头列数据
cards.remove(0);
for(Element cardinfos:cards){
card card =new card();
Elements cardxx=cardinfos.getElementsByTag("td");
try {
card.setXxzjbh(jsop.saveQueryLog());
} catch (Exception e) {
}
card.setAccountName(cardxx.get(1).text());
card.setAccount(cardxx.get(2).text());
card.setApplicationNumber(cardxx.get(3).text());
card.setBank(cardxx.get(4).text());
card.setType(cardxx.get(5).text());
card.setStatus(cardxx.get(6).text());
card.setMomey(cardxx.get(7).text());
card.setCardResults(cardxx.get(8).text());
card.setLrr(cardxx.get(9).text());
card.setLrsj(cardxx.get(10).text());
card.setLrdw(cardxx.get(11).text());
System.out.println("数据card====="+JSON.toJSONString(card));
cardList.add(card);
}
//页数
Elements pageinfos=document.getElementsByClass("next-page").select("p");
Elements page=pageinfos.get(0).select("span");
//page.get(1).text();
//结果数据展示
/* JSONArray jsonArray = JSONArray.parseArray(JSON.toJSONString(cardList));
System.out.println(jsonArray);*/
int num=Integer.parseInt(page.get(1).text())*15;
listmap.put("data", cardList);
listmap.put("recordsTotal", num);
listmap.put("recordsFiltered", num);
listmap.put("draw", "");
return listmap;
}
/**
* 银行卡交易流水解析数据
*/
public Map<String,Object> getCardLsInfo(Document document) {
Map<String,Object> listmap=new HashMap<String,Object>();
JsoupCookieCraw jsop=new JsoupCookieCraw();
List<cardliushui> cardList =new ArrayList<cardliushui>();
String value=null;
Elements cardliushuixx=document.getElementsByClass("table-two");
//System.out.println("获取的元数据列表1==="+cardliushuixx.toString());
Elements cardliushuis=cardliushuixx.select("tbody").select("tr");
//System.out.println("获取的元数据列表2==="+cardliushuis.toString());
//去除表头列数据
cardliushuis.remove(0);
for(Element cardinfos:cardliushuis){
cardliushui cardliushui =new cardliushui();
Elements cardliushuixxs=cardinfos.getElementsByTag("td");
//System.out.println("获取的元数据列表3==="+cardliushuixxs.toString());
try {
cardliushui.setXxzjbh(jsop.saveQueryLog());
} catch (Exception e) {
}
cardliushui.setZh(cardliushuixxs.get(1).text());
cardliushui.setAccountName(cardliushuixxs.get(2).text());
cardliushui.setAccount(cardliushuixxs.get(3).text());
cardliushui.setMomey(cardliushuixxs.get(4).text());
cardliushui.setBalance(cardliushuixxs.get(5).text());
cardliushui.setFlag(cardliushuixxs.get(6).text());
cardliushui.setTransactiontpye(cardliushuixxs.get(7).text());
cardliushui.setResults(cardliushuixxs.get(8).text());
cardliushui.setSj(cardliushuixxs.get(9).text());
System.out.println("数据card====="+JSON.toJSONString(cardliushui));
cardList.add(cardliushui);
}
//页数
Elements pageinfos=document.getElementsByClass("next-page").select("p");
Elements page=pageinfos.get(0).select("span");
//page.get(1).text();
//结果数据展示
/* JSONArray jsonArray = JSONArray.parseArray(JSON.toJSONString(cardList));
System.out.println(jsonArray);*/
int num=Integer.parseInt(page.get(1).text())*15;
listmap.put("data", cardList);
listmap.put("recordsTotal", num);
listmap.put("recordsFiltered", num);
listmap.put("draw", "");
return listmap;
}
/**
* 第三方支付
*/
public Map<String,Object> getThirdpartys(Document document) {
Map<String,Object> listmap=new HashMap<String,Object>();
JsoupCookieCraw jsop=new JsoupCookieCraw();
List<thirdparty> thirdpartyList =new ArrayList<thirdparty>();
String value=null;
Elements cards=document.getElementsByTag("tr");
//System.out.println("获取的元数据列表==="+cards.toString());
//去除表头列数据
cards.remove(0);
for(Element cardinfos:cards){
thirdparty thirdparty =new thirdparty();
Elements cardxx=cardinfos.getElementsByTag("td");
try {
thirdparty.setXxzjbh(jsop.saveQueryLog());
} catch (Exception e) {
}
thirdparty.setZh(cardxx.get(1).text());
thirdparty.setApplicationNumber(cardxx.get(2).text());
thirdparty.setZfjg(cardxx.get(3).text());
thirdparty.setType(cardxx.get(4).text());
thirdparty.setStatus(cardxx.get(5).text());
thirdparty.setMomey(cardxx.get(6).text());
thirdparty.setThirdpartyResults(cardxx.get(7).text());
thirdparty.setLrr(cardxx.get(8).text());
thirdparty.setLrdw(cardxx.get(9).text());
thirdparty.setLrsj(cardxx.get(10).text());
System.out.println("数据card====="+JSON.toJSONString(thirdparty));
thirdpartyList.add(thirdparty);
}
//页数
Elements pageinfos=document.getElementsByClass("next-page").select("p");
Elements page=pageinfos.get(0).select("span");
//page.get(1).text();
//结果数据展示
/* JSONArray jsonArray = JSONArray.parseArray(JSON.toJSONString(cardList));
System.out.println(jsonArray);*/
int num=Integer.parseInt(page.get(1).text())*15;
listmap.put("data", thirdpartyList);
listmap.put("recordsTotal", num);
listmap.put("recordsFiltered", num);
listmap.put("draw", "");
return listmap;
}
public String saveQueryLog() throws Exception {
String uuid = UUID.randomUUID().toString().replaceAll("-","");
uuid = uuid.substring(0,uuid.length()-2);
return uuid;
}
}
package com.founder.jsoup;
import com.alibaba.fastjson.JSON;
import com.founder.dao.CardDao;
import com.founder.model.card;
import com.founder.model.cardliushui;
import com.founder.model.thirdparty;
import org.jsoup.Connection;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import java.io.IOException;
import java.util.*;
/**
* Created by changchao on 2019/5/27.
*/
@Component
public class SaveJsoupCookieCraw {
@Value("${dzpt.login.url}")
private String loginurl;
@Autowired
private CardDao cardDao;
/**
* 模拟登录获取cookie和sessionid
*/
public Map<String, String> login() throws IOException {
Map<String, String> cookies = null;
Connection connect = Jsoup.connect(loginurl);
// 伪造请求头
connect.header("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8").header("Accept-Encoding",
"gzip, deflate");
connect.header("Accept-Language", "zh-CN,zh;q=0.9").header("Connection", "keep-alive");
connect.header("Content-Length", "40").header("Content-Type",
"application/x-www-form-urlencoded; charset=UTF-8");
connect.header("Host", "68.89.99.2").header("Referer", "http://68.89.99.2/dxzp/login_yh.jsp");
connect.header("User-Agent",
"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3510.2 Safari/537.36")
.header("X-Requested-With", "XMLHttpRequest");
// 携带登陆信息
//yh.dwDm: 650000
//yh.dm: 003249
//yh.kl: 123456
connect.data("yh.dwDm", "650000").data("yh.dm", "003249").data("yh.kl", "123456");
//请求url获取响应信息
Connection.Response res = connect.ignoreContentType(true).method(Connection.Method.POST).execute();// 执行请求
// 获取返回的cookie
cookies = res.cookies();
return cookies;
}
/**
* 银行卡解析数据
*/
public Map<String,Object> getCardInfo(Document document) {
Map<String,Object> listmap=new HashMap<String,Object>();
SaveJsoupCookieCraw jsop=new SaveJsoupCookieCraw();
List<card> cardList =new ArrayList<card>();
String value=null;
Elements cards=document.getElementsByTag("tr");
//System.out.println("获取的元数据列表==="+cards.toString());
//去除表头列数据
cards.remove(0);
for(Element cardinfos:cards){
card card =new card();
Elements cardxx=cardinfos.getElementsByTag("td");
try {
card.setXxzjbh(jsop.saveQueryLog());
} catch (Exception e) {
}
card.setAccountName(cardxx.get(1).text());
card.setAccount(cardxx.get(2).text());
card.setApplicationNumber(cardxx.get(3).text());
card.setBank(cardxx.get(4).text());
card.setType(cardxx.get(5).text());
card.setStatus(cardxx.get(6).text());
card.setMomey(cardxx.get(7).text());
card.setCardResults(cardxx.get(8).text());
card.setLrr(cardxx.get(9).text());
card.setLrsj(cardxx.get(10).text());
card.setLrdw(cardxx.get(11).text());
System.out.println("数据card====="+JSON.toJSONString(card));
//保存数据
cardDao.addCard(card);
cardList.add(card);
}
//页数
Elements pageinfos=document.getElementsByClass("next-page").select("p");
Elements page=pageinfos.get(0).select("span");
//page.get(1).text();
//结果数据展示
/* JSONArray jsonArray = JSONArray.parseArray(JSON.toJSONString(cardList));
System.out.println(jsonArray);*/
listmap.put("pages", page.get(1).text());
listmap.put("list", cardList);
return listmap;
}
/**
* 银行卡交易流水解析数据
*/
public Map<String,Object> getCardLsInfo(Document document) {
Map<String,Object> listmap=new HashMap<String,Object>();
SaveJsoupCookieCraw jsop=new SaveJsoupCookieCraw();
List<cardliushui> cardList =new ArrayList<cardliushui>();
String value=null;
Elements cardliushuixx=document.getElementsByClass("table-two");
//System.out.println("获取的元数据列表1==="+cardliushuixx.toString());
Elements cardliushuis=cardliushuixx.select("tbody").select("tr");
//System.out.println("获取的元数据列表2==="+cardliushuis.toString());
//去除表头列数据
cardliushuis.remove(0);
for(Element cardinfos:cardliushuis){
cardliushui cardliushui =new cardliushui();
Elements cardliushuixxs=cardinfos.getElementsByTag("td");
//System.out.println("获取的元数据列表3==="+cardliushuixxs.toString());
try {
cardliushui.setXxzjbh(jsop.saveQueryLog());
} catch (Exception e) {
}
cardliushui.setZh(cardliushuixxs.get(1).text());
cardliushui.setAccountName(cardliushuixxs.get(2).text());
cardliushui.setAccount(cardliushuixxs.get(3).text());
cardliushui.setMomey(cardliushuixxs.get(4).text());
cardliushui.setBalance(cardliushuixxs.get(5).text());
cardliushui.setFlag(cardliushuixxs.get(6).text());
cardliushui.setTransactiontpye(cardliushuixxs.get(7).text());
cardliushui.setResults(cardliushuixxs.get(8).text());
cardliushui.setSj(cardliushuixxs.get(9).text());
System.out.println("数据card====="+JSON.toJSONString(cardliushui));
cardList.add(cardliushui);
}
//页数
Elements pageinfos=document.getElementsByClass("next-page").select("p");
Elements page=pageinfos.get(0).select("span");
//page.get(1).text();
//结果数据展示
/* JSONArray jsonArray = JSONArray.parseArray(JSON.toJSONString(cardList));
System.out.println(jsonArray);*/
listmap.put("pages", page.get(1).text());
listmap.put("list", cardList);
return listmap;
}
/**
* 第三方支付
*/
public Map<String,Object> getThirdpartys(Document document) {
Map<String,Object> listmap=new HashMap<String,Object>();
SaveJsoupCookieCraw jsop=new SaveJsoupCookieCraw();
List<thirdparty> thirdpartyList =new ArrayList<thirdparty>();
String value=null;
Elements cards=document.getElementsByTag("tr");
//System.out.println("获取的元数据列表==="+cards.toString());
//去除表头列数据
cards.remove(0);
for(Element cardinfos:cards){
thirdparty thirdparty =new thirdparty();
Elements cardxx=cardinfos.getElementsByTag("td");
try {
thirdparty.setXxzjbh(jsop.saveQueryLog());
} catch (Exception e) {
}
thirdparty.setZh(cardxx.get(1).text());
thirdparty.setApplicationNumber(cardxx.get(2).text());
thirdparty.setZfjg(cardxx.get(3).text());
thirdparty.setType(cardxx.get(4).text());
thirdparty.setStatus(cardxx.get(5).text());
thirdparty.setMomey(cardxx.get(6).text());
thirdparty.setThirdpartyResults(cardxx.get(7).text());
thirdparty.setLrr(cardxx.get(8).text());
thirdparty.setLrdw(cardxx.get(9).text());
thirdparty.setLrsj(cardxx.get(10).text());
System.out.println("数据card====="+JSON.toJSONString(thirdparty));
thirdpartyList.add(thirdparty);
}
//页数
Elements pageinfos=document.getElementsByClass("next-page").select("p");
Elements page=pageinfos.get(0).select("span");
//page.get(1).text();
//结果数据展示
/* JSONArray jsonArray = JSONArray.parseArray(JSON.toJSONString(cardList));
System.out.println(jsonArray);*/
listmap.put("pages", page.get(1).text());
listmap.put("list", thirdpartyList);
return listmap;
}
public String saveQueryLog() throws Exception {
String uuid = UUID.randomUUID().toString().replaceAll("-","");
uuid = uuid.substring(0,uuid.length()-2);
return uuid;
}
}
package com.founder.model;
import com.founder.service.SaveCardinfosService;
/**
* Created by admin on 2019/5/27.
*/
public class InsertServiceUtils{
private static SaveCardinfosService saveCardinfosService;
static {
saveCardinfosService=(SaveCardinfosService)SpringUtil.getBean("saveCardinfosService");
}
}
package com.founder.model;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;
/**
* Created by admin on 2019/6/3.
* * 普通类调用Spring bean对象:
* 说明:
* 1、此类需要放到App.java同包或者子包下才能被扫描,否则失效。
*/
@Component
public class SpringUtil implements ApplicationContextAware {
private static ApplicationContext applicationContext = null;
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
if(SpringUtil.applicationContext == null){
SpringUtil.applicationContext = applicationContext;
}
System.out.println("---------------------------------------------------------------------");
System.out.println("---------------------------------------------------------------------");
System.out.println("---------------com.example.order.util.SpringUtil------------------------------------------------------");
System.out.println("========ApplicationContext配置成功,在普通类可以通过调用SpringUtils.getAppContext()获取applicationContext对象,applicationContext="+SpringUtil.applicationContext+"========");
System.out.println("---------------------------------------------------------------------");
}
//获取applicationContext
public static ApplicationContext getApplicationContext() {
return applicationContext;
}
//通过name获取 Bean.
public static Object getBean(String name){
return getApplicationContext().getBean(name);
}
//通过class获取Bean.
public static <T> T getBean(Class<T> clazz){
return getApplicationContext().getBean(clazz);
}
//通过name,以及Clazz返回指定的Bean
public static <T> T getBean(String name,Class<T> clazz){
return getApplicationContext().getBean(name, clazz);
}
}
\ No newline at end of file
package com.founder.model;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.List;
/**
* Xzxt-Rest自定义响应结构
*/
public class XzxtRestResult {
// 定义jackson对象
private static final ObjectMapper MAPPER = new ObjectMapper();
// 响应业务状态
private Integer status;
// 响应消息
private String msg;
// 响应中的数据
private Object data;
//redis key
private String rediskey;
public static XzxtRestResult build(Integer status, String msg, Object data) {
return new XzxtRestResult(status, msg, data);
}
public static XzxtRestResult ok(Object data) {
return new XzxtRestResult(data);
}
public static XzxtRestResult ok(int i, String count, List<Object> list) {
return new XzxtRestResult(null);
}
public XzxtRestResult() {
}
public static XzxtRestResult build(Integer status, String msg, String reidskey, Object data) {
return new XzxtRestResult(status, msg, reidskey,data);
}
public XzxtRestResult(Integer status, String msg, Object data) {
this.status = status;
this.msg = msg;
this.data = data;
}
public XzxtRestResult(Integer status, String msg, String reidskey, Object data) {
this.status = status;
this.msg = msg;
this.rediskey=reidskey;
this.data = data;
}
public XzxtRestResult(Object data) {
this.status = 200;
this.msg = "OK";
this.data = data;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public Object getData() {
return data;
}
public void setData(Object data) {
this.data = data;
}
public String getRediskey() {
return rediskey;
}
public void setRediskey(String rediskey) {
this.rediskey = rediskey;
}
/**
* 将json结果集转化为Xzxt-Rest对象
*
* @param jsonData json数据
* @param clazz Xzxt-Rest中的object类型
* @return
*/
public static XzxtRestResult formatToPojo(String jsonData, Class<?> clazz) {
try {
if (clazz == null) {
return MAPPER.readValue(jsonData, XzxtRestResult.class);
}
JsonNode jsonNode = MAPPER.readTree(jsonData);
JsonNode data = jsonNode.get("data");
Object obj = null;
if (clazz != null) {
if (data.isObject()) {
obj = MAPPER.readValue(data.traverse(), clazz);
} else if (data.isTextual()) {
obj = MAPPER.readValue(data.asText(), clazz);
}
}
return build(jsonNode.get("status").intValue(), jsonNode.get("msg").asText(), obj);
} catch (Exception e) {
System.out.println(e.getStackTrace());
return new XzxtRestResult();
}
}
/**
* object对象的转化
*
* @param json
* @return
*/
public static XzxtRestResult format(String json) {
try {
return MAPPER.readValue(json, XzxtRestResult.class);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* object对象的转化
*
* @param object
* @return
*/
public static <T> T format(Object object,Class<T> clz) {
try {
return MAPPER.readValue(object.toString(), clz);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* Object是集合转化
*
* @param jsonData json数据
* @param clazz 集合中的类型
* @return
*/
public static XzxtRestResult formatToList(String jsonData, Class<?> clazz) {
try {
JsonNode jsonNode = MAPPER.readTree(jsonData);
JsonNode data = jsonNode.get("data");
Object obj = null;
if (data.isArray() && data.size() > 0) {
obj = MAPPER.readValue(data.traverse(),
MAPPER.getTypeFactory().constructCollectionType(List.class, clazz));
}
return build(jsonNode.get("status").intValue(), jsonNode.get("msg").asText(), obj);
} catch (Exception e) {
return null;
}
}
}
package com.founder.model;
/**
* Created by admin on 2019/5/27.
*/
public class card extends page{
private String xxzjbh;//序号
private String accountName;//转入账号姓名
private String account;//转入账号
private String applicationNumber;//业务申请编号
private String bank;//转入账号所属银行
private String type;//请求类型
private String status;//状态
private String momey;//金额
private String cardResults;//银行卡反馈结果
private String lrr;//录入人
private String lrsj;//录入时间
private String lrdw;//录入单位
private String curPage;//当前页
private String kssj;
private String jzsj;
public String getKssj() {
return kssj;
}
public void setKssj(String kssj) {
this.kssj = kssj;
}
public String getJzsj() {
return jzsj;
}
public void setJzsj(String jzsj) {
this.jzsj = jzsj;
}
public String getXxzjbh() {
return xxzjbh;
}
public void setXxzjbh(String xxzjbh) {
this.xxzjbh = xxzjbh;
}
public String getAccountName() {
return accountName;
}
public void setAccountName(String accountName) {
this.accountName = accountName;
}
public String getAccount() {
return account;
}
public void setAccount(String account) {
this.account = account;
}
public String getApplicationNumber() {
return applicationNumber;
}
public void setApplicationNumber(String applicationNumber) {
this.applicationNumber = applicationNumber;
}
public String getBank() {
return bank;
}
public void setBank(String bank) {
this.bank = bank;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getCardResults() {
return cardResults;
}
public void setCardResults(String cardResults) {
this.cardResults = cardResults;
}
public String getLrr() {
return lrr;
}
public void setLrr(String lrr) {
this.lrr = lrr;
}
public String getLrsj() {
return lrsj;
}
public void setLrsj(String lrsj) {
this.lrsj = lrsj;
}
public String getLrdw() {
return lrdw;
}
public void setLrdw(String lrdw) {
this.lrdw = lrdw;
}
public String getMomey() {
return momey;
}
public void setMomey(String momey) {
this.momey = momey;
}
public String getCurPage() {
return curPage;
}
public void setCurPage(String curPage) {
this.curPage = curPage;
}
}
package com.founder.model;
/**
* Created by admin on 2019/5/27.
*/
public class cardliushui extends page {
private String xxzjbh;//
private String zh;//查询账号
private String accountName;//对方账号姓名
private String account;//对方卡号
private String momey;//金额
private String balance;//余额
private String flag;//借贷标志
private String transactiontpye;//交易类型
private String results;//交易结构
private String sj;//交易时间
private String curPage;//当前页
public String getXxzjbh() {
return xxzjbh;
}
public void setXxzjbh(String xxzjbh) {
this.xxzjbh = xxzjbh;
}
public String getZh() {
return zh;
}
public void setZh(String zh) {
this.zh = zh;
}
public String getAccountName() {
return accountName;
}
public void setAccountName(String accountName) {
this.accountName = accountName;
}
public String getAccount() {
return account;
}
public void setAccount(String account) {
this.account = account;
}
public String getMomey() {
return momey;
}
public void setMomey(String momey) {
this.momey = momey;
}
public String getBalance() {
return balance;
}
public void setBalance(String balance) {
this.balance = balance;
}
public String getFlag() {
return flag;
}
public void setFlag(String flag) {
this.flag = flag;
}
public String getTransactiontpye() {
return transactiontpye;
}
public void setTransactiontpye(String transactiontpye) {
this.transactiontpye = transactiontpye;
}
public String getResults() {
return results;
}
public void setResults(String results) {
this.results = results;
}
public String getSj() {
return sj;
}
public void setSj(String sj) {
this.sj = sj;
}
public String getCurPage() {
return curPage;
}
public void setCurPage(String curPage) {
this.curPage = curPage;
}
}
package com.founder.model;
/**
* Created by admin on 2019/5/27.
*/
public abstract class page {
private String draw;//datatable 参数
private int startNum;//datatable 起始页参数
private int endNum;//datatable 结束页码参数
private String message;//datatable 查询参数
private String start;
private String length;
public String getDraw() {
return draw;
}
public void setDraw(String draw) {
this.draw = draw;
}
public int getStartNum() {
return startNum;
}
public void setStartNum(int startNum) {
this.startNum = startNum;
}
public int getEndNum() {
return endNum;
}
public void setEndNum(int endNum) {
this.endNum = endNum;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
package com.founder.model;
/**
* Created by admin on 2019/5/27.
*/
public class thirdparty extends page {
private String xxzjbh;//序号
private String zh;//支付账号
private String zfjg;//支付机构
private String applicationNumber;//业务申请编号
private String type;//请求类型
private String status;//状态
private String momey;//金额
private String thirdpartyResults;//银行卡反馈结果
private String lrr;//录入人
private String lrsj;//录入时间
private String lrdw;//录入单位
private String curPage;//当前页
public String getXxzjbh() {
return xxzjbh;
}
public void setXxzjbh(String xxzjbh) {
this.xxzjbh = xxzjbh;
}
public String getZh() {
return zh;
}
public void setZh(String zh) {
this.zh = zh;
}
public String getZfjg() {
return zfjg;
}
public void setZfjg(String zfjg) {
this.zfjg = zfjg;
}
public String getApplicationNumber() {
return applicationNumber;
}
public void setApplicationNumber(String applicationNumber) {
this.applicationNumber = applicationNumber;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getMomey() {
return momey;
}
public void setMomey(String momey) {
this.momey = momey;
}
public String getThirdpartyResults() {
return thirdpartyResults;
}
public void setThirdpartyResults(String thirdpartyResults) {
this.thirdpartyResults = thirdpartyResults;
}
public String getLrr() {
return lrr;
}
public void setLrr(String lrr) {
this.lrr = lrr;
}
public String getLrsj() {
return lrsj;
}
public void setLrsj(String lrsj) {
this.lrsj = lrsj;
}
public String getLrdw() {
return lrdw;
}
public void setLrdw(String lrdw) {
this.lrdw = lrdw;
}
public String getCurPage() {
return curPage;
}
public void setCurPage(String curPage) {
this.curPage = curPage;
}
}
package com.founder.multipleThread.latchThread;
import java.util.List;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
/**
* Created by admin on 2019/4/19.
*/
public class LatchThreadPoolTool<T> {
//单个线程处理的数据量
private int singleCount;
//处理的总数据量
private int listSize;
//开启的线程数
private int runSize;
//操作的数据集
private List<T> list;
//计数器
private CountDownLatch begin,end;
//线程池
private ExecutorService executorService;
//回调
private CallBack callBack;
//回调接口定义
public interface CallBack<T>{
public void method(List<T> list);
}
public LatchThreadPoolTool(int singleCount, List<T> list){ //批量处理的数 data
this.singleCount = singleCount;
this.list = list;
if (list != null){
this.listSize = list.size();
this.runSize = (this.listSize/this.singleCount) + 1;
}
}
public void setCallBack(CallBack callBack) {
this.callBack = callBack;
}
//执行
public void excute() throws InterruptedException {
System.out.println("主线程阻塞,等待所有子线程执行完成");
//创建定长线程迟
executorService = Executors.newFixedThreadPool(runSize);
begin = new CountDownLatch(1);
end = new CountDownLatch(runSize);
//创建线程
int startIndex = 0;
int endIndex = 0;
List<T> newList = null;
for (int i = 0; i < runSize; i++) {
//计算每个线程对应的数据
if (i < (runSize - 1)){
startIndex = i * singleCount;
endIndex = (i + 1) * singleCount;
newList = list.subList(startIndex,endIndex); //从fromIndex(包含),到toIndex(不包含)
}else {
startIndex = i * singleCount;
endIndex = listSize;
newList = list.subList(startIndex,endIndex);
}
//创建线程类处理数据
MyThread<T> myThread = new MyThread(newList, begin, end) {
@Override
public void ywmethod(List list) {
callBack.method(list);//接口
}
};
//执行线程
executorService.execute(myThread);
}
//计数器减一 // 完成业务处理过程,计数器-1
System.out.println("游戏开始22222开始");
begin.countDown();
end.await();//await() 方法在倒计数为0之前会阻塞当前线程.
System.out.println("游戏结束333333");
executorService.shutdown();
}
}
\ No newline at end of file
package com.founder.multipleThread.latchThread;
import java.util.List;
import java.util.concurrent.CountDownLatch;
/**
* Created by admin on 2019/5/28.
*/
//抽象线程类
public abstract class MyThread<T> implements Runnable{
private List<T> list;
private CountDownLatch begin,end;
public MyThread(List<T> list, CountDownLatch begin, CountDownLatch end){
this.list = list;
this.begin = begin;
this.end = end;
}
public abstract void ywmethod(List<T> list);
@Override
public void run() { //里面批量是先全部跑完
try {
//执行程序
ywmethod(list);
begin.await();//阻塞
} catch (InterruptedException e) {
e.printStackTrace();
}finally {
//计数器减一
end.countDown();//释放
}
}
}
package com.founder.multipleThread.latchThread;
import java.util.ArrayList;
import java.util.List;
/**
* Created by admin on 2019/4/19.
*/
public class ThreadText {
public static void main(String[] agrs){
long start = System.currentTimeMillis();
List<String> list = new ArrayList<String>();
for (int i = 0; i < 100; i++) {
list.add("hello"+i);
}
//System.out.println("执行开始");
LatchThreadPoolTool<String> tool = new LatchThreadPoolTool(10,list);
tool.setCallBack(new LatchThreadPoolTool.CallBack<String>() {//实现返回值
@Override
public void method(List<String> list) {//返回值
for (int i = 0; i < list.size(); i++) {
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(Thread.currentThread().getName()+"------"+list.get(i)+" ");
}
}
});
try {
tool.excute();
System.out.println(String.format("任务执行成功,耗时{%s}毫秒", System.currentTimeMillis() - start));
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
\ No newline at end of file
package com.founder.multipleThread.listThread;
import com.founder.jsoup.SaveJsoupCookieCraw;
import com.founder.model.SpringUtil;
import com.founder.model.XzxtRestResult;
import com.founder.model.card;
import com.founder.service.SaveCardinfosService;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
/**
* Created by admin on 2019/4/19.
*/
public class ListThreadPoolTool<T> {
//单个线程处理的数据量
private int singleCount;
//处理的总数据量
private int listSize;
//开启的线程数
private int runSize;
//操作的数据集
private List<T> list;
//线程池
private ExecutorService executorService;
//业务方法
private Work work;
//业务方法
private SaveCardinfosService saveCardinfosService =(SaveCardinfosService) SpringUtil.getBean(SaveCardinfosService.class);
//回调接口定义
public interface Work<T>{
public void method(int xcmz, List<T> list);
}
public ListThreadPoolTool(int singleCount, List<T> list){ //批量处理的数 data
this.singleCount = singleCount;
this.list = list;
if (list != null){
this.listSize = list.size();
this.runSize = (this.listSize/this.singleCount) + 1;
}
}
public void setWork(Work work) {
this.work = work;
}
//执行
public void excute() throws InterruptedException {
executorService = Executors.newFixedThreadPool(runSize);
//创建线程
int startIndex = 0;
int endIndex = 0;
int xcmz=0;//线程名称
List<T> newList = null;
for (int i = 0; i < runSize; i++) {
xcmz=i+1;
//计算每个线程对应的数据
if (i < (runSize - 1)){//每次批量处理
startIndex = i * singleCount;
endIndex = (i + 1) * singleCount;
newList = list.subList(startIndex,endIndex); //从fromIndex(包含),到toIndex(不包含)
}else {
startIndex = i * singleCount;
endIndex = listSize;
if(i * singleCount==listSize){//处理没有余数的情况
return;
}else{
newList = list.subList(startIndex,endIndex);//最后一次批量处理
}
}
//创建线程类处理数据
MyThread myThread = new MyThread(xcmz,newList) {
@Override
public void threadwork(int xcmz,List list) {
//SaveCardinfosService saveCardinfosService=(SaveCardinfosService) SpringUtil.getBean(SaveCardinfosService.class);
for (int i = 0; i < list.size(); i++) {
System.out.println("调取页数" + xcmz + "---" + list.get(i));
card card=new card();
card.setCurPage((String) list.get(i));
card.setKssj("2019-05-01");
card.setJzsj("2019-05-02");
System.out.println("调取页数2222" + xcmz + "---" + list.get(i));
//获取一个月的数据
XzxtRestResult xzxtRestResult=saveCardinfosService.getSaveCardinfos(card);
}
work.method(xcmz,list);
}
};
//执行线程
executorService.execute(myThread);
}
executorService.shutdown();
}
}
\ No newline at end of file
package com.founder.multipleThread.listThread;
import java.util.List;
/**
* Created by admin on 2019/5/28.
*/
//抽象线程类
public abstract class MyThread<T> implements Runnable{
private List<T> list;
private int xcmz;
public MyThread(int xcmz,List<T> list){
this.list = list;
this.xcmz = xcmz;
}
public abstract void threadwork(int xcmz,List<T> list);
@Override
public void run() { //里面实现业务代码
threadwork(xcmz,list);
}
}
package com.founder.multipleThread.postThread;
/**
* Created by admin on 2019/5/28.
*/
//抽象线程类
public abstract class MyThread<T> implements Runnable{
private int startIndex,endIndex,xcmz;
private T data;
public MyThread(int xcmz,int startIndex,int endIndex,T data){
this.xcmz = xcmz;
this.startIndex = startIndex;
this.endIndex = endIndex;
this.data = data;
}
public abstract void threadwork(int xcmz,int startIndex,int endIndex,T data);
@Override
public void run() {
threadwork(xcmz,startIndex,endIndex,data);
}
}
package com.founder.multipleThread.postThread;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import static com.founder.multipleThread.postThread.ThreadReturnText.thread2;
/**
* Created by admin on 2019/4/19.
*/
public class PostThreadPoolTool<T> {
//处理的数据页数(请求次数)
private int pages;
//单个线程处理的数据量
private int singleCount;
//处理的总数据量
private int listSize;
//开启的线程数
private int runSize;
//线程池
private ExecutorService executorService;
//回调(接口)
private Work work;
//回调(接口)
private T data;
//回调接口定义
public interface Work<T>{
public void method(int xzmc, int startIndex, int endIndex, T data);
}
public PostThreadPoolTool(int singleCount, int pages,T data){ //批量处理的数 data
this.singleCount = singleCount;
this.pages = pages;
this.data = data;
this.runSize = (this.pages/this.singleCount) +1;//22 5的批量 线程数5 4 个5 1个2
}
public void setWork(Work work) {
this.work = work;
}
//执行
public void excute() throws InterruptedException {
//创建定长线程迟
executorService = Executors.newFixedThreadPool(runSize);
//创建线程
int startIndex = 0;
int endIndex = 0;
int xcmz=0;//线程名称
List<T> newList = null;
for (int i = 1; i <=runSize; i++) {
xcmz=i;
//计算每个线程对应的数据
if(i==1){
startIndex =1;
endIndex = 1* singleCount;
System.out.println("开启----第"+i+"个------线程:起始页:+"+startIndex+"结束页"+endIndex);
}
else if (i==runSize){
startIndex = (i-1)* singleCount+1;
endIndex =pages;
if(startIndex>endIndex){
return;
}else{
System.out.println("开启----第"+i+"个------线程:起始页:+"+startIndex+"结束页"+endIndex);
}
}
else {
startIndex = (i-1)* singleCount+1;
endIndex = i * singleCount;
System.out.println("开启----第"+i+"个------线程:起始页:+"+startIndex+"结束页"+endIndex);
}
//创建线程类处理数据
MyThread<T> myThread = new MyThread(xcmz,startIndex,endIndex,data) {
@Override
public void threadwork(int xcmz, int startIndex, int endIndex, Object data) {
List<String> list = new ArrayList<String>();
for (int i = startIndex; i <= endIndex; i++) {
//System.out.println("请求第"+i+"页数据");
list.add(i + "");
}
System.out.println("线程池1==" + xcmz + "---" + Thread.currentThread().getName() + "==分组list数据" + list.toString());
thread2(100, list, data);
//work.method(xcmz,startIndex,endIndex,data);
}
};
//执行线程
executorService.execute(myThread);
}
executorService.shutdown();
}
}
\ No newline at end of file
package com.founder.multipleThread.postThread;
import com.founder.model.XzxtRestResult;
import com.founder.model.card;
import com.founder.multipleThread.listThread.ListThreadPoolTool;
import java.util.ArrayList;
import java.util.List;
/**
* Created by admin on 2019/4/19.
*/
public class ThreadReturnText {
public static void main(String[] agrs) {
System.out.println("执行开始");
card card = new card();
card.setKssj("2019-05-1");
card.setJzsj("2019-05-29");
/*//获取一个月的数据
XzxtRestResult xzxtRestResult=cardinfosService.getCardinfos(card);
JSONObject object= JSON.parseObject(xzxtRestResult.getData().toString());
int pages= (int) object.get("pages");*/
int pages = 100;
//1、线程批量分组页面list
PostThreadPoolTool<card> tool = new PostThreadPoolTool(20, pages,card);
tool.setWork(new PostThreadPoolTool.Work<card>() {
@Override
public void method(int xzmc, int startIndex, int endIndex, card card) {
List<String> list = new ArrayList<String>();
for (int i = startIndex; i <= endIndex; i++) {
//System.out.println("请求第"+i+"页数据");
list.add(i + "");
}
System.out.println("线程池1==" + xzmc + "---" + Thread.currentThread().getName() + "==分组list数据" + list.toString());
thread2(5, list, card);
}
});
try {
tool.excute();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
public static void thread2(int singleCount, List<String> list, Object data) {
ListThreadPoolTool<String> tool = new ListThreadPoolTool(singleCount, list);
// final card card=XzxtRestResult.format(data,card.class);
tool.setWork(new ListThreadPoolTool.Work<String>() {//实现业务代码
@Override
public void method(int xcmz, List<String> list) {//返回值
System.out.println("线程池2==" + xcmz + "---" + Thread.currentThread().getName() + "------" + list.toString());
}
});
try {
tool.excute();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
\ No newline at end of file
package com.founder.service;
import com.founder.model.XzxtRestResult;
import com.founder.model.card;
import com.founder.model.thirdparty;
/**
* @author yutons
*/
public interface CardinfosService {
public XzxtRestResult getCardinfos(card card) ;
public XzxtRestResult getCardliushui(card card) ;
public XzxtRestResult getThirdpartys(thirdparty thirdparty) ;
}
package com.founder.service;
import com.founder.model.XzxtRestResult;
import com.founder.model.card;
import com.founder.model.thirdparty;
/**
* @author yutons
*/
public interface SaveCardinfosService {
public XzxtRestResult getSaveCardinfos(card card) ;
public XzxtRestResult getSaveCardliushui(card card) ;
public XzxtRestResult getSaveThirdpartys(thirdparty thirdparty) ;
}
package com.founder.service.impl;
import com.founder.jsoup.JsoupCookieCraw;
import com.founder.model.XzxtRestResult;
import com.founder.model.card;
import com.founder.model.cardliushui;
import com.founder.model.thirdparty;
import com.founder.service.CardinfosService;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import javax.annotation.Resource;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
public class CardinfosServiceImpl implements CardinfosService {
private static final Logger logger = LoggerFactory.getLogger(CardinfosServiceImpl.class);
@Value("${dzpt.card.url}")
private String cardurl;
@Value("${dzpt.cardliushui.url}")
private String cardliushuiurl;
@Value("${dzpt.thirdparty.url}")
private String thirdpartyurl;
@Autowired
private JsoupCookieCraw jsoupCookieCraw;
@Override
public XzxtRestResult getCardinfos(card card) {
Map<String, String> cookies=null;
Map<String, Object> cardlistmap=new HashMap<String,Object>();
try {
//1、登录
cookies=jsoupCookieCraw.login();
System.out.print("登录反诈平台获取cookies==="+cookies.toString());
} catch (IOException e) {
e.printStackTrace();
}
// 直接获取DOM树,带着cookies去获取
//pageList.curPage: 1 yhzh.kssj: 2019-05-27 yhzh.xfzt: all
Document document = null;
try {
document = Jsoup.connect(cardurl)
.cookies(cookies)
.timeout(60000)
.data("pageList.curPage",card.getCurPage())
.data("yhzh.zh", card.getAccount())
.post();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(document.toString());
List<card> cardList =new ArrayList<card>();
cardlistmap=jsoupCookieCraw.getCardInfo(document);
if(!StringUtils.isEmpty(cardList)){
return XzxtRestResult.build(201,"成功获取",cardlistmap);
}else {
return XzxtRestResult.build(201,"暂无数据",cardlistmap);
}
}
@Override
public XzxtRestResult getCardliushui(card card) {
Map<String, String> cookies=null;
Map<String, Object> cardlistmap=new HashMap<String,Object>();
try {
//1、登录
cookies=jsoupCookieCraw.login();
System.out.print("登录反诈平台获取cookies==="+cookies.toString());
} catch (IOException e) {
e.printStackTrace();
}
// 直接获取DOM树,带着cookies去获取
//pageList.curPage: 1 yhzh.kssj: 2019-05-27 yhzh.xfzt: all
Document document = null;
try {
document = Jsoup.connect(cardliushuiurl)
.cookies(cookies)
.timeout(60000)
.data("pageList.curPage",card.getCurPage())
.data("yhzh.zh", card.getAccount())//账号
.data("yhzh.ywsqbh", card.getApplicationNumber())//业务申请编号
.post();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(document.toString());
List<cardliushui> cardList =new ArrayList<cardliushui>();
cardlistmap=jsoupCookieCraw.getCardLsInfo(document);
if(!StringUtils.isEmpty(cardList)){
return XzxtRestResult.build(201,"成功获取",cardlistmap);
}else {
return XzxtRestResult.build(201,"暂无数据",cardlistmap);
}
}
@Override
public XzxtRestResult getThirdpartys(thirdparty thirdparty) {
Map<String, String> cookies=null;
Map<String, Object> cardlistmap=new HashMap<String,Object>();
try {
//1、登录
cookies=jsoupCookieCraw.login();
System.out.print("登录反诈平台获取cookies==="+cookies.toString());
} catch (IOException e) {
e.printStackTrace();
}
// 直接获取DOM树,带着cookies去获取
//pageList.curPage: 1 yhzh.kssj: 2019-05-27 yhzh.xfzt: all
Document document = null;
try {
document = Jsoup.connect(thirdpartyurl)
.cookies(cookies)
.timeout(60000)
.data("pageList.curPage",thirdparty.getCurPage())
.data("sfzfQq.zh", thirdparty.getZh())
.post();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(document.toString());
List<thirdparty> thirdpartyList =new ArrayList<thirdparty>();
cardlistmap=jsoupCookieCraw.getThirdpartys(document);
if(!StringUtils.isEmpty(thirdpartyList)){
return XzxtRestResult.build(201,"成功获取",cardlistmap);
}else {
return XzxtRestResult.build(201,"暂无数据",cardlistmap);
}
}
}
package com.founder.service.impl;
import com.founder.jsoup.JsoupCookieCraw;
import com.founder.jsoup.SaveJsoupCookieCraw;
import com.founder.model.XzxtRestResult;
import com.founder.model.card;
import com.founder.model.cardliushui;
import com.founder.model.thirdparty;
import com.founder.service.CardinfosService;
import com.founder.service.SaveCardinfosService;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
public class SaveCardinfosServiceImpl implements SaveCardinfosService {
private static final Logger logger = LoggerFactory.getLogger(SaveCardinfosServiceImpl.class);
@Value("${dzpt.card.url}")
private String cardurl;
@Value("${dzpt.cardliushui.url}")
private String cardliushuiurl;
@Value("${dzpt.thirdparty.url}")
private String thirdpartyurl;
@Autowired
private SaveJsoupCookieCraw saveJsoupCookieCraw;
@Autowired
private JsoupCookieCraw jsoupCookieCraw;
@Override
public XzxtRestResult getSaveCardinfos(card card) {
String pages="";
Map<String, String> cookies=null;
Map<String, Object> cardlistmap=new HashMap<String,Object>();
try {
//1、登录
cookies=saveJsoupCookieCraw.login();
System.out.print("登录反诈平台获取cookies==="+cookies.toString());
} catch (IOException e) {
e.printStackTrace();
}
// 直接获取DOM树,带着cookies去获取
//pageList.curPage: 1 yhzh.kssj: 2019-05-27 yhzh.xfzt: all
Document document = null;
//爬虫必须带时间参数
try {
document = Jsoup.connect(cardurl)
.cookies(cookies)
.timeout(120000)
.data("pageList.curPage",card.getCurPage())
.data("yhzh.kssj", card.getKssj())
.data("yhzh.jzsj", card.getJzsj())
.post();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(document.toString());
List<card> cardList =new ArrayList<card>();
if("0".equals(card.getCurPage()))
{//用来查总数
cardlistmap=jsoupCookieCraw.getCardInfo(document);
pages=cardlistmap.get("recordsTotal")+"";
}
else{
cardlistmap=saveJsoupCookieCraw.getCardInfo(document);
pages= (String) cardlistmap.get("pages");
}
if(!StringUtils.isEmpty(cardList)){
return XzxtRestResult.build(201,"成功获取",pages,cardlistmap);
}else {
return XzxtRestResult.build(201,"暂无数据",pages,cardlistmap);
}
}
@Override
public XzxtRestResult getSaveCardliushui(card card) {
Map<String, String> cookies=null;
Map<String, Object> cardlistmap=new HashMap<String,Object>();
try {
//1、登录
cookies=saveJsoupCookieCraw.login();
System.out.print("登录反诈平台获取cookies==="+cookies.toString());
} catch (IOException e) {
e.printStackTrace();
}
// 直接获取DOM树,带着cookies去获取
//pageList.curPage: 1 yhzh.kssj: 2019-05-27 yhzh.xfzt: all
Document document = null;
try {
document = Jsoup.connect(cardliushuiurl)
.cookies(cookies)
.timeout(60000)
.data("pageList.curPage",card.getCurPage())
.data("yhzh.zh", card.getAccount())//账号
.data("yhzh.ywsqbh", card.getApplicationNumber())//业务申请编号
.post();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(document.toString());
List<cardliushui> cardList =new ArrayList<cardliushui>();
cardlistmap=saveJsoupCookieCraw.getCardLsInfo(document);
if(!StringUtils.isEmpty(cardList)){
return XzxtRestResult.build(201,"成功获取",cardlistmap);
}else {
return XzxtRestResult.build(201,"暂无数据",cardlistmap);
}
}
@Override
public XzxtRestResult getSaveThirdpartys(thirdparty thirdparty) {
Map<String, String> cookies=null;
Map<String, Object> cardlistmap=new HashMap<String,Object>();
try {
//1、登录
cookies=saveJsoupCookieCraw.login();
System.out.print("登录反诈平台获取cookies==="+cookies.toString());
} catch (IOException e) {
e.printStackTrace();
}
// 直接获取DOM树,带着cookies去获取
//pageList.curPage: 1 yhzh.kssj: 2019-05-27 yhzh.xfzt: all
Document document = null;
try {
document = Jsoup.connect(thirdpartyurl)
.cookies(cookies)
.timeout(60000)
.data("pageList.curPage",thirdparty.getCurPage())
.data("sfzfQq.zh", thirdparty.getZh())
.post();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(document.toString());
List<thirdparty> thirdpartyList =new ArrayList<thirdparty>();
cardlistmap=saveJsoupCookieCraw.getThirdpartys(document);
if(!StringUtils.isEmpty(thirdpartyList)){
return XzxtRestResult.build(201,"成功获取",cardlistmap);
}else {
return XzxtRestResult.build(201,"暂无数据",cardlistmap);
}
}
}
package com.founder.service.impl;
import com.founder.jsoup.JsoupCookieCraw;
import com.founder.jsoup.SaveJsoupCookieCraw;
import com.founder.model.XzxtRestResult;
import com.founder.model.card;
import com.founder.model.cardliushui;
import com.founder.model.thirdparty;
import com.founder.multipleThread.listThread.ListThreadPoolTool;
import com.founder.multipleThread.postThread.PostThreadPoolTool;
import com.founder.service.SaveCardinfosService;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
public class SaveCardinfosServiceImpl1 {
private static final Logger logger = LoggerFactory.getLogger(SaveCardinfosServiceImpl1.class);
@Value("${dzpt.card.url}")
private String cardurl;
@Value("${dzpt.cardliushui.url}")
private String cardliushuiurl;
@Value("${dzpt.thirdparty.url}")
private String thirdpartyurl;
@Autowired
private SaveJsoupCookieCraw saveJsoupCookieCraw;
@Autowired
private SaveCardinfosService saveCardinfosService;
public void cardthread(){
System.out.println("执行开始");
card card = new card();
card.setCurPage("0");
card.setKssj("2019-05-01");
card.setJzsj("2019-05-29");
//获取一个月的数据
XzxtRestResult xzxtRestResult=saveCardinfosService.getSaveCardinfos(card);
int pages= Integer.parseInt(xzxtRestResult.getRediskey());
System.out.println("批处理总数========"+pages);
//1、线程批量分组页面list
PostThreadPoolTool<card> tool = new PostThreadPoolTool(10000, pages,card);
tool.setWork(new PostThreadPoolTool.Work<card>() {
@Override
public void method(int xzmc, int startIndex, int endIndex, card card) {
List<String> list = new ArrayList<String>();
for (int i = startIndex; i <= endIndex; i++) {
//System.out.println("请求第"+i+"页数据");
list.add(i + "");
}
System.out.println("线程池1==" + xzmc + "---" + Thread.currentThread().getName() + "==分组list数据" + list.toString());
thread2(1000, list, card,saveCardinfosService);
}
});
try {
tool.excute();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
public static void thread2(int singleCount, List<String> list, card yscard,SaveCardinfosService saveCardinfosService) {
ListThreadPoolTool<String> tool = new ListThreadPoolTool(singleCount, list);
final card data=yscard;
final SaveCardinfosService saveCardinfosService1= saveCardinfosService;
//final card yscard=XzxtRestResult.format(data,card.class);
tool.setWork(new ListThreadPoolTool.Work<String>() {
@Override
public void method(int xcmz, List<String> list) {//返回值
System.out.println("线程池2==" + xcmz + "---" + Thread.currentThread().getName() + "------" + list.toString());
for (int i = 0; i < list.size(); i++) {
System.out.println("调取页数" + xcmz + "---" + list.get(i));
card card=new card();
card.setCurPage(list.get(i));
card.setKssj(data.getKssj());
card.setJzsj(data.getJzsj());
//获取一个月的数据
XzxtRestResult xzxtRestResult=saveCardinfosService1.getSaveCardinfos(card);
}
}
});
try {
tool.excute();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
package com.founder.task;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.founder.model.XzxtRestResult;
import com.founder.model.card;
import com.founder.multipleThread.postThread.PostThreadPoolTool;
import com.founder.service.SaveCardinfosService;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.ArrayList;
import java.util.List;
/**
* Created by admin on 2019/5/29.
*/
public class CardTask {
@Autowired
private SaveCardinfosService saveCardinfosService ;
//@Scheduled(cron="0 0 12,24 * * ? ")//每天12点和24点执行
//@Scheduled(cron = "0/2 * * * * *")
public void cardthread(){
long start = System.currentTimeMillis();
card card=new card();
card.setKssj("2019-");
card.setJzsj("");
//获取一个月的数据
XzxtRestResult xzxtRestResult= saveCardinfosService.getSaveCardinfos(card);
JSONObject object= JSON.parseObject(xzxtRestResult.getData().toString());
/* int pages= (int) object.get("pages");
List<card> cards=new ArrayList<>();
//1、批量批量获取数据
PostThreadPoolTool<String> tool = new PostThreadPoolTool(1000,pages); //单个线程处理1000页
tool.setWork(new PostThreadPoolTool.Work<String>() {
@Override
public void method(int xzmc, int startIndex, int endIndex) {
for (int i = startIndex; i < endIndex; i++) {//1000 15条 15000条 1000次请求。
card.setCurPage(i+"");
//获取一个月的数据
XzxtRestResult xzxtRestResult= saveCardinfosService.getSaveCardinfos(card);
System.out.println(Thread.currentThread().getName()+"------"+xzxtRestResult.toString());
}
}
});
try {
tool.excute();
System.out.println(String.format("任务执行成功,耗时{%s}毫秒", System.currentTimeMillis() - start));
} catch (InterruptedException e) {
e.printStackTrace();
}*/
}
}
package com.founder.task;
import org.springframework.scheduling.annotation.Async;
import org.springframework.scheduling.annotation.AsyncResult;
import org.springframework.stereotype.Component;
import java.util.concurrent.Future;
@Component
public class TestTask {
//异步任务此处必须返回Future,可以是Future<String>,也可以是Future<Integer>,自己定义具体的返回内容
@Async("taskExecutor")
public Future<String> doReturn(int i){
try {
// 这个方法需要调用500毫秒
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("线程:"+Thread.currentThread().getName()+"---执行任务,用时500秒");
// 消息汇总
return new AsyncResult<String>(String.format("这个是第{%s}个异步调用的证书", i));
}
}
server:
port: 8051
spring:
datasource:
driver-class-name: oracle.jdbc.driver.OracleDriver
username: XZXT
password: XzxtPwd#50
url: jdbc:oracle:thin:@77.1.24.50:1521:CQXZ
dzpt:
login:
url: http://68.89.99.2/dxzp/login.action
card:
url: http://68.89.99.2/dxzp/jsp/ajxx/yszfcx.action
cardliushui:
url: http://68.89.99.2/dxzp/jsp/ajxx/mxcxJg.action
thirdparty:
url: http://68.89.99.2/dxzp/jsp/sfzf/sfzf_all.action
third-partyliushui:
url: http://68.89.99.2/dxzp/jsp/sfzf/sfzf_all.action
\ No newline at end of file
spring.profiles.active:dev
#核心线程数
ThreadPool.corePoolSize=30
#最大线程数
ThreadPool.maxPoolSize=200
#任务队列容量(阻塞队列)
ThreadPool.queueCapacity=10
spring.thymeleaf.cache=false
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.content-type=text/html
spring.thymeleaf.mode=LEGACYHTML5
var AjaxxmlHttp = false;
var AjaxmyAfisT = false;
var EnableZwSystem = 1;
var AfisScanMode=1;//判断是扫描还是一体化采集 1代表一体化采集 0代表扫描
var clientVersion ="2"; //客户端程序版本
//主要用的就是这个函数
function scanPersonInfotoAfisEx(theForm,Ssystime,status) {
var zhiwenid,rybh;
var ri=1;
if(theForm){
clientVersion = theForm.clientVersion.value; //获取采集程序客户端版本
rybh = theForm.rybh.value;
zhiwenid = theForm.szzwbh.value;
theForm.cjfs.value=AfisScanMode;
}
ri=scanPersonInfotoAfis(zhiwenid,rybh,Ssystime,status);
return ri;
}
function scanPersonInfotoAfis(zhiwenid,rybh,Ssystime,status) {
var ver,rstr;
var ret,sret;
var myAfis = null;
if(EnableZwSystem) {
myAfis =GetAfisObject(1);
}
if(myAfis){
try{
ver = myAfis.GetProgramVersion();
if(ver != null && ver != "" && ver.length>1){
ver = ver.substr(0,1);
if(ver == "2"){
clientVersion = "2";
}
}
}catch(e){
clientVersion = "2";
}
ver=myAfis.GetVersion();
if(zhiwenid==""){
zhiwenid = rybh.substr(1);
}
if(zhiwenid != ""){
rstr = GettoAfisStr(1,rybh,zhiwenid);
if(rybh.substr(1)!=zhiwenid){
rybh = "R"+zhiwenid;
}
if(rstr == "NULL"){
alert("无相关人员基本信息!");
return -9;
}else if(rstr == "False"){
alert("获取人员基本信息失败,请联系技术人员!");
return -9;
}
var rete = myAfis.SetPersonDataStatus(zhiwenid,status);
if(rete<0){
alert("传入参数出错!");
return -9;
}
if(clientVersion=="2"){
//把人像信息传给控件
if(frminput.ZMZPL64!=undefined && frminput.ZMZPL64!="undefined" && frminput.ZMZPL64.value>0){
myAfis.SetPersonData(rybh,41,1,1,0,0,frminput.ZMZPL64.value,frminput.zmzpStr64.value);
}
if(frminput.CMZPL64!=undefined && frminput.CMZPL64!="undefined" && frminput.CMZPL64.value>0){
myAfis.SetPersonData(rybh,42,1,1,0,0,frminput.CMZPL64.value,frminput.cmzpStr64.value);
}
if(frminput.YCMZPL64!=undefined && frminput.YCMZPL64!="undefined" && frminput.YCMZPL64.value>0){
myAfis.SetPersonData(rybh,43,1,1,0,0,frminput.YCMZPL64.value,frminput.ycmzpStr64.value);
}
//end
}
sret=myAfis.ScanFingerImage(zhiwenid,rybh,rstr);
// >0 表示已保存, 接口调用成功
// =0 表示未保存, 接口调用成功
// <0 表示未保存, 接口调用失败
if(sret>0){
var bContinue=0;
while (bContinue<1){
var b = myAfis.IsFinished();
if (b){
ret = myAfis.GetLastSaveResult(); //处理文件返回值
bContinue = 1;
return ret;
}
}
}
}
else {
alert("指纹编号不能为空!");
return -9;
}
} else {
alert("请安装相关指纹系统!");
return -9;
}
}
//调用指纹的客户端程序
function GetAfisObject(zwtype)
{
if(typeof(zwtype) == "undefined"){
if(AjaxmyAfisT){
return(AjaxmyAfisT);
}
zwtype = 1;
}
if(!AjaxmyAfisT){
try{
AjaxmyAfisT =new ActiveXObject("HLPrtScan.Document");
if(AjaxmyAfisT){
EnableZwSystem = 1;
}
else{
alert("调用汉林采集程序发生异常!");
}
}
catch(e){
alert("调用汉林采集程序发生异常!");
AjaxmyAfisT = null;
EnableZwSystem = 0;
}
}
return(AjaxmyAfisT);
}
function GettoAfisStr(zwtype,rybh,zwbh)
{
var ver,rstr;
var myAfis = null;
if(EnableZwSystem) {
myAfis =GetAfisObject();
}
if(myAfis){
ver=myAfis.GetVersion();
if(!AjaxxmlHttp){
AjaxxmlHttp = getHTTPObject();
}
AjaxxmlHttp.open("GET","ajaxGettoAfisStr?ver="+ver+"&psnid="+rybh+"&clientVersion="+clientVersion,false);
try{
AjaxxmlHttp.send(null);
}
catch(e){
alert("获取人员文字信息异常!");
}
if(AjaxxmlHttp.readyState == 4){
if(AjaxxmlHttp.status == 200){
rstr = AjaxxmlHttp.responseText;
rstr = trim1013(rstr);
if(rstr==""){
alert("获取人员文字信息异常!");
return("False");
}
return(rstr);
}else{
alert("获取人员文字信息异常!");
return("False");
}
}
}else
alert("请安装相关指纹系统!");
}
function getHTTPObject()
{
var xmlHttp;
if(window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
} else if (window.ActiveXObject){
try{
xmlHttp = new ActiveXObject("MSxml2.XMLHTTP");
}catch(e){
try{xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e2){
xmlHttp = false;
}
}
}
return(xmlHttp);
}
function trim1013(str)
{
var ch,s,e;
s = 0;
e = str.length;
for(var i=0; i < str.length; i++){
ch = str.charAt(i);
if(ch != '\n' && ch != '\r') {
s = i;
break;
}
}
for(i=str.length - 1; i >= s ; i--){
ch = str.charAt(i);
if(ch != '\n' && ch != '\r') {
e = i + 1;
break;
}
}
return(str.substring(s,e));
}
\ No newline at end of file
//使用ajax来控制控件的创建与调用
//add by qinzhijin on 20180311 改用http调用控件接口工具
//创建控件对象
function newActiveXObject(ActiveXObjectName){
var rs;
var path = "http://127.0.0.1:9980";
var param = "{\"autoSvrID\":\"" + ActiveXObjectName + "\",\"methodName\":\"newActiveXObject\"}";
$.ajax({
type: "post",
url: path,//调用该路径的控件
async: false,
data: param,
contentType: "application/x-www-form-urlencoded",
dataType: "json",//解决跨域请求
crossDomain: true,
success: function(data) {
var rstemp = eval(data);
var status = rstemp.apiStatus;
if(status == "success"){
rs = status;
}else{
//alert("调用控件错误,错误状态:"+status);
rs = "";
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
//alert("头 = " + XMLHttpRequest.getResponseHeader('Access-Control-Allow-Origin'));
alert("请求创建调用控件失败,错误状态=="+XMLHttpRequest.status);
}
});
return rs;
}
//=========二代证===================================================
function ReadICCardInfo() {//二代证
var rs;
var path = "http://127.0.0.1:9980";
var param = "{\"autoSvrID\":\"IDHWReader.Document\",\"methodName\":\"ReadICCardInfo\"}";
$.ajax({
type: "post",
url: path,
async: false,
data: param,
contentType: "application/x-www-form-urlencoded",
dataType: "json",
success: function(data) {
var rstemp = eval(data);
var status = rstemp.apiStatus;
if(status == "success"){
rs = rstemp.apiReturn;
}else{
alert("获取二代证信息失败,错误状态:"+status);
rs = "";
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
//alert("获取二代证信息失败,错误状态=="+XMLHttpRequest.status);
}
});
return rs;
}
//=========身高体重===================================================
function ReadHWInfo() {//身高体重
var rs;
var path = "http://127.0.0.1:9980";
var param = "{\"autoSvrID\":\"IDHWReader.Document\",\"methodName\":\"ReadHWInfo\"}";
$.ajax({
type: "post",
url: path,
async: false,
data: param,
contentType: "application/x-www-form-urlencoded",
dataType: "json",
success: function(data) {
var rstemp = eval(data);
var status = rstemp.apiStatus;
if(status == "success"){
rs = rstemp.apiReturn;
}else{
alert("获取身高体重信息失败,错误状态:"+status);
rs = "";
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
//alert("获取身高体重信息失败,错误状态=="+XMLHttpRequest.status);
}
});
return rs;
}
//=========人像===================================================
//设置要保存的图像名称
function SetBmpFileName(filename) {
var rs;
var path = "http://127.0.0.1:9980";
var param = "{\"autoSvrID\":\"HLPhotoCatcher.Document\",\"methodName\":\"SetBmpFileName\",\"filename\":\""+filename+"\"}";
$.ajax({
type: "post",
url: path,
async: false,
data: param,
contentType: "application/x-www-form-urlencoded",
dataType: "json",
success: function(data) {
var rstemp = eval(data);
var status = rstemp.apiStatus;
if(status == "success"){
rs = status;
}else{
alert("设置图像名称失败,错误状态:"+status);
rs = "";
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
//alert("设置图像名称失败,错误状态=="+XMLHttpRequest.status);
}
});
return rs;
}
//设置要人像的姓名
function SetPersonName(tpName) {
var rs;
var path = "http://127.0.0.1:9980";
var param = "{\"autoSvrID\":\"HLPhotoCatcher.Document\",\"methodName\":\"SetPersonName\",\"tpName\":\""+tpName+"\"}";
$.ajax({
type: "post",
url: path,
async: false,
data: param,
contentType: "application/x-www-form-urlencoded",
dataType: "json",
success: function(data) {
var rstemp = eval(data);
var status = rstemp.apiStatus;
if(status == "success"){
rs = status;
}else{
alert("设置图像人名失败,错误状态:"+status);
rs = "";
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
//alert("设置图像人名失败,错误状态=="+XMLHttpRequest.status);
}
});
return rs;
}
//获取人像数据
function GetOneAfisPhotoForWeb() {
var rs;
var path = "http://127.0.0.1:9980";
var param = "{\"autoSvrID\":\"HLPhotoCatcher.Document\",\"methodName\":\"GetOneAfisPhotoForWeb\"}";
$.ajax({
type: "post",
url: path,
async: false,
data: param,
contentType: "application/x-www-form-urlencoded",
dataType: "json",
success: function(data) {
var rstemp = eval(data);
var status = rstemp.apiStatus;
if(status == "success"){
rs = rstemp.apiReturn;
//alert("人像数据==="+rs);
}else{
alert("获取人像数据失败,错误状态:"+status);
rs = "";
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
//alert("获取人像数据失败,错误状态=="+XMLHttpRequest.status);
}
});
return rs;
}
//获取人像照片保存在本地的路径
function GetPhotoPath() {
var rs;
var path = "http://127.0.0.1:9980";
var param = "{\"autoSvrID\":\"HLPhotoCatcher.Document\",\"methodName\":\"GetPhotoPath\",\"lPhotoSeq\":\"2\"}";
$.ajax({
type: "post",
url: path,
async: false,
data:param,
contentType: "application/x-www-form-urlencoded",
dataType: "json",
success: function(data) {
var rstemp = eval(data);
var status = rstemp.apiStatus;
if(status == "success"){
rs = rstemp.apiReturn;
}else{
alert("获取图片路径失败,错误状态:"+status);
rs = "";
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
//alert("获取图片路径失败,错误状态=="+XMLHttpRequest.status);
}
});
return rs;
}
//==========指掌纹================================
//获取接口版本
function GetVersion() {
var rs;
var path = "http://127.0.0.1:9980";
var param = "{\"autoSvrID\":\"HLPrtScan.Document\",\"methodName\":\"GetVersion\"}";
$.ajax({
type: "post",
url: path,
async: false,
data: param,
contentType: "application/x-www-form-urlencoded",
dataType: "json",
success: function(data) {
var rstemp = eval(data);
var status = rstemp.apiStatus;
if(status == "success"){
rs = rstemp.apiReturn;
}else{
alert("获取指纹版本信息失败,错误状态:"+status);
rs = "";
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
//alert("获取指纹版本信息失败,错误状态=="+XMLHttpRequest.status);
}
});
return rs;
}
//设置用户名,密码,指纹服务器IP
function SetLoginInfo(AfisUserName,AfisPassword,AfisSvrName){
var rs;
var path = "http://127.0.0.1:9980";
var param = "{\"autoSvrID\":\"HLPrtScan.Document\",\"methodName\":\"SetLoginInfo\",\"AfisUserName\":\""
+AfisUserName+"\",\"AfisPassword\":\""+AfisPassword+"\",\"AfisSvrName\":\""+AfisSvrName+"\"}";
$.ajax({
type: "post",
url: path,
async: false,
data: param,
contentType: "application/x-www-form-urlencoded",
dataType: "json",
success: function(data) {
var rstemp = eval(data);
var status = rstemp.apiStatus;
if(status == "success"){
rs = status;
}else{
alert("设置用户名,密码,指纹服务器IP失败,错误状态:"+status);
rs = "";
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
//alert("设置用户名,密码,指纹服务器IP失败,错误状态=="+XMLHttpRequest.status);
}
});
return rs;
}
//设置采集方式
function SetScanMode(AfisScanMode){
var rs;
var path = "http://127.0.0.1:9980";
var param = "{\"autoSvrID\":\"HLPrtScan.Document\",\"methodName\":\"SetScanMode\",\"AfisScanMode\":\""+AfisScanMode+"\"}";
$.ajax({
type: "post",
url: path,
async: false,
data: param,
contentType: "application/x-www-form-urlencoded",
dataType: "json",
success: function(data) {
var rstemp = eval(data);
var status = rstemp.apiStatus;
if(status == "success"){
rs = status;
}else{
alert("设置采集方式失败,错误状态:"+status);
rs = "";
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
//alert("设置采集方式失败,错误状态=="+XMLHttpRequest.status);
}
});
return rs;
}
//设置管理员权限
function SetUserIsAdmin(iUser){
var rs;
var path = "http://127.0.0.1:9980";
var param = "{\"autoSvrID\":\"HLPrtScan.Document\",\"methodName\":\"SetUserIsAdmin\",\"iUser\":\""+iUser+"\"}";
$.ajax({
type: "post",
url: path,
async: false,
data: param,
contentType: "application/x-www-form-urlencoded",
dataType: "json",
success: function(data) {
var rstemp = eval(data);
var status = rstemp.apiStatus;
if(status == "success"){
rs = status;
}else{
alert("设置管理员权限失败,错误状态:"+status);
rs = "";
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
//alert("设置管理员权限失败,错误状态=="+XMLHttpRequest.status);
}
});
return rs;
}
//设置是否调用人像采集
function ShowPhotoScan(iUser){
var rs;
var path = "http://127.0.0.1:9980";
var param = "{\"autoSvrID\":\"HLPrtScan.Document\",\"methodName\":\"ShowPhotoScan\",\"iUser\":\""+iUser+"\"}";
$.ajax({
type: "post",
url: path,
async: false,
data: param,
contentType: "application/x-www-form-urlencoded",
dataType: "json",
success: function(data) {
var rstemp = eval(data);
var status = rstemp.apiStatus;
if(status == "success"){
rs = status;
}else{
alert("设置调用人像采集失败,错误状态:"+status);
rs = "";
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
//alert("错误状态=="+XMLHttpRequest.status);
}
});
return rs;
}
//设置人员指纹信息
/*
strPersonID ---- 人员条码
nPosition ---- 指位
nPackDataType ---- 数据类型:原始图0、压缩图1、特征2 nCompressMethod---- 压缩文件代码:COMPRESS_METHOD_BMP、 COMPRESS_METHOD_JPG等
nWidth ---- 图片宽度
nHeight ---- 图片高度
nDataLen ---- 数据长度
pData ---- Base64数据*/
function SetPersonData(strPersonID,nPosition,nPackDataType,nCompressMethod,nWidth,
nHeight,nDataLen,pData){
var rs;
var path = "http://127.0.0.1:9980";
var param = "{\"autoSvrID\":\"HLPrtScan.Document\",\"methodName\":\"SetPersonData\",\"strPersonID\":\""
+strPersonID+"\",\"nPosition\":\""+nPosition+"\",\"nPackDataType\":\""+nPackDataType+"\",\"nCompressMethod\":\""
+nCompressMethod+"\",\"nWidth\":\""+nWidth+"\",\"nHeight\":\""+nHeight+"\",\"nDataLen\":\""+nDataLen+"\",\"pData\":\""+pData+"\"}";
console.log(param);
$.ajax({
type: "post",
url: path,
async: false,
data: param,
contentType: "application/x-www-form-urlencoded",
dataType: "json",
success: function(data) {
var rstemp = eval(data);
var status = rstemp.apiStatus;
if(status == "success"){
rs = status;
}else{
alert("设置指掌纹人员基本信息失败,错误状态:"+status);
rs = "";
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
//alert("错误状态=="+XMLHttpRequest.status);
}
});
return rs;
}
//指掌纹采集控件CatchPrtImg.exe,并把基本信息,人像数据,指掌纹数据等打包成fpt文件
/*
strDactylogramID ---- 指纹条码号
strPersonID ---- 人员条码号
strWordInfo ---- 文字信息(文档中有人员基本信息详细内容,即步骤四中的rstr)
输出:
>0 表示已保存采集到的指掌纹信息, 接口调用成功
=0 表示未保存采集到的指掌纹信息, 接口调用成功
<0 表示未保存采集到的指掌纹信息, 接口调用失败
*/
function ScanFingerImage(strDactylogramID,strPersonID,strWordInfo){
var rs;
var rstemp;
var path = "http://127.0.0.1:9980";
var param = "{\"autoSvrID\":\"HLPrtScan.Document\",\"methodName\":\"ScanFingerImage\",\"strDactylogramID\":\""
+strDactylogramID+"\",\"strPersonID\":\""+strPersonID+"\",\"strWordInfo\":\""+strWordInfo+"\"}";
$.ajax({
type: "post",
url: path,
async: false,
data: param,
contentType: "application/x-www-form-urlencoded",
dataType: "json",
success: function(data) {
rstemp = eval(data);
var status = rstemp.apiStatus;
if(status == "success"){
rs = rstemp.apiReturn;
}else{
alert("采集指掌纹失败,错误状态:"+status);
rs = "";
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
//alert("错误状态=="+XMLHttpRequest.status);
}
});
return rstemp;
}
function creatPicOBJ(){
var obj;
try{
obj =new ActiveXObject("HLPhotoCatcher.Document");
}
catch(ex){
try{
obj =new ActiveXObject("CatchPhotoImg.Document");
}
catch(ee){
alert("创建控件发生异常!");
}
}
return obj;
}
var rxljObject;
var index;
function getRxbclj(index_){
index = index_;
getTp();
}
function getTp(){
var xmlFld="c:\\";
var fso = new ActiveXObject("Scripting.FileSystemObject");
var fldr = fso.FolderExists(xmlFld);
if(!fldr){
fso.CreateFolder(xmlFld);
}
if(index==2){
try{setTP(frminput.R_ZMZP64,xmlFld+frminput.rybh.value+index+".jpg",frminput.imghead2,frminput.xm);}catch(e){}
document.getElementById("zmzpflag").value="1";
document.getElementById("R_ZMZP_File").value="";
}else if(index==3){
try{setTP(frminput.R_CMZP64,xmlFld+frminput.rybh.value+index+".jpg",frminput.imghead3,frminput.xm);}catch(e){}
document.getElementById("cmzpflag").value="1";
document.getElementById("R_CMZP_File").value="";
}else if(index==4){
try{setTP(frminput.R_YCMZP64,xmlFld+frminput.rybh.value+index+".jpg",frminput.imghead4,frminput.xm);}catch(e){}
document.getElementById("ycmzpflag").value="1";
document.getElementById("R_YCMZP_File").value="";
}
}
var myAfis;
function setTP(tpCode,tpFile,tpShow,tpName){
//if(myAfis == undefined||myAfis==null ){
myAfis = creatPicOBJ();
//}
if(myAfis==undefined){
alert("请安装采集控件!");
return;
}
if(tpName.value==null||tpName.value==undefined||tpName.value==""){
alert("请先录入姓名!");
return;
}
myAfis.SetBmpFileName(tpFile);
myAfis.SetPersonName(tpName.value);
var str=myAfis.GetOneAfisPhotoForWeb();
tpCode.value = str;
tpShow.style.display = 'block';
//$("#imghead2").attr("src","data:image/gif;base64,"+str);
//$("#imghead2").attr("src","static/img/Personrightside.jpg?t=1");
tpShow.src = "data:image/gif;base64,"+str;
var rmShow = document.getElementById(tpShow.name.substring(1));
rmShow.src = tpFile;
myAfis=null;
}
function configTP(){
var myAfisOBJ = creatPicOBJ();
if(myAfisOBJ == undefined){
alert("请安装采集控件!");
return;
}
myAfisOBJ.SetUp();
}
//清空file的value值
function deleteFileVal(fileId){
var file = $("#"+fileId) ;
file.after(file.clone().val(""));
file.remove();
}
\ No newline at end of file
/*
* 通用的js function放置在此
*/
/*填写身份证号后,自动填充出生年月日*/
function AotuFillRq(sfzh,rqid){
var sfzhstr = sfzh.value;
if(sfzhstr!=""){
var nyr=sfzhstr.substr(6,8);
var nian=nyr.substr(0,4);
var yue=nyr.substr(4,2);
var ri=nyr.substr(6,2);
var csrq=nian+"-"+yue+"-"+ri;
document.getElementById(rqid).value=csrq;
}
}
/*
* obj:传入同名的checkbox的值,类似如:document.all.ids
* 功能:获得查询列表复选框中多条用逗号隔开的编号
* */
function getPids(obj){
var counter=0;
var numbervalue="";
if(obj==null){
return "0";
}
if (obj.length>0){
for(var i=0;i<obj.length;i++){
if(obj[i].checked){
counter++;
numbervalue+=","+obj[i].value;
}
}
}else{
if(obj.checked==true){
numbervalue=obj.value
counter=1
}else{
counter=0
}
}
if(counter >0){
//列表有数据,也有选中的记录
numbervalue=numbervalue.replace(/^[,]+|[,]+$/g,'');//削掉字符串两端逗号
return(numbervalue);
}else{
//列表有数据,但是没有选中的记录
return("-1");
}
}
/*
* obj:传入同名的checkbox的值,类似如:document.all.ids
* 功能:获得查询列表复选框中多条用#隔开的编号
* */
function getnums(obj){
var counter=0;
var numbervalue="";
if(obj==null){
return "0";
}
if (obj.length>0){
for(var i=0;i<obj.length;i++){
if(obj[i].checked){
counter++;
numbervalue+=obj[i].value+"#";
}
}
}else{
if(obj.checked==true){
numbervalue=obj.value
counter=1
}else{
counter=0
}
}
if(counter==0){
return("-1")
}
return(numbervalue)
}
/*
* obj:传入同名的checkbox的值,类似如:document.all.ids
* 功能:获得查询列表复选框中单条记录编号
* */
function getPid(obj){
var counter=0;
var numbervalue="";
if(obj==null){
return "0";
}
if (obj.length>0){
for(var i=0;i<obj.length;i++){
if(obj[i].checked){
counter++;
numbervalue=obj[i].value;
}
}
}else{
if(obj.checked==true){
numbervalue=obj.value
counter=1
}else{
counter=0
}
}
if(counter>1){
//alert("只能选择一条记录")
return("-2")
}
if(counter==0){
//alert("没有选择记录")
return("-1")
}
return(numbervalue);
}
//防止回退
$(function(){
document.getElementsByTagName("body")[0].onkeydown =function(){
//获取事件对象
var elem = event.relatedTarget || event.srcElement || event.target ||event.currentTarget;
if(event.keyCode==8){//判断按键为backSpace键
//获取按键按下时光标做指向的element
var elem = event.srcElement || event.currentTarget;
//判断是否需要阻止按下键盘的事件默认传递
var name = elem.nodeName;
if(name!='INPUT' && name!='TEXTAREA'){
return _stopIt(event);
}
var type_e = elem.type.toUpperCase();
if(name=='INPUT' && (type_e!='TEXT' && type_e!='TEXTAREA' && type_e!='PASSWORD' && type_e!='FILE')){
return _stopIt(event);
}
if(name=='INPUT' && (elem.readOnly==true || elem.disabled ==true)){
return _stopIt(event);
}
}
}
});
function _stopIt(e){
if(e.returnValue){
e.returnValue = false ;
}
if(e.preventDefault ){
e.preventDefault();
}
return false;
}
//打开新窗口
function openBrow(p_url){
var str_features;
var n_left=0;
var n_top=0;
var p_title="详情显示";
var p_w=screen.availWidth;
var p_h=screen.availHeight-100;
n_left = 0; //(screen.availWidth - p_w) / 2;
n_top = 0; //(screen.availHeight - p_h) / 2;
str_features = "width="+p_w+",height="+p_h+",top="+n_top+",left="+n_left+",toolbar=yes,location=no,status=no,menubar=yes,resizable=yes,scrollbars=1";
window.open(p_url,'newwindow',str_features);
}
//关闭当前页面
function closeWin(){
var browserName=navigator.appName;
if(browserName!="Microsoft Internet Explorer"){
window.close();
}else{
window.opener=null;
window.open('','_self');
window.close();
}
}
/*
* 导航
*/
jQuery(document).ready(function (){
//获取的navgation字符串
var navstr="";
navstr=$("#navgation").val();
//navgation的value格式为:"title1|案件信息管理|#:title2|案件办理|#",最后一个标签写成#
if(typeof(navstr)!="undefined"){
if(navstr!="" && navstr.indexOf(':')>=0){
//返回":"分割的临时数组
var temp1=navstr.split(':');
var navstr="您的位置:";
for (var i=0;i<temp1.length;i++)
{
var tempTitle=temp1[i];
if(tempTitle!="" && tempTitle.indexOf('|')>=0){
//导航链接的id
var navId="";
//导航title
var navTitle="";
//导航链接
var navUrl="";
var temp2=tempTitle.split("|");
//循环生成导航标题
navId=temp2[0];
navTitle=temp2[1];
navUrl=temp2[2];
if(i==temp1.length-1){
navstr+="<span class=\"font_weizhi_ts\">"+navTitle+"</span>";
}else{
if(navUrl=="#"){
navstr+="<a href=\"#\" class=\"font_weizhi\">"+navTitle+" </a>&gt;";
}else{
navstr+="<a href=\""+navUrl+"\" class=\"font_weizhi\" target=\"mainFrame\">"+navTitle+" </a>&gt;";
}
}
}
}
if(window.parent.parent.frames["topFrame"]!=null&&window.parent.parent.frames["topFrame"]!=""&&window.parent.parent.frames["topFrame"]!="undifined"){
$(window.parent.parent.frames["topFrame"].document.getElementById("rootnav")).html(navstr);
}
}
}
});
/**
* 打开模态对话框
* @param p_url 窗口地址
* @param p_title 窗口标题
* @param p_w
* @param p_h
* @param iscroll
*/
function openModelDialog(p_url,p_title,p_w,p_h,iscroll){
var str_features;
var n_left=0;
var n_top=0;
n_left = (screen.availWidth - p_w) / 2;
n_top = (screen.availHeight - p_h) / 2;
str_features = "status=no;resizable=no;center=yes;scroll="+iscroll+";";
str_features += "dialogWidth="+p_w+"px;dialogHeight:"+p_h+"px;dialogLeft:"+n_left+"px;dialogTop:"+n_top+"px";
window.showModalDialog(p_url,p_title,str_features);
}
//设置网页打印的页眉页脚为空
var HKEY_Root,HKEY_Path,HKEY_Key;
HKEY_Root="HKEY_CURRENT_USER";
HKEY_Path="\\Software\\Microsoft\\Internet Explorer\\PageSetup\\";
function PageSetup_Null() {
try{
var Wsh=new ActiveXObject("WScript.Shell");
HKEY_Key="header";
Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"");
HKEY_Key="footer";
Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"");
}catch(e){}
}
/**
*根据codeType和codeVal获取中文名称 2014-7-3
*/
function getNameByCode(codeType,codeVal){
var codeText="";
if($.trim(codeVal) == "")
return codeText;
$.ajax({
url:"queryNameByCodeAct.action",
type:"POST",
data:{code_val:codeVal,code_type:codeType},
async:false,
dataType:"json",
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert("请求失败!");
},
success:function(dictUtil){
if(dictUtil != null){
codeText = dictUtil.itemname;
}
}
});
return codeText;
}
console.log("demoJs include !");
\ No newline at end of file
//加载中间内容
$(function () {
//var content=$(".page-content").clone();
//$(".wrapper").append(content.show());
$(".wrapper").append($(".page-content"));
//监控页面数据---------------
// 基于准备好的dom,初始化echarts实例
$("#main").width($(".layui-elem-quote").width());
/* var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title:{
text:'原数据 数据统计'
},
tooltip: {},
legend: {
data:['数据总量','增量(变更数据)']
},
xAxis: {
data: []
},
yAxis: {},
series: [{
name: '数据总量',
type: 'bar',
data: []
},{
name:'增量(变更数据)',
type:'bar',
data:[]
}]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option)*/
//初始化echarts实例
var myChart = echarts.init(document.getElementById('chartmain'));
//异步加载数据
$.get('data.json').done(function (data) {
data = eval('('+data+')');
debugger;
myChart.setOption({
xAxis:{
data:data.name
},
series:[
{
//根据名字对应到相应的系列
name:"数据总量",
data:data.data
},{
//根据名字对应到相应的系列
name:"增量(变更数据)",
data:data.data
}
]
})
})
})
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
//修改采集状态js
function editCjzt(bm,bz,asjbh){//bm:对应权限表BM字段,bz:1新增、2修改,asjbh:案件编号
$.ajax({
type: "POST",
url: "editCjztjson.action",
data: {asjbh:asjbh,bm:bm,bz:bz},
dataType: "json",
error: function(XMLHttpRequest, textStatus, errorThrown) {
},
success: function(msg){
}
});
}
function editCjzt1(bm,bz,asjbh,wpzl){//bm:对应权限表BM字段,bz:1新增、2修改,asjbh:案件编号,wpzl:损失物品(SSWP)或者非法物品(FFWP)或者 作案工具(ZAGJ)
$.ajax({
type: "POST",
url: "editCjztjson.action",
data: {asjbh:asjbh,bm:bm,bz:bz,wpzl:wpzl},
dataType: "json",
error: function(XMLHttpRequest, textStatus, errorThrown) {
},
success: function(msg){
}
});
}
var edzAuto = false;
var EnableedzSystem = 1;
function GetedzObject(){
if(!edzAuto){
try{
edzAuto =new ActiveXObject("IDHWReader.Document");
EnableedzSystem = 1;
}catch(e){
//alert(e.description);
edzAuto = null;
EnableedzSystem = 0;
}
}
return(edzAuto);
}
function GetedzInfo(theForm){
var myedz = null;
var tishixingxi="";
var ss="";
var ret=0;
if(EnableedzSystem == 1) {
myedz =GetedzObject();
if(myedz==undefined){
//alert("请安装二代证控件");
alert("请安装二代证控件!","提示");
return 0;
}
}
if(EnableedzSystem==0){
alert("请安装二代证控件!","提示");
return 0;
}
var str = myedz.ReadICCardInfo();
if(str!="" && str.indexOf("$")>0){
tishixingxi=str.substring(0,str.indexOf("&")); //提示信息
str=str.substring(0,str.length);
try{
theForm.pic.src=str.substring(0,str.indexOf("$"));//路径
}catch(e){}
try{
theForm.rpic.src=str.substring(0,str.indexOf("$"));//路径
}catch(e){}
try{
theForm.rpic1.src=str.substring(0,str.indexOf("$"));//路径
}catch(e){}
str=str.substring(str.indexOf("$")+1,str.length);
try{
theForm.xm.value=str.substring(0,str.indexOf("$"));//姓名
}catch(e){}
try{
theForm.rmc.value=str.substring(0,str.indexOf("$"));//姓名
}catch(e){}
str=str.substring(str.indexOf("$")+1,str.length);
ss=str.substring(0,str.indexOf("$"));
//性别xbdm
if(ss=="女"){
document.getElementById("xbdm").value="2";
document.getElementById("xbdm_text").value="女";
}
if(ss=="男"){
document.getElementById("xbdm").value="1";
document.getElementById("xbdm_text").value="男";
}
//性别
str=str.substring(str.indexOf("$")+1,str.length);
ss=str.substring(0,str.indexOf("$"));
//民族mzdm
if(ss=="汉") document.getElementById("mzdm").value="01";
else if(ss=="蒙古") document.getElementById("mzdm").value="02";
else if(ss=="回") document.getElementById("mzdm").value="03";
else if(ss=="藏") document.getElementById("mzdm").value="04";
else if(ss=="维吾尔") document.getElementById("mzdm").value="05";
else if(ss=="苗") document.getElementById("mzdm").value="06";
else if(ss=="彝") document.getElementById("mzdm").value="07";
else if(ss=="壮") document.getElementById("mzdm").value="08";
else if(ss=="布依") document.getElementById("mzdm").value="09";
else if(ss=="朝鲜") document.getElementById("mzdm").value="10";
else if(ss=="满") document.getElementById("mzdm").value="11";
else if(ss=="侗") document.getElementById("mzdm").value="12";
else if(ss=="瑶") document.getElementById("mzdm").value="13";
else if(ss=="白") document.getElementById("mzdm").value="14";
else if(ss=="土家") document.getElementById("mzdm").value="15";
else if(ss=="哈尼") document.getElementById("mzdm").value="16";
else if(ss=="哈萨克") document.getElementById("mzdm").value="17";
else if(ss=="傣") document.getElementById("mzdm").value="18";
else if(ss=="黎") document.getElementById("mzdm").value="19";
else if(ss=="傈僳") document.getElementById("mzdm").value="20";
else if(ss=="佤") document.getElementById("mzdm").value="21";
else if(ss=="畲") document.getElementById("mzdm").value="22";
else if(ss=="高山") document.getElementById("mzdm").value="23";
else if(ss=="拉祜") document.getElementById("mzdm").value="24";
else if(ss=="水") document.getElementById("mzdm").value="25";
else if(ss=="东乡") document.getElementById("mzdm").value="26";
else if(ss=="纳西") document.getElementById("mzdm").value="27";
else if(ss=="景颇") document.getElementById("mzdm").value="28";
else if(ss=="柯尔克孜") document.getElementById("mzdm").value="29";
else if(ss=="土") document.getElementById("mzdm").value="30";
else if(ss=="达斡尔") document.getElementById("mzdm").value="31";
else if(ss=="仫佬") document.getElementById("mzdm").value="32";
else if(ss=="羌") document.getElementById("mzdm").value="33";
else if(ss=="布朗") document.getElementById("mzdm").value="34";
else if(ss=="撒拉") document.getElementById("mzdm").value="35";
else if(ss=="毛难") document.getElementById("mzdm").value="36";
else if(ss=="仡佬") document.getElementById("mzdm").value="37";
else if(ss=="锡伯") document.getElementById("mzdm").value="38";
else if(ss=="阿昌") document.getElementById("mzdm").value="39";
else if(ss=="普米") document.getElementById("mzdm").value="40";
else if(ss=="塔吉克") document.getElementById("mzdm").value="41";
else if(ss=="怒") document.getElementById("mzdm").value="42";
else if(ss=="乌孜别克") document.getElementById("mzdm").value="43";
else if(ss=="俄罗斯") document.getElementById("mzdm").value="44";
else if(ss=="鄂温克") document.getElementById("mzdm").value="45";
else if(ss=="崩龙") document.getElementById("mzdm").value="46";
else if(ss=="保安") document.getElementById("mzdm").value="47";
else if(ss=="裕固") document.getElementById("mzdm").value="48";
else if(ss=="京") document.getElementById("mzdm").value="49";
else if(ss=="塔塔尔") document.getElementById("mzdm").value="50";
else if(ss=="独龙") document.getElementById("mzdm").value="51";
else if(ss=="鄂伦春") document.getElementById("mzdm").value="52";
else if(ss=="赫哲") document.getElementById("mzdm").value="53";
else if(ss=="门巴") document.getElementById("mzdm").value="54";
else if(ss=="珞巴") document.getElementById("mzdm").value="55";
else if(ss=="基诺") document.getElementById("mzdm").value="56";
else if(ss=="其他") document.getElementById("mzdm").value="97";
try{document.getElementById("mzdm_text").value=ss;}catch(e){}
str=str.substring(str.indexOf("$")+1,str.length);
ss=str.substring(0,str.indexOf("$"));//出生日期
ss=ss.substring(0,ss.indexOf("日"));
ss=ss.replace("年","-");
ss=ss.replace("月","-");
//出生日期_起始日期csrqQsrq
try{document.getElementById("csrqQsrq").value=ss;}catch(e){}
try{document.getElementById("CSRQ_KSSJ").value=ss;}catch(e){}
//出生日期_截止日期csrqJzrq
try{document.getElementById("csrqJzrq").value=ss;}catch(e){}
try{document.getElementById("CSRQ_JSSJ").value=ss;}catch(e){}
str=str.substring(str.indexOf("$")+1,str.length);
//hjdzDzmc户籍地址地址名称
try{document.getElementById("hjdzDzmc").value=str.substring(0,str.indexOf("$"));}catch(e){};//住址
try{document.getElementById("HJDZ_DZMC").value=str.substring(0,str.indexOf("$"));}catch(e){};//住址
str=str.substring(str.indexOf("$")+1,str.length);
//证件号码zjhm
var zjhm=str.substring(0,str.indexOf("$"));//身份证号码
try{document.getElementById("zjhm").value=zjhm;}catch(e){};
try{document.getElementById("ZJHM").value=zjhm;}catch(e){};
//户籍地址行政区划
var hjd=zjhm.substring(0,6);//户籍地区分
try{getDmByEdzxx("hjdzXzqhdm",hjd);}catch(e){}
str=str.substring(str.indexOf("$")+1,str.length);
//theForm.nR_HJDPCS.value=str.substring(0,str.indexOf("$"));//发证机关
str=str.substring(str.indexOf("$")+1,str.length);
//theForm.R_XM.value=str.substring(0,str.indexOf("$"));//有效日期
str=str.substring(str.indexOf("$")+1,str.length);
//theForm.R_XZZXZ.value=str.substring(0,str.indexOf("$"));//最新住址
str=str.substring(str.indexOf("$")+1,str.length);
//theForm.R_XM.value=str.substring(0,str.indexOf("$"));//图像大小
str=str.substring(str.indexOf("$")+1,str.length);
//alert("图像数据 == "+str);
theForm.R_EDZZP64.value=str;//图像数据
return(1);
}else{
return(0);
}
}
function getWH(theFormobj){
var strs= new Array();
var mysg = "";
var rets = "";
if(EnableedzSystem ==1) {
mysg = GetedzObject();
if(mysg==undefined){
//alert("请安装身高体重控件");
alert("请安装身高体重控件!","提示");
return 0;
}
}
if(EnableedzSystem==0){
alert("请安装身高体重控件!","提示");
return 0;
}
rets = mysg.ReadHWInfo();
strs = rets.split("$");
if(strs.length==4){
document.getElementById("sgsx").value=Math.round(strs[0]);//身高上限
//document.getElementById("sgxx").value=Math.round(strs[0]);//身高上限
document.getElementById("tzsx").value=Math.round(strs[1]);//体重上限
//document.getElementById("tzxx").value=Math.round(strs[1]);//体重下限
}else{
//alert("身高体重读取失败");
alert("身高体重读取失败!","提示");
}
}
function stopAlarm(){
if(edzAuto!=null&&edzAuto){
edzAuto.StopCoruscate();
}
}
function getConfigTime(){
var mysg;
if(EnableedzSystem ==1) {
mysg = GetedzObject();
if(mysg==undefined){
//alert("请安装控件");
alert("请安装二代证控件!","提示");
return "";
}
}
if(edzAuto!=null&&edzAuto){
return edzAuto.GetConfigTime();
}
return "";
}
function GeteSfzhmInfo(theForm){
var myedz = null;
var tishixingxi="";
var ss="";
var ret=0;
if(EnableedzSystem == 1) {
myedz =GetedzObject();
if(myedz==undefined){
//alert("请安装二代证控件");
alert("请安装二代证控件!","提示");
return 0;
}
}
var str = myedz.ReadICCardInfo();
if(str!="" && str.indexOf("$")>0){
tishixingxi=str.substring(0,str.indexOf("&")); //提示信息
str=str.substring(0,str.length);
str=str.substring(str.indexOf("$")+1,str.length);
str=str.substring(str.indexOf("$")+1,str.length);
str=str.substring(str.indexOf("$")+1,str.length);
str=str.substring(str.indexOf("$")+1,str.length);
str=str.substring(str.indexOf("$")+1,str.length);
str=str.substring(str.indexOf("$")+1,str.length);
theForm.zjhm.value=str.substring(0,str.indexOf("$"));//身份证号码
return(1);
}else{
return(0);
}
}
//处理读取二代证的时候,由二代证信息获得对应码表数据
function getDmByEdzxx(code_name,code_val){
var _code_val='"'+code_name+'"';
var code_type=document.getElementById(code_name+"_codeType").value;
$.ajax({
url:"getNameByCodeAct.action",
type:"post",
data:{code_val:code_val,code_type:code_type},
dataType:"json",
error: function(XMLHttpRequest, textStatus, errorThrown) {
//alert("控件出现错误请联系管理员!");
alert("控件出现错误请联系管理员!","提示");
},
success:function(dictItemTag){
document.getElementById(code_name).value=dictItemTag.itemcode;
document.getElementById(code_name+"_text").value=dictItemTag.itemname;
}
});
}
function GeteGKdzInfo(edzxml){
parseXml(edzxml);
var name = xmlDoc.getElementsByTagName("Name")[0].childNodes[0].nodeValue;//姓名
var xb = xmlDoc.getElementsByTagName("Gender")[0].childNodes[0].nodeValue;//
var mz = xmlDoc.getElementsByTagName("Folk")[0].childNodes[0].nodeValue;//
var csrq = xmlDoc.getElementsByTagName("Birthday")[0].childNodes[0].nodeValue;//
var sfzh = xmlDoc.getElementsByTagName("Code")[0].childNodes[0].nodeValue;//
var hjdxz = xmlDoc.getElementsByTagName("Address")[0].childNodes[0].nodeValue;//
var strbase64 = xmlDoc.getElementsByTagName("Photo")[0].childNodes[0].nodeValue;//
try{
document.getElementById("xm").value = name;
}catch(e){}
try{
if(xb=="女"){
document.getElementById("xbdm").value="2";
document.getElementById("xbdm_text").value="女";
}
if(xb=="男"){
document.getElementById("xbdm").value="1";
document.getElementById("xbdm_text").value="男";
}
}catch(e){}
try{
if(mz=="汉族") document.getElementById("mzdm").value="01";
else if(mz=="蒙古") document.getElementById("mzdm").value="02";
else if(mz=="回") document.getElementById("mzdm").value="03";
else if(mz=="藏") document.getElementById("mzdm").value="04";
else if(mz=="维吾尔") document.getElementById("mzdm").value="05";
else if(mz=="苗") document.getElementById("mzdm").value="06";
else if(mz=="彝") document.getElementById("mzdm").value="07";
else if(mz=="壮") document.getElementById("mzdm").value="08";
else if(mz=="布依") document.getElementById("mzdm").value="09";
else if(mz=="朝鲜") document.getElementById("mzdm").value="10";
else if(mz=="满") document.getElementById("mzdm").value="11";
else if(mz=="侗") document.getElementById("mzdm").value="12";
else if(mz=="瑶") document.getElementById("mzdm").value="13";
else if(mz=="白") document.getElementById("mzdm").value="14";
else if(mz=="土家") document.getElementById("mzdm").value="15";
else if(mz=="哈尼") document.getElementById("mzdm").value="16";
else if(mz=="哈萨克") document.getElementById("mzdm").value="17";
else if(mz=="傣") document.getElementById("mzdm").value="18";
else if(mz=="黎") document.getElementById("mzdm").value="19";
else if(mz=="傈僳") document.getElementById("mzdm").value="20";
else if(mz=="佤") document.getElementById("mzdm").value="21";
else if(mz=="畲") document.getElementById("mzdm").value="22";
else if(mz=="高山") document.getElementById("mzdm").value="23";
else if(mz=="拉祜") document.getElementById("mzdm").value="24";
else if(mz=="水") document.getElementById("mzdm").value="25";
else if(mz=="东乡") document.getElementById("mzdm").value="26";
else if(mz=="纳西") document.getElementById("mzdm").value="27";
else if(mz=="景颇") document.getElementById("mzdm").value="28";
else if(mz=="柯尔克孜") document.getElementById("mzdm").value="29";
else if(mz=="土") document.getElementById("mzdm").value="30";
else if(mz=="达斡尔") document.getElementById("mzdm").value="31";
else if(mz=="仫佬") document.getElementById("mzdm").value="32";
else if(mz=="羌") document.getElementById("mzdm").value="33";
else if(mz=="布朗") document.getElementById("mzdm").value="34";
else if(mz=="撒拉") document.getElementById("mzdm").value="35";
else if(mz=="毛难") document.getElementById("mzdm").value="36";
else if(mz=="仡佬") document.getElementById("mzdm").value="37";
else if(mz=="锡伯") document.getElementById("mzdm").value="38";
else if(mz=="阿昌") document.getElementById("mzdm").value="39";
else if(mz=="普米") document.getElementById("mzdm").value="40";
else if(mz=="塔吉克") document.getElementById("mzdm").value="41";
else if(mz=="怒") document.getElementById("mzdm").value="42";
else if(mz=="乌孜别克") document.getElementById("mzdm").value="43";
else if(mz=="俄罗斯") document.getElementById("mzdm").value="44";
else if(mz=="鄂温克") document.getElementById("mzdm").value="45";
else if(mz=="崩龙") document.getElementById("mzdm").value="46";
else if(mz=="保安") document.getElementById("mzdm").value="47";
else if(mz=="裕固") document.getElementById("mzdm").value="48";
else if(mz=="京") document.getElementById("mzdm").value="49";
else if(mz=="塔塔尔") document.getElementById("mzdm").value="50";
else if(mz=="独龙") document.getElementById("mzdm").value="51";
else if(mz=="鄂伦春") document.getElementById("mzdm").value="52";
else if(mz=="赫哲") document.getElementById("mzdm").value="53";
else if(mz=="门巴") document.getElementById("mzdm").value="54";
else if(mz=="珞巴") document.getElementById("mzdm").value="55";
else if(mz=="基诺") document.getElementById("mzdm").value="56";
else if(mz=="其他") document.getElementById("mzdm").value="97";
document.getElementById("mzdm_text").value=mz;
}catch(e){}
try{
var csrq_temp = csrq;
csrq = csrq_temp.substring(0,4)+"-"+csrq_temp.substring(4,6)+"-"+csrq_temp.substring(6,8);
}catch(e){}
try{document.getElementById("csrqQsrq").value=csrq;}catch(e){}
try{document.getElementById("csrqJzrq").value=csrq;}catch(e){}
try{document.getElementById("zjhm").value=sfzh;}catch(e){};
try{document.getElementById("hjdzDzmc").value=hjdxz;}catch(e){};//住址
try{
document.getElementById("rpic").src = "data:image/jpg;base64,"+strbase64;
}catch(e){}
try{
document.frminput.R_EDZZP64.value = strbase64;
//theForm.R_EDZZP64.value= strbase64; =
}catch(e){}
//document.getElementById("R_EDZZP64").value=strbase64;
//alert("edzbase64"+document.getElementById("R_EDZZP64").value);
}
\ No newline at end of file
/*!
* jquery.base64.js 0.0.3 - https://github.com/yckart/jquery.base64.js
* Makes Base64 en & -decoding simpler as it is.
*
* Based upon: https://gist.github.com/Yaffle/1284012
*
* Copyright (c) 2012 Yannick Albert (http://yckart.com)
* Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php).
* 2013/02/10
**/
;(function($) {
var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
a256 = '',
r64 = [256],
r256 = [256],
i = 0;
var UTF8 = {
/**
* Encode multi-byte Unicode string into utf-8 multiple single-byte characters
* (BMP / basic multilingual plane only)
*
* Chars in range U+0080 - U+07FF are encoded in 2 chars, U+0800 - U+FFFF in 3 chars
*
* @param {String} strUni Unicode string to be encoded as UTF-8
* @returns {String} encoded string
*/
encode: function(strUni) {
// use regular expressions & String.replace callback function for better efficiency
// than procedural approaches
var strUtf = strUni.replace(/[\u0080-\u07ff]/g, // U+0080 - U+07FF => 2 bytes 110yyyyy, 10zzzzzz
function(c) {
var cc = c.charCodeAt(0);
return String.fromCharCode(0xc0 | cc >> 6, 0x80 | cc & 0x3f);
})
.replace(/[\u0800-\uffff]/g, // U+0800 - U+FFFF => 3 bytes 1110xxxx, 10yyyyyy, 10zzzzzz
function(c) {
var cc = c.charCodeAt(0);
return String.fromCharCode(0xe0 | cc >> 12, 0x80 | cc >> 6 & 0x3F, 0x80 | cc & 0x3f);
});
return strUtf;
},
/**
* Decode utf-8 encoded string back into multi-byte Unicode characters
*
* @param {String} strUtf UTF-8 string to be decoded back to Unicode
* @returns {String} decoded string
*/
decode: function(strUtf) {
// note: decode 3-byte chars first as decoded 2-byte strings could appear to be 3-byte char!
var strUni = strUtf.replace(/[\u00e0-\u00ef][\u0080-\u00bf][\u0080-\u00bf]/g, // 3-byte chars
function(c) { // (note parentheses for precence)
var cc = ((c.charCodeAt(0) & 0x0f) << 12) | ((c.charCodeAt(1) & 0x3f) << 6) | (c.charCodeAt(2) & 0x3f);
return String.fromCharCode(cc);
})
.replace(/[\u00c0-\u00df][\u0080-\u00bf]/g, // 2-byte chars
function(c) { // (note parentheses for precence)
var cc = (c.charCodeAt(0) & 0x1f) << 6 | c.charCodeAt(1) & 0x3f;
return String.fromCharCode(cc);
});
return strUni;
}
};
while(i < 256) {
var c = String.fromCharCode(i);
a256 += c;
r256[i] = i;
r64[i] = b64.indexOf(c);
++i;
}
function code(s, discard, alpha, beta, w1, w2) {
s = String(s);
var buffer = 0,
i = 0,
length = s.length,
result = '',
bitsInBuffer = 0;
while(i < length) {
var c = s.charCodeAt(i);
c = c < 256 ? alpha[c] : -1;
buffer = (buffer << w1) + c;
bitsInBuffer += w1;
while(bitsInBuffer >= w2) {
bitsInBuffer -= w2;
var tmp = buffer >> bitsInBuffer;
result += beta.charAt(tmp);
buffer ^= tmp << bitsInBuffer;
}
++i;
}
if(!discard && bitsInBuffer > 0) result += beta.charAt(buffer << (w2 - bitsInBuffer));
return result;
}
var Plugin = $.base64 = function(dir, input, encode) {
return input ? Plugin[dir](input, encode) : dir ? null : this;
};
Plugin.btoa = Plugin.encode = function(plain, utf8encode) {
plain = Plugin.raw === false || Plugin.utf8encode || utf8encode ? UTF8.encode(plain) : plain;
plain = code(plain, false, r256, b64, 8, 6);
return plain + '===='.slice((plain.length % 4) || 4);
};
Plugin.atob = Plugin.decode = function(coded, utf8decode) {
coded = String(coded).split('=');
var i = coded.length;
do {--i;
coded[i] = code(coded[i], true, r64, a256, 6, 8);
} while (i > 0);
coded = coded.join('');
return Plugin.raw === false || Plugin.utf8decode || utf8decode ? UTF8.decode(coded) : coded;
};
}(jQuery));
\ No newline at end of file
/*! jQuery v1.9.1 | (c) 2005, 2012 jQuery Foundation, Inc. | jquery.org/license
//@ sourceMappingURL=jquery.min.map
*/(function(e,t){var n,r,i=typeof t,o=e.document,a=e.location,s=e.jQuery,u=e.$,l={},c=[],p="1.9.1",f=c.concat,d=c.push,h=c.slice,g=c.indexOf,m=l.toString,y=l.hasOwnProperty,v=p.trim,b=function(e,t){return new b.fn.init(e,t,r)},x=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,w=/\S+/g,T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,k=/^[\],:{}\s]*$/,E=/(?:^|:|,)(?:\s*\[)+/g,S=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,A=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,j=/^-ms-/,D=/-([\da-z])/gi,L=function(e,t){return t.toUpperCase()},H=function(e){(o.addEventListener||"load"===e.type||"complete"===o.readyState)&&(q(),b.ready())},q=function(){o.addEventListener?(o.removeEventListener("DOMContentLoaded",H,!1),e.removeEventListener("load",H,!1)):(o.detachEvent("onreadystatechange",H),e.detachEvent("onload",H))};b.fn=b.prototype={jquery:p,constructor:b,init:function(e,n,r){var i,a;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 b?n[0]:n,b.merge(this,b.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:o,!0)),C.test(i[1])&&b.isPlainObject(n))for(i in n)b.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(a=o.getElementById(i[2]),a&&a.parentNode){if(a.id!==i[2])return r.find(e);this.length=1,this[0]=a}return this.context=o,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):b.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),b.makeArray(e,this))},selector:"",length:0,size:function(){return this.length},toArray:function(){return h.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=b.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return b.each(this,e,t)},ready:function(e){return b.ready.promise().done(e),this},slice:function(){return this.pushStack(h.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(b.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:d,sort:[].sort,splice:[].splice},b.fn.init.prototype=b.fn,b.extend=b.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},u=1,l=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},u=2),"object"==typeof s||b.isFunction(s)||(s={}),l===u&&(s=this,--u);l>u;u++)if(null!=(o=arguments[u]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(b.isPlainObject(r)||(n=b.isArray(r)))?(n?(n=!1,a=e&&b.isArray(e)?e:[]):a=e&&b.isPlainObject(e)?e:{},s[i]=b.extend(c,a,r)):r!==t&&(s[i]=r));return s},b.extend({noConflict:function(t){return e.$===b&&(e.$=u),t&&e.jQuery===b&&(e.jQuery=s),b},isReady:!1,readyWait:1,holdReady:function(e){e?b.readyWait++:b.ready(!0)},ready:function(e){if(e===!0?!--b.readyWait:!b.isReady){if(!o.body)return setTimeout(b.ready);b.isReady=!0,e!==!0&&--b.readyWait>0||(n.resolveWith(o,[b]),b.fn.trigger&&b(o).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===b.type(e)},isArray:Array.isArray||function(e){return"array"===b.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?l[m.call(e)]||"object":typeof e},isPlainObject:function(e){if(!e||"object"!==b.type(e)||e.nodeType||b.isWindow(e))return!1;try{if(e.constructor&&!y.call(e,"constructor")&&!y.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||y.call(e,r)},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=b.buildFragment([e],t,i),i&&b(i).remove(),b.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=b.trim(n),n&&k.test(n.replace(S,"@").replace(A,"]").replace(E,"")))?Function("return "+n)():(b.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||b.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&b.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(j,"ms-").replace(D,L)},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:v&&!v.call("\ufeff\u00a0")?function(e){return null==e?"":v.call(e)}:function(e){return null==e?"":(e+"").replace(T,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?b.merge(n,"string"==typeof e?[e]:e):d.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(g)return g.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 f.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),b.isFunction(e)?(r=h.call(arguments,2),i=function(){return e.apply(n||this,r.concat(h.call(arguments)))},i.guid=e.guid=e.guid||b.guid++,i):t},access:function(e,n,r,i,o,a,s){var u=0,l=e.length,c=null==r;if("object"===b.type(r)){o=!0;for(u in r)b.access(e,n,u,r[u],!0,a,s)}else if(i!==t&&(o=!0,b.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(b(e),n)})),n))for(;l>u;u++)n(e[u],r,s?i:i.call(e[u],u,n(e[u],r)));return o?e:c?n.call(e):l?n(e[0],r):a},now:function(){return(new Date).getTime()}}),b.ready.promise=function(t){if(!n)if(n=b.Deferred(),"complete"===o.readyState)setTimeout(b.ready);else if(o.addEventListener)o.addEventListener("DOMContentLoaded",H,!1),e.addEventListener("load",H,!1);else{o.attachEvent("onreadystatechange",H),e.attachEvent("onload",H);var r=!1;try{r=null==e.frameElement&&o.documentElement}catch(i){}r&&r.doScroll&&function a(){if(!b.isReady){try{r.doScroll("left")}catch(e){return setTimeout(a,50)}q(),b.ready()}}()}return n.promise(t)},b.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=b.type(e);return b.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=b(o);var _={};function F(e){var t=_[e]={};return b.each(e.match(w)||[],function(e,n){t[n]=!0}),t}b.Callbacks=function(e){e="string"==typeof e?_[e]||F(e):b.extend({},e);var n,r,i,o,a,s,u=[],l=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=u.length,n=!0;u&&o>a;a++)if(u[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,u&&(l?l.length&&c(l.shift()):r?u=[]:p.disable())},p={add:function(){if(u){var t=u.length;(function i(t){b.each(t,function(t,n){var r=b.type(n);"function"===r?e.unique&&p.has(n)||u.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=u.length:r&&(s=t,c(r))}return this},remove:function(){return u&&b.each(arguments,function(e,t){var r;while((r=b.inArray(t,u,r))>-1)u.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?b.inArray(e,u)>-1:!(!u||!u.length)},empty:function(){return u=[],this},disable:function(){return u=l=r=t,this},disabled:function(){return!u},lock:function(){return l=t,r||p.disable(),this},locked:function(){return!l},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],!u||i&&!l||(n?l.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},b.extend({Deferred:function(e){var t=[["resolve","done",b.Callbacks("once memory"),"resolved"],["reject","fail",b.Callbacks("once memory"),"rejected"],["notify","progress",b.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return b.Deferred(function(n){b.each(t,function(t,o){var a=o[0],s=b.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&b.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?b.extend(e,r):r}},i={};return r.pipe=r.then,b.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=h.call(arguments),r=n.length,i=1!==r||e&&b.isFunction(e.promise)?r:0,o=1===i?e:b.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?h.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,u,l;if(r>1)for(s=Array(r),u=Array(r),l=Array(r);r>t;t++)n[t]&&b.isFunction(n[t].promise)?n[t].promise().done(a(t,l,n)).fail(o.reject).progress(a(t,u,s)):--i;return i||o.resolveWith(l,n),o.promise()}}),b.support=function(){var t,n,r,a,s,u,l,c,p,f,d=o.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],!n||!r||!n.length)return{};s=o.createElement("select"),l=s.appendChild(o.createElement("option")),a=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={getSetAttribute:"t"!==d.className,leadingWhitespace:3===d.firstChild.nodeType,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:"/a"===r.getAttribute("href"),opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:!!a.value,optSelected:l.selected,enctype:!!o.createElement("form").enctype,html5Clone:"<:nav></:nav>"!==o.createElement("nav").cloneNode(!0).outerHTML,boxModel:"CSS1Compat"===o.compatMode,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},a.checked=!0,t.noCloneChecked=a.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!l.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}a=o.createElement("input"),a.setAttribute("value",""),t.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),t.radioValue="t"===a.value,a.setAttribute("checked","t"),a.setAttribute("name","t"),u=o.createDocumentFragment(),u.appendChild(a),t.appendChecked=a.checked,t.checkClone=u.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;return d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip,b(function(){var n,r,a,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",u=o.getElementsByTagName("body")[0];u&&(n=o.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",u.appendChild(n).appendChild(d),d.innerHTML="<table><tr><td></td><td>t</td></tr></table>",a=d.getElementsByTagName("td"),a[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===a[0].offsetHeight,a[0].style.display="",a[1].style.display="none",t.reliableHiddenOffsets=p&&0===a[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%;",t.boxSizing=4===d.offsetWidth,t.doesNotIncludeMarginInBodyOffset=1!==u.offsetTop,e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(o.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&&(u.style.zoom=1)),u.removeChild(n),n=d=a=r=null)}),n=s=u=l=r=a=null,t}();var O=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,B=/([A-Z])/g;function P(e,n,r,i){if(b.acceptData(e)){var o,a,s=b.expando,u="string"==typeof n,l=e.nodeType,p=l?b.cache:e,f=l?e[s]:e[s]&&s;if(f&&p[f]&&(i||p[f].data)||!u||r!==t)return f||(l?e[s]=f=c.pop()||b.guid++:f=s),p[f]||(p[f]={},l||(p[f].toJSON=b.noop)),("object"==typeof n||"function"==typeof n)&&(i?p[f]=b.extend(p[f],n):p[f].data=b.extend(p[f].data,n)),o=p[f],i||(o.data||(o.data={}),o=o.data),r!==t&&(o[b.camelCase(n)]=r),u?(a=o[n],null==a&&(a=o[b.camelCase(n)])):a=o,a}}function R(e,t,n){if(b.acceptData(e)){var r,i,o,a=e.nodeType,s=a?b.cache:e,u=a?e[b.expando]:b.expando;if(s[u]){if(t&&(o=n?s[u]:s[u].data)){b.isArray(t)?t=t.concat(b.map(t,b.camelCase)):t in o?t=[t]:(t=b.camelCase(t),t=t in o?[t]:t.split(" "));for(r=0,i=t.length;i>r;r++)delete o[t[r]];if(!(n?$:b.isEmptyObject)(o))return}(n||(delete s[u].data,$(s[u])))&&(a?b.cleanData([e],!0):b.support.deleteExpando||s!=s.window?delete s[u]:s[u]=null)}}}b.extend({cache:{},expando:"jQuery"+(p+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?b.cache[e[b.expando]]:e[b.expando],!!e&&!$(e)},data:function(e,t,n){return P(e,t,n)},removeData:function(e,t){return R(e,t)},_data:function(e,t,n){return P(e,t,n,!0)},_removeData:function(e,t){return R(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&b.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),b.fn.extend({data:function(e,n){var r,i,o=this[0],a=0,s=null;if(e===t){if(this.length&&(s=b.data(o),1===o.nodeType&&!b._data(o,"parsedAttrs"))){for(r=o.attributes;r.length>a;a++)i=r[a].name,i.indexOf("data-")||(i=b.camelCase(i.slice(5)),W(o,i,s[i]));b._data(o,"parsedAttrs",!0)}return s}return"object"==typeof e?this.each(function(){b.data(this,e)}):b.access(this,function(n){return n===t?o?W(o,e,b.data(o,e)):null:(this.each(function(){b.data(this,e,n)}),t)},null,n,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){b.removeData(this,e)})}});function W(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(B,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:O.test(r)?b.parseJSON(r):r}catch(o){}b.data(e,n,r)}else r=t}return r}function $(e){var t;for(t in e)if(("data"!==t||!b.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}b.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=b._data(e,n),r&&(!i||b.isArray(r)?i=b._data(e,n,b.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=b.queue(e,t),r=n.length,i=n.shift(),o=b._queueHooks(e,t),a=function(){b.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),o.cur=i,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 b._data(e,n)||b._data(e,n,{empty:b.Callbacks("once memory").add(function(){b._removeData(e,t+"queue"),b._removeData(e,n)})})}}),b.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?b.queue(this[0],e):n===t?this:this.each(function(){var t=b.queue(this,e,n);b._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&b.dequeue(this,e)})},dequeue:function(e){return this.each(function(){b.dequeue(this,e)})},delay:function(e,t){return e=b.fx?b.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=b.Deferred(),a=this,s=this.length,u=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=b._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(u));return u(),o.promise(n)}});var I,z,X=/[\t\r\n]/g,U=/\r/g,V=/^(?:input|select|textarea|button|object)$/i,Y=/^(?:a|area)$/i,J=/^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i,G=/^(?:checked|selected)$/i,Q=b.support.getSetAttribute,K=b.support.input;b.fn.extend({attr:function(e,t){return b.access(this,b.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})},prop:function(e,t){return b.access(this,b.prop,e,t,arguments.length>1)},removeProp:function(e){return e=b.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,u="string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).addClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=b.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,u=0===arguments.length||"string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).removeClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?b.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e,r="boolean"==typeof t;return b.isFunction(e)?this.each(function(n){b(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var o,a=0,s=b(this),u=t,l=e.match(w)||[];while(o=l[a++])u=r?u:!s.hasClass(o),s[u?"addClass":"removeClass"](o)}else(n===i||"boolean"===n)&&(this.className&&b._data(this,"__className__",this.className),this.className=this.className||e===!1?"":b._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(X," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=b.isFunction(e),this.each(function(n){var o,a=b(this);1===this.nodeType&&(o=i?e.call(this,n,a.val()):e,null==o?o="":"number"==typeof o?o+="":b.isArray(o)&&(o=b.map(o,function(e){return null==e?"":e+""})),r=b.valHooks[this.type]||b.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=b.valHooks[o.type]||b.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(U,""):null==n?"":n)}}}),b.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,a=o?null:[],s=o?i+1:r.length,u=0>i?s:o?i:0;for(;s>u;u++)if(n=r[u],!(!n.selected&&u!==i||(b.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&b.nodeName(n.parentNode,"optgroup"))){if(t=b(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n=b.makeArray(t);return b(e).find("option").each(function(){this.selected=b.inArray(b(this).val(),n)>=0}),n.length||(e.selectedIndex=-1),n}}},attr:function(e,n,r){var o,a,s,u=e.nodeType;if(e&&3!==u&&8!==u&&2!==u)return typeof e.getAttribute===i?b.prop(e,n,r):(a=1!==u||!b.isXMLDoc(e),a&&(n=n.toLowerCase(),o=b.attrHooks[n]||(J.test(n)?z:I)),r===t?o&&a&&"get"in o&&null!==(s=o.get(e,n))?s:(typeof e.getAttribute!==i&&(s=e.getAttribute(n)),null==s?t:s):null!==r?o&&a&&"set"in o&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r):(b.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(w);if(o&&1===e.nodeType)while(n=o[i++])r=b.propFix[n]||n,J.test(n)?!Q&&G.test(n)?e[b.camelCase("default-"+n)]=e[r]=!1:e[r]=!1:b.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!b.support.radioValue&&"radio"===t&&b.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),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,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!b.isXMLDoc(e),a&&(n=b.propFix[n]||n,o=b.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 n=e.getAttributeNode("tabindex");return n&&n.specified?parseInt(n.value,10):V.test(e.nodeName)||Y.test(e.nodeName)&&e.href?0:t}}}}),z={get:function(e,n){var r=b.prop(e,n),i="boolean"==typeof r&&e.getAttribute(n),o="boolean"==typeof r?K&&Q?null!=i:G.test(n)?e[b.camelCase("default-"+n)]:!!i:e.getAttributeNode(n);return o&&o.value!==!1?n.toLowerCase():t},set:function(e,t,n){return t===!1?b.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&b.propFix[n]||n,n):e[b.camelCase("default-"+n)]=e[n]=!0,n}},K&&Q||(b.attrHooks.value={get:function(e,n){var r=e.getAttributeNode(n);return b.nodeName(e,"input")?e.defaultValue:r&&r.specified?r.value:t},set:function(e,n,r){return b.nodeName(e,"input")?(e.defaultValue=n,t):I&&I.set(e,n,r)}}),Q||(I=b.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&("id"===n||"name"===n||"coords"===n?""!==r.value:r.specified)?r.value:t},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}},b.attrHooks.contenteditable={get:I.get,set:function(e,t,n){I.set(e,""===t?!1:t,n)}},b.each(["width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}})})),b.support.hrefNormalized||(b.each(["href","src","width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{get:function(e){var r=e.getAttribute(n,2);return null==r?t:r}})}),b.each(["href","src"],function(e,t){b.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}})),b.support.style||(b.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),b.support.optSelected||(b.propHooks.selected=b.extend(b.propHooks.selected,{get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),b.support.enctype||(b.propFix.enctype="encoding"),b.support.checkOn||b.each(["radio","checkbox"],function(){b.valHooks[this]={get:function(e){return null===e.getAttribute("value")?"on":e.value}}}),b.each(["radio","checkbox"],function(){b.valHooks[this]=b.extend(b.valHooks[this],{set:function(e,n){return b.isArray(n)?e.checked=b.inArray(b(e).val(),n)>=0:t}})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}b.event={global:{},add:function(e,n,r,o,a){var s,u,l,c,p,f,d,h,g,m,y,v=b._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=b.guid++),(u=v.events)||(u=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof b===i||e&&b.event.triggered===e.type?t:b.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(w)||[""],l=n.length;while(l--)s=rt.exec(n[l])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),p=b.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=b.event.special[g]||{},d=b.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&b.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=u[g])||(h=u[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),b.event.global[g]=!0;e=null}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,p,f,d,h,g,m=b.hasData(e)&&b._data(e);if(m&&(c=m.events)){t=(t||"").match(w)||[""],l=t.length;while(l--)if(s=rt.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=b.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),u=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));u&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||b.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)b.event.remove(e,d+t[l],n,r,!0);b.isEmptyObject(c)&&(delete m.handle,b._removeData(e,"events"))}},trigger:function(n,r,i,a){var s,u,l,c,p,f,d,h=[i||o],g=y.call(n,"type")?n.type:n,m=y.call(n,"namespace")?n.namespace.split("."):[];if(l=f=i=i||o,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+b.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),u=0>g.indexOf(":")&&"on"+g,n=n[b.expando]?n:new b.Event(g,"object"==typeof n&&n),n.isTrigger=!0,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]:b.makeArray(r,[n]),p=b.event.special[g]||{},a||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!a&&!p.noBubble&&!b.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(l=l.parentNode);l;l=l.parentNode)h.push(l),f=l;f===(i.ownerDocument||o)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((l=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(b._data(l,"events")||{})[n.type]&&b._data(l,"handle"),s&&s.apply(l,r),s=u&&l[u],s&&b.acceptData(l)&&s.apply&&s.apply(l,r)===!1&&n.preventDefault();if(n.type=g,!(a||n.isDefaultPrevented()||p._default&&p._default.apply(i.ownerDocument,r)!==!1||"click"===g&&b.nodeName(i,"a")||!b.acceptData(i)||!u||!i[g]||b.isWindow(i))){f=i[u],f&&(i[u]=null),b.event.triggered=g;try{i[g]()}catch(v){}b.event.triggered=t,f&&(i[u]=f)}return n.result}},dispatch:function(e){e=b.event.fix(e);var n,r,i,o,a,s=[],u=h.call(arguments),l=(b._data(this,"events")||{})[e.type]||[],c=b.event.special[e.type]||{};if(u[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=b.event.handlers.call(this,e,l),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=((b.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,u),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=[],u=n.delegateCount,l=e.target;if(u&&l.nodeType&&(!e.button||"click"!==e.type))for(;l!=this;l=l.parentNode||this)if(1===l.nodeType&&(l.disabled!==!0||"click"!==e.type)){for(o=[],a=0;u>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?b(r,this).index(l)>=0:b.find(r,this,null,[l]).length),o[r]&&o.push(i);o.length&&s.push({elem:l,handlers:o})}return n.length>u&&s.push({elem:this,handlers:n.slice(u)}),s},fix:function(e){if(e[b.expando])return e;var t,n,r,i=e.type,a=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 b.Event(a),t=r.length;while(t--)n=r[t],e[n]=a[n];return e.target||(e.target=a.srcElement||o),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,a):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,a,s=n.button,u=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||o,a=i.documentElement,r=i.body,e.pageX=n.clientX+(a&&a.scrollLeft||r&&r.scrollLeft||0)-(a&&a.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(a&&a.scrollTop||r&&r.scrollTop||0)-(a&&a.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&u&&(e.relatedTarget=u===e.target?n.toElement:u),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},click:{trigger:function(){return b.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t}},focus:{trigger:function(){if(this!==o.activeElement&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===o.activeElement&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=b.extend(new b.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?b.event.trigger(i,null,t):b.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},b.removeEvent=o.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))},b.Event=function(e,n){return this instanceof b.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&&b.extend(this,n),this.timeStamp=e&&e.timeStamp||b.now(),this[b.expando]=!0,t):new b.Event(e,n)},b.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()}},b.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){b.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;
return(!i||i!==r&&!b.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),b.support.submitBubbles||(b.event.special.submit={setup:function(){return b.nodeName(this,"form")?!1:(b.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=b.nodeName(n,"input")||b.nodeName(n,"button")?n.form:t;r&&!b._data(r,"submitBubbles")&&(b.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),b._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&b.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return b.nodeName(this,"form")?!1:(b.event.remove(this,"._submit"),t)}}),b.support.changeBubbles||(b.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(b.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),b.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),b.event.simulate("change",this,e,!0)})),!1):(b.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!b._data(t,"changeBubbles")&&(b.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||b.event.simulate("change",this.parentNode,e,!0)}),b._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 b.event.remove(this,"._change"),!Z.test(this.nodeName)}}),b.support.focusinBubbles||b.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){b.event.simulate(t,e.target,b.event.fix(e),!0)};b.event.special[t]={setup:function(){0===n++&&o.addEventListener(e,r,!0)},teardown:function(){0===--n&&o.removeEventListener(e,r,!0)}}}),b.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 b().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=b.guid++)),this.each(function(){b.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,b(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(){b.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)},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)},trigger:function(e,t){return this.each(function(){b.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?b.event.trigger(e,n,r,!0):t}}),function(e,t){var n,r,i,o,a,s,u,l,c,p,f,d,h,g,m,y,v,x="sizzle"+-new Date,w=e.document,T={},N=0,C=0,k=it(),E=it(),S=it(),A=typeof t,j=1<<31,D=[],L=D.pop,H=D.push,q=D.slice,M=D.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},_="[\\x20\\t\\r\\n\\f]",F="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=F.replace("w","w#"),B="([*^$|!~]?=)",P="\\["+_+"*("+F+")"+_+"*(?:"+B+_+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+O+")|)|)"+_+"*\\]",R=":("+F+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+P.replace(3,8)+")*)|.*)\\)|)",W=RegExp("^"+_+"+|((?:^|[^\\\\])(?:\\\\.)*)"+_+"+$","g"),$=RegExp("^"+_+"*,"+_+"*"),I=RegExp("^"+_+"*([\\x20\\t\\r\\n\\f>+~])"+_+"*"),z=RegExp(R),X=RegExp("^"+O+"$"),U={ID:RegExp("^#("+F+")"),CLASS:RegExp("^\\.("+F+")"),NAME:RegExp("^\\[name=['\"]?("+F+")['\"]?\\]"),TAG:RegExp("^("+F.replace("w","w*")+")"),ATTR:RegExp("^"+P),PSEUDO:RegExp("^"+R),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+_+"*(even|odd|(([+-]|)(\\d*)n|)"+_+"*(?:([+-]|)"+_+"*(\\d+)|))"+_+"*\\)|)","i"),needsContext:RegExp("^"+_+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+_+"*((?:-\\d)?\\d*)"+_+"*\\)|)(?=[^-]|$)","i")},V=/[\x20\t\r\n\f]*[+~]/,Y=/^[^{]+\{\s*\[native code/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,G=/^(?:input|select|textarea|button)$/i,Q=/^h\d$/i,K=/'|\\/g,Z=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,et=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,tt=function(e,t){var n="0x"+t-65536;return n!==n?t:0>n?String.fromCharCode(n+65536):String.fromCharCode(55296|n>>10,56320|1023&n)};try{q.call(w.documentElement.childNodes,0)[0].nodeType}catch(nt){q=function(e){var t,n=[];while(t=this[e++])n.push(t);return n}}function rt(e){return Y.test(e+"")}function it(){var e,t=[];return e=function(n,r){return t.push(n+=" ")>i.cacheLength&&delete e[t.shift()],e[n]=r}}function ot(e){return e[x]=!0,e}function at(e){var t=p.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}}function st(e,t,n,r){var i,o,a,s,u,l,f,g,m,v;if((t?t.ownerDocument||t:w)!==p&&c(t),t=t||p,n=n||[],!e||"string"!=typeof e)return n;if(1!==(s=t.nodeType)&&9!==s)return[];if(!d&&!r){if(i=J.exec(e))if(a=i[1]){if(9===s){if(o=t.getElementById(a),!o||!o.parentNode)return n;if(o.id===a)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(a))&&y(t,o)&&o.id===a)return n.push(o),n}else{if(i[2])return H.apply(n,q.call(t.getElementsByTagName(e),0)),n;if((a=i[3])&&T.getByClassName&&t.getElementsByClassName)return H.apply(n,q.call(t.getElementsByClassName(a),0)),n}if(T.qsa&&!h.test(e)){if(f=!0,g=x,m=t,v=9===s&&e,1===s&&"object"!==t.nodeName.toLowerCase()){l=ft(e),(f=t.getAttribute("id"))?g=f.replace(K,"\\$&"):t.setAttribute("id",g),g="[id='"+g+"'] ",u=l.length;while(u--)l[u]=g+dt(l[u]);m=V.test(e)&&t.parentNode||t,v=l.join(",")}if(v)try{return H.apply(n,q.call(m.querySelectorAll(v),0)),n}catch(b){}finally{f||t.removeAttribute("id")}}}return wt(e.replace(W,"$1"),t,n,r)}a=st.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},c=st.setDocument=function(e){var n=e?e.ownerDocument||e:w;return n!==p&&9===n.nodeType&&n.documentElement?(p=n,f=n.documentElement,d=a(n),T.tagNameNoComments=at(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),T.attributes=at(function(e){e.innerHTML="<select></select>";var t=typeof e.lastChild.getAttribute("multiple");return"boolean"!==t&&"string"!==t}),T.getByClassName=at(function(e){return e.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",e.getElementsByClassName&&e.getElementsByClassName("e").length?(e.lastChild.className="e",2===e.getElementsByClassName("e").length):!1}),T.getByName=at(function(e){e.id=x+0,e.innerHTML="<a name='"+x+"'></a><div name='"+x+"'></div>",f.insertBefore(e,f.firstChild);var t=n.getElementsByName&&n.getElementsByName(x).length===2+n.getElementsByName(x+0).length;return T.getIdNotName=!n.getElementById(x),f.removeChild(e),t}),i.attrHandle=at(function(e){return e.innerHTML="<a href='#'></a>",e.firstChild&&typeof e.firstChild.getAttribute!==A&&"#"===e.firstChild.getAttribute("href")})?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},T.getIdNotName?(i.find.ID=function(e,t){if(typeof t.getElementById!==A&&!d){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){return e.getAttribute("id")===t}}):(i.find.ID=function(e,n){if(typeof n.getElementById!==A&&!d){var r=n.getElementById(e);return r?r.id===e||typeof r.getAttributeNode!==A&&r.getAttributeNode("id").value===e?[r]:t:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){var n=typeof e.getAttributeNode!==A&&e.getAttributeNode("id");return n&&n.value===t}}),i.find.TAG=T.tagNameNoComments?function(e,n){return typeof n.getElementsByTagName!==A?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},i.find.NAME=T.getByName&&function(e,n){return typeof n.getElementsByName!==A?n.getElementsByName(name):t},i.find.CLASS=T.getByClassName&&function(e,n){return typeof n.getElementsByClassName===A||d?t:n.getElementsByClassName(e)},g=[],h=[":focus"],(T.qsa=rt(n.querySelectorAll))&&(at(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||h.push("\\["+_+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||h.push(":checked")}),at(function(e){e.innerHTML="<input type='hidden' i=''/>",e.querySelectorAll("[i^='']").length&&h.push("[*^$]="+_+"*(?:\"\"|'')"),e.querySelectorAll(":enabled").length||h.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),h.push(",.*:")})),(T.matchesSelector=rt(m=f.matchesSelector||f.mozMatchesSelector||f.webkitMatchesSelector||f.oMatchesSelector||f.msMatchesSelector))&&at(function(e){T.disconnectedMatch=m.call(e,"div"),m.call(e,"[s!='']:x"),g.push("!=",R)}),h=RegExp(h.join("|")),g=RegExp(g.join("|")),y=rt(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},v=f.compareDocumentPosition?function(e,t){var r;return e===t?(u=!0,0):(r=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t))?1&r||e.parentNode&&11===e.parentNode.nodeType?e===n||y(w,e)?-1:t===n||y(w,t)?1:0:4&r?-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 u=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:0;if(o===a)return ut(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?ut(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},u=!1,[0,0].sort(v),T.detectDuplicates=u,p):p},st.matches=function(e,t){return st(e,null,null,t)},st.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&c(e),t=t.replace(Z,"='$1']"),!(!T.matchesSelector||d||g&&g.test(t)||h.test(t)))try{var n=m.call(e,t);if(n||T.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(r){}return st(t,p,null,[e]).length>0},st.contains=function(e,t){return(e.ownerDocument||e)!==p&&c(e),y(e,t)},st.attr=function(e,t){var n;return(e.ownerDocument||e)!==p&&c(e),d||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):d||T.attributes?e.getAttribute(t):((n=e.getAttributeNode(t))||e.getAttribute(t))&&e[t]===!0?t:n&&n.specified?n.value:null},st.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},st.uniqueSort=function(e){var t,n=[],r=1,i=0;if(u=!T.detectDuplicates,e.sort(v),u){for(;t=e[r];r++)t===e[r-1]&&(i=n.push(r));while(i--)e.splice(n[i],1)}return e};function ut(e,t){var n=t&&e,r=n&&(~t.sourceIndex||j)-(~e.sourceIndex||j);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function lt(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function ct(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function pt(e){return ot(function(t){return t=+t,ot(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]))})})}o=st.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=st.selectors={cacheLength:50,createPseudo:ot,match:U,find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(et,tt),e[3]=(e[4]||e[5]||"").replace(et,tt),"~="===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]||st.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]&&st.error(e[0]),e},PSEUDO:function(e){var t,n=!e[5]&&e[2];return U.CHILD.test(e[0])?null:(e[4]?e[2]=e[4]:n&&z.test(n)&&(t=ft(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){return"*"===e?function(){return!0}:(e=e.replace(et,tt).toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[e+" "];return t||(t=RegExp("(^|"+_+")"+e+"("+_+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==A&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=st.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,u){var l,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!u&&!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[x]||(m[x]={}),l=c[e]||[],d=l[0]===N&&l[1],f=l[0]===N&&l[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]=[N,d,f];break}}else if(v&&(l=(t[x]||(t[x]={}))[e])&&l[0]===N)f=l[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[x]||(p[x]={}))[e]=[N,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()]||st.error("unsupported pseudo: "+e);return r[x]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?ot(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=M.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:ot(function(e){var t=[],n=[],r=s(e.replace(W,"$1"));return r[x]?ot(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:ot(function(e){return function(t){return st(e,t).length>0}}),contains:ot(function(e){return function(t){return(t.textContent||t.innerText||o(t)).indexOf(e)>-1}}),lang:ot(function(e){return X.test(e||"")||st.error("unsupported lang: "+e),e=e.replace(et,tt).toLowerCase(),function(t){var n;do if(n=d?t.getAttribute("xml:lang")||t.getAttribute("lang"):t.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 Q.test(e.nodeName)},input:function(e){return G.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:pt(function(){return[0]}),last:pt(function(e,t){return[t-1]}),eq:pt(function(e,t,n){return[0>n?n+t:n]}),even:pt(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:pt(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:pt(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:pt(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}};for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})i.pseudos[n]=lt(n);for(n in{submit:!0,reset:!0})i.pseudos[n]=ct(n);function ft(e,t){var n,r,o,a,s,u,l,c=E[e+" "];if(c)return t?0:c.slice(0);s=e,u=[],l=i.preFilter;while(s){(!n||(r=$.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),u.push(o=[])),n=!1,(r=I.exec(s))&&(n=r.shift(),o.push({value:n,type:r[0].replace(W," ")}),s=s.slice(n.length));for(a in i.filter)!(r=U[a].exec(s))||l[a]&&!(r=l[a](r))||(n=r.shift(),o.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?st.error(e):E(e,u).slice(0)}function dt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function ht(e,t,n){var i=t.dir,o=n&&"parentNode"===i,a=C++;return t.first?function(t,n,r){while(t=t[i])if(1===t.nodeType||o)return e(t,n,r)}:function(t,n,s){var u,l,c,p=N+" "+a;if(s){while(t=t[i])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[i])if(1===t.nodeType||o)if(c=t[x]||(t[x]={}),(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,s)||r,l[1]===!0)return!0}}function gt(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 mt(e,t,n,r,i){var o,a=[],s=0,u=e.length,l=null!=t;for(;u>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),l&&t.push(s));return a}function yt(e,t,n,r,i,o){return r&&!r[x]&&(r=yt(r)),i&&!i[x]&&(i=yt(i,o)),ot(function(o,a,s,u){var l,c,p,f=[],d=[],h=a.length,g=o||xt(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:mt(g,f,e,s,u),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,u),r){l=mt(y,d),r(l,[],s,u),c=l.length;while(c--)(p=l[c])&&(y[d[c]]=!(m[d[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?M.call(o,p):f[c])>-1&&(o[l]=!(a[l]=p))}}else y=mt(y===a?y.splice(h,y.length):y),i?i(null,a,y,u):H.apply(a,y)})}function vt(e){var t,n,r,o=e.length,a=i.relative[e[0].type],s=a||i.relative[" "],u=a?1:0,c=ht(function(e){return e===t},s,!0),p=ht(function(e){return M.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;o>u;u++)if(n=i.relative[e[u].type])f=[ht(gt(f),n)];else{if(n=i.filter[e[u].type].apply(null,e[u].matches),n[x]){for(r=++u;o>r;r++)if(i.relative[e[r].type])break;return yt(u>1&&gt(f),u>1&&dt(e.slice(0,u-1)).replace(W,"$1"),n,r>u&&vt(e.slice(u,r)),o>r&&vt(e=e.slice(r)),o>r&&dt(e))}f.push(n)}return gt(f)}function bt(e,t){var n=0,o=t.length>0,a=e.length>0,s=function(s,u,c,f,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,T=l,C=s||a&&i.find.TAG("*",d&&u.parentNode||u),k=N+=null==T?1:Math.random()||.1;for(w&&(l=u!==p&&u,r=n);null!=(h=C[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,u,c)){f.push(h);break}w&&(N=k,r=++n)}o&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,o&&b!==v){g=0;while(m=t[g++])m(x,y,u,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=L.call(f));y=mt(y)}H.apply(f,y),w&&!s&&y.length>0&&v+t.length>1&&st.uniqueSort(f)}return w&&(N=k,l=T),x};return o?ot(s):s}s=st.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=ft(e)),n=t.length;while(n--)o=vt(t[n]),o[x]?r.push(o):i.push(o);o=S(e,bt(i,r))}return o};function xt(e,t,n){var r=0,i=t.length;for(;i>r;r++)st(e,t[r],n);return n}function wt(e,t,n,r){var o,a,u,l,c,p=ft(e);if(!r&&1===p.length){if(a=p[0]=p[0].slice(0),a.length>2&&"ID"===(u=a[0]).type&&9===t.nodeType&&!d&&i.relative[a[1].type]){if(t=i.find.ID(u.matches[0].replace(et,tt),t)[0],!t)return n;e=e.slice(a.shift().value.length)}o=U.needsContext.test(e)?0:a.length;while(o--){if(u=a[o],i.relative[l=u.type])break;if((c=i.find[l])&&(r=c(u.matches[0].replace(et,tt),V.test(a[0].type)&&t.parentNode||t))){if(a.splice(o,1),e=r.length&&dt(a),!e)return H.apply(n,q.call(r,0)),n;break}}}return s(e,p)(r,t,d,n,V.test(e)),n}i.pseudos.nth=i.pseudos.eq;function Tt(){}i.filters=Tt.prototype=i.pseudos,i.setFilters=new Tt,c(),st.attr=b.attr,b.find=st,b.expr=st.selectors,b.expr[":"]=b.expr.pseudos,b.unique=st.uniqueSort,b.text=st.getText,b.isXMLDoc=st.isXML,b.contains=st.contains}(e);var at=/Until$/,st=/^(?:parents|prev(?:Until|All))/,ut=/^.[^:#\[\.,]*$/,lt=b.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};b.fn.extend({find:function(e){var t,n,r,i=this.length;if("string"!=typeof e)return r=this,this.pushStack(b(e).filter(function(){for(t=0;i>t;t++)if(b.contains(r[t],this))return!0}));for(n=[],t=0;i>t;t++)b.find(e,this[t],n);return n=this.pushStack(i>1?b.unique(n):n),n.selector=(this.selector?this.selector+" ":"")+e,n},has:function(e){var t,n=b(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(b.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e,!1))},filter:function(e){return this.pushStack(ft(this,e,!0))},is:function(e){return!!e&&("string"==typeof e?lt.test(e)?b(e,this.context).index(this[0])>=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,o=[],a=lt.test(e)||"string"!=typeof e?b(e,t||this.context):0;for(;i>r;r++){n=this[r];while(n&&n.ownerDocument&&n!==t&&11!==n.nodeType){if(a?a.index(n)>-1:b.find.matchesSelector(n,e)){o.push(n);break}n=n.parentNode}}return this.pushStack(o.length>1?b.unique(o):o)},index:function(e){return e?"string"==typeof e?b.inArray(this[0],b(e)):b.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?b(e,t):b.makeArray(e&&e.nodeType?[e]:e),r=b.merge(this.get(),n);return this.pushStack(b.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),b.fn.andSelf=b.fn.addBack;function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}b.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(e,t,n){return b.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(e,t,n){return b.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return b.dir(e,"previousSibling",n)},siblings:function(e){return b.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.merge([],e.childNodes)}},function(e,t){b.fn[e]=function(n,r){var i=b.map(this,t,n);return at.test(e)||(r=n),r&&"string"==typeof r&&(i=b.filter(r,i)),i=this.length>1&&!ct[e]?b.unique(i):i,this.length>1&&st.test(e)&&(i=i.reverse()),this.pushStack(i)}}),b.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),1===t.length?b.find.matchesSelector(t[0],e)?[t[0]]:[]:b.find.matches(e,t)},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!b(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(t=t||0,b.isFunction(t))return b.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return b.grep(e,function(e){return e===t===n});if("string"==typeof t){var r=b.grep(e,function(e){return 1===e.nodeType});if(ut.test(t))return b.filter(t,r,!n);t=b.filter(t,r)}return b.grep(e,function(e){return b.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,Nt=/^(?:checkbox|radio)$/i,Ct=/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:b.support.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},jt=dt(o),Dt=jt.appendChild(o.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,b.fn.extend({text:function(e){return b.access(this,function(e){return e===t?b.text(this):this.empty().append((this[0]&&this[0].ownerDocument||o).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(b.isFunction(e))return this.each(function(t){b(this).wrapAll(e.call(this,t))});if(this[0]){var t=b(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 b.isFunction(e)?this.each(function(t){b(this).wrapInner(e.call(this,t))}):this.each(function(){var t=b(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=b.isFunction(e);return this.each(function(n){b(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){b.nodeName(this,"body")||b(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.insertBefore(e,this.firstChild)})},before:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=0;for(;null!=(n=this[r]);r++)(!e||b.filter(e,[n]).length>0)&&(t||1!==n.nodeType||b.cleanData(Ot(n)),n.parentNode&&(t&&b.contains(n.ownerDocument,n)&&Mt(Ot(n,"script")),n.parentNode.removeChild(n)));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&b.cleanData(Ot(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&b.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 b.clone(this,e,t)})},html:function(e){return b.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)||!b.support.htmlSerialize&&mt.test(e)||!b.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&&(b.cleanData(Ot(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){var t=b.isFunction(e);return t||"string"==typeof e||(e=b(e).not(this).detach()),this.domManip([e],!0,function(e){var t=this.nextSibling,n=this.parentNode;n&&(b(this).remove(),n.insertBefore(e,t))})},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,r){e=f.apply([],e);var i,o,a,s,u,l,c=0,p=this.length,d=this,h=p-1,g=e[0],m=b.isFunction(g);if(m||!(1>=p||"string"!=typeof g||b.support.checkClone)&&Ct.test(g))return this.each(function(i){var o=d.eq(i);m&&(e[0]=g.call(this,i,n?o.html():t)),o.domManip(e,n,r)});if(p&&(l=b.buildFragment(e,this[0].ownerDocument,!1,this),i=l.firstChild,1===l.childNodes.length&&(l=i),i)){for(n=n&&b.nodeName(i,"tr"),s=b.map(Ot(l,"script"),Ht),a=s.length;p>c;c++)o=l,c!==h&&(o=b.clone(o,!0,!0),a&&b.merge(s,Ot(o,"script"))),r.call(n&&b.nodeName(this[c],"table")?Lt(this[c],"tbody"):this[c],o,c);if(a)for(u=s[s.length-1].ownerDocument,b.map(s,qt),c=0;a>c;c++)o=s[c],kt.test(o.type||"")&&!b._data(o,"globalEval")&&b.contains(u,o)&&(o.src?b.ajax({url:o.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):b.globalEval((o.text||o.textContent||o.innerHTML||"").replace(St,"")));l=i=null}return this}});function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function Ht(e){var t=e.getAttributeNode("type");return e.type=(t&&t.specified)+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function Mt(e,t){var n,r=0;for(;null!=(n=e[r]);r++)b._data(n,"globalEval",!t||b._data(t[r],"globalEval"))}function _t(e,t){if(1===t.nodeType&&b.hasData(e)){var n,r,i,o=b._data(e),a=b._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++)b.event.add(t,n,s[n][r])}a.data&&(a.data=b.extend({},a.data))}}function Ft(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!b.support.noCloneEvent&&t[b.expando]){i=b._data(t);for(r in i.events)b.removeEvent(t,r,i.handle);t.removeAttribute(b.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),b.support.html5Clone&&e.innerHTML&&!b.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Nt.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)}}b.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){b.fn[e]=function(e){var n,r=0,i=[],o=b(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),b(o[r])[t](n),d.apply(i,n.get());return this.pushStack(i)}});function Ot(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||b.nodeName(o,n)?s.push(o):b.merge(s,Ot(o,n));return n===t||n&&b.nodeName(e,n)?b.merge([e],s):s}function Bt(e){Nt.test(e.type)&&(e.defaultChecked=e.checked)}b.extend({clone:function(e,t,n){var r,i,o,a,s,u=b.contains(e.ownerDocument,e);if(b.support.html5Clone||b.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(b.support.noCloneEvent&&b.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||b.isXMLDoc(e)))for(r=Ot(o),s=Ot(e),a=0;null!=(i=s[a]);++a)r[a]&&Ft(i,r[a]);if(t)if(n)for(s=s||Ot(e),r=r||Ot(o),a=0;null!=(i=s[a]);a++)_t(i,r[a]);else _t(e,o);return r=Ot(o,"script"),r.length>0&&Mt(r,!u&&Ot(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,u,l,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===b.type(o))b.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),u=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[u]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1></$2>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!b.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!b.support.tbody){o="table"!==u||xt.test(o)?"<table>"!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)b.nodeName(l=o.childNodes[i],"tbody")&&!l.childNodes.length&&o.removeChild(l)
}b.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),b.support.appendChecked||b.grep(Ot(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===b.inArray(o,r))&&(a=b.contains(o.ownerDocument,o),s=Ot(f.appendChild(o),"script"),a&&Mt(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,u=b.expando,l=b.cache,p=b.support.deleteExpando,f=b.event.special;for(;null!=(n=e[s]);s++)if((t||b.acceptData(n))&&(o=n[u],a=o&&l[o])){if(a.events)for(r in a.events)f[r]?b.event.remove(n,r):b.removeEvent(n,r,a.handle);l[o]&&(delete l[o],p?delete n[u]:typeof n.removeAttribute!==i?n.removeAttribute(u):n[u]=null,c.push(o))}}});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("^("+x+")(.*)$","i"),Yt=RegExp("^("+x+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+x+")","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"===b.css(e,"display")||!b.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]=b._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=b._data(r,"olddisplay",un(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&b._data(r,"olddisplay",i?n:b.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}b.fn.extend({css:function(e,n){return b.access(this,function(e,n,r){var i,o,a={},s=0;if(b.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=b.css(e,n[s],!1,o);return a}return r!==t?b.style(e,n,r):b.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){var t="boolean"==typeof e;return this.each(function(){(t?e:nn(this))?b(this).show():b(this).hide()})}}),b.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,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":b.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,u=b.camelCase(n),l=e.style;if(n=b.cssProps[u]||(b.cssProps[u]=tn(l,u)),s=b.cssHooks[n]||b.cssHooks[u],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:l[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(b.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||b.cssNumber[u]||(r+="px"),b.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(l[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{l[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,u=b.camelCase(n);return n=b.cssProps[u]||(b.cssProps[u]=tn(e.style,u)),s=b.cssHooks[n]||b.cssHooks[u],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||b.isNumeric(o)?o||0:a):a},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}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s.getPropertyValue(n)||s[n]:t,l=e.style;return s&&(""!==u||b.contains(e.ownerDocument,e)||(u=b.style(e,n)),Yt.test(u)&&Ut.test(n)&&(i=l.width,o=l.minWidth,a=l.maxWidth,l.minWidth=l.maxWidth=l.width=u,u=s.width,l.width=i,l.minWidth=o,l.maxWidth=a)),u}):o.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s[n]:t,l=e.style;return null==u&&l&&l[n]&&(u=l[n]),Yt.test(u)&&!zt.test(n)&&(i=l.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),l.left="fontSize"===n?"1em":u,u=l.pixelLeft+"px",l.left=i,a&&(o.left=a)),""===u?"auto":u});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+=b.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=b.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=b.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=b.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=b.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=b.support.boxSizing&&"border-box"===b.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&&(b.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function un(e){var t=o,n=Gt[e];return n||(n=ln(e,t),"none"!==n&&n||(Pt=(Pt||b("<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=ln(e,t),Pt.detach()),Gt[e]=n),n}function ln(e,t){var n=b(t.createElement(e)).appendTo(t.body),r=b.css(n[0],"display");return n.remove(),r}b.each(["height","width"],function(e,n){b.cssHooks[n]={get:function(e,r,i){return r?0===e.offsetWidth&&Xt.test(b.css(e,"display"))?b.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,b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,i),i):0)}}}),b.support.opacity||(b.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=b.isNumeric(t)?"alpha(opacity="+100*t+")":"",o=r&&r.filter||n.filter||"";n.zoom=1,(t>=1||""===t)&&""===b.trim(o.replace($t,""))&&n.removeAttribute&&(n.removeAttribute("filter"),""===t||r&&!r.filter)||(n.filter=$t.test(o)?o.replace($t,i):o+" "+i)}}),b(function(){b.support.reliableMarginRight||(b.cssHooks.marginRight={get:function(e,n){return n?b.swap(e,{display:"inline-block"},Wt,[e,"marginRight"]):t}}),!b.support.pixelPosition&&b.fn.position&&b.each(["top","left"],function(e,n){b.cssHooks[n]={get:function(e,r){return r?(r=Wt(e,n),Yt.test(r)?b(e).position()[n]+"px":r):t}}})}),b.expr&&b.expr.filters&&(b.expr.filters.hidden=function(e){return 0>=e.offsetWidth&&0>=e.offsetHeight||!b.support.reliableHiddenOffsets&&"none"===(e.style&&e.style.display||b.css(e,"display"))},b.expr.filters.visible=function(e){return!b.expr.filters.hidden(e)}),b.each({margin:"",padding:"",border:"Width"},function(e,t){b.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)||(b.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;b.fn.extend({serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=b.prop(this,"elements");return e?b.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!b(this).is(":disabled")&&hn.test(this.nodeName)&&!dn.test(e)&&(this.checked||!Nt.test(e))}).map(function(e,t){var n=b(this).val();return null==n?null:b.isArray(n)?b.map(n,function(e){return{name:t.name,value:e.replace(fn,"\r\n")}}):{name:t.name,value:n.replace(fn,"\r\n")}}).get()}}),b.param=function(e,n){var r,i=[],o=function(e,t){t=b.isFunction(t)?t():null==t?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(n===t&&(n=b.ajaxSettings&&b.ajaxSettings.traditional),b.isArray(e)||e.jquery&&!b.isPlainObject(e))b.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(b.isArray(t))b.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"!==b.type(t))r(e,t);else for(i in t)gn(e+"["+i+"]",t[i],n,r)}b.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){b.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),b.fn.hover=function(e,t){return this.mouseenter(e).mouseleave(t||e)};var mn,yn,vn=b.now(),bn=/\?/,xn=/#.*$/,wn=/([?&])_=[^&]*/,Tn=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Nn=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Cn=/^(?:GET|HEAD)$/,kn=/^\/\//,En=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,Sn=b.fn.load,An={},jn={},Dn="*/".concat("*");try{yn=a.href}catch(Ln){yn=o.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(w)||[];if(b.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(u){var l;return o[u]=!0,b.each(e[u]||[],function(e,u){var c=u(n,r,i);return"string"!=typeof c||a||o[c]?a?!(l=c):t:(n.dataTypes.unshift(c),s(c),!1)}),l}return s(n.dataTypes[0])||!o["*"]&&s("*")}function Mn(e,n){var r,i,o=b.ajaxSettings.flatOptions||{};for(i in n)n[i]!==t&&((o[i]?e:r||(r={}))[i]=n[i]);return r&&b.extend(!0,e,r),e}b.fn.load=function(e,n,r){if("string"!=typeof e&&Sn)return Sn.apply(this,arguments);var i,o,a,s=this,u=e.indexOf(" ");return u>=0&&(i=e.slice(u,e.length),e=e.slice(0,u)),b.isFunction(n)?(r=n,n=t):n&&"object"==typeof n&&(a="POST"),s.length>0&&b.ajax({url:e,type:a,dataType:"html",data:n}).done(function(e){o=arguments,s.html(i?b("<div>").append(b.parseHTML(e)).find(i):e)}).complete(r&&function(e,t){s.each(r,o||[e.responseText,t,e])}),this},b.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){b.fn[t]=function(e){return this.on(t,e)}}),b.each(["get","post"],function(e,n){b[n]=function(e,r,i,o){return b.isFunction(r)&&(o=o||i,i=r,r=t),b.ajax({url:e,type:n,dataType:o,data:r,success:i})}}),b.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:yn,type:"GET",isLocal:Nn.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"},converters:{"* text":e.String,"text html":!0,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Mn(Mn(e,b.ajaxSettings),t):Mn(b.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,u,l,c,p=b.ajaxSetup({},n),f=p.context||p,d=p.context&&(f.nodeType||f.jquery)?b(f):b.event,h=b.Deferred(),g=b.Callbacks("once memory"),m=p.statusCode||{},y={},v={},x=0,T="canceled",N={readyState:0,getResponseHeader:function(e){var t;if(2===x){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===x?a:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return x||(e=v[n]=v[n]||e,y[e]=t),this},overrideMimeType:function(e){return x||(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>x)for(t in e)m[t]=[m[t],e[t]];else N.always(e[N.status]);return this},abort:function(e){var t=e||T;return l&&l.abort(t),k(0,t),this}};if(h.promise(N).complete=g.add,N.success=N.done,N.error=N.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=b.trim(p.dataType||"*").toLowerCase().match(w)||[""],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=b.param(p.data,p.traditional)),qn(An,p,n,N),2===x)return N;u=p.global,u&&0===b.active++&&b.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!Cn.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&&(b.lastModified[o]&&N.setRequestHeader("If-Modified-Since",b.lastModified[o]),b.etag[o]&&N.setRequestHeader("If-None-Match",b.etag[o])),(p.data&&p.hasContent&&p.contentType!==!1||n.contentType)&&N.setRequestHeader("Content-Type",p.contentType),N.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)N.setRequestHeader(i,p.headers[i]);if(p.beforeSend&&(p.beforeSend.call(f,N,p)===!1||2===x))return N.abort();T="abort";for(i in{success:1,error:1,complete:1})N[i](p[i]);if(l=qn(jn,p,n,N)){N.readyState=1,u&&d.trigger("ajaxSend",[N,p]),p.async&&p.timeout>0&&(s=setTimeout(function(){N.abort("timeout")},p.timeout));try{x=1,l.send(y,k)}catch(C){if(!(2>x))throw C;k(-1,C)}}else k(-1,"No Transport");function k(e,n,r,i){var c,y,v,w,T,C=n;2!==x&&(x=2,s&&clearTimeout(s),l=t,a=i||"",N.readyState=e>0?4:0,r&&(w=_n(p,N,r)),e>=200&&300>e||304===e?(p.ifModified&&(T=N.getResponseHeader("Last-Modified"),T&&(b.lastModified[o]=T),T=N.getResponseHeader("etag"),T&&(b.etag[o]=T)),204===e?(c=!0,C="nocontent"):304===e?(c=!0,C="notmodified"):(c=Fn(p,w),C=c.state,y=c.data,v=c.error,c=!v)):(v=C,(e||!C)&&(C="error",0>e&&(e=0))),N.status=e,N.statusText=(n||C)+"",c?h.resolveWith(f,[y,C,N]):h.rejectWith(f,[N,C,v]),N.statusCode(m),m=t,u&&d.trigger(c?"ajaxSuccess":"ajaxError",[N,p,c?y:v]),g.fireWith(f,[N,C]),u&&(d.trigger("ajaxComplete",[N,p]),--b.active||b.event.trigger("ajaxStop")))}return N},getScript:function(e,n){return b.get(e,t,n,"script")},getJSON:function(e,t,n){return b.get(e,t,n,"json")}});function _n(e,n,r){var i,o,a,s,u=e.contents,l=e.dataTypes,c=e.responseFields;for(s in c)s in r&&(n[c[s]]=r[s]);while("*"===l[0])l.shift(),o===t&&(o=e.mimeType||n.getResponseHeader("Content-Type"));if(o)for(s in u)if(u[s]&&u[s].test(o)){l.unshift(s);break}if(l[0]in r)a=l[0];else{for(s in r){if(!l[0]||e.converters[s+" "+l[0]]){a=s;break}i||(i=s)}a=a||i}return a?(a!==l[0]&&l.unshift(a),r[a]):t}function Fn(e,t){var n,r,i,o,a={},s=0,u=e.dataTypes.slice(),l=u[0];if(e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u[1])for(i in e.converters)a[i.toLowerCase()]=e.converters[i];for(;r=u[++s];)if("*"!==r){if("*"!==l&&l!==r){if(i=a[l+" "+r]||a["* "+r],!i)for(n in a)if(o=n.split(" "),o[1]===r&&(i=a[l+" "+o[0]]||a["* "+o[0]])){i===!0?i=a[n]:a[n]!==!0&&(r=o[0],u.splice(s--,0,r));break}if(i!==!0)if(i&&e["throws"])t=i(t);else try{t=i(t)}catch(c){return{state:"parsererror",error:i?c:"No conversion from "+l+" to "+r}}}l=r}return{state:"success",data:t}}b.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return b.globalEval(e),e}}}),b.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),b.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=o.head||b("head")[0]||o.documentElement;return{send:function(t,i){n=o.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 On=[],Bn=/(=)\?(?=&|$)|\?\?/;b.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=On.pop()||b.expando+"_"+vn++;return this[e]=!0,e}}),b.ajaxPrefilter("json jsonp",function(n,r,i){var o,a,s,u=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 u||"jsonp"===n.dataTypes[0]?(o=n.jsonpCallback=b.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,u?n[u]=n[u].replace(Bn,"$1"+o):n.jsonp!==!1&&(n.url+=(bn.test(n.url)?"&":"?")+n.jsonp+"="+o),n.converters["script json"]=function(){return s||b.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,On.push(o)),s&&b.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){}}b.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&In()||zn()}:In,Rn=b.ajaxSettings.xhr(),b.support.cors=!!Rn&&"withCredentials"in Rn,Rn=b.support.ajax=!!Rn,Rn&&b.ajaxTransport(function(n){if(!n.crossDomain||b.support.cors){var r;return{send:function(i,o){var a,s,u=n.xhr();if(n.username?u.open(n.type,n.url,n.async,n.username,n.password):u.open(n.type,n.url,n.async),n.xhrFields)for(s in n.xhrFields)u[s]=n.xhrFields[s];n.mimeType&&u.overrideMimeType&&u.overrideMimeType(n.mimeType),n.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");try{for(s in i)u.setRequestHeader(s,i[s])}catch(l){}u.send(n.hasContent&&n.data||null),r=function(e,i){var s,l,c,p;try{if(r&&(i||4===u.readyState))if(r=t,a&&(u.onreadystatechange=b.noop,$n&&delete Pn[a]),i)4!==u.readyState&&u.abort();else{p={},s=u.status,l=u.getAllResponseHeaders(),"string"==typeof u.responseText&&(p.text=u.responseText);try{c=u.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,l)},n.async?4===u.readyState?setTimeout(r):(a=++Wn,$n&&(Pn||(Pn={},b(e).unload($n)),Pn[a]=r),u.onreadystatechange=r):r()},abort:function(){r&&r(t,!0)}}}});var Xn,Un,Vn=/^(?:toggle|show|hide)$/,Yn=RegExp("^(?:([+-])=|)("+x+")([a-z%]*)$","i"),Jn=/queueHooks$/,Gn=[nr],Qn={"*":[function(e,t){var n,r,i=this.createTween(e,t),o=Yn.exec(t),a=i.cur(),s=+a||0,u=1,l=20;if(o){if(n=+o[2],r=o[3]||(b.cssNumber[e]?"":"px"),"px"!==r&&s){s=b.css(i.elem,e,!0)||n||1;do u=u||".5",s/=u,b.style(i.elem,e,s+r);while(u!==(u=i.cur()/a)&&1!==u&&--l)}i.unit=r,i.start=s,i.end=o[1]?s+(o[1]+1)*n:n}return i}]};function Kn(){return setTimeout(function(){Xn=t}),Xn=b.now()}function Zn(e,t){b.each(t,function(t,n){var r=(Qn[t]||[]).concat(Qn["*"]),i=0,o=r.length;for(;o>i;i++)if(r[i].call(e,t,n))return})}function er(e,t,n){var r,i,o=0,a=Gn.length,s=b.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;var t=Xn||Kn(),n=Math.max(0,l.startTime+l.duration-t),r=n/l.duration||0,o=1-r,a=0,u=l.tweens.length;for(;u>a;a++)l.tweens[a].run(o);return s.notifyWith(e,[l,o,n]),1>o&&u?n:(s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:b.extend({},t),opts:b.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:Xn||Kn(),duration:n.duration,tweens:[],createTween:function(t,n){var r=b.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?s.resolveWith(e,[l,t]):s.rejectWith(e,[l,t]),this}}),c=l.props;for(tr(c,l.opts.specialEasing);a>o;o++)if(r=Gn[o].call(l,e,c,l.opts))return r;return Zn(l,c),b.isFunction(l.opts.start)&&l.opts.start.call(e,l),b.fx.timer(b.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 tr(e,t){var n,r,i,o,a;for(i in e)if(r=b.camelCase(i),o=t[r],n=e[i],b.isArray(n)&&(o=n[1],n=e[i]=n[0]),i!==r&&(e[r]=n,delete e[i]),a=b.cssHooks[r],a&&"expand"in a){n=a.expand(n),delete e[r];for(i in n)i in e||(e[i]=n[i],t[i]=o)}else t[r]=o}b.Animation=b.extend(er,{tweener:function(e,t){b.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,u,l,c,p,f=this,d=e.style,h={},g=[],m=e.nodeType&&nn(e);n.queue||(c=b._queueHooks(e,"fx"),null==c.unqueued&&(c.unqueued=0,p=c.empty.fire,c.empty.fire=function(){c.unqueued||p()}),c.unqueued++,f.always(function(){f.always(function(){c.unqueued--,b.queue(e,"fx").length||c.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[d.overflow,d.overflowX,d.overflowY],"inline"===b.css(e,"display")&&"none"===b.css(e,"float")&&(b.support.inlineBlockNeedsLayout&&"inline"!==un(e.nodeName)?d.zoom=1:d.display="inline-block")),n.overflow&&(d.overflow="hidden",b.support.shrinkWrapBlocks||f.always(function(){d.overflow=n.overflow[0],d.overflowX=n.overflow[1],d.overflowY=n.overflow[2]}));for(i in t)if(a=t[i],Vn.exec(a)){if(delete t[i],u=u||"toggle"===a,a===(m?"hide":"show"))continue;g.push(i)}if(o=g.length){s=b._data(e,"fxshow")||b._data(e,"fxshow",{}),"hidden"in s&&(m=s.hidden),u&&(s.hidden=!m),m?b(e).show():f.done(function(){b(e).hide()}),f.done(function(){var t;b._removeData(e,"fxshow");for(t in h)b.style(e,t,h[t])});for(i=0;o>i;i++)r=g[i],l=f.createTween(r,m?s[r]:0),h[r]=s[r]||b.style(e,r),r in s||(s[r]=l.start,m&&(l.end=l.start,l.start="width"===r||"height"===r?1:0))}}function rr(e,t,n,r,i){return new rr.prototype.init(e,t,n,r,i)}b.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||(b.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?b.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=b.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){b.fx.step[e.prop]?b.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[b.cssProps[e.prop]]||b.cssHooks[e.prop])?b.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)}},b.each(["toggle","show","hide"],function(e,t){var n=b.fn[t];b.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ir(t,!0),e,r,i)}}),b.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=b.isEmptyObject(e),o=b.speed(t,n,r),a=function(){var t=er(this,b.extend({},e),o);a.finish=function(){t.stop(!0)},(i||b._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=b.timers,a=b._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)&&b.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=b._data(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=b.timers,a=r?r.length:0;for(n.finish=!0,b.queue(this,e,[]),i&&i.cur&&i.cur.finish&&i.cur.finish.call(this),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}b.each({slideDown:ir("show"),slideUp:ir("hide"),slideToggle:ir("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){b.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),b.speed=function(e,t,n){var r=e&&"object"==typeof e?b.extend({},e):{complete:n||!n&&t||b.isFunction(e)&&e,duration:e,easing:n&&t||t&&!b.isFunction(t)&&t};return r.duration=b.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in b.fx.speeds?b.fx.speeds[r.duration]:b.fx.speeds._default,(null==r.queue||r.queue===!0)&&(r.queue="fx"),r.old=r.complete,r.complete=function(){b.isFunction(r.old)&&r.old.call(this),r.queue&&b.dequeue(this,r.queue)},r},b.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},b.timers=[],b.fx=rr.prototype.init,b.fx.tick=function(){var e,n=b.timers,r=0;for(Xn=b.now();n.length>r;r++)e=n[r],e()||n[r]!==e||n.splice(r--,1);n.length||b.fx.stop(),Xn=t},b.fx.timer=function(e){e()&&b.timers.push(e)&&b.fx.start()},b.fx.interval=13,b.fx.start=function(){Un||(Un=setInterval(b.fx.tick,b.fx.interval))},b.fx.stop=function(){clearInterval(Un),Un=null},b.fx.speeds={slow:600,fast:200,_default:400},b.fx.step={},b.expr&&b.expr.filters&&(b.expr.filters.animated=function(e){return b.grep(b.timers,function(t){return e===t.elem}).length}),b.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){b.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,b.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},b.offset={setOffset:function(e,t,n){var r=b.css(e,"position");"static"===r&&(e.style.position="relative");var i=b(e),o=i.offset(),a=b.css(e,"top"),s=b.css(e,"left"),u=("absolute"===r||"fixed"===r)&&b.inArray("auto",[a,s])>-1,l={},c={},p,f;u?(c=i.position(),p=c.top,f=c.left):(p=parseFloat(a)||0,f=parseFloat(s)||0),b.isFunction(t)&&(t=t.call(e,n,o)),null!=t.top&&(l.top=t.top-o.top+p),null!=t.left&&(l.left=t.left-o.left+f),"using"in t?t.using.call(e,l):i.css(l)}},b.fn.extend({position:function(){if(this[0]){var e,t,n={top:0,left:0},r=this[0];return"fixed"===b.css(r,"position")?t=r.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),b.nodeName(e[0],"html")||(n=e.offset()),n.top+=b.css(e[0],"borderTopWidth",!0),n.left+=b.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-b.css(r,"marginTop",!0),left:t.left-n.left-b.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||o.documentElement;while(e&&!b.nodeName(e,"html")&&"static"===b.css(e,"position"))e=e.offsetParent;return e||o.documentElement})}}),b.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);b.fn[e]=function(i){return b.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?b(a).scrollLeft():o,r?o:b(a).scrollTop()):e[i]=o,t)},e,i,arguments.length,null)}});function or(e){return b.isWindow(e)?e:9===e.nodeType?e.defaultView||e.parentWindow:!1}b.each({Height:"height",Width:"width"},function(e,n){b.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){b.fn[i]=function(i,o){var a=arguments.length&&(r||"boolean"!=typeof i),s=r||(i===!0||o===!0?"margin":"border");return b.access(this,function(n,r,i){var o;return b.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?b.css(n,r,s):b.style(n,r,i,s)},n,a?i:t,a,null)}})}),e.jQuery=e.$=b,"function"==typeof define&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return b})})(window);
\ No newline at end of file
/*! layer-v3.0.3 Web弹层组件 MIT License http://layer.layui.com/ By 贤心 */
;!function(e,t){"use strict";var i,n,a=e.layui&&layui.define,o={getPath:function(){var e=document.scripts,t=e[e.length-1],i=t.src;if(!t.getAttribute("merge"))return i.substring(0,i.lastIndexOf("/")+1)}(),config:{},end:{},minIndex:0,minLeft:[],btn:["&#x786E;&#x5B9A;","&#x53D6;&#x6D88;"],type:["dialog","page","iframe","loading","tips"]},r={v:"3.0.3",ie:function(){var t=navigator.userAgent.toLowerCase();return!!(e.ActiveXObject||"ActiveXObject"in e)&&((t.match(/msie\s(\d+)/)||[])[1]||"11")}(),index:e.layer&&e.layer.v?1e5:0,path:o.getPath,config:function(e,t){return e=e||{},r.cache=o.config=i.extend({},o.config,e),r.path=o.config.path||r.path,"string"==typeof e.extend&&(e.extend=[e.extend]),o.config.path&&r.ready(),e.extend?(a?layui.addcss("modules/layer/"+e.extend):r.link("skin/"+e.extend),this):this},link:function(t,n,a){if(r.path){var o=i("head")[0],s=document.createElement("link");"string"==typeof n&&(a=n);var l=(a||t).replace(/\.|\//g,""),f="layuicss-"+l,c=0;s.rel="stylesheet",s.href=r.path+t,s.id=f,i("#"+f)[0]||o.appendChild(s),"function"==typeof n&&!function u(){return++c>80?e.console&&console.error("layer.css: Invalid"):void(1989===parseInt(i("#"+f).css("width"))?n():setTimeout(u,100))}()}},ready:function(e){var t="skinlayercss",i="303";return a?layui.addcss("modules/layer/default/layer.css?v="+r.v+i,e,t):r.link("skin/default/layer.css?v="+r.v+i,e,t),this},alert:function(e,t,n){var a="function"==typeof t;return a&&(n=t),r.open(i.extend({content:e,yes:n},a?{}:t))},confirm:function(e,t,n,a){var s="function"==typeof t;return s&&(a=n,n=t),r.open(i.extend({content:e,btn:o.btn,yes:n,btn2:a},s?{}:t))},msg:function(e,n,a){var s="function"==typeof n,f=o.config.skin,c=(f?f+" "+f+"-msg":"")||"layui-layer-msg",u=l.anim.length-1;return s&&(a=n),r.open(i.extend({content:e,time:3e3,shade:!1,skin:c,title:!1,closeBtn:!1,btn:!1,resize:!1,end:a},s&&!o.config.skin?{skin:c+" layui-layer-hui",anim:u}:function(){return n=n||{},(n.icon===-1||n.icon===t&&!o.config.skin)&&(n.skin=c+" "+(n.skin||"layui-layer-hui")),n}()))},load:function(e,t){return r.open(i.extend({type:3,icon:e||0,resize:!1,shade:.01},t))},tips:function(e,t,n){return r.open(i.extend({type:4,content:[e,t],closeBtn:!1,time:3e3,shade:!1,resize:!1,fixed:!1,maxWidth:210},n))}},s=function(e){var t=this;t.index=++r.index,t.config=i.extend({},t.config,o.config,e),document.body?t.creat():setTimeout(function(){t.creat()},30)};s.pt=s.prototype;var l=["layui-layer",".layui-layer-title",".layui-layer-main",".layui-layer-dialog","layui-layer-iframe","layui-layer-content","layui-layer-btn","layui-layer-close"];l.anim=["layer-anim","layer-anim-01","layer-anim-02","layer-anim-03","layer-anim-04","layer-anim-05","layer-anim-06"],s.pt.config={type:0,shade:.3,fixed:!0,move:l[1],title:"&#x4FE1;&#x606F;",offset:"auto",area:"auto",closeBtn:1,time:0,zIndex:19891014,maxWidth:360,anim:0,isOutAnim:!0,icon:-1,moveType:1,resize:!0,scrollbar:!0,tips:2},s.pt.vessel=function(e,t){var n=this,a=n.index,r=n.config,s=r.zIndex+a,f="object"==typeof r.title,c=r.maxmin&&(1===r.type||2===r.type),u=r.title?'<div class="layui-layer-title" style="'+(f?r.title[1]:"")+'">'+(f?r.title[0]:r.title)+"</div>":"";return r.zIndex=s,t([r.shade?'<div class="layui-layer-shade" id="layui-layer-shade'+a+'" times="'+a+'" style="'+("z-index:"+(s-1)+"; background-color:"+(r.shade[1]||"#000")+"; opacity:"+(r.shade[0]||r.shade)+"; filter:alpha(opacity="+(100*r.shade[0]||100*r.shade)+");")+'"></div>':"",'<div class="'+l[0]+(" layui-layer-"+o.type[r.type])+(0!=r.type&&2!=r.type||r.shade?"":" layui-layer-border")+" "+(r.skin||"")+'" id="'+l[0]+a+'" type="'+o.type[r.type]+'" times="'+a+'" showtime="'+r.time+'" conType="'+(e?"object":"string")+'" style="z-index: '+s+"; width:"+r.area[0]+";height:"+r.area[1]+(r.fixed?"":";position:absolute;")+'">'+(e&&2!=r.type?"":u)+'<div id="'+(r.id||"")+'" class="layui-layer-content'+(0==r.type&&r.icon!==-1?" layui-layer-padding":"")+(3==r.type?" layui-layer-loading"+r.icon:"")+'">'+(0==r.type&&r.icon!==-1?'<i class="layui-layer-ico layui-layer-ico'+r.icon+'"></i>':"")+(1==r.type&&e?"":r.content||"")+'</div><span class="layui-layer-setwin">'+function(){var e=c?'<a class="layui-layer-min" href="javascript:;"><cite></cite></a><a class="layui-layer-ico layui-layer-max" href="javascript:;"></a>':"";return r.closeBtn&&(e+='<a class="layui-layer-ico '+l[7]+" "+l[7]+(r.title?r.closeBtn:4==r.type?"1":"2")+'" href="javascript:;"></a>'),e}()+"</span>"+(r.btn?function(){var e="";"string"==typeof r.btn&&(r.btn=[r.btn]);for(var t=0,i=r.btn.length;t<i;t++)e+='<a class="'+l[6]+t+'">'+r.btn[t]+"</a>";return'<div class="'+l[6]+" layui-layer-btn-"+(r.btnAlign||"")+'">'+e+"</div>"}():"")+(r.resize?'<span class="layui-layer-resize"></span>':"")+"</div>"],u,i('<div class="layui-layer-move"></div>')),n},s.pt.creat=function(){var e=this,t=e.config,a=e.index,s=t.content,f="object"==typeof s,c=i("body");if(!t.id||!i("#"+t.id)[0]){switch("string"==typeof t.area&&(t.area="auto"===t.area?["",""]:[t.area,""]),t.shift&&(t.anim=t.shift),6==r.ie&&(t.fixed=!1),t.type){case 0:t.btn="btn"in t?t.btn:o.btn[0],r.closeAll("dialog");break;case 2:var s=t.content=f?t.content:[t.content,"auto"];t.content='<iframe scrolling="'+(t.content[1]||"auto")+'" allowtransparency="true" id="'+l[4]+a+'" name="'+l[4]+a+'" onload="this.className=\'\';" class="layui-layer-load" frameborder="0" src="'+t.content[0]+'"></iframe>';break;case 3:delete t.title,delete t.closeBtn,t.icon===-1&&0===t.icon,r.closeAll("loading");break;case 4:f||(t.content=[t.content,"body"]),t.follow=t.content[1],t.content=t.content[0]+'<i class="layui-layer-TipsG"></i>',delete t.title,t.tips="object"==typeof t.tips?t.tips:[t.tips,!0],t.tipsMore||r.closeAll("tips")}e.vessel(f,function(n,r,u){c.append(n[0]),f?function(){2==t.type||4==t.type?function(){i("body").append(n[1])}():function(){s.parents("."+l[0])[0]||(s.data("display",s.css("display")).show().addClass("layui-layer-wrap").wrap(n[1]),i("#"+l[0]+a).find("."+l[5]).before(r))}()}():c.append(n[1]),i(".layui-layer-move")[0]||c.append(o.moveElem=u),e.layero=i("#"+l[0]+a),t.scrollbar||l.html.css("overflow","hidden").attr("layer-full",a)}).auto(a),2==t.type&&6==r.ie&&e.layero.find("iframe").attr("src",s[0]),4==t.type?e.tips():e.offset(),t.fixed&&n.on("resize",function(){e.offset(),(/^\d+%$/.test(t.area[0])||/^\d+%$/.test(t.area[1]))&&e.auto(a),4==t.type&&e.tips()}),t.time<=0||setTimeout(function(){r.close(e.index)},t.time),e.move().callback(),l.anim[t.anim]&&e.layero.addClass(l.anim[t.anim]),t.isOutAnim&&e.layero.data("isOutAnim",!0)}},s.pt.auto=function(e){function t(e){e=s.find(e),e.height(f[1]-c-u-2*(0|parseFloat(e.css("padding-top"))))}var a=this,o=a.config,s=i("#"+l[0]+e);""===o.area[0]&&o.maxWidth>0&&(r.ie&&r.ie<8&&o.btn&&s.width(s.innerWidth()),s.outerWidth()>o.maxWidth&&s.width(o.maxWidth));var f=[s.innerWidth(),s.innerHeight()],c=s.find(l[1]).outerHeight()||0,u=s.find("."+l[6]).outerHeight()||0;switch(o.type){case 2:t("iframe");break;default:""===o.area[1]?o.fixed&&f[1]>=n.height()&&(f[1]=n.height(),t("."+l[5])):t("."+l[5])}return a},s.pt.offset=function(){var e=this,t=e.config,i=e.layero,a=[i.outerWidth(),i.outerHeight()],o="object"==typeof t.offset;e.offsetTop=(n.height()-a[1])/2,e.offsetLeft=(n.width()-a[0])/2,o?(e.offsetTop=t.offset[0],e.offsetLeft=t.offset[1]||e.offsetLeft):"auto"!==t.offset&&("t"===t.offset?e.offsetTop=0:"r"===t.offset?e.offsetLeft=n.width()-a[0]:"b"===t.offset?e.offsetTop=n.height()-a[1]:"l"===t.offset?e.offsetLeft=0:"lt"===t.offset?(e.offsetTop=0,e.offsetLeft=0):"lb"===t.offset?(e.offsetTop=n.height()-a[1],e.offsetLeft=0):"rt"===t.offset?(e.offsetTop=0,e.offsetLeft=n.width()-a[0]):"rb"===t.offset?(e.offsetTop=n.height()-a[1],e.offsetLeft=n.width()-a[0]):e.offsetTop=t.offset),t.fixed||(e.offsetTop=/%$/.test(e.offsetTop)?n.height()*parseFloat(e.offsetTop)/100:parseFloat(e.offsetTop),e.offsetLeft=/%$/.test(e.offsetLeft)?n.width()*parseFloat(e.offsetLeft)/100:parseFloat(e.offsetLeft),e.offsetTop+=n.scrollTop(),e.offsetLeft+=n.scrollLeft()),i.attr("minLeft")&&(e.offsetTop=n.height()-(i.find(l[1]).outerHeight()||0),e.offsetLeft=i.css("left")),i.css({top:e.offsetTop,left:e.offsetLeft})},s.pt.tips=function(){var e=this,t=e.config,a=e.layero,o=[a.outerWidth(),a.outerHeight()],r=i(t.follow);r[0]||(r=i("body"));var s={width:r.outerWidth(),height:r.outerHeight(),top:r.offset().top,left:r.offset().left},f=a.find(".layui-layer-TipsG"),c=t.tips[0];t.tips[1]||f.remove(),s.autoLeft=function(){s.left+o[0]-n.width()>0?(s.tipLeft=s.left+s.width-o[0],f.css({right:12,left:"auto"})):s.tipLeft=s.left},s.where=[function(){s.autoLeft(),s.tipTop=s.top-o[1]-10,f.removeClass("layui-layer-TipsB").addClass("layui-layer-TipsT").css("border-right-color",t.tips[1])},function(){s.tipLeft=s.left+s.width+10,s.tipTop=s.top,f.removeClass("layui-layer-TipsL").addClass("layui-layer-TipsR").css("border-bottom-color",t.tips[1])},function(){s.autoLeft(),s.tipTop=s.top+s.height+10,f.removeClass("layui-layer-TipsT").addClass("layui-layer-TipsB").css("border-right-color",t.tips[1])},function(){s.tipLeft=s.left-o[0]-10,s.tipTop=s.top,f.removeClass("layui-layer-TipsR").addClass("layui-layer-TipsL").css("border-bottom-color",t.tips[1])}],s.where[c-1](),1===c?s.top-(n.scrollTop()+o[1]+16)<0&&s.where[2]():2===c?n.width()-(s.left+s.width+o[0]+16)>0||s.where[3]():3===c?s.top-n.scrollTop()+s.height+o[1]+16-n.height()>0&&s.where[0]():4===c&&o[0]+16-s.left>0&&s.where[1](),a.find("."+l[5]).css({"background-color":t.tips[1],"padding-right":t.closeBtn?"30px":""}),a.css({left:s.tipLeft-(t.fixed?n.scrollLeft():0),top:s.tipTop-(t.fixed?n.scrollTop():0)})},s.pt.move=function(){var e=this,t=e.config,a=i(document),s=e.layero,l=s.find(t.move),f=s.find(".layui-layer-resize"),c={};return t.move&&l.css("cursor","move"),l.on("mousedown",function(e){e.preventDefault(),t.move&&(c.moveStart=!0,c.offset=[e.clientX-parseFloat(s.css("left")),e.clientY-parseFloat(s.css("top"))],o.moveElem.css("cursor","move").show())}),f.on("mousedown",function(e){e.preventDefault(),c.resizeStart=!0,c.offset=[e.clientX,e.clientY],c.area=[s.outerWidth(),s.outerHeight()],o.moveElem.css("cursor","se-resize").show()}),a.on("mousemove",function(i){if(c.moveStart){var a=i.clientX-c.offset[0],o=i.clientY-c.offset[1],l="fixed"===s.css("position");if(i.preventDefault(),c.stX=l?0:n.scrollLeft(),c.stY=l?0:n.scrollTop(),!t.moveOut){var f=n.width()-s.outerWidth()+c.stX,u=n.height()-s.outerHeight()+c.stY;a<c.stX&&(a=c.stX),a>f&&(a=f),o<c.stY&&(o=c.stY),o>u&&(o=u)}s.css({left:a,top:o})}if(t.resize&&c.resizeStart){var a=i.clientX-c.offset[0],o=i.clientY-c.offset[1];i.preventDefault(),r.style(e.index,{width:c.area[0]+a,height:c.area[1]+o}),c.isResize=!0,t.resizing&&t.resizing(s)}}).on("mouseup",function(e){c.moveStart&&(delete c.moveStart,o.moveElem.hide(),t.moveEnd&&t.moveEnd(s)),c.resizeStart&&(delete c.resizeStart,o.moveElem.hide())}),e},s.pt.callback=function(){function e(){var e=a.cancel&&a.cancel(t.index,n);e===!1||r.close(t.index)}var t=this,n=t.layero,a=t.config;t.openLayer(),a.success&&(2==a.type?n.find("iframe").on("load",function(){a.success(n,t.index)}):a.success(n,t.index)),6==r.ie&&t.IE6(n),n.find("."+l[6]).children("a").on("click",function(){var e=i(this).index();if(0===e)a.yes?a.yes(t.index,n):a.btn1?a.btn1(t.index,n):r.close(t.index);else{var o=a["btn"+(e+1)]&&a["btn"+(e+1)](t.index,n);o===!1||r.close(t.index)}}),n.find("."+l[7]).on("click",e),a.shadeClose&&i("#layui-layer-shade"+t.index).on("click",function(){r.close(t.index)}),n.find(".layui-layer-min").on("click",function(){var e=a.min&&a.min(n);e===!1||r.min(t.index,a)}),n.find(".layui-layer-max").on("click",function(){i(this).hasClass("layui-layer-maxmin")?(r.restore(t.index),a.restore&&a.restore(n)):(r.full(t.index,a),setTimeout(function(){a.full&&a.full(n)},100))}),a.end&&(o.end[t.index]=a.end)},o.reselect=function(){i.each(i("select"),function(e,t){var n=i(this);n.parents("."+l[0])[0]||1==n.attr("layer")&&i("."+l[0]).length<1&&n.removeAttr("layer").show(),n=null})},s.pt.IE6=function(e){i("select").each(function(e,t){var n=i(this);n.parents("."+l[0])[0]||"none"===n.css("display")||n.attr({layer:"1"}).hide(),n=null})},s.pt.openLayer=function(){var e=this;r.zIndex=e.config.zIndex,r.setTop=function(e){var t=function(){r.zIndex++,e.css("z-index",r.zIndex+1)};return r.zIndex=parseInt(e[0].style.zIndex),e.on("mousedown",t),r.zIndex}},o.record=function(e){var t=[e.width(),e.height(),e.position().top,e.position().left+parseFloat(e.css("margin-left"))];e.find(".layui-layer-max").addClass("layui-layer-maxmin"),e.attr({area:t})},o.rescollbar=function(e){l.html.attr("layer-full")==e&&(l.html[0].style.removeProperty?l.html[0].style.removeProperty("overflow"):l.html[0].style.removeAttribute("overflow"),l.html.removeAttr("layer-full"))},e.layer=r,r.getChildFrame=function(e,t){return t=t||i("."+l[4]).attr("times"),i("#"+l[0]+t).find("iframe").contents().find(e)},r.getFrameIndex=function(e){return i("#"+e).parents("."+l[4]).attr("times")},r.iframeAuto=function(e){if(e){var t=r.getChildFrame("html",e).outerHeight(),n=i("#"+l[0]+e),a=n.find(l[1]).outerHeight()||0,o=n.find("."+l[6]).outerHeight()||0;n.css({height:t+a+o}),n.find("iframe").css({height:t})}},r.iframeSrc=function(e,t){i("#"+l[0]+e).find("iframe").attr("src",t)},r.style=function(e,t,n){var a=i("#"+l[0]+e),r=a.find(".layui-layer-content"),s=a.attr("type"),f=a.find(l[1]).outerHeight()||0,c=a.find("."+l[6]).outerHeight()||0;a.attr("minLeft");s!==o.type[3]&&s!==o.type[4]&&(n||(parseFloat(t.width)<=260&&(t.width=260),parseFloat(t.height)-f-c<=64&&(t.height=64+f+c)),a.css(t),c=a.find("."+l[6]).outerHeight(),s===o.type[2]?a.find("iframe").css({height:parseFloat(t.height)-f-c}):r.css({height:parseFloat(t.height)-f-c-parseFloat(r.css("padding-top"))-parseFloat(r.css("padding-bottom"))}))},r.min=function(e,t){var a=i("#"+l[0]+e),s=a.find(l[1]).outerHeight()||0,f=a.attr("minLeft")||181*o.minIndex+"px",c=a.css("position");o.record(a),o.minLeft[0]&&(f=o.minLeft[0],o.minLeft.shift()),a.attr("position",c),r.style(e,{width:180,height:s,left:f,top:n.height()-s,position:"fixed",overflow:"hidden"},!0),a.find(".layui-layer-min").hide(),"page"===a.attr("type")&&a.find(l[4]).hide(),o.rescollbar(e),a.attr("minLeft")||o.minIndex++,a.attr("minLeft",f)},r.restore=function(e){var t=i("#"+l[0]+e),n=t.attr("area").split(",");t.attr("type");r.style(e,{width:parseFloat(n[0]),height:parseFloat(n[1]),top:parseFloat(n[2]),left:parseFloat(n[3]),position:t.attr("position"),overflow:"visible"},!0),t.find(".layui-layer-max").removeClass("layui-layer-maxmin"),t.find(".layui-layer-min").show(),"page"===t.attr("type")&&t.find(l[4]).show(),o.rescollbar(e)},r.full=function(e){var t,a=i("#"+l[0]+e);o.record(a),l.html.attr("layer-full")||l.html.css("overflow","hidden").attr("layer-full",e),clearTimeout(t),t=setTimeout(function(){var t="fixed"===a.css("position");r.style(e,{top:t?0:n.scrollTop(),left:t?0:n.scrollLeft(),width:n.width(),height:n.height()},!0),a.find(".layui-layer-min").hide()},100)},r.title=function(e,t){var n=i("#"+l[0]+(t||r.index)).find(l[1]);n.html(e)},r.close=function(e){var t=i("#"+l[0]+e),n=t.attr("type"),a="layer-anim-close";if(t[0]){var s="layui-layer-wrap",f=function(){if(n===o.type[1]&&"object"===t.attr("conType")){t.children(":not(."+l[5]+")").remove();for(var a=t.find("."+s),r=0;r<2;r++)a.unwrap();a.css("display",a.data("display")).removeClass(s)}else{if(n===o.type[2])try{var f=i("#"+l[4]+e)[0];f.contentWindow.document.write(""),f.contentWindow.close(),t.find("."+l[5])[0].removeChild(f)}catch(c){}t[0].innerHTML="",t.remove()}"function"==typeof o.end[e]&&o.end[e](),delete o.end[e]};t.data("isOutAnim")&&t.addClass(a),i("#layui-layer-moves, #layui-layer-shade"+e).remove(),6==r.ie&&o.reselect(),o.rescollbar(e),t.attr("minLeft")&&(o.minIndex--,o.minLeft.push(t.attr("minLeft"))),r.ie&&r.ie<10||!t.data("isOutAnim")?f():setTimeout(function(){f()},200)}},r.closeAll=function(e){i.each(i("."+l[0]),function(){var t=i(this),n=e?t.attr("type")===e:1;n&&r.close(t.attr("times")),n=null})};var f=r.cache||{},c=function(e){return f.skin?" "+f.skin+" "+f.skin+"-"+e:""};r.prompt=function(e,t){var a="";if(e=e||{},"function"==typeof e&&(t=e),e.area){var o=e.area;a='style="width: '+o[0]+"; height: "+o[1]+';"',delete e.area}var s,l=2==e.formType?'<textarea class="layui-layer-input"'+a+">"+(e.value||"")+"</textarea>":function(){return'<input type="'+(1==e.formType?"password":"text")+'" class="layui-layer-input" value="'+(e.value||"")+'">'}(),f=e.success;return delete e.success,r.open(i.extend({type:1,btn:["&#x786E;&#x5B9A;","&#x53D6;&#x6D88;"],content:l,skin:"layui-layer-prompt"+c("prompt"),maxWidth:n.width(),success:function(e){s=e.find(".layui-layer-input"),s.focus(),"function"==typeof f&&f(e)},resize:!1,yes:function(i){var n=s.val();""===n?s.focus():n.length>(e.maxlength||500)?r.tips("&#x6700;&#x591A;&#x8F93;&#x5165;"+(e.maxlength||500)+"&#x4E2A;&#x5B57;&#x6570;",s,{tips:1}):t&&t(n,i,s)}},e))},r.tab=function(e){e=e||{};var t=e.tab||{},n=e.success;return delete e.success,r.open(i.extend({type:1,skin:"layui-layer-tab"+c("tab"),resize:!1,title:function(){var e=t.length,i=1,n="";if(e>0)for(n='<span class="layui-layer-tabnow">'+t[0].title+"</span>";i<e;i++)n+="<span>"+t[i].title+"</span>";return n}(),content:'<ul class="layui-layer-tabmain">'+function(){var e=t.length,i=1,n="";if(e>0)for(n='<li class="layui-layer-tabli xubox_tab_layer">'+(t[0].content||"no content")+"</li>";i<e;i++)n+='<li class="layui-layer-tabli">'+(t[i].content||"no content")+"</li>";return n}()+"</ul>",success:function(t){var a=t.find(".layui-layer-title").children(),o=t.find(".layui-layer-tabmain").children();a.on("mousedown",function(t){t.stopPropagation?t.stopPropagation():t.cancelBubble=!0;var n=i(this),a=n.index();n.addClass("layui-layer-tabnow").siblings().removeClass("layui-layer-tabnow"),o.eq(a).show().siblings().hide(),"function"==typeof e.change&&e.change(a)}),"function"==typeof n&&n(t)}},e))},r.photos=function(t,n,a){function o(e,t,i){var n=new Image;return n.src=e,n.complete?t(n):(n.onload=function(){n.onload=null,t(n)},void(n.onerror=function(e){n.onerror=null,i(e)}))}var s={};if(t=t||{},t.photos){var l=t.photos.constructor===Object,f=l?t.photos:{},u=f.data||[],d=f.start||0;s.imgIndex=(0|d)+1,t.img=t.img||"img";var y=t.success;if(delete t.success,l){if(0===u.length)return r.msg("&#x6CA1;&#x6709;&#x56FE;&#x7247;")}else{var p=i(t.photos),h=function(){u=[],p.find(t.img).each(function(e){var t=i(this);t.attr("layer-index",e),u.push({alt:t.attr("alt"),pid:t.attr("layer-pid"),src:t.attr("layer-src")||t.attr("src"),thumb:t.attr("src")})})};if(h(),0===u.length)return;if(n||p.on("click",t.img,function(){var e=i(this),n=e.attr("layer-index");r.photos(i.extend(t,{photos:{start:n,data:u,tab:t.tab},full:t.full}),!0),h()}),!n)return}s.imgprev=function(e){s.imgIndex--,s.imgIndex<1&&(s.imgIndex=u.length),s.tabimg(e)},s.imgnext=function(e,t){s.imgIndex++,s.imgIndex>u.length&&(s.imgIndex=1,t)||s.tabimg(e)},s.keyup=function(e){if(!s.end){var t=e.keyCode;e.preventDefault(),37===t?s.imgprev(!0):39===t?s.imgnext(!0):27===t&&r.close(s.index)}},s.tabimg=function(e){if(!(u.length<=1))return f.start=s.imgIndex-1,r.close(s.index),r.photos(t,!0,e)},s.event=function(){s.bigimg.hover(function(){s.imgsee.show()},function(){s.imgsee.hide()}),s.bigimg.find(".layui-layer-imgprev").on("click",function(e){e.preventDefault(),s.imgprev()}),s.bigimg.find(".layui-layer-imgnext").on("click",function(e){e.preventDefault(),s.imgnext()}),i(document).on("keyup",s.keyup)},s.loadi=r.load(1,{shade:!("shade"in t)&&.9,scrollbar:!1}),o(u[d].src,function(n){r.close(s.loadi),s.index=r.open(i.extend({type:1,id:"layui-layer-photos",area:function(){var a=[n.width,n.height],o=[i(e).width()-100,i(e).height()-100];if(!t.full&&(a[0]>o[0]||a[1]>o[1])){var r=[a[0]/o[0],a[1]/o[1]];r[0]>r[1]?(a[0]=a[0]/r[0],a[1]=a[1]/r[0]):r[0]<r[1]&&(a[0]=a[0]/r[1],a[1]=a[1]/r[1])}return[a[0]+"px",a[1]+"px"]}(),title:!1,shade:.9,shadeClose:!0,closeBtn:!1,move:".layui-layer-phimg img",moveType:1,scrollbar:!1,moveOut:!0,isOutAnim:!1,skin:"layui-layer-photos"+c("photos"),content:'<div class="layui-layer-phimg"><img src="'+u[d].src+'" alt="'+(u[d].alt||"")+'" layer-pid="'+u[d].pid+'"><div class="layui-layer-imgsee">'+(u.length>1?'<span class="layui-layer-imguide"><a href="javascript:;" class="layui-layer-iconext layui-layer-imgprev"></a><a href="javascript:;" class="layui-layer-iconext layui-layer-imgnext"></a></span>':"")+'<div class="layui-layer-imgbar" style="display:'+(a?"block":"")+'"><span class="layui-layer-imgtit"><a href="javascript:;">'+(u[d].alt||"")+"</a><em>"+s.imgIndex+"/"+u.length+"</em></span></div></div></div>",success:function(e,i){s.bigimg=e.find(".layui-layer-phimg"),s.imgsee=e.find(".layui-layer-imguide,.layui-layer-imgbar"),s.event(e),t.tab&&t.tab(u[d],e),"function"==typeof y&&y(e)},end:function(){s.end=!0,i(document).off("keyup",s.keyup)}},t))},function(){r.close(s.loadi),r.msg("&#x5F53;&#x524D;&#x56FE;&#x7247;&#x5730;&#x5740;&#x5F02;&#x5E38;<br>&#x662F;&#x5426;&#x7EE7;&#x7EED;&#x67E5;&#x770B;&#x4E0B;&#x4E00;&#x5F20;&#xFF1F;",{time:3e4,btn:["&#x4E0B;&#x4E00;&#x5F20;","&#x4E0D;&#x770B;&#x4E86;"],yes:function(){u.length>1&&s.imgnext(!0,!0)}})})}},o.run=function(t){i=t,n=i(e),l.html=i("html"),r.open=function(e){var t=new s(e);return t.index}},e.layui&&layui.define?(r.ready(),layui.define("jquery",function(t){r.path=layui.cache.dir,o.run(layui.jquery),e.layer=r,t("layer",r)})):"function"==typeof define&&define.amd?define(["jquery"],function(){return o.run(e.jQuery),r}):function(){o.run(e.jQuery),r.ready()}()}(window);
\ No newline at end of file
/*! layer mobile-v2.0.0 Web弹层组件 MIT License http://layer.layui.com/mobile By 贤心 */
;!function(e){"use strict";var t=document,n="querySelectorAll",i="getElementsByClassName",a=function(e){return t[n](e)},s={type:0,shade:!0,shadeClose:!0,fixed:!0,anim:"scale"},l={extend:function(e){var t=JSON.parse(JSON.stringify(s));for(var n in e)t[n]=e[n];return t},timer:{},end:{}};l.touch=function(e,t){e.addEventListener("click",function(e){t.call(this,e)},!1)};var r=0,o=["layui-m-layer"],c=function(e){var t=this;t.config=l.extend(e),t.view()};c.prototype.view=function(){var e=this,n=e.config,s=t.createElement("div");e.id=s.id=o[0]+r,s.setAttribute("class",o[0]+" "+o[0]+(n.type||0)),s.setAttribute("index",r);var l=function(){var e="object"==typeof n.title;return n.title?'<h3 style="'+(e?n.title[1]:"")+'">'+(e?n.title[0]:n.title)+"</h3>":""}(),c=function(){"string"==typeof n.btn&&(n.btn=[n.btn]);var e,t=(n.btn||[]).length;return 0!==t&&n.btn?(e='<span yes type="1">'+n.btn[0]+"</span>",2===t&&(e='<span no type="0">'+n.btn[1]+"</span>"+e),'<div class="layui-m-layerbtn">'+e+"</div>"):""}();if(n.fixed||(n.top=n.hasOwnProperty("top")?n.top:100,n.style=n.style||"",n.style+=" top:"+(t.body.scrollTop+n.top)+"px"),2===n.type&&(n.content='<i></i><i class="layui-m-layerload"></i><i></i><p>'+(n.content||"")+"</p>"),n.skin&&(n.anim="up"),"msg"===n.skin&&(n.shade=!1),s.innerHTML=(n.shade?"<div "+("string"==typeof n.shade?'style="'+n.shade+'"':"")+' class="layui-m-layershade"></div>':"")+'<div class="layui-m-layermain" '+(n.fixed?"":'style="position:static;"')+'><div class="layui-m-layersection"><div class="layui-m-layerchild '+(n.skin?"layui-m-layer-"+n.skin+" ":"")+(n.className?n.className:"")+" "+(n.anim?"layui-m-anim-"+n.anim:"")+'" '+(n.style?'style="'+n.style+'"':"")+">"+l+'<div class="layui-m-layercont">'+n.content+"</div>"+c+"</div></div></div>",!n.type||2===n.type){var d=t[i](o[0]+n.type),y=d.length;y>=1&&layer.close(d[0].getAttribute("index"))}document.body.appendChild(s);var u=e.elem=a("#"+e.id)[0];n.success&&n.success(u),e.index=r++,e.action(n,u)},c.prototype.action=function(e,t){var n=this;e.time&&(l.timer[n.index]=setTimeout(function(){layer.close(n.index)},1e3*e.time));var a=function(){var t=this.getAttribute("type");0==t?(e.no&&e.no(),layer.close(n.index)):e.yes?e.yes(n.index):layer.close(n.index)};if(e.btn)for(var s=t[i]("layui-m-layerbtn")[0].children,r=s.length,o=0;o<r;o++)l.touch(s[o],a);if(e.shade&&e.shadeClose){var c=t[i]("layui-m-layershade")[0];l.touch(c,function(){layer.close(n.index,e.end)})}e.end&&(l.end[n.index]=e.end)},e.layer={v:"2.0",index:r,open:function(e){var t=new c(e||{});return t.index},close:function(e){var n=a("#"+o[0]+e)[0];n&&(n.innerHTML="",t.body.removeChild(n),clearTimeout(l.timer[e]),delete l.timer[e],"function"==typeof l.end[e]&&l.end[e](),delete l.end[e])},closeAll:function(){for(var e=t[i](o[0]),n=0,a=e.length;n<a;n++)layer.close(0|e[0].getAttribute("index"))}},"function"==typeof define?define(function(){return layer}):function(){var e=document.scripts,n=e[e.length-1],i=n.src,a=i.substring(0,i.lastIndexOf("/")+1);n.getAttribute("merge")||document.head.appendChild(function(){var e=t.createElement("link");return e.href=a+"need/layer.css?2.0",e.type="text/css",e.rel="styleSheet",e.id="layermcss",e}())}()}(window);
\ No newline at end of file
.layui-m-layer{position:relative;z-index:19891014}.layui-m-layer *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.layui-m-layermain,.layui-m-layershade{position:fixed;left:0;top:0;width:100%;height:100%}.layui-m-layershade{background-color:rgba(0,0,0,.7);pointer-events:auto}.layui-m-layermain{display:table;font-family:Helvetica,arial,sans-serif;pointer-events:none}.layui-m-layermain .layui-m-layersection{display:table-cell;vertical-align:middle;text-align:center}.layui-m-layerchild{position:relative;display:inline-block;text-align:left;background-color:#fff;font-size:14px;border-radius:5px;box-shadow:0 0 8px rgba(0,0,0,.1);pointer-events:auto;-webkit-overflow-scrolling:touch;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.2s;animation-duration:.2s}@-webkit-keyframes layui-m-anim-scale{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes layui-m-anim-scale{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.layui-m-anim-scale{animation-name:layui-m-anim-scale;-webkit-animation-name:layui-m-anim-scale}@-webkit-keyframes layui-m-anim-up{0%{opacity:0;-webkit-transform:translateY(800px);transform:translateY(800px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes layui-m-anim-up{0%{opacity:0;-webkit-transform:translateY(800px);transform:translateY(800px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.layui-m-anim-up{-webkit-animation-name:layui-m-anim-up;animation-name:layui-m-anim-up}.layui-m-layer0 .layui-m-layerchild{width:90%;max-width:640px}.layui-m-layer1 .layui-m-layerchild{border:none;border-radius:0}.layui-m-layer2 .layui-m-layerchild{width:auto;max-width:260px;min-width:40px;border:none;background:0 0;box-shadow:none;color:#fff}.layui-m-layerchild h3{padding:0 10px;height:60px;line-height:60px;font-size:16px;font-weight:400;border-radius:5px 5px 0 0;text-align:center}.layui-m-layerbtn span,.layui-m-layerchild h3{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layui-m-layercont{padding:50px 30px;line-height:22px;text-align:center}.layui-m-layer1 .layui-m-layercont{padding:0;text-align:left}.layui-m-layer2 .layui-m-layercont{text-align:center;padding:0;line-height:0}.layui-m-layer2 .layui-m-layercont i{width:25px;height:25px;margin-left:8px;display:inline-block;background-color:#fff;border-radius:100%;-webkit-animation:layui-m-anim-loading 1.4s infinite ease-in-out;animation:layui-m-anim-loading 1.4s infinite ease-in-out;-webkit-animation-fill-mode:both;animation-fill-mode:both}.layui-m-layerbtn,.layui-m-layerbtn span{position:relative;text-align:center;border-radius:0 0 5px 5px}.layui-m-layer2 .layui-m-layercont p{margin-top:20px}@-webkit-keyframes layui-m-anim-loading{0%,100%,80%{transform:scale(0);-webkit-transform:scale(0)}40%{transform:scale(1);-webkit-transform:scale(1)}}@keyframes layui-m-anim-loading{0%,100%,80%{transform:scale(0);-webkit-transform:scale(0)}40%{transform:scale(1);-webkit-transform:scale(1)}}.layui-m-layer2 .layui-m-layercont i:first-child{margin-left:0;-webkit-animation-delay:-.32s;animation-delay:-.32s}.layui-m-layer2 .layui-m-layercont i.layui-m-layerload{-webkit-animation-delay:-.16s;animation-delay:-.16s}.layui-m-layer2 .layui-m-layercont>div{line-height:22px;padding-top:7px;margin-bottom:20px;font-size:14px}.layui-m-layerbtn{display:box;display:-moz-box;display:-webkit-box;width:100%;height:50px;line-height:50px;font-size:0;border-top:1px solid #D0D0D0;background-color:#F2F2F2}.layui-m-layerbtn span{display:block;-moz-box-flex:1;box-flex:1;-webkit-box-flex:1;font-size:14px;cursor:pointer}.layui-m-layerbtn span[yes]{color:#40AFFE}.layui-m-layerbtn span[no]{border-right:1px solid #D0D0D0;border-radius:0 0 0 5px}.layui-m-layerbtn span:active{background-color:#F6F6F6}.layui-m-layerend{position:absolute;right:7px;top:10px;width:30px;height:30px;border:0;font-weight:400;background:0 0;cursor:pointer;-webkit-appearance:none;font-size:30px}.layui-m-layerend::after,.layui-m-layerend::before{position:absolute;left:5px;top:15px;content:'';width:18px;height:1px;background-color:#999;transform:rotate(45deg);-webkit-transform:rotate(45deg);border-radius:3px}.layui-m-layerend::after{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}body .layui-m-layer .layui-m-layer-footer{position:fixed;width:95%;max-width:100%;margin:0 auto;left:0;right:0;bottom:10px;background:0 0}.layui-m-layer-footer .layui-m-layercont{padding:20px;border-radius:5px 5px 0 0;background-color:rgba(255,255,255,.8)}.layui-m-layer-footer .layui-m-layerbtn{display:block;height:auto;background:0 0;border-top:none}.layui-m-layer-footer .layui-m-layerbtn span{background-color:rgba(255,255,255,.8)}.layui-m-layer-footer .layui-m-layerbtn span[no]{color:#FD482C;border-top:1px solid #c2c2c2;border-radius:0 0 5px 5px}.layui-m-layer-footer .layui-m-layerbtn span[yes]{margin-top:10px;border-radius:5px}body .layui-m-layer .layui-m-layer-msg{width:auto;max-width:90%;margin:0 auto;bottom:-150px;background-color:rgba(0,0,0,.7);color:#fff}.layui-m-layer-msg .layui-m-layercont{padding:10px 20px}
\ No newline at end of file
.layui-layer-imgbar,.layui-layer-imgtit a,.layui-layer-tab .layui-layer-title span,.layui-layer-title{text-overflow:ellipsis;white-space:nowrap}*html{background-image:url(about:blank);background-attachment:fixed}html #layuicss-skinlayercss{display:none;position:absolute;width:1989px}.layui-layer,.layui-layer-shade{position:fixed;_position:absolute;pointer-events:auto}.layui-layer-shade{top:0;left:0;width:100%;height:100%;_height:expression(document.body.offsetHeight+"px")}.layui-layer{-webkit-overflow-scrolling:touch;top:150px;left:0;margin:0;padding:0;background-color:#fff;-webkit-background-clip:content;box-shadow:1px 1px 50px rgba(0,0,0,.3)}.layui-layer-close{position:absolute}.layui-layer-content{position:relative}.layui-layer-border{border:1px solid #B2B2B2;border:1px solid rgba(0,0,0,.1);box-shadow:1px 1px 5px rgba(0,0,0,.2)}.layui-layer-load{background:url(loading-1.gif) center center no-repeat #eee}.layui-layer-ico{background:url(icon.png) no-repeat}.layui-layer-btn a,.layui-layer-dialog .layui-layer-ico,.layui-layer-setwin a{display:inline-block;*display:inline;*zoom:1;vertical-align:top}.layui-layer-move{display:none;position:fixed;*position:absolute;left:0;top:0;width:100%;height:100%;cursor:move;opacity:0;filter:alpha(opacity=0);background-color:#fff;z-index:2147483647}.layui-layer-resize{position:absolute;width:15px;height:15px;right:0;bottom:0;cursor:se-resize}.layui-layer{border-radius:2px;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.3s;animation-duration:.3s}@-webkit-keyframes layer-bounceIn{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes layer-bounceIn{0%{opacity:0;-webkit-transform:scale(.5);-ms-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.layer-anim{-webkit-animation-name:layer-bounceIn;animation-name:layer-bounceIn}@-webkit-keyframes layer-zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes layer-zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);-ms-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);-ms-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.layer-anim-01{-webkit-animation-name:layer-zoomInDown;animation-name:layer-zoomInDown}@-webkit-keyframes layer-fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes layer-fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.layer-anim-02{-webkit-animation-name:layer-fadeInUpBig;animation-name:layer-fadeInUpBig}@-webkit-keyframes layer-zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);transform:scale(.475) translateX(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes layer-zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);-ms-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);-ms-transform:scale(.475) translateX(48px);transform:scale(.475) translateX(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.layer-anim-03{-webkit-animation-name:layer-zoomInLeft;animation-name:layer-zoomInLeft}@-webkit-keyframes layer-rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0) rotate(0);transform:translateX(0) rotate(0)}}@keyframes layer-rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);-ms-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0) rotate(0);-ms-transform:translateX(0) rotate(0);transform:translateX(0) rotate(0)}}.layer-anim-04{-webkit-animation-name:layer-rollIn;animation-name:layer-rollIn}@keyframes layer-fadeIn{0%{opacity:0}100%{opacity:1}}.layer-anim-05{-webkit-animation-name:layer-fadeIn;animation-name:layer-fadeIn}@-webkit-keyframes layer-shake{0%,100%{-webkit-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);transform:translateX(10px)}}@keyframes layer-shake{0%,100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);-ms-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);-ms-transform:translateX(10px);transform:translateX(10px)}}.layer-anim-06{-webkit-animation-name:layer-shake;animation-name:layer-shake}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.layui-layer-title{padding:0 80px 0 20px;height:42px;line-height:42px;border-bottom:1px solid #eee;font-size:14px;color:#333;overflow:hidden;background-color:#F8F8F8;border-radius:2px 2px 0 0}.layui-layer-setwin{position:absolute;right:15px;*right:0;top:15px;font-size:0;line-height:initial}.layui-layer-setwin a{position:relative;width:16px;height:16px;margin-left:10px;font-size:12px;_overflow:hidden}.layui-layer-setwin .layui-layer-min cite{position:absolute;width:14px;height:2px;left:0;top:50%;margin-top:-1px;background-color:#2E2D3C;cursor:pointer;_overflow:hidden}.layui-layer-setwin .layui-layer-min:hover cite{background-color:#2D93CA}.layui-layer-setwin .layui-layer-max{background-position:-32px -40px}.layui-layer-setwin .layui-layer-max:hover{background-position:-16px -40px}.layui-layer-setwin .layui-layer-maxmin{background-position:-65px -40px}.layui-layer-setwin .layui-layer-maxmin:hover{background-position:-49px -40px}.layui-layer-setwin .layui-layer-close1{background-position:1px -40px;cursor:pointer}.layui-layer-setwin .layui-layer-close1:hover{opacity:.7}.layui-layer-setwin .layui-layer-close2{position:absolute;right:-28px;top:-28px;width:30px;height:30px;margin-left:0;background-position:-149px -31px;*right:-18px;_display:none}.layui-layer-setwin .layui-layer-close2:hover{background-position:-180px -31px}.layui-layer-btn{text-align:right;padding:0 10px 12px;pointer-events:auto;user-select:none;-webkit-user-select:none}.layui-layer-btn a{height:28px;line-height:28px;margin:6px 6px 0;padding:0 15px;border:1px solid #dedede;background-color:#f1f1f1;color:#333;border-radius:2px;font-weight:400;cursor:pointer;text-decoration:none}.layui-layer-btn a:hover{opacity:.9;text-decoration:none}.layui-layer-btn a:active{opacity:.8}.layui-layer-btn .layui-layer-btn0{border-color:#4898d5;background-color:#2e8ded;color:#fff}.layui-layer-btn-l{text-align:left}.layui-layer-btn-c{text-align:center}.layui-layer-dialog{min-width:260px}.layui-layer-dialog .layui-layer-content{position:relative;padding:20px;line-height:24px;word-break:break-all;overflow:hidden;font-size:14px;overflow-x:hidden;overflow-y:auto}.layui-layer-dialog .layui-layer-content .layui-layer-ico{position:absolute;top:16px;left:15px;_left:-40px;width:30px;height:30px}.layui-layer-ico1{background-position:-30px 0}.layui-layer-ico2{background-position:-60px 0}.layui-layer-ico3{background-position:-90px 0}.layui-layer-ico4{background-position:-120px 0}.layui-layer-ico5{background-position:-150px 0}.layui-layer-ico6{background-position:-180px 0}.layui-layer-rim{border:6px solid #8D8D8D;border:6px solid rgba(0,0,0,.3);border-radius:5px;box-shadow:none}.layui-layer-msg{min-width:180px;border:1px solid #D3D4D3;box-shadow:none}.layui-layer-hui{min-width:100px;background-color:#000;filter:alpha(opacity=60);background-color:rgba(0,0,0,.6);color:#fff;border:none}.layui-layer-hui .layui-layer-content{padding:12px 25px;text-align:center}.layui-layer-dialog .layui-layer-padding{padding:20px 20px 20px 55px;text-align:left}.layui-layer-page .layui-layer-content{position:relative;overflow:auto}.layui-layer-iframe .layui-layer-btn,.layui-layer-page .layui-layer-btn{padding-top:10px}.layui-layer-nobg{background:0 0}.layui-layer-iframe iframe{display:block;width:100%}.layui-layer-loading{border-radius:100%;background:0 0;box-shadow:none;border:none}.layui-layer-loading .layui-layer-content{width:60px;height:24px;background:url(loading-0.gif) no-repeat}.layui-layer-loading .layui-layer-loading1{width:37px;height:37px;background:url(loading-1.gif) no-repeat}.layui-layer-ico16,.layui-layer-loading .layui-layer-loading2{width:32px;height:32px;background:url(loading-2.gif) no-repeat}.layui-layer-tips{background:0 0;box-shadow:none;border:none}.layui-layer-tips .layui-layer-content{position:relative;line-height:22px;min-width:12px;padding:5px 10px;font-size:12px;_float:left;border-radius:2px;box-shadow:1px 1px 3px rgba(0,0,0,.2);background-color:#000;color:#fff}.layui-layer-tips .layui-layer-close{right:-2px;top:-1px}.layui-layer-tips i.layui-layer-TipsG{position:absolute;width:0;height:0;border-width:8px;border-color:transparent;border-style:dashed;*overflow:hidden}.layui-layer-tips i.layui-layer-TipsB,.layui-layer-tips i.layui-layer-TipsT{left:5px;border-right-style:solid;border-right-color:#000}.layui-layer-tips i.layui-layer-TipsT{bottom:-8px}.layui-layer-tips i.layui-layer-TipsB{top:-8px}.layui-layer-tips i.layui-layer-TipsL,.layui-layer-tips i.layui-layer-TipsR{top:1px;border-bottom-style:solid;border-bottom-color:#000}.layui-layer-tips i.layui-layer-TipsR{left:-8px}.layui-layer-tips i.layui-layer-TipsL{right:-8px}.layui-layer-lan[type=dialog]{min-width:280px}.layui-layer-lan .layui-layer-title{background:#4476A7;color:#fff;border:none}.layui-layer-lan .layui-layer-btn{padding:5px 10px 10px;text-align:right;border-top:1px solid #E9E7E7}.layui-layer-lan .layui-layer-btn a{background:#BBB5B5;border:none}.layui-layer-lan .layui-layer-btn .layui-layer-btn1{background:#C9C5C5}.layui-layer-molv .layui-layer-title{background:#009f95;color:#fff;border:none}.layui-layer-molv .layui-layer-btn a{background:#009f95}.layui-layer-molv .layui-layer-btn .layui-layer-btn1{background:#92B8B1}.layui-layer-iconext{background:url(icon-ext.png) no-repeat}.layui-layer-prompt .layui-layer-input{display:block;width:220px;height:30px;margin:0 auto;line-height:30px;padding:0 5px;border:1px solid #ccc;box-shadow:1px 1px 5px rgba(0,0,0,.1) inset;color:#333}.layui-layer-prompt textarea.layui-layer-input{width:300px;height:100px;line-height:20px}.layui-layer-prompt .layui-layer-content{padding:20px}.layui-layer-prompt .layui-layer-btn{padding-top:0}.layui-layer-tab{box-shadow:1px 1px 50px rgba(0,0,0,.4)}.layui-layer-tab .layui-layer-title{padding-left:0;border-bottom:1px solid #ccc;background-color:#eee;overflow:visible}.layui-layer-tab .layui-layer-title span{position:relative;float:left;min-width:80px;max-width:260px;padding:0 20px;text-align:center;cursor:default;overflow:hidden}.layui-layer-tab .layui-layer-title span.layui-layer-tabnow{height:43px;border-left:1px solid #ccc;border-right:1px solid #ccc;background-color:#fff;z-index:10}.layui-layer-tab .layui-layer-title span:first-child{border-left:none}.layui-layer-tabmain{line-height:24px;clear:both}.layui-layer-tabmain .layui-layer-tabli{display:none}.layui-layer-tabmain .layui-layer-tabli.xubox_tab_layer{display:block}.xubox_tabclose{position:absolute;right:10px;top:5px;cursor:pointer}.layui-layer-photos{-webkit-animation-duration:.8s;animation-duration:.8s}.layui-layer-photos .layui-layer-content{overflow:hidden;text-align:center}.layui-layer-photos .layui-layer-phimg img{position:relative;width:100%;display:inline-block;*display:inline;*zoom:1;vertical-align:top}.layui-layer-imgbar,.layui-layer-imguide{display:none}.layui-layer-imgnext,.layui-layer-imgprev{position:absolute;top:50%;width:27px;_width:44px;height:44px;margin-top:-22px;outline:0;blr:expression(this.onFocus=this.blur())}.layui-layer-imgprev{left:10px;background-position:-5px -5px;_background-position:-70px -5px}.layui-layer-imgprev:hover{background-position:-33px -5px;_background-position:-120px -5px}.layui-layer-imgnext{right:10px;_right:8px;background-position:-5px -50px;_background-position:-70px -50px}.layui-layer-imgnext:hover{background-position:-33px -50px;_background-position:-120px -50px}.layui-layer-imgbar{position:absolute;left:0;bottom:0;width:100%;height:32px;line-height:32px;background-color:rgba(0,0,0,.8);background-color:#000\9;filter:Alpha(opacity=80);color:#fff;overflow:hidden;font-size:0}.layui-layer-imgtit *{display:inline-block;*display:inline;*zoom:1;vertical-align:top;font-size:12px}.layui-layer-imgtit a{max-width:65%;overflow:hidden;color:#fff}.layui-layer-imgtit a:hover{color:#fff;text-decoration:underline}.layui-layer-imgtit em{padding-left:10px;font-style:normal}@-webkit-keyframes layer-bounceOut{100%{opacity:0;-webkit-transform:scale(.7);transform:scale(.7)}30%{-webkit-transform:scale(1.05);transform:scale(1.05)}0%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes layer-bounceOut{100%{opacity:0;-webkit-transform:scale(.7);-ms-transform:scale(.7);transform:scale(.7)}30%{-webkit-transform:scale(1.05);-ms-transform:scale(1.05);transform:scale(1.05)}0%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.layer-anim-close{-webkit-animation-name:layer-bounceOut;animation-name:layer-bounceOut;-webkit-animation-duration:.2s;animation-duration:.2s}@media screen and (max-width:1100px){.layui-layer-iframe{overflow-y:auto;-webkit-overflow-scrolling:touch}}
\ No newline at end of file
/*! @Name: layer's style @Author: 鐠愩倕绺�@Blog閿涳拷sentsin.com*/
*html {
background-image:url(about:blank);
background-attachment:fixed }
html #layui_layer_skinlayercss {
display:none;
position:absolute;
width:1989px
}
.layui-layer,.layui-layer-shade {
position:fixed;
_position:absolute;
pointer-events:auto
}
.layui-layer-shade {
top:0;
left:0;
width:100%;
height:100%;
_height:expression(document.body.offsetHeight+"px")
}
.layui-layer {
top:150px;
left:50%;
margin:0;
padding:0;
background-color:#fff;
-webkit-background-clip:content;
box-shadow:1px 1px 50px rgba(0,0,0,.3);
border-radius:2px;
-webkit-animation-fill-mode:both;
animation-fill-mode:both;
-webkit-animation-duration:.3s;
animation-duration:.3s
}
.layui-layer-close {
position:absolute
}
.layui-layer-content {
position:relative
}
.layui-layer-border {
border:1px solid #B2B2B2;
border:1px solid rgba(0,0,0,.3);
box-shadow:1px 1px 5px rgba(0,0,0,.2)
}
.layui-layer-moves {
position:absolute;
border:3px solid #666;
border:3px solid rgba(0,0,0,.5);
cursor:move;
background-color:#fff;
background-color:rgba(255,255,255,.3);
filter:alpha(opacity=50)
}
.layui-layer-load {
background:url(default/loading-0.gif) center center no-repeat #fff
}
.layui-layer-ico {
background:url(default/icon.png) no-repeat
}
.layui-layer-btn a,.layui-layer-dialog .layui-layer-ico,.layui-layer-setwin a {
display:inline-block;
*display:inline;
*zoom:1;
vertical-align:top
}
@-webkit-keyframes bounceIn {
0% {
opacity:0;
-webkit-transform:scale(.5);
transform:scale(.5)
}
100% {
opacity:1;
-webkit-transform:scale(1);
transform:scale(1)
}
}@keyframes bounceIn {
0% {
opacity:0;
-webkit-transform:scale(.5);
-ms-transform:scale(.5);
transform:scale(.5)
}
100% {
opacity:1;
-webkit-transform:scale(1);
-ms-transform:scale(1);
transform:scale(1)
}
}.layui-anim {
-webkit-animation-name:bounceIn;
animation-name:bounceIn
}
@-webkit-keyframes bounceOut {
100% {
opacity:0;
-webkit-transform:scale(.7);
transform:scale(.7)
}
30% {
-webkit-transform:scale(1.03);
transform:scale(1.03)
}
0% {
-webkit-transform:scale(1);
transform:scale(1)
}
}@keyframes bounceOut {
100% {
opacity:0;
-webkit-transform:scale(.7);
-ms-transform:scale(.7);
transform:scale(.7)
}
30% {
-webkit-transform:scale(1.03);
-ms-transform:scale(1.03);
transform:scale(1.03)
}
0% {
-webkit-transform:scale(1);
-ms-transform:scale(1);
transform:scale(1)
}
}.layui-anim-close {
-webkit-animation-name:bounceOut;
animation-name:bounceOut;
-webkit-animation-duration:.2s;
animation-duration:.2s
}
@-webkit-keyframes zoomInDown {
0% {
opacity:0;
-webkit-transform:scale(.1) translateY(-2000px);
transform:scale(.1) translateY(-2000px);
-webkit-animation-timing-function:ease-in-out;
animation-timing-function:ease-in-out
}
60% {
opacity:1;
-webkit-transform:scale(.475) translateY(60px);
transform:scale(.475) translateY(60px);
-webkit-animation-timing-function:ease-out;
animation-timing-function:ease-out
}
}@keyframes zoomInDown {
0% {
opacity:0;
-webkit-transform:scale(.1) translateY(-2000px);
-ms-transform:scale(.1) translateY(-2000px);
transform:scale(.1) translateY(-2000px);
-webkit-animation-timing-function:ease-in-out;
animation-timing-function:ease-in-out
}
60% {
opacity:1;
-webkit-transform:scale(.475) translateY(60px);
-ms-transform:scale(.475) translateY(60px);
transform:scale(.475) translateY(60px);
-webkit-animation-timing-function:ease-out;
animation-timing-function:ease-out
}
}.layui-anim-01 {
-webkit-animation-name:zoomInDown;
animation-name:zoomInDown
}
@-webkit-keyframes fadeInUpBig {
0% {
opacity:0;
-webkit-transform:translateY(2000px);
transform:translateY(2000px)
}
100% {
opacity:1;
-webkit-transform:translateY(0);
transform:translateY(0)
}
}@keyframes fadeInUpBig {
0% {
opacity:0;
-webkit-transform:translateY(2000px);
-ms-transform:translateY(2000px);
transform:translateY(2000px)
}
100% {
opacity:1;
-webkit-transform:translateY(0);
-ms-transform:translateY(0);
transform:translateY(0)
}
}.layui-anim-02 {
-webkit-animation-name:fadeInUpBig;
animation-name:fadeInUpBig
}
@-webkit-keyframes zoomInLeft {
0% {
opacity:0;
-webkit-transform:scale(.1) translateX(-2000px);
transform:scale(.1) translateX(-2000px);
-webkit-animation-timing-function:ease-in-out;
animation-timing-function:ease-in-out
}
60% {
opacity:1;
-webkit-transform:scale(.475) translateX(48px);
transform:scale(.475) translateX(48px);
-webkit-animation-timing-function:ease-out;
animation-timing-function:ease-out
}
}@keyframes zoomInLeft {
0% {
opacity:0;
-webkit-transform:scale(.1) translateX(-2000px);
-ms-transform:scale(.1) translateX(-2000px);
transform:scale(.1) translateX(-2000px);
-webkit-animation-timing-function:ease-in-out;
animation-timing-function:ease-in-out
}
60% {
opacity:1;
-webkit-transform:scale(.475) translateX(48px);
-ms-transform:scale(.475) translateX(48px);
transform:scale(.475) translateX(48px);
-webkit-animation-timing-function:ease-out;
animation-timing-function:ease-out
}
}.layui-anim-03 {
-webkit-animation-name:zoomInLeft;
animation-name:zoomInLeft
}
@-webkit-keyframes rollIn {
0% {
opacity:0;
-webkit-transform:translateX(-100%) rotate(-120deg);
transform:translateX(-100%) rotate(-120deg)
}
100% {
opacity:1;
-webkit-transform:translateX(0) rotate(0);
transform:translateX(0) rotate(0)
}
}@keyframes rollIn {
0% {
opacity:0;
-webkit-transform:translateX(-100%) rotate(-120deg);
-ms-transform:translateX(-100%) rotate(-120deg);
transform:translateX(-100%) rotate(-120deg)
}
100% {
opacity:1;
-webkit-transform:translateX(0) rotate(0);
-ms-transform:translateX(0) rotate(0);
transform:translateX(0) rotate(0)
}
}.layui-anim-04 {
-webkit-animation-name:rollIn;
animation-name:rollIn
}
@keyframes fadeIn {
0% {
opacity:0
}
100% {
opacity:1
}
}.layui-anim-05 {
-webkit-animation-name:fadeIn;
animation-name:fadeIn
}
@-webkit-keyframes shake {
0%,100% {
-webkit-transform:translateX(0);
transform:translateX(0)
}
10%,30%,50%,70%,90% {
-webkit-transform:translateX(-10px);
transform:translateX(-10px)
}
20%,40%,60%,80% {
-webkit-transform:translateX(10px);
transform:translateX(10px)
}
}@keyframes shake {
0%,100% {
-webkit-transform:translateX(0);
-ms-transform:translateX(0);
transform:translateX(0)
}
10%,30%,50%,70%,90% {
-webkit-transform:translateX(-10px);
-ms-transform:translateX(-10px);
transform:translateX(-10px)
}
20%,40%,60%,80% {
-webkit-transform:translateX(10px);
-ms-transform:translateX(10px);
transform:translateX(10px)
}
}.layui-anim-06 {
-webkit-animation-name:shake;
animation-name:shake
}
@-webkit-keyframes fadeIn {
0% {
opacity:0
}
100% {
opacity:1
}
}.layui-layer-title {
padding:0 80px 0 20px;
height:42px;
line-height:42px;
border-bottom:1px solid #eee;
font-size:14px;
color:#333;
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
background-color:#F8F8F8;
border-radius:2px 2px 0 0
}
.layui-layer-setwin {
position:absolute;
right:15px;
*right:0;
top:15px;
font-size:0;
line-height:initial
}
.layui-layer-setwin a {
position:relative;
width:16px;
height:16px;
margin-left:10px;
font-size:12px;
_overflow:hidden
}
.layui-layer-setwin .layui-layer-min cite {
position:absolute;
width:14px;
height:2px;
left:0;
top:50%;
margin-top:-1px;
background-color:#2E2D3C;
cursor:pointer;
_overflow:hidden
}
.layui-layer-setwin .layui-layer-min:hover cite {
background-color:#2D93CA
}
.layui-layer-setwin .layui-layer-max {
background-position:-32px -40px
}
.layui-layer-setwin .layui-layer-max:hover {
background-position:-16px -40px
}
.layui-layer-setwin .layui-layer-maxmin {
background-position:-65px -40px
}
.layui-layer-setwin .layui-layer-maxmin:hover {
background-position:-49px -40px
}
.layui-layer-setwin .layui-layer-close1 {
background-position:0 -40px;
cursor:pointer
}
.layui-layer-setwin .layui-layer-close1:hover {
opacity:.7
}
.layui-layer-setwin .layui-layer-close2 {
position:absolute;
right:-28px;
top:-28px;
width:30px;
height:30px;
margin-left:0;
background-position:-149px -31px;
*right:-18px;
_display:none
}
.layui-layer-setwin .layui-layer-close2:hover {
background-position:-180px -31px
}
.layui-layer-btn {
text-align:right;
padding:0 10px 12px;
pointer-events:auto
}
.layui-layer-btn a {
height:28px;
line-height:28px;
margin:0 6px;
padding:0 15px;
border:1px solid #dedede;
background-color:#f1f1f1;
color:#333;
border-radius:2px;
font-weight:400;
cursor:pointer;
text-decoration:none
}
.layui-layer-btn a:hover {
opacity:.9;
text-decoration:none
}
.layui-layer-btn a:active {
opacity:.7
}
.layui-layer-btn .layui-layer-btn0 {
border-color:#4898d5;
background-color:#2e8ded;
color:#fff
}
.layui-layer-dialog {
min-width:260px
}
.layui-layer-dialog .layui-layer-content {
position:relative;
padding:20px;
line-height:24px;
word-break:break-all;
font-size:14px;
overflow:auto
}
.layui-layer-dialog .layui-layer-content .layui-layer-ico {
position:absolute;
top:16px;
left:15px;
_left:-40px;
width:30px;
height:30px
}
.layui-layer-ico1 {
background-position:-30px 0
}
.layui-layer-ico2 {
background-position:-60px 0
}
.layui-layer-ico3 {
background-position:-90px 0
}
.layui-layer-ico4 {
background-position:-120px 0
}
.layui-layer-ico5 {
background-position:-150px 0
}
.layui-layer-ico6 {
background-position:-180px 0
}
.layui-layer-rim {
border:6px solid #8D8D8D;
border:6px solid rgba(0,0,0,.3);
border-radius:5px;
box-shadow:none
}
.layui-layer-msg {
min-width:180px;
border:1px solid #D3D4D3;
box-shadow:none
}
.layui-layer-hui {
min-width:100px;
background-color:#000;
filter:alpha(opacity=60);
background-color:rgba(0,0,0,.6);
color:#fff;
border:none
}
.layui-layer-hui .layui-layer-content {
padding:12px 25px;
text-align:center
}
.layui-layer-dialog .layui-layer-padding {
padding:20px 20px 20px 55px;
text-align:left
}
.layui-layer-page .layui-layer-content {
position:relative;
overflow:auto
}
.layui-layer-iframe .layui-layer-btn,.layui-layer-page .layui-layer-btn {
padding-top:10px
}
.layui-layer-nobg {
background:0 0
}
.layui-layer-iframe .layui-layer-content {
overflow:hidden
}
.layui-layer-iframe iframe {
display:block;
width:100%
}
.layui-layer-loading {
border-radius:100%;
background:0 0;
box-shadow:none;
border:none
}
.layui-layer-loading .layui-layer-content {
width:60px;
height:24px;
background:url(default/loading-0.gif) no-repeat
}
.layui-layer-loading .layui-layer-loading1 {
width:37px;
height:37px;
background:url(default/loading-1.gif) no-repeat
}
.layui-layer-ico16,.layui-layer-loading .layui-layer-loading2 {
width:32px;
height:32px;
background:url(default/loading-2.gif) no-repeat
}
.layui-layer-tips {
background:0 0;
box-shadow:none;
border:none
}
.layui-layer-tips .layui-layer-content {
position:relative;
line-height:22px;
min-width:12px;
padding:0 0px 10px 0px;
font-size:12px;
_float:left;
border-radius:3px;
box-shadow:1px 1px 3px rgba(0,0,0,.3);
}
.layui-layer-tips .layui-layer-close {
right:-2px;
top:-1px
}
.layui-layer-tips i.layui-layer-TipsG {
position:absolute;
width:0;
height:0;
border-color:transparent;
*overflow:hidden;
border-bottom: 8px solid transparent;
border-top: 8px solid transparent;
border-right: 8px solid #FF6600;
}
.layui-layer-tips i.layui-layer-TipsB,.layui-layer-tips i.layui-layer-TipsT {
left:5px;
border-right-style:solid;
order-right-color:#F90
}
.layui-layer-tips i.layui-layer-TipsT {
bottom:-8px
}
.layui-layer-tips i.layui-layer-TipsB {
top:-8px
}
.layui-layer-tips i.layui-layer-TipsL,.layui-layer-tips i.layui-layer-TipsR {
top:5px;
border-bottom-style:solid;
order-bottom-color:#F90
}
.layui-layer-tips i.layui-layer-TipsR {
left:-7px
}
.layui-layer-tips i.layui-layer-TipsL {
right:-8px
}
.layui-layer-lan[type=dialog] {
min-width:280px
}
.layui-layer-lan .layui-layer-title {
background:#4476A7;
color:#fff;
border:none
}
.layui-layer-lan .layui-layer-lan .layui-layer-btn {
padding:10px;
text-align:right;
border-top:1px solid #E9E7E7
}
.layui-layer-lan .layui-layer-btn a {
background:#BBB5B5;
border:none
}
.layui-layer-lan .layui-layer-btn .layui-layer-btn1 {
background:#C9C5C5
}
.layui-layer-molv .layui-layer-title {
background:#009f95;
color:#fff;
border:none
}
.layui-layer-molv .layui-layer-btn a {
background:#009f95
}
.layui-layer-molv .layui-layer-btn .layui-layer-btn1 {
background:#92B8B1
}
*{margin:0;padding:0;}
a{text-decoration:none;}
a:hover{text-decoration:none;}
ul,li{list-style:none;}
.popUl{width:189px;background-color:#f3f7f8;border:1px solid #bbb;padding:0 1px;margin-bottom:-10px;position:relative;border-radius:4px;box-shadow: 3px 3px 5px #999;}
.popUl li{clear:both;display:block;height:30px;line-height:30px;border-top:1px #dedede dashed;order-left:2px solid #f3f7f8;padding-left:10px;margin:2px 1px 0 1px;cursor:pointer;color:#444;}
.popUl li:last{border-bottom:none;}
.popUl li a{display:block;color:#444;margin-left:25px;}
.popUl li:hover{order-left:2px solid #ff6600;background-color:#ededed;font-weight:bold;}
.popUl li:hover a{color:#FF6600;}
.popUl li .icon,.search_icon,.note_icon,.peer_icon,.associate_icon{width:16px;height:16px;float:left;margin-top:6px;}
.popUl li .search_icon{background:url(default/search.png) 0 0 no-repeat;}
.popUl li .people_icon{background:url(default/people.png) 0 0 no-repeat;}
.popUl li .note_icon{background:url(default/note.png) 0 0 no-repeat;}
.popUl li .peer_icon{background:url(default/peer.png) 0 0 no-repeat;}
.popUl li .associate_icon{background:url(default/associate.png) 0 0 no-repeat;}
.arrow_up{width:20px;height:20px;position:absolute;top:-10px;left:20px;z-index:999;background:url(default/arrow_up.png) 0 0 no-repeat;}
.popUl h4{height:26px;line-height:26px;background-color:#efefef;text-align:center;margin-top:2px;font-size:12px;color:#333;}
\ No newline at end of file
$(function(){
$(".check-default").click(function(){
var n=$(this).find(".check-box");
var status=n.hasClass("ck-active");
n.toggleClass("ck-active").attr({status:!status})})
});
$(function(){
var n=$(".input-part input");
n.on("focus",function(){$(this).parents(".input-part").addClass("input-active")
}).on("blur",function(){$(this).parents(".input-part").removeClass("input-active")})
});
//点击登录功能
$("#login-btn").off("click").on("click",function(){
var userName=$("#login_username").val();
var psw=$("#login_password").val();
if(userName){
if(psw){
doLogin(userName,psw);
}else{
//密码不能为空
alert("密码不能为空");
}
}else{
//用户名不能为空
alert("用户名不能为空");
}
});
function doLogin(userName,psw){
$.ajax({
url:"doLogin",
data:{"userId":userName,"psw":psw},
type:"post",
dataType:"json",
success:function(data){
var state=data.state;
var msg=data.msg;
if(state&&state=="success"){
window.location.href="toHome";
}else{
alert(msg);
}
}
});
}
\ No newline at end of file
function showpic1(sender){
if( !sender.value.match( /.jpg/i ) ){
alert("二代证照片类型不正确!","提示");
//清空input type=file的value
deleteFileVal("R_EDZZP_File");
return false;
}
//得到图片大小
var fileSize = getImgSize(sender);
var fileflag = fileChangeNew(fileSize);
if(fileflag==0){
//照片不满足上传要求
return false;
}else{
//满足上传的大小要求
var imgobj = document.getElementById( 'imghead1' );
var imgobjstr = document.getElementById( 'preview1' );
showImg(sender,imgobj,imgobjstr,"R_EDZZP64","edzzpflag");
}
}
function showpic2(sender){
if( !sender.value.match( /.jpg/i ) ){
alert("正面照片类型不正确!","提示");
deleteFileVal("R_ZMZP_File");
return false;
}
//得到图片大小
var fileSize = getImgSize(sender);
var fileflag = fileChangeNew(fileSize);
if(fileflag==0){
//照片不满足上传要求
return false;
}else{
//满足上传的大小要求
var imgobj = document.getElementById( 'imghead2' );
var imgobjstr = document.getElementById( 'preview2' );
showImg(sender,imgobj,imgobjstr,"R_ZMZP64","zmzpflag");
}
}
function showpic3(sender){
if( !sender.value.match( /.jpg/i ) ){
alert("侧面照片类型不正确!","提示");
deleteFileVal("R_CMZP_File");
return false;
}
//得到图片大小
var fileSize = getImgSize(sender);
var fileflag = fileChangeNew(fileSize);
if(fileflag==0){
//照片不满足上传要求
return false;
}else{
//满足上传的大小要求
var imgobj = document.getElementById( 'imghead3' );
var imgobjstr = document.getElementById( 'preview3' );
showImg(sender,imgobj,imgobjstr,"R_CMZP64","cmzpflag");
}
}
function showpic4(sender){
if( !sender.value.match( /.jpg/i ) ){
alert("侧面照片类型不正确!","提示");
deleteFileVal("R_YCMZP_File");
return false;
}
//得到图片大小
var fileSize = getImgSize(sender);
var fileflag = fileChangeNew(fileSize);
if(fileflag==0){
//照片不满足上传要求
return false;
}else{
//满足上传的大小要求
var imgobj = document.getElementById( 'imghead4' );
var imgobjstr = document.getElementById( 'preview4' );
showImg(sender,imgobj,imgobjstr,"R_YCMZP64","ycmzpflag");
}
}
function showpic5(sender){
if( !sender.value.match( /.jpg/i ) ){
alert("正面照片类型不正确!","提示");
var file = $(sender);
file.after(file.clone().val(""));
file.remove();
return false;
}
//得到图片大小
var fileSize = getImgSize(sender);
var fileflag = fileChangeNew(fileSize);
if(fileflag==0){
//照片不满足上传要求
return false;
}else{
//满足上传的大小要求
showImg(sender,$(sender).parent().find("img"));
}
}
//清空file的value值
function deleteFileVal(fileId){
var file = $("#"+fileId) ;
file.after(file.clone().val(""));
file.remove();
}
function fileChangeNew(fileSize) {
if (fileSize<0) {
alert("图片不正确,请重新输入!","提示");
return 0;
}else{
//1024*1024=1048576
var size = fileSize / 1048576;
if(size>1048576){
alert("照片不能大于1M,请重新选择照片","提示");
return 0;
}else if(size==0){
alert("照片不能为0K,请重新选择照片","提示");
return 0;
}
return 1;
}
}
//旧方法使用ActiveXObject操作文件,常出问题
function fileChange(target,id) {
var isIE = /msie/i.test(navigator.userAgent) && !window.opera;
var fileSize = 0;
if (isIE && !target.files) {
var filePath = target.value;
var fileSystem = new ActiveXObject("Scripting.FileSystemObject");
if(!fileSystem.FileExists(filePath)){
alert("附件不存在,请重新输入!","提示");
var file=document.getElementById(id);
file.outerHTML=file.outerHTML;
return 0;
}
var file = fileSystem.GetFile (filePath);
fileSize = file.Size;
} else {
fileSize = target.files[0].size;
}
var size = fileSize / 1048576;
if(size>1024){
alert("照片不能大于1M,请重新选择照片","提示");
var file=document.getElementById(id);
file.outerHTML=file.outerHTML;
return 0;
}
if(size<=0){
alert("照片不能为0K,请重新选择照片","提示");
var file=document.getElementById(id);
file.outerHTML=file.outerHTML
return 0;
}
}
function checkPic(){
if (document.frminput.R_ZMZP_File.value != "" && document.frminput.pic2.fileSize < 0) {
alert("正面照片类型不正确");
return false;
}
if (document.frminput.pic2.fileSize > 61440)
{
alert("正面照片不能大于60K");
return false;
}
if (document.frminput.R_CMZP_File.value != "" && document.frminput.pic3.fileSize < 0) {
alert("侧面照片类型不正确");
return false;
}
if (document.frminput.pic3.fileSize > 61440)
{
alert("侧面照片不能大于60K");
return false;
}
if (document.frminput.R_YCMZP_File.value != "" && document.frminput.pic4.fileSize < 0) {
alert("侧面照片类型不正确");
return false;
}
if (document.frminput.pic4.fileSize > 61440)
{
alert("侧面照片不能大于60K");
return false;
}
return true;
}
/**
* @param fileObj 通过操作inuput或得的文件对象
* @param path input文件域的文件路径
* @returns 得到图片的大小
*/
function getImgSize(sender){
var fileSize;
var FileReader = window.FileReader;
if (FileReader) {//chrome浏览器处理
var file = sender.files[0];
fileSize=file.size;//文件大小
}else {//其他浏览器处理
var filePath = sender.value;
var fileSystem = new ActiveXObject("Scripting.FileSystemObject");
if(!fileSystem.FileExists(filePath)){
alert("附件不存在,请重新输入!","提示");
var file=document.getElementById(id);
file.outerHTML=file.outerHTML;
return 0;
}
var file = fileSystem.GetFile (filePath);
fileSize = file.Size;
}
return fileSize;
}
/**
* @param sender
* @param imgobj
* 说明:兼容谷歌和IE
*/
function showImg(sender,imgobj,imgobjstr,picStr,flagname){
var FileReader = window.FileReader;
if (FileReader) {//chrome浏览器处理
document.getElementById(flagname).value="1";
var reader = new FileReader(),
file = sender.files[0];
reader.onload = function(e) {
imgobj.src=e.target.result;
document.getElementById(picStr).value=e.target.result;
};
reader.readAsDataURL(file);
}else {//IE等其他浏览器处理
document.getElementById(flagname).value="0";
var objPic = imgobj;
var objLocalpic = imgobjstr;
sender.select();
var imgSrc = document.selection.createRange().text;
objLocalpic.filters.item('DXImageTransform.Microsoft.AlphaImageLoader').src = imgSrc;
objPic.style.display = 'none';
objLocalpic.style.width = 185 + 'px';
objLocalpic.style.height = 230 + 'px';
}
}
function getHTTPObject()
{
var xmlHttp;
if(window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
} else if (window.ActiveXObject){
try{
xmlHttp = new ActiveXObject("MSxml2.XMLHTTP");
}catch(e){
try{xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e2){
xmlHttp = false;
}
}
}
return(xmlHttp);
}
\ No newline at end of file
(function(factory){if(typeof define==="function"&&define.amd){define(["jquery"],factory)}else if(typeof module==="object"&&module.exports){factory(require("jquery"))}else{factory(jQuery)}})(function($){var debugMode=false;var isOperaMini=Object.prototype.toString.call(window.operamini)==="[object OperaMini]";var isInputSupported="placeholder"in document.createElement("input")&&!isOperaMini&&!debugMode;var isTextareaSupported="placeholder"in document.createElement("textarea")&&!isOperaMini&&!debugMode;var valHooks=$.valHooks;var propHooks=$.propHooks;var hooks;var placeholder;var settings={};if(isInputSupported&&isTextareaSupported){placeholder=$.fn.placeholder=function(){return this};placeholder.input=true;placeholder.textarea=true}else{placeholder=$.fn.placeholder=function(options){var defaults={customClass:"placeholder"};settings=$.extend({},defaults,options);return this.filter((isInputSupported?"textarea":":input")+"["+(debugMode?"placeholder-x":"placeholder")+"]").not("."+settings.customClass).not(":radio, :checkbox, [type=hidden]").bind({"focus.placeholder":clearPlaceholder,"blur.placeholder":setPlaceholder}).data("placeholder-enabled",true).trigger("blur.placeholder")};placeholder.input=isInputSupported;placeholder.textarea=isTextareaSupported;hooks={get:function(element){var $element=$(element);var $passwordInput=$element.data("placeholder-password");if($passwordInput){return $passwordInput[0].value}return $element.data("placeholder-enabled")&&$element.hasClass(settings.customClass)?"":element.value},set:function(element,value){var $element=$(element);var $replacement;var $passwordInput;if(value!==""){$replacement=$element.data("placeholder-textinput");$passwordInput=$element.data("placeholder-password");if($replacement){clearPlaceholder.call($replacement[0],true,value)||(element.value=value);$replacement[0].value=value}else if($passwordInput){clearPlaceholder.call(element,true,value)||($passwordInput[0].value=value);element.value=value}}if(!$element.data("placeholder-enabled")){element.value=value;return $element}if(value===""){element.value=value;if(element!=safeActiveElement()){setPlaceholder.call(element)}}else{if($element.hasClass(settings.customClass)){clearPlaceholder.call(element)}element.value=value}return $element}};if(!isInputSupported){valHooks.input=hooks;propHooks.value=hooks}if(!isTextareaSupported){valHooks.textarea=hooks;propHooks.value=hooks}$(function(){$(document).delegate("form","submit.placeholder",function(){var $inputs=$("."+settings.customClass,this).each(function(){clearPlaceholder.call(this,true,"")});setTimeout(function(){$inputs.each(setPlaceholder)},10)})});$(window).bind("beforeunload.placeholder",function(){var clearPlaceholders=true;try{if(document.activeElement.toString()==="javascript:void(0)"){clearPlaceholders=false}}catch(exception){}if(clearPlaceholders){$("."+settings.customClass).each(function(){this.value=""})}})}function args(elem){var newAttrs={};var rinlinejQuery=/^jQuery\d+$/;$.each(elem.attributes,function(i,attr){if(attr.specified&&!rinlinejQuery.test(attr.name)){newAttrs[attr.name]=attr.value}});return newAttrs}function clearPlaceholder(event,value){var input=this;var $input=$(this);if(input.value===$input.attr(debugMode?"placeholder-x":"placeholder")&&$input.hasClass(settings.customClass)){input.value="";$input.removeClass(settings.customClass);if($input.data("placeholder-password")){$input=$input.hide().nextAll('input[type="password"]:first').show().attr("id",$input.removeAttr("id").data("placeholder-id"));if(event===true){$input[0].value=value;return value}$input.focus()}else{input==safeActiveElement()&&input.select()}}}function setPlaceholder(event){var $replacement;var input=this;var $input=$(this);var id=input.id;if(event&&event.type==="blur"&&$input.hasClass(settings.customClass)){return}if(input.value===""){if(input.type==="password"){if(!$input.data("placeholder-textinput")){try{$replacement=$input.clone().prop({type:"text"})}catch(e){$replacement=$("<input>").attr($.extend(args(this),{type:"text"}))}$replacement.removeAttr("name").data({"placeholder-enabled":true,"placeholder-password":$input,"placeholder-id":id}).bind("focus.placeholder",clearPlaceholder);$input.data({"placeholder-textinput":$replacement,"placeholder-id":id}).before($replacement)}input.value="";$input=$input.removeAttr("id").hide().prevAll('input[type="text"]:first').attr("id",$input.data("placeholder-id")).show()}else{var $passwordInput=$input.data("placeholder-password");if($passwordInput){$passwordInput[0].value="";$input.attr("id",$input.data("placeholder-id")).show().nextAll('input[type="password"]:last').hide().removeAttr("id")}}$input.addClass(settings.customClass);$input[0].value=$input.attr(debugMode?"placeholder-x":"placeholder")}else{$input.removeClass(settings.customClass)}}function safeActiveElement(){try{return document.activeElement}catch(exception){}}});
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
//Generated by CoffeeScript 1.7.1
/*
Stomp Over WebSocket http://www.jmesnil.net/stomp-websocket/doc/ | Apache License V2.0
Copyright (C) 2010-2013 [Jeff Mesnil](http://jmesnil.net/)
Copyright (C) 2012 [FuseSource, Inc.](http://fusesource.com)
*/
(function() {
var t, e, n, i, r = {}.hasOwnProperty,
o = [].slice;
t = {
LF: "\n",
NULL: "\x00"
};
n = function() {
var e;
function n(t, e, n) {
this.command = t;
this.headers = e != null ? e: {};
this.body = n != null ? n: ""
}
n.prototype.toString = function() {
var e, i, o, s, u;
e = [this.command];
o = this.headers["content-length"] === false ? true: false;
if (o) {
delete this.headers["content-length"]
}
u = this.headers;
for (i in u) {
if (!r.call(u, i)) continue;
s = u[i];
e.push("" + i + ":" + s)
}
if (this.body && !o) {
e.push("content-length:" + n.sizeOfUTF8(this.body))
}
e.push(t.LF + this.body);
return e.join(t.LF)
};
n.sizeOfUTF8 = function(t) {
if (t) {
return encodeURI(t).match(/%..|./g).length
} else {
return 0
}
};
e = function(e) {
var i, r, o, s, u, a, c, f, h, l, p, d, g, b, m, v, y;
s = e.search(RegExp("" + t.LF + t.LF));
u = e.substring(0, s).split(t.LF);
o = u.shift();
a = {};
d = function(t) {
return t.replace(/^\s+|\s+$/g, "")
};
v = u.reverse();
for (g = 0, m = v.length; g < m; g++) {
l = v[g];
f = l.indexOf(":");
a[d(l.substring(0, f))] = d(l.substring(f + 1))
}
i = "";
p = s + 2;
if (a["content-length"]) {
h = parseInt(a["content-length"]);
i = ("" + e).substring(p, p + h)
} else {
r = null;
for (c = b = p, y = e.length; p <= y ? b < y: b > y; c = p <= y ? ++b: --b) {
r = e.charAt(c);
if (r === t.NULL) {
break
}
i += r
}
}
return new n(o, a, i)
};
n.unmarshall = function(n) {
var i;
return function() {
var r, o, s, u;
s = n.split(RegExp("" + t.NULL + t.LF + "*"));
u = [];
for (r = 0, o = s.length; r < o; r++) {
i = s[r];
if ((i != null ? i.length: void 0) > 0) {
u.push(e(i))
}
}
return u
} ()
};
n.marshall = function(e, i, r) {
var o;
o = new n(e, i, r);
return o.toString() + t.NULL
};
return n
} ();
e = function() {
var e;
function r(t) {
this.ws = t;
this.ws.binaryType = "arraybuffer";
this.counter = 0;
this.connected = false;
this.heartbeat = {
outgoing: 1e4,
incoming: 1e4
};
this.maxWebSocketFrameSize = 16 * 1024;
this.subscriptions = {}
}
r.prototype.debug = function(t) {
var e;
return typeof window !== "undefined" && window !== null ? (e = window.console) != null ? e.log(t) : void 0 : void 0
};
e = function() {
if (Date.now) {
return Date.now()
} else {
return (new Date).valueOf
}
};
r.prototype._transmit = function(t, e, i) {
var r;
r = n.marshall(t, e, i);
if (typeof this.debug === "function") {
this.debug(">>> " + r)
}
while (true) {
if (r.length > this.maxWebSocketFrameSize) {
this.ws.send(r.substring(0, this.maxWebSocketFrameSize));
r = r.substring(this.maxWebSocketFrameSize);
if (typeof this.debug === "function") {
this.debug("remaining = " + r.length)
}
} else {
return this.ws.send(r)
}
}
};
r.prototype._setupHeartbeat = function(n) {
var r, o, s, u, a, c;
if ((a = n.version) !== i.VERSIONS.V1_1 && a !== i.VERSIONS.V1_2) {
return
}
c = function() {
var t, e, i, r;
i = n["heart-beat"].split(",");
r = [];
for (t = 0, e = i.length; t < e; t++) {
u = i[t];
r.push(parseInt(u))
}
return r
} (),
o = c[0],
r = c[1];
if (! (this.heartbeat.outgoing === 0 || r === 0)) {
s = Math.max(this.heartbeat.outgoing, r);
if (typeof this.debug === "function") {
this.debug("send PING every " + s + "ms")
}
this.pinger = i.setInterval(s,
function(e) {
return function() {
e.ws.send(t.LF);
return typeof e.debug === "function" ? e.debug(">>> PING") : void 0
}
} (this))
}
if (! (this.heartbeat.incoming === 0 || o === 0)) {
s = Math.max(this.heartbeat.incoming, o);
if (typeof this.debug === "function") {
this.debug("check PONG every " + s + "ms")
}
return this.ponger = i.setInterval(s,
function(t) {
return function() {
var n;
n = e() - t.serverActivity;
if (n > s * 2) {
if (typeof t.debug === "function") {
t.debug("did not receive server activity for the last " + n + "ms")
}
return t.ws.close()
}
}
} (this))
}
};
r.prototype._parseConnect = function() {
var t, e, n, i;
t = 1 <= arguments.length ? o.call(arguments, 0) : [];
i = {};
switch (t.length) {
case 2:
i = t[0],
e = t[1];
break;
case 3:
if (t[1] instanceof Function) {
i = t[0],
e = t[1],
n = t[2]
} else {
i.login = t[0],
i.passcode = t[1],
e = t[2]
}
break;
case 4:
i.login = t[0],
i.passcode = t[1],
e = t[2],
n = t[3];
break;
default:
i.login = t[0],
i.passcode = t[1],
e = t[2],
n = t[3],
i.host = t[4]
}
return [i, e, n]
};
r.prototype.connect = function() {
var r, s, u, a;
r = 1 <= arguments.length ? o.call(arguments, 0) : [];
a = this._parseConnect.apply(this, r);
u = a[0],
this.connectCallback = a[1],
s = a[2];
if (typeof this.debug === "function") {
this.debug("Opening Web Socket...")
}
this.ws.onmessage = function(i) {
return function(r) {
var o, u, a, c, f, h, l, p, d, g, b, m;
c = typeof ArrayBuffer !== "undefined" && r.data instanceof ArrayBuffer ? (o = new Uint8Array(r.data), typeof i.debug === "function" ? i.debug("--- got data length: " + o.length) : void 0,
function() {
var t, e, n;
n = [];
for (t = 0, e = o.length; t < e; t++) {
u = o[t];
n.push(String.fromCharCode(u))
}
return n
} ().join("")) : r.data;
i.serverActivity = e();
if (c === t.LF) {
if (typeof i.debug === "function") {
i.debug("<<< PONG")
}
return
}
if (typeof i.debug === "function") {
i.debug("<<< " + c)
}
b = n.unmarshall(c);
m = [];
for (d = 0, g = b.length; d < g; d++) {
f = b[d];
switch (f.command) {
case "CONNECTED":
if (typeof i.debug === "function") {
i.debug("connected to server " + f.headers.server)
}
i.connected = true;
i._setupHeartbeat(f.headers);
m.push(typeof i.connectCallback === "function" ? i.connectCallback(f) : void 0);
break;
case "MESSAGE":
p = f.headers.subscription;
l = i.subscriptions[p] || i.onreceive;
if (l) {
a = i;
h = f.headers["message-id"];
f.ack = function(t) {
if (t == null) {
t = {}
}
return a.ack(h, p, t)
};
f.nack = function(t) {
if (t == null) {
t = {}
}
return a.nack(h, p, t)
};
m.push(l(f))
} else {
m.push(typeof i.debug === "function" ? i.debug("Unhandled received MESSAGE: " + f) : void 0)
}
break;
case "RECEIPT":
m.push(typeof i.onreceipt === "function" ? i.onreceipt(f) : void 0);
break;
case "ERROR":
m.push(typeof s === "function" ? s(f) : void 0);
break;
default:
m.push(typeof i.debug === "function" ? i.debug("Unhandled frame: " + f) : void 0)
}
}
return m
}
} (this);
this.ws.onclose = function(t) {
return function() {
var e;
e = "Whoops! Lost connection to " + t.ws.url;
if (typeof t.debug === "function") {
t.debug(e)
}
t._cleanUp();
return typeof s === "function" ? s(e) : void 0
}
} (this);
return this.ws.onopen = function(t) {
return function() {
if (typeof t.debug === "function") {
t.debug("Web Socket Opened...")
}
u["accept-version"] = i.VERSIONS.supportedVersions();
u["heart-beat"] = [t.heartbeat.outgoing, t.heartbeat.incoming].join(",");
return t._transmit("CONNECT", u)
}
} (this)
};
r.prototype.disconnect = function(t, e) {
if (e == null) {
e = {}
}
this._transmit("DISCONNECT", e);
this.ws.onclose = null;
this.ws.close();
this._cleanUp();
return typeof t === "function" ? t() : void 0
};
r.prototype._cleanUp = function() {
this.connected = false;
if (this.pinger) {
i.clearInterval(this.pinger)
}
if (this.ponger) {
return i.clearInterval(this.ponger)
}
};
r.prototype.send = function(t, e, n) {
if (e == null) {
e = {}
}
if (n == null) {
n = ""
}
e.destination = t;
return this._transmit("SEND", e, n)
};
r.prototype.subscribe = function(t, e, n) {
var i;
if (n == null) {
n = {}
}
if (!n.id) {
n.id = "sub-" + this.counter++
}
n.destination = t;
this.subscriptions[n.id] = e;
this._transmit("SUBSCRIBE", n);
i = this;
return {
id: n.id,
unsubscribe: function() {
return i.unsubscribe(n.id)
}
}
};
r.prototype.unsubscribe = function(t) {
delete this.subscriptions[t];
return this._transmit("UNSUBSCRIBE", {
id: t
})
};
r.prototype.begin = function(t) {
var e, n;
n = t || "tx-" + this.counter++;
this._transmit("BEGIN", {
transaction: n
});
e = this;
return {
id: n,
commit: function() {
return e.commit(n)
},
abort: function() {
return e.abort(n)
}
}
};
r.prototype.commit = function(t) {
return this._transmit("COMMIT", {
transaction: t
})
};
r.prototype.abort = function(t) {
return this._transmit("ABORT", {
transaction: t
})
};
r.prototype.ack = function(t, e, n) {
if (n == null) {
n = {}
}
n["message-id"] = t;
n.subscription = e;
return this._transmit("ACK", n)
};
r.prototype.nack = function(t, e, n) {
if (n == null) {
n = {}
}
n["message-id"] = t;
n.subscription = e;
return this._transmit("NACK", n)
};
return r
} ();
i = {
VERSIONS: {
V1_0: "1.0",
V1_1: "1.1",
V1_2: "1.2",
supportedVersions: function() {
return "1.1,1.0"
}
},
client: function(t, n) {
var r, o;
if (n == null) {
n = ["v10.stomp", "v11.stomp"]
}
r = i.WebSocketClass || WebSocket;
o = new r(t, n);
return new e(o)
},
over: function(t) {
return new e(t)
},
Frame: n
};
if (typeof exports !== "undefined" && exports !== null) {
exports.Stomp = i
}
if (typeof window !== "undefined" && window !== null) {
i.setInterval = function(t, e) {
return window.setInterval(e, t)
};
i.clearInterval = function(t) {
return window.clearInterval(t)
};
window.Stomp = i
} else if (!exports) {
self.Stomp = i
}
}).call(this);
\ No newline at end of file
/**
* Swiper 3.4.2
* Most modern mobile touch slider and framework with hardware accelerated transitions
*
* http://www.idangero.us/swiper/
*
* Copyright 2017, Vladimir Kharlampidi
* The iDangero.us
* http://www.idangero.us/
*
* Licensed under MIT
*
* Released on: March 10, 2017
*/
!function(){"use strict";var e,a=function(t,s){function r(e){return Math.floor(e)}function i(){var e=x.params.autoplay,a=x.slides.eq(x.activeIndex);a.attr("data-swiper-autoplay")&&(e=a.attr("data-swiper-autoplay")||x.params.autoplay),x.autoplayTimeoutId=setTimeout(function(){x.params.loop?(x.fixLoop(),x._slideNext(),x.emit("onAutoplay",x)):x.isEnd?s.autoplayStopOnLast?x.stopAutoplay():(x._slideTo(0),x.emit("onAutoplay",x)):(x._slideNext(),x.emit("onAutoplay",x))},e)}function n(a,t){var s=e(a.target);if(!s.is(t))if("string"==typeof t)s=s.parents(t);else if(t.nodeType){var r;return s.parents().each(function(e,a){a===t&&(r=t)}),r?t:void 0}if(0!==s.length)return s[0]}function o(e,a){a=a||{};var t=window.MutationObserver||window.WebkitMutationObserver,s=new t(function(e){e.forEach(function(e){x.onResize(!0),x.emit("onObserverUpdate",x,e)})});s.observe(e,{attributes:void 0===a.attributes||a.attributes,childList:void 0===a.childList||a.childList,characterData:void 0===a.characterData||a.characterData}),x.observers.push(s)}function l(e){e.originalEvent&&(e=e.originalEvent);var a=e.keyCode||e.charCode;if(!x.params.allowSwipeToNext&&(x.isHorizontal()&&39===a||!x.isHorizontal()&&40===a))return!1;if(!x.params.allowSwipeToPrev&&(x.isHorizontal()&&37===a||!x.isHorizontal()&&38===a))return!1;if(!(e.shiftKey||e.altKey||e.ctrlKey||e.metaKey||document.activeElement&&document.activeElement.nodeName&&("input"===document.activeElement.nodeName.toLowerCase()||"textarea"===document.activeElement.nodeName.toLowerCase()))){if(37===a||39===a||38===a||40===a){var t=!1;if(x.container.parents("."+x.params.slideClass).length>0&&0===x.container.parents("."+x.params.slideActiveClass).length)return;var s={left:window.pageXOffset,top:window.pageYOffset},r=window.innerWidth,i=window.innerHeight,n=x.container.offset();x.rtl&&(n.left=n.left-x.container[0].scrollLeft);for(var o=[[n.left,n.top],[n.left+x.width,n.top],[n.left,n.top+x.height],[n.left+x.width,n.top+x.height]],l=0;l<o.length;l++){var p=o[l];p[0]>=s.left&&p[0]<=s.left+r&&p[1]>=s.top&&p[1]<=s.top+i&&(t=!0)}if(!t)return}x.isHorizontal()?(37!==a&&39!==a||(e.preventDefault?e.preventDefault():e.returnValue=!1),(39===a&&!x.rtl||37===a&&x.rtl)&&x.slideNext(),(37===a&&!x.rtl||39===a&&x.rtl)&&x.slidePrev()):(38!==a&&40!==a||(e.preventDefault?e.preventDefault():e.returnValue=!1),40===a&&x.slideNext(),38===a&&x.slidePrev()),x.emit("onKeyPress",x,a)}}function p(e){var a=0,t=0,s=0,r=0;return"detail"in e&&(t=e.detail),"wheelDelta"in e&&(t=-e.wheelDelta/120),"wheelDeltaY"in e&&(t=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(a=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(a=t,t=0),s=10*a,r=10*t,"deltaY"in e&&(r=e.deltaY),"deltaX"in e&&(s=e.deltaX),(s||r)&&e.deltaMode&&(1===e.deltaMode?(s*=40,r*=40):(s*=800,r*=800)),s&&!a&&(a=s<1?-1:1),r&&!t&&(t=r<1?-1:1),{spinX:a,spinY:t,pixelX:s,pixelY:r}}function d(e){e.originalEvent&&(e=e.originalEvent);var a=0,t=x.rtl?-1:1,s=p(e);if(x.params.mousewheelForceToAxis)if(x.isHorizontal()){if(!(Math.abs(s.pixelX)>Math.abs(s.pixelY)))return;a=s.pixelX*t}else{if(!(Math.abs(s.pixelY)>Math.abs(s.pixelX)))return;a=s.pixelY}else a=Math.abs(s.pixelX)>Math.abs(s.pixelY)?-s.pixelX*t:-s.pixelY;if(0!==a){if(x.params.mousewheelInvert&&(a=-a),x.params.freeMode){var r=x.getWrapperTranslate()+a*x.params.mousewheelSensitivity,i=x.isBeginning,n=x.isEnd;if(r>=x.minTranslate()&&(r=x.minTranslate()),r<=x.maxTranslate()&&(r=x.maxTranslate()),x.setWrapperTransition(0),x.setWrapperTranslate(r),x.updateProgress(),x.updateActiveIndex(),(!i&&x.isBeginning||!n&&x.isEnd)&&x.updateClasses(),x.params.freeModeSticky?(clearTimeout(x.mousewheel.timeout),x.mousewheel.timeout=setTimeout(function(){x.slideReset()},300)):x.params.lazyLoading&&x.lazy&&x.lazy.load(),x.emit("onScroll",x,e),x.params.autoplay&&x.params.autoplayDisableOnInteraction&&x.stopAutoplay(),0===r||r===x.maxTranslate())return}else{if((new window.Date).getTime()-x.mousewheel.lastScrollTime>60)if(a<0)if(x.isEnd&&!x.params.loop||x.animating){if(x.params.mousewheelReleaseOnEdges)return!0}else x.slideNext(),x.emit("onScroll",x,e);else if(x.isBeginning&&!x.params.loop||x.animating){if(x.params.mousewheelReleaseOnEdges)return!0}else x.slidePrev(),x.emit("onScroll",x,e);x.mousewheel.lastScrollTime=(new window.Date).getTime()}return e.preventDefault?e.preventDefault():e.returnValue=!1,!1}}function m(a,t){a=e(a);var s,r,i,n=x.rtl?-1:1;s=a.attr("data-swiper-parallax")||"0",r=a.attr("data-swiper-parallax-x"),i=a.attr("data-swiper-parallax-y"),r||i?(r=r||"0",i=i||"0"):x.isHorizontal()?(r=s,i="0"):(i=s,r="0"),r=r.indexOf("%")>=0?parseInt(r,10)*t*n+"%":r*t*n+"px",i=i.indexOf("%")>=0?parseInt(i,10)*t+"%":i*t+"px",a.transform("translate3d("+r+", "+i+",0px)")}function u(e){return 0!==e.indexOf("on")&&(e=e[0]!==e[0].toUpperCase()?"on"+e[0].toUpperCase()+e.substring(1):"on"+e),e}if(!(this instanceof a))return new a(t,s);var c={direction:"horizontal",touchEventsTarget:"container",initialSlide:0,speed:300,autoplay:!1,autoplayDisableOnInteraction:!0,autoplayStopOnLast:!1,iOSEdgeSwipeDetection:!1,iOSEdgeSwipeThreshold:20,freeMode:!1,freeModeMomentum:!0,freeModeMomentumRatio:1,freeModeMomentumBounce:!0,freeModeMomentumBounceRatio:1,freeModeMomentumVelocityRatio:1,freeModeSticky:!1,freeModeMinimumVelocity:.02,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",coverflow:{rotate:50,stretch:0,depth:100,modifier:1,slideShadows:!0},flip:{slideShadows:!0,limitRotation:!0},cube:{slideShadows:!0,shadow:!0,shadowOffset:20,shadowScale:.94},fade:{crossFade:!1},parallax:!1,zoom:!1,zoomMax:3,zoomMin:1,zoomToggle:!0,scrollbar:null,scrollbarHide:!0,scrollbarDraggable:!1,scrollbarSnapOnRelease:!1,keyboardControl:!1,mousewheelControl:!1,mousewheelReleaseOnEdges:!1,mousewheelInvert:!1,mousewheelForceToAxis:!1,mousewheelSensitivity:1,mousewheelEventsTarged:"container",hashnav:!1,hashnavWatchState:!1,history:!1,replaceState:!1,breakpoints:void 0,spaceBetween:0,slidesPerView:1,slidesPerColumn:1,slidesPerColumnFill:"column",slidesPerGroup:1,centeredSlides:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,onlyExternal:!1,threshold:0,touchMoveStopPropagation:!0,touchReleaseOnEdges:!1,uniqueNavElements:!0,pagination:null,paginationElement:"span",paginationClickable:!1,paginationHide:!1,paginationBulletRender:null,paginationProgressRender:null,paginationFractionRender:null,paginationCustomRender:null,paginationType:"bullets",resistance:!0,resistanceRatio:.85,nextButton:null,prevButton:null,watchSlidesProgress:!1,watchSlidesVisibility:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,lazyLoading:!1,lazyLoadingInPrevNext:!1,lazyLoadingInPrevNextAmount:1,lazyLoadingOnTransitionStart:!1,preloadImages:!0,updateOnImagesReady:!0,loop:!1,loopAdditionalSlides:0,loopedSlides:null,control:void 0,controlInverse:!1,controlBy:"slide",normalizeSlideIndex:!0,allowSwipeToPrev:!0,allowSwipeToNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",passiveListeners:!0,containerModifierClass:"swiper-container-",slideClass:"swiper-slide",slideActiveClass:"swiper-slide-active",slideDuplicateActiveClass:"swiper-slide-duplicate-active",slideVisibleClass:"swiper-slide-visible",slideDuplicateClass:"swiper-slide-duplicate",slideNextClass:"swiper-slide-next",slideDuplicateNextClass:"swiper-slide-duplicate-next",slidePrevClass:"swiper-slide-prev",slideDuplicatePrevClass:"swiper-slide-duplicate-prev",wrapperClass:"swiper-wrapper",bulletClass:"swiper-pagination-bullet",bulletActiveClass:"swiper-pagination-bullet-active",buttonDisabledClass:"swiper-button-disabled",paginationCurrentClass:"swiper-pagination-current",paginationTotalClass:"swiper-pagination-total",paginationHiddenClass:"swiper-pagination-hidden",paginationProgressbarClass:"swiper-pagination-progressbar",paginationClickableClass:"swiper-pagination-clickable",paginationModifierClass:"swiper-pagination-",lazyLoadingClass:"swiper-lazy",lazyStatusLoadingClass:"swiper-lazy-loading",lazyStatusLoadedClass:"swiper-lazy-loaded",lazyPreloaderClass:"swiper-lazy-preloader",notificationClass:"swiper-notification",preloaderClass:"preloader",zoomContainerClass:"swiper-zoom-container",observer:!1,observeParents:!1,a11y:!1,prevSlideMessage:"Previous slide",nextSlideMessage:"Next slide",firstSlideMessage:"This is the first slide",lastSlideMessage:"This is the last slide",paginationBulletMessage:"Go to slide {{index}}",runCallbacksOnInit:!0},g=s&&s.virtualTranslate;s=s||{};var h={};for(var v in s)if("object"!=typeof s[v]||null===s[v]||(s[v].nodeType||s[v]===window||s[v]===document||"undefined"!=typeof Dom7&&s[v]instanceof Dom7||"undefined"!=typeof jQuery&&s[v]instanceof jQuery))h[v]=s[v];else{h[v]={};for(var f in s[v])h[v][f]=s[v][f]}for(var w in c)if(void 0===s[w])s[w]=c[w];else if("object"==typeof s[w])for(var y in c[w])void 0===s[w][y]&&(s[w][y]=c[w][y]);var x=this;if(x.params=s,x.originalParams=h,x.classNames=[],void 0!==e&&"undefined"!=typeof Dom7&&(e=Dom7),(void 0!==e||(e="undefined"==typeof Dom7?window.Dom7||window.Zepto||window.jQuery:Dom7))&&(x.$=e,x.currentBreakpoint=void 0,x.getActiveBreakpoint=function(){if(!x.params.breakpoints)return!1;var e,a=!1,t=[];for(e in x.params.breakpoints)x.params.breakpoints.hasOwnProperty(e)&&t.push(e);t.sort(function(e,a){return parseInt(e,10)>parseInt(a,10)});for(var s=0;s<t.length;s++)(e=t[s])>=window.innerWidth&&!a&&(a=e);return a||"max"},x.setBreakpoint=function(){var e=x.getActiveBreakpoint();if(e&&x.currentBreakpoint!==e){var a=e in x.params.breakpoints?x.params.breakpoints[e]:x.originalParams,t=x.params.loop&&a.slidesPerView!==x.params.slidesPerView;for(var s in a)x.params[s]=a[s];x.currentBreakpoint=e,t&&x.destroyLoop&&x.reLoop(!0)}},x.params.breakpoints&&x.setBreakpoint(),x.container=e(t),0!==x.container.length)){if(x.container.length>1){var T=[];return x.container.each(function(){T.push(new a(this,s))}),T}x.container[0].swiper=x,x.container.data("swiper",x),x.classNames.push(x.params.containerModifierClass+x.params.direction),x.params.freeMode&&x.classNames.push(x.params.containerModifierClass+"free-mode"),x.support.flexbox||(x.classNames.push(x.params.containerModifierClass+"no-flexbox"),x.params.slidesPerColumn=1),x.params.autoHeight&&x.classNames.push(x.params.containerModifierClass+"autoheight"),(x.params.parallax||x.params.watchSlidesVisibility)&&(x.params.watchSlidesProgress=!0),x.params.touchReleaseOnEdges&&(x.params.resistanceRatio=0),["cube","coverflow","flip"].indexOf(x.params.effect)>=0&&(x.support.transforms3d?(x.params.watchSlidesProgress=!0,x.classNames.push(x.params.containerModifierClass+"3d")):x.params.effect="slide"),"slide"!==x.params.effect&&x.classNames.push(x.params.containerModifierClass+x.params.effect),"cube"===x.params.effect&&(x.params.resistanceRatio=0,x.params.slidesPerView=1,x.params.slidesPerColumn=1,x.params.slidesPerGroup=1,x.params.centeredSlides=!1,x.params.spaceBetween=0,x.params.virtualTranslate=!0),"fade"!==x.params.effect&&"flip"!==x.params.effect||(x.params.slidesPerView=1,x.params.slidesPerColumn=1,x.params.slidesPerGroup=1,x.params.watchSlidesProgress=!0,x.params.spaceBetween=0,void 0===g&&(x.params.virtualTranslate=!0)),x.params.grabCursor&&x.support.touch&&(x.params.grabCursor=!1),x.wrapper=x.container.children("."+x.params.wrapperClass),x.params.pagination&&(x.paginationContainer=e(x.params.pagination),x.params.uniqueNavElements&&"string"==typeof x.params.pagination&&x.paginationContainer.length>1&&1===x.container.find(x.params.pagination).length&&(x.paginationContainer=x.container.find(x.params.pagination)),"bullets"===x.params.paginationType&&x.params.paginationClickable?x.paginationContainer.addClass(x.params.paginationModifierClass+"clickable"):x.params.paginationClickable=!1,x.paginationContainer.addClass(x.params.paginationModifierClass+x.params.paginationType)),(x.params.nextButton||x.params.prevButton)&&(x.params.nextButton&&(x.nextButton=e(x.params.nextButton),x.params.uniqueNavElements&&"string"==typeof x.params.nextButton&&x.nextButton.length>1&&1===x.container.find(x.params.nextButton).length&&(x.nextButton=x.container.find(x.params.nextButton))),x.params.prevButton&&(x.prevButton=e(x.params.prevButton),x.params.uniqueNavElements&&"string"==typeof x.params.prevButton&&x.prevButton.length>1&&1===x.container.find(x.params.prevButton).length&&(x.prevButton=x.container.find(x.params.prevButton)))),x.isHorizontal=function(){return"horizontal"===x.params.direction},x.rtl=x.isHorizontal()&&("rtl"===x.container[0].dir.toLowerCase()||"rtl"===x.container.css("direction")),x.rtl&&x.classNames.push(x.params.containerModifierClass+"rtl"),x.rtl&&(x.wrongRTL="-webkit-box"===x.wrapper.css("display")),x.params.slidesPerColumn>1&&x.classNames.push(x.params.containerModifierClass+"multirow"),x.device.android&&x.classNames.push(x.params.containerModifierClass+"android"),x.container.addClass(x.classNames.join(" ")),x.translate=0,x.progress=0,x.velocity=0,x.lockSwipeToNext=function(){x.params.allowSwipeToNext=!1,x.params.allowSwipeToPrev===!1&&x.params.grabCursor&&x.unsetGrabCursor()},x.lockSwipeToPrev=function(){x.params.allowSwipeToPrev=!1,x.params.allowSwipeToNext===!1&&x.params.grabCursor&&x.unsetGrabCursor()},x.lockSwipes=function(){x.params.allowSwipeToNext=x.params.allowSwipeToPrev=!1,x.params.grabCursor&&x.unsetGrabCursor()},x.unlockSwipeToNext=function(){x.params.allowSwipeToNext=!0,x.params.allowSwipeToPrev===!0&&x.params.grabCursor&&x.setGrabCursor()},x.unlockSwipeToPrev=function(){x.params.allowSwipeToPrev=!0,x.params.allowSwipeToNext===!0&&x.params.grabCursor&&x.setGrabCursor()},x.unlockSwipes=function(){x.params.allowSwipeToNext=x.params.allowSwipeToPrev=!0,x.params.grabCursor&&x.setGrabCursor()},x.setGrabCursor=function(e){x.container[0].style.cursor="move",x.container[0].style.cursor=e?"-webkit-grabbing":"-webkit-grab",x.container[0].style.cursor=e?"-moz-grabbin":"-moz-grab",x.container[0].style.cursor=e?"grabbing":"grab"},x.unsetGrabCursor=function(){x.container[0].style.cursor=""},x.params.grabCursor&&x.setGrabCursor(),x.imagesToLoad=[],x.imagesLoaded=0,x.loadImage=function(e,a,t,s,r,i){function n(){i&&i()}var o;e.complete&&r?n():a?(o=new window.Image,o.onload=n,o.onerror=n,s&&(o.sizes=s),t&&(o.srcset=t),a&&(o.src=a)):n()},x.preloadImages=function(){function e(){void 0!==x&&null!==x&&x&&(void 0!==x.imagesLoaded&&x.imagesLoaded++,x.imagesLoaded===x.imagesToLoad.length&&(x.params.updateOnImagesReady&&x.update(),x.emit("onImagesReady",x)))}x.imagesToLoad=x.container.find("img");for(var a=0;a<x.imagesToLoad.length;a++)x.loadImage(x.imagesToLoad[a],x.imagesToLoad[a].currentSrc||x.imagesToLoad[a].getAttribute("src"),x.imagesToLoad[a].srcset||x.imagesToLoad[a].getAttribute("srcset"),x.imagesToLoad[a].sizes||x.imagesToLoad[a].getAttribute("sizes"),!0,e)},x.autoplayTimeoutId=void 0,x.autoplaying=!1,x.autoplayPaused=!1,x.startAutoplay=function(){return void 0===x.autoplayTimeoutId&&(!!x.params.autoplay&&(!x.autoplaying&&(x.autoplaying=!0,x.emit("onAutoplayStart",x),void i())))},x.stopAutoplay=function(e){x.autoplayTimeoutId&&(x.autoplayTimeoutId&&clearTimeout(x.autoplayTimeoutId),x.autoplaying=!1,x.autoplayTimeoutId=void 0,x.emit("onAutoplayStop",x))},x.pauseAutoplay=function(e){x.autoplayPaused||(x.autoplayTimeoutId&&clearTimeout(x.autoplayTimeoutId),x.autoplayPaused=!0,0===e?(x.autoplayPaused=!1,i()):x.wrapper.transitionEnd(function(){x&&(x.autoplayPaused=!1,x.autoplaying?i():x.stopAutoplay())}))},x.minTranslate=function(){return-x.snapGrid[0]},x.maxTranslate=function(){return-x.snapGrid[x.snapGrid.length-1]},x.updateAutoHeight=function(){var e,a=[],t=0;if("auto"!==x.params.slidesPerView&&x.params.slidesPerView>1)for(e=0;e<Math.ceil(x.params.slidesPerView);e++){var s=x.activeIndex+e;if(s>x.slides.length)break;a.push(x.slides.eq(s)[0])}else a.push(x.slides.eq(x.activeIndex)[0]);for(e=0;e<a.length;e++)if(void 0!==a[e]){var r=a[e].offsetHeight;t=r>t?r:t}t&&x.wrapper.css("height",t+"px")},x.updateContainerSize=function(){var e,a;e=void 0!==x.params.width?x.params.width:x.container[0].clientWidth,a=void 0!==x.params.height?x.params.height:x.container[0].clientHeight,0===e&&x.isHorizontal()||0===a&&!x.isHorizontal()||(e=e-parseInt(x.container.css("padding-left"),10)-parseInt(x.container.css("padding-right"),10),a=a-parseInt(x.container.css("padding-top"),10)-parseInt(x.container.css("padding-bottom"),10),x.width=e,x.height=a,x.size=x.isHorizontal()?x.width:x.height)},x.updateSlidesSize=function(){x.slides=x.wrapper.children("."+x.params.slideClass),x.snapGrid=[],x.slidesGrid=[],x.slidesSizesGrid=[];var e,a=x.params.spaceBetween,t=-x.params.slidesOffsetBefore,s=0,i=0;if(void 0!==x.size){"string"==typeof a&&a.indexOf("%")>=0&&(a=parseFloat(a.replace("%",""))/100*x.size),x.virtualSize=-a,x.rtl?x.slides.css({marginLeft:"",marginTop:""}):x.slides.css({marginRight:"",marginBottom:""});var n;x.params.slidesPerColumn>1&&(n=Math.floor(x.slides.length/x.params.slidesPerColumn)===x.slides.length/x.params.slidesPerColumn?x.slides.length:Math.ceil(x.slides.length/x.params.slidesPerColumn)*x.params.slidesPerColumn,"auto"!==x.params.slidesPerView&&"row"===x.params.slidesPerColumnFill&&(n=Math.max(n,x.params.slidesPerView*x.params.slidesPerColumn)));var o,l=x.params.slidesPerColumn,p=n/l,d=p-(x.params.slidesPerColumn*p-x.slides.length);for(e=0;e<x.slides.length;e++){o=0;var m=x.slides.eq(e);if(x.params.slidesPerColumn>1){var u,c,g;"column"===x.params.slidesPerColumnFill?(c=Math.floor(e/l),g=e-c*l,(c>d||c===d&&g===l-1)&&++g>=l&&(g=0,c++),u=c+g*n/l,m.css({"-webkit-box-ordinal-group":u,"-moz-box-ordinal-group":u,"-ms-flex-order":u,"-webkit-order":u,order:u})):(g=Math.floor(e/p),c=e-g*p),m.css("margin-"+(x.isHorizontal()?"top":"left"),0!==g&&x.params.spaceBetween&&x.params.spaceBetween+"px").attr("data-swiper-column",c).attr("data-swiper-row",g)}"none"!==m.css("display")&&("auto"===x.params.slidesPerView?(o=x.isHorizontal()?m.outerWidth(!0):m.outerHeight(!0),x.params.roundLengths&&(o=r(o))):(o=(x.size-(x.params.slidesPerView-1)*a)/x.params.slidesPerView,x.params.roundLengths&&(o=r(o)),x.isHorizontal()?x.slides[e].style.width=o+"px":x.slides[e].style.height=o+"px"),x.slides[e].swiperSlideSize=o,x.slidesSizesGrid.push(o),x.params.centeredSlides?(t=t+o/2+s/2+a,0===s&&0!==e&&(t=t-x.size/2-a),0===e&&(t=t-x.size/2-a),Math.abs(t)<.001&&(t=0),i%x.params.slidesPerGroup==0&&x.snapGrid.push(t),x.slidesGrid.push(t)):(i%x.params.slidesPerGroup==0&&x.snapGrid.push(t),x.slidesGrid.push(t),t=t+o+a),x.virtualSize+=o+a,s=o,i++)}x.virtualSize=Math.max(x.virtualSize,x.size)+x.params.slidesOffsetAfter;var h;if(x.rtl&&x.wrongRTL&&("slide"===x.params.effect||"coverflow"===x.params.effect)&&x.wrapper.css({width:x.virtualSize+x.params.spaceBetween+"px"}),x.support.flexbox&&!x.params.setWrapperSize||(x.isHorizontal()?x.wrapper.css({width:x.virtualSize+x.params.spaceBetween+"px"}):x.wrapper.css({height:x.virtualSize+x.params.spaceBetween+"px"})),x.params.slidesPerColumn>1&&(x.virtualSize=(o+x.params.spaceBetween)*n,x.virtualSize=Math.ceil(x.virtualSize/x.params.slidesPerColumn)-x.params.spaceBetween,x.isHorizontal()?x.wrapper.css({width:x.virtualSize+x.params.spaceBetween+"px"}):x.wrapper.css({height:x.virtualSize+x.params.spaceBetween+"px"}),x.params.centeredSlides)){for(h=[],e=0;e<x.snapGrid.length;e++)x.snapGrid[e]<x.virtualSize+x.snapGrid[0]&&h.push(x.snapGrid[e]);x.snapGrid=h}if(!x.params.centeredSlides){for(h=[],e=0;e<x.snapGrid.length;e++)x.snapGrid[e]<=x.virtualSize-x.size&&h.push(x.snapGrid[e]);x.snapGrid=h,Math.floor(x.virtualSize-x.size)-Math.floor(x.snapGrid[x.snapGrid.length-1])>1&&x.snapGrid.push(x.virtualSize-x.size)}0===x.snapGrid.length&&(x.snapGrid=[0]),0!==x.params.spaceBetween&&(x.isHorizontal()?x.rtl?x.slides.css({marginLeft:a+"px"}):x.slides.css({marginRight:a+"px"}):x.slides.css({marginBottom:a+"px"})),x.params.watchSlidesProgress&&x.updateSlidesOffset()}},x.updateSlidesOffset=function(){for(var e=0;e<x.slides.length;e++)x.slides[e].swiperSlideOffset=x.isHorizontal()?x.slides[e].offsetLeft:x.slides[e].offsetTop},x.currentSlidesPerView=function(){var e,a,t=1;if(x.params.centeredSlides){var s,r=x.slides[x.activeIndex].swiperSlideSize;for(e=x.activeIndex+1;e<x.slides.length;e++)x.slides[e]&&!s&&(r+=x.slides[e].swiperSlideSize,t++,r>x.size&&(s=!0));for(a=x.activeIndex-1;a>=0;a--)x.slides[a]&&!s&&(r+=x.slides[a].swiperSlideSize,t++,r>x.size&&(s=!0))}else for(e=x.activeIndex+1;e<x.slides.length;e++)x.slidesGrid[e]-x.slidesGrid[x.activeIndex]<x.size&&t++;return t},x.updateSlidesProgress=function(e){if(void 0===e&&(e=x.translate||0),0!==x.slides.length){void 0===x.slides[0].swiperSlideOffset&&x.updateSlidesOffset();var a=-e;x.rtl&&(a=e),x.slides.removeClass(x.params.slideVisibleClass);for(var t=0;t<x.slides.length;t++){var s=x.slides[t],r=(a+(x.params.centeredSlides?x.minTranslate():0)-s.swiperSlideOffset)/(s.swiperSlideSize+x.params.spaceBetween);if(x.params.watchSlidesVisibility){var i=-(a-s.swiperSlideOffset),n=i+x.slidesSizesGrid[t];(i>=0&&i<x.size||n>0&&n<=x.size||i<=0&&n>=x.size)&&x.slides.eq(t).addClass(x.params.slideVisibleClass)}s.progress=x.rtl?-r:r}}},x.updateProgress=function(e){void 0===e&&(e=x.translate||0);var a=x.maxTranslate()-x.minTranslate(),t=x.isBeginning,s=x.isEnd;0===a?(x.progress=0,x.isBeginning=x.isEnd=!0):(x.progress=(e-x.minTranslate())/a,x.isBeginning=x.progress<=0,x.isEnd=x.progress>=1),x.isBeginning&&!t&&x.emit("onReachBeginning",x),x.isEnd&&!s&&x.emit("onReachEnd",x),x.params.watchSlidesProgress&&x.updateSlidesProgress(e),x.emit("onProgress",x,x.progress)},x.updateActiveIndex=function(){var e,a,t,s=x.rtl?x.translate:-x.translate;for(a=0;a<x.slidesGrid.length;a++)void 0!==x.slidesGrid[a+1]?s>=x.slidesGrid[a]&&s<x.slidesGrid[a+1]-(x.slidesGrid[a+1]-x.slidesGrid[a])/2?e=a:s>=x.slidesGrid[a]&&s<x.slidesGrid[a+1]&&(e=a+1):s>=x.slidesGrid[a]&&(e=a);x.params.normalizeSlideIndex&&(e<0||void 0===e)&&(e=0),t=Math.floor(e/x.params.slidesPerGroup),t>=x.snapGrid.length&&(t=x.snapGrid.length-1),e!==x.activeIndex&&(x.snapIndex=t,x.previousIndex=x.activeIndex,x.activeIndex=e,x.updateClasses(),x.updateRealIndex())},x.updateRealIndex=function(){x.realIndex=parseInt(x.slides.eq(x.activeIndex).attr("data-swiper-slide-index")||x.activeIndex,10)},x.updateClasses=function(){x.slides.removeClass(x.params.slideActiveClass+" "+x.params.slideNextClass+" "+x.params.slidePrevClass+" "+x.params.slideDuplicateActiveClass+" "+x.params.slideDuplicateNextClass+" "+x.params.slideDuplicatePrevClass);var a=x.slides.eq(x.activeIndex);a.addClass(x.params.slideActiveClass),s.loop&&(a.hasClass(x.params.slideDuplicateClass)?x.wrapper.children("."+x.params.slideClass+":not(."+x.params.slideDuplicateClass+')[data-swiper-slide-index="'+x.realIndex+'"]').addClass(x.params.slideDuplicateActiveClass):x.wrapper.children("."+x.params.slideClass+"."+x.params.slideDuplicateClass+'[data-swiper-slide-index="'+x.realIndex+'"]').addClass(x.params.slideDuplicateActiveClass));var t=a.next("."+x.params.slideClass).addClass(x.params.slideNextClass);x.params.loop&&0===t.length&&(t=x.slides.eq(0),t.addClass(x.params.slideNextClass));var r=a.prev("."+x.params.slideClass).addClass(x.params.slidePrevClass);if(x.params.loop&&0===r.length&&(r=x.slides.eq(-1),r.addClass(x.params.slidePrevClass)),s.loop&&(t.hasClass(x.params.slideDuplicateClass)?x.wrapper.children("."+x.params.slideClass+":not(."+x.params.slideDuplicateClass+')[data-swiper-slide-index="'+t.attr("data-swiper-slide-index")+'"]').addClass(x.params.slideDuplicateNextClass):x.wrapper.children("."+x.params.slideClass+"."+x.params.slideDuplicateClass+'[data-swiper-slide-index="'+t.attr("data-swiper-slide-index")+'"]').addClass(x.params.slideDuplicateNextClass),r.hasClass(x.params.slideDuplicateClass)?x.wrapper.children("."+x.params.slideClass+":not(."+x.params.slideDuplicateClass+')[data-swiper-slide-index="'+r.attr("data-swiper-slide-index")+'"]').addClass(x.params.slideDuplicatePrevClass):x.wrapper.children("."+x.params.slideClass+"."+x.params.slideDuplicateClass+'[data-swiper-slide-index="'+r.attr("data-swiper-slide-index")+'"]').addClass(x.params.slideDuplicatePrevClass)),x.paginationContainer&&x.paginationContainer.length>0){var i,n=x.params.loop?Math.ceil((x.slides.length-2*x.loopedSlides)/x.params.slidesPerGroup):x.snapGrid.length;if(x.params.loop?(i=Math.ceil((x.activeIndex-x.loopedSlides)/x.params.slidesPerGroup),i>x.slides.length-1-2*x.loopedSlides&&(i-=x.slides.length-2*x.loopedSlides),i>n-1&&(i-=n),i<0&&"bullets"!==x.params.paginationType&&(i=n+i)):i=void 0!==x.snapIndex?x.snapIndex:x.activeIndex||0,"bullets"===x.params.paginationType&&x.bullets&&x.bullets.length>0&&(x.bullets.removeClass(x.params.bulletActiveClass),x.paginationContainer.length>1?x.bullets.each(function(){e(this).index()===i&&e(this).addClass(x.params.bulletActiveClass)}):x.bullets.eq(i).addClass(x.params.bulletActiveClass)),"fraction"===x.params.paginationType&&(x.paginationContainer.find("."+x.params.paginationCurrentClass).text(i+1),x.paginationContainer.find("."+x.params.paginationTotalClass).text(n)),"progress"===x.params.paginationType){var o=(i+1)/n,l=o,p=1;x.isHorizontal()||(p=o,l=1),x.paginationContainer.find("."+x.params.paginationProgressbarClass).transform("translate3d(0,0,0) scaleX("+l+") scaleY("+p+")").transition(x.params.speed)}"custom"===x.params.paginationType&&x.params.paginationCustomRender&&(x.paginationContainer.html(x.params.paginationCustomRender(x,i+1,n)),x.emit("onPaginationRendered",x,x.paginationContainer[0]))}x.params.loop||(x.params.prevButton&&x.prevButton&&x.prevButton.length>0&&(x.isBeginning?(x.prevButton.addClass(x.params.buttonDisabledClass),x.params.a11y&&x.a11y&&x.a11y.disable(x.prevButton)):(x.prevButton.removeClass(x.params.buttonDisabledClass),x.params.a11y&&x.a11y&&x.a11y.enable(x.prevButton))),x.params.nextButton&&x.nextButton&&x.nextButton.length>0&&(x.isEnd?(x.nextButton.addClass(x.params.buttonDisabledClass),x.params.a11y&&x.a11y&&x.a11y.disable(x.nextButton)):(x.nextButton.removeClass(x.params.buttonDisabledClass),x.params.a11y&&x.a11y&&x.a11y.enable(x.nextButton))))},x.updatePagination=function(){if(x.params.pagination&&x.paginationContainer&&x.paginationContainer.length>0){var e="";if("bullets"===x.params.paginationType){for(var a=x.params.loop?Math.ceil((x.slides.length-2*x.loopedSlides)/x.params.slidesPerGroup):x.snapGrid.length,t=0;t<a;t++)e+=x.params.paginationBulletRender?x.params.paginationBulletRender(x,t,x.params.bulletClass):"<"+x.params.paginationElement+' class="'+x.params.bulletClass+'"></'+x.params.paginationElement+">";x.paginationContainer.html(e),x.bullets=x.paginationContainer.find("."+x.params.bulletClass),x.params.paginationClickable&&x.params.a11y&&x.a11y&&x.a11y.initPagination()}"fraction"===x.params.paginationType&&(e=x.params.paginationFractionRender?x.params.paginationFractionRender(x,x.params.paginationCurrentClass,x.params.paginationTotalClass):'<span class="'+x.params.paginationCurrentClass+'"></span> / <span class="'+x.params.paginationTotalClass+'"></span>',x.paginationContainer.html(e)),"progress"===x.params.paginationType&&(e=x.params.paginationProgressRender?x.params.paginationProgressRender(x,x.params.paginationProgressbarClass):'<span class="'+x.params.paginationProgressbarClass+'"></span>',x.paginationContainer.html(e)),"custom"!==x.params.paginationType&&x.emit("onPaginationRendered",x,x.paginationContainer[0])}},x.update=function(e){function a(){x.rtl,x.translate;t=Math.min(Math.max(x.translate,x.maxTranslate()),x.minTranslate()),x.setWrapperTranslate(t),x.updateActiveIndex(),x.updateClasses()}if(x){x.updateContainerSize(),x.updateSlidesSize(),x.updateProgress(),x.updatePagination(),x.updateClasses(),x.params.scrollbar&&x.scrollbar&&x.scrollbar.set();var t;if(e){x.controller&&x.controller.spline&&(x.controller.spline=void 0),x.params.freeMode?(a(),x.params.autoHeight&&x.updateAutoHeight()):(("auto"===x.params.slidesPerView||x.params.slidesPerView>1)&&x.isEnd&&!x.params.centeredSlides?x.slideTo(x.slides.length-1,0,!1,!0):x.slideTo(x.activeIndex,0,!1,!0))||a()}else x.params.autoHeight&&x.updateAutoHeight()}},x.onResize=function(e){x.params.onBeforeResize&&x.params.onBeforeResize(x),x.params.breakpoints&&x.setBreakpoint();var a=x.params.allowSwipeToPrev,t=x.params.allowSwipeToNext;x.params.allowSwipeToPrev=x.params.allowSwipeToNext=!0,x.updateContainerSize(),x.updateSlidesSize(),("auto"===x.params.slidesPerView||x.params.freeMode||e)&&x.updatePagination(),x.params.scrollbar&&x.scrollbar&&x.scrollbar.set(),x.controller&&x.controller.spline&&(x.controller.spline=void 0);var s=!1;if(x.params.freeMode){var r=Math.min(Math.max(x.translate,x.maxTranslate()),x.minTranslate());x.setWrapperTranslate(r),x.updateActiveIndex(),x.updateClasses(),x.params.autoHeight&&x.updateAutoHeight()}else x.updateClasses(),s=("auto"===x.params.slidesPerView||x.params.slidesPerView>1)&&x.isEnd&&!x.params.centeredSlides?x.slideTo(x.slides.length-1,0,!1,!0):x.slideTo(x.activeIndex,0,!1,!0);x.params.lazyLoading&&!s&&x.lazy&&x.lazy.load(),x.params.allowSwipeToPrev=a,x.params.allowSwipeToNext=t,x.params.onAfterResize&&x.params.onAfterResize(x)},x.touchEventsDesktop={start:"mousedown",move:"mousemove",end:"mouseup"},window.navigator.pointerEnabled?x.touchEventsDesktop={start:"pointerdown",move:"pointermove",end:"pointerup"}:window.navigator.msPointerEnabled&&(x.touchEventsDesktop={start:"MSPointerDown",move:"MSPointerMove",end:"MSPointerUp"}),x.touchEvents={start:x.support.touch||!x.params.simulateTouch?"touchstart":x.touchEventsDesktop.start,move:x.support.touch||!x.params.simulateTouch?"touchmove":x.touchEventsDesktop.move,end:x.support.touch||!x.params.simulateTouch?"touchend":x.touchEventsDesktop.end},(window.navigator.pointerEnabled||window.navigator.msPointerEnabled)&&("container"===x.params.touchEventsTarget?x.container:x.wrapper).addClass("swiper-wp8-"+x.params.direction),x.initEvents=function(e){var a=e?"off":"on",t=e?"removeEventListener":"addEventListener",r="container"===x.params.touchEventsTarget?x.container[0]:x.wrapper[0],i=x.support.touch?r:document,n=!!x.params.nested;if(x.browser.ie)r[t](x.touchEvents.start,x.onTouchStart,!1),i[t](x.touchEvents.move,x.onTouchMove,n),i[t](x.touchEvents.end,x.onTouchEnd,!1);else{if(x.support.touch){var o=!("touchstart"!==x.touchEvents.start||!x.support.passiveListener||!x.params.passiveListeners)&&{passive:!0,capture:!1};r[t](x.touchEvents.start,x.onTouchStart,o),r[t](x.touchEvents.move,x.onTouchMove,n),r[t](x.touchEvents.end,x.onTouchEnd,o)}(s.simulateTouch&&!x.device.ios&&!x.device.android||s.simulateTouch&&!x.support.touch&&x.device.ios)&&(r[t]("mousedown",x.onTouchStart,!1),document[t]("mousemove",x.onTouchMove,n),document[t]("mouseup",x.onTouchEnd,!1))}window[t]("resize",x.onResize),x.params.nextButton&&x.nextButton&&x.nextButton.length>0&&(x.nextButton[a]("click",x.onClickNext),x.params.a11y&&x.a11y&&x.nextButton[a]("keydown",x.a11y.onEnterKey)),x.params.prevButton&&x.prevButton&&x.prevButton.length>0&&(x.prevButton[a]("click",x.onClickPrev),x.params.a11y&&x.a11y&&x.prevButton[a]("keydown",x.a11y.onEnterKey)),x.params.pagination&&x.params.paginationClickable&&(x.paginationContainer[a]("click","."+x.params.bulletClass,x.onClickIndex),x.params.a11y&&x.a11y&&x.paginationContainer[a]("keydown","."+x.params.bulletClass,x.a11y.onEnterKey)),(x.params.preventClicks||x.params.preventClicksPropagation)&&r[t]("click",x.preventClicks,!0)},x.attachEvents=function(){x.initEvents()},x.detachEvents=function(){x.initEvents(!0)},x.allowClick=!0,x.preventClicks=function(e){x.allowClick||(x.params.preventClicks&&e.preventDefault(),x.params.preventClicksPropagation&&x.animating&&(e.stopPropagation(),e.stopImmediatePropagation()))},x.onClickNext=function(e){e.preventDefault(),x.isEnd&&!x.params.loop||x.slideNext()},x.onClickPrev=function(e){e.preventDefault(),x.isBeginning&&!x.params.loop||x.slidePrev()},x.onClickIndex=function(a){a.preventDefault();var t=e(this).index()*x.params.slidesPerGroup
;x.params.loop&&(t+=x.loopedSlides),x.slideTo(t)},x.updateClickedSlide=function(a){var t=n(a,"."+x.params.slideClass),s=!1;if(t)for(var r=0;r<x.slides.length;r++)x.slides[r]===t&&(s=!0);if(!t||!s)return x.clickedSlide=void 0,void(x.clickedIndex=void 0);if(x.clickedSlide=t,x.clickedIndex=e(t).index(),x.params.slideToClickedSlide&&void 0!==x.clickedIndex&&x.clickedIndex!==x.activeIndex){var i,o=x.clickedIndex,l="auto"===x.params.slidesPerView?x.currentSlidesPerView():x.params.slidesPerView;if(x.params.loop){if(x.animating)return;i=parseInt(e(x.clickedSlide).attr("data-swiper-slide-index"),10),x.params.centeredSlides?o<x.loopedSlides-l/2||o>x.slides.length-x.loopedSlides+l/2?(x.fixLoop(),o=x.wrapper.children("."+x.params.slideClass+'[data-swiper-slide-index="'+i+'"]:not(.'+x.params.slideDuplicateClass+")").eq(0).index(),setTimeout(function(){x.slideTo(o)},0)):x.slideTo(o):o>x.slides.length-l?(x.fixLoop(),o=x.wrapper.children("."+x.params.slideClass+'[data-swiper-slide-index="'+i+'"]:not(.'+x.params.slideDuplicateClass+")").eq(0).index(),setTimeout(function(){x.slideTo(o)},0)):x.slideTo(o)}else x.slideTo(o)}};var b,C,S,z,M,P,E,I,k,D,L="input, select, textarea, button, video",B=Date.now(),H=[];x.animating=!1,x.touches={startX:0,startY:0,currentX:0,currentY:0,diff:0};var G,X;x.onTouchStart=function(a){if(a.originalEvent&&(a=a.originalEvent),(G="touchstart"===a.type)||!("which"in a)||3!==a.which){if(x.params.noSwiping&&n(a,"."+x.params.noSwipingClass))return void(x.allowClick=!0);if(!x.params.swipeHandler||n(a,x.params.swipeHandler)){var t=x.touches.currentX="touchstart"===a.type?a.targetTouches[0].pageX:a.pageX,s=x.touches.currentY="touchstart"===a.type?a.targetTouches[0].pageY:a.pageY;if(!(x.device.ios&&x.params.iOSEdgeSwipeDetection&&t<=x.params.iOSEdgeSwipeThreshold)){if(b=!0,C=!1,S=!0,M=void 0,X=void 0,x.touches.startX=t,x.touches.startY=s,z=Date.now(),x.allowClick=!0,x.updateContainerSize(),x.swipeDirection=void 0,x.params.threshold>0&&(I=!1),"touchstart"!==a.type){var r=!0;e(a.target).is(L)&&(r=!1),document.activeElement&&e(document.activeElement).is(L)&&document.activeElement.blur(),r&&a.preventDefault()}x.emit("onTouchStart",x,a)}}}},x.onTouchMove=function(a){if(a.originalEvent&&(a=a.originalEvent),!G||"mousemove"!==a.type){if(a.preventedByNestedSwiper)return x.touches.startX="touchmove"===a.type?a.targetTouches[0].pageX:a.pageX,void(x.touches.startY="touchmove"===a.type?a.targetTouches[0].pageY:a.pageY);if(x.params.onlyExternal)return x.allowClick=!1,void(b&&(x.touches.startX=x.touches.currentX="touchmove"===a.type?a.targetTouches[0].pageX:a.pageX,x.touches.startY=x.touches.currentY="touchmove"===a.type?a.targetTouches[0].pageY:a.pageY,z=Date.now()));if(G&&x.params.touchReleaseOnEdges&&!x.params.loop)if(x.isHorizontal()){if(x.touches.currentX<x.touches.startX&&x.translate<=x.maxTranslate()||x.touches.currentX>x.touches.startX&&x.translate>=x.minTranslate())return}else if(x.touches.currentY<x.touches.startY&&x.translate<=x.maxTranslate()||x.touches.currentY>x.touches.startY&&x.translate>=x.minTranslate())return;if(G&&document.activeElement&&a.target===document.activeElement&&e(a.target).is(L))return C=!0,void(x.allowClick=!1);if(S&&x.emit("onTouchMove",x,a),!(a.targetTouches&&a.targetTouches.length>1)){if(x.touches.currentX="touchmove"===a.type?a.targetTouches[0].pageX:a.pageX,x.touches.currentY="touchmove"===a.type?a.targetTouches[0].pageY:a.pageY,void 0===M){var t;x.isHorizontal()&&x.touches.currentY===x.touches.startY||!x.isHorizontal()&&x.touches.currentX===x.touches.startX?M=!1:(t=180*Math.atan2(Math.abs(x.touches.currentY-x.touches.startY),Math.abs(x.touches.currentX-x.touches.startX))/Math.PI,M=x.isHorizontal()?t>x.params.touchAngle:90-t>x.params.touchAngle)}if(M&&x.emit("onTouchMoveOpposite",x,a),void 0===X&&(x.touches.currentX===x.touches.startX&&x.touches.currentY===x.touches.startY||(X=!0)),b){if(M)return void(b=!1);if(X){x.allowClick=!1,x.emit("onSliderMove",x,a),a.preventDefault(),x.params.touchMoveStopPropagation&&!x.params.nested&&a.stopPropagation(),C||(s.loop&&x.fixLoop(),E=x.getWrapperTranslate(),x.setWrapperTransition(0),x.animating&&x.wrapper.trigger("webkitTransitionEnd transitionend oTransitionEnd MSTransitionEnd msTransitionEnd"),x.params.autoplay&&x.autoplaying&&(x.params.autoplayDisableOnInteraction?x.stopAutoplay():x.pauseAutoplay()),D=!1,!x.params.grabCursor||x.params.allowSwipeToNext!==!0&&x.params.allowSwipeToPrev!==!0||x.setGrabCursor(!0)),C=!0;var r=x.touches.diff=x.isHorizontal()?x.touches.currentX-x.touches.startX:x.touches.currentY-x.touches.startY;r*=x.params.touchRatio,x.rtl&&(r=-r),x.swipeDirection=r>0?"prev":"next",P=r+E;var i=!0;if(r>0&&P>x.minTranslate()?(i=!1,x.params.resistance&&(P=x.minTranslate()-1+Math.pow(-x.minTranslate()+E+r,x.params.resistanceRatio))):r<0&&P<x.maxTranslate()&&(i=!1,x.params.resistance&&(P=x.maxTranslate()+1-Math.pow(x.maxTranslate()-E-r,x.params.resistanceRatio))),i&&(a.preventedByNestedSwiper=!0),!x.params.allowSwipeToNext&&"next"===x.swipeDirection&&P<E&&(P=E),!x.params.allowSwipeToPrev&&"prev"===x.swipeDirection&&P>E&&(P=E),x.params.threshold>0){if(!(Math.abs(r)>x.params.threshold||I))return void(P=E);if(!I)return I=!0,x.touches.startX=x.touches.currentX,x.touches.startY=x.touches.currentY,P=E,void(x.touches.diff=x.isHorizontal()?x.touches.currentX-x.touches.startX:x.touches.currentY-x.touches.startY)}x.params.followFinger&&((x.params.freeMode||x.params.watchSlidesProgress)&&x.updateActiveIndex(),x.params.freeMode&&(0===H.length&&H.push({position:x.touches[x.isHorizontal()?"startX":"startY"],time:z}),H.push({position:x.touches[x.isHorizontal()?"currentX":"currentY"],time:(new window.Date).getTime()})),x.updateProgress(P),x.setWrapperTranslate(P))}}}}},x.onTouchEnd=function(a){if(a.originalEvent&&(a=a.originalEvent),S&&x.emit("onTouchEnd",x,a),S=!1,b){x.params.grabCursor&&C&&b&&(x.params.allowSwipeToNext===!0||x.params.allowSwipeToPrev===!0)&&x.setGrabCursor(!1);var t=Date.now(),s=t-z;if(x.allowClick&&(x.updateClickedSlide(a),x.emit("onTap",x,a),s<300&&t-B>300&&(k&&clearTimeout(k),k=setTimeout(function(){x&&(x.params.paginationHide&&x.paginationContainer.length>0&&!e(a.target).hasClass(x.params.bulletClass)&&x.paginationContainer.toggleClass(x.params.paginationHiddenClass),x.emit("onClick",x,a))},300)),s<300&&t-B<300&&(k&&clearTimeout(k),x.emit("onDoubleTap",x,a))),B=Date.now(),setTimeout(function(){x&&(x.allowClick=!0)},0),!b||!C||!x.swipeDirection||0===x.touches.diff||P===E)return void(b=C=!1);b=C=!1;var r;if(r=x.params.followFinger?x.rtl?x.translate:-x.translate:-P,x.params.freeMode){if(r<-x.minTranslate())return void x.slideTo(x.activeIndex);if(r>-x.maxTranslate())return void(x.slides.length<x.snapGrid.length?x.slideTo(x.snapGrid.length-1):x.slideTo(x.slides.length-1));if(x.params.freeModeMomentum){if(H.length>1){var i=H.pop(),n=H.pop(),o=i.position-n.position,l=i.time-n.time;x.velocity=o/l,x.velocity=x.velocity/2,Math.abs(x.velocity)<x.params.freeModeMinimumVelocity&&(x.velocity=0),(l>150||(new window.Date).getTime()-i.time>300)&&(x.velocity=0)}else x.velocity=0;x.velocity=x.velocity*x.params.freeModeMomentumVelocityRatio,H.length=0;var p=1e3*x.params.freeModeMomentumRatio,d=x.velocity*p,m=x.translate+d;x.rtl&&(m=-m);var u,c=!1,g=20*Math.abs(x.velocity)*x.params.freeModeMomentumBounceRatio;if(m<x.maxTranslate())x.params.freeModeMomentumBounce?(m+x.maxTranslate()<-g&&(m=x.maxTranslate()-g),u=x.maxTranslate(),c=!0,D=!0):m=x.maxTranslate();else if(m>x.minTranslate())x.params.freeModeMomentumBounce?(m-x.minTranslate()>g&&(m=x.minTranslate()+g),u=x.minTranslate(),c=!0,D=!0):m=x.minTranslate();else if(x.params.freeModeSticky){var h,v=0;for(v=0;v<x.snapGrid.length;v+=1)if(x.snapGrid[v]>-m){h=v;break}m=Math.abs(x.snapGrid[h]-m)<Math.abs(x.snapGrid[h-1]-m)||"next"===x.swipeDirection?x.snapGrid[h]:x.snapGrid[h-1],x.rtl||(m=-m)}if(0!==x.velocity)p=x.rtl?Math.abs((-m-x.translate)/x.velocity):Math.abs((m-x.translate)/x.velocity);else if(x.params.freeModeSticky)return void x.slideReset();x.params.freeModeMomentumBounce&&c?(x.updateProgress(u),x.setWrapperTransition(p),x.setWrapperTranslate(m),x.onTransitionStart(),x.animating=!0,x.wrapper.transitionEnd(function(){x&&D&&(x.emit("onMomentumBounce",x),x.setWrapperTransition(x.params.speed),x.setWrapperTranslate(u),x.wrapper.transitionEnd(function(){x&&x.onTransitionEnd()}))})):x.velocity?(x.updateProgress(m),x.setWrapperTransition(p),x.setWrapperTranslate(m),x.onTransitionStart(),x.animating||(x.animating=!0,x.wrapper.transitionEnd(function(){x&&x.onTransitionEnd()}))):x.updateProgress(m),x.updateActiveIndex()}return void((!x.params.freeModeMomentum||s>=x.params.longSwipesMs)&&(x.updateProgress(),x.updateActiveIndex()))}var f,w=0,y=x.slidesSizesGrid[0];for(f=0;f<x.slidesGrid.length;f+=x.params.slidesPerGroup)void 0!==x.slidesGrid[f+x.params.slidesPerGroup]?r>=x.slidesGrid[f]&&r<x.slidesGrid[f+x.params.slidesPerGroup]&&(w=f,y=x.slidesGrid[f+x.params.slidesPerGroup]-x.slidesGrid[f]):r>=x.slidesGrid[f]&&(w=f,y=x.slidesGrid[x.slidesGrid.length-1]-x.slidesGrid[x.slidesGrid.length-2]);var T=(r-x.slidesGrid[w])/y;if(s>x.params.longSwipesMs){if(!x.params.longSwipes)return void x.slideTo(x.activeIndex);"next"===x.swipeDirection&&(T>=x.params.longSwipesRatio?x.slideTo(w+x.params.slidesPerGroup):x.slideTo(w)),"prev"===x.swipeDirection&&(T>1-x.params.longSwipesRatio?x.slideTo(w+x.params.slidesPerGroup):x.slideTo(w))}else{if(!x.params.shortSwipes)return void x.slideTo(x.activeIndex);"next"===x.swipeDirection&&x.slideTo(w+x.params.slidesPerGroup),"prev"===x.swipeDirection&&x.slideTo(w)}}},x._slideTo=function(e,a){return x.slideTo(e,a,!0,!0)},x.slideTo=function(e,a,t,s){void 0===t&&(t=!0),void 0===e&&(e=0),e<0&&(e=0),x.snapIndex=Math.floor(e/x.params.slidesPerGroup),x.snapIndex>=x.snapGrid.length&&(x.snapIndex=x.snapGrid.length-1);var r=-x.snapGrid[x.snapIndex];if(x.params.autoplay&&x.autoplaying&&(s||!x.params.autoplayDisableOnInteraction?x.pauseAutoplay(a):x.stopAutoplay()),x.updateProgress(r),x.params.normalizeSlideIndex)for(var i=0;i<x.slidesGrid.length;i++)-Math.floor(100*r)>=Math.floor(100*x.slidesGrid[i])&&(e=i);return!(!x.params.allowSwipeToNext&&r<x.translate&&r<x.minTranslate())&&(!(!x.params.allowSwipeToPrev&&r>x.translate&&r>x.maxTranslate()&&(x.activeIndex||0)!==e)&&(void 0===a&&(a=x.params.speed),x.previousIndex=x.activeIndex||0,x.activeIndex=e,x.updateRealIndex(),x.rtl&&-r===x.translate||!x.rtl&&r===x.translate?(x.params.autoHeight&&x.updateAutoHeight(),x.updateClasses(),"slide"!==x.params.effect&&x.setWrapperTranslate(r),!1):(x.updateClasses(),x.onTransitionStart(t),0===a||x.browser.lteIE9?(x.setWrapperTranslate(r),x.setWrapperTransition(0),x.onTransitionEnd(t)):(x.setWrapperTranslate(r),x.setWrapperTransition(a),x.animating||(x.animating=!0,x.wrapper.transitionEnd(function(){x&&x.onTransitionEnd(t)}))),!0)))},x.onTransitionStart=function(e){void 0===e&&(e=!0),x.params.autoHeight&&x.updateAutoHeight(),x.lazy&&x.lazy.onTransitionStart(),e&&(x.emit("onTransitionStart",x),x.activeIndex!==x.previousIndex&&(x.emit("onSlideChangeStart",x),x.activeIndex>x.previousIndex?x.emit("onSlideNextStart",x):x.emit("onSlidePrevStart",x)))},x.onTransitionEnd=function(e){x.animating=!1,x.setWrapperTransition(0),void 0===e&&(e=!0),x.lazy&&x.lazy.onTransitionEnd(),e&&(x.emit("onTransitionEnd",x),x.activeIndex!==x.previousIndex&&(x.emit("onSlideChangeEnd",x),x.activeIndex>x.previousIndex?x.emit("onSlideNextEnd",x):x.emit("onSlidePrevEnd",x))),x.params.history&&x.history&&x.history.setHistory(x.params.history,x.activeIndex),x.params.hashnav&&x.hashnav&&x.hashnav.setHash()},x.slideNext=function(e,a,t){if(x.params.loop){if(x.animating)return!1;x.fixLoop();x.container[0].clientLeft;return x.slideTo(x.activeIndex+x.params.slidesPerGroup,a,e,t)}return x.slideTo(x.activeIndex+x.params.slidesPerGroup,a,e,t)},x._slideNext=function(e){return x.slideNext(!0,e,!0)},x.slidePrev=function(e,a,t){if(x.params.loop){if(x.animating)return!1;x.fixLoop();x.container[0].clientLeft;return x.slideTo(x.activeIndex-1,a,e,t)}return x.slideTo(x.activeIndex-1,a,e,t)},x._slidePrev=function(e){return x.slidePrev(!0,e,!0)},x.slideReset=function(e,a,t){return x.slideTo(x.activeIndex,a,e)},x.disableTouchControl=function(){return x.params.onlyExternal=!0,!0},x.enableTouchControl=function(){return x.params.onlyExternal=!1,!0},x.setWrapperTransition=function(e,a){x.wrapper.transition(e),"slide"!==x.params.effect&&x.effects[x.params.effect]&&x.effects[x.params.effect].setTransition(e),x.params.parallax&&x.parallax&&x.parallax.setTransition(e),x.params.scrollbar&&x.scrollbar&&x.scrollbar.setTransition(e),x.params.control&&x.controller&&x.controller.setTransition(e,a),x.emit("onSetTransition",x,e)},x.setWrapperTranslate=function(e,a,t){var s=0,i=0;x.isHorizontal()?s=x.rtl?-e:e:i=e,x.params.roundLengths&&(s=r(s),i=r(i)),x.params.virtualTranslate||(x.support.transforms3d?x.wrapper.transform("translate3d("+s+"px, "+i+"px, 0px)"):x.wrapper.transform("translate("+s+"px, "+i+"px)")),x.translate=x.isHorizontal()?s:i;var n,o=x.maxTranslate()-x.minTranslate();n=0===o?0:(e-x.minTranslate())/o,n!==x.progress&&x.updateProgress(e),a&&x.updateActiveIndex(),"slide"!==x.params.effect&&x.effects[x.params.effect]&&x.effects[x.params.effect].setTranslate(x.translate),x.params.parallax&&x.parallax&&x.parallax.setTranslate(x.translate),x.params.scrollbar&&x.scrollbar&&x.scrollbar.setTranslate(x.translate),x.params.control&&x.controller&&x.controller.setTranslate(x.translate,t),x.emit("onSetTranslate",x,x.translate)},x.getTranslate=function(e,a){var t,s,r,i;return void 0===a&&(a="x"),x.params.virtualTranslate?x.rtl?-x.translate:x.translate:(r=window.getComputedStyle(e,null),window.WebKitCSSMatrix?(s=r.transform||r.webkitTransform,s.split(",").length>6&&(s=s.split(", ").map(function(e){return e.replace(",",".")}).join(", ")),i=new window.WebKitCSSMatrix("none"===s?"":s)):(i=r.MozTransform||r.OTransform||r.MsTransform||r.msTransform||r.transform||r.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,"),t=i.toString().split(",")),"x"===a&&(s=window.WebKitCSSMatrix?i.m41:16===t.length?parseFloat(t[12]):parseFloat(t[4])),"y"===a&&(s=window.WebKitCSSMatrix?i.m42:16===t.length?parseFloat(t[13]):parseFloat(t[5])),x.rtl&&s&&(s=-s),s||0)},x.getWrapperTranslate=function(e){return void 0===e&&(e=x.isHorizontal()?"x":"y"),x.getTranslate(x.wrapper[0],e)},x.observers=[],x.initObservers=function(){if(x.params.observeParents)for(var e=x.container.parents(),a=0;a<e.length;a++)o(e[a]);o(x.container[0],{childList:!1}),o(x.wrapper[0],{attributes:!1})},x.disconnectObservers=function(){for(var e=0;e<x.observers.length;e++)x.observers[e].disconnect();x.observers=[]},x.createLoop=function(){x.wrapper.children("."+x.params.slideClass+"."+x.params.slideDuplicateClass).remove();var a=x.wrapper.children("."+x.params.slideClass);"auto"!==x.params.slidesPerView||x.params.loopedSlides||(x.params.loopedSlides=a.length),x.loopedSlides=parseInt(x.params.loopedSlides||x.params.slidesPerView,10),x.loopedSlides=x.loopedSlides+x.params.loopAdditionalSlides,x.loopedSlides>a.length&&(x.loopedSlides=a.length);var t,s=[],r=[];for(a.each(function(t,i){var n=e(this);t<x.loopedSlides&&r.push(i),t<a.length&&t>=a.length-x.loopedSlides&&s.push(i),n.attr("data-swiper-slide-index",t)}),t=0;t<r.length;t++)x.wrapper.append(e(r[t].cloneNode(!0)).addClass(x.params.slideDuplicateClass));for(t=s.length-1;t>=0;t--)x.wrapper.prepend(e(s[t].cloneNode(!0)).addClass(x.params.slideDuplicateClass))},x.destroyLoop=function(){x.wrapper.children("."+x.params.slideClass+"."+x.params.slideDuplicateClass).remove(),x.slides.removeAttr("data-swiper-slide-index")},x.reLoop=function(e){var a=x.activeIndex-x.loopedSlides;x.destroyLoop(),x.createLoop(),x.updateSlidesSize(),e&&x.slideTo(a+x.loopedSlides,0,!1)},x.fixLoop=function(){var e;x.activeIndex<x.loopedSlides?(e=x.slides.length-3*x.loopedSlides+x.activeIndex,e+=x.loopedSlides,x.slideTo(e,0,!1,!0)):("auto"===x.params.slidesPerView&&x.activeIndex>=2*x.loopedSlides||x.activeIndex>x.slides.length-2*x.params.slidesPerView)&&(e=-x.slides.length+x.activeIndex+x.loopedSlides,e+=x.loopedSlides,x.slideTo(e,0,!1,!0))},x.appendSlide=function(e){if(x.params.loop&&x.destroyLoop(),"object"==typeof e&&e.length)for(var a=0;a<e.length;a++)e[a]&&x.wrapper.append(e[a]);else x.wrapper.append(e);x.params.loop&&x.createLoop(),x.params.observer&&x.support.observer||x.update(!0)},x.prependSlide=function(e){x.params.loop&&x.destroyLoop();var a=x.activeIndex+1;if("object"==typeof e&&e.length){for(var t=0;t<e.length;t++)e[t]&&x.wrapper.prepend(e[t]);a=x.activeIndex+e.length}else x.wrapper.prepend(e);x.params.loop&&x.createLoop(),x.params.observer&&x.support.observer||x.update(!0),x.slideTo(a,0,!1)},x.removeSlide=function(e){x.params.loop&&(x.destroyLoop(),x.slides=x.wrapper.children("."+x.params.slideClass));var a,t=x.activeIndex;if("object"==typeof e&&e.length){for(var s=0;s<e.length;s++)a=e[s],x.slides[a]&&x.slides.eq(a).remove(),a<t&&t--;t=Math.max(t,0)}else a=e,x.slides[a]&&x.slides.eq(a).remove(),a<t&&t--,t=Math.max(t,0);x.params.loop&&x.createLoop(),x.params.observer&&x.support.observer||x.update(!0),x.params.loop?x.slideTo(t+x.loopedSlides,0,!1):x.slideTo(t,0,!1)},x.removeAllSlides=function(){for(var e=[],a=0;a<x.slides.length;a++)e.push(a);x.removeSlide(e)},x.effects={fade:{setTranslate:function(){for(var e=0;e<x.slides.length;e++){var a=x.slides.eq(e),t=a[0].swiperSlideOffset,s=-t;x.params.virtualTranslate||(s-=x.translate);var r=0;x.isHorizontal()||(r=s,s=0);var i=x.params.fade.crossFade?Math.max(1-Math.abs(a[0].progress),0):1+Math.min(Math.max(a[0].progress,-1),0);a.css({opacity:i}).transform("translate3d("+s+"px, "+r+"px, 0px)")}},setTransition:function(e){if(x.slides.transition(e),x.params.virtualTranslate&&0!==e){var a=!1;x.slides.transitionEnd(function(){if(!a&&x){a=!0,x.animating=!1;for(var e=["webkitTransitionEnd","transitionend","oTransitionEnd","MSTransitionEnd","msTransitionEnd"],t=0;t<e.length;t++)x.wrapper.trigger(e[t])}})}}},flip:{setTranslate:function(){for(var a=0;a<x.slides.length;a++){var t=x.slides.eq(a),s=t[0].progress;x.params.flip.limitRotation&&(s=Math.max(Math.min(t[0].progress,1),-1));var r=t[0].swiperSlideOffset,i=-180*s,n=i,o=0,l=-r,p=0;if(x.isHorizontal()?x.rtl&&(n=-n):(p=l,l=0,o=-n,n=0),t[0].style.zIndex=-Math.abs(Math.round(s))+x.slides.length,x.params.flip.slideShadows){var d=x.isHorizontal()?t.find(".swiper-slide-shadow-left"):t.find(".swiper-slide-shadow-top"),m=x.isHorizontal()?t.find(".swiper-slide-shadow-right"):t.find(".swiper-slide-shadow-bottom");0===d.length&&(d=e('<div class="swiper-slide-shadow-'+(x.isHorizontal()?"left":"top")+'"></div>'),t.append(d)),0===m.length&&(m=e('<div class="swiper-slide-shadow-'+(x.isHorizontal()?"right":"bottom")+'"></div>'),t.append(m)),d.length&&(d[0].style.opacity=Math.max(-s,0)),m.length&&(m[0].style.opacity=Math.max(s,0))}t.transform("translate3d("+l+"px, "+p+"px, 0px) rotateX("+o+"deg) rotateY("+n+"deg)")}},setTransition:function(a){if(x.slides.transition(a).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(a),x.params.virtualTranslate&&0!==a){var t=!1;x.slides.eq(x.activeIndex).transitionEnd(function(){if(!t&&x&&e(this).hasClass(x.params.slideActiveClass)){t=!0,x.animating=!1;for(var a=["webkitTransitionEnd","transitionend","oTransitionEnd","MSTransitionEnd","msTransitionEnd"],s=0;s<a.length;s++)x.wrapper.trigger(a[s])}})}}},cube:{setTranslate:function(){var a,t=0;x.params.cube.shadow&&(x.isHorizontal()?(a=x.wrapper.find(".swiper-cube-shadow"),0===a.length&&(a=e('<div class="swiper-cube-shadow"></div>'),x.wrapper.append(a)),a.css({height:x.width+"px"})):(a=x.container.find(".swiper-cube-shadow"),0===a.length&&(a=e('<div class="swiper-cube-shadow"></div>'),x.container.append(a))));for(var s=0;s<x.slides.length;s++){var r=x.slides.eq(s),i=90*s,n=Math.floor(i/360);x.rtl&&(i=-i,n=Math.floor(-i/360));var o=Math.max(Math.min(r[0].progress,1),-1),l=0,p=0,d=0;s%4==0?(l=4*-n*x.size,d=0):(s-1)%4==0?(l=0,d=4*-n*x.size):(s-2)%4==0?(l=x.size+4*n*x.size,d=x.size):(s-3)%4==0&&(l=-x.size,d=3*x.size+4*x.size*n),x.rtl&&(l=-l),x.isHorizontal()||(p=l,l=0);var m="rotateX("+(x.isHorizontal()?0:-i)+"deg) rotateY("+(x.isHorizontal()?i:0)+"deg) translate3d("+l+"px, "+p+"px, "+d+"px)";if(o<=1&&o>-1&&(t=90*s+90*o,x.rtl&&(t=90*-s-90*o)),r.transform(m),x.params.cube.slideShadows){var u=x.isHorizontal()?r.find(".swiper-slide-shadow-left"):r.find(".swiper-slide-shadow-top"),c=x.isHorizontal()?r.find(".swiper-slide-shadow-right"):r.find(".swiper-slide-shadow-bottom");0===u.length&&(u=e('<div class="swiper-slide-shadow-'+(x.isHorizontal()?"left":"top")+'"></div>'),r.append(u)),0===c.length&&(c=e('<div class="swiper-slide-shadow-'+(x.isHorizontal()?"right":"bottom")+'"></div>'),r.append(c)),u.length&&(u[0].style.opacity=Math.max(-o,0)),c.length&&(c[0].style.opacity=Math.max(o,0))}}if(x.wrapper.css({"-webkit-transform-origin":"50% 50% -"+x.size/2+"px","-moz-transform-origin":"50% 50% -"+x.size/2+"px","-ms-transform-origin":"50% 50% -"+x.size/2+"px","transform-origin":"50% 50% -"+x.size/2+"px"}),x.params.cube.shadow)if(x.isHorizontal())a.transform("translate3d(0px, "+(x.width/2+x.params.cube.shadowOffset)+"px, "+-x.width/2+"px) rotateX(90deg) rotateZ(0deg) scale("+x.params.cube.shadowScale+")");else{var g=Math.abs(t)-90*Math.floor(Math.abs(t)/90),h=1.5-(Math.sin(2*g*Math.PI/360)/2+Math.cos(2*g*Math.PI/360)/2),v=x.params.cube.shadowScale,f=x.params.cube.shadowScale/h,w=x.params.cube.shadowOffset;a.transform("scale3d("+v+", 1, "+f+") translate3d(0px, "+(x.height/2+w)+"px, "+-x.height/2/f+"px) rotateX(-90deg)")}var y=x.isSafari||x.isUiWebView?-x.size/2:0;x.wrapper.transform("translate3d(0px,0,"+y+"px) rotateX("+(x.isHorizontal()?0:t)+"deg) rotateY("+(x.isHorizontal()?-t:0)+"deg)")},setTransition:function(e){x.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e),x.params.cube.shadow&&!x.isHorizontal()&&x.container.find(".swiper-cube-shadow").transition(e)}},coverflow:{setTranslate:function(){for(var a=x.translate,t=x.isHorizontal()?-a+x.width/2:-a+x.height/2,s=x.isHorizontal()?x.params.coverflow.rotate:-x.params.coverflow.rotate,r=x.params.coverflow.depth,i=0,n=x.slides.length;i<n;i++){var o=x.slides.eq(i),l=x.slidesSizesGrid[i],p=o[0].swiperSlideOffset,d=(t-p-l/2)/l*x.params.coverflow.modifier,m=x.isHorizontal()?s*d:0,u=x.isHorizontal()?0:s*d,c=-r*Math.abs(d),g=x.isHorizontal()?0:x.params.coverflow.stretch*d,h=x.isHorizontal()?x.params.coverflow.stretch*d:0;Math.abs(h)<.001&&(h=0),Math.abs(g)<.001&&(g=0),Math.abs(c)<.001&&(c=0),Math.abs(m)<.001&&(m=0),Math.abs(u)<.001&&(u=0);var v="translate3d("+h+"px,"+g+"px,"+c+"px) rotateX("+u+"deg) rotateY("+m+"deg)";if(o.transform(v),o[0].style.zIndex=1-Math.abs(Math.round(d)),x.params.coverflow.slideShadows){var f=x.isHorizontal()?o.find(".swiper-slide-shadow-left"):o.find(".swiper-slide-shadow-top"),w=x.isHorizontal()?o.find(".swiper-slide-shadow-right"):o.find(".swiper-slide-shadow-bottom");0===f.length&&(f=e('<div class="swiper-slide-shadow-'+(x.isHorizontal()?"left":"top")+'"></div>'),o.append(f)),0===w.length&&(w=e('<div class="swiper-slide-shadow-'+(x.isHorizontal()?"right":"bottom")+'"></div>'),o.append(w)),f.length&&(f[0].style.opacity=d>0?d:0),w.length&&(w[0].style.opacity=-d>0?-d:0)}}if(x.browser.ie){x.wrapper[0].style.perspectiveOrigin=t+"px 50%"}},setTransition:function(e){x.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e)}}},x.lazy={initialImageLoaded:!1,loadImageInSlide:function(a,t){if(void 0!==a&&(void 0===t&&(t=!0),0!==x.slides.length)){var s=x.slides.eq(a),r=s.find("."+x.params.lazyLoadingClass+":not(."+x.params.lazyStatusLoadedClass+"):not(."+x.params.lazyStatusLoadingClass+")");!s.hasClass(x.params.lazyLoadingClass)||s.hasClass(x.params.lazyStatusLoadedClass)||s.hasClass(x.params.lazyStatusLoadingClass)||(r=r.add(s[0])),0!==r.length&&r.each(function(){var a=e(this);a.addClass(x.params.lazyStatusLoadingClass);var r=a.attr("data-background"),i=a.attr("data-src"),n=a.attr("data-srcset"),o=a.attr("data-sizes");x.loadImage(a[0],i||r,n,o,!1,function(){if(void 0!==x&&null!==x&&x){if(r?(a.css("background-image",'url("'+r+'")'),a.removeAttr("data-background")):(n&&(a.attr("srcset",n),a.removeAttr("data-srcset")),o&&(a.attr("sizes",o),a.removeAttr("data-sizes")),i&&(a.attr("src",i),a.removeAttr("data-src"))),a.addClass(x.params.lazyStatusLoadedClass).removeClass(x.params.lazyStatusLoadingClass),s.find("."+x.params.lazyPreloaderClass+", ."+x.params.preloaderClass).remove(),x.params.loop&&t){var e=s.attr("data-swiper-slide-index");if(s.hasClass(x.params.slideDuplicateClass)){var l=x.wrapper.children('[data-swiper-slide-index="'+e+'"]:not(.'+x.params.slideDuplicateClass+")");x.lazy.loadImageInSlide(l.index(),!1)}else{var p=x.wrapper.children("."+x.params.slideDuplicateClass+'[data-swiper-slide-index="'+e+'"]');x.lazy.loadImageInSlide(p.index(),!1)}}x.emit("onLazyImageReady",x,s[0],a[0])}}),x.emit("onLazyImageLoad",x,s[0],a[0])})}},load:function(){var a,t=x.params.slidesPerView;if("auto"===t&&(t=0),x.lazy.initialImageLoaded||(x.lazy.initialImageLoaded=!0),x.params.watchSlidesVisibility)x.wrapper.children("."+x.params.slideVisibleClass).each(function(){x.lazy.loadImageInSlide(e(this).index())});else if(t>1)for(a=x.activeIndex;a<x.activeIndex+t;a++)x.slides[a]&&x.lazy.loadImageInSlide(a);else x.lazy.loadImageInSlide(x.activeIndex);if(x.params.lazyLoadingInPrevNext)if(t>1||x.params.lazyLoadingInPrevNextAmount&&x.params.lazyLoadingInPrevNextAmount>1){var s=x.params.lazyLoadingInPrevNextAmount,r=t,i=Math.min(x.activeIndex+r+Math.max(s,r),x.slides.length),n=Math.max(x.activeIndex-Math.max(r,s),0);for(a=x.activeIndex+t;a<i;a++)x.slides[a]&&x.lazy.loadImageInSlide(a);for(a=n;a<x.activeIndex;a++)x.slides[a]&&x.lazy.loadImageInSlide(a)}else{var o=x.wrapper.children("."+x.params.slideNextClass);o.length>0&&x.lazy.loadImageInSlide(o.index());var l=x.wrapper.children("."+x.params.slidePrevClass);l.length>0&&x.lazy.loadImageInSlide(l.index())}},onTransitionStart:function(){x.params.lazyLoading&&(x.params.lazyLoadingOnTransitionStart||!x.params.lazyLoadingOnTransitionStart&&!x.lazy.initialImageLoaded)&&x.lazy.load()},onTransitionEnd:function(){x.params.lazyLoading&&!x.params.lazyLoadingOnTransitionStart&&x.lazy.load()}},x.scrollbar={isTouched:!1,setDragPosition:function(e){var a=x.scrollbar,t=x.isHorizontal()?"touchstart"===e.type||"touchmove"===e.type?e.targetTouches[0].pageX:e.pageX||e.clientX:"touchstart"===e.type||"touchmove"===e.type?e.targetTouches[0].pageY:e.pageY||e.clientY,s=t-a.track.offset()[x.isHorizontal()?"left":"top"]-a.dragSize/2,r=-x.minTranslate()*a.moveDivider,i=-x.maxTranslate()*a.moveDivider;s<r?s=r:s>i&&(s=i),s=-s/a.moveDivider,x.updateProgress(s),x.setWrapperTranslate(s,!0)},dragStart:function(e){var a=x.scrollbar;a.isTouched=!0,e.preventDefault(),e.stopPropagation(),a.setDragPosition(e),clearTimeout(a.dragTimeout),a.track.transition(0),x.params.scrollbarHide&&a.track.css("opacity",1),x.wrapper.transition(100),a.drag.transition(100),x.emit("onScrollbarDragStart",x)},dragMove:function(e){var a=x.scrollbar;a.isTouched&&(e.preventDefault?e.preventDefault():e.returnValue=!1,a.setDragPosition(e),x.wrapper.transition(0),a.track.transition(0),a.drag.transition(0),x.emit("onScrollbarDragMove",x))},dragEnd:function(e){var a=x.scrollbar;a.isTouched&&(a.isTouched=!1,x.params.scrollbarHide&&(clearTimeout(a.dragTimeout),a.dragTimeout=setTimeout(function(){a.track.css("opacity",0),a.track.transition(400)},1e3)),x.emit("onScrollbarDragEnd",x),x.params.scrollbarSnapOnRelease&&x.slideReset())},draggableEvents:function(){return x.params.simulateTouch!==!1||x.support.touch?x.touchEvents:x.touchEventsDesktop}(),enableDraggable:function(){var a=x.scrollbar,t=x.support.touch?a.track:document;e(a.track).on(a.draggableEvents.start,a.dragStart),e(t).on(a.draggableEvents.move,a.dragMove),e(t).on(a.draggableEvents.end,a.dragEnd)},disableDraggable:function(){var a=x.scrollbar,t=x.support.touch?a.track:document;e(a.track).off(a.draggableEvents.start,a.dragStart),e(t).off(a.draggableEvents.move,a.dragMove),e(t).off(a.draggableEvents.end,a.dragEnd)},set:function(){if(x.params.scrollbar){var a=x.scrollbar;a.track=e(x.params.scrollbar),x.params.uniqueNavElements&&"string"==typeof x.params.scrollbar&&a.track.length>1&&1===x.container.find(x.params.scrollbar).length&&(a.track=x.container.find(x.params.scrollbar)),a.drag=a.track.find(".swiper-scrollbar-drag"),0===a.drag.length&&(a.drag=e('<div class="swiper-scrollbar-drag"></div>'),a.track.append(a.drag)),a.drag[0].style.width="",a.drag[0].style.height="",a.trackSize=x.isHorizontal()?a.track[0].offsetWidth:a.track[0].offsetHeight,a.divider=x.size/x.virtualSize,a.moveDivider=a.divider*(a.trackSize/x.size),a.dragSize=a.trackSize*a.divider,x.isHorizontal()?a.drag[0].style.width=a.dragSize+"px":a.drag[0].style.height=a.dragSize+"px",a.divider>=1?a.track[0].style.display="none":a.track[0].style.display="",x.params.scrollbarHide&&(a.track[0].style.opacity=0)}},setTranslate:function(){if(x.params.scrollbar){var e,a=x.scrollbar,t=(x.translate,a.dragSize);e=(a.trackSize-a.dragSize)*x.progress,x.rtl&&x.isHorizontal()?(e=-e,e>0?(t=a.dragSize-e,e=0):-e+a.dragSize>a.trackSize&&(t=a.trackSize+e)):e<0?(t=a.dragSize+e,e=0):e+a.dragSize>a.trackSize&&(t=a.trackSize-e),x.isHorizontal()?(x.support.transforms3d?a.drag.transform("translate3d("+e+"px, 0, 0)"):a.drag.transform("translateX("+e+"px)"),a.drag[0].style.width=t+"px"):(x.support.transforms3d?a.drag.transform("translate3d(0px, "+e+"px, 0)"):a.drag.transform("translateY("+e+"px)"),a.drag[0].style.height=t+"px"),x.params.scrollbarHide&&(clearTimeout(a.timeout),a.track[0].style.opacity=1,a.timeout=setTimeout(function(){a.track[0].style.opacity=0,a.track.transition(400)},1e3))}},setTransition:function(e){x.params.scrollbar&&x.scrollbar.drag.transition(e)}},x.controller={LinearSpline:function(e,a){var t=function(){var e,a,t;return function(s,r){for(a=-1,e=s.length;e-a>1;)s[t=e+a>>1]<=r?a=t:e=t;return e}}();this.x=e,this.y=a,this.lastIndex=e.length-1;var s,r;this.x.length;this.interpolate=function(e){return e?(r=t(this.x,e),s=r-1,(e-this.x[s])*(this.y[r]-this.y[s])/(this.x[r]-this.x[s])+this.y[s]):0}},getInterpolateFunction:function(e){x.controller.spline||(x.controller.spline=x.params.loop?new x.controller.LinearSpline(x.slidesGrid,e.slidesGrid):new x.controller.LinearSpline(x.snapGrid,e.snapGrid))},setTranslate:function(e,t){function s(a){e=a.rtl&&"horizontal"===a.params.direction?-x.translate:x.translate,"slide"===x.params.controlBy&&(x.controller.getInterpolateFunction(a),i=-x.controller.spline.interpolate(-e)),i&&"container"!==x.params.controlBy||(r=(a.maxTranslate()-a.minTranslate())/(x.maxTranslate()-x.minTranslate()),i=(e-x.minTranslate())*r+a.minTranslate()),x.params.controlInverse&&(i=a.maxTranslate()-i),a.updateProgress(i),a.setWrapperTranslate(i,!1,x),a.updateActiveIndex()}var r,i,n=x.params.control;if(Array.isArray(n))for(var o=0;o<n.length;o++)n[o]!==t&&n[o]instanceof a&&s(n[o]);else n instanceof a&&t!==n&&s(n)},setTransition:function(e,t){function s(a){a.setWrapperTransition(e,x),0!==e&&(a.onTransitionStart(),a.wrapper.transitionEnd(function(){i&&(a.params.loop&&"slide"===x.params.controlBy&&a.fixLoop(),a.onTransitionEnd())}))}var r,i=x.params.control;if(Array.isArray(i))for(r=0;r<i.length;r++)i[r]!==t&&i[r]instanceof a&&s(i[r]);else i instanceof a&&t!==i&&s(i)}},x.hashnav={onHashCange:function(e,a){var t=document.location.hash.replace("#","");t!==x.slides.eq(x.activeIndex).attr("data-hash")&&x.slideTo(x.wrapper.children("."+x.params.slideClass+'[data-hash="'+t+'"]').index())},attachEvents:function(a){var t=a?"off":"on";e(window)[t]("hashchange",x.hashnav.onHashCange)},setHash:function(){
if(x.hashnav.initialized&&x.params.hashnav)if(x.params.replaceState&&window.history&&window.history.replaceState)window.history.replaceState(null,null,"#"+x.slides.eq(x.activeIndex).attr("data-hash")||"");else{var e=x.slides.eq(x.activeIndex),a=e.attr("data-hash")||e.attr("data-history");document.location.hash=a||""}},init:function(){if(x.params.hashnav&&!x.params.history){x.hashnav.initialized=!0;var e=document.location.hash.replace("#","");if(e)for(var a=0,t=x.slides.length;a<t;a++){var s=x.slides.eq(a),r=s.attr("data-hash")||s.attr("data-history");if(r===e&&!s.hasClass(x.params.slideDuplicateClass)){var i=s.index();x.slideTo(i,0,x.params.runCallbacksOnInit,!0)}}x.params.hashnavWatchState&&x.hashnav.attachEvents()}},destroy:function(){x.params.hashnavWatchState&&x.hashnav.attachEvents(!0)}},x.history={init:function(){if(x.params.history){if(!window.history||!window.history.pushState)return x.params.history=!1,void(x.params.hashnav=!0);x.history.initialized=!0,this.paths=this.getPathValues(),(this.paths.key||this.paths.value)&&(this.scrollToSlide(0,this.paths.value,x.params.runCallbacksOnInit),x.params.replaceState||window.addEventListener("popstate",this.setHistoryPopState))}},setHistoryPopState:function(){x.history.paths=x.history.getPathValues(),x.history.scrollToSlide(x.params.speed,x.history.paths.value,!1)},getPathValues:function(){var e=window.location.pathname.slice(1).split("/"),a=e.length;return{key:e[a-2],value:e[a-1]}},setHistory:function(e,a){if(x.history.initialized&&x.params.history){var t=x.slides.eq(a),s=this.slugify(t.attr("data-history"));window.location.pathname.includes(e)||(s=e+"/"+s),x.params.replaceState?window.history.replaceState(null,null,s):window.history.pushState(null,null,s)}},slugify:function(e){return e.toString().toLowerCase().replace(/\s+/g,"-").replace(/[^\w\-]+/g,"").replace(/\-\-+/g,"-").replace(/^-+/,"").replace(/-+$/,"")},scrollToSlide:function(e,a,t){if(a)for(var s=0,r=x.slides.length;s<r;s++){var i=x.slides.eq(s),n=this.slugify(i.attr("data-history"));if(n===a&&!i.hasClass(x.params.slideDuplicateClass)){var o=i.index();x.slideTo(o,e,t)}}else x.slideTo(0,e,t)}},x.disableKeyboardControl=function(){x.params.keyboardControl=!1,e(document).off("keydown",l)},x.enableKeyboardControl=function(){x.params.keyboardControl=!0,e(document).on("keydown",l)},x.mousewheel={event:!1,lastScrollTime:(new window.Date).getTime()},x.params.mousewheelControl&&(x.mousewheel.event=navigator.userAgent.indexOf("firefox")>-1?"DOMMouseScroll":function(){var e="onwheel"in document;if(!e){var a=document.createElement("div");a.setAttribute("onwheel","return;"),e="function"==typeof a.onwheel}return!e&&document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature("","")!==!0&&(e=document.implementation.hasFeature("Events.wheel","3.0")),e}()?"wheel":"mousewheel"),x.disableMousewheelControl=function(){if(!x.mousewheel.event)return!1;var a=x.container;return"container"!==x.params.mousewheelEventsTarged&&(a=e(x.params.mousewheelEventsTarged)),a.off(x.mousewheel.event,d),x.params.mousewheelControl=!1,!0},x.enableMousewheelControl=function(){if(!x.mousewheel.event)return!1;var a=x.container;return"container"!==x.params.mousewheelEventsTarged&&(a=e(x.params.mousewheelEventsTarged)),a.on(x.mousewheel.event,d),x.params.mousewheelControl=!0,!0},x.parallax={setTranslate:function(){x.container.children("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]").each(function(){m(this,x.progress)}),x.slides.each(function(){var a=e(this);a.find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]").each(function(){m(this,Math.min(Math.max(a[0].progress,-1),1))})})},setTransition:function(a){void 0===a&&(a=x.params.speed),x.container.find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]").each(function(){var t=e(this),s=parseInt(t.attr("data-swiper-parallax-duration"),10)||a;0===a&&(s=0),t.transition(s)})}},x.zoom={scale:1,currentScale:1,isScaling:!1,gesture:{slide:void 0,slideWidth:void 0,slideHeight:void 0,image:void 0,imageWrap:void 0,zoomMax:x.params.zoomMax},image:{isTouched:void 0,isMoved:void 0,currentX:void 0,currentY:void 0,minX:void 0,minY:void 0,maxX:void 0,maxY:void 0,width:void 0,height:void 0,startX:void 0,startY:void 0,touchesStart:{},touchesCurrent:{}},velocity:{x:void 0,y:void 0,prevPositionX:void 0,prevPositionY:void 0,prevTime:void 0},getDistanceBetweenTouches:function(e){if(e.targetTouches.length<2)return 1;var a=e.targetTouches[0].pageX,t=e.targetTouches[0].pageY,s=e.targetTouches[1].pageX,r=e.targetTouches[1].pageY;return Math.sqrt(Math.pow(s-a,2)+Math.pow(r-t,2))},onGestureStart:function(a){var t=x.zoom;if(!x.support.gestures){if("touchstart"!==a.type||"touchstart"===a.type&&a.targetTouches.length<2)return;t.gesture.scaleStart=t.getDistanceBetweenTouches(a)}if(!(t.gesture.slide&&t.gesture.slide.length||(t.gesture.slide=e(this),0===t.gesture.slide.length&&(t.gesture.slide=x.slides.eq(x.activeIndex)),t.gesture.image=t.gesture.slide.find("img, svg, canvas"),t.gesture.imageWrap=t.gesture.image.parent("."+x.params.zoomContainerClass),t.gesture.zoomMax=t.gesture.imageWrap.attr("data-swiper-zoom")||x.params.zoomMax,0!==t.gesture.imageWrap.length)))return void(t.gesture.image=void 0);t.gesture.image.transition(0),t.isScaling=!0},onGestureChange:function(e){var a=x.zoom;if(!x.support.gestures){if("touchmove"!==e.type||"touchmove"===e.type&&e.targetTouches.length<2)return;a.gesture.scaleMove=a.getDistanceBetweenTouches(e)}a.gesture.image&&0!==a.gesture.image.length&&(x.support.gestures?a.scale=e.scale*a.currentScale:a.scale=a.gesture.scaleMove/a.gesture.scaleStart*a.currentScale,a.scale>a.gesture.zoomMax&&(a.scale=a.gesture.zoomMax-1+Math.pow(a.scale-a.gesture.zoomMax+1,.5)),a.scale<x.params.zoomMin&&(a.scale=x.params.zoomMin+1-Math.pow(x.params.zoomMin-a.scale+1,.5)),a.gesture.image.transform("translate3d(0,0,0) scale("+a.scale+")"))},onGestureEnd:function(e){var a=x.zoom;!x.support.gestures&&("touchend"!==e.type||"touchend"===e.type&&e.changedTouches.length<2)||a.gesture.image&&0!==a.gesture.image.length&&(a.scale=Math.max(Math.min(a.scale,a.gesture.zoomMax),x.params.zoomMin),a.gesture.image.transition(x.params.speed).transform("translate3d(0,0,0) scale("+a.scale+")"),a.currentScale=a.scale,a.isScaling=!1,1===a.scale&&(a.gesture.slide=void 0))},onTouchStart:function(e,a){var t=e.zoom;t.gesture.image&&0!==t.gesture.image.length&&(t.image.isTouched||("android"===e.device.os&&a.preventDefault(),t.image.isTouched=!0,t.image.touchesStart.x="touchstart"===a.type?a.targetTouches[0].pageX:a.pageX,t.image.touchesStart.y="touchstart"===a.type?a.targetTouches[0].pageY:a.pageY))},onTouchMove:function(e){var a=x.zoom;if(a.gesture.image&&0!==a.gesture.image.length&&(x.allowClick=!1,a.image.isTouched&&a.gesture.slide)){a.image.isMoved||(a.image.width=a.gesture.image[0].offsetWidth,a.image.height=a.gesture.image[0].offsetHeight,a.image.startX=x.getTranslate(a.gesture.imageWrap[0],"x")||0,a.image.startY=x.getTranslate(a.gesture.imageWrap[0],"y")||0,a.gesture.slideWidth=a.gesture.slide[0].offsetWidth,a.gesture.slideHeight=a.gesture.slide[0].offsetHeight,a.gesture.imageWrap.transition(0),x.rtl&&(a.image.startX=-a.image.startX),x.rtl&&(a.image.startY=-a.image.startY));var t=a.image.width*a.scale,s=a.image.height*a.scale;if(!(t<a.gesture.slideWidth&&s<a.gesture.slideHeight)){if(a.image.minX=Math.min(a.gesture.slideWidth/2-t/2,0),a.image.maxX=-a.image.minX,a.image.minY=Math.min(a.gesture.slideHeight/2-s/2,0),a.image.maxY=-a.image.minY,a.image.touchesCurrent.x="touchmove"===e.type?e.targetTouches[0].pageX:e.pageX,a.image.touchesCurrent.y="touchmove"===e.type?e.targetTouches[0].pageY:e.pageY,!a.image.isMoved&&!a.isScaling){if(x.isHorizontal()&&Math.floor(a.image.minX)===Math.floor(a.image.startX)&&a.image.touchesCurrent.x<a.image.touchesStart.x||Math.floor(a.image.maxX)===Math.floor(a.image.startX)&&a.image.touchesCurrent.x>a.image.touchesStart.x)return void(a.image.isTouched=!1);if(!x.isHorizontal()&&Math.floor(a.image.minY)===Math.floor(a.image.startY)&&a.image.touchesCurrent.y<a.image.touchesStart.y||Math.floor(a.image.maxY)===Math.floor(a.image.startY)&&a.image.touchesCurrent.y>a.image.touchesStart.y)return void(a.image.isTouched=!1)}e.preventDefault(),e.stopPropagation(),a.image.isMoved=!0,a.image.currentX=a.image.touchesCurrent.x-a.image.touchesStart.x+a.image.startX,a.image.currentY=a.image.touchesCurrent.y-a.image.touchesStart.y+a.image.startY,a.image.currentX<a.image.minX&&(a.image.currentX=a.image.minX+1-Math.pow(a.image.minX-a.image.currentX+1,.8)),a.image.currentX>a.image.maxX&&(a.image.currentX=a.image.maxX-1+Math.pow(a.image.currentX-a.image.maxX+1,.8)),a.image.currentY<a.image.minY&&(a.image.currentY=a.image.minY+1-Math.pow(a.image.minY-a.image.currentY+1,.8)),a.image.currentY>a.image.maxY&&(a.image.currentY=a.image.maxY-1+Math.pow(a.image.currentY-a.image.maxY+1,.8)),a.velocity.prevPositionX||(a.velocity.prevPositionX=a.image.touchesCurrent.x),a.velocity.prevPositionY||(a.velocity.prevPositionY=a.image.touchesCurrent.y),a.velocity.prevTime||(a.velocity.prevTime=Date.now()),a.velocity.x=(a.image.touchesCurrent.x-a.velocity.prevPositionX)/(Date.now()-a.velocity.prevTime)/2,a.velocity.y=(a.image.touchesCurrent.y-a.velocity.prevPositionY)/(Date.now()-a.velocity.prevTime)/2,Math.abs(a.image.touchesCurrent.x-a.velocity.prevPositionX)<2&&(a.velocity.x=0),Math.abs(a.image.touchesCurrent.y-a.velocity.prevPositionY)<2&&(a.velocity.y=0),a.velocity.prevPositionX=a.image.touchesCurrent.x,a.velocity.prevPositionY=a.image.touchesCurrent.y,a.velocity.prevTime=Date.now(),a.gesture.imageWrap.transform("translate3d("+a.image.currentX+"px, "+a.image.currentY+"px,0)")}}},onTouchEnd:function(e,a){var t=e.zoom;if(t.gesture.image&&0!==t.gesture.image.length){if(!t.image.isTouched||!t.image.isMoved)return t.image.isTouched=!1,void(t.image.isMoved=!1);t.image.isTouched=!1,t.image.isMoved=!1;var s=300,r=300,i=t.velocity.x*s,n=t.image.currentX+i,o=t.velocity.y*r,l=t.image.currentY+o;0!==t.velocity.x&&(s=Math.abs((n-t.image.currentX)/t.velocity.x)),0!==t.velocity.y&&(r=Math.abs((l-t.image.currentY)/t.velocity.y));var p=Math.max(s,r);t.image.currentX=n,t.image.currentY=l;var d=t.image.width*t.scale,m=t.image.height*t.scale;t.image.minX=Math.min(t.gesture.slideWidth/2-d/2,0),t.image.maxX=-t.image.minX,t.image.minY=Math.min(t.gesture.slideHeight/2-m/2,0),t.image.maxY=-t.image.minY,t.image.currentX=Math.max(Math.min(t.image.currentX,t.image.maxX),t.image.minX),t.image.currentY=Math.max(Math.min(t.image.currentY,t.image.maxY),t.image.minY),t.gesture.imageWrap.transition(p).transform("translate3d("+t.image.currentX+"px, "+t.image.currentY+"px,0)")}},onTransitionEnd:function(e){var a=e.zoom;a.gesture.slide&&e.previousIndex!==e.activeIndex&&(a.gesture.image.transform("translate3d(0,0,0) scale(1)"),a.gesture.imageWrap.transform("translate3d(0,0,0)"),a.gesture.slide=a.gesture.image=a.gesture.imageWrap=void 0,a.scale=a.currentScale=1)},toggleZoom:function(a,t){var s=a.zoom;if(s.gesture.slide||(s.gesture.slide=a.clickedSlide?e(a.clickedSlide):a.slides.eq(a.activeIndex),s.gesture.image=s.gesture.slide.find("img, svg, canvas"),s.gesture.imageWrap=s.gesture.image.parent("."+a.params.zoomContainerClass)),s.gesture.image&&0!==s.gesture.image.length){var r,i,n,o,l,p,d,m,u,c,g,h,v,f,w,y,x,T;void 0===s.image.touchesStart.x&&t?(r="touchend"===t.type?t.changedTouches[0].pageX:t.pageX,i="touchend"===t.type?t.changedTouches[0].pageY:t.pageY):(r=s.image.touchesStart.x,i=s.image.touchesStart.y),s.scale&&1!==s.scale?(s.scale=s.currentScale=1,s.gesture.imageWrap.transition(300).transform("translate3d(0,0,0)"),s.gesture.image.transition(300).transform("translate3d(0,0,0) scale(1)"),s.gesture.slide=void 0):(s.scale=s.currentScale=s.gesture.imageWrap.attr("data-swiper-zoom")||a.params.zoomMax,t?(x=s.gesture.slide[0].offsetWidth,T=s.gesture.slide[0].offsetHeight,n=s.gesture.slide.offset().left,o=s.gesture.slide.offset().top,l=n+x/2-r,p=o+T/2-i,u=s.gesture.image[0].offsetWidth,c=s.gesture.image[0].offsetHeight,g=u*s.scale,h=c*s.scale,v=Math.min(x/2-g/2,0),f=Math.min(T/2-h/2,0),w=-v,y=-f,d=l*s.scale,m=p*s.scale,d<v&&(d=v),d>w&&(d=w),m<f&&(m=f),m>y&&(m=y)):(d=0,m=0),s.gesture.imageWrap.transition(300).transform("translate3d("+d+"px, "+m+"px,0)"),s.gesture.image.transition(300).transform("translate3d(0,0,0) scale("+s.scale+")"))}},attachEvents:function(a){var t=a?"off":"on";if(x.params.zoom){var s=(x.slides,!("touchstart"!==x.touchEvents.start||!x.support.passiveListener||!x.params.passiveListeners)&&{passive:!0,capture:!1});x.support.gestures?(x.slides[t]("gesturestart",x.zoom.onGestureStart,s),x.slides[t]("gesturechange",x.zoom.onGestureChange,s),x.slides[t]("gestureend",x.zoom.onGestureEnd,s)):"touchstart"===x.touchEvents.start&&(x.slides[t](x.touchEvents.start,x.zoom.onGestureStart,s),x.slides[t](x.touchEvents.move,x.zoom.onGestureChange,s),x.slides[t](x.touchEvents.end,x.zoom.onGestureEnd,s)),x[t]("touchStart",x.zoom.onTouchStart),x.slides.each(function(a,s){e(s).find("."+x.params.zoomContainerClass).length>0&&e(s)[t](x.touchEvents.move,x.zoom.onTouchMove)}),x[t]("touchEnd",x.zoom.onTouchEnd),x[t]("transitionEnd",x.zoom.onTransitionEnd),x.params.zoomToggle&&x.on("doubleTap",x.zoom.toggleZoom)}},init:function(){x.zoom.attachEvents()},destroy:function(){x.zoom.attachEvents(!0)}},x._plugins=[];for(var Y in x.plugins){var A=x.plugins[Y](x,x.params[Y]);A&&x._plugins.push(A)}return x.callPlugins=function(e){for(var a=0;a<x._plugins.length;a++)e in x._plugins[a]&&x._plugins[a][e](arguments[1],arguments[2],arguments[3],arguments[4],arguments[5])},x.emitterEventListeners={},x.emit=function(e){x.params[e]&&x.params[e](arguments[1],arguments[2],arguments[3],arguments[4],arguments[5]);var a;if(x.emitterEventListeners[e])for(a=0;a<x.emitterEventListeners[e].length;a++)x.emitterEventListeners[e][a](arguments[1],arguments[2],arguments[3],arguments[4],arguments[5]);x.callPlugins&&x.callPlugins(e,arguments[1],arguments[2],arguments[3],arguments[4],arguments[5])},x.on=function(e,a){return e=u(e),x.emitterEventListeners[e]||(x.emitterEventListeners[e]=[]),x.emitterEventListeners[e].push(a),x},x.off=function(e,a){var t;if(e=u(e),void 0===a)return x.emitterEventListeners[e]=[],x;if(x.emitterEventListeners[e]&&0!==x.emitterEventListeners[e].length){for(t=0;t<x.emitterEventListeners[e].length;t++)x.emitterEventListeners[e][t]===a&&x.emitterEventListeners[e].splice(t,1);return x}},x.once=function(e,a){e=u(e);var t=function(){a(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]),x.off(e,t)};return x.on(e,t),x},x.a11y={makeFocusable:function(e){return e.attr("tabIndex","0"),e},addRole:function(e,a){return e.attr("role",a),e},addLabel:function(e,a){return e.attr("aria-label",a),e},disable:function(e){return e.attr("aria-disabled",!0),e},enable:function(e){return e.attr("aria-disabled",!1),e},onEnterKey:function(a){13===a.keyCode&&(e(a.target).is(x.params.nextButton)?(x.onClickNext(a),x.isEnd?x.a11y.notify(x.params.lastSlideMessage):x.a11y.notify(x.params.nextSlideMessage)):e(a.target).is(x.params.prevButton)&&(x.onClickPrev(a),x.isBeginning?x.a11y.notify(x.params.firstSlideMessage):x.a11y.notify(x.params.prevSlideMessage)),e(a.target).is("."+x.params.bulletClass)&&e(a.target)[0].click())},liveRegion:e('<span class="'+x.params.notificationClass+'" aria-live="assertive" aria-atomic="true"></span>'),notify:function(e){var a=x.a11y.liveRegion;0!==a.length&&(a.html(""),a.html(e))},init:function(){x.params.nextButton&&x.nextButton&&x.nextButton.length>0&&(x.a11y.makeFocusable(x.nextButton),x.a11y.addRole(x.nextButton,"button"),x.a11y.addLabel(x.nextButton,x.params.nextSlideMessage)),x.params.prevButton&&x.prevButton&&x.prevButton.length>0&&(x.a11y.makeFocusable(x.prevButton),x.a11y.addRole(x.prevButton,"button"),x.a11y.addLabel(x.prevButton,x.params.prevSlideMessage)),e(x.container).append(x.a11y.liveRegion)},initPagination:function(){x.params.pagination&&x.params.paginationClickable&&x.bullets&&x.bullets.length&&x.bullets.each(function(){var a=e(this);x.a11y.makeFocusable(a),x.a11y.addRole(a,"button"),x.a11y.addLabel(a,x.params.paginationBulletMessage.replace(/{{index}}/,a.index()+1))})},destroy:function(){x.a11y.liveRegion&&x.a11y.liveRegion.length>0&&x.a11y.liveRegion.remove()}},x.init=function(){x.params.loop&&x.createLoop(),x.updateContainerSize(),x.updateSlidesSize(),x.updatePagination(),x.params.scrollbar&&x.scrollbar&&(x.scrollbar.set(),x.params.scrollbarDraggable&&x.scrollbar.enableDraggable()),"slide"!==x.params.effect&&x.effects[x.params.effect]&&(x.params.loop||x.updateProgress(),x.effects[x.params.effect].setTranslate()),x.params.loop?x.slideTo(x.params.initialSlide+x.loopedSlides,0,x.params.runCallbacksOnInit):(x.slideTo(x.params.initialSlide,0,x.params.runCallbacksOnInit),0===x.params.initialSlide&&(x.parallax&&x.params.parallax&&x.parallax.setTranslate(),x.lazy&&x.params.lazyLoading&&(x.lazy.load(),x.lazy.initialImageLoaded=!0))),x.attachEvents(),x.params.observer&&x.support.observer&&x.initObservers(),x.params.preloadImages&&!x.params.lazyLoading&&x.preloadImages(),x.params.zoom&&x.zoom&&x.zoom.init(),x.params.autoplay&&x.startAutoplay(),x.params.keyboardControl&&x.enableKeyboardControl&&x.enableKeyboardControl(),x.params.mousewheelControl&&x.enableMousewheelControl&&x.enableMousewheelControl(),x.params.hashnavReplaceState&&(x.params.replaceState=x.params.hashnavReplaceState),x.params.history&&x.history&&x.history.init(),x.params.hashnav&&x.hashnav&&x.hashnav.init(),x.params.a11y&&x.a11y&&x.a11y.init(),x.emit("onInit",x)},x.cleanupStyles=function(){x.container.removeClass(x.classNames.join(" ")).removeAttr("style"),x.wrapper.removeAttr("style"),x.slides&&x.slides.length&&x.slides.removeClass([x.params.slideVisibleClass,x.params.slideActiveClass,x.params.slideNextClass,x.params.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-column").removeAttr("data-swiper-row"),x.paginationContainer&&x.paginationContainer.length&&x.paginationContainer.removeClass(x.params.paginationHiddenClass),x.bullets&&x.bullets.length&&x.bullets.removeClass(x.params.bulletActiveClass),x.params.prevButton&&e(x.params.prevButton).removeClass(x.params.buttonDisabledClass),x.params.nextButton&&e(x.params.nextButton).removeClass(x.params.buttonDisabledClass),x.params.scrollbar&&x.scrollbar&&(x.scrollbar.track&&x.scrollbar.track.length&&x.scrollbar.track.removeAttr("style"),x.scrollbar.drag&&x.scrollbar.drag.length&&x.scrollbar.drag.removeAttr("style"))},x.destroy=function(e,a){x.detachEvents(),x.stopAutoplay(),x.params.scrollbar&&x.scrollbar&&x.params.scrollbarDraggable&&x.scrollbar.disableDraggable(),x.params.loop&&x.destroyLoop(),a&&x.cleanupStyles(),x.disconnectObservers(),x.params.zoom&&x.zoom&&x.zoom.destroy(),x.params.keyboardControl&&x.disableKeyboardControl&&x.disableKeyboardControl(),x.params.mousewheelControl&&x.disableMousewheelControl&&x.disableMousewheelControl(),x.params.a11y&&x.a11y&&x.a11y.destroy(),x.params.history&&!x.params.replaceState&&window.removeEventListener("popstate",x.history.setHistoryPopState),x.params.hashnav&&x.hashnav&&x.hashnav.destroy(),x.emit("onDestroy"),e!==!1&&(x=null)},x.init(),x}};a.prototype={isSafari:function(){var e=window.navigator.userAgent.toLowerCase();return e.indexOf("safari")>=0&&e.indexOf("chrome")<0&&e.indexOf("android")<0}(),isUiWebView:/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent),isArray:function(e){return"[object Array]"===Object.prototype.toString.apply(e)},browser:{ie:window.navigator.pointerEnabled||window.navigator.msPointerEnabled,ieTouch:window.navigator.msPointerEnabled&&window.navigator.msMaxTouchPoints>1||window.navigator.pointerEnabled&&window.navigator.maxTouchPoints>1,lteIE9:function(){var e=document.createElement("div");return e.innerHTML="<!--[if lte IE 9]><i></i><![endif]-->",1===e.getElementsByTagName("i").length}()},device:function(){var e=window.navigator.userAgent,a=e.match(/(Android);?[\s\/]+([\d.]+)?/),t=e.match(/(iPad).*OS\s([\d_]+)/),s=e.match(/(iPod)(.*OS\s([\d_]+))?/),r=!t&&e.match(/(iPhone\sOS|iOS)\s([\d_]+)/);return{ios:t||r||s,android:a}}(),support:{touch:window.Modernizr&&Modernizr.touch===!0||function(){return!!("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch)}(),transforms3d:window.Modernizr&&Modernizr.csstransforms3d===!0||function(){var e=document.createElement("div").style;return"webkitPerspective"in e||"MozPerspective"in e||"OPerspective"in e||"MsPerspective"in e||"perspective"in e}(),flexbox:function(){for(var e=document.createElement("div").style,a="alignItems webkitAlignItems webkitBoxAlign msFlexAlign mozBoxAlign webkitFlexDirection msFlexDirection mozBoxDirection mozBoxOrient webkitBoxDirection webkitBoxOrient".split(" "),t=0;t<a.length;t++)if(a[t]in e)return!0}(),observer:function(){return"MutationObserver"in window||"WebkitMutationObserver"in window}(),passiveListener:function(){var e=!1;try{var a=Object.defineProperty({},"passive",{get:function(){e=!0}});window.addEventListener("testPassiveListener",null,a)}catch(e){}return e}(),gestures:function(){return"ongesturestart"in window}()},plugins:{}};for(var t=["jQuery","Zepto","Dom7"],s=0;s<t.length;s++)window[t[s]]&&function(e){e.fn.swiper=function(t){var s;return e(this).each(function(){var e=new a(this,t);s||(s=e)}),s}}(window[t[s]]);var r;r="undefined"==typeof Dom7?window.Dom7||window.Zepto||window.jQuery:Dom7,r&&("transitionEnd"in r.fn||(r.fn.transitionEnd=function(e){function a(i){if(i.target===this)for(e.call(this,i),t=0;t<s.length;t++)r.off(s[t],a)}var t,s=["webkitTransitionEnd","transitionend","oTransitionEnd","MSTransitionEnd","msTransitionEnd"],r=this;if(e)for(t=0;t<s.length;t++)r.on(s[t],a);return this}),"transform"in r.fn||(r.fn.transform=function(e){for(var a=0;a<this.length;a++){var t=this[a].style;t.webkitTransform=t.MsTransform=t.msTransform=t.MozTransform=t.OTransform=t.transform=e}return this}),"transition"in r.fn||(r.fn.transition=function(e){"string"!=typeof e&&(e+="ms");for(var a=0;a<this.length;a++){var t=this[a].style;t.webkitTransitionDuration=t.MsTransitionDuration=t.msTransitionDuration=t.MozTransitionDuration=t.OTransitionDuration=t.transitionDuration=e}return this}),"outerWidth"in r.fn||(r.fn.outerWidth=function(e){return this.length>0?e?this[0].offsetWidth+parseFloat(this.css("margin-right"))+parseFloat(this.css("margin-left")):this[0].offsetWidth:null})),window.Swiper=a}(),"undefined"!=typeof module?module.exports=window.Swiper:"function"==typeof define&&define.amd&&define([],function(){"use strict";return window.Swiper});
//# sourceMappingURL=maps/swiper.jquery.min.js.map
var stompClient = null;
$("#loadding-zdy").show();
//加载完浏览器后 调用connect(),打开双通道
$(function(){
//打开双通道
connect()
$(window).resize(function(){
$("iframe").contents().find('body').css({"min-height":$(document).height()-104});
$("iframe").height($(document).height()-104);
})
})
//强制关闭浏览器 调用websocket.close(),进行正常关闭
window.onunload = function() {
disconnect()
}
function connect(){
var socket = new SockJS('http://localhost:9022/alldata'); //连接SockJS的endpoint名称为"endpointOyzc"
var res="";
var res2="";
stompClient = Stomp.over(socket);//使用STMOP子协议的WebSocket客户端
stompClient.connect({},function(frame){//连接WebSocket服务端
console.log('Connected:' + frame);
//通过stompClient.subscribe订阅/topic/getResponse 目标(destination)发送的消息
stompClient.subscribe('/topic/getResponse',function(response){
res=showResponse(JSON.parse(response.body));
});
});
return res
}
//关闭双通道
function disconnect(){
if(stompClient != null) {
stompClient.disconnect();
}
console.log("Disconnected");
}
function showResponse(message){
debugger;
var response = $("#response");
var core = new Array();
var allnum = new Array();
var updatenum = new Array();
for(var i=0;i<message.length;i++){
var solrhome=message[i].solrhomes;
var numFound=message[i].numFound;
var updatecount=message[i].updatecount;
var uestimes=message[i].uestimes;
var flag=message[i].flag
core.push(solrhome);
allnum.push(numFound);
updatenum.push(updatecount);
}
//指定图标的配置和数据
var option = {
title:{
text:'',
textStyle:{ color:'#fff' }
},
toolbox: {
show : true,
feature : {
dataView : {show: true, readOnly: false,iconStyle:{ color:'rgb(255, 255, 255)',borderColor:"#fff"}},
magicType : {show: true, type: ['line', 'bar']},
restore : {show: true},
saveAsImage : {show: true}
}
},
calculable : true,
tooltip: {},
legend: {
data:['数据总量','数据增量'],
textStyle: {
color: '#fff'
}
},
xAxis: {
data:[],
axisLabel: {
show: true,
textStyle: {
color: '#fff',
borderColor:'#fff',
lineStyle:{
color:'#fff'
}
}
}
},
yAxis: {
axisLabel: {
show: true,
textStyle: {
color: '#fff',
lineStyle:{
color:'#fff'
}
}
},
axisLine: {
show: true, // Y轴线
lineStyle: {
type: 'dashed',
color: '#fff'
}
},
},
series: [{
name: '数据总量',
type: 'bar',
data: [],
color:['#fff'],
itemStyle : {
normal : {
lineStyle:{
color:'#00FF00' //线的颜色
}
}
},
},{
name: '数据增量',
type: 'bar',
data: [],
color:['#fff'],
itemStyle : {
normal : {
lineStyle:{
color:'#00FF00' //线的颜色
}
}
},
}]
};
//初始化echarts实例
var myChart = echarts.init(document.getElementById('chartmain'));
//使用制定的配置项和数据显示图表
myChart.setOption(option);
//异步加载数据
myChart.setOption({
xAxis:{
data:core
},
series:[
{
//根据名字对应到相应的系列
name:"数据总量",
data:allnum
},
{
//根据名字对应到相应的系列
name:"数据增量",
data:updatenum
}
]
})
//获取数据后,隐藏loading动画
//myChart.hideLoading();
//表格
layui.use('table', function(){
var table = layui.table;
//展示已知数据
table.render({
elem: '#demo'
,cols: [[ //标题栏
{field: 'solrhomes', title: '实例名', width: 400, sort: true}
,{field: 'numFound', title: '数据总量', width: 150}
,{field: 'updatecount', title: '数据增量', minWidth: 150}
,{field: 'uestimes', title: '耗时', minWidth: 150}
]]
,data:message
//,skin: 'line' //表格风格
,even: true
//,page: true //是否显示分页
//,limits: [5, 7, 10]
//,limit: 5 //每页默认显示的数量
});
});
}
\ No newline at end of file
var stompClient = null;
//$("#loadding-zdy").show();
//加载完浏览器后 调用connect(),打开双通道
$(function(){
//打开双通道
connect()
$(window).resize(function(){
$("iframe").contents().find('body').css({"min-height":$(document).height()-104});
$("iframe").height($(document).height()-104);
})
})
//强制关闭浏览器 调用websocket.close(),进行正常关闭
window.onunload = function() {
disconnect()
}
function connect(){
var socket = new SockJS('http://localhost:9022/alldata2'); //连接SockJS的endpoint名称为"endpointOyzc"
var res="";
var res2="";
stompClient = Stomp.over(socket);//使用STMOP子协议的WebSocket客户端
stompClient.connect({},function(frame){//连接WebSocket服务端
console.log('Connected:' + frame);
//通过stompClient.subscribe订阅/topic/getResponse 目标(destination)发送的消息
stompClient.subscribe('/topic/getResponse2',function(response){
res=showResponse(JSON.parse(response.body));
});
});
return res
}
//关闭双通道
function disconnect(){
if(stompClient != null) {
stompClient.disconnect();
}
console.log("Disconnected");
}
function showResponse(message){
debugger;
var response = $("#response");
var core = new Array();
var allnum = new Array();
var updatenum = new Array();
for(var i=0;i<message.length;i++){
var solrhome=message[i].solrhomes;
var numFound=message[i].numFound;
var updatecount=message[i].updatecount;
var uestimes=message[i].uestimes;
var flag=message[i].flag
core.push(solrhome);
allnum.push(numFound);
updatenum.push(updatecount);
}
//指定图标的配置和数据
var option = {
title:{
text:'',
textStyle:{ color:'#fff' }
},
toolbox: {
show : true,
feature : {
dataView : {show: true, readOnly: false,iconStyle:{ color:'rgb(255, 255, 255)',borderColor:"#fff"}},
magicType : {show: true, type: ['line', 'bar']},
restore : {show: true},
saveAsImage : {show: true}
}
},
calculable : true,
tooltip: {},
legend: {
data:['数据总量','数据增量'],
textStyle: {
color: '#fff'
}
},
xAxis: {
data:[],
axisLabel: {
show: true,
textStyle: {
color: '#fff',
borderColor:'#fff',
lineStyle:{
color:'#fff'
}
}
}
},
yAxis: {
axisLabel: {
show: true,
textStyle: {
color: '#fff',
lineStyle:{
color:'#fff'
}
}
},
axisLine: {
show: true, // Y轴线
lineStyle: {
type: 'dashed',
color: '#fff'
}
},
},
series: [{
name: '数据总量',
type: 'bar',
data: [],
color:['#fff'],
itemStyle : {
normal : {
lineStyle:{
color:'#00FF00' //线的颜色
}
}
},
},{
name: '数据增量',
type: 'bar',
data: [],
color:['#fff'],
itemStyle : {
normal : {
lineStyle:{
color:'#00FF00' //线的颜色
}
}
},
}]
};
//初始化echarts实例
var myChart = echarts.init(document.getElementById('chartmain'));
//使用制定的配置项和数据显示图表
myChart.setOption(option);
//异步加载数据
myChart.setOption({
xAxis:{
data:core
},
series:[
{
//根据名字对应到相应的系列
name:"数据总量",
data:allnum
},
{
//根据名字对应到相应的系列
name:"数据增量",
data:updatenum
}
]
})
//获取数据后,隐藏loading动画
//myChart.hideLoading();
//表格
layui.use('table', function(){
var table = layui.table;
//展示已知数据
table.render({
elem: '#demo'
,cols: [[ //标题栏
{field: 'solrhomes', title: '实例名', width: 400, sort: true}
,{field: 'numFound', title: '数据总量', width: 150}
,{field: 'updatecount', title: '数据增量', minWidth: 150}
,{field: 'uestimes', title: '耗时', minWidth: 150}
]]
,data:message
//,skin: 'line' //表格风格
,even: true
//,page: true //是否显示分页
//,limits: [5, 7, 10]
//,limit: 5 //每页默认显示的数量
});
});
}
\ No newline at end of file
$(function () {
//加载弹出层
layui.use(['form','element'],
function() {
layer = layui.layer;
//element = layui.element();
});
//初如化背景
function bgint () {
if(localStorage.bglist){
var arr = JSON.parse(localStorage.bglist);//
// console.log(arr);
//全局背景统一
if(arr['bgSrc']){
$('body').css('background-image', 'url('+arr['bgSrc']+')');
//初始化弹出层背景
}
//单个背景逻辑
// if(arr[location.href]){
// $('body').css('background-image', 'url('+arr[location.href]+')');
// }
}
}
bgint();
//背景主题功能
/*var changerlist = new Swiper('.changer-list', {
initialSlide :5,
effect: 'coverflow',
grabCursor: true,
centeredSlides: true,
slidesPerView: 'auto',
coverflow: {
rotate: 50,
stretch: -10,
depth: 100,
modifier: 1,
slideShadows : false
}
});*/
//判断是否显示左侧菜单
$(window).resize(function(){
width=$(this).width();
if(width>1024){
$('#side-nav').show();
}
});
//背景主题设置展示
is_show_change=true;
$('#changer-set').click(function(event) {
if(is_show_change){
$('.bg-out').show();
$('.bg-changer').animate({top: '0px'}, 500);
is_show_change=false;
}else{
$('.bg-changer').animate({top: '-110px'}, 500);
is_show_change=true;
}
});
//背景主题切换
$('.bg-changer img.item').click(function(event) {
if(!localStorage.bglist){
arr = {};
}else{
arr = JSON.parse(localStorage.bglist);
}
var src = $(this).attr('src');
$('body').css('background-image', 'url('+src+')');
url = location.href;
// 单个背景逻辑
// arr[url]=src;
// 全局背景统一
arr['bgSrc'] = src;
// console.log(arr);
localStorage.bglist = JSON.stringify(arr);
});
//背景初始化
$('.reset').click(function () {
localStorage.clear();
layer.msg('初如化成功',function(){});
});
//背景切换点击空白区域隐藏
$('.bg-out').click(function () {
$('.bg-changer').animate({top: '-110px'}, 500);
is_show_change=true;
$(this).hide();
})
//窄屏下的左侧菜单隐藏效果
$('.container .open-nav i').click(function(event) {
$('#side-nav').toggle(400);
// $('.wrapper .left-nav').toggle(400)
});
//左侧菜单效果
//$('.left-nav #nav li').click(function () {
/*if($(this).hasClass('open')){
$(this).removeClass('open');
$(this).find('.nav_right').html('&#xe697;');
$(this).children('.sub-menu').slideUp();
// $(this).siblings().children('.sub-menu').slideUp();
}else{
$(this).addClass('open');
$(this).find('.nav_right').html('&#xe6a6;');
$(this).children('.sub-menu').slideDown();
$(this).siblings().children('.sub-menu').slideUp();
$(this).siblings().removeClass('open');
}*/
//})
$('.left-nav #nav li>a.dj').click(function(){
if($(this).find(".fa-angle-down").css("display")!="none"){
$(this).next(".sub-menu").slideDown();
$(this).find(".fa-angle-down").hide();
$(this).find(".fa-angle-up").show();
}else{
$(this).next(".sub-menu").slideUp();
$(this).find(".fa-angle-down").show();
$(this).find(".fa-angle-up").hide();
}
});
//初始化菜单展开样式
$('.left-nav #nav li .opened').siblings('a').find('.nav_right').html('&#xe6a6;');
//alert($(".tablec tr:eq(0) td:eq(1)").html())
$("textarea.bgn").width($(".tablec tr:eq(0) td:eq(1)").width()+$(".tablec tr:eq(0) td:eq(2)").width()+$(".tablec tr:eq(0) td:eq(3)").width()+$(".tablec tr:eq(0) td:eq(4)").width()+200);
})
/*弹出层*/
/*
参数解释:
title 标题
url 请求的url
id 需要操作的数据id
w 弹出层宽度(缺省调默认值)
h 弹出层高度(缺省调默认值)
*/
function x_admin_show(title,url,w,h){
if (title == null || title == '') {
title=false;
};
if (url == null || url == '') {
url="404.html";
};
if (w == null || w == '') {
w=800;
};
if (h == null || h == '') {
h=($(window).height() - 50);
};
layer.open({
type: 2,
area: [w+'px', h +'px'],
fix: false, //不固定
maxmin: true,
shadeClose: true,
shade:0.4,
title: title,
content: url
});
}
/*关闭弹出框口*/
function x_admin_close(){
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);
}
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>测试</title>
<script type="text/javascript" src="/js/jquery.min.js"></script>
</head>
<body>
<form id="form1">
id: <input type="text" name="id"/> <br>
用户名: <input type="text" name="username"/><br>
用户名: <input type="text" name="name"/> <br>
年 龄: <input type="text" name="age"/><br>
收人: <input type="text" name="balance"/><br>
<!-- 兴 趣: <input type="checkbox" name="sport" value="1">足球
<input type="checkbox" name="sport" value="2">篮球<br>-->
<a onclick="submit()">银行卡查询</a><br/>
<a onclick="submit1()">银行流水查询</a><br/>
<a onclick="submit2()">第三方支付查询</a><br/>
<a onclick="submit3()">爬虫银行卡查询</a><br/>
<a onclick="submit4()">爬虫银行流水查询</a><br/>
<a onclick="submit5()">爬虫第三方支付查询</a><br/>
<a onclick="submit6()">测试路网</a><br/>
</form>
<iframe border="0" id="content" src="http://47.92.48.137:3000/d/pE4NDbgZz/shouji?orgId=1&from=1554048000000&to=1556639999999" frameborder="0" height="100%" width="100%"></iframe>
<script>
function submit6() {
var data={"aliyun":"106.44986234519158,29.717933013864105,2019-04-08 19:22:10;106.47539408617838,29.72916060093053,2019-04-08 21:44:26;106.47539408617838,29.72916060093053,2019-04-08 21:54:20;106.47539408617838,29.72916060093053,2019-04-08 22:04:14;106.47539408617838,29.72916060093053,2019-04-08 22:16:38;106.47539408617838,29.72916060093053,2019-04-08 22:26:26;106.47539408617838,29.72916060093053,2019-04-08 22:34:30;106.47539408617838,29.72916060093053,2019-04-08 23:00:24;106.47539408617838,29.72916060093053,2019-04-08 23:08:24;106.47539408617838,29.72916060093053,2019-04-08 23:28:42;106.47539408617838,29.72916060093053,2019-04-08 23:38:28;106.47539408617838,29.72916060093053,2019-04-08 23:49:41;106.47539408617838,29.72916060093053,2019-04-09 00:09:14;106.47539408617838,29.72916060093053,2019-04-09 00:14:31;106.47539408617838,29.72916060093053,2019-04-09 00:24:35;106.47539408617838,29.72916060093053,2019-04-09 00:27:12;106.47539408617838,29.72916060093053,2019-04-09 00:34:23;106.47539408617838,29.72916060093053,2019-04-09 00:44:09;106.47539408617838,29.72916060093053,2019-04-09 00:49:24;106.47539408617838,29.72916060093053,2019-04-09 01:04:27;106.47539408617838,29.72916060093053,2019-04-09 01:09:07;106.47539408617838,29.72916060093053,2019-04-09 01:18:54;106.47539408617838,29.72916060093053,2019-04-09 01:48:15;106.47539408617838,29.72916060093053,2019-04-09 01:54:24;106.47539408617838,29.72916060093053,2019-04-09 02:00:10;106.47539408617838,29.72916060093053,2019-04-09 02:09:34;106.47539408617838,29.72916060093053,2019-04-09 02:15:32;106.47539408617838,29.72916060093053,2019-04-09 02:19:22;106.47539408617838,29.72916060093053,2019-04-09 02:25:18;106.47539408617838,29.72916060093053,2019-04-09 03:20:48;106.47539408617838,29.72916060093053,2019-04-09 03:28:21;106.47539408617838,29.72916060093053,2019-04-09 03:44:06;106.47539408617838,29.72916060093053,2019-04-09 04:29:32;106.47539408617838,29.72916060093053,2019-04-09 04:58:12;106.47539408617838,29.72916060093053,2019-04-09 05:04:42;106.47539408617838,29.72916060093053,2019-04-09 05:32:45;106.47539408617838,29.72916060093053,2019-04-09 05:59:49;106.47539408617838,29.72916060093053,2019-04-09 06:03:10;106.47539408617838,29.72916060093053,2019-04-09 06:09:35;106.47539408617838,29.72916060093053,2019-04-09 06:36:18;106.47539408617838,29.72916060093053,2019-04-09 06:53:45;106.47539408617838,29.72916060093053,2019-04-09 06:58:04;106.47539408617838,29.72916060093053,2019-04-09 07:02:53;106.47539408617838,29.72916060093053,2019-04-09 07:19:59;106.47539408617838,29.72916060093053,2019-04-09 07:29:45;106.47539408617838,29.72916060093053,2019-04-09 07:37:27;106.47539408617838,29.72916060093053,2019-04-09 07:40:29;106.47539408617838,29.72916060093053,2019-04-09 07:41:40;106.47539408617838,29.72916060093053,2019-04-09 07:42:36;106.47539408617838,29.72916060093053,2019-04-09 07:44:23;106.47539408617838,29.72916060093053,2019-04-09 07:59:28;106.47539408617838,29.72916060093053,2019-04-09 08:08:14;106.47539408617838,29.72916060093053,2019-04-09 08:12:47;106.47539408617838,29.72916060093053,2019-04-09 08:18:00;106.47539408617838,29.72916060093053,2019-04-09 08:39:04;106.47539408617838,29.72916060093053,2019-04-09 08:40:20;106.47539408617838,29.72916060093053,2019-04-09 08:43:19;106.47055250844024,29.729514133215133,2019-04-09 08:47:00;106.47055250844024,29.729514133215133,2019-04-09 08:48:35;106.47503559881285,29.72829610580375,2019-04-09 08:54:54;106.46607132368773,29.730175814266627,2019-04-09 08:55:27;106.45848496129948,29.717837175544915,2019-04-09 08:58:15;106.46100439823739,29.719126202356893,2019-04-09 09:00:49;106.45027401331609,29.71177339511978,2019-04-09 09:11:36;106.45027401331609,29.71177339511978,2019-04-09 09:13:22;106.45027401331609,29.71177339511978,2019-04-09 09:29:19;106.45027401331609,29.71177339511978,2019-04-09 09:33:00;106.45027401331609,29.71177339511978,2019-04-09 09:35:05;106.45027401331609,29.71177339511978,2019-04-09 09:39:45;106.45027401331609,29.71177339511978,2019-04-09 09:43:09;106.45027401331609,29.71177339511978,2019-04-09 09:46:54;106.45027401331609,29.71177339511978,2019-04-09 09:49:03;106.45027401331609,29.71177339511978,2019-04-09 09:52:54;106.45027401331609,29.71177339511978,2019-04-09 09:59:46;106.45027401331609,29.71177339511978,2019-04-09 10:01:02;106.45027401331609,29.71177339511978,2019-04-09 10:01:56;106.45027401331609,29.71177339511978,2019-04-09 10:02:34;106.45027401331609,29.71177339511978,2019-04-09 10:10:44;106.45027401331609,29.71177339511978,2019-04-09 10:25:27;106.45027401331609,29.71177339511978,2019-04-09 10:33:46;106.45027401331609,29.71177339511978,2019-04-09 10:48:42;106.45027401331609,29.71177339511978,2019-04-09 10:50:21;106.45027401331609,29.71177339511978,2019-04-09 10:51:07;106.45027401331609,29.71177339511978,2019-04-09 11:08:50;106.45027401331609,29.71177339511978,2019-04-09 11:18:21;106.45027401331609,29.71177339511978,2019-04-09 11:22:09"
,"aliyunUrl": "http://77.1.24.80:9090/mapmatching/compute?type=station&maxLoopNum=6&minRoadLen=200"}
//console.info("2222222222"+JSON.stringify(data1));
$.ajax({
method : 'post',
url : 'http://77.1.24.49:8080/lbs/poiController/poiQueryLwsj',
dateType:'json',
data :data, // 将json对象转为json字符串
success : function(data) {
console.info(data);
}
})
}
function submit() {
var data={"account":"6217850800004919054","curPage":"1"}
//console.info("2222222222"+JSON.stringify(data1));
$.ajax({
method : 'post',
url : 'cardinfos',
dateType:'json',
data :data, // 将json对象转为json字符串
success : function(data) {
console.info(data);
}
})
}
function submit1() {
//json对象
var data1={"account":"6217850800004919054", "applicationNumber":"0301421615242101H3205002019058880054","curPage":"1","draw":"3"}
$.ajax({
method : 'post',
url : 'cardliushui',
dateType:'json',
//contentType:"application/json", //后台@RequestBody接收 就是接收json字符串
//data :JSON.stringify(data1), // 将json对象转为json字符串
data :data1,
success : function(data) {
console.info(data);
}
})
}
function submit2() {
//json对象
var data1={"zh":"17059107788","curPage":"1"}
$.ajax({
method : 'post',
url : 'thirdpartyinfos',
dateType:'json',
dateType:'json',
//contentType:"application/json", //后台@RequestBody接收 就是接收json字符串
//data :JSON.stringify(data1), // 将json对象转为json字符串
data :data1,
success : function(data) {
console.info(data);
}
})
}
function submit3() {
var data={"curPage":"0","kssj":"2019-05-01","jzsj":"2019-05-29"}
//console.info("2222222222"+JSON.stringify(data1));
$.ajax({
method : 'post',
url : 'savecardinfos',
dateType:'json',
data :data, // 将json对象转为json字符串
success : function(data) {
console.info(data);
}
})
}
function submit4() {
//json对象
var data1={"account":"6217850800004919054", "applicationNumber":"0301421615242101H3205002019058880054","curPage":"1"}
$.ajax({
method : 'post',
url : 'savecardliushui',
dateType:'json',
contentType:"application/json", //后台@RequestBody接收 就是接收json字符串
data :JSON.stringify(data1), // 将json对象转为json字符串
success : function(data) {
console.info(data);
}
})
}
function submit5() {
//json对象
var data1={"zh":"17059107788","curPage":"1"}
$.ajax({
method : 'post',
url : 'savethirdpartyinfos',
dateType:'json',
contentType:"application/json", //后台@RequestBody接收 就是接收json字符串
data :JSON.stringify(data1), // 将json对象转为json字符串
success : function(data) {
console.info(data);
}
})
}
</script>
</body>
</html>
\ No newline at end of file
package com.founder;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.founder.dao.CardDao;
import com.founder.jsoup.JsoupCookieCraw;
import com.founder.jsoup.SaveJsoupCookieCraw;
import com.founder.model.XzxtRestResult;
import com.founder.model.card;
import com.founder.multipleThread.listThread.ListThreadPoolTool;
import com.founder.multipleThread.postThread.PostThreadPoolTool;
import com.founder.service.CardinfosService;
import com.founder.service.SaveCardinfosService;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import java.util.concurrent.ExecutorService;
@RunWith(SpringRunner.class)
@SpringBootTest
public class XzxtJsoupApplicationTests {
@Autowired
CardDao cardDao;
@Autowired
private SaveJsoupCookieCraw saveJsoupCookieCraw;
@Autowired
private JsoupCookieCraw jsoupCookieCraw;
@Autowired
private SaveCardinfosService saveCardinfosService ;
@Autowired
private CardinfosService cardinfosService ;
//卡号
@Test
public void card() throws IOException {
Map<String, String> cookies = null;
JsoupCookieCraw jsop=new JsoupCookieCraw();
// 先模拟登录获取到cookie和sessionid并存到全局变量cookies中
cookies=jsoupCookieCraw.login();
System.out.print("登录反诈平台获取cookies==="+cookies.toString());
String url = "http://68.89.99.2/dxzp/jsp/ajxx/yszfcx.action";
// 直接获取DOM树,带着cookies去获取
//pageList.curPage: 1 yhzh.kssj: 2019-05-27 yhzh.xfzt: all
Document document = Jsoup.connect(url)
.cookies(cookies)
.timeout(60000)
.data("pageList.curPage", "1")
.data("yhzh.kssj", "")
.data("yhzh.jzsj", "")
.data("yhzh.zh", "6217850800004919054")
//.data("yhzh.xfzt", "all")
.post();
System.out.println(document.toString());
List<card> cardList =new ArrayList<card>();
//cardList=jsop.getCardInfo(document);
for(card card :cardList){
System.out.println("存入数据==="+JSON.toJSONString(card));
//cardDao.addCard(card);
}
}
//银行卡流水
@Test
public void cardliushui() throws IOException {
Map<String, String> cookies = null;
JsoupCookieCraw jsop=new JsoupCookieCraw();
// 先模拟登录获取到cookie和sessionid并存到全局变量cookies中
cookies=jsoupCookieCraw.login();
System.out.print("登录反诈平台获取cookies==="+cookies.toString());
String url = "http://68.89.99.2/dxzp/jsp/ajxx/mxcxJg.action";
// 直接获取DOM树,带着cookies去获取
//pageList.curPage: 1 yhzh.kssj: 2019-05-27 yhzh.xfzt: all
Document document = Jsoup.connect(url)
.cookies(cookies)
.timeout(60000)
.data("pageList.curPage", "1")
.data("yhzh.zh", "6217850800004919054")//账号
.data("yhzh.ywsqbh", "0301421615242101H3205002019058880054")//业务申请编号
//.data("yhzh.id", "H3205002019058880054")
.post();
System.out.println(document.toString());
List<card> cardList =new ArrayList<card>();
/*cardList=jsop.getCardInfo(document);
for(card card :cardList){
System.out.println("存入数据==="+JSON.toJSONString(card));
//cardDao.addCard(card);
}*/
}
@Test
public void UUID(){
for(int i=0;i<15;i++){
String uuid = UUID.randomUUID().toString().replaceAll("-","");
uuid = uuid.substring(0,uuid.length()-2);
System.out.print("登录反诈平台获取cookies==="+uuid);
}
}
@Test
public void cardthread(){
System.out.println("执行开始");
card card = new card();
card.setCurPage("0");
card.setKssj("2019-05-01");
card.setJzsj("2019-05-02");
//获取一个月的数据
XzxtRestResult xzxtRestResult=saveCardinfosService.getSaveCardinfos(card);
int pages= Integer.parseInt(xzxtRestResult.getRediskey());
System.out.println("批处理总数========"+pages);
//1、线程批量分组页面list
PostThreadPoolTool<card> tool = new PostThreadPoolTool(1000, pages,card);
try {
tool.excute();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
public static void thread2(int singleCount, List<String> list, final card yscard) {
ListThreadPoolTool<String> tool = new ListThreadPoolTool(singleCount, list);
//final card yscard=XzxtRestResult.format(data,card.class);
tool.setWork(new ListThreadPoolTool.Work<String>() {
@Override
public void method(int xcmz, List<String> list) {//返回值
System.out.println("线程池2==" + xcmz + "---" + Thread.currentThread().getName() + "------" + list.toString());
}
});
try {
tool.excute();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment