From 568199b5073ffd67a1db1cb98bf2d244c171a0d7 Mon Sep 17 00:00:00 2001 From: NuwanSameera Date: Wed, 13 Jan 2016 14:45:28 +0530 Subject: [PATCH] connected cup agent added to samples --- .../component/connected-cup-agent/pom.xml | 152 + .../coffeeking/agent/datasense/PushLevel.java | 35 + .../agent/datasense/PushTemperature.java | 33 + .../agent/transport/TransportHandler.java | 50 + .../transport/TransportHandlerException.java | 56 + .../ConnectedCupMQttTransportHandler.java | 143 + .../transport/mqtt/MQTTTransportHandler.java | 367 + .../src/main/webapp/WEB-INF/web.xml | 27 + .../src/main/webapp/bootstrap.min.css | 6 + .../src/main/webapp/coffeecup.png | Bin 0 -> 114226 bytes .../src/main/webapp/index.jsp | 140 + .../src/main/webapp/jquery-1.12.0.min.js | 5 + .../src/main/webapp/jquery-ui.css | 1225 ++ .../src/main/webapp/jquery-ui.js | 16617 ++++++++++++++++ 14 files changed, 18856 insertions(+) create mode 100644 modules/samples/connectedcup/component/connected-cup-agent/pom.xml create mode 100644 modules/samples/connectedcup/component/connected-cup-agent/src/main/java/org/coffeeking/agent/datasense/PushLevel.java create mode 100644 modules/samples/connectedcup/component/connected-cup-agent/src/main/java/org/coffeeking/agent/datasense/PushTemperature.java create mode 100644 modules/samples/connectedcup/component/connected-cup-agent/src/main/java/org/coffeeking/agent/transport/TransportHandler.java create mode 100644 modules/samples/connectedcup/component/connected-cup-agent/src/main/java/org/coffeeking/agent/transport/TransportHandlerException.java create mode 100644 modules/samples/connectedcup/component/connected-cup-agent/src/main/java/org/coffeeking/agent/transport/mqtt/ConnectedCupMQttTransportHandler.java create mode 100644 modules/samples/connectedcup/component/connected-cup-agent/src/main/java/org/coffeeking/agent/transport/mqtt/MQTTTransportHandler.java create mode 100644 modules/samples/connectedcup/component/connected-cup-agent/src/main/webapp/WEB-INF/web.xml create mode 100644 modules/samples/connectedcup/component/connected-cup-agent/src/main/webapp/bootstrap.min.css create mode 100644 modules/samples/connectedcup/component/connected-cup-agent/src/main/webapp/coffeecup.png create mode 100644 modules/samples/connectedcup/component/connected-cup-agent/src/main/webapp/index.jsp create mode 100644 modules/samples/connectedcup/component/connected-cup-agent/src/main/webapp/jquery-1.12.0.min.js create mode 100644 modules/samples/connectedcup/component/connected-cup-agent/src/main/webapp/jquery-ui.css create mode 100644 modules/samples/connectedcup/component/connected-cup-agent/src/main/webapp/jquery-ui.js diff --git a/modules/samples/connectedcup/component/connected-cup-agent/pom.xml b/modules/samples/connectedcup/component/connected-cup-agent/pom.xml new file mode 100644 index 00000000..a2415794 --- /dev/null +++ b/modules/samples/connectedcup/component/connected-cup-agent/pom.xml @@ -0,0 +1,152 @@ + + + device-mgt-iot-connectedcup + org.wso2.carbon.devicemgt-plugins + 1.9.2-SNAPSHOT + ../pom.xml + + 4.0.0 + org.coffeking.agent + war + 1.9.2-SNAPSHOT + connected-cup-agent Maven Webapp + http://maven.apache.org + + + + junit + junit + 3.8.1 + test + + + org.json + json + 20151123 + + + javax.servlet + javax.servlet-api + 3.0.1 + provided + + + commons-logging + commons-logging + 1.1.1 + provided + + + org.eclipse.paho + mqtt-client + 0.4.0 + + + + + connected-cup-agent + + + org.apache.maven.plugins + maven-compiler-plugin + + 1.6 + 1.6 + + + + + + + + wso2.releases + WSO2 internal Repository + http://maven.wso2.org/nexus/content/repositories/releases/ + + true + daily + ignore + + + + wso2.snapshots + Apache Snapshot Repository + http://maven.wso2.org/nexus/content/repositories/snapshots/ + + true + daily + + + false + + + + wso2-nexus + WSO2 internal Repository + http://maven.wso2.org/nexus/content/groups/wso2-public/ + + true + daily + ignore + + + + + + + + + wso2-nexus + WSO2 internal Repository + http://maven.wso2.org/nexus/content/groups/wso2-public/ + + true + daily + ignore + + + + wso2.releases + WSO2 internal Repository + http://maven.wso2.org/nexus/content/repositories/releases/ + + true + daily + ignore + + + + wso2.snapshots + WSO2 Snapshot Repository + http://maven.wso2.org/nexus/content/repositories/snapshots/ + + true + daily + + + false + + + + gcm-server-repository + GCM Server repository - GitHub + https://github.com/slorber/gcm-server-repository/raw/master/releases/ + + + wso2-staging + WSO2 internal Repository + http://maven.wso2.org/nexus/content/repositories/orgwso2carbonapimgt-174/ + + true + daily + ignore + + + + + \ No newline at end of file diff --git a/modules/samples/connectedcup/component/connected-cup-agent/src/main/java/org/coffeeking/agent/datasense/PushLevel.java b/modules/samples/connectedcup/component/connected-cup-agent/src/main/java/org/coffeeking/agent/datasense/PushLevel.java new file mode 100644 index 00000000..2c6a0fcb --- /dev/null +++ b/modules/samples/connectedcup/component/connected-cup-agent/src/main/java/org/coffeeking/agent/datasense/PushLevel.java @@ -0,0 +1,35 @@ +package org.coffeeking.agent.datasense; + +import org.coffeeking.agent.transport.TransportHandlerException; +import org.coffeeking.agent.transport.mqtt.ConnectedCupMQttTransportHandler; +import org.json.JSONObject; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.StreamCorruptedException; + +public class PushLevel extends HttpServlet { + + private ConnectedCupMQttTransportHandler connectedCupMQttTransportHandler; + + public PushLevel(){ + connectedCupMQttTransportHandler = ConnectedCupMQttTransportHandler.getInstance(); + } + + @Override + protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + String deviceId = req.getParameter("deviceId"); + String deviceOwner = req.getParameter("deviceOwner"); + String payload = req.getParameter("payload"); + + try { + connectedCupMQttTransportHandler.publishToConnectedCup(deviceOwner,deviceId,payload,0,true); + } catch (TransportHandlerException e) { + e.printStackTrace(); + } + + } +} diff --git a/modules/samples/connectedcup/component/connected-cup-agent/src/main/java/org/coffeeking/agent/datasense/PushTemperature.java b/modules/samples/connectedcup/component/connected-cup-agent/src/main/java/org/coffeeking/agent/datasense/PushTemperature.java new file mode 100644 index 00000000..055e4994 --- /dev/null +++ b/modules/samples/connectedcup/component/connected-cup-agent/src/main/java/org/coffeeking/agent/datasense/PushTemperature.java @@ -0,0 +1,33 @@ +package org.coffeeking.agent.datasense; + +import org.coffeeking.agent.transport.TransportHandlerException; +import org.coffeeking.agent.transport.mqtt.ConnectedCupMQttTransportHandler; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + +public class PushTemperature extends HttpServlet { + + private ConnectedCupMQttTransportHandler connectedCupMQttTransportHandler; + + public PushTemperature(){ + connectedCupMQttTransportHandler = ConnectedCupMQttTransportHandler.getInstance(); + } + + @Override + protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + String deviceId = req.getParameter("deviceId"); + String deviceOwner = req.getParameter("deviceOwner"); + String payload = req.getParameter("payload"); + + try { + connectedCupMQttTransportHandler.publishToConnectedCup(deviceOwner,deviceId,payload,0,true); + } catch (TransportHandlerException e) { + e.printStackTrace(); + } + } + +} diff --git a/modules/samples/connectedcup/component/connected-cup-agent/src/main/java/org/coffeeking/agent/transport/TransportHandler.java b/modules/samples/connectedcup/component/connected-cup-agent/src/main/java/org/coffeeking/agent/transport/TransportHandler.java new file mode 100644 index 00000000..c00b7f02 --- /dev/null +++ b/modules/samples/connectedcup/component/connected-cup-agent/src/main/java/org/coffeeking/agent/transport/TransportHandler.java @@ -0,0 +1,50 @@ +/* + * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * + * WSO2 Inc. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.coffeeking.agent.transport; + +/** + * This interface consists of the core functionality related to the transport between any device and the server. The + * interface is an abstraction, regardless of the underlying protocol used for the transport. Implementation of this + * interface by any class that caters a specific protocol (ex: HTTP, XMPP, MQTT, CoAP) would ideally have methods + * specific to the protocol used for communication and thees methods that implement the logic related to the devices + * using the protocol. + * + * @param a message type specific to the protocol implemented + */ +public interface TransportHandler { + int DEFAULT_TIMEOUT_INTERVAL = 5000; // millis ~ 10 sec + + void connect(); + + boolean isConnected(); + + void processIncomingMessage() throws TransportHandlerException; + + void processIncomingMessage(T message) throws TransportHandlerException; + + void processIncomingMessage(T message, String... messageParams) throws TransportHandlerException; + + void publishDeviceData() throws TransportHandlerException; + + void publishDeviceData(T publishData) throws TransportHandlerException; + + void publishDeviceData(String... publishData) throws TransportHandlerException; + + void disconnect(); +} diff --git a/modules/samples/connectedcup/component/connected-cup-agent/src/main/java/org/coffeeking/agent/transport/TransportHandlerException.java b/modules/samples/connectedcup/component/connected-cup-agent/src/main/java/org/coffeeking/agent/transport/TransportHandlerException.java new file mode 100644 index 00000000..ee21bacc --- /dev/null +++ b/modules/samples/connectedcup/component/connected-cup-agent/src/main/java/org/coffeeking/agent/transport/TransportHandlerException.java @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * + * WSO2 Inc. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.coffeeking.agent.transport; + +public class TransportHandlerException extends Exception { + private static final long serialVersionUID = 2736466230451105440L; + + private String errorMessage; + + public String getErrorMessage() { + return errorMessage; + } + + public void setErrorMessage(String errorMessage) { + this.errorMessage = errorMessage; + } + + public TransportHandlerException(String msg, Exception nestedEx) { + super(msg, nestedEx); + setErrorMessage(msg); + } + + public TransportHandlerException(String message, Throwable cause) { + super(message, cause); + setErrorMessage(message); + } + + public TransportHandlerException(String msg) { + super(msg); + setErrorMessage(msg); + } + + public TransportHandlerException() { + super(); + } + + public TransportHandlerException(Throwable cause) { + super(cause); + } +} diff --git a/modules/samples/connectedcup/component/connected-cup-agent/src/main/java/org/coffeeking/agent/transport/mqtt/ConnectedCupMQttTransportHandler.java b/modules/samples/connectedcup/component/connected-cup-agent/src/main/java/org/coffeeking/agent/transport/mqtt/ConnectedCupMQttTransportHandler.java new file mode 100644 index 00000000..a19c8e94 --- /dev/null +++ b/modules/samples/connectedcup/component/connected-cup-agent/src/main/java/org/coffeeking/agent/transport/mqtt/ConnectedCupMQttTransportHandler.java @@ -0,0 +1,143 @@ +package org.coffeeking.agent.transport.mqtt; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.coffeeking.agent.transport.TransportHandlerException; +import org.eclipse.paho.client.mqttv3.MqttException; +import org.eclipse.paho.client.mqttv3.MqttMessage; + +import java.io.File; +import java.util.UUID; +import java.util.concurrent.ScheduledFuture; + +public class ConnectedCupMQttTransportHandler extends MQTTTransportHandler { + + private static Log log = LogFactory.getLog(ConnectedCupMQttTransportHandler.class); + + private static String iotServerSubscriber = UUID.randomUUID().toString().substring(0, 5); + + private static final String DEVICE_TYPE = "connectedcup"; + + private static ConnectedCupMQttTransportHandler connectedCupMQttTransportHandler; + + private static String publishTopic = "wso2" + File.separator + "%s" + File.separator + + DEVICE_TYPE + File.separator + "%s" + File.separator + + "connected_publisher"; + + protected ConnectedCupMQttTransportHandler() { + super(iotServerSubscriber, DEVICE_TYPE, "tcp://localhost:1883", ""); + } + + private ScheduledFuture dataPushServiceHandler; + + public ScheduledFuture getDataPushServiceHandler() { + return dataPushServiceHandler; + } + + @Override + public void connect() { + Runnable connect = new Runnable() { + @Override + public void run() { + log.info("Trying to connect.."); + while (!isConnected()) { + try { + connectToQueue(); + } catch (TransportHandlerException e) { + log.warn("Connection to MQTT Broker at: " + + mqttBrokerEndPoint + " failed"); + + try { + Thread.sleep(timeoutInterval); + } catch (InterruptedException ex) { + log.error("MQTT-Subscriber: Thread Sleep Interrupt Exception"); + } + } + } + + log.info("Connected.."); + + } + }; + + Thread connectorThread = new Thread(connect); + connectorThread.setDaemon(true); + connectorThread.start(); + + } + + @Override + public void processIncomingMessage(MqttMessage message, String... messageParams) { + } + + public void publishToConnectedCup(String owner , String deviceId, String payLoad, int qos, boolean retained) + throws TransportHandlerException{ + String topic = String.format(publishTopic,owner,deviceId); + publishToQueue(topic, payLoad, qos, retained); + } + + @Override + public void disconnect() { + Runnable stopConnection = new Runnable() { + public void run() { + while (isConnected()) { + try { + dataPushServiceHandler.cancel(true); + closeConnection(); + + } catch (MqttException e) { + if (log.isDebugEnabled()) { + log.warn("Unable to 'STOP' MQTT connection at broker at: " + + mqttBrokerEndPoint); + } + + try { + Thread.sleep(timeoutInterval); + } catch (InterruptedException e1) { + log.error("MQTT-Terminator: Thread Sleep Interrupt Exception"); + } + } + } + } + }; + + Thread terminatorThread = new Thread(stopConnection); + terminatorThread.setDaemon(true); + terminatorThread.start(); + } + + + @Override + public void publishDeviceData() throws TransportHandlerException { + + } + + @Override + public void publishDeviceData(MqttMessage publishData) throws TransportHandlerException { + + } + + @Override + public void publishDeviceData(String... publishData) throws TransportHandlerException { + + } + + @Override + public void processIncomingMessage() { + + } + + @Override + public void processIncomingMessage(MqttMessage message) throws TransportHandlerException { + + } + + public static ConnectedCupMQttTransportHandler getInstance(){ + if(connectedCupMQttTransportHandler == null){ + connectedCupMQttTransportHandler = new ConnectedCupMQttTransportHandler(); + connectedCupMQttTransportHandler.connect(); + } + return connectedCupMQttTransportHandler; + } + +} \ No newline at end of file diff --git a/modules/samples/connectedcup/component/connected-cup-agent/src/main/java/org/coffeeking/agent/transport/mqtt/MQTTTransportHandler.java b/modules/samples/connectedcup/component/connected-cup-agent/src/main/java/org/coffeeking/agent/transport/mqtt/MQTTTransportHandler.java new file mode 100644 index 00000000..bd81a3b1 --- /dev/null +++ b/modules/samples/connectedcup/component/connected-cup-agent/src/main/java/org/coffeeking/agent/transport/mqtt/MQTTTransportHandler.java @@ -0,0 +1,367 @@ +/* + * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * + * WSO2 Inc. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.coffeeking.agent.transport.mqtt; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.coffeeking.agent.transport.TransportHandler; +import org.coffeeking.agent.transport.TransportHandlerException; +import org.eclipse.paho.client.mqttv3.*; +import java.io.File; +import java.nio.charset.StandardCharsets; + +/** + * This is an abstract class that implements the "TransportHandler" interface. The interface is an abstraction for + * the core functionality with regards to device-server communication regardless of the Transport protocol. This + * specific class contains the HTTP-Transport specific implementations. The class implements utility methods for the + * case of a HTTP communication. However, this "abstract class", even-though it implements the "TransportHandler" + * interface, does not contain the logic relevant to the interface methods. The specific functionality of the + * interface methods are intended to be implemented by the concrete class that extends this abstract class and + * utilizes the HTTP specific functionality (ideally a device API writer who would like to communicate to the device + * via HTTP Protocol). + *

+ * This class contains the Device-Management specific implementation for all the MQTT functionality. This includes + * connecting to a MQTT Broker & subscribing to the appropriate MQTT-topic, action plan upon losing connection or + * successfully delivering a message to the broker and processing incoming messages. Makes use of the 'Paho-MQTT' + * library provided by Eclipse Org. + */ +public abstract class MQTTTransportHandler + implements MqttCallback, TransportHandler { + private static final Log log = LogFactory.getLog(MQTTTransportHandler.class); + + public static final int DEFAULT_MQTT_QUALITY_OF_SERVICE = 0; + + private MqttClient client; + private String clientId; + private MqttConnectOptions options; + private String clientWillTopic; + + protected String mqttBrokerEndPoint; + protected int timeoutInterval; + protected String subscribeTopic; + + /** + * Constructor for the MQTTTransportHandler which takes in the owner, type of the device + * and the MQTT Broker URL and the topic to subscribe. + * + * @param deviceOwner the owner of the device. + * @param deviceType the CDMF Device-Type of the device. + * @param mqttBrokerEndPoint the IP/URL of the MQTT broker endpoint. + * @param subscribeTopic the MQTT topic to which the client is to be subscribed + */ + protected MQTTTransportHandler(String deviceOwner, String deviceType, + String mqttBrokerEndPoint, + String subscribeTopic) { + this.clientId = deviceOwner + ":" + deviceType; + this.subscribeTopic = subscribeTopic; + this.clientWillTopic = deviceType + File.separator + "disconnection"; + this.mqttBrokerEndPoint = mqttBrokerEndPoint; + this.timeoutInterval = DEFAULT_TIMEOUT_INTERVAL; + this.initSubscriber(); + } + + /** + * Constructor for the MQTTTransportHandler which takes in the owner, type of the device + * and the MQTT Broker URL and the topic to subscribe. Additionally this constructor takes in + * the reconnection-time interval between successive attempts to connect to the broker. + * + * @param deviceOwner the owner of the device. + * @param deviceType the CDMF Device-Type of the device. + * @param mqttBrokerEndPoint the IP/URL of the MQTT broker endpoint. + * @param subscribeTopic the MQTT topic to which the client is to be subscribed + * @param intervalInMillis the time interval in MILLI-SECONDS between successive + * attempts to connect to the broker. + */ + protected MQTTTransportHandler(String deviceOwner, String deviceType, + String mqttBrokerEndPoint, String subscribeTopic, + int intervalInMillis) { + this.clientId = deviceOwner + ":" + deviceType; + this.subscribeTopic = subscribeTopic; + //TODO:: Use constant strings + this.clientWillTopic = deviceType + File.separator + "disconnection"; + this.mqttBrokerEndPoint = mqttBrokerEndPoint; + this.timeoutInterval = intervalInMillis; + this.initSubscriber(); + } + + public void setTimeoutInterval(int timeoutInterval) { + this.timeoutInterval = timeoutInterval; + } + + /** + * Initializes the MQTT-Client. Creates a client using the given MQTT-broker endpoint and the + * clientId (which is constructed by a concatenation of [deviceOwner]:[deviceType]). Also sets + * the client's options parameter with the clientWillTopic (in-case of connection failure) and + * other info. Also sets the call-back this current class. + */ + private void initSubscriber() { + try { + client = new MqttClient(this.mqttBrokerEndPoint, clientId, null); + //TODO:: Need to check for debug + log.info("MQTT subscriber was created with ClientID : " + clientId); + } catch (MqttException ex) { + //TODO:: Remove unnecessary formatting and print exception + String errorMsg = "MQTT Client Error\n" + "\tReason: " + ex.getReasonCode() + + "\n\tMessage: " + ex.getMessage() + "\n\tLocalMsg: " + + ex.getLocalizedMessage() + "\n\tCause: " + ex.getCause() + + "\n\tException: " + ex; + log.error(errorMsg); + //TODO:: Throw the error out + } + + options = new MqttConnectOptions(); + options.setCleanSession(true); + //TODO:: Use constant strings + options.setWill(clientWillTopic, "Connection-Lost".getBytes(StandardCharsets.UTF_8), 2, + true); + client.setCallback(this); + } + + /** + * Checks whether the connection to the MQTT-Broker persists. + * + * @return true if the client is connected to the MQTT-Broker, else false. + */ + @Override + public boolean isConnected() { + return client.isConnected(); + } + + + /** + * Connects to the MQTT-Broker and if successfully established connection. + * + * @throws TransportHandlerException in the event of 'Connecting to' the MQTT broker fails. + */ + protected void connectToQueue() throws TransportHandlerException { + try { + client.connect(options); + + if (log.isDebugEnabled()) { + log.debug("Subscriber connected to queue at: " + this.mqttBrokerEndPoint); + } + } catch (MqttSecurityException ex) { + String errorMsg = "MQTT Security Exception when connecting to queue\n" + "\tReason: " + + " " + + ex.getReasonCode() + "\n\tMessage: " + ex.getMessage() + + "\n\tLocalMsg: " + ex.getLocalizedMessage() + "\n\tCause: " + + ex.getCause() + "\n\tException: " + ex; + //TODO:: Compulsory log of errors and remove formatted error + if (log.isDebugEnabled()) { + log.debug(errorMsg); + } + throw new TransportHandlerException(errorMsg, ex); + + } catch (MqttException ex) { + //TODO:: Compulsory log of errors and remove formatted error + String errorMsg = "MQTT Exception when connecting to queue\n" + "\tReason: " + + ex.getReasonCode() + "\n\tMessage: " + ex.getMessage() + + "\n\tLocalMsg: " + ex.getLocalizedMessage() + "\n\tCause: " + + ex.getCause() + "\n\tException: " + ex; + if (log.isDebugEnabled()) { + log.debug(errorMsg); + } + throw new TransportHandlerException(errorMsg, ex); + } + } + + /** + * Subscribes to the MQTT-Topic specific to this MQTT Client. (The MQTT-Topic specific to the + * device is taken in as a constructor parameter of this class) . + * + * @throws TransportHandlerException in the event of 'Subscribing to' the MQTT broker + * fails. + */ + protected void subscribeToQueue() throws TransportHandlerException { + try { + //TODO:: QoS Level take it from a variable + client.subscribe(subscribeTopic, 0); + if (log.isDebugEnabled()) { + log.debug("Subscriber '" + clientId + "' subscribed to topic: " + subscribeTopic); + } + } catch (MqttException ex) { + //TODO:: Compulsory log of errors and remove formatted error + String errorMsg = "MQTT Exception when trying to subscribe to topic: " + + subscribeTopic + "\n\tReason: " + ex.getReasonCode() + + "\n\tMessage: " + ex.getMessage() + "\n\tLocalMsg: " + + ex.getLocalizedMessage() + "\n\tCause: " + ex.getCause() + + "\n\tException: " + ex; + if (log.isDebugEnabled()) { + log.debug(errorMsg); + } + + throw new TransportHandlerException(errorMsg, ex); + } + } + + + /** + * This method is used to publish reply-messages for the control signals received. + * Invocation of this method calls its overloaded-method with a QoS equal to that of the + * default value. + * + * @param topic the topic to which the reply message is to be published. + * @param payLoad the reply-message (payload) of the MQTT publish action. + */ + protected void publishToQueue(String topic, String payLoad) + throws TransportHandlerException { + publishToQueue(topic, payLoad, DEFAULT_MQTT_QUALITY_OF_SERVICE, false); + } + + /** + * This is an overloaded method that publishes MQTT reply-messages for control signals + * received form the IoT-Server. + * + * @param topic the topic to which the reply message is to be published + * @param payLoad the reply-message (payload) of the MQTT publish action. + * @param qos the Quality-of-Service of the current publish action. + * Could be 0(At-most once), 1(At-least once) or 2(Exactly once) + */ + protected void publishToQueue(String topic, String payLoad, int qos, boolean retained) + throws TransportHandlerException { + try { + client.publish(topic, payLoad.getBytes(StandardCharsets.UTF_8), qos, retained); + if (log.isDebugEnabled()) { + log.debug("Message: " + payLoad + " to MQTT topic [" + topic + + "] published successfully"); + } + } catch (MqttException ex) { + String errorMsg = + "MQTT Client Error" + "\n\tReason: " + ex.getReasonCode() + "\n\tMessage: " + + ex.getMessage() + "\n\tLocalMsg: " + ex.getLocalizedMessage() + + "\n\tCause: " + ex.getCause() + "\n\tException: " + ex; + log.info(errorMsg); + throw new TransportHandlerException(errorMsg, ex); + } + } + + + protected void publishToQueue(String topic, MqttMessage message) + throws TransportHandlerException { + try { + client.publish(topic, message); + if (log.isDebugEnabled()) { + log.debug("Message: " + message.toString() + " to MQTT topic [" + topic + + "] published successfully"); + } + } catch (MqttException ex) { + //TODO:: Compulsory log of errors and remove formatted error + String errorMsg = + "MQTT Client Error" + "\n\tReason: " + ex.getReasonCode() + "\n\tMessage: " + + ex.getMessage() + "\n\tLocalMsg: " + ex.getLocalizedMessage() + + "\n\tCause: " + ex.getCause() + "\n\tException: " + ex; + log.info(errorMsg); + throw new TransportHandlerException(errorMsg, ex); + } + } + + + /** + * Callback method which is triggered once the MQTT client losers its connection to the broker. + * Spawns a new thread that executes necessary actions to try and reconnect to the endpoint. + * + * @param throwable a Throwable Object containing the details as to why the failure occurred. + */ + @Override + public void connectionLost(Throwable throwable) { + if (log.isDebugEnabled()) { + log.warn("Lost Connection for client: " + this.clientId + " to " + this.mqttBrokerEndPoint + "." + + "\nThis was due to - " + throwable.getMessage()); + } + + Thread reconnectThread = new Thread() { + public void run() { + connect(); + } + }; + reconnectThread.setDaemon(true); + reconnectThread.start(); + } + + /** + * Callback method which is triggered upon receiving a MQTT Message from the broker. Spawns a + * new thread that executes any actions to be taken with the received message. + * + * @param topic the MQTT-Topic to which the received message was published to and the + * client was subscribed to. + * @param mqttMessage the actual MQTT-Message that was received from the broker. + */ + @Override + public void messageArrived(final String topic, final MqttMessage mqttMessage) { + if (log.isDebugEnabled()) { + log.debug("Got an MQTT message '" + mqttMessage.toString() + "' for topic '" + topic + "'."); + } + + Thread messageProcessorThread = new Thread() { + public void run() { + try { + processIncomingMessage(mqttMessage, topic); + } catch (TransportHandlerException e) { + log.error("An error occurred when trying to process received MQTT message [" + mqttMessage + "] " + + "for topic [" + topic + "].", e); + } + } + }; + messageProcessorThread.setDaemon(true); + messageProcessorThread.start(); + } + + /** + * Callback method which gets triggered upon successful completion of a message delivery to + * the broker. + * + * @param iMqttDeliveryToken the MQTT-DeliveryToken which includes the details about the + * specific message delivery. + */ + @Override + public void deliveryComplete(IMqttDeliveryToken iMqttDeliveryToken) { + String topic = iMqttDeliveryToken.getTopics()[0]; + String client = iMqttDeliveryToken.getClient().getClientId(); + + try { + if (iMqttDeliveryToken.isComplete()) { + if (log.isDebugEnabled()) { + if (iMqttDeliveryToken.getMessage() != null) { + String message = iMqttDeliveryToken.getMessage().toString(); + log.debug("Message to client [" + client + "] under topic (" + topic + + ") was delivered successfully with the delivery message: '" + message + "'"); + } else { + log.debug("Message to client [" + client + "] under topic (" + topic + + ") was delivered successfully."); + } + } + } else { + log.warn("FAILED: Delivery of MQTT message to [" + client + "] under topic [" + topic + "] failed."); + } + } catch (MqttException e) { + //TODO:: Throw errors + log.error("Error occurred whilst trying to read the message from the MQTT delivery token."); + } + } + + /** + * Closes the connection to the MQTT Broker. + */ + public void closeConnection() throws MqttException { + if (client != null && isConnected()) { + client.disconnect(); + } + } +} + diff --git a/modules/samples/connectedcup/component/connected-cup-agent/src/main/webapp/WEB-INF/web.xml b/modules/samples/connectedcup/component/connected-cup-agent/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 00000000..ab7e3b42 --- /dev/null +++ b/modules/samples/connectedcup/component/connected-cup-agent/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,27 @@ + + ConnectedCup-Webapp + + + PushTemperature + org.coffeeking.agent.datasense.PushTemperature + 1 + + + PushTemperature + /push_temperature + + + + PushLevel + org.coffeeking.agent.datasense.PushLevel + 1 + + + PushLevel + /push_level + + + diff --git a/modules/samples/connectedcup/component/connected-cup-agent/src/main/webapp/bootstrap.min.css b/modules/samples/connectedcup/component/connected-cup-agent/src/main/webapp/bootstrap.min.css new file mode 100644 index 00000000..4cf729e4 --- /dev/null +++ b/modules/samples/connectedcup/component/connected-cup-agent/src/main/webapp/bootstrap.min.css @@ -0,0 +1,6 @@ +/*! + * Bootstrap v3.3.6 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;filter:alpha(opacity=0);opacity:0;line-break:auto}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} +/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/modules/samples/connectedcup/component/connected-cup-agent/src/main/webapp/coffeecup.png b/modules/samples/connectedcup/component/connected-cup-agent/src/main/webapp/coffeecup.png new file mode 100644 index 0000000000000000000000000000000000000000..6dd133ca6c1b75fffb12946449dc8356bacc7d54 GIT binary patch literal 114226 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

x~_7445oD39bL}T>aI_AtmiOZ$X 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

36&BKP;a7oB=1pRP3KoRZVJu-Zh+wN-TE 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 literal 0 HcmV?d00001 diff --git a/modules/samples/connectedcup/component/connected-cup-agent/src/main/webapp/index.jsp b/modules/samples/connectedcup/component/connected-cup-agent/src/main/webapp/index.jsp new file mode 100644 index 00000000..735d8fab --- /dev/null +++ b/modules/samples/connectedcup/component/connected-cup-agent/src/main/webapp/index.jsp @@ -0,0 +1,140 @@ + + + + + + + + + + + + + <% + String deviceId = request.getParameter("deviceId"); + if(deviceId != null)request.getSession().setAttribute("deviceId",deviceId); + + String deviceOwner = request.getParameter("deviceOwner"); + if(deviceOwner != null)request.getSession().setAttribute("deviceOwner",deviceOwner); + + String token = request.getParameter("token"); + if(token != null)request.getSession().setAttribute("token",token); + + %> +

+

Connected Cup

+
+
+
+ +
+
+

+ + +

+
+
+
+

+ + +

+
+ +
+
+
+ +
+
+
+ +
+
+ + + + diff --git a/modules/samples/connectedcup/component/connected-cup-agent/src/main/webapp/jquery-1.12.0.min.js b/modules/samples/connectedcup/component/connected-cup-agent/src/main/webapp/jquery-1.12.0.min.js new file mode 100644 index 00000000..6c60672f --- /dev/null +++ b/modules/samples/connectedcup/component/connected-cup-agent/src/main/webapp/jquery-1.12.0.min.js @@ -0,0 +1,5 @@ +/*! jQuery v1.12.0 | (c) jQuery Foundation | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=a.document,e=c.slice,f=c.concat,g=c.push,h=c.indexOf,i={},j=i.toString,k=i.hasOwnProperty,l={},m="1.12.0",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return e.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:e.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a){return n.each(this,a)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(e.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:g,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(n.isPlainObject(c)||(b=n.isArray(c)))?(b?(b=!1,f=a&&n.isArray(a)?a:[]):f=a&&n.isPlainObject(a)?a:{},g[d]=n.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray||function(a){return"array"===n.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){var b=a&&a.toString();return!n.isArray(a)&&b-parseFloat(b)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;try{if(a.constructor&&!k.call(a,"constructor")&&!k.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(!l.ownFirst)for(b in a)return k.call(a,b);for(b in a);return void 0===b||k.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?i[j.call(a)]||"object":typeof a},globalEval:function(b){b&&n.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(s(a)){for(c=a.length;c>d;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):g.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(h)return h.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,g=0,h=[];if(s(a))for(d=a.length;d>g;g++)e=b(a[g],g,c),null!=e&&h.push(e);else for(g in a)e=b(a[g],g,c),null!=e&&h.push(e);return f.apply([],h)},guid:1,proxy:function(a,b){var c,d,f;return"string"==typeof b&&(f=a[b],b=a,a=f),n.isFunction(a)?(c=e.call(arguments,2),d=function(){return a.apply(b||this,c.concat(e.call(arguments)))},d.guid=a.guid=a.guid||n.guid++,d):void 0},now:function(){return+new Date},support:l}),"function"==typeof Symbol&&(n.fn[Symbol.iterator]=c[Symbol.iterator]),n.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){i["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=!!a&&"length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ga(),z=ga(),A=ga(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+M+"))|)"+L+"*\\]",O=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+N+")*)|.*)\\)|)",P=new RegExp(L+"+","g"),Q=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),R=new RegExp("^"+L+"*,"+L+"*"),S=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),T=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),U=new RegExp(O),V=new RegExp("^"+M+"$"),W={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M+"|[*])"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},X=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Z=/^[^{]+\{\s*\[native \w/,$=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,_=/[+~]/,aa=/'|\\/g,ba=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),ca=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},da=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(ea){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fa(a,b,d,e){var f,h,j,k,l,o,r,s,w=b&&b.ownerDocument,x=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==x&&9!==x&&11!==x)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==x&&(o=$.exec(a)))if(f=o[1]){if(9===x){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(w&&(j=w.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(o[2])return H.apply(d,b.getElementsByTagName(a)),d;if((f=o[3])&&c.getElementsByClassName&&b.getElementsByClassName)return H.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==x)w=b,s=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(aa,"\\$&"):b.setAttribute("id",k=u),r=g(a),h=r.length,l=V.test(k)?"#"+k:"[id='"+k+"']";while(h--)r[h]=l+" "+qa(r[h]);s=r.join(","),w=_.test(a)&&oa(b.parentNode)||b}if(s)try{return H.apply(d,w.querySelectorAll(s)),d}catch(y){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(Q,"$1"),b,d,e)}function ga(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ha(a){return a[u]=!0,a}function ia(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ja(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function ka(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function la(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function na(a){return ha(function(b){return b=+b,ha(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function oa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=fa.support={},f=fa.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fa.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ia(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ia(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Z.test(n.getElementsByClassName),c.getById=ia(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return"undefined"!=typeof b.getElementsByClassName&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=Z.test(n.querySelectorAll))&&(ia(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ia(function(a){var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Z.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ia(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",O)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Z.test(o.compareDocumentPosition),t=b||Z.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return ka(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?ka(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},fa.matches=function(a,b){return fa(a,null,null,b)},fa.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(T,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fa(b,n,null,[a]).length>0},fa.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fa.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fa.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fa.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fa.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fa.selectors={cacheLength:50,createPseudo:ha,match:W,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ba,ca),a[3]=(a[3]||a[4]||a[5]||"").replace(ba,ca),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fa.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fa.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return W.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&U.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ba,ca).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fa.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(P," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fa.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ha(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ha(function(a){var b=[],c=[],d=h(a.replace(Q,"$1"));return d[u]?ha(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ha(function(a){return function(b){return fa(a,b).length>0}}),contains:ha(function(a){return a=a.replace(ba,ca),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ha(function(a){return V.test(a||"")||fa.error("unsupported lang: "+a),a=a.replace(ba,ca).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Y.test(a.nodeName)},input:function(a){return X.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:na(function(){return[0]}),last:na(function(a,b){return[b-1]}),eq:na(function(a,b,c){return[0>c?c+b:c]}),even:na(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:na(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:na(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:na(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function ra(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j,k=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(j=b[u]||(b[u]={}),i=j[b.uniqueID]||(j[b.uniqueID]={}),(h=i[d])&&h[0]===w&&h[1]===f)return k[2]=h[2];if(i[d]=k,k[2]=a(b,c,g))return!0}}}function sa(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ta(a,b,c){for(var d=0,e=b.length;e>d;d++)fa(a,b[d],c);return c}function ua(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function va(a,b,c,d,e,f){return d&&!d[u]&&(d=va(d)),e&&!e[u]&&(e=va(e,f)),ha(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ta(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ua(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ua(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ua(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function wa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ra(function(a){return a===b},h,!0),l=ra(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[ra(sa(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return va(i>1&&sa(m),i>1&&qa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(Q,"$1"),c,e>i&&wa(a.slice(i,e)),f>e&&wa(a=a.slice(e)),f>e&&qa(a))}m.push(c)}return sa(m)}function xa(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=F.call(i));u=ua(u)}H.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&fa.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ha(f):f}return h=fa.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xa(e,d)),f.selector=a}return f},i=fa.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ba,ca),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=W.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ba,ca),_.test(j[0].type)&&oa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qa(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||_.test(a)&&oa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ia(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ia(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ja("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ia(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ja("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ia(function(a){return null==a.getAttribute("disabled")})||ja(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fa}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.uniqueSort=n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},v=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},w=n.expr.match.needsContext,x=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,y=/^.[^:#\[\.,]*$/;function z(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(y.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return n.inArray(a,b)>-1!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;e>b;b++)if(n.contains(d[b],this))return!0}));for(b=0;e>b;b++)n.find(a,d[b],c);return c=this.pushStack(e>1?n.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(z(this,a||[],!1))},not:function(a){return this.pushStack(z(this,a||[],!0))},is:function(a){return!!z(this,"string"==typeof a&&w.test(a)?n(a):a||[],!1).length}});var A,B=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=n.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||A,"string"==typeof a){if(e="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:B.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),x.test(e[1])&&n.isPlainObject(b))for(e in b)n.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}if(f=d.getElementById(e[2]),f&&f.parentNode){if(f.id!==e[2])return A.find(a);this.length=1,this[0]=f}return this.context=d,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof c.ready?c.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};C.prototype=n.fn,A=n(d);var D=/^(?:parents|prev(?:Until|All))/,E={children:!0,contents:!0,next:!0,prev:!0};n.fn.extend({has:function(a){var b,c=n(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(n.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=w.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?n.inArray(this[0],n(a)):n.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.uniqueSort(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function F(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return u(a,"parentNode")},parentsUntil:function(a,b,c){return u(a,"parentNode",c)},next:function(a){return F(a,"nextSibling")},prev:function(a){return F(a,"previousSibling")},nextAll:function(a){return u(a,"nextSibling")},prevAll:function(a){return u(a,"previousSibling")},nextUntil:function(a,b,c){return u(a,"nextSibling",c)},prevUntil:function(a,b,c){return u(a,"previousSibling",c)},siblings:function(a){return v((a.parentNode||{}).firstChild,a)},children:function(a){return v(a.firstChild)},contents:function(a){return n.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(E[a]||(e=n.uniqueSort(e)),D.test(a)&&(e=e.reverse())),this.pushStack(e)}});var G=/\S+/g;function H(a){var b={};return n.each(a.match(G)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?H(a):n.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h-1)f.splice(c,1),h>=c&&h--}),this},has:function(a){return a?n.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=!0,c||j.disable(),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().progress(c.notify).done(c.resolve).fail(c.reject):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=e.call(arguments),d=c.length,f=1!==d||a&&n.isFunction(a.promise)?d:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?e.call(arguments):d,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(d>1)for(i=new Array(d),j=new Array(d),k=new Array(d);d>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().progress(h(b,j,i)).done(h(b,k,c)).fail(g.reject):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(d,[n]),n.fn.triggerHandler&&(n(d).triggerHandler("ready"),n(d).off("ready"))))}});function J(){d.addEventListener?(d.removeEventListener("DOMContentLoaded",K),a.removeEventListener("load",K)):(d.detachEvent("onreadystatechange",K),a.detachEvent("onload",K))}function K(){(d.addEventListener||"load"===a.event.type||"complete"===d.readyState)&&(J(),n.ready())}n.ready.promise=function(b){if(!I)if(I=n.Deferred(),"complete"===d.readyState)a.setTimeout(n.ready);else if(d.addEventListener)d.addEventListener("DOMContentLoaded",K),a.addEventListener("load",K);else{d.attachEvent("onreadystatechange",K),a.attachEvent("onload",K);var c=!1;try{c=null==a.frameElement&&d.documentElement}catch(e){}c&&c.doScroll&&!function f(){if(!n.isReady){try{c.doScroll("left")}catch(b){return a.setTimeout(f,50)}J(),n.ready()}}()}return I.promise(b)},n.ready.promise();var L;for(L in n(l))break;l.ownFirst="0"===L,l.inlineBlockNeedsLayout=!1,n(function(){var a,b,c,e;c=d.getElementsByTagName("body")[0],c&&c.style&&(b=d.createElement("div"),e=d.createElement("div"),e.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(e).appendChild(b),"undefined"!=typeof b.style.zoom&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",l.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(e))}),function(){var a=d.createElement("div");l.deleteExpando=!0;try{delete a.test}catch(b){l.deleteExpando=!1}a=null}();var M=function(a){var b=n.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b},N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(O,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}n.data(a,b,c)}else c=void 0}return c}function Q(a){var b;for(b in a)if(("data"!==b||!n.isEmptyObject(a[b]))&&"toJSON"!==b)return!1; +return!0}function R(a,b,d,e){if(M(a)){var f,g,h=n.expando,i=a.nodeType,j=i?n.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||n.guid++:h),j[k]||(j[k]=i?{}:{toJSON:n.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=n.extend(j[k],b):j[k].data=n.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[n.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[n.camelCase(b)])):f=g,f}}function S(a,b,c){if(M(a)){var d,e,f=a.nodeType,g=f?n.cache:a,h=f?a[n.expando]:n.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){n.isArray(b)?b=b.concat(n.map(b,n.camelCase)):b in d?b=[b]:(b=n.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!Q(d):!n.isEmptyObject(d))return}(c||(delete g[h].data,Q(g[h])))&&(f?n.cleanData([a],!0):l.deleteExpando||g!=g.window?delete g[h]:g[h]=void 0)}}}n.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?n.cache[a[n.expando]]:a[n.expando],!!a&&!Q(a)},data:function(a,b,c){return R(a,b,c)},removeData:function(a,b){return S(a,b)},_data:function(a,b,c){return R(a,b,c,!0)},_removeData:function(a,b){return S(a,b,!0)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=n.data(f),1===f.nodeType&&!n._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));n._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){n.data(this,a)}):arguments.length>1?this.each(function(){n.data(this,a,b)}):f?P(f,a,n.data(f,a)):void 0},removeData:function(a){return this.each(function(){n.removeData(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=n._data(a,b),c&&(!d||n.isArray(c)?d=n._data(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return n._data(a,c)||n._data(a,c,{empty:n.Callbacks("once memory").add(function(){n._removeData(a,b+"queue"),n._removeData(a,c)})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthh;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},Z=/^(?:checkbox|radio)$/i,$=/<([\w:-]+)/,_=/^$|\/(?:java|ecma)script/i,aa=/^\s+/,ba="abbr|article|aside|audio|bdi|canvas|data|datalist|details|dialog|figcaption|figure|footer|header|hgroup|main|mark|meter|nav|output|picture|progress|section|summary|template|time|video";function ca(a){var b=ba.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}!function(){var a=d.createElement("div"),b=d.createDocumentFragment(),c=d.createElement("input");a.innerHTML="
a",l.leadingWhitespace=3===a.firstChild.nodeType,l.tbody=!a.getElementsByTagName("tbody").length,l.htmlSerialize=!!a.getElementsByTagName("link").length,l.html5Clone="<:nav>"!==d.createElement("nav").cloneNode(!0).outerHTML,c.type="checkbox",c.checked=!0,b.appendChild(c),l.appendChecked=c.checked,a.innerHTML="",l.noCloneChecked=!!a.cloneNode(!0).lastChild.defaultValue,b.appendChild(a),c=d.createElement("input"),c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),a.appendChild(c),l.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,l.noCloneEvent=!!a.addEventListener,a[n.expando]=1,l.attributes=!a.getAttribute(n.expando)}();var da={option:[1,""],legend:[1,"
","
"],area:[1,"",""],param:[1,"",""],thead:[1,"","
"],tr:[2,"","
"],col:[2,"","
"],td:[3,"","
"],_default:l.htmlSerialize?[0,"",""]:[1,"X
","
"]};da.optgroup=da.option,da.tbody=da.tfoot=da.colgroup=da.caption=da.thead,da.th=da.td;function ea(a,b){var c,d,e=0,f="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||n.nodeName(d,b)?f.push(d):n.merge(f,ea(d,b));return void 0===b||b&&n.nodeName(a,b)?n.merge([a],f):f}function fa(a,b){for(var c,d=0;null!=(c=a[d]);d++)n._data(c,"globalEval",!b||n._data(b[d],"globalEval"))}var ga=/<|&#?\w+;/,ha=/r;r++)if(g=a[r],g||0===g)if("object"===n.type(g))n.merge(q,g.nodeType?[g]:g);else if(ga.test(g)){i=i||p.appendChild(b.createElement("div")),j=($.exec(g)||["",""])[1].toLowerCase(),m=da[j]||da._default,i.innerHTML=m[1]+n.htmlPrefilter(g)+m[2],f=m[0];while(f--)i=i.lastChild;if(!l.leadingWhitespace&&aa.test(g)&&q.push(b.createTextNode(aa.exec(g)[0])),!l.tbody){g="table"!==j||ha.test(g)?""!==m[1]||ha.test(g)?0:i:i.firstChild,f=g&&g.childNodes.length;while(f--)n.nodeName(k=g.childNodes[f],"tbody")&&!k.childNodes.length&&g.removeChild(k)}n.merge(q,i.childNodes),i.textContent="";while(i.firstChild)i.removeChild(i.firstChild);i=p.lastChild}else q.push(b.createTextNode(g));i&&p.removeChild(i),l.appendChecked||n.grep(ea(q,"input"),ia),r=0;while(g=q[r++])if(d&&n.inArray(g,d)>-1)e&&e.push(g);else if(h=n.contains(g.ownerDocument,g),i=ea(p.appendChild(g),"script"),h&&fa(i),c){f=0;while(g=i[f++])_.test(g.type||"")&&c.push(g)}return i=null,p}!function(){var b,c,e=d.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(l[b]=c in a)||(e.setAttribute(c,"t"),l[b]=e.attributes[c].expando===!1);e=null}();var ka=/^(?:input|select|textarea)$/i,la=/^key/,ma=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,na=/^(?:focusinfocus|focusoutblur)$/,oa=/^([^.]*)(?:\.(.+)|)/;function pa(){return!0}function qa(){return!1}function ra(){try{return d.activeElement}catch(a){}}function sa(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)sa(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=qa;else if(!e)return a;return 1===f&&(g=e,e=function(a){return n().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=n.guid++)),a.each(function(){n.event.add(this,b,e,d,c)})}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=n.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return"undefined"==typeof n||a&&n.event.triggered===a.type?void 0:n.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(G)||[""],h=b.length;while(h--)f=oa.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=n.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=n.event.special[o]||{},l=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},i),(m=g[o])||(m=g[o]=[],m.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,l):m.push(l),n.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n.hasData(a)&&n._data(a);if(r&&(k=r.events)){b=(b||"").match(G)||[""],j=b.length;while(j--)if(h=oa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=m.length;while(f--)g=m[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(m.splice(f,1),g.selector&&m.delegateCount--,l.remove&&l.remove.call(a,g));i&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(k)&&(delete r.handle,n._removeData(a,"events"))}},trigger:function(b,c,e,f){var g,h,i,j,l,m,o,p=[e||d],q=k.call(b,"type")?b.type:b,r=k.call(b,"namespace")?b.namespace.split("."):[];if(i=m=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!na.test(q+n.event.triggered)&&(q.indexOf(".")>-1&&(r=q.split("."),q=r.shift(),r.sort()),h=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=r.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:n.makeArray(c,[b]),l=n.event.special[q]||{},f||!l.trigger||l.trigger.apply(e,c)!==!1)){if(!f&&!l.noBubble&&!n.isWindow(e)){for(j=l.delegateType||q,na.test(j+q)||(i=i.parentNode);i;i=i.parentNode)p.push(i),m=i;m===(e.ownerDocument||d)&&p.push(m.defaultView||m.parentWindow||a)}o=0;while((i=p[o++])&&!b.isPropagationStopped())b.type=o>1?j:l.bindType||q,g=(n._data(i,"events")||{})[b.type]&&n._data(i,"handle"),g&&g.apply(i,c),g=h&&i[h],g&&g.apply&&M(i)&&(b.result=g.apply(i,c),b.result===!1&&b.preventDefault());if(b.type=q,!f&&!b.isDefaultPrevented()&&(!l._default||l._default.apply(p.pop(),c)===!1)&&M(e)&&h&&e[q]&&!n.isWindow(e)){m=e[h],m&&(e[h]=null),n.event.triggered=q;try{e[q]()}catch(s){}n.event.triggered=void 0,m&&(e[h]=m)}return b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,d,f,g,h=[],i=e.call(arguments),j=(n._data(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.rnamespace||a.rnamespace.test(g.namespace))&&(a.handleObj=g,a.data=g.data,d=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==d&&(a.result=d)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>-1:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]","i"),va=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,wa=/\s*$/g,Aa=ca(d),Ba=Aa.appendChild(d.createElement("div"));function Ca(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function Da(a){return a.type=(null!==n.find.attr(a,"type"))+"/"+a.type,a}function Ea(a){var b=ya.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Fa(a,b){if(1===b.nodeType&&n.hasData(a)){var c,d,e,f=n._data(a),g=n._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)n.event.add(b,c,h[c][d])}g.data&&(g.data=n.extend({},g.data))}}function Ga(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!l.noCloneEvent&&b[n.expando]){e=n._data(b);for(d in e.events)n.removeEvent(b,d,e.handle);b.removeAttribute(n.expando)}"script"===c&&b.text!==a.text?(Da(b).text=a.text,Ea(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),l.html5Clone&&a.innerHTML&&!n.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&Z.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}function Ha(a,b,c,d){b=f.apply([],b);var e,g,h,i,j,k,m=0,o=a.length,p=o-1,q=b[0],r=n.isFunction(q);if(r||o>1&&"string"==typeof q&&!l.checkClone&&xa.test(q))return a.each(function(e){var f=a.eq(e);r&&(b[0]=q.call(this,e,f.html())),Ha(f,b,c,d)});if(o&&(k=ja(b,a[0].ownerDocument,!1,a,d),e=k.firstChild,1===k.childNodes.length&&(k=e),e||d)){for(i=n.map(ea(k,"script"),Da),h=i.length;o>m;m++)g=k,m!==p&&(g=n.clone(g,!0,!0),h&&n.merge(i,ea(g,"script"))),c.call(a[m],g,m);if(h)for(j=i[i.length-1].ownerDocument,n.map(i,Ea),m=0;h>m;m++)g=i[m],_.test(g.type||"")&&!n._data(g,"globalEval")&&n.contains(j,g)&&(g.src?n._evalUrl&&n._evalUrl(g.src):n.globalEval((g.text||g.textContent||g.innerHTML||"").replace(za,"")));k=e=null}return a}function Ia(a,b,c){for(var d,e=b?n.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||n.cleanData(ea(d)),d.parentNode&&(c&&n.contains(d.ownerDocument,d)&&fa(ea(d,"script")),d.parentNode.removeChild(d));return a}n.extend({htmlPrefilter:function(a){return a.replace(va,"<$1>")},clone:function(a,b,c){var d,e,f,g,h,i=n.contains(a.ownerDocument,a);if(l.html5Clone||n.isXMLDoc(a)||!ua.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(Ba.innerHTML=a.outerHTML,Ba.removeChild(f=Ba.firstChild)),!(l.noCloneEvent&&l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(d=ea(f),h=ea(a),g=0;null!=(e=h[g]);++g)d[g]&&Ga(e,d[g]);if(b)if(c)for(h=h||ea(a),d=d||ea(f),g=0;null!=(e=h[g]);g++)Fa(e,d[g]);else Fa(a,f);return d=ea(f,"script"),d.length>0&&fa(d,!i&&ea(a,"script")),d=h=e=null,f},cleanData:function(a,b){for(var d,e,f,g,h=0,i=n.expando,j=n.cache,k=l.attributes,m=n.event.special;null!=(d=a[h]);h++)if((b||M(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)m[e]?n.event.remove(d,e):n.removeEvent(d,e,g.handle);j[f]&&(delete j[f],k||"undefined"==typeof d.removeAttribute?d[i]=void 0:d.removeAttribute(i),c.push(f))}}}),n.fn.extend({domManip:Ha,detach:function(a){return Ia(this,a,!0)},remove:function(a){return Ia(this,a)},text:function(a){return Y(this,function(a){return void 0===a?n.text(this):this.empty().append((this[0]&&this[0].ownerDocument||d).createTextNode(a))},null,a,arguments.length)},append:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.appendChild(a)}})},prepend:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&n.cleanData(ea(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&n.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return Y(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(ta,""):void 0;if("string"==typeof a&&!wa.test(a)&&(l.htmlSerialize||!ua.test(a))&&(l.leadingWhitespace||!aa.test(a))&&!da[($.exec(a)||["",""])[1].toLowerCase()]){a=n.htmlPrefilter(a);try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(ea(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Ha(this,arguments,function(b){var c=this.parentNode;n.inArray(this,a)<0&&(n.cleanData(ea(this)),c&&c.replaceChild(b,this))},a)}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=0,e=[],f=n(a),h=f.length-1;h>=d;d++)c=d===h?this:this.clone(!0),n(f[d])[b](c),g.apply(e,c.get());return this.pushStack(e)}});var Ja,Ka={HTML:"block",BODY:"block"};function La(a,b){var c=n(b.createElement(a)).appendTo(b.body),d=n.css(c[0],"display");return c.detach(),d}function Ma(a){var b=d,c=Ka[a];return c||(c=La(a,b),"none"!==c&&c||(Ja=(Ja||n("